106 lines
2.3 KiB
Plaintext
106 lines
2.3 KiB
Plaintext
{$IFDEF WIN32}
|
|
{$I DEFINES.INC}
|
|
{$ENDIF}
|
|
|
|
PROGRAM TAGLINE;
|
|
|
|
USES
|
|
Crt,
|
|
Dos;
|
|
|
|
TYPE
|
|
StrPointerRec = RECORD
|
|
Pointer,
|
|
TextSize: LongInt;
|
|
END;
|
|
|
|
VAR
|
|
RGStrFile: FILE;
|
|
StrPointerFile: FILE OF StrPointerRec;
|
|
F: Text;
|
|
StrPointer: StrPointerRec;
|
|
S: STRING;
|
|
RGStrNum,
|
|
Counter: Word;
|
|
|
|
FUNCTION Exist(FN: STRING): Boolean;
|
|
VAR
|
|
DirInfo: SearchRec;
|
|
BEGIN
|
|
FindFirst(FN,AnyFile,DirInfo);
|
|
Exist := (DosError = 0);
|
|
END;
|
|
|
|
BEGIN
|
|
CLrScr;
|
|
WriteLn('Renegade Tagline Compiler Version 1.1');
|
|
Writeln('Copyright 2006-2009 - The Renegade Developement Team');
|
|
WriteLn;
|
|
IF (NOT Exist('TAGLINE.TXT')) THEN
|
|
WriteLn(^G^G^G'TAGLINE.TXT file was not found!')
|
|
ELSE
|
|
BEGIN
|
|
Counter := 0;
|
|
Write('Checking maximum string length of 74 characters ... ');
|
|
Assign(F,'TAGLINE.TXT');
|
|
Reset(F);
|
|
WHILE NOT EOF(F) DO
|
|
BEGIN
|
|
ReadLn(F,S);
|
|
IF (Length(S) > 74) THEN
|
|
BEGIN
|
|
WriteLn;
|
|
WriteLn;
|
|
WriteLn('This string is longer then 74 characters:');
|
|
WriteLn;
|
|
Writeln(^G^G^G'-> '+S);
|
|
WriteLn;
|
|
WriteLn('Please reduce it''s length or delete from TAGLINE.TXT!');
|
|
Halt;
|
|
END;
|
|
Inc(Counter);
|
|
END;
|
|
WriteLn('Done!');
|
|
IF (Counter > 65535) THEN
|
|
BEGIN
|
|
WriteLn;
|
|
WriteLn;
|
|
WriteLn(^G^G^G'This file contains more then 65,535 lines');
|
|
WriteLn;
|
|
Writeln('Please reduce the number of lines in TAGLINE.TXT!');
|
|
WriteLn;
|
|
WriteLn('NOTE: Blank lines between Taglines are not required.');
|
|
Writeln;
|
|
Halt;
|
|
END;
|
|
WriteLn;
|
|
Write('Compiling taglines ... ');
|
|
Assign(StrPointerFile,'TAGLINE.PTR');
|
|
ReWrite(StrPointerFile);
|
|
Assign(RGStrFile,'TAGLINE.DAT');
|
|
ReWrite(RGStrFile,1);
|
|
Reset(F);
|
|
WHILE NOT EOF(F) DO
|
|
BEGIN
|
|
ReadLn(F,S);
|
|
IF (S <> '') THEN
|
|
BEGIN
|
|
WITH StrPointer DO
|
|
BEGIN
|
|
Pointer := (FileSize(RGStrFile) + 1);
|
|
TextSize := 0;
|
|
END;
|
|
Seek(RGStrFile,FileSize(RGStrFile));
|
|
Inc(StrPointer.TextSize,(Length(S) + 1));
|
|
BlockWrite(RGStrFile,S,(Length(S) + 1));
|
|
Seek(StrPointerFile,FileSize(StrPointerFile));
|
|
Write(StrPointerFile,StrPointer);
|
|
END;
|
|
END;
|
|
Close(F);
|
|
Close(RGStrFile);
|
|
Close(StrPointerFile);
|
|
WriteLn('Done!')
|
|
END;
|
|
END.
|