CVS-Texteinträge sortieren
- remi_meier
- Beiträge: 1078
- Registriert: 29.08.2004 20:11
- Wohnort: Schweiz
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Wie ist das mit dem Speicher?
> Habe ca. 150 Datensätze a ca. 100 Zeichen pro Zeile!
kannst du selber ausrechnen: 150x100 = 15000 byte = knapp 15KB
bei unicode halt das doppelte...
(ok, es kommen noch die pointer dazu, also +4byte pro feld)
...soviel hauptspeicher solltest du locker erübrigen können...
> Habe ca. 150 Datensätze a ca. 100 Zeichen pro Zeile!
kannst du selber ausrechnen: 150x100 = 15000 byte = knapp 15KB
bei unicode halt das doppelte...
(ok, es kommen noch die pointer dazu, also +4byte pro feld)
...soviel hauptspeicher solltest du locker erübrigen können...

Zuletzt geändert von Kaeru Gaman am 13.10.2006 17:51, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
eine möglichkeit:
structure erstellen, soviele strings, wie dein datensatz felder hat.
array erstellen, eindimensional, so viele zeilen wie die datei datensätze
einlesen:
große schleife
per readstring einen kompletten datensatz einlesen,
per kleine schleife und stringfield aufteilen und in die einzelnen felder in der structure in der aktuellen array-zeile schreiben.
große schleife ende
nach gewünschtem feld sortieren per sortstructuredarray
speichern:
große schleife
kleine schleife, struct-felder zusammenfügen mit kommata dazwischen.
ggf. mit CRLF$ abschließen
per writestring speichern
große schleife ende
und natürlich dateien öffnen/schließen, is kla..
structure erstellen, soviele strings, wie dein datensatz felder hat.
array erstellen, eindimensional, so viele zeilen wie die datei datensätze
einlesen:
große schleife
per readstring einen kompletten datensatz einlesen,
per kleine schleife und stringfield aufteilen und in die einzelnen felder in der structure in der aktuellen array-zeile schreiben.
große schleife ende
nach gewünschtem feld sortieren per sortstructuredarray
speichern:
große schleife
kleine schleife, struct-felder zusammenfügen mit kommata dazwischen.
ggf. mit CRLF$ abschließen
per writestring speichern
große schleife ende
und natürlich dateien öffnen/schließen, is kla..

Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
> Danke Kaeru Gaman,
aber gerne doch.
schön, dass du mit einer solchen anleitung klarkommst.
ich denke, da hast du mehr davon, als wenn jemand kompletten code gepostet hätte.
wenn noch fragen auftauchen, kannste ja wieder posten.
HF
aber gerne doch.

schön, dass du mit einer solchen anleitung klarkommst.
ich denke, da hast du mehr davon, als wenn jemand kompletten code gepostet hätte.
wenn noch fragen auftauchen, kannste ja wieder posten.
HF
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
Oder ODBC
FF 
Code: Alles auswählen
InitDatabase()
datei.s = GetCurrentDirectory() + "Telefon.csv"
If OpenDatabase(0, "Text-Dateien", "", "")
sql.s = "SELECT * FROM " + Datei + " ORDER BY NAMEN"
If DatabaseQuery(0, sql)
While NextDatabaseRow(0)
temp.s = GetDatabaseString(0, 0) + ";"
temp.s + GetDatabaseString(0, 1) + ";"
temp.s + GetDatabaseString(0, 2) + ";"
temp.s + GetDatabaseString(0, 3) + ";"
Debug temp
Wend
Else
Debug DatabaseError()
EndIf
EndIf

Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Ich habe tatsächlich noch eine Frage bzw. neue Idee. Man soll ja nicht doppelte Datenhaltung machen. Wenn ich zwei CSV-Datenbanken habe und in der zweiten für den Namen eine ID benutze, müssen bei einer Anzeige beide syncronisiert werden. Hat einer eine Idee wie man sowas macht?
PB5 / Spiderbasic / WB14 / Win7 / Win8.1 / Win10 / Debian 9