Ron
2006-10-26 20:36:20
Ascii Generator by Ron
Just copy/paste the code, run the script, and type in Only letters and numbers and the script will generate ascii text. :) Enjoy!
How is this useful? It's kind of fun. And it's a quick way of making cool top comments in your script. :P
~Ron
Just copy/paste the code, run the script, and type in Only letters and numbers and the script will generate ascii text. :) Enjoy!
How is this useful? It's kind of fun. And it's a quick way of making cool top comments in your script. :P
{.Script Info:
# ScriptName = Ascii Generator
# Author = Ron from moparisthebest.com
# Description = Generates Ascii Text. Run the script and type in something.
# Version = v.1
# Date = October 15, 2006 at 2:05 PM [GTM-5]
# Comments = Enjoy!
/Script Info}
Program Ascii_Generator_By_Ron;
Var
Text : String;
Line : Array[1..5] of String;
// Setup all the letters and numbers. From line 18 to 349.
Procedure LetterA;
Begin
Line[1] := Line[1] + ' /\ ';
Line[2] := Line[2] + ' / \ ';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '|====|';
Line[5] := Line[5] + '| |';
End;
Procedure LetterB;
Begin
Line[1] := Line[1] + '/==\';
Line[2] := Line[2] + '| /';
Line[3] := Line[3] + '| < ';
Line[4] := Line[4] + '| \';
Line[5] := Line[5] + '|==/';
End;
Procedure LetterC;
Begin
Line[1] := Line[1] + ' ===';
Line[2] := Line[2] + '/ ';
Line[3] := Line[3] + '| ';
Line[4] := Line[4] + '\ ';
Line[5] := Line[5] + ' ===';
End;
Procedure LetterD;
Begin
Line[1] := Line[1] + '/==\ ';
Line[2] := Line[2] + '| \';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '| /';
Line[5] := Line[5] + '|==/ ';
End;
Procedure LetterE;
Begin
Line[1] := Line[1] + '|===';
Line[2] := Line[2] + '| ';
Line[3] := Line[3] + '|== ';
Line[4] := Line[4] + '| ';
Line[5] := Line[5] + '|===';
End;
Procedure LetterF;
Begin
Line[1] := Line[1] + '|===';
Line[2] := Line[2] + '| ';
Line[3] := Line[3] + '|== ';
Line[4] := Line[4] + '| ';
Line[5] := Line[5] + '| ';
End;
Procedure LetterG;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| ___';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '|===|';
End;
Procedure LetterH;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '|===|';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '| |';
End;
Procedure LetterI;
Begin
Line[1] := Line[1] + '=====';
Line[2] := Line[2] + ' | ';
Line[3] := Line[3] + ' | ';
Line[4] := Line[4] + ' | ';
Line[5] := Line[5] + '=====';
End;
Procedure LetterJ;
Begin
Line[1] := Line[1] + '=====';
Line[2] := Line[2] + ' | ';
Line[3] := Line[3] + ' | ';
Line[4] := Line[4] + '| | ';
Line[5] := Line[5] + '|==/ ';
End;
Procedure LetterK;
Begin
Line[1] := Line[1] + '| /';
Line[2] := Line[2] + '| / ';
Line[3] := Line[3] + '|< ';
Line[4] := Line[4] + '| \ ';
Line[5] := Line[5] + '| \';
End;
Procedure LetterL;
Begin
Line[1] := Line[1] + '| ';
Line[2] := Line[2] + '| ';
Line[3] := Line[3] + '| ';
Line[4] := Line[4] + '| ';
Line[5] := Line[5] + '|===';
End;
Procedure LetterM;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '|\ /|';
Line[3] := Line[3] + '| \/ |';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '| |';
End;
Procedure LetterN;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '|\ |';
Line[3] := Line[3] + '| \ |';
Line[4] := Line[4] + '| \|';
Line[5] := Line[5] + '| |';
End;
Procedure LetterO;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '\===/';
End;
Procedure LetterP;
Begin
Line[1] := Line[1] + '/==\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '|__/';
Line[4] := Line[4] + '| ';
Line[5] := Line[5] + '| ';
End;
Procedure LetterQ;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| \ |';
Line[4] := Line[4] + '| \|';
Line[5] := Line[5] + '\===\';
End;
Procedure LetterR;
Begin
Line[1] := Line[1] + '|===\ ';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '|___/ ';
Line[4] := Line[4] + '| \ ';
Line[5] := Line[5] + '| \ ';
End;
Procedure LetterS;
Begin
Line[1] := Line[1] + ' /==\';
Line[2] := Line[2] + '/ ';
Line[3] := Line[3] + '\===\';
Line[4] := Line[4] + ' /';
Line[5] := Line[5] + '\==/ ';
End;
Procedure LetterT;
Begin
Line[1] := Line[1] + '=====';
Line[2] := Line[2] + ' | ';
Line[3] := Line[3] + ' | ';
Line[4] := Line[4] + ' | ';
Line[5] := Line[5] + ' | ';
End;
Procedure LetterU;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '\===/';
End;
Procedure LetterV;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '\ /';
Line[3] := Line[3] + ' \ / ';
Line[4] := Line[4] + ' \ / ';
Line[5] := Line[5] + ' \/ ';
End;
Procedure LetterW;
Begin
Line[1] := Line[1] + '| |';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '\ /\ /';
Line[5] := Line[5] + ' \/ \/ ';
End;
Procedure LetterX;
Begin
Line[1] := Line[1] + '\ /';
Line[2] := Line[2] + ' \ / ';
Line[3] := Line[3] + ' \/ ';
Line[4] := Line[4] + ' / \ ';
Line[5] := Line[5] + '/ \';
End;
Procedure LetterY;
Begin
Line[1] := Line[1] + '\ /';
Line[2] := Line[2] + ' \ / ';
Line[3] := Line[3] + ' \/ ';
Line[4] := Line[4] + ' || ';
Line[5] := Line[5] + ' || ';
End;
Procedure LetterZ;
Begin
Line[1] := Line[1] + '=====';
Line[2] := Line[2] + ' / ';
Line[3] := Line[3] + ' / ';
Line[4] := Line[4] + ' / ';
Line[5] := Line[5] + '=====';
End;
Procedure Number1;
Begin
Line[1] := Line[1] + ' ===|';
Line[2] := Line[2] + '/ | ';
Line[3] := Line[3] + ' | ';
Line[4] := Line[4] + ' | ';
Line[5] := Line[5] + '|===|';
End;
Procedure Number2;
Begin
Line[1] := Line[1] + ' /==\';
Line[2] := Line[2] + '/ /';
Line[3] := Line[3] + ' / ';
Line[4] := Line[4] + ' / ';
Line[5] := Line[5] + '|===/';
End;
Procedure Number3;
Begin
Line[1] := Line[1] + '/==\';
Line[2] := Line[2] + ' /';
Line[3] := Line[3] + ' < ';
Line[4] := Line[4] + ' \';
Line[5] := Line[5] + '\==/';
End;
Procedure Number4;
Begin
Line[1] := Line[1] + ' /|';
Line[2] := Line[2] + ' / |';
Line[3] := Line[3] + '|__|';
Line[4] := Line[4] + ' |';
Line[5] := Line[5] + ' |';
End;
Procedure Number5;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| ';
Line[3] := Line[3] + '|===\';
Line[4] := Line[4] + ' |';
Line[5] := Line[5] + '\==/ ';
End;
Procedure Number6;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| ';
Line[3] := Line[3] + '|___ ';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '\===/';
End;
Procedure Number7;
Begin
Line[1] := Line[1] + '=====';
Line[2] := Line[2] + ' /';
Line[3] := Line[3] + ' / ';
Line[4] := Line[4] + ' / ';
Line[5] := Line[5] + ' / ';
End;
Procedure Number8;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '|===|';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '\===/';
End;
Procedure Number9;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '\===/';
Line[4] := Line[4] + ' |';
Line[5] := Line[5] + ' |';
End;
Procedure Number0;
Begin
Line[1] := Line[1] + '/===\';
Line[2] := Line[2] + '| |';
Line[3] := Line[3] + '| |';
Line[4] := Line[4] + '| |';
Line[5] := Line[5] + '\===/';
End;
Procedure Separate;
Begin
Line[1] := Line[1] + ' ';
Line[2] := Line[2] + ' ';
Line[3] := Line[3] + ' ';
Line[4] := Line[4] + ' ';
Line[5] := Line[5] + ' ';
End;
// LN() is used to call each of the above procedure.
Procedure LN(Number : Integer);
Begin
Case Number of
1 : LetterA;
2 : LetterB;
3 : LetterC;
4 : LetterD;
5 : LetterE;
6 : LetterF;
7 : LetterG;
8 : LetterH;
9 : LetterI;
10 : LetterJ;
11 : LetterK;
12 : LetterL;
13 : LetterM;
14 : LetterN;
15 : LetterO;
16 : LetterP;
17 : LetterQ;
18 : LetterR;
19 : LetterS;
20 : LetterT;
21 : LetterU;
22 : LetterV;
23 : LetterW;
24 : LetterX;
25 : LetterY;
26 : LetterZ;
27 : Number1;
28 : Number2;
29 : Number3;
30 : Number4;
31 : Number5;
32 : Number6;
33 : Number7;
34 : Number8;
35 : Number9;
36 : Number0;
// This is the space. It separates 4 times.
37 : Begin Separate; Separate; Separate; Separate; End;
End;
// After each procedure is called, separate is called right after.
Separate;
End;
// The Replace() function will replace a string with another string.
// Made by Ron. :)
Function Replace(TheString, Replacee, Replacer : String) : String;
Var
a : LongInt;
Begin
a := Pos(Replacee, TheString);
If(a = 0)Then
Begin
// Do nothing...
End Else
Begin
Delete(TheString, a, Length(Replacee));
Insert(Replacer, TheString, a);
Result := TheString;
End;
End;
// The ReplaceAll() function will replace all strings with another string.
// Made by Ron. :)
Function ReplaceAll(TheString, Replacee, Replacer : String) : String;
Begin
While (Not(Pos(Replacee, TheString) = 0)) do
Begin
TheString := Replace(TheString, Replacee, Chr(13));
End;
While (Not(Pos(Chr(13), TheString) = 0)) do
Begin
TheString := Replace(TheString, Chr(13), Replacer);
End;
Result := TheString;
End;
// Trims out all the whitespaces.
// Made by Ron :)
Function Trim2(Text : String) : String;
Begin
Result := ReplaceAll(Text, ' ', '');
End;
// A very SICK function that checks if a string only has something.
// Only has numbers, only has letters, only has both, only only only!
// Made by Ron :)
Function Only(TheString : String; OnlyWhat : String) : Boolean;
Var
a : Integer;
Temp, Temp2, Temp3, Temp4, Temp5 : Integer;
Begin
Result := False;
If(Length(OnlyWhat) = 3)or(Length(OnlyWhat) = 6)Then
Begin
Temp2 := Min(GetKeyCode(OnlyWhat[1]), GetKeyCode(OnlyWhat[3]));
Temp3 := Max(GetKeyCode(OnlyWhat[1]), GetKeyCode(OnlyWhat[3]));
For a := 1 to Length(TheString) do
Begin
Temp := GetKeyCode(TheString[a]);
If(Length(OnlyWhat) = 3)Then
Begin
If(Temp >= Temp2)and(Temp <= Temp3)Then
Begin
Result := True;
End Else
Begin
Result := False;
Break;
End;
End Else If(Length(OnlyWhat) = 6)Then
Begin
Temp4 := Min(GetKeyCode(OnlyWhat[4]), GetKeyCode(OnlyWhat[6]));
Temp5 := Max(GetKeyCode(OnlyWhat[4]), GetKeyCode(OnlyWhat[6]));
If((Temp >= Temp2)and(Temp <= Temp3))or(Temp >= Temp4)and(Temp <= Temp5)Then
Begin
Result := True;
End Else
Begin
Result := False;
Break;
End;
End;
End;
End Else
Begin
WriteLn('OnlyWhat has to have a length of 3 or 6.');
End;
End;
Procedure Generate(Text : String);
Var
Exc, Text2, LaN : String;
i, n : Integer;
Begin
Text2 := Trim2(Lowercase(Text));
// If Text2 only has characters a to z or 0 to 9.
// If contained both, it will still work.
If(Only(Text2, 'a-z0-9'))Then
Begin
Exc := '!@#$%^&*()';
For i := 1 to Length(Exc) do
Begin
If(Not(Pos(Exc[i], Text) = 0))Then
Begin
WriteLn('Only letters and/or numbers!');
TerminateScript;
End;
End;
LaN := 'abcdefghijklmnopqrstuvwxyz1234567890 ';
For i := 1 to Length(Text) do
Begin
For n := 1 to 37 do
Begin
If(Text[i] = LaN[n])Then
Begin
LN(n);
End;
End;
End;
For i := 1 to 5 do
Begin
WriteLn(Line[i]);
End;
End Else
Begin
WriteLn('Only letters and/or numbers!');
TerminateScript;
End;
End;
Begin
ClearDebug;
// Change the report width to 0.
ChangeReportWidth(0);
// Prompt the question and lowercase all the letters.
Text := Lowercase(ReadLn('Ascii Generator - Type in Letters and/or Numbers only!'));
// Generate ascii text with what the user entered into Text.
Generate(Text);
WriteLn('Ascii Generator by Ron');
End.
~Ron