PasswortRequester
- 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
>> Ich weis jetzt nicht, ob #PB_Any mit Shortcuts funktioniert.
Nein, Shortcuts, MenuID, ToolBarButton sind keine Objekte, also kein
#PB_Any, sondern einen positiven Wert ab 0 bis ca 32767 bzw. inzwischen
glaube ich, alles pos. im Longbereich.
Nein, Shortcuts, MenuID, ToolBarButton sind keine Objekte, also kein
#PB_Any, sondern einen positiven Wert ab 0 bis ca 32767 bzw. inzwischen
glaube ich, alles pos. im Longbereich.
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.Macros hat geschrieben:Und dem Fenster eine Numer wie z.B. 997 geben,
sonst "überschreibt" es eventuell ein vorher geöffnetes Fenster, genauso bei den Gadgets, hohe Zahlen vergeben.
Auch den Shortcut nicht vergessen. (Der übrigens durchaus Sinn hat)
wenn man den passwort requester in eine procedure packt und universell nutzen will, würde ich auf #PB_Any umsatteln. Ist am "kugelsichersten", um es mal mit der PB-Hilfe deutlich zu machen

wollte auch noch mal meinen senf dazu geben, oder wie man ja neuerdings auch sagt: "meine 2 cents"...
PB 4.30
Code: Alles auswählen
Macro Happy
;-)
EndMacro
Happy End
- 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
So so, wenn ich es nicht dynamisch benötige, fange ich meine Fenster mit 0AND51 hat geschrieben: hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.
an, und die Gadgets auch mit 0, meist hab ich soviele Überschneidungen wie
Fenster

Hab ich was verkehrt verstanden oder spieltste 1.April

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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Hier nochmals der überarbeitete Code er sollte jetzt ohne Beeinflussung auf anderes unabhänig laufen, währe schön wenn ihr das mal testen könntet und bei Fehlern eventuell bescheidsagen würdet.
Kann man den RemoveKeyboardshortcut nicht weglassen wenn das Fenster sowieso geschlossen wird?
Gruß
Scarabol
Code: Alles auswählen
Procedure$ PasswordRequester(Title$, Text$)
WindowID = OpenWindow(#PB_Any, 1, 1, 294, 98, #PB_Window_ScreenCentered, Title$)
If WindowID
MenuID = 1
AddKeyboardShortcut(WindowID, #PB_Shortcut_Return, 1)
CreateGadgetList(WindowID(WindowID))
TextGadget = TextGadget(#PB_Any, 10, 10, 280, 20, Text$)
StringGadget = StringGadget(#PB_Any, 10, 32, 274, 21, "", #PB_String_Password)
ActivateGadget(StringGadget)
ButtonGadget = ButtonGadget(#PB_Any, 107, 68, 80, 25, "Ok", #PB_Text_Center)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
If EventGadgetID() = ButtonGadget
Break
EndIf
ElseIf EventID = #PB_Event_Menu
If EventMenuID() = MenuID
Break
EndIf
EndIf
ForEver
RemoveKeyboardShortcut(WindowID, MenuID)
Password$ = GetGadgetText(StringGadget)
CloseWindow(WindowID)
ProcedureReturn Password$
EndIf
EndProcedure
pass$ = PasswordRequester("Test", "Bitte geben sie ihr Passwort ein:")
If pass$ <> ""
MessageRequester("Info", pass$)
EndIf
Gruß
Scarabol
Abgeschlossen Projekte:
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
Schreibmaschine, Bildschirmlupe, Wings3DtoOgreMeshConverter
Watch: PureArea
PB-V: 4
WinXP
- 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
>> Kann man den RemoveKeyboardshortcut nicht weglassen wenn das Fenster sowieso geschlossen wird?
Ja
Ja
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.

Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.

Hier die PB 4.0 code:
Code: Alles auswählen
Procedure$ PasswordRequester(Title$, Text$)
WindowID = OpenWindow(#PB_Any, 1, 1, 294, 98, Title$, #PB_Window_ScreenCentered)
If WindowID
MenuID = 1
AddKeyboardShortcut(WindowID, #PB_Shortcut_Return, 1)
CreateGadgetList(WindowID(WindowID))
TextGadget = TextGadget(#PB_Any, 10, 10, 280, 20, Text$)
StringGadget = StringGadget(#PB_Any, 10, 32, 274, 21, "", #PB_String_Password)
SetActiveGadget(StringGadget)
ButtonGadget = ButtonGadget(#PB_Any, 107, 68, 80, 25, "Ok", #PB_Text_Center)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_Gadget
If EventGadget() = ButtonGadget
Break
EndIf
ElseIf EventID = #PB_Event_Menu
If EventMenu() = MenuID
Break
EndIf
EndIf
ForEver
RemoveKeyboardShortcut(WindowID, MenuID)
Password$ = GetGadgetText(StringGadget)
CloseWindow(WindowID)
ProcedureReturn Password$
EndIf
EndProcedure
pass$ = PasswordRequester("Test", "Bitte geben sie ihr Passwort ein:")
If pass$ <> ""
MessageRequester("Info", pass$)
EndIf