| |
|
|
| Die Datei text.txt möchte ich byteweise auslesen und dann sollen die Daten wie unten als Textdatei hergestellt bzw gesetzt werden. Ich möchte aus der Bytedatei Datazeilen erstellen. Als erstes die Länge und dann die Werte.
Mit Input möchte ich als erstes abfragen : 1. Name der Datei die eingelesen wird 2. Datazeilenanfang
1000 DATA 22 1010 DATA 169,32,133,250,169,3,133,251,160,0, 1020 DATA 177,250,168,177,250,32,237,253,136,208, 1030 DATA 248,96,
|
|
|
| |
|
|
|
| Jetzt hast Du uns erklärt was Du möchtest, ist da eine Frage versteckt?
Du brauchst blockRead (input geht auch) und die Funktion ord , den Rest sehe ich als einfache Schleife die Du sicher hinbekommst. |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Ich kann Dir leider nicht sagen, weshalb append in diesem Fall die Datei nicht erzeugt.
Ist imho nicht korrekt vom XProfan. |
|
|
| |
|
|
|
| Wenn ich die text.dat von Hand selber erzeuge, werden die Daten reingeschrieben. Warum macht das Xprofan 11.2 nicht die Datei text.dat ?
mfg |
|
|
| |
|
|
|
RGH | Hallo,
eine Datei wird mit Rewrite# erzeugt und geöffnet bzw. gelöscht und geöffnet, wenn sie schon vorhanden ist. Mit Append# wird eine bestehende Datei zum Anhängen weiterer Daten geöffnet. Steht auch so in der Hilfe. Außerdem sollte Nach Append# und Rewrite# grundsätzlich %IOResult abgefragt werden!
Gruß Roland |
|
|
| Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4 | 08.05.2009 ▲ |
|
|
|
|
| Hm, bin ich jetzt verwöhnt oder wahr das nicht immer so? Imho müsste Append doch eine nicht vorhandene Datei erzeugen.
Aber nun gut, wenn es in XProfan nicht so ist, dann ists halt (nicht) so . |
|
|
| |
|
|
|
| Jup, danke.
Auf Rewrite wäre ich nicht gekommen.
mfg |
|
|
| |
|
|
|
| Wie erfrage ich LOF, welches ja in Profan nicht gibt?
mfg |
|
|
| |
|
|
|
| |
|
| |
|
|
|
| Wenn ich einen Namen eingebe der Falsch ist als Input zum Einlesen, müsste das Programm eigentlich beendet werden bzw nach waitkey springen. Tut es aber nicht, sondern geht weiter, wo ich den Ausgabenamen eingeben kann.
Woran liegt das?
mfg KompilierenMarkierenSeparierendeclare a%, data_laenge%, data_anfang%,datei_laenge%,name_in$,name_out$
Window 20,20-400,400
Print Dateiname_in : ;
input name_in$
Assign #1,name_in$
OpenRW #1
If %IOResult
Print Datei kann nicht geöffnet werden.
else
Print Dateiname_out: ;
input name_out$
datei_laenge% = GetFileSize(#1)
Assign #2,name_out$
Rewrite #2
data_anfang%=1000
print #2,str$(data_anfang%); DATA ;datei_laenge%
data_laenge%=0
data_anfang%=data_anfang%+10
print #2,str$(data_anfang%); DATA ;
WhileLoop datei_laenge%
if data_laenge% < 10
a%=GetByte(#1)
print #2,str$(a%);,;
else
data_laenge%=0
data_anfang%=data_anfang%+10
print #2
print #2,str$(data_anfang%); DATA ;
a%=GetByte(#1)
print #2,str$(a%);,;
endif
data_laenge%=data_laenge%+1
EndWhile
Close #1
Close #2
endif
waitkey
end
|
|
|
| |
|
|
|
Paul Glatz | Du musst dem Programm auch sagen dass es Beenden soll! |
|
|
| |
|
|