Bin neu hier und versuche mich in PB einzuarbeiten. Ja auch generell in die Programmierung. So soll mein Test-Programm eine kleine CD-Verwaltung sein. Da lerne ich auch gleich mit Datenbanken umzugehen, jetzt erstmal mit SQLite. Ein paar Erfahrungen mit PHP und MySQL habe ich.
Auch wenn es viel ist, poste ich mal meinen Code hier und verweise mal auf die kleine DB.
http://www.dunkelland.de/pb/musiclist.sqlite
Code: Alles auswählen
;{- Enumerations / DataSections
;{ Windows
Global Window_Main
;}
;{ Status bars
Global StatusBar_Window_Main
;}
;{ Gadgets
Global Frame3D_5
Global Tree_6
Global ListView_7
;}
;}
UseSQLiteDatabase()
;DatabaseFile$ = "E:\Daten\PureBasic\Projekte\Musiklist\musiclist.sqlite"
DatabaseFile$ = GetCurrentDirectory()+"\Musiklist\musiclist.sqlite"
;Debug DatabaseFile$
;Debug GetCurrentDirectory()
Procedure OpenWindow_Window_Main()
Window_Main = OpenWindow(#PB_Any, 450, 200, 612, 429, "Musikverwaltung", #PB_Window_SystemMenu|#PB_Window_SizeGadget|#PB_Window_MinimizeGadget|#PB_Window_TitleBar|#PB_Window_ScreenCentered)
If Window_Main
StatusBar_Window_Main = CreateStatusBar(#PB_Any, WindowID(Window_Main))
If StatusBar_Window_Main
AddStatusBarField(200)
AddStatusBarField(200)
EndIf
Frame3D_5 = Frame3DGadget(#PB_Any, 210, 15, 390, 380, "")
Tree_6 = TreeGadget(#PB_Any, 15, 20, 180, 375, #PB_Tree_AlwaysShowSelection)
ListView_7 = ListViewGadget(#PB_Any, 240, 65, 155, 115)
EndIf
EndProcedure
OpenWindow_Window_Main()
If OpenDatabase(0, DatabaseFile$, "", "")
StatusBarText(StatusBar_Window_Main, 0, "DB geladen")
If DatabaseQuery(0, "SELECT * FROM alben")
While NextDatabaseRow(0) ; alle Einträge durchlaufen
;Debug GetDatabaseString(0, 0) ; Inhalt vom ersten Feld anzeigen
AddGadgetItem (Tree_6, -1, GetDatabaseString(0, 6), 0, 0)
AddGadgetItem (ListView_7, -1, GetDatabaseString(0, 1))
Wend
FinishDatabaseQuery(0)
Else
MessageRequester("Fehler", "Kann die folgende Abfrage nicht ausführen: "+DatabaseError())
EndIf
CloseDatabase(0)
Else
StatusBarText(StatusBar_Window_Main, 0, "DB nicht geladen")
EndIf
;{- Event loop
Repeat
Select WaitWindowEvent()
; ///////////////////
Case #PB_Event_Gadget
Select EventGadget()
Case Frame3D_5
Case Tree_6
Case ListView_7
EndSelect
; ////////////////////////
Case #PB_Event_CloseWindow
Select EventWindow()
Case Window_Main
CloseWindow(Window_Main)
Window_Main = 0
Break
EndSelect
EndSelect
ForEver
;
;}
Wird mich freuen, wenn mal jemand sich der Sache annehmen würde und mir den einen oder anderen Tipp geben könnte.
Ruun