Me ajudem com este code aki.

12/03/2006

estou fazendo um programinha aki...

dae tem uma parte que ele tem que abrir um arquivo, adicionar novas informações e fechar....o code ficou assim:
procedure TForm1.Timer2Timer(Sender: TObject);
var Arquivo_log : TextFile;
    Arquivo_edit: TextFile;

begin
AssignFile(Arquivo_log,´C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ´);
Arquivo_edit := Arquivo_log + buffer + ´|||||||||||´; //Arquivo_log é a variavel que contem as informações que ja estavam no arquivo, buffer é a variavel que contem as novas informações e ||||||||||| é apenas pra separar
ReWrite(Arquivo_log);
WriteLn(Arquivo_log,Arquivo_edit);
CloseFile(Arquivo_log); 
buffer:=´´;
Arquivo_edit:=´´;
Arquivo_log:=´´;
end;


mas nao funciona, ele da alguns erros... alguem poderia me dizer qual a maneira correta de escrever esse code?


Anovat

Respostas

12/03/2006

Aroldo Zanela

Colega,

Informe o que você queria fazer, pois o código acima está todo ´baleado´ e tem ´coisas´ realmente sem sentido algum, entre coisas básicas, como ausência de declaração de variável e tentativa de concatenar objetos com tipos de dados.


Responder Citar

12/03/2006

Anovat

vou te explicar:

existe este arquivo

C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ


dae meu codigo deveria abrir este arquivo, e adicionar informações (as informações estao contidas na variavel BUFFER, que fora declarada anteriormente)...
vale lembrar que nao é para substituir, é para ADICIONAR a informação...


Responder Citar

12/03/2006

Aroldo Zanela

Colega,

Agora entendi. Entretanto, é necessário saber em ´qual´ local as informações devem ser adicionadas para não danificar o arquivo. Você tem o leiaute e/ou um exemplo do arquivo de origem?


Responder Citar

12/03/2006

Anovat

a string ´|||||||||||´ serve pra separar


Responder Citar

12/03/2006

Anovat

[quote:d8738057c6=´Aroldo Zanela´]Colega,

Agora entendi. Entretanto, é necessário saber em ´qual´ local as informações devem ser adicionadas para não danificar o arquivo. Você tem o leiaute e/ou um exemplo do arquivo de origem?[/quote:d8738057c6]

embora a extensao seja OZJ é um arquivo texto comum, pra ser lido com o bloco de notas...

ele iria adicionar as informações no final do arquivo...
e tipo, se nao existir esse arquivo, ele iria gerar...


Responder Citar

12/03/2006

Aroldo Zanela

Colega,

Simplicando então:

var Arquivo: TStringList;
begin

  Arquivo := TStringList.Create;// Instanciar objeto da classe
  Arquivo.LoadFromFile(´C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ´); // Carregar o arquivo para a memória
  Arquivo.Add(buffer + ´|||||||||||´); // Adicionar alterações no final do arquivo
  Arquivo.SaveToFile(´C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ´); // Salvar alterações
Arquivo.Free; // Liberar objeto

end;



Responder Citar

12/03/2006

Anovat

muito obrigado pela ajuda....

mas tipo que comando eu deveria usar pra criar esse arquivo caso ele nao exista ainda??


algo do tipo

if FileExists(´C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ´) = false then
begin
criar arquivo C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ
end;



Responder Citar

12/03/2006

Aroldo Zanela

Colega,

const NomeArquivo = ´C:\Arquivos de programas\Webzen\Mu\Data\Effect\Spark04.OZJ´;
var Arquivo: TStringList;
begin

  Arquivo := TStringList.Create;      // Instanciar objeto da classe

if FileExists(NomeArquivo) then// Se arquivo existe, então
  Arquivo.LoadFromFile(NomeArquivo);  // Carregar para a memória

  Arquivo.Add(buffer + ´|||||||||||´); // Adicionar alterações no final do arquivo
  Arquivo.SaveToFile(NomeArquivo); // Salvar alterações
  Arquivo.Free; // Liberar objeto

end;



Responder Citar

12/03/2006

Anovat

pelo que eu entendi esse codigo só verifica se o arquivo existe...

eu precisava de um que CRIASSE o arquivo caso ele nao exista :oops:


Responder Citar

12/03/2006

Massuda

O .SaveToFile vai criar o arquivo se for preciso.


Responder Citar

12/03/2006

Kroki

Legal rever MuOnline,ja ganhei muito dinheiro fazendo servidores desse jogo...


Responder Citar