macro expansion

Just starting out? Need help? Post your questions and find answers here.
User avatar
idle
Always Here
Always Here
Posts: 5038
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

macro expansion

Post by idle »

I'm trying to get a macro to generate a string but I can't it to work. :?

Code: Select all

Structure sfoo 
  a.i 
  b.d 
EndStructure   

Define foo.sfoo 
Define out.s 

Macro set(var,field,val) 
  
 var\field = val  
 out = Chr(34) + field + Chr(34)  
  
EndMacro 

set(foo,a,123)

Debug out  ;I want to get "a" not "0" 
Debug foo\a 
juergenkulow
Enthusiast
Enthusiast
Posts: 544
Joined: Wed Sep 25, 2019 10:18 am

Re: macro expansion

Post by juergenkulow »

preprocessor.pb:

Code: Select all

Structure sfoo 
  a.i 
  b.d 
EndStructure   
Define foo.sfoo 
Define out.s 
Macro set(var,field,val) 
  
 var\field = val  
 out = Chr(34) + field + Chr(34)  
  
EndMacro 
foo\a = 123  
out = Chr(34) + a + Chr(34)  
Debug out  
Debug foo\a 
Try:

Code: Select all

Structure sfoo 
  a.i 
  b.d 
EndStructure   

Define foo.sfoo 
Define out.s 

  Macro DoubleQuote
    "
  EndMacro

Macro set(var,field,val) 
  
 var\field = val  
 out = Chr(34) + DoubleQuote#field#DoubleQuote + Chr(34)  
  
EndMacro 


set(foo,a,123)

Debug out  
Debug foo\a 

; "a"
; 123
User avatar
idle
Always Here
Always Here
Posts: 5038
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: macro expansion

Post by idle »

fantastic thanks.
Post Reply