Lösung für Pascal

Hallo,
Ich habe da ein sehr primitives pascal-programm, das im dos-fenster (konsole) die zeilennummer und evt. höher/tiefer gehts nicht dazu.
Code:
uses crt,dos;

var                
  znr : byte;      {Zeilennr.}
  t : byte;        
  zt : string;     
  znr_str : string;{Zeilennr. als String}
  meldung : string;

begin            
 clrscr;
 t := 0;
 znr:=1;
 meldung='';       


{Ascii-Wert von Escape-Taste ==> 27}
  while t <> 27 do begin
    str(znr,znr_str);
    zt:=' Zeile '+znr_str;
    gotoxy(1,znr);
    write(zt,meldung);
  {warten auf eingabe}
  while not keypressed do;

  while keypressed do begin
    t:=ord(readkey);
  end;

   if t=72 then begin
      {str(znr,znr_str);
      zt:=' Zeile '+znr_str;}
      if znr=1 then begin
      zt:=zt+' Hoeher gehts nicht ';
      {Setze an Zeilenanfang}
      gotoxy(1,znr);
      write(zt,meldung);
     end else begin
      gotoxy(1,znr);
      zt:='                              ';
      write(zt,meldung);
      znr:=znr-1;
      str(znr,znr_str);
      zt:=' Zeile '+znr_str;
      gotoxy(1,znr);
      write(zt,meldung);
     end;
   end;

    if t=80 then begin
     {str(znr,znr_str);
      zt:=' Zeile '+znr_str;}
     if znr=25 then begin
      zt:=zt+' Tiefer gehts nicht ';
      {Setze an Zeilenende}
      gotoxy(1,znr);
      write(zt,meldung);
     end else begin
      gotoxy(1,znr);
      zt:='                              ';
      write(zt,meldung);
      znr:=znr+1;
      str(znr,znr_str);
      zt:=' Zeile '+znr_str;
      gotoxy(1,znr);
      write(zt,meldung);
     end;
   end;
  end;
end.

Jetzt soll ich irgendwie durch herausheben und einführung einer variable namens meldung die redundanzen vermeiden...nur wie?
Das ist mal das Grundgerüst:
Code:
uses crt,dos;

var                
  znr : byte;      {Zeilennr.}
  t : byte;        
  zt : string;     
  znr_str : string;{Zeilennr. als String}
  meldung : string;

begin            
 clrscr;
 t := 0;
 znr:=1;
 meldung='';       


  while t <> 27 do begin
    str(znr,znr_str);
    zt:=' Zeile '+znr_str;
    gotoxy(1,znr);
    write(zt,meldung);

  {warten auf eingabe}
  while not keypressed do;

  while keypressed do begin
    t:=ord(readkey);
  end;

   if t=72 then begin
      
      if znr=1 then begin
      zt:=zt+' Hoeher gehts nicht ';
      
      end else begin
      
      gotoxy(1,znr);
      write('                                          ');
      znr:=znr-1;
      end;
   end;

    if t=80 then begin
      if znr=25 then begin
        zt:=zt+' Tiefer gehts nicht ';
      end else begin
        gotoxy(1,znr);
        write('                                       ');
        znr:=znr+1;
      end;
   end;
  end;
end.

Hoffe, da kann mir jemand helfen?!?

Thx,
hirsl
 
Zurück
Oben