Hirdetés
- Socket AM4
- Sony MILC fényképezőgépcsalád
- 5.1, 7.1 és gamer fejhallgatók
- HiFi műszaki szemmel - sztereó hangrendszerek
- Milyen TV-t vegyek?
- Annyira azért nem egyedi tervezésűek a Steam Machine fő komponensei
- Azonnali informatikai kérdések órája
- Milyen processzort vegyek?
- Bluetooth hangszórók
- Nem indul és mi a baja a gépemnek topik
Ú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
- OFF TOPIC 44 - Te mondd, hogy offtopic, a te hangod mélyebb!
- Tudományos Pandémia Klub
- PlayStation 5
- Socket AM4
- PH!otósok beszélgetős, offolós topikja
- Fotók, videók mobillal
- Sony MILC fényképezőgépcsalád
- 5.1, 7.1 és gamer fejhallgatók
- HiFi műszaki szemmel - sztereó hangrendszerek
- BestBuy topik
- További aktív témák...
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook Laptop 14" -80% i7-10610U 16/512 FHD IPS MATT
- Lenovo ThinkVision LFD E65 65" LFD kijelző új
- Legion 5 Pro 16IAH7H Intel Core i7-12700H CPU / 32GB DDR5 RAM / 1TB SSD / Nvidia RTX3070 8GB
- Szép DELL latitude 5420 Tartós Üzleti Laptop 14" -70% i5-1145G7 4Mag 16Gb 256GB SSD FHD IPS
- TP-Link RE700X AX3000 Rage Extender
- LG 65QNED86T3A / QNED / 65" - 164 cm / 4K UHD / 120Hz / HDR Dolby Vision / FreeSync Premium / VRR
- Hp, Dell gyári 65W USB-C Type-C töltők, tápegységek
- HIBÁTLAN iPhone 12 Pro Max 128GB Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3109
- ASUS TUF A15 FA507 - 15.6"FHD 144Hz - Ryzen 7 7435HS - 16GB - 1TB - Win - RTX 4050 - 2+ év garancia
- BESZÁMÍTÁS! GIGABYTE B450M R7 2700X 16GB DDR4 512GB SSD RX 5700 XT OC 8GB GameMax STORM Antec 550W
Állásajánlatok
Cég: NetGo.hu Kft.
Város: Gödöllő
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
. 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.

