Files
TeslaRel410/BORLAND/BDE/EXAMPLES/PASCAL/SYSINFO.PAS
T
CydandClaude Fable 5 63312e07f9 source410: literal 4.10 source reconstruction + BC++ 4.52 fleet toolchain archived
- BORLAND/: Borland C++ 4.52 (chosen over 4.5 by byte-match: CODE/RP/CW32.LIB
  is identical to 4.52's install lib). BCC32/TLINK32/TLIB/MAKE run natively on
  Win11; CODE/BT/OPT.MAK is the shipped BTL4OPT.EXE's exact flag recipe
  (extender = Borland PowerPack DPMI32, not Phar Lap TNT).
- restoration/source410/: the literal 1995-form reconstruction of the missing
  BT game source (never mixed into CODE/). Round 1-3 state:
  * 6 of 10 surviving original TUs COMPILE CLEAN under the period toolchain
    (BTMSSN, BTCNSL, BTSCNRL, BTTEAM, BTL4MODE, BTL4ARND) - first builds
    since 1996.
  * BT_L4/BTL4APP.CPP pilot reconstruction: 12/12 functions, Fail() lands on
    its binary-recorded line 400 exactly.
  * BT/BTCNSL.HPP: console wire IDs recovered from the binary's ctors
    (Killed=9, Damaged=10, ScoreUpdate=13, DeathWithoutHonor=15 [T1];
    TeamScore=12 flagged [T4]).
  * MUNGA/: 8 engine-header backfills back-dated from the BT412 WinTesla tree
    (VDATA numbering decomp-verified; AUDREND's OpenAL-era virtual removed -
    the period compiler is the drift detector).
  * Tooling: backdate.py (WinTesla->1995 header transform), compile410.sh
    (per-TU verification sweep under authentic OPT.MAK flags).
  * README: corrected roadmap - MECH.HPP is the capstone grown with the mech
    TU reconstructions; BTREG.CPP green = the header-family milestone.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-19 07:33:26 -05:00

144 lines
5.2 KiB
ObjectPascal

{ SysInfo.pas }
program SystemInfo;
{$IfDef VER80}
uses SnipTool, SnipData, SysUtils, WinTypes, WinProcs,
DbiProcs, DbiTypes, DbiErrs;
{$Else}
uses WinTypes, WinProcs, WinCrt, Strings, DbiProcs, DbiTypes,
DbiErrs, SnipTool, SnipData;
{$EndIf}
{=====================================================================
Function:
SysInfo();
Description:
This example displays information about the system.
===================================================================== }
var
rslt: DBIResult; { Value returned from IDAPI functions }
sysVers: SYSVersion; { Version information }
sysConf: SYSConfig; { Configuration information }
clientInf: CLIENTInfo; { Client information }
sysInf: SYSInfo; { System information }
szDate: array[0..12] of CHAR; { String to hold the date }
ArgDate: array[0..2] of UINT16;
uMonth: UINT16; { Month of the year }
uDay: UINT16; { Day of the month }
iYear: INT16; { Year }
szTime: array[0..12] of CHAR; { String to contain the time }
ArgTime: array[0..2] of UINT16;
uHour: UINT16; { Hour }
uMin: UINT16; { Minute }
uMilSec: UINT16; { Millisecond }
szTrueFalse: array[0..6] of CHAR;
begin
Screen('*** Getting System Information ***');
Screen(' Initializing IDAPI...');
InitOutput;
rslt := ChkRslt(DbiInit(nil), DBIERR_NONE, ' Error - Init');
if (rslt <> DBIERR_NONE) then
begin
Screen('');
Screen('*** End of Example ***');
CloseOutput;
exit;
end;
Screen('');
Screen(' Getting System Version Info...');
ChkRslt(DbiGetSysVersion(sysVers), DBIERR_NONE,
' Error - GetSysVersion.');
{ Format the date to MM\DD\YYYY format }
ChkRslt(DbiDateDecode(sysVers.dateVer, uMonth, uDay,
iYear),DBIERR_NONE,
' Error - DateEncode.');
ArgDate[0] := uMonth;
ArgDate[1] := uDay;
ArgDate[2] := iYear;
wvsprintf(szDate, '%u\%u\%u', ArgDate);
{ Format the time to HH:MM:SS format }
ChkRslt(DbiTimeDecode(sysVers.timeVer, uHour, uMin,
uMilSec),DBIERR_NONE,
' Error - TimeEncode.');
ArgTime[0] := uHour;
ArgTime[1] := uMin;
ArgTime[2] := trunc(uMilSec / 1000);
wvsprintf(szTime, '%02u:%02u:%02u', ArgTime);
{ Display the version information }
Screen(' IDAPI Version: '+IntToStr(sysVers.iVersion)+' ');
Screen(' Interface Level: '+IntToStr(sysVers.iIntfLevel)+' ');
Screen(' Version Date: '+StrPas(szDate)+' ');
Screen(' Version Time: '+StrPas(szTime)+' ');
Screen('');
Screen(' Getting System Configuration Information...');
ChkRslt(DbiGetSysConfig(sysConf), DBIERR_NONE,
' Error - GetSysConfig.');
{ Display configuration information }
if sysConf.bLocalShare then
StrCopy(szTrueFalse,'TRUE')
else
StrCopy(szTrueFalse,'FALSE');
Screen(' Share Local Tables : '+StrPas(szTrueFalse)+' ');
if sysConf.bNetShare then
StrCopy(szTrueFalse,'TRUE')
else
StrCopy(szTrueFalse,'FALSE');
Screen(' Share Network Tables: '+StrPas(szTrueFalse)+' ');
Screen(' Net Protocol: '+IntToStr(sysConf.iNetProtocol)+' ');
Screen(' Network Type: '+
' '+StrPas(sysConf.szNetType)+' ');
Screen(' User Name: '+
' '+StrPas(sysConf.szUserName)+' ');
Screen(' Config File: '+
' '+StrPas(sysConf.szIniFile)+' ');
Screen(' Lang. Driver: '+
' '+StrPas(sysConf.szLangDriver)+' ');
Screen('');
Screen(' Getting Client Information...');
ChkRslt(DbiGetClientInfo(clientInf), DBIERR_NONE,
' Error - GetClientInfo.');
{ Display Client information }
Screen(' Documentary Name: '+
' '+StrPas(clientInf.szName)+' ');
Screen(' No. of Sessions: '+
' '+IntToStr(clientInf.iSessions)+' ');
Screen(' Working Directory: '+
' '+StrPas(clientInf.szWorkDir)+' ');
Screen(' Client Language(for messages): '+
' '+StrPas(clientInf.szLang)+' ');
Screen('');
Screen(' Getting System Status Information...');
ChkRslt(DbiGetSysInfo(SysInf), DBIERR_NONE,
' Error - GetSysInfo.');
{ Display system status information }
Screen(' '+IntToStr(sysInf.iBufferSpace)+'K Buffer Space '+
IntToStr(sysInf.iHeapSpace)+'K Heap Space');
Screen(' Active: '+IntToStr(sysInf.iDrivers)+' driver(s) '+
IntToStr(sysInf.iClients)+' client(s) '+
IntToStr(sysInf.iSessions)+ ' session(s)');
Screen(' Open : '+IntToStr(sysInf.iDatabases)+
' Database(s) '+IntToStr(sysInf.iCursors)+' Cursor(s)');
{ Exit IDAPI }
DbiExit;
Screen('');
CloseOutput;
Screen('*** End of example ***');
end.