- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- Mr Dini: Mindent a StreamSharkról!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Parci: Milyen mosógépet vegyek?
- btz: Internet fejlesztés országosan!
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Tomasz72: Ventilátor upgrade
- bambano: Bambanő háza tája
Új hozzászólás Aktív témák
-
atom87
aktív tag
Nos fentebb felmerült hibát sikerült megoldanom, egy változó kezdő értéke volt a hibás...
De most felmerült egy újabb probléma: megkaptam a másik tömb tartalmát, de a táblába ismét rendeződik az indexelése miatt.
Mit lehet ez ellen tenni?Itt egy kép, hogy mire is gondolok. A pirossal bekarikázott oszlop a kapott véletlen sorszámok és ezek szerint rendeződik.
Én pedig azt szeretném, hogy a random sorrend maradjon meg.
Más szerint kellene indexelnem? Esetleg módosítanom kellene a táblát? -
atom87
aktív tag
Üdv!
Kellene egy kis segítség:
Adott egy tömb, ami véletlen szerűen generált számokat tartalmaz. Ezek a számok egy tábla rekordjainak sorszámai lennének. A feladat az lenne, hogy a fő táblából(ami minden rekordot tartalmaz) át kéne mozgatni(batchmove) egy másodlagos('munka') táblába a tömbben található sorszámoknak megfelelő rekordokat fő táblából a másodlagosba...
Korábban a program működött set of 1..255 változóval(ebbe kerültek bele a véletlen generált sorszámok, csak ugye a set az sorba rendeződik, így a véletlenszerűség elúszik):
procedure TKerdesForm.keresminden;
var i,j,k,l,m:integer;
szam:set of 1..255;
begin
torles;
randomize;
i:=StrToInt(edtkerdesszam.text);
edtkerdesszam.clear;
j:=foform.tblalap.recordcount;
szam:=[];
for k:= 1 to i do
begin
repeat
l:=random(j)+1;
until not(l in szam);
szam:=szam+[l];
foform.tblalap.setkey;
foform.tblalap.fields[0].asinteger:=l;
foform.tblalap.gotokey;
foform.tblmunka.insert;
for m:= 0 to foform.tblmunka.fieldcount-1 do
foform.tblmunka.fields:=foform.tblalap.fields(m);
foform.tblmunka.post;
end;
foform.tblmunka.first;
kerdesform.close;
end;Megcsináltam tömbösre, a sorszámok le is generálódnak, de valahol a setkey környékén meghal a progi:
procedure TKerdesForm.keresminden;
var i,j,k,l,m,n:integer;
szamok:TSzamok;
begin
n:=0;
torles;
randomize;
i:=StrToInt(edtkerdesszam.text);
edtkerdesszam.clear;
j:=foform.tblalap.recordcount;
// szam:=[];
TombNullaz(szamok);
for k:= 1 to i do
begin
repeat
l:=random(j)+1;
// until not(l in szam);
until not (TombBenneVan(szamok,l));
szamok[n]:=l;
foform.tblalap.SetKey;
foform.tblalap.fields[0].asinteger:=l;
foform.tblalap.gotokey;
foform.tblmunka.insert;
for m:= 0 to foform.tblmunka.fieldcount-1 do
foform.tblmunka.fields(m):=foform.tblalap.fields(m);
foform.tblmunka.post;
n:=n+1;
end;
foform.tblmunka.first;
kerdesform.close;
end;Ötlet esetleg??
Új hozzászólás Aktív témák
Hirdetés
- Készpénzes számítógép PC félkonfig alkatrész hardver felvásárlás személyesen / postával korrekt áron
- BESZÁMÍTÁS! MSI B450 TomaHawk R5 3600 16GB DDR4 512GB SSD RX5500 XT 8GB Rampage SHIVA TT 530W
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- BESZÁMÍTÁS! ASUS B450 R7 1700X 16GB DDR4 512GB SSD RX 580 8GB Rampage SHIVA Corsair 450W
- 125 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 9 7945HX, RTX 4070 (ELKELT)
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged