Seite 2 von 2

Verfasst: 01.04.2006 10:28
von Macros
Statt 1 kannst du natürlich auch wieder eine hohe Zahl einsetzen.
Ich weis jetzt nicht, ob #PB_Any mit Shortcuts funktioniert.

Verfasst: 01.04.2006 12:15
von ts-soft
>> 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.

Verfasst: 01.04.2006 15:30
von Scarabol
Könntet ihr meine Fragen nicht direkt mit Nein/Ja beantworten?

Währe echt nett
Scarabol

Verfasst: 01.04.2006 16:02
von Kiffi
Scarabol hat geschrieben:Könntet ihr meine Fragen nicht direkt mit Nein/Ja beantworten?
Ja

Verfasst: 01.04.2006 19:44
von AND51
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)
hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.

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"...

Verfasst: 02.04.2006 00:09
von ts-soft
AND51 hat geschrieben: hier hat Macros nicht ganz unrecht; fenster und gadgets mit derselben ID überschreiben sich, den fehler habe ich auch schn gemacht.
So so, wenn ich es nicht dynamisch benötige, fange ich meine Fenster mit 0
an, und die Gadgets auch mit 0, meist hab ich soviele Überschneidungen wie
Fenster :lol:

Hab ich was verkehrt verstanden oder spieltste 1.April :freak:

Verfasst: 02.04.2006 13:38
von Scarabol
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.

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
Kann man den RemoveKeyboardshortcut nicht weglassen wenn das Fenster sowieso geschlossen wird?

Gruß
Scarabol

Verfasst: 02.04.2006 13:42
von ts-soft
>> Kann man den RemoveKeyboardshortcut nicht weglassen wenn das Fenster sowieso geschlossen wird?
Ja

Verfasst: 02.04.2006 17:34
von rob6523
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