[Back to MISC SWAG index] [Back to Main SWAG index] [Original]

    USES CRT,DOS;

    (*   Here is a procedure I made that does ABOUT the same thing as the 'C'
       Printf Does. Could someone help me add a few more features? *)

    PROCEDURE Printf(Str : String);
    Var
       X : Integer;
       y : integer;
       ky: char;
       d : boolean;

    begin
         d:=false;
         x:=0;
         ky:=' ';
         for x:=1 to length(str) do
             begin
                  ky:=str[x];
                  if (ky='\') and (not d) then
                     d:=true
                  Else
                  If (Ky='\') and (d) then
                     begin
                          write('\');
                          d:=false;
                     end
                  Else
                  if (ky='n') and (D) or (ky='N') And (D) then
                     begin
                          writeln;
                          d:=false;
                     end
                  else
                  if (Upcase(ky)='T') and (D) then
                     begin
                          write('        ');
                          d:=false;
                     end
                  else
                  if (Upcase(ky)='B') and (D) then
                     begin
                          write(#8);
                          d:=false;
                     end
                  else
                  if (Upcase(ky)='R') and (D) then
                     begin
                          write(#13);
                          d:=false;
                     end
                  else
                  if (Upcase(ky)='F') and (D) then
                     begin
                          write(#12);
                          d:=false;
                     end

                  else
                  if (Upcase(ky)='G') and (D) then
                     begin
                          write(#7);
                          d:=false;
                     end

                  else

                  if (not d) and (ky<>'\') then
                     begin
                          write(ky);
                          d:=false;
                     end;

             End;
    End;

    Begin
         ClrScr;
         Printf('This is a Printf() procedure. a \\n will make a new line.\nSee??');
         Printf(' Making a \\\\ will display a \\. Try it! Make a \\\\n to make a');
         printf('\nAlso, a \\b will back space. \\r will carriage return. \\f is f');
         printf('.\n\\t is tab.\\gIs Beep Eg\tI just tabed.\n\rI just carriage ret');
         printf('1234567890\b. There was a 0 after the 9. I backspased over it and');
         Printf('\g\gI beeped twice by: \\g\\g\n\n\n\n');
    End.

[Back to MISC SWAG index] [Back to Main SWAG index] [Original]