Variables in Finer Deails Created by Tree, and Deathader Say your computer had 100's and 100's of tiny little box's inside of it.They can be resized to fit ,but in this case data. Now to put data into these box's they must know where there going.So we name (Declare) a box's name so the data doesnt get lost.So the code we use to declare a variable is: Code (Text): var nameofboxgoeshere,anothernameofboxgoeshere :integer; So var means variable and the 'nameofboxgoeshere' is where you put what name you want to call a box.You can can name multiple box's in one line by using the ','. But now your wondering whats up with the: Code (Text): :integer; Well its telling the box what it can hold.I meen when packaging china dolls you must add bubble wrap ect.So it's pretty much allowing that type of data in. There are many different types of variables like Strings and booleans.But today we are just working on integers.These can hold most numbers and should do in most scripts to hold numbers. So: Code (Text): var namehere :integer; meens this in english: Code (Text): The box will be a variable names namehere and will be able to hold numbers. Now this goes for all types of variables,in any shape or form. Code (Text): var namehere :string; Now that type of variable,in that form can hold letters and anything else that isnt a digit. Code (Text): var namehere :Extended; This type functions as a extended version of Integer.These hold decimals. For example: Code (Text): 1.5,2.9,5.9 and 6.7 Now the last one is the most interesting.This one can only have two outcomes.True or False.It is called a Boolean and is very usefull in if statments ect. Code (Text): var namehere :Boolean; Well now we have the basic declaring put down we move on to assigning data to the box's(Variables we shall now call them).The code is simple: Code (Text): namehere := 0; if the variable is a Extended or Integer,and Code (Text): namehere := 'String'; if the variable is a string.The Boolean is obvius,ill let you think about that.Variables,unlike constants can change throughout the script while a constant cannot. Example script: Code (Text): program AutoTalker;//Sets the program name {.include si.scar} //Includes si.scar as a header/template(puts code in). Var Done, WaitTime : Integer; //Declare VARIABLES,can be changed anytime Const Say = ''; //Text to say //Declare and input data into a constant(not changable) Const Times = 10; //Times //^^ procedure sayit; //Procedure begin //START! wait(1012 + Random(50));//Wait 1 minute and a bit + random set time. SendKeys(Say + chr(13)); //Send keys of the text entered in 'say',press enter. wait(WaitTime + Random(101)); //WAIT this time plus random Done := Done + 1 //add one to done. end; begin Done := 0 //Set done to 0 repeat; //start repeat sayit; //do this function until(Done = Times); //until done loops is equal to times you want. WriteLn( 'Thankyou for using this script' );//Closing message end.//The end Look through the script and other to grasp the idea. Be Always make comments '//'. To Hallandale: Your question is answered! VARIABLES (In ULTRA Fine Detail) Strings: Defining them Code (Text): var abc : string; when abc = your string variable name and use for this would be Code (Text): abc := 'hi' Integer: Defining them Code (Text): var i : integer; when i = your integer variable name these are all whole numbers positive or negative and use for this would be Code (Text): i := 1 + 2 and you may add other integers into it like this Code (Text): i := i + 1 or Code (Text): i := num + 23 Operation Symbols: Multiply = * Divide = / Add = + Subtract = - Extended: Code (Text): var i : Extended; when i = your extended variable name these are decimals that are positive and negative and use is Code (Text): i := i + 3.57 Boolean: Code (Text): var bln : boolean; use Code (Text): bln := True Constants: Defining them Code (Text): Const abc = 'hi'; i = 1; Happy Scripting =)