Diskussion:CMD

Aus C64-Wiki
Zur Navigation springenZur Suche springen
10 REM Schreiben einer 50-Zeichen lange sequentielle Datei auf Datasette
20 OPEN 1,1,1, "TESTFILE": CMD 1
30 FOR X=1 TO 50: PRINT X: NEXT X
40 PRINT#1: CLOSE 1

Kann ja so nicht stimmen:

 0-9  je 1 Zeichen + <CR> * 10 =  20
10-50 je 2 Zeichen + <CR> * 40 = 120 
                                 ---
                                 140 Zeichen

--Moiree 23:50, 8. Dez. 2009 (CET)

10 REM Schreiben einer 50 Zeichen langen sequentiellen Datei auf Datasette
20 OPEN 1,1,1, "TESTFILE": CMD 1
30 FOR X=1 TO 50: PRINT "A";: NEXT X
40 PRINT#1;: CLOSE 1
PRINT#1;: müsste doch einen SYNTAX ERROR liefern!?
Korrekt wäre doch PRINT#1,; (zumindest nach meinem Test mittels VICE ... --JohannKlasek 05:02, 9. Dez. 2009 (CET)

Wie vermeide ich am Anfang ein 0x0d?

00000000:  0d 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  .AAAAAAAAAAAAAAA
00000010:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000020:  41 41 41 41 41 41 41 41  41 41 41 41 41 41 41 41  AAAAAAAAAAAAAAAA
00000030:  41 41 41 -- -- -- -- --  -- -- -- -- -- -- -- --  AAA-------------

--Moiree 00:13, 9. Dez. 2009 (CET)

Verursacher ist das CMD, das implizit auch ein PRINT macht ...
Daher:
10 REM Schreiben einer 50 Zeichen langen sequentiellen Datei auf Datasette
20 OPEN 1,1,1, "TESTFILE": CMD 1,;
30 FOR X=1 TO 50: PRINT "A";: NEXT X
40 PRINT#1,;: CLOSE 1
CMD erzeugt wie ein leeres PRINT ein RETURN! --JohannKlasek 05:02, 9. Dez. 2009 (CET)
Als ob das nicht schrecklich genug wäre, funktioniert die Unterdrückung mit ,; auch noch :-). Ich habe das Beispiel entsprechend ergänzt. --Moiree 05:18, 9. Dez. 2009 (CET)