Ich sehe gerade, er hat ja nur einen Button, dann sollte er den Shortcut benutzen
fließkommazahl in zeitangabe umwandel?
- 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
Ja, dann bekommt es einen dickeren Rahmen 
Ich sehe gerade, er hat ja nur einen Button, dann sollte er den Shortcut benutzen
Ich sehe gerade, er hat ja nur einen Button, dann sollte er den Shortcut benutzen
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.

-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
- 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
Weil der Button unter Windows nur durch die Leertaste ausgelöst wird, wenn er den Fokus hat. Nur Dialoge (Requester) verhalten sich anders.
Und wieso ist da kein Löffel?
Und wieso ist da kein Löffel?
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.

-
Kaeru Gaman
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ich verstehs immer noch nicht...
meinst du, wenn ich den button aus default setze, dann bekommt er nur nen dickeren rahmen, wird aber nicht durch return ausgelöst?
...das kenn ich aber anders...
-----
versuch nicht, den löffel zu verbiegen, das ist nämlich nicht möglich.
stell dir einfach die wahrheit vor, und du wirst sehen,
daß nicht der löffel sich verbiegt, sondern daß du selbst dich verbiegst.
meinst du, wenn ich den button aus default setze, dann bekommt er nur nen dickeren rahmen, wird aber nicht durch return ausgelöst?
...das kenn ich aber anders...
-----
versuch nicht, den löffel zu verbiegen, das ist nämlich nicht möglich.
stell dir einfach die wahrheit vor, und du wirst sehen,
daß nicht der löffel sich verbiegt, sondern daß du selbst dich verbiegst.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- 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
Das kennst Du nur deshalb anders, weil Du in Fenstern mit vielen Button ja nie Return benutzen würdest. Machst Du autom. nur bei Dialogfenstern, mit nur 1-3 Button. Dialogfenster reagieren auch meist auf Escape, normale Fenster nicht.
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.

- 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
Mit AddKeyBoardShortcut, Return abfangen, erzeugt dann ein Menüereignis
Wenn dieses ereignis Eintritt, mit If GetFocus_() = GadgetID(15)) feststellen welcher Button den Focus hat und entsprechend reagieren.
Wenns nicht klappt, dann frag nochmal!
Wenn dieses ereignis Eintritt, mit If GetFocus_() = GadgetID(15)) feststellen welcher Button den Focus hat und entsprechend reagieren.
Wenns nicht klappt, dann frag nochmal!
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.

