Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

etspaz

importar um arquivo de texto

Recommended Posts

paz e amorpor favor, alguem pode me dizer como pegar um arquivo de texto e exibir seu conteudo num memo, por exemplo?que componebte usar, tem que por o caminho do arquivo em alguma parte ou propriedade?obrigado a todos

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para somente mostrar em um memo, pode fazer:

Memo1.Lines.LoadFromFile('seu_diretorio\seu_arquivo.txt');
obrigado ,Marcio, e agora como faço para ler apenas um pedaço de uma linha;tipo:00200nd5021ets555 imaginemos que esta seja um numero de uma nota de debito, o programa deve ler a string, e abstrair a substring no caso nd e efetuar os procedimentos para debito, se fosse nc seria credito.deu pra entender.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faz um copy:

copy(string,posIni,posFim);
bom, como eu faço para contar os caracteres de uma string para indicar uma determinada posiçao,ha e no caso o texto importado tem varias linhas bem parecidas, todo texto e tido como uma string? como faço para o delphi ler cada linha como uma string e fazer o que pedi acima?ai, de acordo com o que disse no outro post, so que com mais linhas, por isso fiquei na duvida ao usar o copy.00200cd502155500100nd502255100101nd502355800201cd5001552espero não estar incomodando com perguntas inocentes, mas estou estagiando e aqui me dão liberdade para pesquisar, testar, etc... estou tentando tirar bom proveito.desde ja, muito grato http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pequeno exemplo seria:

 

procedure TForm1.BitBtn1Click(Sender: TObject);var	x: integer;	bloco1, bloco2, bloco3: string;beginMemo1.Lines.LoadFromFile('c:\teste.txt');for x:=0 to Memo1.Lines.Count - 1 do	begin	bloco1:=copy(Memo1.Lines.Strings[x],1,5);	bloco2:=copy(Memo1.Lines.Strings[x],6,2);	bloco3:=copy(Memo1.Lines.Strings[x],8,7);	ShowMessage('Bloco1: ' + bloco1 + #13 + 'Bloco2: ' + bloco2 + #13 + 'Bloco3: ' + bloco3);	end;end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pequeno exemplo seria:

procedure TForm1.BitBtn1Click(Sender: TObject);var	x: integer;	bloco1, bloco2, bloco3: string;beginMemo1.Lines.LoadFromFile('c:\teste.txt');for x:=0 to Memo1.Lines.Count - 1 do	begin	bloco1:=copy(Memo1.Lines.Strings[x],1,5);	bloco2:=copy(Memo1.Lines.Strings[x],6,2);	bloco3:=copy(Memo1.Lines.Strings[x],8,7);	ShowMessage('Bloco1: ' + bloco1 + #13 + 'Bloco2: ' + bloco2 + #13 + 'Bloco3: ' + bloco3);	end;end;
valeu, marcio,pois depois que usei o seu exemplo consegui desmembrar todo arquivo do jeito que queria, assim pude usar os dados exatos e dar sequencia ao programa de teste, como ja disse tudo que estou fazendo até agora e para aprender e voce esta contribuindo muito,belezaaa http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

paz e amor a todos!quero aproveitar este post para não criar um novo, ja que o assunto é parecido.gostaria de saber como importar dados de um arquivo e ja mandar pro banco o que for necessario;também como criar um arquivo de texto,tipo pra guardar dados que nao foram pro banco, mas quero separa-los do arquivo em que se encontram e aproveitando , como criar um arquivo de log.desde ja, agradeço.ressaltando que tudo isso eu to querendo testar, puramente aprendizado, e se observarmos uma continuação do inicio deste topico

Compartilhar este post


Link para o post
Compartilhar em outros sites

Somente precisa ficar fazendo o esquema de copiar as partes que você deseja, depois cria um comando de insert, coloca em um query e executa a query, com o comando query.ExecSQL;Para criar arquivo e arquivo de log seria a mesma coisa, ou seja, gerar arquivo txt, pode procurar no fórum sobre o assunto, já foi discutido...

Compartilhar este post


Link para o post
Compartilhar em outros sites

boa tarde!seguindo um exemplo de outro programa e tentando utilizar as suas dicas saiu istobegin bloco1:=trim(copy(Memo2.Lines.Strings[x],1,5)); bloco2:=trim(copy(Memo2.Lines.Strings[x],6,2)); bloco3:=trim(copy(Memo2.Lines.Strings[x],8,7)); end; mensagem:='select * from TESTE_INC'; IBQuery1 .Close ; IBQuery1.SQL .Clear ; IBQuery1.SQL .Add(mensagem); IBQuery1.Open;begin//IBQuery1.Open;IBQuery1.Edit;IBQuery1.FieldByName('TIPO.NOTA').AsString:=bloco2;IBQuery1.Post;//IBQuery1.Close;pode me dar uma dica do que esta errado.quando clico no botao da esta mensagem: cannot modify a read-only datasetsou ruim de ingles, mas acho que é algo do tipo, não pode modificar um dataset somente leitura, é isto?o ibquery esta apontando para o ibdatabase, e u datasource.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.