Re: OS-Plattformen

2005-12-25 Diskussionsfäden Michael Heydekamp
Martin Wodrich [EMAIL PROTECTED] wrote on 24.12.05:

 Michael Heydekamp [EMAIL PROTECTED] schrieb am 23.12.05 um 17:11:

 Ja, es ist eben immer die DOS-Ausfuehrungsumgebung DOSBox.
 Unter welchem Betriebsystem nun DOSBox laeuft ist nicht erkennbar.
 Ebenso ist die Version von DOSBox nicht erkennbar.

 Hmm, das muss doch irgendwie gehen.  Vielleicht fragt man die
 DOSBox'ler einfach mal.

 Ja, werde ich wohl mal machen. Wobei ich maximal eine Loesung zur
 DOSBox- Version erwarte.

Nur darum ging's ja.

Allerdings bezweifle ich, nachdem ich mich mal ein bißchen über DOSBox
belesen habe, daß XP dort überhaupt vernünftig laufen könnte.  Die
Kommandozeile von DOSBox kennt offenbar nur die rudimentärsten Befehle,
so mancher externe Aufruf und so ziemlich jede Batch dürfte auf die Nase
fallen.


Michael

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-25 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 25.12.05 um 15:19:

 Ja, werde ich wohl mal machen. Wobei ich maximal eine Loesung zur
 DOSBox- Version erwarte.
 Nur darum ging's ja.

Ich habe jedenfalls eine Mail an die DOSBoxler geschrieben.
Mal abwarten, was daraus wird.

 Allerdings bezweifle ich, nachdem ich mich mal ein bisschen ueber DOSBox
 belesen habe, dass XP dort ueberhaupt vernuenftig laufen koennte.

XP selbst laeuft. Und mit Modem ist es wohl auch benutzbar.
Aber alles was darueber weiter geht, denke ich ist auch fraglich.
DOSBox ist halt primaer fuer alte Spiele geschrieben, wo es
nur darum geht das sie ueberhaupt auch auf moderner Hardware laufen.
Alles was darueber hinaus geht ist wohl reine Gluecksache.

 Die Kommandozeile von DOSBox kennt offenbar nur die rudimentaersten
 Befehle,

Jepp.

 so mancher externe Aufruf und so ziemlich jede Batch duerfte auf die Nase
 fallen.

Nun ich wuerde nicht erwarten, das ich DOSBox derzeit als Compilerumgebung
fuer FreeXP einsetzen koennte, aber fuer relativ einfache Batche sollte
es sogar noch klappen. Aber ganz recht: Garantien kann es nicht geben, da
es wirklich ziemlich rudimentaer ist, was DOSBox kann.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


OS/2 (was: OS-Plattformen)

2005-12-25 Diskussionsfäden Michael Heydekamp
Martin Wodrich [EMAIL PROTECTED] wrote on 24.12.05:

 Michael Heydekamp [EMAIL PROTECTED] schrieb am 23.12.05 um 17:20:

 Koennte man hoechstens fest verdrahten (wenn es ausser der 4.51
 keine andere 4.5er-Version geben sollte, was AFAIR der Fall ist).
 Im Volksmund scheint sie aber eh als 4.5 zu laufen, insofern ist das
 auch egal.

 Also sparen wir uns die Sonderloesung.

Jo.  Aber mal 'ne andere Frage zu OS/2:

Bei XP2 kann es (zumindest theoretisch) vorkommen, daß im MAILER:-Header
als Compiler-Plattform OS/2 vorkommt, AFAIK wurden native OS/2- 
Compilate auch mal unter der Hand verteilt.

Wie verhält sich OS/2, wenn ein natives OS/2-Programm ein DOS-Programm
wie den E-UUZ aufruft?  Wäre der dann in der Lage, mit der vorhandenen
Routine die OS/2-Version zu erkennen und als Compiler/Runtime-Plattform
z.B. OS2/OS2-3.0 zu produzieren (wobei das OS2 vor dem Slash aus dem
XP2-Header ausgelesen würde)?

