Listendarstellung

Anfängerfragen zum Programmieren mit PureBasic.
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Listendarstellung

Beitrag von Wolfvater Loki »

Ich möchte mit einem ListIconGadget eine Tabelle anzeigen lassen, die ich in einer Datenbank gespeichert habe. Alles ist fertig und trotzdem zeigt mir dieser Gadget nichts an.

Code: Alles auswählen

UseSQLiteDatabase()
OpenDatabase(0,"Karten.db","","")

OpenWindow(1,0,0,1100,600,"",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
ListIconGadget(1,5,5,1090,500,"Kartenname",100,#PB_ListIcon_FullRowSelect)
AddGadgetColumn(1,1,"Kartentyp",80)
AddGadgetColumn(1,2,"Kategorie",100)
AddGadgetColumn(1,3,"Typ",100)
AddGadgetColumn(1,4,"Fähigkeit",100)
AddGadgetColumn(1,5,"Attribut",100)
AddGadgetColumn(1,6,"Level/Rang/Link",100)
AddGadgetColumn(1,7,"ATK",60)
AddGadgetColumn(1,8,"DEF",60)
AddGadgetColumn(1,9,"Pendelskala",100)
AddGadgetColumn(1,10,"Erlaubt",60)
AddGadgetColumn(1,11,"Internetlink",100)
ButtonGadget(2,10,515,100,20,"")
Repeat
  event = WaitWindowEvent()
  If event = #PB_Event_Gadget
    Select EventGadget()
      Case 2
        sql$ = "SELECT * FROM YGO_Kartensammlung;"
        If DatabaseQuery(0,sql$)
          auswerten = Val(sql$)
          For i = 1 To 11
            SetGadgetItemData(1,auswerten,i)
          Next
        EndIf
    EndSelect
  EndIf
Until event = #PB_Event_CloseWindow
CloseDatabase(0)
End
Ich hoffe einer kann mir bei diesem Problem helfen.
MfG
Wolfvater Loki
Wolfvater Loki
Er wünscht euch schöne Grüße.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Listendarstellung

Beitrag von Kiffi »

OpenDatabase() versucht mit Sicherheit, Deine Datenbank im Temp-Ordner zu öffnen (dort, wo PB in aller Regel den Code kompiliert und ausführt). Liegt dort die Karten.db (und ist größer als 0 Bytes)? Wenn nicht, dann aktiviere in den Compiler-Optionen die Checkbox "Temporäre Executable im Quellcode-Verzeichnis erstellen" (ich nehme an, dort liegt Deine Datenbank).

Du solltest auch immer den Rückgabewert von OpenDatabase() prüfen.
a²+b²=mc²
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Re: Listendarstellung

Beitrag von Wolfvater Loki »

Beide Dateien liegen aber im selben Ordner. Ist das egal? Also ich meine, ob die Dateien im selben Ordner sind.
Wolfvater Loki
Er wünscht euch schöne Grüße.
Benutzeravatar
Kiffi
Beiträge: 10714
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Listendarstellung

Beitrag von Kiffi »

Wie schon geschrieben: Wenn Du Deinen Code startest, dann kompiliert ihn PB defaultmäßig in den Temp-Ordner und führt ihn dort aus. Dort sucht Dein Programm die Datenbank. Deine Datenbank liegt aber dort, wo Deine PB-Datei liegt (wenn mich meine Glaskugel nicht irreführt). Aktiviere in den Compiler-Optionen die Checkbox "Temporäre Executable im Quellcode-Verzeichnis erstellen".
a²+b²=mc²
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Re: Listendarstellung

Beitrag von Wolfvater Loki »

Ich hab's mal probiert. Geht immer noch nicht.
Wolfvater Loki
Er wünscht euch schöne Grüße.
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Listendarstellung

Beitrag von jacdelad »

Der Code funktioniert nicht, du musst neue Zeilen im ListIconGadget mit AddGadgetItem() hinzufügen. Und deine Auswertung der Datenbankeinträge ist auch falsch, du benötigst eine Schleife (siehe Hilfedatei) mit NextDatabaseEntry().
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Re: Listendarstellung

Beitrag von Wolfvater Loki »

Meinst du NextDatabaseRow()?
Wolfvater Loki
Er wünscht euch schöne Grüße.
Benutzeravatar
jacdelad
Beiträge: 404
Registriert: 03.02.2021 13:39
Wohnort: Riesa
Kontaktdaten:

Re: Listendarstellung

Beitrag von jacdelad »

Äh ja, natürlich. Sorry.
Guten Morgen, das ist ein schöner Tnetennba!

PureBasic 6.21/Windows 11 x64/Ryzen 7900X/32GB RAM/3 TB SSD
Synology DS1821+/DX517, 130.9TB+50.8TB+2TB SSD
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Re: Listendarstellung

Beitrag von Wolfvater Loki »

Das mit der Verwechslung ist nicht schlimm.
Danke für den Tipp mit der Schleife. Jetzt brauche ich nur noch etwas Hilfe beim Text darstellen.
Wolfvater Loki
Er wünscht euch schöne Grüße.
Wolfvater Loki
Beiträge: 53
Registriert: 22.05.2022 15:37

Re: Listendarstellung

Beitrag von Wolfvater Loki »

Und nochmal eine kurze Frage: Kann man bei den AddGadgetColumn()-Befehl, der ja neue Spalten erstellt, das auch mit der Datenbank verbinden?
Wolfvater Loki
Er wünscht euch schöne Grüße.
Antworten