Új hozzászólás Aktív témák
-
Szirty
őstag
Helló Szabest!
Valami szétcsúszott a prohardveren, mert válaszolni nem lehet, csak új üzenetet írni.
Szóval én verzióm a következő:"Kérdésem, hogy van-e ilyen gyári FC, SFC, amivel végig tudok "scanneltetni' egy DB-t hogy szerepel-e benne a beadott szám?"
Igen, van olyan, amelyikkel meg lehet csinálni. Az TI-S7 Converting Blocks / FC86 TBL_FIND meg tudja csinálni.
Ez adott mintát (sorozatot) keres egy táblázatban. A minta természetesen lehet egy elemű is.
A táblázatban és a mintában BYTE, WORD, INT, DWORD, DINT, REAL típusú elemek lehetnek.
Egy lényeges kikötés van, hogy a táblázat első elemének a táblázat hosszát (a keresés hatókörét) kell megadnia. Tehát abból tudja mennyi adatot nézzen át.
A blokk hívása így fest:SRC: a táblázat, amiben keresni kell
PATRN: A minta amit a táblázatban keres
CMD: A keresésre vonatkozó parancs, ami B#16#01 = azonosság keresése, B#16#02 = eltérés keresése lehet
E_TYPE: Az adattípust adja meg, B#16#02 = BYTE, B#16#04 = WORD, B#16#05 = INT, B#16#06 = DWORD, B#16#07 = DINT, B#16#08 = REAL
INDX: EGy in/out paraméter. Az itt megadott számú elemnél kezdi el a táblázatban a keresést és ide teszi bele, hogy hanyadik elem felel meg a keresési kritériumnak.
RET_VAL: Itt mondja meg, hogy talált vagy nem találta a keresett mintát, illetve ha egyéb baja van W#16#0008 - Nem talált semmit, W#16#0000 - Talált.INDX értékét akkor kell figyelembe venni, ha RET_VAL értéke W#16#0000
A példában szereplő hívásnak ez a DB tartalom került átadásra:Ahol az INTArray definíciója ez: INTArray[0..100] INT
Természetesen a keresés helye nem kell hogy tömbdefiníció legyen az FC 86-nak ANY típusú pointerrel bármit meg lehet adni, de a tábla nem tartalmazhat eltérő (vegyes) típusú adatokat.
Ez a kép működés közben készült:A blokk az 1997-es számot kereste és találta meg a táblázat 14-es elemében.
Új hozzászólás Aktív témák
- ASUS Zenbook 14 - 14" 2.8K OLED 90Hz - i5-1240P - 16GB - 512GB - Win11 - 1,5 év garancia - MAGYAR
- ASUS TUF F16 / I7-14650HX / RTX 5070 / 1TB SSD / 32GB DDR5 Notebook! BeszámítOK
- ÁRGARANCIA!Épített KomPhone Ryzen 7 9800X3D 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Eladó Samsung Galaxy A51 4/128GB / 12 hónap jótállás
- Honor 200 256GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
