Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


callbyname

Postades av 2001-08-28 10:31:00 - Anette Anderung, i forum visual basic - allmänt, Tråden har 3 Kommentarer och lästs av 442 personer

Jag har en string som motsvarar namn och properties på en kontrol i ett formulär tex

"frmMainMenu.Command1.text"
Detta vill jag utföra:

frmMainMenu.command1.text=VariabeltVärde

Någon som har nåt tips?? Callbyname kräver ett objektnamn ..

Nettan


Svara

Sv: callbyname

Postades av 2001-08-28 11:08:00 - Patrik Löwendahl

Följande kod funkar så länge objects djupet är tre steg..

<code>
Public Sub SetProperty(sCmd as string, sValue as string)
Dim ctrl As Control
Dim form As form

Dim sCtrl As String
Dim sForm As String
Dim sCmd As String
Dim sProperty As String

Dim lDot2 As Long
Dim lDot As Long

lDot = InStr(1, sCmd, ".")
lDot2 = InStr(lDot + 1, sCmd, ".")

sForm = LCase(Left$(sCmd, lDot - 1))
sCtrl = LCase(Mid$(sCmd, lDot + 1, Len(sCmd) - (lDot2 - 1)))
sProperty = LCase(Mid$(sCmd, lDot2 + 1))

For Each form In Forms
If LCase(form.Name) = sForm Then
For Each ctrl In form.Controls
If LCase(ctrl.Name) = sCtrl Then
CallByName ctrl, sProperty, VbLet, sValue
Exit For
End If
Next
Exit For
End If
Next
End Sub
</code>





Svara

Sv: callbyname

Postades av 2001-08-28 11:27:00 - Anette Anderung

Tack SNÄLLA Patrik..

Jag satt precis och plitade på en nästan likadan lösning men hade fastnat eftersom jag rationalisterat bort anropet till callbyname


Bockar o Bugar

Netan


Svara

Sv: callbyname

Postades av 2001-08-28 11:42:00 - Anette Anderung

Det hade smugit sig in ett par små fel i koden ovan men annars funkade det bra

Dim ctrl As Control
Dim Form As Form
Dim sCtrl As String
Dim sForm As String
( ' Dim sCmd As String)
Dim sProperty As String
Dim lDot2 As Long
Dim lDot As Long
lDot = InStr(1, sCmd, ".")
lDot2 = InStr(lDot + 1, sCmd, ".")
sForm = LCase(Left$(sCmd, lDot - 1))
sCtrl = LCase(Mid$(sCmd, lDot + 1, (lDot2 - lDot - 1))) ///HÄR
HAR JAG ÄNDRAT**************
sProperty = LCase(Mid$(sCmd, lDot2 + 1))
For Each Form In Forms
If LCase(Form.name) = sForm Then
For Each ctrl In Form.Controls
If LCase(ctrl.name) = sCtrl Then
CallByName ctrl, sProperty, VbLet, sValue
Exit For
End If
Next
Exit For
End If
Next


Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 622
27 953
271 709
634
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies