Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi problem mit stringkonvertierung (https://www.delphipraxis.net/43725-problem-mit-stringkonvertierung.html)

billi 7. Apr 2005 18:42


problem mit stringkonvertierung
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich weis absolut nicht mehr weiter: Für meine Facharbeit will ich eine generische Baumklasse schreiben. Soweit auch ganz gut, nur wenn ich strings verwende, bekomme ich nur eine leere Rückgabe bzw. einen rechteckigen Kasten (über showmessage). Mit Real und integer Werten läuft es.
Meineserachtens liegt das Problem hier (ansonsten ist die Behandlung von strings, integern und reals gleich...):
Delphi-Quellcode:
function wandeln(var x):tstring;
begin
 case datentyp of
      0 : result := IntToStr(integer(x));
      1 : result := tString(x);
      2 : result := FloatToStr(real(x));
 end;
end;
tstring ist dabei "normal" string. Diese function übergebe ich an eine andere procedure die damit arbeitet(bei der übergabe zur anderen unit ändere ich den namen zu Wandle um):
Delphi-Quellcode:
function tbaum.postorder: tausgabe;
begin
 if Inhalt = NIL then result := ''
  else
   if l = nil then
     if r = nil then result := WandleUm(inhalt^)
     else result := WandleUm(inhalt^) + r.postorder
   else
     if r = nil then result := WandleUm(inhalt^) + l.postorder
     else result := l.postorder + r.postorder + WandleUm(inhalt^);
  showmessage(result);
end;
Weil das ganz ev. etwas undurchsichtig ist, mein projet auch als Anhang.
ICh freu mich über jeden Tipp,
Vielen Dank,
Markus

Binärbaum 7. Apr 2005 19:06

Re: problem mit stringkonvertierung
 
Zitat:

Zitat von billi
...
tstring ist dabei "normal" string

Und wieso verwendest du dafür nicht einen normalen String, sondern deklarierst deinen eigenen Typ.

Zum Umwandeln der Werte in einen String kannst du auch die Prozedur Delphi-Referenz durchsuchenStr verwenden.

MfG
Binärbaum

billi 7. Apr 2005 19:35

Re: problem mit stringkonvertierung
 
naja, tstring kann ich dann für die ganze unit ändern...
und str hilft mir net weiter, das ich mit varianten daten arbeite...
dennoch vielen dank...
gruß,
markus

edit: hab jetzt die lösung gefunden: ich muss tstring auf shortstring (255 zeichen) beschränken, dann geht es. das liegt wohl daran, dass der compiler strings unterschiedlich verwaltet: string selber ist ja nicht eindeutig festgelegt... Dies ist zwar nicht die lösung die ich will, aber besser als ein programm das nicht läuft. wenn jemand eine alternative kennt, her damit ;)

Muetze1 7. Apr 2005 21:30

Re: problem mit stringkonvertierung
 
Moin!

Warum nimmst du nicht echte Varianten anstatt diese zu simulieren mit deinem System? Einfach der Methode "Wandeln" als Parametertyp Variant geben und gut ist...

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:50 Uhr.

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