Das OFFIZIELLE PROFAN SUPPORT FORUM
Einsteigerfragen
PROFAN-Programmierung
Helfer & Tools
Anregungen & Vorschläge
PROFAN-NEWS
Die Regeln!
1 - Einsteigerfragen

 Neues Thema  |  Zur Übersicht  |  Suchen  |  Einloggen   Vorherige Nachricht  |  Nächste Nachricht 
 Re: CSV Laden
Autor: Heinz Brill (---.dip0.t-ipconnect.de)
Datum:   16.07.16 19:30

In deiner Signatur sehe ich, daß du XProfan Version 10
nutzt. Mit der neuen X3 geht so manches eleganter, z.B.
Move("FileToList",...), wo die Datei in einem Rutsch in die
Listboxliste eingelesen wird.

Aber nun zum Thema :

So eine .csv Datei ist nun einmal etwas starr, was die
Feldnamen betrifft. Man könnte natürlich hingehen und
einen Durchlauf zum Lesen starten. Eine Variable wird
in der Whileschleife bei jedem Lesen um 1 incrementiert.
Somit hätte man schon die Anzahl der Datensätze. Eine
andere Variable zählt bei jedem Datensatz die Kommas.
Wenn mehr Kommas da sind, als schon in der Variablen
stehen, wird die Variable erhöht.

Wenn es keine tausende von Datensätzen sind, könnte
man auch eine Ini-Datei benutzen. Sowas hatte ich auch
schonmal gemacht. Man muß nur als Rubriknamen Zahlen
benutzen, damit man die Datensätze auch später wieder
rausziehen kann. Auch ein bestimmtes Format ist dann
einzuhalten. Also

 [Datensätze]
 Anzahl = 2
 [1]
 Felder = "2"
 Feldnamen = "Name,Vorname"
 Name = "Mustermann"
 Vorname = "Max"
 [2]
 Felder = "3"
 Feldnamen = "Name,Vorname,Beruf"
 Name = "Musterfrau"
 Vorname = "Elsa"
 Beruf = "Hausfrau"
 


Beim Neuanlegen der Inidatei sollte eine solche auch vorhanden sein.
Auch die Rubrik [Datensätze] sollte da sein. Also einfach mit einem
Texteditor folgenden Inhalt als Inidatei speichern :
 [Datensätze]
 Anzahl = 0
 


Wenn man nun als erstes mit ReadIni die Anzahl Datensätze
liest, weiß man genau, wieviel in der Inidatei stehen.
Wenn man einen neuen DS schreibt, wird in der Rubrik [Datensätze]
um 1 erhöht.

Man kann also gut mit einer WhileLoop-Schleife durch die Inidatei iterieren.
Vorsorglich habe ich oben noch Feldnamen eingebaut. Durch Ermittlung
der Felder kann man die Anzahl Felder des jeweiligen Datensatzes
ermitteln. Da die Feldnamen ja auch mitgegeben worden sind, kann
man die Anzahl der ReadIni Operationen genau steuern.
Das Ermitteln der Einträge durch ReadIni kann leicht mit SubStr$()
rausgefiltert werden. Man dimensioniert ein Array mit der Anzahl, die in
Felder steht. In einer Schleife füllt man es dann mit den Feldnamen.
Mit einer weiteren Schleife liest man dann mit ReadIni.

Natürlich müssen die Felder und Feldnamen beim Schreiben
mit Writini mitgegeben werden.

Vielleicht wäre das eine Lösung für dich.

H.Brill
XProfan X4 + FreeProfan

Nachricht bearbeitet (16.07.16 19:53)

 Beitrag beantworten  |  Foren-Liste  |  Alle Antworten   Neuerer Beitrag  |  Älteres Thema 

 Beiträge Autor  Datum
 CSV Laden  Neu
PapaToni 16.07.16 14:32 
 Re: CSV Laden  Neu
Heinz Brill 16.07.16 19:30 


 Foren-Liste  |  Zur Registrierung 
 Benutzerlogin
 Benutzername:
 Passwort:
 Login-Daten speichern:
   
 Passwort vergessen?
E-Mail-Adresse oder Username unten eingeben. Dann wird Dir per e-Mail ein neues Passwort zugeschickt.

phorum.org