Hi,
ich habe folgende Tabelle "gestaltet":
Delphi-Quellcode:
Procedure P_Stunden_ausgeben;
var
i: Integer;
begin
//1. Zeile
write(' ');write(#218);for i:=1 to 50 do write(#196);writeln(#191);
//2. Zeile
write(' ');write(#179);write(' STUNDENPLAN:');for i:=1 to 37 do write(' ');
writeln(#179);
//3. Zeile
write(' ');write(#179);for i:=1 to 14 do write(' ');write(#218);
for i:=1 to 10 do write(#196);write(#194);for i:=1 to 10 do write(#196);
write(#194);for i:=1 to 10 do write(#196);write(#194);
for i:=1 to 10 do write(#196);write(#194);for i:=1 to 10 do write(#196);
writeln(#191);
//4. Zeile
write(' ');write(#179);for i:=1 to 14 do write(' ');write(#179);
write('Montag');write(' ');write(#179);write('Dienstag');
write(' ');write(#179);write('Mittwoch');write(' ');write(#179);
write('Donnerstag');write('');write(#179);write('Freitag');
write(' ');writeln(#179);
//5. Zeile
write(' ');write(#179);for i:=1 to 14 do write(' ');write(#195);
for i := 1 to 54 do write(#220);writeln(#180);
//6. Zeile
write(' ');write(#179);for i:=1 to 14 do write(' ');write(#195);
for i:=1 to 10 do write(#196);write(#197);for i:=1 to 10 do write(#196);
write(#197);for i:=1 to 10 do write(#196);write(#197);
for i:=1 to 10 do write(#196);write(#197);for i:=1 to 10 do write(#196);
writeln(#180);
//7. Zeile
write(' ');write(#179);write(' 1. Stunde:');write(' ');write(#179);
write(Tag[1,1]);for i:=0 to [color=#ff0000]Anzahl_freier_Zeichen[/color]write(#179);
readln;
Das Problem ist, dass sich die Tabelle verzieht, sobald ein Feldinhalt bei zum Beispiel bei Montag(1.Stunde) größer als 10 Zeichen ist.
Ideal wäre, wenn ich den "Freiraum" berechen könnte. So das ich dann wo
Anzahl_freier_Zeichen eine Variable hätte die immer die noch von 10 verbleibenden Zeichen angibt. Das habe ich auch schon mit folgender Prozedur probiert:
Delphi-Quellcode:
procedure P_Spalte(Text:String);
var i:Byte;
begin
if Tag[1,1]=('') then
for i:=1 to 10 do write(' ')
else
for i:=1 to (10-Anzleer) do write(' ');
end;