Edit com ponteiro para String é possíve?
Olá Pessoal,
Estava querendo criar um componente Edit que não contesse uma string e sim um ponteiro para string, pois quando a variável fosse alterado logo seria alterado tmb o conteúdo que este edit exibe. Alguém já fez algo parecido com isso e poderia me dar uma luz de como fazer?
Tentei fazer com uma propriedade separada para armazenar o endereço de memória, porém assim tenho que usar uma classe do Timer para ficar atualizando frequentemento o que será exibido. Alguém sabe como fazer para essa atualização só ocorrer quando for alterado a variável que contém a string?
[]´s,
Carlos Eduardo.
Estava querendo criar um componente Edit que não contesse uma string e sim um ponteiro para string, pois quando a variável fosse alterado logo seria alterado tmb o conteúdo que este edit exibe. Alguém já fez algo parecido com isso e poderia me dar uma luz de como fazer?
Tentei fazer com uma propriedade separada para armazenar o endereço de memória, porém assim tenho que usar uma classe do Timer para ficar atualizando frequentemento o que será exibido. Alguém sabe como fazer para essa atualização só ocorrer quando for alterado a variável que contém a string?
[]´s,
Carlos Eduardo.
Mcis33
Curtidas 0
Respostas
Beppe
05/02/2004
Não entendo o porque disso, afinal se você mudar via ponteiro, poderia bem fazer via o modo tradicional:
Um_Ponteiro_Pra_String^ := ´Outro texto´;
Edit1.Text := ´Outro texto´;
GOSTEI 0
Mcis33
05/02/2004
A razão para eu querer fazer isso é que o texto destes Edit irão mudar de acordo com variáveis e eu gostaria que isso fosse de modo automático, pois durante a execução do programa os dados nessas variáveis irão mudar diversas vezes, e eu não gostaria de ficar mudando o conteúdo dos Edits através de uma função toda vez que alterasse os dados nas variáveis... além do mais, como no formulário existem diversos Edits eu não precisaria preecher todos, evitando o preenchimento com dados já existentes no Edit... claro que poderia fazer um if, mas ainda acho que a idéia do Ponteiro é melhor... pois em todo programa eu poderia setar os endereços de memória e quando alterar qualquer variável, automaticamento todos os dados serão atualizados pelo programa.
[]´s,
mcis33.
[]´s,
mcis33.
GOSTEI 0
Beppe
05/02/2004
Esse trecho já tinha postado há uns dias, não alterei nada:
Pra cada variável cria uma propriedade com um campo private e um método set. Sempre que o set é chamado você muda o edit correspondente.
TForm1 = ... private FChave: Integer; procedure SetChave(Value: Integer); public property Chave: Integer read FChave write SetChave; end; ... procedure TForm1.SetChave(Value: Integer); begin if (FChave = 1) and (Value = 2) then begin // coloca código que executa quando mudou de 1 para 2 end; FChave := Value; end;
Pra cada variável cria uma propriedade com um campo private e um método set. Sempre que o set é chamado você muda o edit correspondente.
GOSTEI 0