Bei einem nativen Win32-Compilat (das in den Sourcen von XP2 auch
vorgesehen ist, wohl aber nie erstellt oder verteilt wurde) würde das
nach meinem Verständnis ja funktionieren, so daß der E-UUZ bei der
derzeitigen Logik den korrekten String W32/WinXP (z.B.) produzieren
würde (W32 ebenfalls aus dem XP2-Header ausgelesen).  Bei OS/2 bin ich
nicht sicher, ob der E-UUZ automatisch in der richtigen Umgebung (also
das, was bei Win9x der DOS-Box und bei WinNT der NTVDM entspricht)
laufen würde.


Michael

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS/2 (was: OS-Plattformen)

2005-12-25 Diskussionsfäden Johann H. Addicks
 Wie verhält sich OS/2, wenn ein natives OS/2-Programm ein DOS-Programm
 wie den E-UUZ aufruft?  Wäre der dann in der Lage, mit der vorhandenen
 Routine die OS/2-Version zu erkennen und als Compiler/Runtime-Plattform
 z.B. OS2/OS2-3.0 zu produzieren (wobei das OS2 vor dem Slash aus dem
 XP2-Header ausgelesen würde)?

Wer ist der? Der UUZ? 
Jede DOS16-Anwendung kann aus der OS/2-Dosbox heraus die Versionsnummer des
OS/2 feststellen. Was war jetzt die Frage, die ich Dir als OS/2-Benutzer
beantworten könnte?

-jha-


FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-24 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 23.12.05 um 17:20:

 Die 1 von 4.51 wird leider so nicht uebergeben. Und kann daher auch
 nicht angezeigt werden.
 Koennte man hoechstens fest verdrahten (wenn es ausser der 4.51 keine
 andere 4.5er-Version geben sollte, was AFAIR der Fall ist).  Im
 Volksmund scheint sie aber eh als 4.5 zu laufen, insofern ist das auch
 egal.

Also sparen wir uns die Sonderloesung.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-23 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 21:14:

 Eigentlich wuerde ich im UA-Header ohnehin ungerne solche Marketing-
 Bezeichnungen wie Warp verwenden.
 Du wirst dabei aber schwer darum kommen.
 Wieso, ich kann doch auch OS2-3.0 schreiben

Stimmt.

 Zumal diese meist bekannter sidn als die echte Versionnummer.
 Aber Warp ist uneindeutig, das kann auch eine 4.0 oder 4.51 sein.
 Wobei mir gerade einfaellt, dass das bisherige 'writever' eine 4.51 wohl
 gar nicht korrekt ausgeben wuerde...?

Die 1 von 4.51 wird leider so nicht uebergeben. Und kann daher auch
nicht angezeigt werden.

 Ich erinnere nur an Windows 4.xx (besser bekannt als Windows 95, 98
 bzw. Millenium Edition (ME)) oder eben Windows NT 5.xx (aka Windows
 2000 ,XP bzw. 2003).
 Siehe oben.  Der Unterschied ist, dass Win95, Win98 usw. eigenstaendige
 und eindeutige (SE und sowas jetzt mal aussen vor gelassen)
 Versionsbezeichnungen und nicht nur ein Beiname wie Warp sind.  Da
 steckt die Version auch im Namen selbst, bei Warp nicht.

Richtig, das ist wirklich ein Unterschied.

 Wenn ja, dann verstehe ich den Code in 'writever' nicht, mit dem auf
 Warp getestet wird.  Auch nicht, wieso einmal div und einmal /
 verwendet wird.
 Ist es kein Warp, so wird die klassische Ausgabe gewaehlt (welche bei
 alten OS/2 Versionen korrekt war). Ist es dagegen ein OS/2 Warp so
 muss man anders vorgehen, da die Version anders uebergeben wird.
 Daraus ergibt sich dann auch warum mal ein nur ganzzahliges Ergebnis
 verwendet wird, und mal auch Nachkommastellen.
 Hab ich jetzt auch verstanden. :)

