Programmierkurs: Delphi: Pascal: Typumwandlung

Aus Wikibooks

Wechseln zu: Navigation, Suche

[Bearbeiten] Typumwandlung

Unter Typumwandlung (auch Casts) versteht man, zwei Variablen von unterschiedlichen Typen, von denen entweder der eine vom anderen abstammt oder der eine mit dem anderen kompatibel ist, zu konvertieren. Der Typ „PChar“ ist beispielsweise mit dem Typ „string“ kompatibel. Trotzdem gibt es eine Fehlermeldung, wenn man z. B. folgendes versucht:

var
  a, b: string;
  c: PChar;
begin
  a := 'Hallo ';
  b := 'Welt!';
  c := a + b;
end;

Bei „a + b“ wird ein String zurückgegeben. Das ist nicht erlaubt! Man darf zwar einem PChar-Wert einen durch einfache Gänsefüßchen gekennzeichnete Strings zuweisen, jedoch keine Verkettungen oder String-Variablen. Dieses Problem wird mit der Typumwandlung gelöst:

<Variable> := <Typ1>(<Variable2>);

Also im Beispiel:

c := PChar(a + b);

So gibt es keine Fehlermeldungen und das Programm funktioniert!

Tipp:

Info bulb.png

Für das nächste Beispiel wird es empfohlen, sich vorher mit dem Kapitel „Erstellung einer grafischen Oberfläche“ auseinanderzusetzen!

Beispiel 2: Die Funktion FindComponent sucht eine Komponente mit dem als Parameter angegebenen Namen. Zum Beispiel: FindComponent('Edit1');

Leider gibt diese Funktion TComponent zurück. Dieser gibt uns nicht die Möglichkeit, den Text der gefundenen Komponente zu ändern. Das Problem können wir mit der Typumwandlung lösen:

var
  gefunden: TComponent;
  editierfeld: TEdit;
begin
  gefunden := FindComponent('Edit1');
  editierfeld := TEdit(gefunden);
  editierfeld.Text := 'Editierfeld gefunden!';
end;



Arrow left.png Pascal: Typdefinition Inhaltsverzeichnis Pascal: Methodenzeiger Arrow right.png
Persönliche Werkzeuge