bonsoir,
J'ai un probleme avec ce script..
La doc Terminal Vbray est tres (trop) succinte au niveau de ce langage qui est
soit-disant equivalent à du pascal ..
Il n'y a apparament pas de fonction equivalente à str(valeur,txt)
j'essaie donc de constituer une chaine ascii en decomposant ma valeur (x variable de 1 à 20000)
Ce meme programme transposé en Turbo basic donne le resultat escompté
mais dans ce cas je SAIS que j'utilise la division entiere "\" .
voyez vous un bug dans mon script (sweep.tsc ci dessous) ou y-a-t-il une faille ailleurs?
Ca deconne des que je passe au dessus de 9 ?Code:program Sweep; const STRING1 = 'TEST SWEEP'; var x: longint; var k: longint; var j: longint; var Msg: string; begin showMessage('Fequence Sweep script'); writeln(STRING1); ComSendchr(12);// CLS comsendstr(STRING1); x:=1; while (x < 20001) do begin Msg:=''; k := x; j:= INT(k DIV 10000); if (j > 0) then { k:=k-(j*10000); } else {j:=0;} ComSendchr(j+48); Msg := Msg + chr(j+48); j:= INT( k div 1000); if (j > 0) then { k:=k-(j*1000); } else {j:=0;} ComSendchr(j+48); Msg := Msg + chr(j+48); j:= INT(k div 100); if (j > 0) then { k:=k-(j*100); } else {j:=0;} ComSendchr(j+48); Msg := Msg + chr(j+48); j:= INT(k div 10); if (j > 0) then { k:=k-(j*10); } else { j:=0; writeln(J=0); } ComSendchr(j+48); Msg := Msg + chr(j+48); // dizaines ComSendchr(k+48); Msg := Msg + chr(k+48); // reste k = unites ComSendchr(13);// CR writeln(Msg); // envoi la consigne Delay(100); x:= x + 1; end; end.
comme si je rajoutais 10 a la derniere valeur
TEST SWEEP
00001
00002
00003
00004
00005
00006
00007
00008
00009
0001:
0001;
0001<
0001=
0001>
0001?
-----