Datenbanken GUI mit PB - Ideen gesucht.....

Für allgemeine Fragen zur Programmierung mit PureBasic.
chris_bdnsee
Beiträge: 10
Registriert: 07.04.2009 15:44

Datenbanken GUI mit PB - Ideen gesucht.....

Beitrag von chris_bdnsee »

Hallo,

ich hab' einen kleineren Durchhänger (nee eigentlich einen großen !) mit PB und suche Anregungen zum Thema Datenbanken.

Ich habe vor einigen Jahren Erfahrung mit Clipper, VFP, VB 5.0 gesammelt und bin jetzt auf Grund von einigen kleinen Projekten wieder beim Programmieren und auch bei PB gelandet. :D

Bei den bisherigen Tools hatte man die Möglichkeit der datengebundenen Gadgets. Für PB habe ich leider auch keine Tools von Drittanbietern gefunden. OK, also dann wieder per Hand.

Und nun kommt mein Durchhänger....viele Wege führen nach Rom, aber welcher ist der mit dem wenigsten Aufwands bei hoher Wiederverwertbarkeit ?

Bislang ist mein Plan die Daten über LinkedList im Progi zu halten und dann die Gadgets anzufüttern. Aber wie die einfachen Funktionen bei der Anzeige von einzelnen Datensätzen wie vorwärts blättern, erster Datensatz anspringen usw. da steh' im Moment auf dem Schlauch.

Ich bin für jede Anregung dankbar.

Ein Ratsuchender..... :?:

Gruß

Christian
Benutzeravatar
Bisonte
Beiträge: 2468
Registriert: 01.04.2007 20:18

Beitrag von Bisonte »

Wenn die DB lokal ist, kannst du immer direkt einlesen und anzeigen... da ist die Zeit des Datenzugriffs nicht so gross.

Bei der Linklist hilft dir evt. die PB-Hilfe (F1) .... NextElement() PreviousElement() usw...

beim suchen muss man allerdings meist immer die ganze liste durchwühlen,
wenn man keinen passenden Algo zur hand hat.
PureBasic 6.21 (Windows x86/x64) | Windows11 Pro x64 | AsRock B850 Steel Legend Wifi | R7 9800x3D | 64GB RAM | GeForce RTX 5080 | ThermaltakeView 270 TG ARGB | build by vannicom​​
chris_bdnsee
Beiträge: 10
Registriert: 07.04.2009 15:44

Beitrag von chris_bdnsee »

Danke für deine schnelle Antwort.....

das ist leider nicht mein "Problem".

Ich hänge eher an dem Punkt:

Du hast mehrere Windows mit einer Menge von string gadgets.
Anstelle jedes dieser Gadgets nun an eine Variable zu knüpfen, ist es mein Ziel über einen Zwischenlayer die Daten bereitzustellen.

Ich mach' mal ein Beispiel:
Window_Adr enthält Gadget string_1 und string_2.
Da ich bislang leider keine Möglichkeit gefunden habe eigene Properties in den Gadgets/Windows zu definieren, muss über eine Tabelle dem Window und dem Gadget das Datenfeld/Tabelle zuordnen. Soweit komme ich klar.

Allerdings hab' ich noch keine Idee wie ich mit diesem Layer "kommunizieren" kann, wie zum Beispiel - gehe eine Datensatz weiter, speichere die aktuelle Änderung. In VB würde ich hierfür mittels RaiseEvent dies im Eventmodell unterbringen, den haben wir nunmal nicht in PB (oder ich mit meinen bisherigen PB Kenntnissen und Fähigkeiten zumindest nicht).....

Vielleicht hat einer von Euch eine zündende Idee für mich !

schönen Sonntag noch.....

Gruß
Christian
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

die meisten SetGadgetDingenskirchen-Kommandos lösen mindestens ein Event aus...

du kannst auch die WM_ Events in deinem Eventloop checken, nicht nur die in PB definierten die CrossPlatform vorhanden sind.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
chris_bdnsee
Beiträge: 10
Registriert: 07.04.2009 15:44

Beitrag von chris_bdnsee »

Sach nur auch anwendungsspezifische Events, also selbst definierte, können gefeuert und in der Windows Message quue abgefragt werden ?
Hast Du für so eine Lösung einen Bsp code ????

Das wäre 'ne Hammerlösung !

Danke

Christian
Benutzeravatar
Falko
Admin
Beiträge: 3535
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.11b1
HP255G8 Notebook @AMD Ryzen 5 5500U with Radeon Graphics 2.10 GHz 3.4GHz, 32GB_RAM, 3TB_SSD (Win11 Pro 64-Bit)
Kontaktdaten:

Beitrag von Falko »

Ich weiß jetzt nicht genau was RaiseEvents sind, aber vielleicht könnte das
Beispiel Dir von Kiffi hier weiter helfen.

http://www.purearea.net/pb/CodeArchiv/I ... seEvent.pb

Gruß Falko
Bild
Win11 Pro 64-Bit, PB_6.11b1
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Oder ohne API:

Code: Alles auswählen

Import ""
  PB_Gadget_SendGadgetCommand(hWnd, EventType)
EndImport

OpenWindow(0, #PB_Ignore, #PB_Ignore, 640, 480, "void", #PB_Window_SystemMenu)

ButtonGadget(0, 10, 10, 200, 30, "Ich zeige den Debug")
DisableGadget(0, #True)
ButtonGadget(1, 10, 50, 200, 30, "Ich löse das Ereignis aus")

Repeat
  Select WaitWindowEvent()
    Case #PB_Event_CloseWindow : Break
    Case #PB_Event_Gadget
      Select EventGadget()
        Case 0
          Debug "Hallo"
        Case 1
          PB_Gadget_SendGadgetCommand(GadgetID(0), #PB_EventType_LeftClick)
      EndSelect
  EndSelect
ForEver
Das Ereignis für Button 0 wird durch Button 1 ausgelöst, Button 0 selber
kann ja keins auslösen, da disabled :mrgreen:
So kann man also diverse Gadget-Ereignisse simulieren.

Gruß
Thomas
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
chris_bdnsee
Beiträge: 10
Registriert: 07.04.2009 15:44

Beitrag von chris_bdnsee »

Danke an alle,

das hilft mir weiter.....

Gruß

Christian
Antworten