[gelöst] String aus mehreren Variablen zusammensetzen

30. Januar 2009 10:12

Hallo zusammen,

irgendwie stehe ich gerade völlig auf dem Schlauch, die Suche hat mich jetzt auch nicht wirklich weiter gebracht (was natürlich auch an meinen Fähigkeiten im Umgang mit der Suchfunktion liegen kann :lol: )

Das Ganze ist wahrscheinlich so einfach, dass es mir fast schon peinliche ist, zu fragen, aber wie schon gesagt, ich versage gerade auf ganzer Linie :oops:

Jetzt aber zum Problem:

ich lese über einen Dataport ein Textfeld ein, das ein Datum enthält, z.B. 20090130. Über Copystr habe ich das ganze jetzt in drei Teile zerlegt (Tag, Monat, Jahr). Jetzt möchte ich den String wieder in der richtigen Reihenfolge zusammensetzen, also 30012009 und dann ein Datum umwandeln, damit ich das in einige Datumsfelder schiessen kann.

Alle meine Versuche haben mir leider gezeigt, wo der Unterschied zwischen einem Programmierer und einem Administrator liegen :shock:

Darum vertraue ich mal wieder auf Eure Hilfe.

Schon mal Danke im Voraus für Eure Antworten.

Gruß Jörn
Zuletzt geändert von funn am 30. Januar 2009 12:42, insgesamt 1-mal geändert.

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 10:15

Schau dir mal in der Onlinehilfe die Funktion DMY2Date an.

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 11:08

Hallo Natalie,

das habe ich mir schon durchgelesen. Aber ich bekomme eine Fehlermeldung:

Type conversion is not possible because 1 of the operators contains an invalid type.
Integer := Text

Die Onlinehilfe sagt mir ja, dass Tag, Monat und Jahr Integer sein müssen, aber es kommt von einem Textfeld. Ich habe aber nichts gefunden, wie ich eine Textvariable in eine Integervariable umwandeln kann.

Es gibt hier sicher einen Kniff, wie das trotzdem geht.

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 11:13

Poste doch mal den entsprechenden Code!

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 11:15

funn hat geschrieben: Ich habe aber nichts gefunden, wie ich eine Textvariable in eine Integervariable umwandeln kann.

Mit ein bisschen Forensuche wäre dir hierzu schon EVALUATE über den Weg gelaufen ;-)

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 11:18

Belegdatum ist eine Textvariable. Diese zerlege ich dann in die Einzelteile. :lol:
Belegdatum2 ist eine Datumsvariable. Und an dieser Stelle kommt die Fehlermeldung.

Also was mache ich falsch ? Ich bin sicher, ich habe hier irgendwas missverstanden, nur sehe ich es im Moment nicht.


Code:
Jahr := COPYSTR(Belegdatum,1,4);
Monat := COPYSTR(Belegdatum,5,2);
Tag := COPYSTR(Belegdatum,7,2);
Belegdatum2 := DMY2DATE(Tag,Monat,jahr);

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 11:21

Naja, dann ist die Sache ganz klar und Natalie hat völlig recht, du brauchst EVALUATE.

1.) Definiere deine Variablen Tag, Monat und Jahr als Integer.
2.) Weise den Variablen ein EVALUATE(COPYSTR(...)) zu.

Dann sollte es klappen.

Re: String aus mehreren Variablen zusammensetzen

30. Januar 2009 12:41

Danke Euch Zweien,

das hat jetzt super funktioniert, auch wenn ich noch ne Weile gebraucht habe, um den Syntax zu verstehen.

Da ich noch mehrere Datumsfelder habe, die befüllt werden müssen, habe ich das Ganze gleich in eine Funktion ausgelagert, die für das benötigte Datumsfeld aufgerufen wird.

Code:
DateConv(VAR DateString : Text[30])

EVALUATE(Jahr,COPYSTR(DateString,1,4));
EVALUATE(Monat,COPYSTR(DateString,5,2));
EVALUATE(Tag,COPYSTR(DateString,7,2));


Super, habe heute wieder was dazu gelernt. 8-)