Ir para conteúdo
Fórum Script Brasil
  • 0

Ler arquivo txt em um edit


lucke

Pergunta

Oi pessoal!

Estou com um problema aki...

Quero carregar um arquivo txt em um edit, mas não sei como fazer...

Tipo assim:

A pessoa digita no Edit1.text o endereço do arquivo, clica no botão que vai carregar o endereço escrito, e colocasse o texto contido no arquivo no Edit2.text

alguém me da um help?

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Quero carregar um arquivo txt em um edit, mas não sei como fazer...

... e colocasse o texto contido no arquivo no Edit2.text

Não! Voce não quer carregar em um Edit.Text! ;)

Voce não quer porque você não pode.

O componente TEdit é para ser aplicado no caso em que você tem apenas uma (01) linha de texto. O que você quer fazer é carregar múltiplas linhas e para isto você tem que usar um TMemo.

A menos que você realmente precise permitir ao usuário digitar o caminho em um edit, a opção mais simples é adicionar um botão (TSpeedButton) que acione a caixa de diálogo que permitirá a seleção do arquivo desejado.

O componente é o OpenDialog. Veja este exemplo:

procedure TForm1.SpeedButtonOnClick(sender :TObject);
begin
// *** estas propriedades você pode definir em design-time - no editor de propriedades do componente
  OpenDialog1.Title := 'Arquivo a importar';
  OpenDialog1.Filter := 'Text files (*.txt)|*.txt|All files (*.*)|*.*';
  OpenDialog1.FilterIndex := 2;
  OpenDialog1.InitialDir := 'c:\';
//**********
  if OpenDialog1.Execute then  // significa que foi selecionado um arquivo
  begin
    Memo1.Lines.Clear;
    Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
  end;
End;

Link para o comentário
Compartilhar em outros sites

  • 0
Quero carregar um arquivo txt em um edit, mas não sei como fazer...

... e colocasse o texto contido no arquivo no Edit2.text

Não! Voce não quer carregar em um Edit.Text! ;)

Voce não quer porque você não pode.

O componente TEdit é para ser aplicado no caso em que você tem apenas uma (01) linha de texto. O que você quer fazer é carregar múltiplas linhas e para isto você tem que usar um TMemo.

A menos que você realmente precise permitir ao usuário digitar o caminho em um edit, a opção mais simples é adicionar um botão (TSpeedButton) que acione a caixa de diálogo que permitirá a seleção do arquivo desejado.

O componente é o OpenDialog. Veja este exemplo:

procedure TForm1.SpeedButtonOnClick(sender :TObject);
begin
// *** estas propriedades você pode definir em design-time - no editor de propriedades do componente
  OpenDialog1.Title := 'Arquivo a importar';
  OpenDialog1.Filter := 'Text files (*.txt)|*.txt|All files (*.*)|*.*';
  OpenDialog1.FilterIndex := 2;
  OpenDialog1.InitialDir := 'c:\';
//**********
  if OpenDialog1.Execute then  // significa que foi selecionado um arquivo
  begin
    Memo1.Lines.Clear;
    Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
  end;
End;
Boa noite Micheus, recentemente em meu trabalho, tive que migrar urgentemente do "Php" para o "Dephi 10('Embarcadero')". Na verdade o nosso programador foi demitido e na falta de um programador Delphi fui designado para o serviço... Bom, gostaria que você pudesse me ajudar apenas me respondendo esta pergunta, que talvez seja um tanto infundamentada, mas como falei acima, sai do "Php(web)" para "Delphi(desktop)", estou meio perdido neste começo de adaptação. Vou direto a pergunta e desde já agradeço a atenção. Teria a possibilidade de ler um arquivo '.txt' assim como é feito no php por exemplo? Ex.: No php eu faria=>
$abrir = fopen('c:\\arquivo.txt', 'r'); 
 while(!feof($abrir){ 
   $linha = fgets($abrir); //faço a leitura de linha por linha
  }
  fclose($abrir);

Link para o comentário
Compartilhar em outros sites

  • 0
Teria a possibilidade de ler um arquivo '.txt' assim como é feito no php por exemplo?

Ex.: No php eu faria=>

$abrir = fopen('c:\\arquivo.txt', 'r'); 
 while(!feof($abrir){ 
   $linha = fgets($abrir); //faço a leitura de linha por linha
  }
  fclose($abrir);
Sem dúvidas. Se voce realmente precisa processar as linhas deste jeito mesmo, então este seria o exemplo.
var
   SomeTxtFile : TextFile;
   buffer : string;
begin
  AssignFile(SomeTxtFile, 'c:\arquivo.txt');  // aqui você vincula o nome à variável do tipo textfile
  Reset(SomeTxtFile);  // aqui estamos abrindo para leitura apenas
  while not Eof(SomeTxtFile) do
  begin
    ReadLn(SomeTxtFile, buffer);   // lendo uma linha inteira - até o &13&10 (aquele "Ln" diz isto)
  end;
  CloseFile(SomeTxtFile);  // fechando o arquivo
end;

Se não me engano estas funções estão na unit SysUtils. Caso tenha erro de compilação, verifique se ela está na cláusula "uses". Se estiver e ainda assim as procedures não forem reconhecidas, então estou errado e você deve acionar o help para descobrir onde encontrá-las - tarefa fácil, apenas posicione o cursor no meio do nome da função e acionde Ctrl+F1.

Há outras funções para manipular arquivos, mas acredito que este conjunto lhe sirva, já que é o mais parecido com o que você está acostumado a trabalhar.

Dica: Se voce não tem problemas em ler em Inglês, use muito o Help - O Delphi tem um help muito completo, bem documentado e com fraguimentos de código exemplo. (aprendi Delphi usando o Help, não livros)

Link para o comentário
Compartilhar em outros sites

  • 0

Cara, lhe agradeço muito mesmo pela ajuda. Desculpa a demora em responder, tive alguns imprevistos, mas, vou fazer isto agora mesmo e logo volto para dizer o resultado....denovo, muito obrigado e qualquer coisa estamos aí. até :D

Cara, acabei de testar e é exatamente o que queria, valeu pela ajuda e até.

Editado por jlcSampaio
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...