Ahoj. Mám ,jako většina lidi tady, úkol do školy a zasekl jsem se v jednom místě. Tady je zadání:
Zadání: Vytvořte program na naplnění a tisk matice znaků o rozměru 25*70. Automatickým plněním vhodnými znaky
do matice znázorníte kruh o průměru 1.
Výsledek zobrazte do memo pole a vytiskněte do souboru.
Vstup: žádný
Výstup: Tisk matice s pseudografickým obrazem kruhu
Dělám to v Delphi 2009 do formuláře:
A mam tuto proceduru která je funkční (je to ověřeno výpisem do textového souboru):
.
.
type
TPole = array[1..23,-4..65] of char;
var
A:TPole;
procedure NaplnitMatici(var A:TPole;grdPole:TMemo);
var
i,j,r:integer;
begin
for i := 1 to 23 do
for j := -4 to 65 do A[i,j] := '.';
for i := 1 to 23 do A[i,0] := '|';
for i := 2 to 12 do begin
A[i,-3] := char(ord('0') + (12 -i) div 10);
A[i,-2] := ',';
A[i,-1] := char(ord('0') + (12 -i) mod 10);
end;
for i := 14 to 22 do begin
A[i,-4] := '-';
A[i,-3] := char(ord('0') + (i-12) div 10);
A[i,-2] := ',';
A[i,-1] := char(ord('0') + (i-12) mod 10);
end;
for j := -4 to 65 do begin
A[12,j] := '-';
if j mod 10 = 0 then begin
A[23,j-1] := char(ord('0') + abs(j-30) div 2 div 10);
A[23,j] := ',';
A[23,j+1] := char(ord('0') + abs(j-30) div 2 mod 10);
if j < 30 then A[23,j-2] := '-';
end;
end;
for j := 10 to 50 do begin
r :=round(sqrt(100-0.25*sqr(30-j)));
for i := -r to r do A[12 - i ,j] := '+'
end;
end;
Problém :můj problém tkví v tom, že nevím jak udělat aby se po stisku tlačítka zobrazil výsledek již výše zmíněné procedury NaplnitMatici do memopole ve formuláři.
Asi to bude vypadat takto:
procedure TfrmKruh.btnVytvoritClick(Sender: TObject);
begin
grdPole.lines.Add(?????);
end;
Nevím co dát místo otazníků.
Našel by se zde někdo, kdo by mi pomohl tento "zádrhel" vyřešit??
Děkuji za každou odezvu.