 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 22.05.2013, 10:10 Titel: Datei wird nicht umgewandelt, woran liegt das ? |
|
|
Hallo, guten Tag.
Ich möchte eine Datei umwandeln. Es funktioniert nicht.
Es wird keine neue Bin-Datei erzeugt.
Ich kann auch nicht raussehen, ob alles richtig gewandelt wird.
Ich brauche hier mal bitte hilfe.
Danke.
Gruss
peter
Code: |
#INCLUDE "fbgfx.bi"
Screen 19,32
DIM Shared As String satz,satz1
Dim Shared As INTEGER f1,f2,z,z1,laenge,scr,scr1
Dim Shared As UByte wert
Declare Sub fth_bin()
f1=FreeFile
f2=FreeFile
scr=0
scr1=0
Do
Sleep 500
If MULTIKEY(FB.SC_ESCAPE) Then
End
ElseIf MultiKey(FB.SC_d) Then
fth_bin
Print "fertig..."
End If
Loop
Sub fth_bin
OPEN "d:\kc\kc-fth\get_put.fth" FOR INPUT AS #f1
Open "d:\kc\kc-forth-z80\get_put0.bin" FOR Binary AS #f2
Do
Input #f1, satz
If Left(satz,8)="Screen #" Then
Input #f1,satz
Input #f1,satz
satz1=Mid(satz,4)
laenge=Len(satz1)
For z=1 To laenge
wert=Asc(Mid(satz1,z,1))
Put #f2,,wert,1
Next
For z=1 To 32-laenge
wert=32
Put #f2,,wert,1
Next
For z1=1 To 15
Input #f1,satz
satz1=Mid(satz,4)
laenge=Len(satz1)
For z=1 To laenge
wert=Asc(Mid(satz1,z,1))
Put #f2,,wert,1
Next
For z=1 To 32-laenge
wert=32
Put #f2,,wert,1
Next
Next
scr=scr+1
If scr > 4 Then
scr=0
scr1=scr1+1
close #f2
Sleep 200
OPEN "d:\kc\kc-forth-z80\get_put"+Str(scr1)+".bin" FOR Binary AS #f2
EndIf
EndIf
Loop UNTIL EOF(f1)
Close #f1
Close #f2
scr=0
scr1=0
End Sub
|
Diese Datei soll umgewandelt werden.
Das heisst, es wird abgefragt wann dieses erscheint : "Screen #"
Dann wird 2x mit Input eingelesen bis zur Zeile "00".
Geschrieben wird nur was von 00-15 steht wobei die Zahlen 00-15 rausgeschnitten werden. Dann werden die Bytes mit Put in die neue Datei hintereinander geschrieben. Sind es mehr wie 4 Screens , dann wird eine neue numerierte Bin-Datei angelegt.
Hinter 00 - 15 ist immer erst ein Leerzeichen, welches hier nicht zu erkennen ist.
Zitat: |
Screen # 01 -----------------------
00 ( RAM-SAVE ueber Header 5.95)
01
02 ONLY FORTH ALSO ASSEMBLER ALSO
03 I/O DEFINITIONS HEX
04
05 1B CONSTANT ANFA \ Z. anfadr
06 1D CONSTANT ENDA \ Z. endadr
07 23 CONSTANT STA \ Z. stadr
08 200 CONSTANT PRAN \ Prog.anfang
09 320 CONSTANT PRST \ Prog.start
10 \ muss angepasst werden
11 : SAVA ( von bis BLnr ---)
12 1+ 'RAM 1- ENDA !
13 'RAM ANFA !
14 PRST STA ! ;
15 -->
Screen # 02 -----------------------
00 ( RAM-SAVE ueber Header 5.95)
01
02 CODE JUMP
03 F5 C, C5 C, D5 C, E5 C,
04 DD C, E5 C, FD C, E5 C,
05 FD C, 21 C, 4300 , \ C-Eintr.
06 3E C, 00 C,
07 \ pusht Register
08 CD C, FFF1 , \ Sprungadr
09 FD C, E1 C,
10 DD C, E1 C, E1 C, D1 C,
11 C1 C, F1 C, C3 C, 422 ,
12 \ popt Register
13 END-CODE
14
15 -->
Screen # 03 -----------------------
00 ( RAM-SAVE ueber Header 5.95)
01 FFF4 CONSTANT SARUF \ UP-save
02 FFF1 CONSTANT LORUF \ UP-load
03 \ b. 16K 3C00 LOR. 3C03 SAR.
04 : JUAD ['] JUMP + ; \ Anspr
05 : NEW 4E 0F JUAD C! ; \ neudef
06 : OLD 3A 0F JUAD C! ; \ wiederh
07 : FILE 46 0D JUAD C! ; \ F eint
08 : COM 43 0D JUAD C! ; \ C eint
09 : SARUF! SARUF 11 JUAD ! JUMP ;
10 : LORUF! LORUF 11 JUAD ! JUMP ;
11 \ traegt UP ein ueber Sprungver
12 DEFER EXPAN \ vekt Erweiterung
13 : ILL ; ' ILL IS EXPAN
14
15 -->
Screen # 04 -----------------------
00 ( RAM-SAVE ueber Header 5.95)
01 : RAM-LOAD ( ab nscr ---) CR
02 'RAM ANFA ! NEW FILE LORUF!
03 EXPAN EMPTY-BUFFERS ;
04 : RAM-SAVE ( n1 n2 --) CR SAVA
05 NEW FILE EXPAN SARUF! ;
06
07 ALSO FORTH DEFINITIONS
08 : SAVE-SYSTEM ( ---)
09 PRAN ANFA ! HERE ENDA !
10 PRST STA ! NEW COM EXPAN
11 SARUF! ;
12 : MORE OLD JUMP ; \ wiederh.UP
13
14 ' RAM-LOAD IS GET ( n --)
15 ' RAM-SAVE IS PUT ( von bis --)
|
|
|
Nach oben |
|
 |
Eternal_pain

Anmeldungsdatum: 08.08.2006 Beiträge: 1783 Wohnort: BW/KA
|
Verfasst am: 22.05.2013, 11:32 Titel: |
|
|
Code: | f1=FreeFile
f2=FreeFile |
Zitat: | FREEFILE gibt die nächste unbenutzte Dateinummer zurück. |
_________________
 |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 22.05.2013, 12:08 Titel: |
|
|
Hmm.., geht das denn nur einmal ?
Gruss
peter |
|
Nach oben |
|
 |
St_W

Anmeldungsdatum: 22.07.2007 Beiträge: 956 Wohnort: Austria
|
Verfasst am: 22.05.2013, 12:28 Titel: |
|
|
Die Reihenfolge ist einfach falsch. So sollte es sein:
Code: | ff1 = FREEFILE
OPEN .. AS #ff1
ff2 = FREEFILE
OPEN .. AS #ff2 |
_________________ Aktuelle FreeBasic Builds, Projekte, Code-Snippets unter http://users.freebasic-portal.de/stw/
http://www.mv-lacken.at Musikverein Lacken (MV Lacken) |
|
Nach oben |
|
 |
arduno
Anmeldungsdatum: 12.05.2011 Beiträge: 252
|
Verfasst am: 22.05.2013, 15:08 Titel: |
|
|
jup danke.
Gruss
peter |
|
Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|