Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
cacare
Anmeldungsdatum: 24.10.2007 Beiträge: 4 Wohnort: obertshausen
|
Verfasst am: 24.10.2007, 12:56 Titel: Datei öffnen. Und die Daten darin Variablen zuweisen |
|
|
Hallo an alle,
bin am verzweifeln.
Habe folgendes Problem. Habe eine Datei (CSV-Format). Diese Datei möchte ich von einem Qbasic-Programm öffnen lassen. Und danach die Daten Variablen zuweisen.
Mein Problem. Wenn ich diese Datei auslese tue, dann wird die gesamte Datei einer Variablen zugeordnet.
Was ich machen möchte, die Datei besteht aus jeweils ca. 8 einzelnen Felder, die von einem TAB getrennt sind. Nach diesen 8 Feldern, kommt ein "*", der mir zeigt, dass dieser Datensatz zuende ist. Es sind ca. 1000 - 3000 verschiedene Datensätze.
Ich muss jedes einzelne Feld in eine Variable bekommen ( z. b. Kunde(1); Ort(1); PLZ(1) .... kunde(2)) .
Ich hoffe mein Problem gut schildern können.
Ich hoffe jemand kann mir helfen, ist ein bissien Urgent !!  |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 24.10.2007, 13:38 Titel: |
|
|
Scheinbar verwendest Du den Open-Befehl falsch. Wenn man Deinen Code sehen könnte, wär das Helfen einfacher.  |
|
Nach oben |
|
 |
cacare
Anmeldungsdatum: 24.10.2007 Beiträge: 4 Wohnort: obertshausen
|
Verfasst am: 24.10.2007, 14:24 Titel: Hier mein Code |
|
|
Bin noch nicht weit mit dem Code, da ich irgendwie nicht weis, wie ich die eintzelnen Datenfelder, beim lesen der Daten trennen kann.
dim a$(3000): dim b$(3000) usw..
open "test.csv" for input as #1
for i = 1 to 3000
input #1, a$(i)
next i
close #1 |
|
Nach oben |
|
 |
Mao
Anmeldungsdatum: 25.09.2005 Beiträge: 4409 Wohnort: /dev/hda1
|
Verfasst am: 24.10.2007, 15:54 Titel: |
|
|
Hast du die Möglichkeit, die Daten mit einem Komma getrennt abzuspeichern? (Also "echte" CSV.)
Dann könntest du so einfach mit INPUT arbeiten, da INPUT beim Eingeben eines Kommas aufhört, die Zeichen zu lesen.
Eine weitere Überlegung:
Musst du unbedingt getrennte Arrays haben, oder tut's nicht auch ein eigener Datentyp á la:
Code: |
Type Datensatz
Kunde As String
Ort As String
' ...
End Type
Dim Daten(3000) As Datensatz
|
Zugreifen könntest du dann bspw. so:
Code: |
Daten(1).Kunde="Emil"
|
_________________ Eine handvoll Glück reicht nie für zwei.
--
 |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 24.10.2007, 16:19 Titel: |
|
|
Speicherung mit Komma als Trennzeichen wäre natürlich das praktischste, ansonsten könntest du den eingelesenen String auch nach den TABs aufsplitten. Mit INSTR kannst du nach dem nächsten TAB-Zeichen suchen. (Sollte CHR(9) sein, oder irre ich mich?) _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
|