Gadgets - verfügbare Anschlüsse anzeigen
Gadgets - verfügbare Anschlüsse anzeigen
Guten Tag allerseits,
ich als blutige Anfängerin in der Programmiererei hab mir gedacht, PureBasic könnte "meins" sein. Sieht auch eindeutig so aus, und es macht viel Spaß.
Gleich bei der ersten Aufgabe bin ich nun auf folgendes Problem gestoßen:
Ich möchte in meinem Fenster die auf dem Rechner verfügbaren COM-Anschlüsse anzeigen, um sie dem Anwender später zur Auswahl zur Verfügung zu stellen.
Ich kann nun einfach nicht herausbekommen, wie ich das Gadget anlegen muss, damit ich die Anschlüsse zusehen bekomme, die im Geräte-Manager verfügbar sind...
Kann mir hier bitte jemand helfen? Vielen Dank schon im Voraus.
Gruss - Doris
ich als blutige Anfängerin in der Programmiererei hab mir gedacht, PureBasic könnte "meins" sein. Sieht auch eindeutig so aus, und es macht viel Spaß.
Gleich bei der ersten Aufgabe bin ich nun auf folgendes Problem gestoßen:
Ich möchte in meinem Fenster die auf dem Rechner verfügbaren COM-Anschlüsse anzeigen, um sie dem Anwender später zur Auswahl zur Verfügung zu stellen.
Ich kann nun einfach nicht herausbekommen, wie ich das Gadget anlegen muss, damit ich die Anschlüsse zusehen bekomme, die im Geräte-Manager verfügbar sind...
Kann mir hier bitte jemand helfen? Vielen Dank schon im Voraus.
Gruss - Doris
Hi auch..
in etwas so
ich mach das gleich auch mal mit Gadgets .. momang ..VisualDesigner anwerfen .. Gerüst basteln .. Datenabfrage in der PBIDE integrieren.
Ich finde zwar OpenComPort() nicht in der Dokumentation .. es geht
aber trotzdem
Ansonsten guck auch mal ins Codearchiv auf purearea.net
und bemüh die Forensuche
in etwas so
Code: Alles auswählen
; Debugger Anmachen !!
For i=1 To 100
If OpenComPort(0,"Com"+Str(i)+":")
Debug "Com"+Str(i)+": ist vorhanden"
EndIf
Next i
End
Ich finde zwar OpenComPort() nicht in der Dokumentation .. es geht
aber trotzdem
Ansonsten guck auch mal ins Codearchiv auf purearea.net
und bemüh die Forensuche
Zuletzt geändert von bobobo am 26.10.2006 12:55, insgesamt 1-mal geändert.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Möchtest du wissen, wie man Gadgets erstellt?
Dann musst du zunächst ein Fenster öffnen:Sobald du dieses Fenster erstellt hast, erstellst du eine Gadgetliste. Dazu gibt es den fehel CreateGadgetList(), und der geht so: DU setzt einfach das handle des Windows, zu dem die folgenden Gadgets erstelt werden sollen, in die Klammer ein:Nun kannst du alle gadgets erstelen, die du möchtest. Beispielsweise einen Button für jeden COM-Anschluss.Alles klar? 
Dann musst du zunächst ein Fenster öffnen:
Code: Alles auswählen
OpenWindow(0, 0, 0, 800, 600, "COM-Anschlüsse")
Code: Alles auswählen
CreateGadgetList(WindowID(0))
Code: Alles auswählen
ButtonGadget(0, 5, 5, 200, 30, "COM 1")
ButtonGadget(1, 5, 5, 200, 30, "COM 2")
ButtonGadget(2, 5, 5, 200, 30, "COM 3")

PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
Vielen Dank erstmal, dass man hier so schnell Antwort bekommt.
Meine ersten Gadgets stehen schon, ich bin begeistert.
Aber das Problem ist, dass ich nicht weiss, welche Com-Ports der Anwender des Programms auf seinem Rechner hat und ich möchte nur die anzeigen, die auch vorhanden sind.
Dazu müsste ich vermutlich den Gerätemanager "lesen", um das herauszufinden...aber wie?
Gruss - Doris
Meine ersten Gadgets stehen schon, ich bin begeistert.
Aber das Problem ist, dass ich nicht weiss, welche Com-Ports der Anwender des Programms auf seinem Rechner hat und ich möchte nur die anzeigen, die auch vorhanden sind.
Dazu müsste ich vermutlich den Gerätemanager "lesen", um das herauszufinden...aber wie?
Gruss - Doris
Comportsauswahl per OpenComPort in Comboboxauswahl zum auswählen
für PB 4
für PB 4
Code: Alles auswählen
Enumeration
#Window_0
#Combo_0
#Button_0
#Button_1
#Button_2
#Text_0
EndEnumeration
If OpenWindow(#Window_0, 216, 0, 380, 159, "Portauswahl", #PB_Window_SystemMenu | #PB_Window_SizeGadget | #PB_Window_TitleBar )
If CreateGadgetList(WindowID(#Window_0))
ComboBoxGadget(#Combo_0, 10, 30, 130, 200, #PB_ComboBox_UpperCase)
ButtonGadget(#Button_0, 240, 30, 90, 20, "ok")
ButtonGadget(#Button_1, 240, 60, 90, 20, "ko")
ButtonGadget(#Button_2, 240, 90, 90, 20, "¿?")
TextGadget(#Text_0, 10, 10, 190, 20, "Wähle den Port")
EndIf
EndIf
For i=1 To 100 ; ist vielleicht etwas viel , aber man kann ja nie wissen
If ReadFile(0,"Com"+Str(i)+":") ;liefert was zurück wenn der Port verfügbar ist
AddGadgetItem(#Combo_0,-1,"Com"+Str(i)+":")
CloseFile(0) ; Comport wieder zu
EndIf
Next i
SetGadgetState(#Combo_0,0)
Repeat
Event = WaitWindowEvent()
WindowID = EventWindow()
GadgetID = EventGadget()
EventType = EventType()
If Event = #PB_Event_Gadget
If GadgetID = #Combo_0
ElseIf GadgetID = #Button_0
SetGadgetText(#TExt_0,"Na gut ..meinetwegen "+GetGadgetText(#Combo_0))
DisableGadget(#Button_0,1)
Delay(1000)
DisableGadget(#Button_0,0)
SetGadgetText(#TExt_0,"Wähle den Port")
ElseIf GadgetID = #Button_1
End
ElseIf GadgetID = #Button_2
MessageRequester("AHA","Das Zeichen ¿ erhälst Du, wenn Du ALT drückst und dann 0191 eingibst",#MB_ICONEXCLAMATION)
EndIf
EndIf
Until Event = #PB_Event_CloseWindow
End
Zuletzt geändert von bobobo am 26.10.2006 16:36, insgesamt 2-mal geändert.
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
OpenComPort funktioniert wohl wie OpenFile
um einen Port zu schließen sollte ein Closefile() ausreichen
hier die geänderte CommPortAuswahlSchleife
hab ich oben auch mit eingetragen
um einen Port zu schließen sollte ein Closefile() ausreichen
hier die geänderte CommPortAuswahlSchleife
Code: Alles auswählen
For i=1 To 100
If OpenComPort(0,"Com"+Str(i)+":")
AddGadgetItem(#Combo_0,-1,"Com"+Str(i)+":")
CloseFile(0)
EndIf
Next i
pb aktuel 6.2 windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Vielen Dank nochmal, bobobo,
ich hab das jetzt so ausprobiert, aber aus irgendeinem Grund findet das Programm dann beim Ablauf nicht die COM-Ports, die wirklich vorhanden sind, sondern es fängt erst bei COM3 an, obwohl COM1 vorhanden ist und es listet auch solche COM-Ports auf, die gar nicht da sind (geht z.B. bis COM9)
Jetzt bin ich baff...und gespannt, ob hier jemand eine Idee hat.
Gruss - Doris
ich hab das jetzt so ausprobiert, aber aus irgendeinem Grund findet das Programm dann beim Ablauf nicht die COM-Ports, die wirklich vorhanden sind, sondern es fängt erst bei COM3 an, obwohl COM1 vorhanden ist und es listet auch solche COM-Ports auf, die gar nicht da sind (geht z.B. bis COM9)
Jetzt bin ich baff...und gespannt, ob hier jemand eine Idee hat.
Gruss - Doris