Hirdetés
- Milyen processzort vegyek?
- Kétszáznál is több játékhoz hozta el az FSR Redstone-t az új AMD Software
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Milyen TV-t vegyek?
- Micro Four Thirds
- Házimozi belépő szinten
- Nem folyik, nem kenődik, de hűteni azt tud
- Nikon Z MILC fényképezőgépcsalád
- Home server / házi szerver építése
- Androidos tablet topic
Új hozzászólás Aktív témák
-
Homer
tag
Sziasztok!
Még csak a szárnyaimat bontogatom programozás terén, és nem is ez a szakterületem, de a munkám során néha jól jönne némi programozástechnikai ismeret, ezért vágtam bele a fejszémet a VB-be. Egy olyan dolgot szertnék kérdezni tőletek amire nem konkrét forráskódot várnék megoldásként, inkább az elméleti háttere érdekelne a dolognak.Adott egy collection amiben kétféle adattípusú adatot tárolnék. Az egyik féle osztályból (kereszteljük őket mondjuk "A-típus"-ra) létrehozott objektum tartalmaz vagy 5-6 féle mezőt + pár eljárást és függvényt a kezelésükre. A másik osztály (fantáziadúsan, legyen mondjuk "B-típus") az A típusból van örköltetve viszont még plussz 5 adatot tartalmaznának az ebből képzett objektumok. A kétféle objektum egy kollekcióba gyűjthető, és a "TypeOf(object) Is A-típus" kifejezéssel megállapítható az adott elem mezőinek mivolta is. Ahhoz, hogy a feltöltött listát megjeleníthessem használnék egy Listview1 objektumot.
A lista elemeit fel tudom tölteni ehhez hasonló módon:
...
For each elem as object in kollekció
if typeof(elem) is Atípus then listview1.items.add(elem.mező_a)
...(elem.mező_b)
...
else
listview1...items.add(elem.méret1)
nextA kérdésem az lenne, hogy az ily módon feltöltött listview-ból hogyan tudom visszanyerni az eredeti objektum "helyét" a kollekcióban? Lehet hogy alapból rosszul gondolkodom és nem is így kéne hozzálátni a feladathoz. Már többféleképpen is próbáltam, de mindig zátonyra futok valahol. A gond akkor jelentkezik amikor kijelölök egy listaelemet és ki akarom törölni a kollekcióból. Arra gondoltam, hogy a törlési eljárásban deklarálok egy objektumot, aminek manuálisan visszatöltöm az adatmezőit és ezt az objektumot használom a beazonosításra.
így valahogy:
sub gomb1.click(...)handles gomb1.click
obj.mező1 = listview1.selecteditems(0).items.tostring
obj.mező2 = istview1.selecteditems(0).subitems(0).items.tostring
...(és így végig az összes mezőn)
...
törlés(obj)
end subsub törlés(mit as object)
kollekció.remove(mit)
end subNagy balgaságot követek el így? Van ennél egyszerűbb mód, azon kívül hogy adatbázist használnék? (Még addig nem juttotam el a könyvben :$
. Még egy dolog mielőtt valaki az index-ek használatán gondolkodna: A listview-ban emelkedő sorrendben szeretném megjeleníttetni az elemeket, ami azt eredményezi hogy pl a 100-adiknak beírt adat legelőre kerül 0-s index-el(!), viszont a kollekcióban pedig időrendi sorrend szerint vannak tárolva. Viszont ami egyszerűsíti a helyzetet az az, hogy egy objektum sem ismétlődhet a sorban.Előre is köszönöm ha valaki válaszra méltatna és megérti a kérdésemet!

Új hozzászólás Aktív témák
- Autós topik látogatók beszélgetős, offolós topikja
- Milyen processzort vegyek?
- Hobby rádiós topik
- Redmi Note 13 Pro 5G - nem százas, kétszázas!
- Kétszáznál is több játékhoz hozta el az FSR Redstone-t az új AMD Software
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- AliExpress tapasztalatok
- sziku69: Fűzzük össze a szavakat :)
- Nintendo Switch 2
- Mikrotik routerek
- További aktív témák...
- ID Cooling Frozn A610 minden tartozékával, jótállással
- NAGYON SZÉP!!! Dell Latitude 7420 i7-1185G7 16 GB RAM 512 GB SSD Magyar v.bill
- P15 Gen1 15.6" FHD IPS i7-10850H RTX 3000 32GB 1TB NVMe ujjlolv IR kam gar
- SZÉP ÁLLAPOT!!!! Dell Latitude 7490 i5-8350U 16GB 512GB SSD Magyar v.bill
- AKCIÓ!!! HP ZBook Power 15 G8 Mobile Workstation i7-11850H 32GB 1000GB Nvidia RTX A2000
- Azonnali készpénzes AMD Ryzen 1xxx 2xxx 3xxx 5xxx processzor felvásárlás személyesen / csomagküldés
- Samsung Galaxy S25 Ultra Titanium Jetblack Titán dizájn, 120 Hz AMOLED, AI Pro kamera
- BESZÁMÍTÁS! MSI B450M R5 5600X 32GB DDR4 512GB SSD RTX 4060 TI 16GB ZALMAN Z1 Plus A-Data 650W
- Samsung Galaxy Tab A8 32GB, Újszerű, 1 Év Garanciával
- Keresünk iPhone 14/14 Plus/14 Pro/14 Pro Max
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi
. Még egy dolog mielőtt valaki az index-ek használatán gondolkodna: A listview-ban emelkedő sorrendben szeretném megjeleníttetni az elemeket, ami azt eredményezi hogy pl a 100-adiknak beírt adat legelőre kerül 0-s index-el(!), viszont a kollekcióban pedig időrendi sorrend szerint vannak tárolva. Viszont ami egyszerűsíti a helyzetet az az, hogy egy objektum sem ismétlődhet a sorban.

