Hirdetés
- Munkához is jó lehet a OneXPlayer gaming tabletje
- AMD Strix Haloval érkezik a OneXPlayer erőtől duzzadó mini PC-je
- Félő, hogy az okosszemüveg a szexuális zaklatók játékszere lesz
- Kompakt TUF Gaming alaplappal bővült az ASUS AMD-s palettája
- Nemcsak az ellenfél, a tévéd is kifekszik a Resident Evil fegyvereitől
- Kormányok / autós szimulátorok topikja
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
- Milyen széket vegyek?
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- E-book olvasók
- Azonnali fotós kérdések órája
- ThinkPad (NEM IdeaPad)
- Hogy is néznek ki a gépeink?
- NVIDIA GeForce RTX 3060 (GA106)
- Vezetékes FEJhallgatók
Új hozzászólás Aktív témák
-
Szirty
őstag
válasz
Szabest
#3326
üzenetére
Helló Szabest!
A fő kérdés az, hogy milyen típusú tömbben milyen típusú adatot akarsz keresni milyen módon honnantól meddig :-)
A "milyen típusú tömbben" kérdésre elvileg van válasz:
sorte fuer camera.sorteR4:Array˙[0..29] Of Int
Tehát integer típusú adatokat tartalmazó tömbben akarsz keresni ha jól értem, ami 30 elemű."milyen típusú adatot akarsz keresni" kérdésre nincs, mert egyrészt "4jegyű számokat, és mindig 4 jegyű számra szeretnék keresni benne", másrészt korábban négy darab CHAR típusú elemet emlegettél itt.
Integer tömbben integer adatot tudsz keresni, másnak nagyon nincs értelme. Az INT típus pedig nem ismer olyat, hogy "mindig 4 jegyű" szám. Az 1-999-ig nem négyjegyűek. Tulajdonképpen az INT-ben lévő érték számjegyeiről nincs is értelme beszélni, mert azok csak leírva (ASCII karakterekké vagy BCD digitekké alakítva nyer értelmet, hiszen az integert alapvetően nem is decimálisan, hanem binárisan tárolja te pedig nyilvánvalóan decimális számok számjegyeire gondolsz).
Más szóval, ha a bemenő adat (amit keresni akarsz) nem INT típusú, akkor először azzá kell alakítani. A korábbiakból úgy tűnik, hogy neked négy CHR karakter formájában jön a keresendő érték ASCII-ban kódolva vagy binárisan. Ez nekem még nem világos."milyen módon" kérdésre részben válaszoltál. De kérdés, hogy milyen eredményt szeretnél a kereséstől.
Az nyilvánvaló, hogy szeretnéd tudni, hogy benne van-e (vagy nincs benne). De érdekel-e, hogy ha benne van, akkor hol (hanyadik tömbelemben) vagy nem.
Illetve mi legyen ha nem csak egyszer van benne, hanem többször is? Vagy az nem érdekel?"honnantól meddig" ezt csak feltételezni tudom, hogy az említett tömb elejétől a végéig szeretnéd a keresést elvégezni.
Amit mellékeltél képet az hasznos, de sokkal több kérdést vet fel, mint amennyire választ ad, mivel szimbolikus címzésmódot használ és UDT-t is, vagy/vagy instance DB-t is használ. Így nem lenne rossz tudni milyen blokkban van ez és annak a blokknak pontosan hogy néz ki az interface része.
Addig biztosat annyit tudok mondani, hogy az a DB blokk, amiben az a tömb van, amiben keresni akarsz fix, már kész blokk, azaz a programot amihez a keresés kell nem most te készíted (ezt nem írtad, de a képekből úgy tűnik, hogy egy programot módosítani akarsz, nem te írtad) akkor romlik kissé a helyzet.
Mivel a TBL_FIND a keresés forrását jelentő, SRC paraméterben adott kezdőcímű E_TYPE típusú adathalmaz első elemének egy WORD típusú adatnak kell lennie (az E_TYPE által meghatározott típustól függetlenül) ami megadja az adatterület hosszát.
Ha a kérdéses DB nem módosítható, akkor ez a feltétel nyilván nem teljesíthető.Ebben az esetben azt lehet tenni, hogy létrehozol az INT tömbbel azonos elemszámú tömböt a TEMP változóterületen, ami elé teszel egy WORD változót. A WORD változóba beírod a tömb elemszámát (MOVE), majd az azt közvetlenül követő TEMP tömbbe blokk másolás BLKMOV funkcióval belemásolod a DB-ből az egész tömböt, végől az FC 86 SRC paraméterének megadod TEMP tömb előtt lévő WORD-re mutató pointert.
(Írnék erre példát, de nem akarok minden vakvágányt kidolgozni, az én időm sem végtelen... Majd ha a függő kérdések is tisztázódnak)
Új hozzászólás Aktív témák
- Kormányok / autós szimulátorok topikja
- A fociról könnyedén, egy baráti társaságban
- Gumi és felni topik
- Folyószámla, bankszámla, bankváltás, külföldi kártyahasználat
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Trollok komolyan
- Hogyan verte le egy telefon chip az egész laptop ipart? – x86 vs ARM
- Motorola Edge 70 Fusion – stílusosan főznek
- sziku69: Fűzzük össze a szavakat :)
- Horgász topik
- További aktív témák...
- Eladó Onkyo TX-NR7100 házimozi erősítő hibátlan állapot, gyári dobozzal
- Klipsch R-120SW aktív mélynyomó eladó, hibátlan
- KLIPSCH R-600F 5.0 hangfalszett
- Micron 5200 ECO 480 GB 2,5 SATA Enterprise/Datacenter Server SSD
- Komplett gép: i7 12700 - 4.90 Ghz / 32 GB DDR5 / 512 GB NVMe / Win 11 Pro - HP Z2 tower G9
- 27% számlával! MSI Prestige 14Evo! 13700H / 16GB DDR5 / 1TB NVMe SSD Notebook!
- AKCIÓ! Asus TUF A16 2024 FA607NUG Gamer notebook - R7 7445HS 16GB DDR5 1TB SSD RTX 4050 6GB
- Samsung Galaxy S22+ 128GB,Átlagos,Dobozaval,12 hónap garanciával
- Xiaomi Watch 2 2027.04.09-ig Garancia Beszámítás Házhozszállítás
- 27% - ASUS ROG Strix LC III 360 ARGB White vízhűtő!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

