Login  Register

Re: returning string from function

Posted by David Webster on Aug 11, 2010; 1:20am
URL: http://imagej.273.s1.nabble.com/returning-string-from-function-tp3687299p3687300.html

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.
>