Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×
  • Quem está por aqui   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.

[Ajuda] Codigo


'Frostizin~
 Compartilhar

Posts Recomendados

use copy file

 

if not CopyFile(PChar('playertemplate.kom'), PChar(Edit1.Text), false) then

begin

ShowMessage('Erro ao Copiar playertemplate, tente Denovo!') end

else

ShowMessage('playertemplate Copiado com Sucesso!');

Link para o comentário
Compartilhar em outros sites

editado

 

A ja endendi oq vc quer

 

O modificador (atributo em ActionScript) static é usado para especificar que um método ou variável pertence à uma classe e não aos objetos dessa classe. Em outras palavras, podemos acessar métodos, constantes e variáveis marcadas como static em uma classe sem a necessidade de construir uma instância dessa classe.

 

Tome por exemplo a classe Math. Todos os métodos, variáveis e constantes públicas são marcadas como static. Isso permite que usemos código como o seguinte:

var valor:Number = Math.ceil(45.6);

Veja que usamos o nome da classe e o método que desejamos chamar. Vamos escrever um trecho de código exemplificando isso. Comece criando a classe a seguir:

package{

public class UtilidadesString{

 

// método static que remove os espaços

// antes e depois de uma string

public static function trim(str:String):String{

return str.replace(/(^\s+)|(\s+$)/g, "");

}

 

}

}

Salve esta classe como "UtilidadesString.as" e veja como usá-la em um programa Flex:

<?xml version="1.0" encoding="iso-8859-1"?>

<mx:Application xmlns:mx="

É necessário se cadastrar para acessar o conteúdo.

applicationComplete="iniciar()">

 

<mx:Script>

<![CDATA[

import mx.controls.Alert;

 

public function iniciar():void{

var frase:String = " Tenho espaços no " +

"início e fim. ";

 

// vamos remover os espaços

frase = UtilidadesString.trim(frase);

 

Alert.show("#" + frase + "#");

}

]]>

</mx:Script>

 

</mx:Application>

Como você pode ver, o método trim da classe UtilidadesString é marcado como static:

public static function trim(str:String):String{

return str.replace(/(^\s+)|(\s+$)/g, "");

}

Isso permitiu que ele pudesse ser chamado na aplicação Flex sem a necessidade de se construir uma instância da classe UtilidadesString. Tudo que fizemos foi usar o nome da classe e o nome do método:

frase = UtilidadesString.trim(frase);

Vejamos agora um exemplo usando uma variável marcada como static. Crie a seguinte classe:

package{

public class Aviao{

 

// variável marcada como static

public static var quantidade:int;

 

// construtor da classe

public function Aviao(){

quantidade++;

}

 

}

}

Salve esta classe como "Aviao.as" e analise-a cuidadosamente. Perceba que temos uma variável chamada quantidade do tipo inteiro e marcada como static. Isso quer dizer que a variável pertence à classe Aviao e não às suas instâncias. Observe ainda que esta variável é incrementada todas as vezes que o construtor da classe é chamado. Veja agora como usar esta classe em um programa Flex:

<?xml version="1.0" encoding="iso-8859-1"?>

<mx:Application xmlns:mx="

É necessário se cadastrar para acessar o conteúdo.

applicationComplete="iniciar()">

 

<mx:Script>

<![CDATA[

import mx.controls.Alert;

 

public function iniciar():void{

// cria instâncias da classe avião

var aviao1:Aviao = new Aviao();

var aviao2:Aviao = new Aviao();

var aviao3:Aviao = new Aviao();

 

// obtém a quantidade de aviões criados

var quant:int = Aviao.quantidade;

 

Alert.show(quant + " aviões foram criados.");

}

]]>

</mx:Script>

 

</mx:Application>

Quando você executar este programa verá a seguinte mensagem:

3 aviões foram criados.

Isso aconteceu porque criamos três instâncias da classe Aviao e, como era de se esperar, a cada construção de uma instância, o valor da variável é incrementado. Finalmente nós acessamos seu valor usando o nome da classe:

var quant:int = Aviao.quantidade;

Quer saber o que aconteceria se tentássemos acessar a variável quantidade a partir de uma instância da classe?

var quant:int = aviao1.quantidade;

Em ActionScript 3.0 teríamos a seguinte mensagem de erro de compilação:

Error: Access of possibly undefined property

quantidade through a reference with static

type Aviao.

 

var quant:int = aviao1.quantidade;

A mensagem nos diz que não é possível acessar uma variável marcada como static a partir de referências a objetos da classe.

 

Por fim, saiba que não é possível acessar variáveis, constantes e métodos não static a partir de um método marcado como static. Isso faz sentido. Se o método pertence à classe e não às suas instâncias e poderá ser chamado sem que nenhuma instância da classe seja criada, é razoável supor que, ao chamar ou acessar membros de instância, o ambiente de compilação ou execução emita mensagens de erro. Veja o que acontece tentando compilar um programa Flex que faz uso da seguinte classe:

package{

public class Aviao{

 

// variável não é static

private var marca:String;

 

public static function umMetodo():void{

// tenta acessar uma variável não

// static a partir de um método static

marca = "Fox57";

}

 

}

}

Em ActionScript 3.0 teremos a seguinte mensagem de erro de compilação:

Error: Access of undefined property marca.

 

marca = "Fox57";

^

