Comment multiplier l'entrée utilisateur par un nombre constant?Tout,
J'essaie de multiplier le nombre d'entrée utilisateur par une constante. J'ai besoin d'utiliser le nombre final (hoursBack) dans le cadre d'une adresse Web.
local(
{Name= "ABCD", daysBack = "7", formError = 1, rv},
While( formError > 0,
formError = 0;
rv = Dialog(
Title( "Select Extract criteria" ),
VList(
HList( "Name:", Name= EditText( Name) ),
HList( "Days Back", daysBack = EditText( daysBack ) ),
HList( Button( "OK" ), Button( "Cancel" ) )
)
);
If( rv["button"] < 0,
Throw( "Bye!" )
);
Name= rv["Name"];
If( Name== "",
formError
++);
daysBack = rv["daysBack"];
If( daysBack == "",
formError
++);
If( formError > 0,
Dialog( "Missing required form input values" )
);
);
Write( "Name=" || Name);
hoursBack = daysBack*24; //Getting an error here
Status Msg( "Extracting data for " || Name);
dt = queryData( "Newtable", hoursBack, Name); //Query data function is defined in a different part of the code
);Obtenir l'erreur ci-dessous -
Impossible de convertir l'argument en nombre [ou matrice] lors de l'accès ou de l'évaluation de «Multiply», daysBack * / * ### * / 24 / * ### * /
ScriptingRe: Comment multiplier l'entrée utilisateur par un nombre constant?num (jours) * 24
vous permettra de surmonter le problème où daysback détient une chaîne.
Re: Comment multiplier l'entrée utilisateur par un nombre constant?Le problème est que vous entrez votre daysBack à partir d'un champ EditText (), qui renvoie une chaîne de caractères et non une valeur numérique.Par conséquent, il doit être converti.Voir mon code ci-dessous
local(
{Name= "ABCD", daysBack = "7", formError = 1, rv},
While( formError > 0,
formError = 0;
rv = Dialog(
Title( "Select Extract criteria" ),
VList(
HList( "Name:", Name= EditText( Name) ),
HList( "Days Back", daysBack = EditText( daysBack ) ),
HList( Button( "OK" ), Button( "Cancel" ) )
)
);
If( rv["button"] < 0,
Throw( "Bye!" )
);
Name= rv["Name"];
If( Name== "",
formError
++);
daysBack = num(rv["daysBack"]);show(daysback);
If( daysBack == "",
formError
++);
If( formError > 0,
Dialog( "Missing required form input values" )
);
);
Write( "Name=" || Name);
hoursBack = daysBack*24;
show("xx",hoursback) ; //Getting an error here
Status Msg( "Extracting data for " || char(Name));
dt = queryData( "Newtable", hoursBack, Name); //Query data function is defined in a different part of the code
);Re: Comment multiplier l'entrée utilisateur par un nombre constant?@txnelson Merci. J'ai essayé ce que vous avez suggéré mais j'obtiens une erreur. J'ai joint l'instantané de l'erreur