home *** CD-ROM | disk | FTP | other *** search
- Unit globals;
-
- { Use this Unit For Procedures, Functions and Variables that every Program you
- Write will share.
- }
-
- Interface
-
- Uses
- Dos;
-
- Type
- str1 = String[1]; str2 = String[2]; str3 = String[3];
- str4 = String[4]; str5 = String[5]; str6 = String[6];
- str7 = String[7]; str8 = String[8]; str9 = String[9];
- str10 = String[10]; str11 = String[11]; str12 = String[12];
- str13 = String[13]; str14 = String[14]; str15 = String[15];
- str16 = String[16]; str17 = String[17]; str18 = String[18];
- str19 = String[19]; str20 = String[20]; str21 = String[21];
- str22 = String[22]; str23 = String[23]; str24 = String[24];
- str25 = String[25]; str26 = String[26]; str27 = String[27];
- str28 = String[28]; str29 = String[29]; str30 = String[30];
- str31 = String[31]; str32 = String[32]; str33 = String[33];
- str34 = String[34]; str35 = String[35]; str36 = String[36];
- str37 = String[37]; str38 = String[38]; str39 = String[39];
- str40 = String[40]; str41 = String[41]; str42 = String[42];
- str43 = String[43]; str44 = String[44]; str45 = String[45];
- str46 = String[46]; str47 = String[47]; str48 = String[48];
- str49 = String[49]; str50 = String[50]; str51 = String[51];
- str52 = String[52]; str53 = String[53]; str54 = String[54];
- str55 = String[55]; str56 = String[56]; str57 = String[57];
- str58 = String[58]; str59 = String[59]; str60 = String[60];
- str61 = String[61]; str62 = String[62]; str63 = String[63];
- str64 = String[64]; str65 = String[65]; str66 = String[66];
- str67 = String[67]; str68 = String[68]; str69 = String[69];
- str70 = String[70]; str71 = String[71]; str72 = String[72];
- str73 = String[73]; str74 = String[74]; str75 = String[75];
- str76 = String[76]; str77 = String[77]; str78 = String[78];
- str79 = String[79]; str80 = String[80]; str81 = String[81];
- str82 = String[82]; str83 = String[83]; str84 = String[84];
- str85 = String[85]; str86 = String[86]; str87 = String[87];
- str88 = String[88]; str89 = String[89]; str90 = String[90];
- str91 = String[91]; str92 = String[92]; str93 = String[93];
- str94 = String[94]; str95 = String[95]; str96 = String[96];
- str97 = String[97]; str98 = String[98]; str99 = String[99];
- str100 = String[100]; str101 = String[101]; str102 = String[102];
- str103 = String[103]; str104 = String[104]; str105 = String[105];
- str106 = String[106]; str107 = String[107]; str108 = String[108];
- str109 = String[109]; str110 = String[110]; str111 = String[111];
- str112 = String[112]; str113 = String[113]; str114 = String[114];
- str115 = String[115]; str116 = String[116]; str117 = String[117];
- str118 = String[118]; str119 = String[119]; str120 = String[120];
- str121 = String[121]; str122 = String[122]; str123 = String[123];
- str124 = String[124]; str125 = String[125]; str126 = String[126];
- str127 = String[127]; str128 = String[128]; str129 = String[129];
- str130 = String[130]; str131 = String[131]; str132 = String[132];
- str133 = String[133]; str134 = String[134]; str135 = String[135];
- str136 = String[136]; str137 = String[137]; str138 = String[138];
- str139 = String[139]; str140 = String[140]; str141 = String[141];
- str142 = String[142]; str143 = String[143]; str144 = String[144];
- str145 = String[145]; str146 = String[146]; str147 = String[147];
- str148 = String[148]; str149 = String[149]; str150 = String[150];
- str151 = String[151]; str152 = String[152]; str153 = String[153];
- str154 = String[154]; str155 = String[155]; str156 = String[156];
- str157 = String[157]; str158 = String[158]; str159 = String[159];
- str160 = String[160]; str161 = String[161]; str162 = String[162];
- str163 = String[163]; str164 = String[164]; str165 = String[165];
- str166 = String[166]; str167 = String[167]; str168 = String[168];
- str169 = String[169]; str170 = String[170]; str171 = String[171];
- str172 = String[172]; str173 = String[173]; str174 = String[174];
- str175 = String[175]; str176 = String[176]; str177 = String[177];
- str178 = String[178]; str179 = String[179]; str180 = String[180];
- str181 = String[181]; str182 = String[182]; str183 = String[183];
- str184 = String[184]; str185 = String[185]; str186 = String[186];
- str187 = String[187]; str188 = String[188]; str189 = String[189];
- str190 = String[190]; str191 = String[191]; str192 = String[192];
- str193 = String[193]; str194 = String[194]; str195 = String[195];
- str196 = String[196]; str197 = String[197]; str198 = String[198];
- str199 = String[199]; str200 = String[200]; str201 = String[201];
- str202 = String[202]; str203 = String[203]; str204 = String[204];
- str205 = String[205]; str206 = String[206]; str207 = String[207];
- str208 = String[208]; str209 = String[209]; str210 = String[210];
- str211 = String[211]; str212 = String[212]; str213 = String[213];
- str214 = String[214]; str215 = String[215]; str216 = String[216];
- str217 = String[217]; str218 = String[218]; str219 = String[219];
- str220 = String[220]; str221 = String[221]; str222 = String[222];
- str223 = String[223]; str224 = String[224]; str225 = String[225];
- str226 = String[226]; str227 = String[227]; str228 = String[228];
- str229 = String[229]; str230 = String[230]; str231 = String[231];
- str232 = String[232]; str233 = String[233]; str234 = String[234];
- str235 = String[235]; str236 = String[236]; str237 = String[237];
- str238 = String[238]; str239 = String[239]; str240 = String[240];
- str241 = String[241]; str242 = String[242]; str243 = String[243];
- str244 = String[244]; str245 = String[245]; str246 = String[246];
- str247 = String[247]; str248 = String[248]; str249 = String[249];
- str250 = String[250]; str251 = String[251]; str252 = String[252];
- str253 = String[253]; str254 = String[254]; str255 = String[255];
-
- Const
- MaxWord = $ffff;
- MinWord = 0;
- MinInt = Integer($8000);
- MinLongInt = $80000000;
- UseCfg = True;
-
- {Color Constants:
- Black = 0; Blue = 1; Green = 2; Cyan = 3; Red = 4;
- Magenta = 5; Brown = 6; LtGray = 7;
- DkGray = 8; LtBlue = 9; LtGreen = A; LtCyan = B; LtRed = C;
- LtMagenta = D; Yellow = E; White = F
- }
-
- Const Blink = $80;
-
- {Screen color Constants}
- Const BlackOnBlack = $00; BlueOnBlack = $01;
- Const BlackOnBlue = $10; BlueOnBlue = $11;
- Const BlackOnGreen = $20; BlueOnGreen = $21;
- Const BlackOnCyan = $30; BlueOnCyan = $31;
- Const BlackOnRed = $40; BlueOnRed = $41;
- Const BlackOnMagenta = $50; BlueOnMagenta = $51;
- Const BlackOnBrown = $60; BlueOnBrown = $61;
- Const BlackOnLtGray = $70; BlueOnLtGray = $71;
- Const GreenOnBlack = $02; CyanOnBlack = $03;
- Const GreenOnBlue = $12; CyanOnBlue = $13;
- Const GreenOnGreen = $22; CyanOnGreen = $23;
- Const GreenOnCyan = $32; CyanOnCyan = $33;
- Const GreenOnRed = $42; CyanOnRed = $43;
- Const GreenOnMagenta = $52; CyanOnMagenta = $53;
- Const GreenOnBrown = $62; CyanOnBrown = $63;
- Const GreenOnLtGray = $72; CyanOnLtGray = $73;
- Const RedOnBlue = $14; MagentaOnBlue = $15;
- Const RedOnGreen = $24; MagentaOnGreen = $25;
- Const RedOnCyan = $34; MagentaOnCyan = $35;
- Const RedOnRed = $44; MagentaOnRed = $45;
- Const RedOnMagenta = $54; MagentaOnMagenta = $55;
- Const RedOnBrown = $64; MagentaOnBrown = $65;
- Const RedOnLtGray = $74; MagentaOnLtGray = $75;
- Const BrownOnBlack = $06; LtGrayOnBlack = $07;
- Const BrownOnBlue = $16; LtGrayOnBlue = $17;
- Const BrownOnGreen = $26; LtGrayOnGreen = $27;
- Const BrownOnCyan = $36; LtGrayOnCyan = $37;
- Const BrownOnRed = $46; LtGrayOnRed = $47;
- Const BrownOnMagenta = $56; LtGrayOnMagenta = $57;
- Const BrownOnBrown = $66; LtGrayOnBrown = $67;
- Const BrownOnLtGray = $76; LtGrayOnLtGray = $77;
- Const DkGrayOnBlack = $08; LtBlueOnBlack = $09;
- Const DkGrayOnBlue = $18; LtBlueOnBlue = $19;
- Const DkGrayOnGreen = $28; LtBlueOnGreen = $29;
- Const DkGrayOnCyan = $38; LtBlueOnCyan = $39;
- Const DkGrayOnRed = $48; LtBlueOnRed = $49;
- Const DkGrayOnMagenta = $58; LtBlueOnMagenta = $59;
- Const DkGrayOnBrown = $68; LtBlueOnBrown = $69;
- Const DkGrayOnLtGray = $78; LtBlueOnLtGray = $79;
- Const LtGreenOnBlack = $0A; LtCyanOnBlack = $0B;
- Const LtGreenOnBlue = $1A; LtCyanOnBlue = $1B;
- Const LtGreenOnGreen = $2A; LtCyanOnGreen = $2B;
- Const LtGreenOnCyan = $3A; LtCyanOnCyan = $3B;
- Const LtGreenOnRed = $4A; LtCyanOnRed = $4B;
- Const LtGreenOnMagenta = $5A; LtCyanOnMagenta = $5B;
- Const LtGreenOnBrown = $6A; LtCyanOnBrown = $6B;
- Const LtGreenOnLtGray = $7A; LtCyanOnLtGray = $7B;
- Const LtRedOnBlue = $1C; LtMagentaOnBlue = $1D;
- Const LtRedOnGreen = $2C; LtMagentaOnGreen = $2D;
- Const LtRedOnCyan = $3C; LtMagentaOnCyan = $3D;
- Const LtRedOnRed = $4C; LtMagentaOnRed = $4D;
- Const LtRedOnMagenta = $5C; LtMagentaOnMagenta = $5D;
- Const LtRedOnBrown = $6C; LtMagentaOnBrown = $6D;
- Const LtRedOnLtGray = $7C; LtMagentaOnLtGray = $7D;
- Const YellowOnBlack = $0E; WhiteOnBlack = $0F;
- Const YellowOnBlue = $1E; WhiteOnBlue = $1F;
- Const YellowOnGreen = $2E; WhiteOnGreen = $2F;
- Const YellowOnCyan = $3E; WhiteOnCyan = $3F;
- Const YellowOnRed = $4E; WhiteOnRed = $4F;
- Const YellowOnMagenta = $5E; WhiteOnMagenta = $5F;
- Const YellowOnBrown = $6E; WhiteOnBrown = $6F;
- Const YellowOnLtGray = $7E; WhiteOnLtGray = $7F;
- Const BlackOnDkGray = Blink + $00; BlueOnDkGray = Blink + $01;
- Const BlackOnLtBlue = Blink + $10; BlueOnLtBlue = Blink + $11;
- Const BlackOnLtGreen = Blink + $20; BlueOnLtGreen = Blink + $21;
- Const BlackOnLtCyan = Blink + $30; BlueOnLtCyan = Blink + $31;
- Const BlackOnLtRed = Blink + $40; BlueOnLtRed = Blink + $41;
- Const BlackOnLtMagenta = Blink + $50; BlueOnLtMagenta = Blink + $51;
- Const BlackOnYellow = Blink + $60; BlueOnYellow = Blink + $61;
- Const BlackOnWhite = Blink + $70; BlueOnWhite = Blink + $71;
- Const GreenOnDkGray = Blink + $02; CyanOnDkGray = Blink + $03;
- Const GreenOnLtBlue = Blink + $12; CyanOnLtBlue = Blink + $13;
- Const GreenOnLtGreen = Blink + $22; CyanOnLtGreen = Blink + $23;
- Const GreenOnLtCyan = Blink + $32; CyanOnLtCyan = Blink + $33;
- Const GreenOnLtRed = Blink + $42; CyanOnLtRed = Blink + $43;
- Const GreenOnLtMagenta = Blink + $52; CyanOnLtMagenta = Blink + $53;
- Const GreenOnYellow = Blink + $62; CyanOnYellow = Blink + $63;
- Const GreenOnWhite = Blink + $72; CyanOnWhite = Blink + $73;
- Const RedOnDkGray = Blink + $04; MagentaOnDkGray = Blink + $05;
- Const RedOnLtBlue = Blink + $14; MagentaOnLtBlue = Blink + $15;
- Const RedOnLtGreen = Blink + $24; MagentaOnLtGreen = Blink + $25;
- Const RedOnLtCyan = Blink + $34; MagentaOnLtCyan = Blink + $35;
- Const RedOnLtRed = Blink + $44; MagentaOnLtRed = Blink + $45;
- Const RedOnLtMagenta = Blink + $54; MagentaOnLtMagenta= Blink + $55;
- Const RedOnYellow = Blink + $64; MagentaOnYellow = Blink + $65;
- Const RedOnWhite = Blink + $74; MagentaOnWhite = Blink + $75;
- Const BrownOnDkGray = Blink + $06; LtGrayOnDkGray = Blink + $07;
- Const BrownOnLtBlue = Blink + $16; LtGrayOnLtBlue = Blink + $17;
- Const BrownOnLtGreen = Blink + $26; LtGrayOnLtGreen = Blink + $27;
- Const BrownOnLtCyan = Blink + $36; LtGrayOnLtCyan = Blink + $37;
- Const BrownOnLtRed = Blink + $46; LtGrayOnLtRed = Blink + $47;
- Const BrownOnLtMagenta = Blink + $56; LtGrayOnLtMagenta = Blink + $57;
- Const BrownOnYellow = Blink + $66; LtGrayOnYellow = Blink + $67;
- Const BrownOnWhite = Blink + $76; LtGrayOnWhite = Blink + $77;
- Const DkGrayOnDkGray = Blink + $08; LtBlueOnDkGray = Blink + $09;
- Const DkGrayOnLtBlue = Blink + $18; LtBlueOnLtBlue = Blink + $19;
- Const DkGrayOnLtGreen = Blink + $28; LtBlueOnLtGreen = Blink + $29;
- Const DkGrayOnLtCyan = Blink + $38; LtBlueOnLtCyan = Blink + $39;
- Const DkGrayOnLtRed = Blink + $48; LtBlueOnLtRed = Blink + $49;
- Const DkGrayOnLtMagenta = Blink + $58; LtBlueOnLtMagenta = Blink + $59;
- Const DkGrayOnYellow = Blink + $68; LtBlueOnYellow = Blink + $69;
- Const DkGrayOnWhite = Blink + $78; LtBlueOnWhite = Blink + $79;
- Const LtGreenOnDkGray = Blink + $0A; LtCyanOnDkGray = Blink + $0B;
- Const LtGreenOnLtBlue = Blink + $1A; LtCyanOnLtBlue = Blink + $1B;
- Const LtGreenOnLtGreen = Blink + $2A; LtCyanOnLtGreen = Blink + $2B;
- Const LtGreenOnLtCyan = Blink + $3A; LtCyanOnLtCyan = Blink + $3B;
- Const LtGreenOnLtRed = Blink + $4A; LtCyanOnLtRed = Blink + $4B;
- Const LtGreenOnLtMagenta= Blink + $5A; LtCyanOnLtMagenta = Blink + $5B;
- Const LtGreenOnYellow = Blink + $6A; LtCyanOnYellow = Blink + $6B;
- Const LtGreenOnWhite = Blink + $7A; LtCyanOnWhite = Blink + $7B;
- Const LtRedOnDkGray = Blink + $0C; LtMagentaOnDkGray = Blink + $0D;
- Const LtRedOnLtBlue = Blink + $1C; LtMagentaOnLtBlue = Blink + $1D;
- Const LtRedOnLtGreen = Blink + $2C; LtMagentaOnLtGreen= Blink + $2D;
- Const LtRedOnLtCyan = Blink + $3C; LtMagentaOnLtCyan = Blink + $3D;
- Const LtRedOnLtRed = Blink + $4C; LtMagentaOnLtRed = Blink + $4D;
- Const LtRedOnLtMagenta = Blink + $5C; LtMagentaOnLtMagenta= Blink + $5D;
- Const LtRedOnYellow = Blink + $6C; LtMagentaOnYellow = Blink + $6D;
- Const LtRedOnWhite = Blink + $7C; LtMagentaOnWhite = Blink + $7D;
- Const YellowOnDkGray = Blink + $0E; WhiteOnDkGray = Blink + $0F;
- Const YellowOnLtBlue = Blink + $1E; WhiteOnLtBlue = Blink + $1F;
- Const YellowOnLtGreen = Blink + $2E; WhiteOnLtGreen = Blink + $2F;
- Const YellowOnLtCyan = Blink + $3E; WhiteOnLtCyan = Blink + $3F;
- Const YellowOnLtRed = Blink + $4E; WhiteOnLtRed = Blink + $4F;
- Const YellowOnLtMagenta = Blink + $5E; WhiteOnLtMagenta = Blink + $5F;
- Const YellowOnYellow = Blink + $6E; WhiteOnYellow = Blink + $6F;
- Const YellowOnWhite = Blink + $7E; WhiteOnWhite = Blink + $7F;
-
- Var
- TempStr : String;
- TempStrLen : Byte Absolute TempStr;
-
- Function Exist(fn: str80): Boolean;
- { Returns True if File fn exists in the current directory }
-
- Function ExistsOnPath(Var fn: str80): Boolean;
- { Returns True if File fn exists in any directory specified in the current }
- { path and changes fn to a fully qualified path/File. }
-
- Function StrUpCase(s : String): String;
- { Returns an upper Case String from s. Applicable to the English language. }
-
- Function StrLowCase(s : String): String;
- { Returns a String = to s With all upper Case Characters converted to lower }
-
- Function Asc2Str(Var s; max: Byte): String;
- { Converts an ASCIIZ String to a Turbo Pascal String With a maximum length }
- { of max Characters. }
-
- Procedure Str2Asc(s: String; Var ascStr; max: Word);
- { Converts a TP String to an ASCIIZ String of no more than max length. }
- { WARNinG: No checks are made that there is sufficient room in destination }
- { Variable. }
-
- Function LastPos(ch: Char; s: String): Byte;
- { Returns the last position of ch in s }
-
- Procedure CheckIO(a: Byte);
-
- Implementation
-
- Function Exist(fn: str80): Boolean;
- begin
- TempStrLen := 0;
- TempStr := FSearch(fn,'');
- Exist := TempStrLen <> 0;
- end; { Exist }
-
- Function ExistsOnPath(Var fn: str80): Boolean;
- begin
- TempStrLen := 0;
- TempStr := FSearch(fn,GetEnv('PATH'));
- ExistsOnPath := TempStrLen <> 0;
- fn := FExpand(TempStr);
- end; { ExistsOnPath }
-
- Function StrUpCase(s : String): String;
- Var x : Byte;
- begin
- StrUpCase[0] := s[0];
- For x := 1 to length(s) do
- StrUpCase[x] := UpCase(s[x]);
- end; { StrUpCase }
-
- Function StrLowCase(s : String): String;
- Var x : Byte;
- begin
- StrLowCase[0] := s[0];
- For x := 1 to length(s) do
- Case s[x] of
- 'a'..'z': StrLowCase[x] := chr(ord(s[x]) and $df);
- else StrLowCase[x] := s[x];
- end; { Case }
- end; { StrLowCase }
-
- Function Asc2Str(Var s; max: Byte): String;
- Var stArray : Array[1..255] of Char Absolute s;
- len : Integer;
- begin
- len := pos(#0,stArray)-1; { Get the length }
- if (len > max) or (len < 0) then { length exceeds maximum }
- len := max; { so set to maximum }
- Asc2Str := stArray;
- Asc2Str[0] := chr(len); { Set length }
- end; { Asc2Str }
-
- Procedure Str2Asc(s: String; Var ascStr; max: Word);
- begin
- FillChar(AscStr,max,0);
- if length(s) < max then
- move(s[1],AscStr,length(s))
- else
- move(s[1],AscStr,max);
- end; { Str2Asc }
-
-
- Function LastPos(ch: Char; s: String): Byte;
- Var x : Word;
- begin
- x := succ(length(s));
- Repeat
- dec(x);
- Until (s[x] = ch) or (x = 0);
- end; { LastPos }
-
- Procedure CheckIO(a: Byte);
- Var e : Integer;
- begin
- e := Ioresult;
- if e <> 0 then begin
- Writeln('I/O error ',e,' section ',a);
- halt(e);
- end;
- end; { CheckIO }
-
- end. { Globals }
-