Seite 1 von 1
OSVersion() und das was rauskommt...
Verfasst: 19.01.2009 13:46
von PBFetischist
Hallo zusammen,
wenn ich unter Linux folgendes ausführe:
Debug OSVersion()
erhalte ich keine Fehlermeldung, sondern tatsächlich ein Ergebnis, das ist gut.
Unter Ubuntu 8.10 ist es bei mir der Wert 1200.
Gibt es unter Linux ähnliche Konstanten wie unter Windows, mit denen ich den Wert in Klartext referenzieren kann ?
Verfasst: 19.01.2009 14:33
von bembulak
Schon mal in die Hilfe gekuckt?
OSVersion() gibt eine Zahl zurückt, die einer Konstante entspricht.
Beispielcode aus Hilfe:
Code: Alles auswählen
Select OSVersion()
Case #PB_OS_Windows_98
MessageRequester("Info", "Windows 98")
Case #PB_OS_Windows_2000
MessageRequester("Info", "Windows 2000")
Case #PB_OS_Windows_XP
MessageRequester("Info", "Windows XP")
Default
MessageRequester("Info", "Nicht unterstützte Windows-Version")
EndSelect
Das reicht doch, oder?

Verfasst: 19.01.2009 23:18
von PBFetischist
Danke für den Tipp, aber..
.. deine Hilfe ist die Windows Hilfe.
Ich frage aber, ob es so etwas auch unter Linux gibt und da steht in der Hilfe nämlich nichts dergleichen.
Trotzdem Danke.
Verfasst: 20.01.2009 16:53
von bembulak
Ich bin selber Linux-Nutzer und die Hilfe ist immer gleich, egal für welches System.
Der Code da oben + Seite der Hilfe sollte dir lediglich zeigen, wie's geht. Programmieren solltest du es eigentlich selber.
Ist ja nicht zuviel verlangt, dass man die Konstanten mal durchsieht und in der IDE ein wenig rumspielt.
Linux ist halt mal ein Trial'n'Erro OS.
HILFE hat geschrieben:Syntax
Ergebnis = OSVersion()
Beschreibung
Ermittelt die Version des Betriebssystems (OS - "Operating System"), auf welchem das Programm gestartet wurde. Dies kann nützlich sein, um abhängig vom laufenden Betriebssystem einige Features automatisch ein- oder auszuschalten.
'Ergebnis' kann einer der folgenden Werte sein:
#PB_OS_Windows_NT3_51
#PB_OS_Windows_95
#PB_OS_Windows_NT_4
#PB_OS_Windows_98
#PB_OS_Windows_ME
#PB_OS_Windows_2000
#PB_OS_Windows_XP
#PB_OS_Windows_Server_2003
#PB_OS_Windows_Vista
#PB_OS_Windows_Server_2008
#PB_OS_Windows_Future ; neue Windows Version (nicht existent, als das Programm geschrieben wurde)
ich selbst hat geschrieben:
Ok, ich gebe zu, hier könnte die Hilfe vollständiger sein.
Beispiel:
Select OSVersion()
Case #PB_OS_Windows_98
MessageRequester("Info", "Windows 98")
Case #PB_OS_Windows_2000
MessageRequester("Info", "Windows 2000")
Case #PB_OS_Windows_XP
MessageRequester("Info", "Windows XP")
Default
MessageRequester("Info", "Nicht unterstützte Windows-Version")
EndSelect
Beachten Sie, dass die Konstanten-Werte nach dem Zeitpunkt der Veröffentlichung jeder Version geordnet sind, daher können Tests wie der folgende verwendet werden, um alle Versionen älter oder neuer als die angegebene Version zu überprüfen:
If OsVersion() < #PB_OS_Windows_2000
;
; Alle Versionen älter als Windows 2000
;
EndIf
Unterstützte OS
Alle

Verfasst: 20.01.2009 17:29
von Little John
bembulak hat geschrieben:Ist ja nicht zuviel verlangt, dass man die Konstanten mal durchsieht und in der IDE ein wenig rumspielt.
Ob das zuviel verlangt ist oder nicht ist relativ, und hängt von verschiedenen Umständen ab. Auf jeden Fall ist es alles andere als wünschenswert, denn solche Informationen gehören zweifellos in die Hilfe (wie Du ja auch selbst
hier angemerkt hast).
Gruß, Little John
Verfasst: 20.01.2009 20:07
von PBFetischist
Was ist denn hier eigentlich los ?
Bei den Konstanten für OSVersion() weichen die Hilfen für Linux und Windows voneinander ab. Ich benutze seit sechs Jahren PB und wollte jetzt lediglich wissen ob jemand die Konstanten in Linux kennt.
Wenn du es weist, ist es doch gut und meine Frage beantwortet. Ich danke dir dafür und deshalb muss ich doch nicht gleich belehrt werden, wie man die PB IDE, deiner Meinung nach richtig verwendet.
Vielen Dank noch einmal. Mein Problem ist gelöst.
Verfasst: 20.01.2009 20:17
von ts-soft
In der IDE, im Strukturverzeichnis unter Konstanten P findet man alle
Konstanten und ihre Werte
Strukturverzeichnis ist also nicht nur für Strukturen, nein auch für:
Interfaces und Konstanten und ist autom. vollständig, was die Hilfe schlecht
kann.
Verfasst: 21.01.2009 00:46
von Little John
Da bin ich Deiner Ansicht, Thomas. Und insbesondere
ts-soft hat geschrieben:ist autom. vollständig, was die Hilfe schlechtkann.
ist IMHO ein wichtiges Argument.
Dieser Argumentation folgend, sollten dann jedoch in der Hilfe
gar keine Konstanten für OSVersion() aufgeführt sein. Dann sollte an der Stelle in der Hilfe etwas stehen wie
Siehe im sog. Strukturverzeichnis die Konstanten, die mit #PB_OS_ anfangen
.
Im Moment ist es ja so, dass in der Hilfe (deutsche Version, PB 4.30, Windows) steht:
'Ergebnis' kann einer der folgenden Werte sein:
#PB_OS_Windows_NT3_51
#PB_OS_Windows_95
#PB_OS_Windows_NT_4
#PB_OS_Windows_98
#PB_OS_Windows_ME
#PB_OS_Windows_2000
#PB_OS_Windows_XP
#PB_OS_Windows_Server_2003
#PB_OS_Windows_Vista
#PB_OS_Windows_Server_2008
#PB_OS_Windows_Future
Da fehlt ungefähr die Hälfte!! Aber beim Lesen kommt doch keiner auf die Idee dass da was fehlt, und dass es demnach sinnvoll sein kann noch mal im "Strukturverzeichnis" nachzusehen.
Also:
Entweder an der Stelle
alle Werte reinschreiben,
oder gar keine mit einem Hinweis auf das "Strukturverzeichnis".
Gruß, Little John
Verfasst: 21.01.2009 08:57
von PBFetischist
@Little John
Dem stimme ich zu, ich hatte eine ähnliche Diskussion schon einmal.
Trotzdem ist es gut, dass ich bisher die Unzulänglichkeiten der Hilfe immer durch die PB Foren kompensieren konnte.