Esta mensagem de erro não ajuda muito. Tudo que o compilador nos diz é que "houve uma tentativa de acessar uma variável não definida". O mais certo seria "Não é possível acessar dados não static a partir de métodos static". Mas tudo bem. Um dia o pessoal da Adobe chega lá.

Link para o comentário
Compartilhar em outros sites

Crie um .res com o Arquivo e coloque isso em um Button ou algo do tipo:

 

var

Arq: TResourceStream;

begin

Arq:= TResourceStream.Create(HInstance, 'Script', 'KOMFILE');

try

Arq.SaveToFile(Edit1.Text+'\Stage\script.KOM');

finally

Arq.Free;

end;

end;

Link para o comentário
Compartilhar em outros sites

É necessário se cadastrar para acessar o conteúdo.

 

Mas onde eu vou colocar o Scripts a ser modificado???

 

Pq usando o copy file a referencia vai ser dentro da pasta mas o TResourceStream?

Link para o comentário
Compartilhar em outros sites

  • 1 mês depois...
alguem sabe como coloca um scrpt dentro do res?

 

abra o bloco de notas escreva

 

 

É necessário se cadastrar para acessar o conteúdo.

 

altere C:\sript.kom para a pasta onde ta o script salve no C:\ com o nome de

arquivo.R C>> junte os espaços na extenção

agora vamos compilar o arquivo para isso o delphi possui um compilador para resource scripts

o delphi já possui um vá na pasta bin do delphi e copie o arquivo brcc32.exe para o C:\ onde vc salvou o arquivo.R C>> junte os espaços na extenção

va iniciar > executar > digite cmd > rode o seguinte comando

brcc32 C:\arquivo.r c
junte os espaços no NOME DO ARQUIVO ARQUIVO.R C

se tudo der certo sera criado o arquivo arquivo.res em C:\

 

copie esse .res para a pasta do seu projeto

abaixo de {$R *.DFM}

adicione {$R ARQUIVO.RES}

 

pronto agora é só rodar o code de extração

 

var

Arq: TResourceStream;

begin

Arq:= TResourceStream.Create(HInstance, 'SCRIPTKOM', 'KOMFILE');

try

Arq.SaveToFile(Edit1.Text+'\Stage\script.KOM');

finally

Arq.Free;

end;

end;

 

O forum bloqueou a extenção R C então junte o espaço quando estiver assim

Link para o comentário
Compartilhar em outros sites

so mais uma coisa pra ganhar meu thanks cara quando eu fizer isso tudo sera injetado o arquivo de dentro do res? para pasta desejada ? ou terei que especificar caminhos? quero fazer um hackerzinho legal tanto pra games tanto quando pra pegar os outros.

Link para o comentário
Compartilhar em outros sites

so mais uma coisa pra ganhar meu thanks cara quando eu fizer isso tudo sera injetado o arquivo de dentro do res? para pasta desejada ? ou terei que especificar caminhos? quero fazer um hackerzinho legal tanto pra games tanto quando pra pegar os outros.

 

não entendi direito mais os arquivos ficam no .res que será extraido para alguma pasta com sua aplicação em delphi

acho q vc ta fazendo um pra gc né?? então vc tera que extrair para a pasta onde vc coloca o script.kom

 

Arq.SaveToFile(Edit1.Text+'\Stage\script.KOM');

vc ira inserir a pasta do gc no edit1

Link para o comentário
Compartilhar em outros sites

posso colocar false no lugar de true e deixa ja o caminho add no edit ? e o arquivo a ser injetado sai de dentro do res? ou ele tem que ter na pasta do programa?

 

 

sim vc pode por

Arq.SaveToFile('C:\script.kom');

ele sera extraido pro c:\

eu não recomendo pq o sistema da pessoa pode estar instaldo no D:\

o arquivo "sai" dentro do res não precisa de por nada na pasta do programa

Link para o comentário
Compartilhar em outros sites

vo te encher de novo cara ja levo meu thanks to vendo que voce e bom na parada tipo vo tentar explicar direito:

 

to fazendo um programa

 

supondo que nele tenha um arquivo help em word (ou seja extensao .doc)

quero que ele extraia esse aquivo para o desktop

eu colocaria no bloco de notas pra fazer todo processo do .res ARQUIVODOC DOCFILE? si for assim show e so isso mesmo cara posta uns baguios maneiros ai pra gente tipo significado de var strings essas coisas isso confunde muito o tal das uses eu esqueço esses baguios direto vlw man abraços.

Link para o comentário
Compartilhar em outros sites

vo te encher de novo cara ja levo meu thanks to vendo que voce e bom na parada tipo vo tentar explicar direito:

 

to fazendo um programa

 

supondo que nele tenha um arquivo help em word (ou seja extensao .doc)

quero que ele extraia esse aquivo para o desktop

eu colocaria no bloco de notas pra fazer todo processo do .res ARQUIVODOC DOCFILE? si for assim show e so isso mesmo cara posta uns baguios maneiros ai pra gente tipo significado de var strings essas coisas isso confunde muito o tal das uses eu esqueço esses baguios direto vlw man abraços.

 

sim o processo é o mesmo para todos os tipos de arquivos

WORD WORDFILE C:\HELP.DOC

salvar no bloco de notas com o estenção ** compilar ele para .res e usar no projeto

ai para iniciar a classe TresourceStream vc usaria

É necessário se cadastrar para acessar o conteúdo.

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.