Trabalhar com Arquivos Texto
Olá amigos delphianos !
Estou com a seguinte Dúvida :
Num form tenho uma ComboBox e um Buttom. O que estou tentando fazer é que ao clicar no buttom, seja adicionado o texto que foi digitado na combo um arquivo .txt que está nun certo diretório ( C:\Windows\url.txt ). E também, que quando abra o referente form, seja carregado o conteúdo do arquivo text dentro da combobox, e que num 2º button limpe todo o conteúdo do arquivo text.
Valeu amigos...
Estou com a seguinte Dúvida :
Num form tenho uma ComboBox e um Buttom. O que estou tentando fazer é que ao clicar no buttom, seja adicionado o texto que foi digitado na combo um arquivo .txt que está nun certo diretório ( C:\Windows\url.txt ). E também, que quando abra o referente form, seja carregado o conteúdo do arquivo text dentro da combobox, e que num 2º button limpe todo o conteúdo do arquivo text.
Valeu amigos...
Tiagojmilam
Curtidas 0
Respostas
Rodc
31/01/2006
ComboBox1.Items.SaveToFile(´C:\Windows\url.txt´); // Salva no arquivo
ComboBox1.Items.LoadFromFile(´C:\Windows\url.txt´); // Lê do arquivo
DeleteFile(´C:\Windows\url.txt´); // Remove o arquivo
ComboBox1.Items.LoadFromFile(´C:\Windows\url.txt´); // Lê do arquivo
DeleteFile(´C:\Windows\url.txt´); // Remove o arquivo
GOSTEI 0
Tiagojmilam
31/01/2006
Bom, deu certo.
Agora, é o seguinte :
Tem como eu saber se o texto que está sendo adicionado na ComboBox já está adicionado, e não adicioná-lo novamente ?
Para não haver repetições nos Itens da Combo.
Valeu mais uma vez galera !!!
Agora, é o seguinte :
Tem como eu saber se o texto que está sendo adicionado na ComboBox já está adicionado, e não adicioná-lo novamente ?
Para não haver repetições nos Itens da Combo.
Valeu mais uma vez galera !!!
GOSTEI 0
Augustolima
31/01/2006
Mano,
var arq: TextFile;
linha: String;
i:Integer;
vExist:Boolean;
begin
AssignFile ( arq, ´c:\windows\url.txt´ );
Reset ( arq );
ReadLn ( arq, linha );
vExist := False;
while not Eof ( arq ) do begin
for i:=0 to ComboBox1.Items.Count - 1 do begin
if linha = ComboBox1.Items.Strings[i] then vExist := True;
end;
if not vExist then ComboBox1.Items.Add(linha);
ReadLn ( arq, linha );
end;
CloseFile ( arq );
end;
É um pouquinho grande o código, mas ve se te ajuda.
Té mais
var arq: TextFile;
linha: String;
i:Integer;
vExist:Boolean;
begin
AssignFile ( arq, ´c:\windows\url.txt´ );
Reset ( arq );
ReadLn ( arq, linha );
vExist := False;
while not Eof ( arq ) do begin
for i:=0 to ComboBox1.Items.Count - 1 do begin
if linha = ComboBox1.Items.Strings[i] then vExist := True;
end;
if not vExist then ComboBox1.Items.Add(linha);
ReadLn ( arq, linha );
end;
CloseFile ( arq );
end;
É um pouquinho grande o código, mas ve se te ajuda.
Té mais
GOSTEI 0
Rodc
31/01/2006
if ComboBox1.Items.IndexOf(´Linha_de_texto´) = -1 then ShowMessage(´Não tem na lista´);
Mas para pegar linha-a-linha você terá de ler o arquivo linha-a-linha. Para isto veja no help a função OpenFile() e ReadLn().
GOSTEI 0
Rjun
31/01/2006
Esse seu arquivo texto é muito grande. Talvez seja melhor utilizar TStringList para carregar seu arquivo texto.
GOSTEI 0