![]() |
![]() |
|
![]() |
![]() |
|
Programmierung Rat & Tat für Programmierer |
![]() |
|
Themen-Optionen | Ansicht |
![]() |
#11 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
Und ich hab mich schon gewundert was das bringen soll. ![]() Und was bringt es dann, die Schrittweite beim öffnen des Files anzugeben? |
|
![]() |
![]() |
![]() |
#12 |
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
![]() Code:
Type MyRecord Name as String * 20 (k.A. ob ich das mit der fixen Länge Alter as Byte hier richtig hab...) End Type Dim User as MyRecord Damit du nun mit GET immer einen record nach dem anderen einlesen kannst ohne umständlich die Position im file zu berechnen kannst du beim binörmode eine Record-Länge angeben. Code:
Open ... for Binary as #1 Len=21 Mit Code:
Get #1,0,User Mit Code:
Get #1,100,User Hierbei ist jeder gelesene Record genau die 21 Byte groß. Du liest also in 21 Byte Schritten. Wäre User jetzt 42 byte groß, würdest er genau 2 Sätzen platz bieten und es würden auch 2 gelesen werden. Wenn du Len=1 angibst, setzt du die Record-Länge auf 1 Byte und kannst somit byteweise aus dem file lesen bzw. das ganze file auf einmal einlesen wenn du Get eine Variable übergibst die groß genug ist um den gesamten Inhalt (alle "Sätze") zu fassen.
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger ![]() |
![]() |
![]() |
![]() |
#13 | |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() Zitat:
![]() Das hat MS ja wirklich logisch gemacht, dass man des so einlesen kann. Jetzt muss ich nur noch schaun, dass ich das mit meinen Files hin bekomm. Ich weiß zwar noch nicht wann ich wieder dazu komm, da langsam der Matura-Stress beginnen könnte, aber falls es wieder was zu dem Thema gibt, werd ich den Thread wieder "aufwärmen". ![]() |
|
![]() |
![]() |
![]() |
#14 |
Inventar
![]() Registriert seit: 22.10.2000
Alter: 41
Beiträge: 5.552
|
![]() hmm, Käse.
![]() Des will mir nicht gelingen. So wie du es geschrieben hast stimmt es schon - hab mich ja selber ein wenig in die Materie mit Binär-Files eingelesen. Hab mir auch eine Funktion gebastelt die mir 3 Werte einfach mittels PUT in ein File schreibt. (3x PUT hintereinander) Funktioniert auch - und aus diesem File kann ich auch lesen (mit GET). Das einzige was komisch ist, wenn ich mit deinem Code (also auch mit dem LOF usw...) an diese Datei gehe, bekomme ich aber auch nur den ersten Wert, der mit PUT raus geschrieben wurde. Aber das nur nebenbei erwähnt. Wenn ich aber eine andere Datei - egal welche auswähle (Bitmap, MP3,....) bekomm ich den oben zitierten Runtime-Error. Sehe ich aber irgendwie unlogisch, da ja alles diese Files Binärdateien sind. Und noch was fällt mir auf: wenn ich mittels meiner kleinen "Test-PUT-Funktion" einen String in eine Datei raus schreibe (z.B 11 Zeichen), dann hat das File aber nicht 11bytes sondern 15 - es sind noch 4 bytes davor, bevor der eigentlich String kommt (irgendwelche Steuerzeichen - oder was weiß ich) Der String wurde aber nur mittels einem PUT raus geschrieben. Verwende ich mehrere PUTs hintereinander, sind zwischen den einzelnen "Datensätzen" die raus geschrieben werden auch nochmals Steuerzeichen!? Gibts dafür eine Erklärung - und wie man das ganze umgehen kann? |
![]() |
![]() |
![]() |
#15 |
Schwarzfußfrettchen
![]() Registriert seit: 28.01.2001
Beiträge: 2.071
|
![]() hmm.. das is komisch...
____________________________________
Wann die kan Almdudler ham... \"Es gibt nur einen Weg zur Lunge, und der muss geteert werden, damit der Krebs nicht stolpert!\" http://www.dream.at/gizmo/bunny.gif Image is © 2001 Merle Sterndalsäg.. ähh... jäger ![]() |
![]() |
![]() |
![]() |
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|