PDA

View Full Version : %char ??



Gimli
04-03-03, 12:28
Hallo an Alle,

ich habe ein kleines Problem bei folgenden Anweisungen:
D firma s 2 0 inz(01)
D result1 s 2a
/free
evalr result1 = %char(firma);
/end-free
Das Ergebnis dieser Operation ist: ' 1'. Ich brauche aber unbedingt das Ergebnis '01'.
Wer kann mir bitte einen Tipp geben, über welche Anweisungen ich ein tatsächliches Character-Abbild eines numerischen Feldes bekomme (im klassischen RPG bekomme ich das über den Befehl "move", den es im free-rpg leider nicht mehr gibt).

Danke für Eure Hilfe, Marc

[Dieser Beitrag wurde von Gimli am 04. März 2003 editiert.]

bateau
04-03-03, 13:15
Hallöchen!

Das müßte mit der Funktion %editc machbar sein, auf dein Bleistift gemünzt so:

evalr result1 = %editc(firma:'X')

Wobei ich mir nicht mehr ganz sicher bin ob der Edit Code "X" der richtige ist, einfach mal ausprobieren.

Grüße

Martin

malzusrex
04-03-03, 13:16
/Free
result = %trim(%editc(firma:'1':'0'));
/end-free

der 1.parm nach firma, ist der edit-code, wie du ihn zB aus einem DSPF kennst

Gimli
04-03-03, 14:41
Danke, es hat funktioniert !!

B.Hauser
04-03-03, 15:13
Habt Ihr Euch bei der ganzen Geschichte schon mal Gedanken um die Performance gemacht?

Ich habe gerade einen Test für 1.000.000 Durchläufe ausgeführt:
1. MOVE = 318000 MS
2. %EditC(Feld: 'X') = 808000 MS
3. %Trim(%Editc(Feld: '1': '0')) = 3799000 MS

Birgitta

malzusrex
04-03-03, 15:20
oh Birgitta,

da ist also mein vorschlag knapp 12mal langsamer.
dann sollte man es villeleicht doch gleich überlappend def.

gruß ronald