Seite 1 von 1
[Erledigt] CSV Datei erstellen
Verfasst: 11.03.2012 16:28
von Pure_Beginner
Hallo zusammen,
hab mal wieder ein Problem mit Tabellen.
Das ListIconGadget das ich erstellt habe möchte ich als .csv Datei speichern und auch wieder einlesen können.
Hab schon gestöbert, finde aber keinen Ansatz.
Hat jemand Ahnung wie das geht oder wo das steht ?
Für eure Hilfe wäre ich Dankbar.
Re: CSV Datei erstellen
Verfasst: 11.03.2012 16:37
von RSBasic
Ist doch eigentlich ganz einfach.
Du machst eine Schleife für alle Zeilen und Spalten und speicherst jede Zelle in der Datei ab, so dass es etwa so aussieht:
Code: Alles auswählen
E1S1;EIS2;E1S3
E2S1;E2S2;E2S3
E3S1;E3S2;E3S3
E4S1;E4S2;E4S3
51S1;E5S2;51S3
(E = Eintrag, S = Spalte)
Und beim Einlesen etwa so:
Code: Alles auswählen
ReadFileString$ = ReadString(...)
Column1$ = StringField(ReadFileString$,1,";")
Column2$ = StringField(ReadFileString$,1,";")
Column3$ = StringField(ReadFileString$,1,";")
addgadgetitem(#Gadget, -1, Column1$+chr(10)+Column2$+chr(10)+Column3$)
PS: Ist kein lauffähiger Code. Müsste aber kein Problem sein, es umzusetzen.
Re: CSV Datei erstellen
Verfasst: 11.03.2012 16:43
von Pure_Beginner
Hallo RSBasic,
Besten Dank für deine schnelle Antwort.
Leider bin ich ziemlicher Anfänger und etwas durch VB verdorben (Verwöhnt).
Könntest du mir etwas genauer beschreiben wie das Speichern funktioniert oder einen Link mit Beispiel nennen.
Erstmal Danke für deine Mühe.
Re: CSV Datei erstellen
Verfasst: 11.03.2012 16:56
von RSBasic
Code: Alles auswählen
EnableExplicit
Define EventID
Define a
Procedure SaveItems()
Protected a
Protected TotalItems
TotalItems = CountGadgetItems(1)
If CreateFile(1,GetTemporaryDirectory()+"OwnCSV.csv")
For a=0 To TotalItems-1
WriteStringN(1,GetGadgetItemText(1,a,0)+";"+GetGadgetItemText(1,a,1)+";"+GetGadgetItemText(1,a,2))
Next
CloseFile(1)
EndIf
RunProgram(GetTemporaryDirectory()+"OwnCSV.csv")
EndProcedure
Procedure LoadItems()
Protected ReadFileString$
Protected Column1$
Protected Column2$
Protected Column3$
If ReadFile(1,GetTemporaryDirectory()+"OwnCSV.csv")
While Eof(1)=0
ReadFileString$ = ReadString(1,0)
Column1$ = StringField(ReadFileString$,1,";")
Column2$ = StringField(ReadFileString$,2,";")
Column3$ = StringField(ReadFileString$,3,";")
AddGadgetItem(1,-1,Column1$+Chr(10)+Column2$+Chr(10)+Column3$)
Wend
CloseFile(1)
EndIf
EndProcedure
If OpenWindow(0,0,0,640,400,"Window",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,10,10,WindowWidth(0)-20,WindowHeight(0)-50,"Spalte 1",200,0)
AddGadgetColumn(1,1,"Spalte 2",200)
AddGadgetColumn(1,2,"Spalte 3",200)
ButtonGadget(2,WindowWidth(0)-630,WindowHeight(0)-30,200,20,"1. CSV-Datei erstellen",0)
ButtonGadget(3,WindowWidth(0)-420,WindowHeight(0)-30,200,20,"2. ListIconGadget leeren",0)
ButtonGadget(4,WindowWidth(0)-210,WindowHeight(0)-30,200,20,"3. CSV-Datei laden",0)
For a=1 To 10
AddGadgetItem(1,-1,"Eintrag A"+Str(a)+Chr(10)+"Eintrag B"+Str(a)+Chr(10)+"Eintrag C"+Str(a),0,0)
Next
Repeat
EventID=WaitWindowEvent()
If EventID=#PB_Event_Gadget
Select EventGadget()
Case 2
SaveItems()
Case 3
ClearGadgetItems(1)
Case 4
LoadItems()
EndSelect
EndIf
If EventID = #PB_Event_CloseWindow
End
EndIf
ForEver
EndIf
Re: CSV Datei erstellen
Verfasst: 11.03.2012 17:07
von Pure_Beginner
Hallo RSBasic,
danke für die schnelle Hilfe,
werde mich gleich drüber hermachen.
Grüße
Pure_Beginner