Fórum Edit com ponteiro para String é possíve? #211778

05/02/2004

0

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.


Mcis33

Mcis33

Responder

Posts

05/02/2004

Beppe

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´;



Responder

Gostei + 0

05/02/2004

Mcis33

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.


Responder

Gostei + 0

05/02/2004

Beppe

Esse trecho já tinha postado há uns dias, não alterei nada:

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.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar