Seite 2 von 2

Re: Tabelle

Verfasst: 24.05.2024 15:13
von NicTheQuick
Das klingt so als ob Unicode-Strings wie Ascii interpretiert werden. Dann hört es nämlich in der Tat nach dem ersten Zeichen auf.
Aber das ist nur eine Idee. Ich kenne die Bibliothek nicht und habe auch kein Windows um das zu testen.

Tabelle

Verfasst: 24.05.2024 15:16
von PIC18F2550
Hallo Marcos,
hab mir gerade die Doku mir geholt.
Sieht alles gut aus.

Danke

Re: Tabelle

Verfasst: 24.05.2024 16:58
von H.Brill
Ist schon einige Jahre her, als ich die LISTVIEW.DLL mit PB getestet hatte.
Da scheint sich irgend etwas bei PB intern geändert zu haben.
Muß ich mal schauen. Am besten nehme ich ein Stück Memory,
in das ich die Strings kopiere und es übergebe.

Sorry für den nicht laufenden Code.

Re: Tabelle

Verfasst: 24.05.2024 17:49
von PIC18F2550
Kein Problem das ist vollkommen Normal.
Dann gibt es schonmal einen Test unter W10 mit PB in 32Bit. :mrgreen:

Re: Tabelle

Verfasst: 25.05.2024 12:27
von mk-soft
Statt mit DLL gibt es auch sehr gute PB-Codes für GridGadgets.

Link: https://www.purebasic.fr/english/viewto ... 94#p601094
oder suchen mit https://www.purebasic.fr/english/search ... gridgadget

Re: Tabelle

Verfasst: 25.05.2024 14:23
von H.Brill
Dann machen wir doch mal was einfaches :

Code: Alles auswählen

If OpenWindow(0, 100, 100, 600, 300, "Mein Grid", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ButtonGadget(1, 10, 10, 60, 25, "Fülle")
   ListIconGadget(2, 5, 80, 400, 200, "Uhrzeit", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines) ; erste Spalte wird schon beim Erstellen des Gridgadget erstelllt.
   AddGadgetColumn(2, 1, "Drehzahl", 150)
   AddGadgetColumn(2, 2, "Watt", 200)
  
   Repeat
     Event = WaitWindowEvent()
     If Event = #PB_Event_Gadget
        Select EventGadget()
              Case 1 
               ; Button gedrückt
               uhrzeit.s = FormatDate("%hh:%ii:%ss", Date())
               drehzahl.s = Str(Random(8000, 2000))
               watt.s = Str(Random(1000, 0))
               AddGadgetItem(2, -1, uhrzeit + Chr(10) + drehzahl + Chr(10) + watt)
               SetGadgetItemState(2, CountGadgetItems(2)- 1 ,#PB_ListIcon_Selected)
       EndSelect
     EndIf  
   Until Event = #PB_Event_CloseWindow
 EndIf
 
Drehzahl und Watt könnten z.b. von irgendwelchen Sensoren kommen oder in einer Datei
gespeichert sein. Soll jetzt nur mal was logisches sein.

Re: Tabelle

Verfasst: 25.05.2024 21:27
von PIC18F2550
Ich binn gerade am PB.Ex_GridGadget und überlege wie ich da einen Event erhalten kann.
Ich habe in der Doku nichts dazu gefunden.
Ich brauche die Zeile und Spalte die angeklickt wurden.

Danke

Re: Tabelle

Verfasst: 27.05.2024 10:59
von PIC18F2550
Es gibt wohl keine möglichkeit einen Event mit B.Ex GridGadget zu erzeugen das ist schade.
Eine Abfrage im Polling mit Zeile = GetGridGadgetState(#Grid, @ErrorOutput$) sehe ich nicht als zielführend.

Re: Tabelle

Verfasst: 27.05.2024 11:11
von PIC18F2550
H.Brill hat geschrieben: 25.05.2024 14:23 Dann machen wir doch mal was einfaches :

Code: Alles auswählen

If OpenWindow(0, 100, 100, 600, 300, "Mein Grid", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
   ButtonGadget(1, 10, 10, 60, 25, "Fülle")
   ListIconGadget(2, 5, 80, 400, 200, "Uhrzeit", 100, #PB_ListIcon_FullRowSelect | #PB_ListIcon_AlwaysShowSelection | #PB_ListIcon_GridLines) ; erste Spalte wird schon beim Erstellen des Gridgadget erstelllt.
   AddGadgetColumn(2, 1, "Drehzahl", 150)
   AddGadgetColumn(2, 2, "Watt", 200)
  
   Repeat
     Event = WaitWindowEvent()
     If Event = #PB_Event_Gadget
        Select EventGadget()
              Case 1 
               ; Button gedrückt
               uhrzeit.s = FormatDate("%hh:%ii:%ss", Date())
               drehzahl.s = Str(Random(8000, 2000))
               watt.s = Str(Random(1000, 0))
               AddGadgetItem(2, -1, uhrzeit + Chr(10) + drehzahl + Chr(10) + watt)
               SetGadgetItemState(2, CountGadgetItems(2)- 1 ,#PB_ListIcon_Selected)
       EndSelect
     EndIf  
   Until Event = #PB_Event_CloseWindow
 EndIf
 
Drehzahl und Watt könnten z.b. von irgendwelchen Sensoren kommen oder in einer Datei
gespeichert sein. Soll jetzt nur mal was logisches sein.
Zwischen spaltenüberschrift und 1. Datenzeile fehlt die Linie, das irritiert etwas.
Ich wollte die Kopfspalte in einer anderen Farbe etwas abheben, dafür scheint es auch keine funktion zu geben.

Ich hoffe das ich mich die Letzten zwei tage einfach nur zu blöd angestellt habe. :cry: