TMemo Por que acontece ??
05/11/2005
0
eu adiciono em um memo um arquivo de texto pela string
Memo1.Lines.LoadFromFile(´arquivo.txt´);
até ae tudo Bem Só Q quando vai Adicionar outro arquivo de texto
ele apaga todo o texto q tá no memo e adiciona o outro
e o problema é esse queria q adicionasse embaixo da ultima linha do memo e naum apagase o texto que eu já adicionei
Buffering
Posts
05/11/2005
Firekiller
Tente assim:
var
Tmp:TStringList;
begin
Memo1.Lines.LoadFromFile(´Arquivo1.txt´);
Tmp := TStringList.Create;
Tmp.LoadFromFile(´Arquivo2.txt´);
Memo1.Lines.Add(´´);
Memo1.Lines.Text := Memo1.Lines.Text + Tmp.Text;
Tmp.Free;
end;
05/11/2005
Buffering
procedure TFRM_Main.BT_AddTxtClick(Sender: TObject);
begin
If OpenDialog1.Execute Then
Begin
Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
Label2.Caption := ´Foram Adicionados ´+FloatToStr(Memo1.Lines.Count)+ ´ Nome´;
End
Else
Begin
Application.MessageBox(´Lista De Nomes Não Foi Encontrada´,´Cadastro De Alunos´, MB_ICONINFORMATION);
BT_AddTxt.Enabled := TRUE;
End;
Essa Funçao adiciona o Arquivo do opendialog no Memo só q c o usuario
for Adicionar Mais De Uma Lista e clicar denovo no botão quando ele escolher o 2° arquivo vai adicionar certinho só q vai apagar o texto do 1° Arquivo entende, e naum pode apagar tem q adicionar apartir da ultima linha do Memo
Acho q agora tá mais facil pra vcs me ajudarem
06/11/2005
Firekiller
procedure TFRM_Main.BT_AddTxtClick(Sender: TObject);
[color=red:d031c82d0b][b:d031c82d0b]var
SL:TStringList[/b:d031c82d0b][/color:d031c82d0b]
begin
If OpenDialog1.Execute Then
Begin
[color=red:d031c82d0b][b:d031c82d0b]SL := TStringList.Create;
SL.LoadFromFile(OpenDialog1.FileName);
If Memo1.Lines.Count > 0 then
Memo1.Lines.Add(´´);
Memo1.Lines.Text := Memo1.Lines.Text+Sl.Text; [/color:d031c82d0b][/b:d031c82d0b]
Label2.Caption := ´Foram Adicionados ´+FloatToStr([color=red:d031c82d0b][b:d031c82d0b]SL.Count[/color:d031c82d0b][/b:d031c82d0b])+ ´ Nome´;
End
Else
Begin
Application.MessageBox(´Lista De Nomes Não Foi Encontrada´,´Cadastro De Alunos´, MB_ICONINFORMATION);
BT_AddTxt.Enabled := TRUE;
End;
Tente isso, e veja como ficou.
07/11/2005
Buffering
Firekiller Deu Certo Muito Obrigado Mais Agora Surgiu Um Problema
Sua Funcão Funcionou só q agora pra adicionar o txt dos nomes ele pula a primeira linha do TMemo e começa Na Segunda Linha A Adicionar os nomes e tb na ultima linha do txt ele deixa uma em branca Porq será
07/11/2005
Firekiller
Memo1.Lines.Clear;
Isso deve resolver.
07/11/2005
Buffering
tipo como eu faço pra contar em q linha q tá no memo pra mim poder dar um Sleep(2000); A Cada 100 linhas ??
tipo pq são uns 50 mil nomes cadastrados dae até ele adicionar vai travando o programa acho q sobre carrega.
outra coisa sem querer abusar dá sua boa vontade como eu faço pra quando clicar em salvar ele exclua as linhas q ficaram em branco ??
tipo assim
if Memo1.Lines.Text = ´´ Then
Begin
DeleteLinha;
End;
Muito Obrigado as outras funções funcionaram certinho Valeuwww
07/11/2005
Firekiller
while Memo1.Lines.IndexOf(´´) >= 0 do
Memo1.Lines.Delete( Memo1.Lines.IndexOf(´´) );
Para saber quantas linhas tem no memo, Memo1.Lines.Count. Apenas um conselho, ao invés de usar um Sleep(xxx) a cada N linhas, esperimente, a cada linha que você processar, colocar um Application.ProcessMessages;
07/11/2005
Buffering
:)
07/11/2005
Buffering
tipo quero q ele procure no memo por texto repetidos tipo assim
If A = B Then
Begin
Memo1.Lines.Delete(a);
End;
Desculpa Incomodar Tanto Mais é q to começando agora e num Sei Muito
09/11/2005
Firekiller
var i,j:integer; for i:=memo1.lines.count-1 downto 0 do begin while memo1.indexof( Memo1.Lines[i] ) < i do Memo1.Lines.Delete( Memo1.Lines.IndexOf( Memo1.Lines[i] ) ); end;
Clique aqui para fazer login e interagir na Comunidade :)