Fórum Listbox e arquivo TXT #357352
18/04/2008
0
Por favor, não use apenas letras maiúsculas no título/texto.
Leia as :arrow: [url=http://forum.clubedelphi.net/viewtopic.php?t=6689]Regras de Conduta[/url] do fórum.[/color:a52de57881][/quote:a52de57881]preciso listar o conteudo de um diretorio que contem apenas arquivos .txt em um Listbox ou Listview tanto faz... Ate ae tudo bem eu consigui, ae eu queria que quando eu desse um duplo click ele enviasse o conteudo desse arquivo que eu clikei pra um campo Memo! o problema comeca aki eu ate consigui jogar para o Memo, mais nao foi o Conteudo do arquivo, foi apenas o nome! Tipo eu tenho o arquivo dev.txt e dentro dele tem FORUM DEVMEDIA. Eu so consigui jogar no Memo o nome dev.txt, o conteudo FORUM DEVMEDIA nao estou consiguindo! alguem tem alguma ideia ?
[size=9:a52de57881]ps. desculpe os erros de portugues uadsuhsu[/size:a52de57881]
Bertu
Curtir tópico
+ 0Posts
18/04/2008
Paulo
Gostei + 0
18/04/2008
Bertu
Procedure que Lista:
Procedure TForm1.ListarPasta(Pasta: string; Strings: TStrings); var Rec : TSearchRec; PosEq: Integer; begin Strings.Clear; //Pasta := IncludeTrailingBackSlash(Pasta); // Note que aqui vc tb pode esccolher a extensão dos arquivos: if SysUtils.FindFirst(Pasta + ´*.txt´, faAnyFile, Rec) = 0 then try repeat if (Rec.Name <> ´.´) and (Rec.Name<>´..´)then begin PosEq:=Pos(´.´,Rec.Name); Strings.Add(Copy(Rec.Name,1,PosEq-1)); end; until SysUtils.FindNext(Rec) <> 0; finally SysUtils.FindClose(Rec); end; end;
Botao
procedure TForm1.Button1Click(Sender: TObject); begin ListarPasta(´C:\a\´, ListBox1.Items); end;
Duplo Click ListBox
procedure TForm1.ListBox1DblClick(Sender: TObject); begin Memo1.Text := ListBox1.Items.Strings[Listbox1.ItemIndex]; end;
eu tentei fazer algo do tipo
procedure TForm1.ListBox1DblClick(Sender: TObject); var f:TextFile; linha:String; begin AssignFile(f,´C:\a\´+ListBox1.Items.Strings[Listbox1.ItemIndex]); Reset(f); While not eof(f) do begin Readln(f,linha); Memo1.Text := linha; end; end;
se eu consiguir pegar o diretorio eu consigo fazer funcionar :p
Gostei + 0
18/04/2008
Paulo
Gostei + 0
18/04/2008
Bertu
Gostei + 0
18/04/2008
Paulo
Gostei + 0
18/04/2008
Bertu
procedure TForm1.ListBox1DblClick(Sender: TObject); var x:TextFile; linha:String; caminho: string; begin DirectoryListBox1.Directory := Edit1.Text; caminho := DirectoryListBox1.Directory+´\´+ListBox1.Items.Strings[Listbox1.ItemIndex]+´.txt´; AssignFile(x,caminho); Reset(x); While not eof(x) do begin Readln(x,linha); Memo1.Text := Decrypt(linha); end;
Gostei + 0
18/04/2008
Marco Salles
uma outra forma muito interessante é usat o TFileListBox
Adicione um TFileListBox ao Form
Altere as propriedades
Mask para .txt
ShowGriphs para Tue
finalmente escreva os métodos :
procedure TForm1.FormCreate(Sender: TObject); begin FileListBox1.Directory:=´C:\´; //******Coloque aqui o seu Diretório end; procedure TForm1.FileListBox1Click(Sender: TObject); begin //é so issso .. e ze finin memo1.Lines.LoadFromFile(FileListBox1.FileName); end;
Gostei + 0
19/04/2008
Fabiano Góes
procedure TForm1.ListBox1DblClick(Sender: TObject); var x:TextFile; linha:String; caminho: string; begin DirectoryListBox1.Directory := Edit1.Text; caminho := DirectoryListBox1.Directory+´\´+ListBox1.Items.Strings[Listbox1.ItemIndex]+´.txt´; AssignFile(x,caminho); Reset(x); While not eof(x) do begin Readln(x,linha); Memo1.Text := Decrypt(linha); end;
olha amigo, a dica do Marcos Salles é muito boa, bem pratica e com um código bastante limpo.
mais acho que com uma linha você faz o que precisa,
pelo que entendi o diretório está dentro do ´Edit1.Text´,
sendo assim:
procedure TForm1.ListBox1DblClick(Sender: TObject); begin Memo1.Lines.LoadFromFile(Edit1.Text+´\´+ListBox1.Items.Strings[Listbox1.ItemIndex]+´.txt´); end;
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)