Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Prüfen ob in eine Variable geschrieben wurde (https://www.delphipraxis.net/35344-pruefen-ob-eine-variable-geschrieben-wurde.html)

DelphiFreund 5. Dez 2004 21:13


Prüfen ob in eine Variable geschrieben wurde
 
Hi Leute,
wie der Titel aussagt, muss ich wissen, wie ich auf das Ändern einer Variable reagieren kann. Also, wenn ich einem String den Wert "Hallo" gebe, muss eine Funktion, etc. aufgerufen werden. Ich weiss das es geht, denn ich habe es mal gelesen, leider finde ich es nicht mehr :(


Gruß DelphiFreund

jfheins 5. Dez 2004 21:15

Re: Prüfen ob in eine Variable geschrieben wurde
 
Das müsstest du mit einer Property realisieren ...
So einfach mit einer Variablen geht das nicht.

(Oder eine Funktion, die die Variable verändert usw. und dann benutzt du immer die ...)

DelphiFreund 5. Dez 2004 21:18

Re: Prüfen ob in eine Variable geschrieben wurde
 
Stimmt, es war etwas mit Property, ich weiss das das bei Komponenten verwendet wird, aber es muss auch so gehen, und mich würde sehr interessieren wie. Aber dein 2. Vorschlag ist einen Versuch wert, danke.


Gruß DelphiFreund

glkgereon 5. Dez 2004 21:21

Re: Prüfen ob in eine Variable geschrieben wurde
 
das ganze ginge dann so:
Delphi-Quellcode:
TMyClass=Class(TObject)
private
  FMyVariable: string;
  SetMyVariable(NewValue:string);
published
  property MyVariable: string read FMyVariable write SetMyVariable;
end;

implementation

procedure TMyClass.SetMyVariable(NewValue:string);
begin
  FMyVariable:=NewValue;
  //hier reagieren, z.b.
  ShowMessage('FMyVariable wurde geändert!');
end;

DelphiFreund 5. Dez 2004 21:33

Re: Prüfen ob in eine Variable geschrieben wurde
 
Bevor ich es vergesse, geht das auch mit anderen Typen, genauer gesagt auch Boolean? Das mit String war eigentlich nur als beispiel gedacht.

glkgereon 5. Dez 2004 21:35

Re: Prüfen ob in eine Variable geschrieben wurde
 
klar, einfach string überall durch boolean ersetzen

jfheins 5. Dez 2004 21:35

Re: Prüfen ob in eine Variable geschrieben wurde
 
Natürlich, das sahe dann in etwa so aus:
Delphi-Quellcode:
TMyClass=Class(TObject)
private
  FMyVariable: Boolean;
  SetMyVariable(NewValue:Boolean);
published
  property MyVariable: Boolean read FMyVariable write SetMyVariable;
end;

implementation

procedure TMyClass.SetMyVariable(NewValue:string);
begin
  FMyVariable:=NewValue;
  //hier reagieren, z.b.
  ShowMessage('FMyVariable wurde geändert!');
end;

glkgereon 5. Dez 2004 21:36

Re: Prüfen ob in eine Variable geschrieben wurde
 
in der procedure den parameter auf boolean setzen, dann stimmts ;)

DelphiFreund 5. Dez 2004 21:39

Re: Prüfen ob in eine Variable geschrieben wurde
 
Ich hab das mal schnell ausprobiert, dann bekam ich folgende Fehlermeldung:

[Fehler] Unit1.pas(41): Inkompatible Typen: 'Enumeration' und 'String'

Mit allem außer Enumeration kann ich etwas anfangen, aber das hab ich noch nicht gehört. Was kann ich dagegen tun?


Gruß DelphiFreund

jfheins 5. Dez 2004 21:41

Re: Prüfen ob in eine Variable geschrieben wurde
 
Es wäre hilfreich, zumindest die Zeilen 39-43 zu sehen ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz