Ú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
- Új! Razer Iskur V2 - Black gamer szék!
- BESZÁMÍTÁS! ASRock B650M R7 8700F 32GB DDR5 512GB SSD RX 9070 XT 16GB NZXT H510 fehér Seasonic 750W
- SATA SSD 256GB // 512GB // Számal + Garancia //
- AKCIÓ! Dell Latitude 5455 14 FHD+ üzleti notebook - Qualcomm X Plus X1 16GB DDR5 512GB SSD W11
- Xiaomi Mi Watch S1 Pro okosóra
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

