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