Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
Hi,
I am trying to return a string variable from a function to the main body of a macro. The string variable has the right value inside the function, but when it is passed back to the macro body, it has a value of 0. I'm new to ImageJ, so I thought that maybe strings might be considered objects in some way (e.g., arrays of characters), and so needed to be passed by reference as with variables declared as arrays from the start. This didn't work either. Any insight as to why this won't work, and what will make it work, would be greatly appreciated. A little test macro is below, using the get time test macro as a function. Thanks, Mark *** Code to Follow *** macro "test" { timeString = ""; timeString = getTime(); showMessage(timeString); } function getTime() { MonthNames = newArray("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); DayNames = newArray("Sun", "Mon","Tue","Wed","Thu","Fri","Sat"); getDateAndTime(year, month, dayOfWeek, dayOfMonth, hour, minute, second, msec); TimeString ="Date: "+DayNames[dayOfWeek]+" "; if (dayOfMonth<10) {TimeString = TimeString+"0";} TimeString = TimeString+dayOfMonth+"-"+MonthNames[month]+"-"+year+"\nTime: "; if (hour<10) {TimeString = TimeString+"0";} TimeString = TimeString+hour+":"; if (minute<10) {TimeString = TimeString+"0";} TimeString = TimeString+minute+":"; if (second<10) {TimeString = TimeString+"0";} TimeString = TimeString+second; showMessage(TimeString); return(TimeString); } |
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
Mark,
If you use "return TimeString;" instead of "return(TimeString)", it works. return(TimeString) isn't the correct syntax. I think the macro porocesor is interpreting as a zero. If you do x = (TimeString); return x; then you get a zero. David On Tue, Aug 10, 2010 at 5:33 PM, mcpeek <[hidden email]> wrote: > Hi, > > I am trying to return a string variable from a function to the main body of > a macro. The string variable has the right value inside the function, but > when it is passed back to the macro body, it has a value of 0. > > I'm new to ImageJ, so I thought that maybe strings might be considered > objects in some way (e.g., arrays of characters), and so needed to be > passed > by reference as with variables declared as arrays from the start. This > didn't work either. > > Any insight as to why this won't work, and what will make it work, would be > greatly appreciated. A little test macro is below, using the get time test > macro as a function. > > Thanks, > > Mark > > *** Code to Follow *** > > > macro "test" { > timeString = ""; > timeString = getTime(); > showMessage(timeString); > } > > function getTime() { > MonthNames = > > newArray("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"); > DayNames = newArray("Sun", "Mon","Tue","Wed","Thu","Fri","Sat"); > getDateAndTime(year, month, dayOfWeek, dayOfMonth, hour, minute, > second, msec); > TimeString ="Date: "+DayNames[dayOfWeek]+" "; > if (dayOfMonth<10) {TimeString = TimeString+"0";} > TimeString = > TimeString+dayOfMonth+"-"+MonthNames[month]+"-"+year+"\nTime: "; > if (hour<10) {TimeString = TimeString+"0";} > TimeString = TimeString+hour+":"; > if (minute<10) {TimeString = TimeString+"0";} > TimeString = TimeString+minute+":"; > if (second<10) {TimeString = TimeString+"0";} > TimeString = TimeString+second; > > showMessage(TimeString); > return(TimeString); > } > > > > -- > View this message in context: > http://imagej.588099.n2.nabble.com/returning-string-from-function-tp5410554p5410554.html > Sent from the ImageJ mailing list archive at Nabble.com. > ... [show rest of quote]
|
Loading... |
Reply to author |
Edit post |
Move post |
Delete this post |
Delete this post and replies |
Change post date |
Print post |
Permalink |
Raw mail |
On 8/10/2010 9:22 PM, David William Webster [via ImageJ] wrote:
Mark, Thanks David. Still getting used to ImageJ. |
Free forum by Nabble | Disable Popup Ads | Edit this page |