GUt :-)

 Frage bitte nicht nach Logik, da nur IBM weiss, wieso sich Warp anders
 verhaellt.
 Ach, die wollen mich nur aergern... ;)

Grins.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-23 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 21:35:

 Zu DOSBOX gibts dies in Clip.pas:
 Ich werd das wohl erst mal haendisch reinkopieren, damit der UUZ
 sozusagen DOSBOX-faehig ist.
 Ok.
 Wie kommt man denn da eigentlich an die Versionsnummer ran?

Bisher: gar nicht.

 Was gibt 'DOSEmuVersion' unter DOSBOX zurueck?

Einen leeren String, da DOSBox ungleich DOSEMU.

 Und DOSBox (so ist die Schreibweise, wie ich
 http://dosbox.sourceforge.net/ entnehme, sollten wir gelegentlich mal
 aendern)

Done (zumindest in der Anzeige). Im Namen von Funktionen und Prozeduren ist
das eh egal.

 gibt's ja nicht nur fuer Linux, also muesste man, wenn wir das als
 reine Linux-Umgebung fuer XP betrachten, das irgendwie in Abhaengigkeit davon
 erkennen?

Das kann man nicht zuverlaessig erkennen. Und muss es auch nicht.
DOSBox ist eben DOSBox.

 Nach der derzeitigen Logik wuerden wir im Falle DOSBox immer DOSBOX
 ausgeben, auch unter Windows.  Hmm, ist ja vielleicht auch gar nicht
 falsch, wenn ich's recht ueberlege...

Ja, es ist eben immer die DOS-Ausfuehrungsumgebung DOSBox.
Unter welchem Betriebsystem nun DOSBox laeuft ist nicht erkennbar.
Ebenso ist die Version von DOSBox nicht erkennbar.

 Aber wie kann man denn erkennen, ob DOSBox unter Windows, Linux, BeOS
 oder was auch immer laeuft?

Gar nicht zuverlaessig. Man kann nur raten, in dem man den Filehandletest
durchfuehrt. Unter Windows klappt er, unter unixartigen Systemen ging er
zumindest bei der Version die aktuell war, als ich die DOSBox-Anpassungen
durchgefuehrt habe (also den Test deaktiviert habe) schief.

Eine Erkennung des unterliegenden Betriebsystems ist allerdings eh
nicht notwendig, da es eben keine reine VM ist, wie direkt unter
Windows (auch XP), sondern ein kompletter emulierter DOS-PC.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-22 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 20.12.05 um 00:42:

 Was mir noch nicht so ganz klar ist:
 1. Was ist denn case WinVersion of 1?  Windows 1.x/2.x?

Das kann nicht ausgegeben werden.
Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas:
{ Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... }

 2. Ich bin nicht sicher, ob die Reihenfolge in 'writever' eine Rolle
spielt.  Muss die OS/2 = Linux = Win lauten?  Oder ist
sichergestellt, dass 'WinVersion' wirklich immer 0 zurueckgibt, wenn es
kein Windows ist?

WinVersion ist immer 0, wenn kein Windows.

 DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code in
 meiner Arbeitsumgebung noch nicht drin ist.

Zu DOSBOX gibts dies in Clip.pas:

Function AT : Boolean;
{ in: - }
{out: True/False, if the machine is (at least) an AT}
begin
  AT := MEM[$F000 : $FFFE] = $FC;
end;

function DOSBOX: boolean;
begin
  if ((Test80861) and (AT=false)) then DOSBOX:=true else DOSBOX:=false;
end;


Erklaerung:
Es wird einfach auf zwei verschiedenen Wegen auf mindestens 80286
getestet. Unter DOSBOX liefert Test8086 auf jeden Fall 3 zurueck
(wegen 80386 als Mindestvoraussetzung von DOSBOX). Im BIOS findet
sich allerdings an F000:FFFE nicht die charaktischen FC.
Alle vorherigen Testversuche haben manchmal Probleme bei anderen
DOS-Ausfuehrungsumgebungen gemacht.

 Here we go:

 --8--
...
 --8--

Sieht vernuepftig aus.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-22 Diskussionsfäden Michael Heydekamp
Martin Wodrich [EMAIL PROTECTED] wrote on 22.12.05:

 Michael Heydekamp [EMAIL PROTECTED] schrieb am 20.12.05 um 00:42:

 Was mir noch nicht so ganz klar ist:
 1. Was ist denn case WinVersion of 1?  Windows 1.x/2.x?

 Das kann nicht ausgegeben werden.
 Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas:
 { Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... }

Das hab ich natürlich auch gelesen und mich eben deshalb gefragt, was
wohl bei Windows 2.x und früher zurückkommt.  Meine Vermutung war, daß
man das schlicht ausgelassen hat.  Die Frage ist natürlich rein
akademisch, denn es gibt sicher mehr FreeXP-User als Benutzer von
Windows 2.x (wenn es überhaupt welche gibt).

 DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code
 in meiner Arbeitsumgebung noch nicht drin ist.

 Zu DOSBOX gibts dies in Clip.pas:

Ich werd das wohl erst mal händisch reinkopieren, damit der UUZ
sozusagen DOSBOX-fähig ist.

 Sieht vernuepftig aus.

Bis auf das mit der Versionsnummer für OS/2 Warp, das ist mir noch nicht
ganz klar (siehe auch meine Mail dazu).

Eigentlich würde ich im UA-Header ohnehin ungerne solche Marketing-
Bezeichnungen wie Warp verwenden.  Ich kenne mich mit OS/2 nicht aus,
aber ist nicht alles =3.0 sowieso Warp?  Kann ich mangels OS/2 alles
leider nicht testen, jedenfalls wüßte ich gerne mal den Code, um für die
jeweiligen OS/2-Versionen einfach nur 1.0, 2.0, 3.0 (welche immer
es da geben mag) usw. zurückzubekommen.

Früher (bevor wir Warp ausgegeben haben) gab's ja ausschließlich das
hier:

--8--
  if os2 then write(lo(dosversion)div 10:2,'.',hi(dosversion))
--8--

Ist das das, was ich brauche?  Wenn ja, dann verstehe ich den Code in
'writever' nicht, mit dem auf Warp getestet wird.  Auch nicht, wieso
einmal div und einmal / verwendet wird.


Michael

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-22 Diskussionsfäden Martin Wodrich
Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 18:08:

 Was mir noch nicht so ganz klar ist:
 1. Was ist denn case WinVersion of 1?  Windows 1.x/2.x?
 Das kann nicht ausgegeben werden.
 Minimales Ergebnis ist 2 fuer Win3.xx, siehe auch clip.pas:
 { Rueckgabe: 2 = Win 3.xx, 3 = Win95/98/ME/..., 4 = WinNT/2k/XP/... }
 Das hab ich natuerlich auch gelesen und mich eben deshalb gefragt, was
 wohl bei Windows 2.x und frueher zurueckkommt.

Nun ich habe auch keinen Code gefunden, der irgentwas bezueglich Win 2.x
testet. Also ist es ziemlich naheliegend, da solche Museumsware
auch nicht erkannt wird.

 Meine Vermutung war, dass man das schlicht ausgelassen hat.

Jepp.

 Die Frage ist natuerlich rein akademisch, denn es gibt sicher mehr FreeXP-
 User als Benutzer von Windows 2.x (wenn es ueberhaupt welche gibt).

Ausserdem war alles vor Win 3.xx eigentlich sowieso ziemlich beschraenkt
einsatzfaehig.

 DOSBOX kann ich im Moment noch nicht beruecksichtigen, weil der Code
 in meiner Arbeitsumgebung noch nicht drin ist.
 Zu DOSBOX gibts dies in Clip.pas:
 Ich werd das wohl erst mal haendisch reinkopieren, damit der UUZ
 sozusagen DOSBOX-faehig ist.

Ok.

 Sieht vernuepftig aus.
 Bis auf das mit der Versionsnummer fuer OS/2 Warp, das ist mir noch nicht
 ganz klar (siehe auch meine Mail dazu).

100% sicher bin ich mir dabei auch nicht. Allerdings wurde die aktuelle
Routine so mit einem OS/2 Kenner besprochen. Ich selbst habe hier auch
kein OS/2.

 Eigentlich wuerde ich im UA-Header ohnehin ungerne solche Marketing-
 Bezeichnungen wie Warp verwenden.

Du wirst dabei aber schwer darum kommen. Zumal diese meist
bekannter sidn als die echte Versionnummer. Ich erinnere
nur an Windows 4.xx (besser bekannt als Windows 95, 98 bzw.
Millenium Edition (ME)) oder eben Windows NT 5.xx (aka Windows 2000
,XP bzw. 2003).

 Ich kenne mich mit OS/2 nicht aus, aber ist nicht alles =3.0 sowieso
 Warp?

Leider kann ich dir dazu auch keine wirklich umfassende Auskunft geben.

 Frueher (bevor wir Warp ausgegeben haben) gab's ja ausschliesslich das
 hier:
 --8--
  if os2 then write(lo(dosversion)div 10:2,'.',hi(dosversion))
 --8--
 Ist das das, was ich brauche?

Nein, weil es afaik einfach nur Bloedsinn ausgegeben hat, sobald
es ein OS/2 Warp vor sich hatte.

 Wenn ja, dann verstehe ich den Code in
 'writever' nicht, mit dem auf Warp getestet wird.  Auch nicht, wieso
 einmal div und einmal / verwendet wird.

Ist es kein Warp, so wird die klassische Ausgabe gewaehlt (welche
bei alten OS/2 Versionen korrekt war). Ist es dagegen ein OS/2 Warp
so muss man anders vorgehen, da die Version anders uebergeben
wird. Daraus ergibt sich dann auch warum mal ein nur ganzzahliges
Ergebnis verwendet wird, und mal auch Nachkommastellen.
Frage bitte nicht nach Logik, da nur IBM weiss, wieso sich Warp
anders verhaellt.
-- 
Mit freundlichen Gruessen,
Martin Wodrich

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


Re: OS-Plattformen

2005-12-22 Diskussionsfäden Michael Heydekamp
Martin Wodrich [EMAIL PROTECTED] wrote on 22.12.05:

 Michael Heydekamp [EMAIL PROTECTED] schrieb am 22.12.05 um 18:08:

[...]

 Eigentlich wuerde ich im UA-Header ohnehin ungerne solche Marketing-
 Bezeichnungen wie Warp verwenden.

 Du wirst dabei aber schwer darum kommen.

Wieso, ich kann doch auch OS2-3.0 schreiben (zu dämlich, daß der Name
das Betriebssystems auch noch eine Ziffer als letztes Zeichen hat).  Der
Header bzw. dessen Inhalt an dieser Stelle erfüllt einen technischen
Zweck, und wer den interpretiert, den interessiert die 3.0 sicher mehr
als der Marketingname Warp.

 Zumal diese meist bekannter sidn als die echte Versionnummer.

Aber Warp ist uneindeutig, das kann auch eine 4.0 oder 4.51 sein.   
Wobei mir gerade einfällt, daß das bisherige 'writever' eine 4.51 wohl
gar nicht korrekt ausgeben würde...?

 Ich erinnere nur an Windows 4.xx (besser bekannt als Windows 95, 98
 bzw. Millenium Edition (ME)) oder eben Windows NT 5.xx (aka Windows
 2000 ,XP bzw. 2003).

Siehe oben.  Der Unterschied ist, daß Win95, Win98 usw. eigenständige
und eindeutige (SE und sowas jetzt mal außen vor gelassen)
Versionsbezeichnungen und nicht nur ein Beiname wie Warp sind.  Da
steckt die Version auch im Namen selbst, bei Warp nicht.

 Ich kenne mich mit OS/2 nicht aus, aber ist nicht alles =3.0
 sowieso Warp?

Ist wohl so, siehe:
http://www.operating-system.org/betriebssystem/_german/bs-os2.htm

 Wenn ja, dann verstehe ich den Code in 'writever' nicht, mit dem auf
 Warp getestet wird.  Auch nicht, wieso einmal div und einmal /
 verwendet wird.

 Ist es kein Warp, so wird die klassische Ausgabe gewaehlt (welche bei
 alten OS/2 Versionen korrekt war). Ist es dagegen ein OS/2 Warp so
 muss man anders vorgehen, da die Version anders uebergeben wird.
 Daraus ergibt sich dann auch warum mal ein nur ganzzahliges Ergebnis
 verwendet wird, und mal auch Nachkommastellen.

Hab ich jetzt auch verstanden. :)

 Frage bitte nicht nach Logik, da nur IBM weiss, wieso sich Warp anders
 verhaellt.

Ach, die wollen mich nur ärgern... ;)


Michael

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list


OS-Plattformen

2005-12-19 Diskussionsfäden Michael Heydekamp
Hi,

in Sachen User-Agent: soll optional sowohl die Compiler-Plattform (bei
uns 'DOS16') als auch die Plattform ausgegeben werden können, unter der
XP (bzw. der UUZ) aktuell läuft.  Des weiteren soll angegeben werden
können, ob man die genaue Version ('WinXP', aber ohne genaue
Versionsnummer) oder nur die Versionsfamilie ('Win9x', 'WinNT')
ausgegeben haben will.

Nun hab ich mal versucht, aus 'writever()' und 'memstat' in xp5.pas
schlau zu werden (hab mich damit noch nie im Detail beschäftigt) und das
für meine Zwecke anzupassen.  Vielleicht kann sich mal jemand den Code
unten ansehen und eine Einschätzung geben, ob das wohl so laufen würde.
Wenn am Ende ein Leerstring zurückkommt, soll es plain DOS sein (da
würde dann auch nichts zusätzlich ausgegeben werden, weil ich
'DOS16/DOS6' o.ä. etwas dämlich fände, IMO spielt die Version da auch
keine wesentliche Rolle).

Was mir noch nicht so ganz klar ist:

1. Was ist denn case WinVersion of 1?  Windows 1.x/2.x?

2. Ich bin nicht sicher, ob die Reihenfolge in 'writever' eine Rolle
   spielt.  Muß die OS/2 = Linux = Win lauten?  Oder ist
   sichergestellt, daß 'WinVersion' wirklich immer 0 zurückgibt, wenn es
   kein Windows ist?

DOSBOX kann ich im Moment noch nicht berücksichtigen, weil der Code in
meiner Arbeitsumgebung noch nicht drin ist.  Here we go:

--8--
os:='';
case WinVersion of  { erstmal alle Windows-Versionen prüfen }
{ 1 : os:=??? }
  2 : os:='Win3.x';
  3 : if osfamily then
os:='Win9x'
  else begin
if lo(TrueWinVersion)5 then
  os:='Win95'
else case lo(dosversion) of
  7 : os:='Win98';
  8 : os:='WinMe';
end;
  end;
  4 : if (lo(WinNTVersion)=0) or osfamily then  { ohne XP_NTVDM.DLL }
os:='WinNT'
  else begin
if lo(WinNTVersion) in [5,6] then{ mit XP_NTVDM.DLL }
begin
  if hi(WinNTVersion)=0 then
os:='Win2K'
  else
os:='WinXP';
end
else os:='WinNT';
  end;
else begin
  if lo(dosversion)=10 then
os:='OS2'
  else if DOSEmuVersion'' then
os:='Linux[DOSEMU]'
end;
end;  { case }
if os'' then
  ua:=ua+iifs(hascompos,'/',iifs(hasbracket,'; (',' ('))+os;
--8--


Michael

FreeXP Entwickler-Mailingliste
Dev-List@freexp.de
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list