Hirdetés
Új hozzászólás Aktív témák
-
czappa
aktív tag
Sziasztok!
Már megint elakadtam, most a mutatókkal gyűlt meg a bajom.
Suliban volt szó egyirányú listákról; ehhez írtam egy kis progit, ami még csak annyit csinál, hogy lehet a végéhez felvenni egy új elemet és az egészet listázni (kiíratni egy listboxba).
Ez szép és jó és elvileg működik is ([link]), ám én balga arra gondoltam, hogy nem recorddal kéne megcsinálni hanem osztály példányokkal ha már úgyis oop-t tanulok.
Itt azonban már nem mentek olyan simán a dolgok. Ha csak egy elemet veszek fel a listába, akkor minden működik rendesen, azonban több elemnél a kilistázáskor a progi bekerül egy végtelen ciklusba és már két napja ezen rágódok és nem tudok rájönni sehogy se; ennek itt a linkje:
[link]
Azért bemásolok ide kódrészeket:
private
fej, p: point;
uj: TRek;
ujertek: integer; (...)
procedure TForm1.Button1Click(Sender: TObject);
begin
//beszúrás a lista végéhez
ujertek:=StrToInt(Edit1.Text);
Edit1.Text:='';
uj:=TRek.Create(ujertek);
uj.setKov(nil);
if fej=nil then //ha nincs még eleme a listának
begin
fej:=@uj;
end
else //ha a fej nem nil-re mutat, azaz ha van már eleme a listának
begin
p:=fej;
while p.getKov<>nil do
begin
p:=p^.getKov;
end;
p^.setKov(@uj);
end;
Edit1.SetFocus;
end;
procedure TForm1.ListazClick(Sender: TObject);
var i: integer; //
begin
for i:=ListBox1.Count downto 0 do //a LsitBox1 elemeinek törlése
ListBox1.Items.Delete(i);
p:=fej;
while p<>nil do
begin
Listbox1.Items.Add( IntToStr(p^.getTart) );
p:=p^.getKov;
end;
end;
és a TRek osztály:
unit Rek;
interface
type
point = ^TRek;
TRek=class
private
tart : Integer ;
kov : point;
public
constructor create(tart: integer);
procedure setKov(kov: point);
function getKov: point;
function getTart: integer;
end;
Végülis a lényegi részeket fentebb kimásoltam.
[Szerkesztve]
[Szerkesztve]
Új hozzászólás Aktív témák
- Nintendo Switch 2
- Honor Magic V5 - méret a kamera mögött
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Gyúrósok ide!
- Milyen billentyűzetet vegyek?
- Milyen videókártyát?
- Okos Otthon / Smart Home
- Kormányok / autós szimulátorok topikja
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Google Pixel 8 Pro - mestersége(s) az intelligencia
- További aktív témák...
- GF63 Thin 11UD 15.6" FHD IPS i5-11400H RTX 3050Ti 16GB 512GB NVMe + 1TB HDD magyar vbill gar
- Mamiya RB67, az eredeti kiadas + Mamiya - Sekor objektiv
- Samsung Galaxy S21 Ultra / 12GB RAM 256GB / Gyárifüggetlen / 12Hó Garancia
- Samsung Galaxy Tab S6 Lite / 4GB RAM 64GB / Független / 12 Hó Garancia
- Honor Pad X9 / 4GB RAM 128 GB / Kártyafüggetlen / 12Hó Garancia
- BESZÁMÍTÁS! MSI B450M R5 3600 16GB DDR4 512GB SSD GTX 1660 Ti 6GB Zalman N4 EVGA 450W
- Acer TravelMate P214 i3-1115G4 12GB 512GB 14" FHD 1év garancia
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- Eladó Apple iPhone Xs Max 256GB / 12 hó jótállással
- DELL Precision 5540 Workstation i7-9850H Nvidia Quadro T1000 16GB 512GB 15.6 új akksi 1év garancia
Állásajánlatok
Cég: FOTC
Város: Budapest