Hirdetés
- Luck Dragon: Asszociációs játék. :)
- GoodSpeed: Márkaváltás sok-sok év után
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Mr Dini: Mindent a StreamSharkról!
- Magga: PLEX: multimédia az egész lakásban
- Autódiagnosztika: a gyakorlatban
- gban: Ingyen kellene, de tegnapra
- sh4d0w: Kalózkodás. Kalózkodás?
- sh4d0w: Árnyékos sarok
Ú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
- BestBuy topik
- Samsung Galaxy S25 Edge - a tegnap határán
- Linux kezdőknek
- Senki sem töröl ennél jobban
- Milyen CPU léghűtést vegyek?
- Üzleti vita és megbeszélés
- Gyúrósok ide!
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Okos Otthon / Smart Home
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- További aktív témák...
- Eladó egy fekete Yamaha AG03 MKII keverő / külső hangkártya!
- Gigabyte GA-P35-DS4 LGA775 alaplap, Xeon X5450 CPU, 4 GB DDR2 RAM
- Meta Quest 3 (512 Gb) + Elite strap + 3m link kábel
- Hibátlan HP 250 G4 notebook (laptop) eladó
- BESZÁMÍTÁS! Sony PlayStation 5 Slim 1TB SSD lemezes konzol garanciával hibátlan működéssel
- BESZÁMÍTÁS! MSI Z690 i9 14900K 32GB DDR5 1TB SSD RTX 3090 OC 24GB Zalman Z1 PLUS Seasonic 750W
- GYÖNYÖRŰ iPhone 12 mini 256GB Blue -1 ÉV GARANCIA -Kártyafüggetlen, MS3625, 100% Akkumulátor
- Eladó Realme gt neo 2 5g Dobozában tokkal
- LG 65C4 - 65" OLED evo - 4K 144Hz - 0.1ms - NVIDIA G-Sync - FreeSync - HDMI 2.1 - 1000 Nits
- AKCIÓ! Apple Studio Display 27 5K Nanotexturált üveg monitor garanciával hibátlan működéssel
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

