- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Sony WF-1000XM6 – ez évi etalon?
- Elődje legnagyobb hibáját javítja az iPhone 17e
- One mobilszolgáltatások
- Poco X3 Pro - hardverfrissítés
- Szívós, szép és kitartó az új OnePlus óra
- Samsung Galaxy S25 - végre van kicsi!
- iPhone topik
- Reklámok kikapcsolása Xiaomi, Redmi és Poco telefonokon
- A Huawei február 26-án globálisan is bemutatja a Mate 80 Prót
Ú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
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Parkside szerszám kibeszélő
- Elemlámpa, zseblámpa
- Motoros topic
- Spórolós topik
- Le Mans Ultimate
- Érdemes elővenni a Diablo II-t: érdekes újdonságot kap a játék
- sziku69: Fűzzük össze a szavakat :)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Építő/felújító topik
- További aktív témák...
- 15.gen! Intel Core ULTRA 9 285K (24mag!) +hűtött VRM-es Z890 lap! GAR/SZÁMLA (Te nevedre kiállítva)!
- Eladó 6 darab DDR4 16 Gb Sodimm, illetve 2 darab DDR5 16 GB Sodimm
- Eladó három darab SSD. 2 x 1 TB illetve 1 x 2 TB
- több db DELL P2419 vékony kávás full HD 1920x1080 IPS monitor HDMI - gari + számla
- iPhone 17 256 GB Párakék - Bontatlan - 1 év gyári Apple garancia, Hivatalos Apple Resellertől!
- Akció! Gamer PC-Számítógép! Csere-Beszámítás! R5 1600X / RX 580 8GB / 500GB SSD + 2TB HDD / 16GB RAM
- Új és újszerű 17-18 Gamer, irodai, üzleti készülékek nagyon kedvező alkalmi áron Garanciával!
- RugKing 4 Pro
- FANTASZTIKUS áron eladó dobozos új Hp Laptop 17 /Ryzen 7-7730U/16 GB RAM /512 SSD/FHD/IPS/Garancia/
- Apple iPad Air 2 128GB, Wi-fi, 1 Év Garanciával
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


