Site Index - Feedback - Impressum |
| |||||||||
|
|
( Archiv ) | ( Neues Thema ) |
08.06.2004 |
Re: REXX Programm (von: manfred, 14:46:43) | « ^ |
Hallo Thomas,
aufgrund Deines Tip von gestern bin ich zu einem Lösungsansatz gekommen vergleichbar mit Deinem zweiten Vorschlag von heute. Ich lese also Zeichen für Zeichen ein. Die Zeichen, die ich benötige lasse ich an eine Variable anhängen. Das das geht und wie das geht, habe ich heute morgen gelernt. Hier ein Auszug meines Programms: DO bookmark=1 TO 1855 tmp=CHARIN("FHLOTDB.TXT", bookmark, 1 ); IF tmp \== '"' & tmp \== ',' THEN DO characternumber = characternumber+1; IF characternumber =1 THEN line.1=tmp; ELSE DO IF characternumber < 511 THEN DO IF characternumber =79 THEN DO line.1=line.1||' '; line.1=line.1||tmp; END; ELSE line.1=line.1||tmp; END; END; END; END; Anschließend hänge ich das @ hinten an. Dann lasse ich mit LENGTH() die Länge feststellen, zur Kontrolle und weil die letzte Zeile nicht ganze 512 Zeichen lang ist. Mit SUBSTRG() schneide ich die Variable dann noch mal auf die vorher festgestellte Länge. So erhalte ich den Zeilenumbruch. Dann schiebe ich den ganzen String in die Ausgabedatei. Hier ein weiteres Beispiel: line.1=line.1||at_sign; linelength.1=LENGTH(line.1) SAY 'Die Laenge der Variable line.'1' betraegt: 'linelength.1; outputline.1=SUBSTR(line.1, 1, linelength.1); outputlinelength.1=LENGTH(outputline.1); SAY 'Die Laenge der Variable outputline.'1' betraegt: 'outputlinelength.1; tmp=LINEOUT("FDLOTDB.TXT", outputline.1); Das funktioniert wunderbar. Die Quelldatei ist leider keine echte dbf Datei. Die Quelldatei ist eine CSV Datei. Dein Vorschlag mit dem Translate teste ich aus. [ Leser: 31 ] |
|
Mit * markierte Felder müssen ausgefüllt werden ! |
( Zeige alle Einträge ) | ( Zur Startübersicht ) |
|
| Manfred | 85 | 07.06.2004 | 13:28 |
| Th. Beke | 77 | 07.06.2004 | 14:23 |
| Manfred | 76 | 07.06.2004 | 15:13 |
| Th. Belke | 43 | 08.06.2004 | 10:37 |
| 35 | 08.06.2004 | 13:35 |
| manfred | 31 | 08.06.2004 | 14:46 |
|