erro ao ler e gravar txt

08/12/2003

1

Nesta procedure abaixo dá erro no findkey.. vcs poderiam me ajudar a ver o que há de errado


procedure TfrmAtualiza.btnlerClick(Sender: TObject);
var S:textfile;
Valor,AITTEMP: string;
i:integer;

begin
i:=0;
// preenchimento do Memo
ASSIGNFILE(S,FILEBOX.FileName);
RESET(S);
MEMO.Clear;
MEMO.Lines.Add(´********************Captura de dados - Indaiatuba.*******************´);
MEMO.Lines.Add(´---------------------------------------------------------------------------------------------´);
MEMO.Lines.Add(´´);
MEMO.Lines.Add(´Data da Importação: ´+datetostr(date));
MEMO.Lines.Add(´Nome do arquivo importado: ´+ExtractFileName( FileBox.FileName ));
lbldata.Caption:= datetostr(date);

WHILE NOT Eof(S) DO
begin
READLN(S,Valor);
inc(i);
end;
CLOSEFILE(S);
// preenche os campos da tabela temp com o txt
//GAUGE.MaxValue:=I;
Reset(S); { Abre o arquivo }
//GAUGE.Progress:=0;

WHILE NOT Eof(S) DO
begin
READLN(S,Valor);
if (trim(Valor)<>´´)then
begin
AITTEMP:= COPY(VALOR,6,11);
If NOT DTMDB.RETORNO.FindKey([´AIT´,AITTEMP]) THEN
BEGIN
DTMDB.RETORNO.append;
DTMDB.RETORNO.FieldByName(´MUN_AUTUADOR´).ASINTEGER := STRTOINT(COPY(VALOR,1,4));
DTMDB.RETORNO.FieldByName(´STATUS´).ASSTRING := COPY(VALOR,5,1);
DTMDB.RETORNO.FieldByName(´AIT´).ASSTRING := COPY(VALOR,6,11);



o erro é ´out of range´

não tenho nem noção o que pode ser.. o que queria fazer era verificar se o registro já existe.. em caso negativo inclui em caso de já existir abre no modo edição..

valeu dinovo


Responder

Posts

08/12/2003

Renaldo

O arquivo componente MEMO possui dois metodos, LoadFromFile e SaveToFile. De uma olhada e veja se isso pode ajudar.

Em relacao a seu codigo, nao ví onde vc grava no arquivo.

Um abraço.


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira