[ASP] Variabele probleem

Pagina: 1
Acties:

  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
Ik ben bezig met een template parser met if then else statements erin.

Deze wil ik parsen met een regular expression.

Dan wil ik uiteraard kijk of een statement true is.

ik heb dan in de templatefile bv:

If (variabele 1 == variabele 2) { variabel 1 is gelijk aan nummertje 2!!! }

Dan wil ik dat parsen dmv een reg exp:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Function emNewRegExp(spattern, bglobal, bignorecase)
  Dim rx
  Set rx = New RegExp
  rx.Pattern = spattern
  rx.Global = bglobal
  rx.IgnoreCase = bignorecase
  Set emNewRegExp = rx
  Set rx = Nothing
End Function

Set rx = emNewRegExp("if \((.*?)==(.*?)\){(.*?)}", True, True)
Set Matches = rx.Execute(str)
    
For Each Match in Matches
  if not Match.SubMatches(0) = Match.SubMatches(1) then
      Match.Value = ""
  end if
Next    


Maar ik hij kijkt nu of de string uit Match.SubMatches(0) gelijk is aan de string van Match.SubMatches(1).

Ik wil echter dat hij de variabele die hetzelfde heet als de inhoud van Match.SubMatches(0) vergelijkt met de variabele die hetzelfde heet als Match.SubMatches(1).

Voorbeeld:

template file:
If (variabele1 == variabele2) { variabel 1 is gelijk aan nummertje 2!!! }

inhoud vars:
variabele1 == "1"
variabele2 == "1"

uiteindelijk moet hij het nu neer zetten dat ze gelijk zijn.
Wat hij echt doet is: de string variabele1 is niet gelijk aan variabele2 dus is het ongelijk..

Weet iemand hoe ik de WAARDE in variabele1 kan vergelijken met de WAARDE in variabele2?

Ik ben al meerdere keren tegen dit probleem aangelopen.. maar steeds vond ik wel een andere manier om het op te lossen... Dit keer echter niet :)

[ Voor 5% gewijzigd door Mischa_NL op 12-03-2005 20:11 ]


  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21

tombo_inc

uhuh

misschien bieden arrays een oplossing?

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition


  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
het is dus zeg maar dat ik dynamisch een variabele wil aanroepen:

Visual Basic:
1
2
dezestring = "dit is de op te halen waarde"
var1 = "dezestring"


nu wil ik de inhoud van de variabele weten die gelijk is aan de string in var1

dus wat ik daar met arrays zou moeten! :)

[ Voor 16% gewijzigd door Mischa_NL op 12-03-2005 20:10 ]


  • Radiant
  • Registratie: Juli 2003
  • Niet online

Radiant

Certified MS Bob Administrator

Ik weet niet of ASP dat ook heeft, maar vbscript heeft een Execute functie (Execute "var2 = " & var1), wellicht kan je daar wat mee. Maar met arrays werken is natuurlijk wel netter :)

  • Mischa_NL
  • Registratie: Mei 2004
  • Laatst online: 01-02-2023
Ik heb hem gevonden!

Eval() is de functie!

Door te zoeken op execute vond ik hem :)

tnx!

  • tombo_inc
  • Registratie: December 2004
  • Laatst online: 10-03 13:21

tombo_inc

uhuh

ik ben een beetje in de war want nu snap ik je vraag niet meer zo goed :p
bedoel je nou een soort variabele variabele? php heeft daarvoor $$varnaam declaratie. ik ben niet zo'n held in asp, dus ik weet niet of er daar ook zoiets bestaat. als het niet is wat je bedoelt dan moet je het nog een keertje uitleggen :7

edit:
srry net iets te laat gepost :o

[ Voor 8% gewijzigd door tombo_inc op 12-03-2005 20:50 ]

Microsoft Windows: A thirty-two bit extension and graphical shell to a sixteen-bit patch to an eight-bit operating system originally coded for a four-bit microprocessor which was written by a two-bit company that can't stand one bit of competition

Pagina: 1