Seite 1 von 2
Programmierhilfe-Prozeduren
Verfasst: 14.11.2004 03:53
von Hroudtwolf
Entfernt. Out of date.
Verfasst: 14.11.2004 10:12
von DarkDragon
Gut, aber könntest du nen kleinen Überblick der Funktionen machen? Und dann wären die CodeTags noch angebracht:
[ code]DeinCode[ /code]
mach die Leerzeichen nach [ weg, dann funktionierts.
Verfasst: 14.11.2004 12:50
von Kristel
Hroudtwolf hat geschrieben:Code: Alles auswählen
Procedure.s GetRunlevel()
a = GetSystemMetrics_(#SM_CLEANBOOT)
If a=0:md$="Normal":EndIf
If a=1:md$="Failsafe":EndIf
If a=2:md$="Failsafe and Networkboot":EndIf
ProcedureReturn Trim(md$)
EndProcedure
Die 3 If's kann man perfekt zu Select Case umformen.
Läuft dann wahrscheinlich auch schneller, wobei die Proc
ja eh selten aufgerufen wird. Die Variable a sparst du auch gleich.
Code: Alles auswählen
Procedure.s GetRunlevel()
Select GetSystemMetrics_(#SM_CLEANBOOT)
Case 0
md$="Normal"
Case 1
md$="Failsafe"
Case 2
md$="Failsafe and Networkboot"
EndSelect
ProcedureReturn Trim(md$)
EndProcedure
Verfasst: 14.11.2004 13:46
von Ynnus
Cool, hätte ja nicht gedacht dass bei Spezialtasten von Mäusen diese korrekt in der Anzahl erkannt werden. Aber es klappt. Mit "GetMouseButtons()" wurde die korrekte Anzahl zurückgegeben. (Und wer nun Bedenken hat, seine Maus hätte so viele Spezialtasten, also 8 wurden noch erkannt)

Verfasst: 14.11.2004 15:19
von Andre
Mal noch eine Anregung: die Prozedur Date() überschneidet sich mit dem vorhandenen PB-Befehl. Sollte also auch noch geändert werden.
@Hroudtwolf: wenn alle sinnvollen Änderungen eingeflossen sind, nehme ich Deinen Code gerne ins CodeArchiv auf.

Programmierhilfe
Verfasst: 14.11.2004 19:18
von Hroudtwolf
Entfernt. Out of date.
Verfasst: 14.11.2004 21:00
von Kristel
Hier mal meine Version von ExaktDate
Code: Alles auswählen
Procedure.s ExaktDate(prm)
GetLocalTime_(@s.SYSTEMTIME)
Monat$=Str(s\wMonth)
Tag$=Str(s\wDay)
If Len(Monat$)=1:Monat$="0"+Monat$:EndIf
If Len(Tag$)=1:Tag$="0"+Tag$:EndIf
Select prm
Case 1
Datum$=Tag$+"."+Monat$+"."+Str(s\wYear)
Case 2
Datum$=Str(s\wYear)
Case 3
Datum$=Tag$
Case 4
Datum$=Monat$
Case 5
Datum$=Monat$+"\"+Tag$+"\"+Str(s\wYear)
Case 6
Datum$=Monat$+"\"+Right(Str(s\wYear),2)
EndSelect
ProcedureReturn Datum$
EndProcedure
Hab nur die ganzen If's wieder durch Select Case ersetzt.
Bei GetRunlevel() war das ja noch nicht so Speed entscheidendt,
aber eine Datumsfunktion ruft man bestimmt öfter auf. Bei
ExaktTime(prm) das gleiche Spielchen. Nur ist es da wahrscheinlich
noch gravierender als bei GetRunlevel(), wenn man z.B. eine Uhr
proggt. Hab noch viele Dinge gesehn, die du optimieren könntest, aber
dieses ist mir einfach ins Auge gesprungen.
Verfasst: 14.11.2004 21:32
von Kaeru Gaman
@Hroudtwolf
wenn du schonmal gePOSTeten code nochmal überarbeitet hast, kannst du auch das erste post ändern, und nurnoch 'ne notiz posten... spart platz im forum...

Verfasst: 14.11.2004 22:01
von bluejoke
mhh, bei größeren Änderungen sollte man IMHO schon den neuen Code extra posten.
Bei Tippfehlern oder so kann mans nat. gleich im ersten Code ändern,
aber gefallen tuts mir so wies Hroudtwolf gemacht hat, besser.
Es ist halt auch interessant, zu erfahren, was geändert wurde, und wie die alte Version aussah. Vielleicht sagt mir die Neue ja nicht zu.
Verfasst: 14.11.2004 22:08
von ts-soft
Sinnvolle Einrückungen für mein empfindliches Auge fehlen leider auch.