Listendarstellung

Anfängerfragen zum Programmieren mit PureBasic.
Wolfvater Loki
Beiträge: 52
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: 10621
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.
Hygge
Wolfvater Loki
Beiträge: 52
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: 10621
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".
Hygge
Wolfvater Loki
Beiträge: 52
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: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
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().
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Wolfvater Loki
Beiträge: 52
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: 341
Registriert: 03.02.2021 13:39
Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
Wohnort: Riesa
Kontaktdaten:

Re: Listendarstellung

Beitrag von jacdelad »

Äh ja, natürlich. Sorry.
PureBasic 6.04/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/130TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Wolfvater Loki
Beiträge: 52
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: 52
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