Label(ek)re hivatkozás megvalósítása
2020-12-28T12:40:42+01:00
2020-12-29T22:28:32+01:00
2022-08-11T23:50:33+02:00
t65a
sziasztok!

teljesen amatőrként kérdeznék!!! valaha basic (c64), qbasic, vb6- ot próbáltam, egyszerű programokat írogattam. már rég gondoltam, hogy újra kéne egy kicsit programozgatni, de a régi gépem nem volt rá alkalmas az új keretrendszer futtatásához. eltelt az idő és a változás folyamatos a programozási nyelvekben is.

gondom az, hogy miként tudok egy Label-re hivatkozni változóval?
gondoltam, hogy a   Label(változó).    működni fog, de nem!
miként lehet ezt az "egyszerű" problémát megoldani?
pl. ha van 20db Label, azoknak tartalmát egy ciklusban törölni, vagy egy feltétel kiértékelésekor, a megfelelő Label-t kiválasztva, annak tartalmát, vagy más tulajdonságát megváltoztatni?
gondolom van rá megoldás és nem kell 20x megirni a feltételt, hanem valamilyen módon hivatkozok a megfelelő Label-re.

válaszokat előre is köszönöm!!!
Mutasd a teljes hozzászólást!

  • Szia!
    Milyen nyelvet használsz most? És melyik alkalmazásban? Hol vannak a Labelek?
    Üdv.
    Mutasd a teljes hozzászólást!
  • Szia!
    Ha Label-nek azt nevezed, hogy egy kódsort megjelölsz valamivel és GOTO-val odaugrasz, akkor azt véleményem szerint nagyon gyorsan felejtsd is el. Olyan szinten átláthatatlan kódot lehet így készíteni, hogy 2 nap múlva már te magad sem fogsz rajta eligazodni.
    Ehelyett inkább írd meg, mi a megoldandó probléma, úgy könnyebb lesz segíteni.
    Gábor
    Mutasd a teljes hozzászólást!
  • visual studio 2019-et tettem fel és visual basic-ben próbálkozom.
    Mutasd a teljes hozzászólást!
  • szia!

    ezt a pár sort csak összedobtam!!

    Public Class Form1
        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            For a = 1 To 20
                Label(a).Text = a
            Next
        End Sub
    End Class

    ez így nem működik!!!

    létrehoztam 20db Labelt és a gombot
    "régi" tudásom szerint próbálkoztam, azaz ha megnyomom a gombot, a labelek sorban feltöltőnek 1-20-ig a ciklus változó értékével.
    ebben az esetben voltaképp a saját sorsszámukkal lenne mindegyik label kitöltve
    de ugy. ez, pl a 20db label-ek adatainak törlését szeretném.
    vagy! ha lenne egy feltétel, akkor a kimenetnél meghatározni, hogy melyik label text értéke változzon a kívánt tartalomra.
    Mutasd a teljes hozzászólást!
  • Ja, így tisztább a dolog, egy kicsit félreértettem a kérdésedet.
    VB.NET alatt szerintem nem működik az, hogy a Label típusú objektumból alapból tömb legyen. Ezt kézzel kellene megtenned. (A szintaxist nem tudom így fejből, én C#-ban programozok, nem VB.NET-ben).
    És még egy javaslat: nézz utána a .NET koncepciójának. Az új Visual Basic (pontosabban Visual Basik .NET) csak a nevében és a forráskód szintaktikájában kapcsolódik a régi VB-hez, ahonnan indultál, de egyébként teljesen más! Ott kezdődik, hogy a teljes .NET objektum orientált nyelv, míg a régi VB ezt még hírből se nagyon ismerte.
    Gábor
    Mutasd a teljes hozzászólást!
  • szia!

    köszönöm!

    sajnos tapasztaltam a változást :( főleg, hogy sok-sok év szünettel újra leülök a gép elé és csak nézek, hogy már megint egy hiba, és megint....
    sok keresgélés közepette kikötöttem az elte oldalán, ahol többek között a leírják a változásokat és mik szűnnek meg. pl gosub/return
    na, most aki a szubrutinokon nevelkedett fel (c64,qbasic) nehéz az új metódust megérteni! igazából még nem is néztem utána, miként van kiváltva ez az eljárás.

    még 1x köszönöm!!
    Mutasd a teljes hozzászólást!
  • Szia!
    Hát, szerintem azok, akik még VB alatt nevelkedtek, egyre kevesebben vannak, főleg úgy, hogy közben 10+ év kimaradt az életükből, amíg semennyire sem tartottak lépést a fejlődéssel :D
    Gábor
    Mutasd a teljes hozzászólást!
  • Szia!

    Ha UserForm-on akarod használni a Label-t, akkor az OleObjektumként van létrehotva, és csak a nevével tudsz rá konkrétan hivatkozni.
    Mondjuk a csoportos műveletekhez (pl. törlés) be tudod rakni Collection-ba őket(és a Collection-ra kell hivatkozni), de az egyéni műveletek asszem sajna csak pontos névvel mennek, a nevében nem tudsz így változót megadni.
    Illetve a For Each ciklus is szóba jöhet, ha több elemmel kell valamit csinálni.
    Már ha ez igaz a Visual Studio-ra is.
    De a MS-help oldal egész használható hozzá.
    Mutasd a teljes hozzászólást!
abcd