Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

help in while loop

Status
Not open for further replies.

renukamh

Programmer
May 20, 2003
11
US
whenever I am trying to save the formula I am getting the error
"A number is required here"
and the cursor is staying just after else.

EvaluateAfter ({@issuer_test});
numberVar LengthIssuer1 ;
global stringvar issuer1_for_test;
global stringVar array issuer1_part:=['a','b','c','d','e'];
numbervar i:=1;
numbervar j:=1;
numbervar l:=0;

LengthIssuer1:=Length (issuer1_for_test);

If LengthIssuer1 <=26 then
(
issuer1_part[1]:=issuer1_for_test;
j:=j;

)
else
(

while j<= LengthIssuer1 do
(
if mid({@issuer_test},j+26,1)=' ' then
(
issuer1_part:=mid({@issuer_test},j,26);
j:= j+ 27;
i:=i+1
)
)
)
 
You start the IF THen Else with a number and finish on a While, I have seen this before, expressions both sides of the IF Then Else must be the same.

Try splitting into two separate statements eg

EvaluateAfter ({@issuer_test});
numberVar LengthIssuer1 ;
global stringvar issuer1_for_test;
global stringVar array issuer1_part:=['a','b','c','d','e'];
numbervar i:=1;
numbervar j:=1;
numbervar l:=0;

LengthIssuer1:=Length (issuer1_for_test);

If LengthIssuer1 <=26 then
(
issuer1_part[1]:=issuer1_for_test;
j:=j;

);


(

while j<= LengthIssuer1 do
(
if mid({@issuer_test},j+26,1)=' ' then
(
issuer1_part:=mid({@issuer_test},j,26);
j:= j+ 27;
i:=i+1
)
)
);

ie replace else with a ; and add a ; at the end of the second part.

Not sure why this happens but splitting like this has worked on simpler formulas for me.

Ian
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top