- 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
Code: Alles auswählen
If OpenWindow(0, #CW_USEDEFAULT, #CW_USEDEFAULT, 90, 80, #PB_Window_SystemMenu, "Test")
AddKeyboardShortcut(0, #PB_Shortcut_Return, 0)
If CreateGadgetList(WindowID(0))
ButtonGadget(1, 10, 10 , 60, 30, "Button1", #PB_Button_Default)
ButtonGadget(2, 10, 40 , 60, 30, "Button2")
ActivateGadget(1)
EndIf
Repeat
EventID = WaitWindowEvent()
MenuID = EventMenuID()
GadgetID = EventGadgetID()
Select EventID
Case #PB_Event_Menu
Select MenuID
Case 0 ;Return
Select GetFocus_()
Case GadgetID(1)
Debug "Button1"
Case GadgetID(2)
Debug "Button2"
EndSelect
EndSelect
Case #PB_Event_Gadget
Select GadgetID
Case 1
Debug "Button1"
Case 2
Debug "Button2"
EndSelect
EndSelect
Until EventID = #PB_Event_CloseWindow
EndIfPureBasic 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.

Das Problem bei der Sache ist, daß ich 2 Buttons habe, wovon ich einen immer verstecke.
Hier ist noch einmal der Code:
Wo fang ich da am besten an?
mfg. Zerosurf
Hier ist noch einmal der Code:
Code: Alles auswählen
Procedure.s MakeTimeString(tdec.f)
Protected time.l, dd.w, hh.w, ii.w, ss.w, hs.w, out.s
time = Round(tdec * 360000, 1)
hs = time % 100 : time / 100
ss = time % 60 : time / 60
ii = time % 60 : time / 60
hh = time % 24 : time / 24
dd = Int(time)
out = RSet(Str(dd), 2, "0") + " Tage "
out + RSet(Str(hh), 2, "0") + " h "
out + RSet(Str(ii), 2, "0") + " min "
out + RSet(Str(ss), 2, "0") + " sec "
ProcedureReturn out
EndProcedure
If OpenWindow(0, 216, 0, 400, 300, #PB_Window_SystemMenu | #PB_Window_TitleBar | #PB_Window_ScreenCentered | #PB_Window_WindowCentered , "Medcal")
If CreateMenu(0, WindowID())
MenuTitle("Programme")
MenuItem(1, "Conzcalc")
MenuItem(2, "Doseconv")
MenuBar()
MenuItem(3, "Ende")
MenuTitle("Hilfe")
MenuItem(4, "Conzcalc")
MenuItem(5, "Doseconv")
MenuBar()
MenuItem(6, "Visit Website")
MenuItem(7, "About")
EndIf
If CreateGadgetList(WindowID())
Frame3DGadget(2, 10, 10, 380, 30, "", #PB_Frame3D_Single)
Frame3DGadget(0, -5, -5, 410, 310, "")
Frame3DGadget(1, 10, 50, 380, 220, "")
ProgressBarGadget(3, 20, 157, 360, 10, 1, 5000, #PB_ProgressBar_Smooth)
TextGadget(12, 170, 18, 60, 20, "Conzcalc", #PB_Text_Center)
TextGadget(20, 60, 70, 140, 20, "Gewünschte Menge:")
TextGadget(4, 60, 100, 140, 20, "Ausgangskonzentration:")
TextGadget(5, 60, 130, 140, 20, "Gewünschte Konzentration:")
StringGadget(6, 240, 67, 70, 20, "", #PB_Text_Right)
StringGadget(7, 240, 97, 70, 20, "", #PB_Text_Right)
StringGadget(8, 240, 127, 70, 20, "", #PB_Text_Right)
TextGadget(9, 315, 100, 30, 20, "in %")
TextGadget(10, 315, 130, 30, 20, "in %")
TextGadget(11, 315, 70, 30, 20, "in ml")
TextGadget(13, 60, 180, 170, 20, "Menge der Ausgangskonzentration:")
TextGadget(14, 60, 210, 160, 20, "Menge des Lösungsmittels:")
ButtonGadget(15, 160, 240, 80, 20, "Berechnen", #PB_Button_Default)
TextGadget(16, 315, 180, 20, 20, "ml")
TextGadget(17, 315, 210, 20, 20, "ml")
TextGadget(18, 240, 177, 70, 20, "", #PB_Text_Right | #PB_Text_Border)
TextGadget(19, 240, 207, 70, 20, "", #PB_Text_Right | #PB_Text_Border)
TextGadget(21, 170, 18, 60, 20, "Doseconv", #PB_Text_Center)
TextGadget(22, 60, 70, 140, 20, "Körpergewicht:")
TextGadget(23, 60, 100, 140, 20, "Gewünschte Dosierung:")
TextGadget(24, 60, 130, 140, 20, "Medikamentenkonzentration:")
StringGadget(25, 240, 67, 70, 20, "", #PB_Text_Right)
StringGadget(26, 240, 97, 70, 20, "", #PB_Text_Right)
StringGadget(27, 240, 127, 40, 20, "", #PB_Text_Right)
StringGadget(28, 310, 127, 40, 20, "", #PB_Text_Right)
TextGadget(29, 315, 70, 30, 20, "kg")
TextGadget(30, 315, 100, 65, 20, "µg/kgKG/min")
TextGadget(31, 285, 130, 25, 20, "mg/")
TextGadget(32, 355, 130, 20, 20, "ml")
TextGadget(33, 60, 180, 170, 20, "Flußrate:")
TextGadget(34, 60, 210, 70, 20, "Infusionsdauer")
TextGadget(45, 132, 210, 93, 20, "")
TextGadget(46, 235, 210, 15, 20, "")
TextGadget(35, 235, 180, 25, 20, "ml/h")
TextGadget(36, 335, 180, 25, 20, "mg/h")
TextGadget(37, 355, 210, 25, 20, "")
TextGadget(38, 170, 177, 60, 20, "", #PB_Text_Right | #PB_Text_Border)
TextGadget(39, 270, 177, 60, 20, "", #PB_Text_Right | #PB_Text_Border)
TextGadget(40, 235, 210, 135, 20, "")
ButtonGadget(41, 160, 240, 80, 20, "Berechnen", #PB_Button_Default)
TextGadget(42, 130, 18, 140, 20, "Bitte Programm auswählen:", #PB_Text_Center)
ButtonGadget(43, 70, 140, 100, 30, "Conzcalc")
ButtonGadget(44, 230, 140, 100, 30, "Doseconv")
EndIf
For a=3 To 41
HideGadget(a,1)
Next
HideGadget(45,1)
HideGadget(46,1)
Repeat
EventID = WaitWindowEvent()
If EventID = #PB_Event_CloseWindow
Quit = 1
ElseIf EventID = #PB_EventMenu
If EventMenuID()=6
RunProgram("http://www.marcotorskyj.com")
EndIf
If EventMenuID()=4
MessageRequester("Über Conzcalc","Conzcalc - Conzentration-Calculator" + Chr(10) + Chr(10) + "Dieser Rechner hilft beim Umrechnen von Lösungen mit höheren Konzentrationen" + Chr(10) + "zu Lösungen mit niedrigeren Konzentrationen." + Chr(10) + Chr(10) + "Beispiel:" + Chr(10) + "Ein 2 prozentiges Medikament soll in eine 1,5 prozentige Lösung umgewandelt werden." + Chr(10) + "Die gewünschte Menge der 1,5 prozentigen Lösung soll 50ml betragen." + Chr(10) + Chr(10) + "Wieviel ml benötigt man von der 2 prozentigen Lösung und wieviel Lösungsmittel" + Chr(10) + "wird benötigt um eine 1,5 prozentige - 50ml Lösung herzustellen?", #MB_ICONASTERISK)
EndIf
If EventMenuID()=5
MessageRequester("Über Doseconv","Doseconv - Dose-Converter" + Chr(10) + Chr(10) + "Dieser Rechner hilft beim Umrechnen von µg/kgKG/min in ml/h bzw. in mg/h." +Chr(10) + "Es wird auch die Dauer der Infusion ausgerechnet.", #MB_ICONASTERISK)
EndIf
If EventMenuID()=7
MessageRequester("Thanks...", "for using Medcal v1.00" + Chr(10) + Chr(10) + "Written by Marco TORSKYJ" + Chr(10) + Chr(10) + "Supported by Dr. Andreas MAYER" + Chr(10) + "and Dr. Karl-Heinz STADLBAUER" + Chr(10) + Chr(10) + "Copyright © 2005 Marco TORSKYJ" + Chr(10) + "All rights reserved.", #MB_ICONASTERISK)
EndIf
If EventMenuID()=3
Quit = 1
EndIf
If EventMenuID()=1
SetGadgetText(6,"")
SetGadgetText(7,"")
SetGadgetText(8,"")
SetGadgetText(18,"")
SetGadgetText(19,"")
SetGadgetText(25,"")
SetGadgetText(26,"")
SetGadgetText(27,"")
SetGadgetText(28,"")
SetGadgetText(45,"")
SetGadgetText(38,"")
SetGadgetText(39,"")
SetGadgetText(40,"")
For a=3 To 20
HideGadget(a,0)
Next
For a=21 To 46
HideGadget(a,1)
Next
ActivateGadget(15)
EndIf
If EventMenuID()=2
SetGadgetText(6,"")
SetGadgetText(7,"")
SetGadgetText(8,"")
SetGadgetText(18,"")
SetGadgetText(19,"")
SetGadgetText(25,"")
SetGadgetText(26,"")
SetGadgetText(27,"")
SetGadgetText(28,"")
SetGadgetText(45,"")
SetGadgetText(38,"")
SetGadgetText(39,"")
SetGadgetText(40,"")
HideGadget(3,0)
For a=4 To 20
HideGadget(a,1)
Next
For a=21 To 46
HideGadget(a,0)
Next
For a=42 To 44
HideGadget(a,1)
Next
ActivateGadget(41)
EndIf
EndIf
If EventID = #PB_Event_Gadget
If EventGadgetID()=43
SetGadgetText(6,"")
SetGadgetText(7,"")
SetGadgetText(8,"")
SetGadgetText(18,"")
SetGadgetText(19,"")
SetGadgetText(25,"")
SetGadgetText(26,"")
SetGadgetText(27,"")
SetGadgetText(28,"")
SetGadgetText(45,"")
SetGadgetText(38,"")
SetGadgetText(39,"")
SetGadgetText(40,"")
For a=3 To 20
HideGadget(a,0)
Next
For a=21 To 46
HideGadget(a,1)
Next
ActivateGadget(15)
EndIf
If EventGadgetID()=44
SetGadgetText(6,"")
SetGadgetText(7,"")
SetGadgetText(8,"")
SetGadgetText(18,"")
SetGadgetText(19,"")
SetGadgetText(25,"")
SetGadgetText(26,"")
SetGadgetText(27,"")
SetGadgetText(28,"")
SetGadgetText(45,"")
SetGadgetText(38,"")
SetGadgetText(39,"")
SetGadgetText(40,"")
HideGadget(3,0)
For a=4 To 20
HideGadget(a,1)
Next
For a=21 To 46
HideGadget(a,0)
Next
For a=42 To 44
HideGadget(a,1)
Next
ActivateGadget(41)
EndIf
If EventGadgetID()=15
SetGadgetText(18,"")
SetGadgetText(19,"")
gm.f = ValF(ReplaceString(GetGadgetText(6), ",", ".", 2))
ak.f = ValF(ReplaceString(GetGadgetText(7), ",", ".", 2))
gk.f = ValF(ReplaceString(GetGadgetText(8), ",", ".", 2))
If gm = 0
MessageRequester("Achtung!","Keine Angabe der gewünschten Menge!", #MB_ICONEXCLAMATION)
ElseIf ak = 0
MessageRequester("Achtung!","Keine Angabe der Ausgangskonzentration!", #MB_ICONEXCLAMATION)
ElseIf ak >= 100
MessageRequester("Achtung!","Ausgangskonzentration muß kleiner als 100 sein!", #MB_ICONEXCLAMATION)
ElseIf gk = 0
MessageRequester("Achtung!","Keine Angabe der gewünschten Konzentration!", #MB_ICONEXCLAMATION)
ElseIf gk > ak
MessageRequester("Achtung!","Gewünschte Konzentration muß kleiner sein!", #MB_ICONEXCLAMATION)
Else
mdak.f = (gm * gk) / ak
mdlm.f = gm - mdak
result1$ = ReplaceString(StrF(mdak,2), ".", ",", 2)
result2$ = ReplaceString(StrF(mdlm,2), ".", ",", 2)
For a=1 To 5000
SetGadgetState(3,a)
Next
SetGadgetText(18,result1$)
SetGadgetText(19,result2$)
EndIf
EndIf
If EventGadgetID()=41
SetGadgetText(38,"")
SetGadgetText(39,"")
SetGadgetText(40,"")
kg.f = ValF(ReplaceString(GetGadgetText(25), ",", ".", 2))
gd.f = ValF(ReplaceString(GetGadgetText(26), ",", ".", 2))
mkmg.f = ValF(ReplaceString(GetGadgetText(27), ",", ".", 2))
mkml.f = ValF(ReplaceString(GetGadgetText(28), ",", ".", 2))
If kg = 0
MessageRequester("Achtung!","Keine Angabe des Körpergewichtes!", #MB_ICONEXCLAMATION)
ElseIf gd = 0
MessageRequester("Achtung!","Keine Angabe der gewünschten Dosierung!", #MB_ICONEXCLAMATION)
ElseIf mkmg = 0
MessageRequester("Achtung!","Keine Angabe der Medikamentenkonzentration (mg)!", #MB_ICONEXCLAMATION)
ElseIf mkml = 0
MessageRequester("Achtung!","Keine Angabe der Medikamentenkonzentration (ml)!", #MB_ICONEXCLAMATION)
Else
frmlh.f = (kg * gd * 0.06) / (mkmg / mkml)
frmgh.f = (mkmg / mkml) * frmlh
rz.f = mkml / frmlh
m.f = mkml
result3$ = ReplaceString(StrF(frmlh,2), ".", ",", 2)
result4$ = ReplaceString(StrF(frmgh,2), ".", ",", 2)
; result5$ = ReplaceString(StrF(rz,2), ".", ",", 2)
; result5$ = FormatDate("%dd Tage %hh h %ii min %ss sec", Round(rz * 3600, 1))
result6$ = ReplaceString(StrF(m,2), ".", ",", 2)
For a=1 To 5000
SetGadgetState(3,a)
Next
SetGadgetText(38,result3$)
SetGadgetText(39,result4$)
SetGadgetText(40, MakeTimeString(rz))
SetGadgetText(45,"mit " + result6$ + " ml:")
EndIf
EndIf
EndIf
Until Quit=1
EndIf
End
mfg. Zerosurf