Mam procedure która sortuje według nazwy listę jednokierunkową.
Problem polega na tym że jak dodam procedure wyświetl która wyświetla całą liste do StringGrida i skompiluje program to się wiesza ;(
Oto kod procedury sortowania:
procedure TForm1.Button3Click(Sender: TObject);
var
prev,wsk: plist;
begin
for i:=1 to licz-1 do
begin
prev:=first;
for j:=1 to licz-1 do
begin
if (prev^.nazwa>prev^.next^.nazwa) then
begin
wsk:=prev;
prev:=prev^.next;
prev^.next:=wsk;
end;
prev:=prev^.next;
end;
end;
wyswietl;
end;
A to kod procedury wyświetl:
procedure Tform1.wyswietl;
var
prev: plist;
begin
SG1.RowCount:=licz+1;
SG1.ColCount:=6;
SG1.FixedRows:=1;
SG1.FixedCols:=1;
SG1.Cells[0,0]:='Nr';
SG1.Cells[1,0]:='Data';
SG1.Cells[2,0]:='Nazwa';
SG1.Cells[3,0]:='Godzina';
SG1.Cells[4,0]:='Kategoria';
SG1.Cells[5,0]:='Wiek';
prev:=first;
licz:=0;
while prev<> nil do
begin
inc(licz);
SG1.Cells[0,licz]:=IntToStr(prev^.nr);
SG1.Cells[1,licz]:=prev^.data;
SG1.Cells[2,licz]:=prev^.nazwa;
SG1.Cells[3,licz]:=prev^.godzina;
SG1.Cells[4,licz]:=prev^.kat;
SG1.Cells[5,licz]:=prev^.wiek;
prev:=prev^.next;
end;
end;
Proszę pomóżcie...