Ĺadny brzuch
Witam, posiadam kod gdzie wypełnia StringGrid1 po skosie i jest to tabliczka mnożenia. Mógłby ktoś przerobic ten kod tak by była wypisywana po drugim skosie?? oraz jakby mógł wskazać linie w kodzie które sa odpowiedzialne za rodzaj wypełniania (po skosie,poziomo itp.)
kod buttona:
procedure TForm1.Button1Click(Sender: TObject);
var
kol,wrsz:integer;
a:array[1..9,1..9] of integer;
begin
for wrsz:=1 to 9 do begin
a[wrsz,1]:=wrsz;
for kol:=2 to wrsz do a[wrsz,kol]:=wrsz*kol;
end;
for wrsz:=1 to 8 do a[wrsz,wrsz+1]:=wrsz+1;
with stringgrid1 do begin
defaultcolwidth:=25;
defaultrowheight:=18;
for wrsz:=1 to 9 do
for kol:=1 to wrsz+1 do
cells[kol-1,wrsz-1]:=inttostr(a[wrsz,kol]);
end;
end;
end.
Po pierwsze używaj code, bo kod jest nieczytelny. A po drugie, ten kod nie działa za dobrze - zauważ, że nie są poprawnie opisywane kolumny. Powinno to iść mniej więcej tak:
procedure TForm1.Button1Click(Sender: TObject); var i, j: Integer; begin with StringGrid1 do begin DefaultColWidth := 25; DefaultRowHeight := 18; for i := 1 to 9 do for j := 1 to 9 do Cells[j - 1, i - 1] := IntToStr(i * j); end; end;
Działa aż miło :P
Idealnie:) ale np. chciałbym aby tylko pokazało jedną część. np. że teoretycznie przechodzi linia na skosie, i chciałbym widzieć tylko wypełnione komórki stringgrid po jednej stronie tej linii. Mógłbys mi z tym pomóc??? i pokazac która części kodu są za to odpwoiedzialne???
A może popróbuj? Pozmieniaj? Popatrz, co się dzieje? :P
To było pierwsze co zrobiłem:) ten programik co napisałes rozumiem, ale jak teraz tylko po skosach wyświetlić odpowiednio niestety nie;/
Pokombinowałem i wyszło ale baaaaaaaaaaaardzo okrężna drogą:) thx za bazowy kod.
No i widzisz, chcieć to znaczy móc :) Mam nadzieję, że tym sposobem opanowałeś użycie pętli :P
zanotowane.pl doc.pisz.pl pdf.pisz.pl zsf.htw.pl
kod buttona:
procedure TForm1.Button1Click(Sender: TObject);
var
kol,wrsz:integer;
a:array[1..9,1..9] of integer;
begin
for wrsz:=1 to 9 do begin
a[wrsz,1]:=wrsz;
for kol:=2 to wrsz do a[wrsz,kol]:=wrsz*kol;
end;
for wrsz:=1 to 8 do a[wrsz,wrsz+1]:=wrsz+1;
with stringgrid1 do begin
defaultcolwidth:=25;
defaultrowheight:=18;
for wrsz:=1 to 9 do
for kol:=1 to wrsz+1 do
cells[kol-1,wrsz-1]:=inttostr(a[wrsz,kol]);
end;
end;
end.
Po pierwsze używaj code, bo kod jest nieczytelny. A po drugie, ten kod nie działa za dobrze - zauważ, że nie są poprawnie opisywane kolumny. Powinno to iść mniej więcej tak:
procedure TForm1.Button1Click(Sender: TObject); var i, j: Integer; begin with StringGrid1 do begin DefaultColWidth := 25; DefaultRowHeight := 18; for i := 1 to 9 do for j := 1 to 9 do Cells[j - 1, i - 1] := IntToStr(i * j); end; end;
Działa aż miło :P
Idealnie:) ale np. chciałbym aby tylko pokazało jedną część. np. że teoretycznie przechodzi linia na skosie, i chciałbym widzieć tylko wypełnione komórki stringgrid po jednej stronie tej linii. Mógłbys mi z tym pomóc??? i pokazac która części kodu są za to odpwoiedzialne???
A może popróbuj? Pozmieniaj? Popatrz, co się dzieje? :P
To było pierwsze co zrobiłem:) ten programik co napisałes rozumiem, ale jak teraz tylko po skosach wyświetlić odpowiednio niestety nie;/
Pokombinowałem i wyszło ale baaaaaaaaaaaardzo okrężna drogą:) thx za bazowy kod.
No i widzisz, chcieć to znaczy móc :) Mam nadzieję, że tym sposobem opanowałeś użycie pętli :P