Ajuda com Agenda Telefonica
Seguinte tenho um Txt com as seguinte informacoes
:Funcionarios:
Nome: Fulano
Telefone: 412535
Email: eu@globo.com
:Tesouraria:
Nome: Fulano 2
Telefone: 4241252
email: hua@globo.com
alguem sabe alguma de forma de fazer com que quando eu abrir esse txt, ele identificar o :Funcionarios: e enviar o Campo Nome: para o Edit1, Telefone pro Edit 2.... e qndo identificar Tesouraria enviar o Nome pro Edit 5 e o Telefone pro Edit6 ! alguem sabe alguma coisa ? ja procurei string replace e nao consigui fazer funcionar :) vlw
:Funcionarios:
Nome: Fulano
Telefone: 412535
Email: eu@globo.com
:Tesouraria:
Nome: Fulano 2
Telefone: 4241252
email: hua@globo.com
alguem sabe alguma de forma de fazer com que quando eu abrir esse txt, ele identificar o :Funcionarios: e enviar o Campo Nome: para o Edit1, Telefone pro Edit 2.... e qndo identificar Tesouraria enviar o Nome pro Edit 5 e o Telefone pro Edit6 ! alguem sabe alguma coisa ? ja procurei string replace e nao consigui fazer funcionar :) vlw
Bertu
Curtidas 0
Respostas
Facc
23/04/2008
Seguinte tenho um Txt com as seguinte informacoes
:Funcionarios:
Nome: Fulano
Telefone: 412535
Email: eu@globo.com
:Tesouraria:
Nome: Fulano 2
Telefone: 4241252
email: hua@globo.com
alguem sabe alguma de forma de fazer com que quando eu abrir esse txt, ele identificar o :Funcionarios: e enviar o Campo Nome: para o Edit1, Telefone pro Edit 2.... e qndo identificar Tesouraria enviar o Nome pro Edit 5 e o Telefone pro Edit6 ! alguem sabe alguma coisa ? ja procurei string replace e nao consigui fazer funcionar :) vlw
Acredito que de para trabalhar igual INIFILES. Busque aki no forum
GOSTEI 0
Bertu
23/04/2008
Nao da por 1 motivo... Inifiles ele busca no arquivo a string [NOME] , precisa ter o [ ] ! e minha agenda ja ta toda inserida no txt eh mto grande, nao vale apena editar o arquivo! =/
GOSTEI 0
Bertu
23/04/2008
alguem tem alguma ideia ? Massuda ?
GOSTEI 0
Obrunno
23/04/2008
Use a seguinte função:
function ObterTermo(APosicao: Integer; ASeparador,ALinha: String): String;
var
sAux: TStringList;
begin
Result:=´´;
sAux:=TStringList.Create;
sAux.Text:=StringReplace(ALinha,ASeparador,#1310,[rfReplaceAll, rfIgnoreCase]);
if APosicao <= sAux.Count then
Result:=sAux.Strings[APosicao-1];
sAux.Free;
end;
Utilização:
ObterTermo(2, ´:´, ´Nome: Cicraninho´); retornará ´Cicraninho´
ou Edit5.text := ObterTermo(2, ´:´, ´Nome: Cicraninho´);
Use dicas de arquivos de texto para abri-lo e varrer todas as linhas. Daí vc pode fazer uma filtragem:
if ObterTermo(1, ´:´, ´Nome: Cicraninho´) = ´Nome´ then
linha contem o nome...
if ObterTermo(1, ´:´, ´Nome: Cicraninho´) = ´Telefone´ then
linha contem o telefone...
e assim vai!!!
function ObterTermo(APosicao: Integer; ASeparador,ALinha: String): String;
var
sAux: TStringList;
begin
Result:=´´;
sAux:=TStringList.Create;
sAux.Text:=StringReplace(ALinha,ASeparador,#1310,[rfReplaceAll, rfIgnoreCase]);
if APosicao <= sAux.Count then
Result:=sAux.Strings[APosicao-1];
sAux.Free;
end;
Utilização:
ObterTermo(2, ´:´, ´Nome: Cicraninho´); retornará ´Cicraninho´
ou Edit5.text := ObterTermo(2, ´:´, ´Nome: Cicraninho´);
Use dicas de arquivos de texto para abri-lo e varrer todas as linhas. Daí vc pode fazer uma filtragem:
if ObterTermo(1, ´:´, ´Nome: Cicraninho´) = ´Nome´ then
linha contem o nome...
if ObterTermo(1, ´:´, ´Nome: Cicraninho´) = ´Telefone´ then
linha contem o telefone...
e assim vai!!!
GOSTEI 0
Bertu
23/04/2008
aee blzz... so q como ponho pra funciona num Memo, aqui da um erro :S
GOSTEI 0
Bertu
23/04/2008
axo qn ao funcionou
GOSTEI 0
Martins
23/04/2008
aee blzz... so q como ponho pra funciona num Memo, aqui da um erro :S
Qual o erro q dá?
Boa sorte!
GOSTEI 0
Bertu
23/04/2008
Nao ta retornando o numero do telefone e nem o nome da pessoa! A ideia seria pegar o Nome: e aparti do : inserir em um Campo Edit! E a mesma coisa com telefone, so que nao ta retornando alguma ideia ?
GOSTEI 0
Obrunno
23/04/2008
Como já falei antes...
Use a função ObterTermo que postei acima.
Edit5.text := ObterTermo(2, ´:´, ´Nome: Fulano´);
// A função vai mandar pro Edit5 o texto ´Fulano´;
Edit6.text := ObterTermo(2, ´:´, ´Telefone: 3424-3215´);
// A função vai mandar pro Edit6 o texto ´3424-3215´;
e assim por diante.
Use a função ObterTermo que postei acima.
Edit5.text := ObterTermo(2, ´:´, ´Nome: Fulano´);
// A função vai mandar pro Edit5 o texto ´Fulano´;
Edit6.text := ObterTermo(2, ´:´, ´Telefone: 3424-3215´);
// A função vai mandar pro Edit6 o texto ´3424-3215´;
e assim por diante.
GOSTEI 0
Obrunno
23/04/2008
Quanto ao erro no MEMO...
Tente fazer o teste para o edit como te mostrei.
Depois veja se está tendando adicionar no memo assim:
memo1.lines.add(ObterTermo(2, ´:´, ´Telefone: 3424-3215´));
Flw´s
Tente fazer o teste para o edit como te mostrei.
Depois veja se está tendando adicionar no memo assim:
memo1.lines.add(ObterTermo(2, ´:´, ´Telefone: 3424-3215´));
Flw´s
GOSTEI 0
Bertu
23/04/2008
simm vlw d+, mais o problema eh que eu coloco essa funcao do Edit5 no evento OnChange do Memo... dae nao retorna nada! em qual evento eu colocaria ?
GOSTEI 0