cumulonimbus8
Fleet Admiral
- Registriert
- Apr. 2012
- Beiträge
- 19.371
Hallo!
Mein Plan sieht so aus: DIMe ein (String) Array auf Vorrat auf 10. Lese eine Datei (und zwar in dieses Array!) ein und ermittele nebenbei deren Zeilenanzahl. Dann REDIME (samt PRESERVE) es auf diese Zeilenzahl.
Gut, das ist heutzutage eigentlich übertreiben, aber mir gings hier mal um einen dummen Versuch. Wie man unten sieht ging das schief. Also…
Also beginne ich stattdessen mal mit
DIM Feld() As String
lege gleich ein
REDIM Feld(5)
nach, starte das Dateieinlesen, mein Zähler I läuft mit (und kommt bei 3 an).
REDIM PRESERVE Feld(I)
liefert dann einen «Index außerhalb des gültigen Bereichs». Putzig genug, da 3 meistens kleiner als 5 ist und das Einlesen ja offensichtlich klappte. I wird korrekt gezählt, 3 Zeilen und I ist auch 3.
Darf man was geREDIMTes nicht nochmals REDIMEn?
Ich habe (aus Prinzip) mal keine Lust die Datei zu öffnen, zu zählen, zu REDIMEn um dann noch mal die Datei einzulesen.
Auch die anfängliche einfachere Idee gleich auf 5 zu DIMen klappt nicht - in der REDIM-Zeile begrüßt mich dann ein «Datenfeld bereits dimensioniert».
Irgendwie döf das. Wo ist der Fehler?
CN8
Mein Plan sieht so aus: DIMe ein (String) Array auf Vorrat auf 10. Lese eine Datei (und zwar in dieses Array!) ein und ermittele nebenbei deren Zeilenanzahl. Dann REDIME (samt PRESERVE) es auf diese Zeilenzahl.
Gut, das ist heutzutage eigentlich übertreiben, aber mir gings hier mal um einen dummen Versuch. Wie man unten sieht ging das schief. Also…
Also beginne ich stattdessen mal mit
DIM Feld() As String
lege gleich ein
REDIM Feld(5)
nach, starte das Dateieinlesen, mein Zähler I läuft mit (und kommt bei 3 an).
REDIM PRESERVE Feld(I)
liefert dann einen «Index außerhalb des gültigen Bereichs». Putzig genug, da 3 meistens kleiner als 5 ist und das Einlesen ja offensichtlich klappte. I wird korrekt gezählt, 3 Zeilen und I ist auch 3.
Darf man was geREDIMTes nicht nochmals REDIMEn?
Ich habe (aus Prinzip) mal keine Lust die Datei zu öffnen, zu zählen, zu REDIMEn um dann noch mal die Datei einzulesen.
Auch die anfängliche einfachere Idee gleich auf 5 zu DIMen klappt nicht - in der REDIM-Zeile begrüßt mich dann ein «Datenfeld bereits dimensioniert».
Irgendwie döf das. Wo ist der Fehler?
CN8