Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Anweisungliste aus Memostring (https://www.delphipraxis.net/41734-anweisungliste-aus-memostring.html)

Xenar 7. Mär 2005 19:31


Anweisungliste aus Memostring
 
Hallo,

will ein Programm schreiben, das ermöglicht in einem Memofeld eine Anweisungsliste zu schreiben.

Wenn zum Beispiel im Memofeld folgendes steht:

A = 234
B = 290

soll in die Varibale A der Wert 234 geschrieben werden und in B der Wert 290 etc..
Bin Ratlos wie ich das am besten umsetze, für eine Anregung, Idee oder Lösungsansatz wäre ich dankbar.

Ciao Xenie :wall:

alcaeus 7. Mär 2005 19:50

Re: Anweisungliste aus Memostring
 
Hallo Xenar,

das wird nicht einfach. Hier mal ein Beispiel fuer drei Variablen (A, B, C):

Delphi-Quellcode:
  for i := 0 to Memo1.Lines.Count-1 do
  begin
    Line := Memo1.Lines[i];
    VarName := Trim(Copy(Line, 1, Pos('=', Line)-1));
    VarValue := Trim(Copy(Line, Pos('=', Line)+1, Length(Line)));
    vars[Ord(Uppercase(varName)[1])-Ord('A')] := StrToIntDef(VarValue, 0);
  end;
vars ist ein Array von 0..2 of Integer. Jede Anweisung muss in einer neuen Zeile stehen. Wenn du es dynamischer machen willst, wird das ganze vieeel komplizierter, aber die Idee sollte so rueberkommen.

Uebrigens: den Code habe ich nicht getestet, aber er sollte funktionieren

Greetz
alcaeus

csa 7. Mär 2005 20:19

Namens/Wertepaare, TStrings
 
TMemo.Lines ist vom Typ TStrings. TStrings kann Daten in der Form "A=234" verwalten, sodass über den Namen ("A") auf den Wert zugegriffen werden kann ("234"). Die Eigenschaft TStrings.Values repräsentiert den Wertbestandteil bei Strings mit Namens/Wertepaaren.

Memo1.Lines.Values['A'] ergibt im obigen Beispiel '234'.

Zugriff also mittels "strA := Memo1.Lines.Values['A'];" - strA muss dann noch mit IntToStr in einen Integerwert konvertiert werden (vorher auf leeren String prüfen).

Xenar 8. Mär 2005 16:51

Re: Anweisungliste aus Memostring
 
Danke für Eure Hilfe werde ich mal ausprobieren.

Danke Xenar


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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