Well, yer, just something that makes an AutoTalker of your choice Simple and effective, and a pretty good learning tool

scar Code:
function Str2ToBool(Str: String): Boolean;
var
  S: String;
begin
  S := Lowercase(Str);
  Result := (StrToIntDef(S, 0) <> 0);
  if(Result) then
    Exit;
  case (S) of
    'false', '0', 'no', 'nope', 'never', 'nup', 'n': Result := False;
    'true', 'yes', 'yep', 'yer', 'yeah', 'yup', 'y', 'ye': Result := True;
  else
    Result := False;
  end;
end;

var
  Settings: array[0..3] of Boolean;
  ScrNam, UsrNam: String;
  MaxSen, tSpeed, wTime, i: Integer;
 
begin
  ScrNam := Readln('What do you want your script to be called?');
  UsrNam := Readln('What is your name?');
  Settings[0] := Str2ToBool(Readln('Use function keys?'));
  MaxSen := StrToIntDef(Readln('How many sentences to type?'), -123456789);
  if(not(Settings[0])) then
    wTime := StrToIntDef(Readln('Wait period between sentence typing?'), 0);
  tSpeed := StrToIntDef(Readln('Typing speed? (0 = Lowest; 5 = Highest)'), 2);
  Settings[1] := Str2ToBool(Readln('Clear the debug box when printing script?'));
  Settings[2] := Str2ToBool(Readln('Continue with script print?'));
 
  if(not(Settings[2])) then
    TerminateScript;
 
  if(InRange(tSpeed, 0, 2)) then
    tSpeed := 75 - (tSpeed * 10) else
      if(InRange(tSpeed, 3, 4)) then
        tSpeed := 50 - (tSpeed * 10) else
          tSpeed := 4;
 
{  if(InRange(tSpeed, 0, 5)) then
    tSpeed := Floor((250 / ((tSpeed + 1) * 4)) / 2);  }

  if(Settings[0]) then
    if(MaxSen > 10) then
    begin
      Writeln('ERROR: Max sentences can be no longer than 10 when using F-Keys.');
      Writeln('  -- You put (for max sentences) ' + IntToStr(MaxSen) + '.');
      TerminateScript;
    end else
      if(MaxSen = -123456789) then
      begin
        Writeln('ERROR: You have not specified a value for the Max sentences.');
        TerminateScript;
      end;
     
  if(Settings[1]) then
    ClearDebug;
     
  Writeln('{ == End Script by pressing specified HotKey or by the F12 key == }');
  Writeln(TrimEx(' ', 'program ' + TrimOthers(ScrNam) + ';'));
  Writeln('  // -- Script created with Auto-Talker-Builder by Mayazcherquoi (a.k.a Dan'#39's The Man).');
  Writeln('');
  Writeln('const');
  for i := 1 to MaxSen do
    Writeln('  Sentence' + IntToStr(i) + ' = '#39'Text to type here...'#39';');
  Writeln('  ShiftKeys = '#39'~!@#$%^&*()_+{}|:"<>?ABCDEFGHIJKLMNOPQRSTUVWXYZ'#39'; // DON'#39'T TOUCH!!!');
  Writeln('');
  Writeln('procedure TypeString(Sentence: String);');
  Writeln('var');
  Writeln('  i, bI, KeyCode: Integer;');
  Writeln('  Shift: Boolean;');
  Writeln('begin')
  Writeln('  bI := Length(Sentence);');
  Writeln('  for i := 1 to bI do');
  Writeln('  begin');
  Writeln('    KeyCode := GetKeyCode(Sentence[i]);');
  Writeln('    if(Pos(Sentence[i], ShiftKeys) <> 0) then');
  Writeln('    begin');
  Writeln('      Shift := True;');
  Writeln('      KeyDown(VK_Shift);');
  Writeln('      Wait(' + IntToStr(tSpeed shr 1) + ' + Random(' +
    IntToStr(tSpeed shr 2) + '));');
  Writeln('    end;');
  Writeln('    KeyDown(KeyCode);');
  Writeln('    Wait(' + IntToStr(tSpeed) + ' + Random(' +
    IntToStr(tSpeed shr 1) + '));');
  Writeln('    KeyUp(KeyCode);');
  Writeln('    Wait(' + IntToStr(tSpeed shr 1) + ' + Random(' +
    IntToStr(tSpeed shr 2) + '));');
  Writeln('    if(Shift) then');
  Writeln('    begin');
  Writeln('      Shift := False;');
  Writeln('      KeyUp(VK_Shift);');
  Writeln('      Wait(' + IntToStr(tSpeed shr 2) + ' + Random(' +
    IntToStr(tSpeed shr 4) + '));');
  Writeln('    end;');
  Writeln('  end;');
  Writeln('end;');
  Writeln('');
  Writeln('var');
  Writeln('  i, bI: Cardinal;');
  Writeln('');
  Writeln('begin');
  Writeln('  repeat');
  if(Settings[0]) then
  begin
    for i := 2 to MaxSen + 1 do
    begin
      Writeln('    if(IsFKeyDown(' + IntToStr(I) + ')) then');
      Writeln('      TypeString(Sentence' + IntToStr(I - 1) + ' + #13);');
    end;
  end else
    for i := 1 to MaxSen do
    begin
      Writeln('    TypeString(Sentence' + IntToStr(I) + ');');
      Writeln('    Sleep(' + IntToStr(wTime) + ' + Random(' +
        IntToStr(Trunc(wTime / 3)) + ' + #13);');
    end;
  Writeln('  Until(IsFKeyDown(12));');
  Writeln('end.');
end.