home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / dtx9101 / utils / boots / doscount.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-10-14  |  1.7 KB  |  66 lines

  1. {$A+,B-,D+,E+,F-,G-,I+,L+,N-,O-,R-,S+,V+,X-}
  2.  
  3. UNIT DOSCountry;
  4.  
  5. INTERFACE
  6.  
  7. CONST
  8.   USA          = 01;
  9.   Netherlands  = 31;
  10.   Belgium      = 32;
  11.   France       = 33;
  12.   Spain        = 34;
  13.   Italy        = 39;
  14.   Switzerland  = 41;
  15.   Austria      = 43;
  16.   Britain      = 44;
  17.   Denmark      = 45;
  18.   Sweden       = 46;
  19.   Norway       = 47;
  20.   Germany      = 49;
  21.  
  22.  
  23.   FUNCTION fGetCountry: BYTE;
  24.  
  25. IMPLEMENTATION
  26.  
  27. USES
  28.   Dos;
  29.  
  30. VAR
  31.   Regs: Registers;
  32.  
  33. FUNCTION fGetCountry: BYTE;
  34. TYPE
  35.   tBuffer = RECORD   (* DOS-Puffer mit Landes-Information *)
  36.     DateFormat: WORD;    (* Aufbau nur gültig ab DOS 3.0! *)
  37.     Currency  : ARRAY[0..4] OF CHAR;(* Währung            *)
  38.     thousand  : CHAR;               (* Tausender-Trennung *)
  39.     dummy1    : BYTE;               (* ein Null-Byte      *)
  40.     dezimal   : CHAR;               (* Dezimal-Zeichen    *)
  41.     dummy2    : BYTE;               (* ein Null-Byte      *)
  42.     date      : CHAR;               (* Datum-Trennzeichen *)
  43.     dummy3    : BYTE;               (* ein Null-Byte      *)
  44.     time      : CHAR;               (* Zeit-Trennzeichen  *)
  45.     dummy4    : BYTE;               (* ein Null-Byte      *)
  46.     Curr_Form : BYTE; (* BITSET *)  (* Währungsformat     *)
  47.     exact     : BYTE; (* Stellen hinter dem Währungskomma *)
  48.     Time_Form : BYTE; (* BITSET *)  (* Zeitformat         *)
  49.     Rout_Offs : WORD; (* Offset DOS-Zeichensatztabelle    *)
  50.     Rout_Seg  : WORD; (* Segment DOS-Zeichensatztabelle   *)
  51.     reserved  : ARRAY[0..11] OF BYTE; (* reserv. Bereich  *)
  52.   END;
  53. VAR
  54.   vBuffer: tBuffer;
  55. BEGIN
  56.   WITH Regs DO BEGIN
  57.     AH := $38;
  58.     DS := SEG(vBuffer);
  59.     DX := OFS(vBuffer);
  60.     AL := 0;
  61.     INTR($21, Regs);
  62.     fGetCountry := BL;
  63.   END;
  64. END;
  65.  
  66. END.