Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Datei öffnen. Und die Daten darin Variablen zuweisen

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
cacare



Anmeldungsdatum: 24.10.2007
Beiträge: 4
Wohnort: obertshausen

BeitragVerfasst am: 24.10.2007, 12:56    Titel: Datei öffnen. Und die Daten darin Variablen zuweisen Antworten mit Zitat

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 !! lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 24.10.2007, 13:38    Titel: Antworten mit Zitat

Scheinbar verwendest Du den Open-Befehl falsch. Wenn man Deinen Code sehen könnte, wär das Helfen einfacher. zwinkern
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
cacare



Anmeldungsdatum: 24.10.2007
Beiträge: 4
Wohnort: obertshausen

BeitragVerfasst am: 24.10.2007, 14:24    Titel: Hier mein Code Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Mao



Anmeldungsdatum: 25.09.2005
Beiträge: 4409
Wohnort: /dev/hda1

BeitragVerfasst am: 24.10.2007, 15:54    Titel: Antworten mit Zitat

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. lächeln

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
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 24.10.2007, 16:10    Titel: Antworten mit Zitat

Vielleicht ist an dieser Stelle

http://beilagen.dreael.ch/QB/SPLIT.BAS

hilfreich: split()-Funktion, um eingelesener Zeilen-Records in die Felder teilen können.
_________________
Teste die PC-Sicherheit mit www.sec-check.net
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
nemored



Anmeldungsdatum: 22.02.2007
Beiträge: 4704
Wohnort: ~/

BeitragVerfasst am: 24.10.2007, 16:19    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu QBasic. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
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.

 Impressum :: Datenschutz