program s_tabulka; uses crt; type TPolozka = record cislo: integer; nazev: string[10]; pocet: byte; end; const MAX = 4; var f: text; p: array[1..MAX] of TPolozka; i: integer; procedure NactiPolozku(var pol: TPolozka); begin clrscr; with pol do begin write('Zadejte cislo polozky: '); readln(cislo); write('Zadejte nazev polozky: '); readln(nazev); write('Zadejte pocet: '); readln(pocet); end; end; function Zarovnej(s: string; na_delku: byte): string; var j, delka: byte; begin delka := length(s); if delka > na_delku then Delete(s, na_delku + 1, delka - na_delku) else if delka < na_delku then for j := delka+1 to na_delku do s := s + ' '; Zarovnej := s; end; begin assign(f, 'tabulka.txt'); rewrite(f); for i := 1 to MAX do NactiPolozku(p[i]); clrscr; writeln(f, 'Cislo Nazev Pocet'); writeln( 'Cislo Nazev Pocet'); writeln(f, '~~~~~~~~~~~~~~~~~~~~~~~'); writeln( '~~~~~~~~~~~~~~~~~~~~~~~'); for i := 1 to MAX do with p[i] do begin writeln(f, cislo:4, ' ', Zarovnej(nazev, 10), ' ', pocet:3); writeln( cislo:4, ' ', Zarovnej(nazev, 10), ' ', pocet:3); end; close(f); readln; end.