Toon posts:

[VB] String representatie van variabele naam

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vooraf: ik verwacht dat het niet mogelijk is, maar probeer het toch maar :).

Is het mogelijk om de variabele naam van een variabele op te vragen als string? Dus:
code:
1
2
3
4
5
6
Dim sEenVariabele As Iets
Dim sReturn As String

  sReturn = FunctieDieWaarschijnlijkNietBestaat(sEenVariabele)

  'En nu zou sReturn de waarde "sEenVariabele" moeten hebben.

Iemand enig idee of dit zou kunnen?

Verwijderd

Ik begrijp hem niet...

sReturn = "sEenVariabele" zou het toch ook gewoon moeten doen???

  • Zap
  • Registratie: December 2000
  • Niet online

Zap

~

Op dinsdag 12 maart 2002 18:55 schreef Debbus het volgende:
Ik begrijp hem niet...

sReturn = "sEenVariabele" zou het toch ook gewoon moeten doen???
Dat lijkt mij ook ja.. snap niet waarvoor je dit nodig zou hebben, aangezien de naam van een bepaalde variabele altijd hetzelfde blijft... :? :)

#


Verwijderd

Ik snap wel waar je het voor zou kunnen gebruiken, zelf ook wel 's nodig gehad. Maar ik weet geen manier waarop dat kan. Hooguit in VB de debugger gebruiken. Of een Watch toevoegen o.i.d.

Verwijderd

Hmmz, het zal wel aan mij liggen, maar volgens mij heb je hier echt helemaal niets aan. W'rom zou je willen weten wat de naam van een variable is, als je die variable al gedeclared hebt en je dus al de naam van die variable weet?? Ennuhm, volgens mij kan het ook niet.

Verwijderd

Topicstarter
Ik zal het probleem ff iets duidelijker proberen te maken :).

Het is een beetje een vervolg op [topic=406086/1/25] en ik wil dus een enumaration van strings maken. Hierbij mogen hebben elemenenten van de enumaration dus een bepaalde betekenis, die ik graag als string vorm zou willen achterhalen.

Nu heb ik het opgelost met een array (zoals in dat topic is aangedragen) maar dat vind ik toch niet zo netjes als ik zou willen.

Verwijderd

Volgens mij is dit niet mogelijk omdat als je je programma copileerd de namen van je variablen verdwijnen.

Verwijderd

Topicstarter
Op dinsdag 12 maart 2002 20:13 schreef Hompie het volgende:
Volgens mij is dit niet mogelijk omdat als je je programma copileerd de namen van je variablen verdwijnen.
Dat is dus niet zo! Want erzijn speciale progjes om je variabele namen te verminken voor het compileren om het decompilen te vermoeilijken. Dus moeten ze wel zichtbaar zijn...

  • CyberSnooP
  • Registratie: Augustus 2000
  • Laatst online: 08-09 20:35

CyberSnooP

^^^^ schrijft --->

Volgens mij geldt dat laatste alleen voor VB4 (of was het 3?) die nog geen volledige native code compileerde. Maar dan nog lijkt het me sterk dat de oorspronkelijke variabele namen bewaart blijven.

|_____vakje______|


Verwijderd

Topicstarter
Ik heb net ff een .exe bekeken, en kon de namen van de forms zo terug vinden, maar de variabele namen idd niet... zal dus wel niet kunnen ;(

Verwijderd

VB6 Compileert de code en dus verdwijnen de variabele namen.

Bij oudere versies interpreteerde VB en toen bleven de variabele namen wel bestaan. Ik weet niet of het met oudere versies mogelijk is.

Maar naar mijn mening zinloos.

Als je een oplossing zoekt:

Gebruik classes:

Public Name as string
Publiv Value as variant

Dim a as MyClass
a.naam = "Naam"
a.value = 100

Verwijderd

Op dinsdag 12 maart 2002 19:18 schreef KoenM het volgende:
Ik zal het probleem ff iets duidelijker proberen te maken :).

Het is een beetje een vervolg op [topic=406086/1/25] en ik wil dus een enumaration van strings maken. Hierbij mogen hebben elemenenten van de enumaration dus een bepaalde betekenis, die ik graag als string vorm zou willen achterhalen.
Nu begrijp ik er helemaal niets meer van :). In je andere topic staat dus:
Private Sub updateDatabase(sField As enumTest, sNewValue As String)

Als ik naar je vraag in dit topic lees, dan vraag je: Ik wil de naam van de variabele sField als een string hebben. En dat is (zoals 'we' al hierboven schreven): sField.
Ongeacht de inhoud van sField, blijft sField altijd sField heten...
Pagina: 1