Contributor: ROBBIE FLYNN 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.