Seite 3 von 5
Verfasst: 16.10.2005 15:49
von Amon
kann freedimension da nur zustimmen wenn ich mir die formel anschaue ist es eher so
0,25 --> 0 stunden 15 minuten
0,50 --> 0 stunden 30 minuten
0,75 --> 0 stunden 45 minuten
1,00 --> 1 stunden 00 minuten
ich glaub grad in dem fall wo es da um medizinische berechnung geht - die da auch ned ganz unkritisch ist - solltest du dir 100000% sicher sein

Verfasst: 16.10.2005 16:05
von Zerosurf
Also hier ist die Aufgabe mit Lösung:
Mittels Perfusor bekommt ein 70 kg schwerer Patient ein Medikament (500mg auf 50ml) mit 130µg/kgKG/min verabreicht.
a) Auf wieviel ml/h muss der Perfusor eingestellt werden?
b) Wie lange läuft bei dieser Einstellung eine Perfusorspritze (hat 50ml)?
Lösung:
a) 54,6 ml/h
b) 0,92 h =~ 55 min
0,92 h * 60 min = 55,2 min =~ 55min
somit entspricht
0,25 --> 0 stunden 15 minuten
0,50 --> 0 stunden 30 minuten
0,75 --> 0 stunden 45 minuten
1,00 --> 1 stunden 00 minuten
--> DA HABT IHR VOLLKOMMEN RECHT!
War mein Fehler!
Aber wie bau ich das jetzt in mein Programm ein?
Verfasst: 16.10.2005 16:08
von Lukaso
Ich denke 2,78 heißt, 2 Stunden und 0,78 * 60 = 46,8 Minuten
EDIT: Blinder Lukaso hat mal wieder nicht gesehen, dass es 3 Seiten sind
MFG Lukas
Verfasst: 16.10.2005 16:22
von Zerosurf
Vielen Dank an alle besonders an jear!
Das Problem wurde dadurch gelöst:
Diese Zeile:
mit dieser ersetzen!
Code: Alles auswählen
result5$ = FormatDate("%hh:%ii:%ss", Round(rz * 3600, 1))
Nochmals vielen, vielen Dank an alle Helfer und Mitdenker!
Das hält das Hirn in Schwung!
mfg. Zerosurf
Verfasst: 16.10.2005 17:15
von Zerosurf
Jetzt hab ich nur mehr ein Problem:
Wenn ich
Code: Alles auswählen
result5$ = FormatDate("%dd Tage %hh:%ii:%ss", Round(rz * 3600, 1))
angebe, dann wird schon 01 Tag angezeigt obwohl erst z.B. 12 h angegeben sind?
Wie kann ich die Tagesanzeige auf 00 setzen und erst wenn 24 h vergangen sind auf 01 setzen lassen?
mfg. Zerosurf
Verfasst: 16.10.2005 17:58
von jear
Kein Wunder. FormatDate() beruht auf der Unix-Zeit und zählt ab dem 1.1.1970. Das ist/war der erste Tag der Zählung. Daher klappt der Trick mit der Nutzung von FormatDate() nur, wenn man auf die Tage verzichtet und so tut, als suchte man eine Zeit am 1.1.1970.
Die folgende Prozedur macht es aber für Dich. Es ist der Code, den ich schon mal gepostet habe, aber abgewandelt für die Ermittlung von Tagen. Wohlgemerkt, immer ausgehend von einer Float mit Stunden.
Code: Alles auswählen
; mit Tagen und auf Hundertstelsekunden genau
; ausgehend von einer Float-Variablen mit Stunden
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") + " Tge "
out + RSet(Str(hh), 2, "0") + " Std "
out + RSet(Str(ii), 2, "0") + " Min "
out + RSet(Str(ss), 2, "0") + "."
out + RSet(Str(hs), 2, "0") + " Sek"
ProcedureReturn out
EndProcedure
Debug MakeTimeString(32.51234)
P.S. Welche arme Sau soll den tagelang am Tropf hängen?

Verfasst: 16.10.2005 18:55
von Zerosurf
@jear:
Vielen Dank!
Deine Funktion ist genau das was ich gesucht habe!
Ich hab sie jetzt eingebaut und alles läuft wunderbar.
Was anderes:
Leider fällt mir auf, nachdem ich meine Daten zur Berechnung eingeben habe und dann die Return-Taste drücke, daß nichts passiert.
Ich kann nur mit der Mouse auf den Berechnen-Button klicken, dann funktioniert es.
Oder wenn ich mit der Tab-Taste den Focus auf den Berechnen-Button bringe und dann die Space-Taste drücke funktioniert es auch.
Kann man das irgendwie ändern, so daß ich jederzeit die Return-Taste drücken kann und somit die Berechnung durchgeführt wird?
mfg. Zerosurf
Verfasst: 16.10.2005 18:57
von Kaeru Gaman
für den 'berechnen'-button das default-flag setzen...

Verfasst: 16.10.2005 19:06
von ts-soft
Code: Alles auswählen
AddKeyboardShortcut(#Window_0, #PB_Shortcut_Return, #ReturnEvent)
Und dran denken, das ist ein MenuEvent, wenn Du mehrere Buttons hast wird es schon schwieriger. In normalen Fenstern wird nur auf Space reagiert, nur in Dialogfenstern reagiert ein Button auf Return, mußte also selber simulieren.
Verfasst: 16.10.2005 19:16
von Kaeru Gaman
wieso das?
ich kann doch in nem x-beliebigen fenster nen default auf nen button setzen, oder?