Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| Compilateur --> ERREUR ’-‘ is not a valid integer value | |
| | Auteur | Message |
---|
papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 16:21 | |
| Pour déterminer le temps (en millisecondes) mis par un traitement pour s’exécuter, j’utilise le code suivant : - Code:
-
dim tick%, t1%, t2% tick() : t1% = tick% ' Ici le traitement pour lequel on évalue la durée ' par exemple dim i for i = 1 to 10000 : next i tick() : t2% = tick% message "Traitement effectué en " + str$(t2%-t1%) + " millisecondes" end rem ============================================================================ SUB tick() dll_on "kernel32.dll" tick% = dll_call0("GetTickCount") dll_off END_SUB rem ===========================================================================
Ce code marche parfaitement avec l'interpréteur tandis que le compilateur signale une erreur : ’-‘ is not a valid integer valueQuelqu'un a-t-il une idée ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 16:49 | |
| J’ai réalisé un code de calcul des décimales de Pi (encore un !) et j’ai voulu comparer les durées d’exécution en interprété et en compilé : Le code compilé s’exécute presque INSTANTANEMANT , alors que son homologue interprété a mis ... 754420 millisecondes, soit près de TREIZE MINUTES !!! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 17:26 | |
| En effet, c'est spectaculaire ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 17:46 | |
| Voici le code à exécuter sous le compilateur : affichage immédiat du résultat. - compilateur:
- Code:
-
rem ============================================================================ rem Calcul des 2400 décimales de PI rem Par Papydall rem ============================================================================ dim f(8400),a,b,c,d,e,g,s$,x$ a = 10000 : b = 0 : c = 8400 caption 0,"Les premières décimales de PI <ESC> pour arrêter" width 0,screen_x/1.25 : height 0,600 memo 1 : width 1,width(0)-70 : height 1,height(0)-20 : left 1,35 print_target_is 1 :font_size 1,12 : font_bold 1 While b <> c : f(b) = int(a / 5) : b = b+1 : end_while while c > 0 d = 0 : g = 2*c : b = c while b > 0 d = d + f(b) * a : g = g - 1 : f(b) = mod(d,g) d = int(d / g) : g = g - 1 : b = b - 1 IF (b <> 0) THEN d = d * b end_while c = c - 14 : x$ = STR$(e + int(d / a)) while len(x$) < 4 : x$ = "0"+x$ : end_while s$ = s$ + x$ : e = MOD(d,a) end_while print "PI = " + s$ : print : print str$(len(s$)) + " décimales de PI" rem ============================================================================
Et voici le code à exécuter sous l’interpréteur : Je vous préviens : il a mis chez moi 754420 ms soit environ 13 mn- interpréteur:
- Code:
-
rem ============================================================================ rem Calcul des 2400 décimales de PI rem Par Papydall rem ============================================================================ dim f(8400),a,b,c,d,e,g,s$,x$ a = 10000 : b = 0 : c = 8400
caption 0,"Les premières décimales de PI <ESC> pour arrêter" width 0,screen_x/1.25 : height 0,600 memo 1 : width 1,width(0)-70 : height 1,height(0)-20 : left 1,35 print_target_is 1 :font_size 1,12 : font_bold 1 dim tick%,t1%,t2% GetTickCount() : t1% = tick% While b <> c : f(b) = int(a / 5) : b = b+1 : end_while while c > 0 d = 0 : g = 2*c : b = c while b > 0 d = d + f(b) * a : g = g - 1 : f(b) = mod(d,g) d = int(d / g) : g = g - 1 : b = b - 1 IF (b <> 0) THEN d = d * b end_while c = c - 14 : x$ = STR$(e + int(d / a)) while len(x$) < 4 : x$ = "0"+x$ : end_while s$ = s$ + x$ : e = MOD(d,a) end_while GetTickCount() : t2% = tick% print "PI = " + s$ : print : print str$(len(s$)) + " décimales de PI" print "en " + str$(t2%-t1%) + " millisecondes" rem ============================================================================ end ' Déterminer le nombre de millisecondes écoulées depuis le démarrage du système SUB GetTickCount() dll_on "kernel32.dll" tick% = dll_call0("GetTickCount") dll_off END_SUB rem ============================================================================
Et le résultat : - Résultat:
| |
| | | Jicehel
Nombre de messages : 5947 Age : 52 Localisation : 77500 Date d'inscription : 18/04/2011
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 18:01 | |
| Attention toutefois, tu ne compares pas la même chose. Sous l'interpreteur tu fais appel 2 fois à la DLL externe pour avoir le temps. Nous sommes d'accord, c'est une opération assez rapide qui ne justifie pas la différence énorme entre le compilé et l'interprété. toutefois pour être rigoureux, il faudrait que ce soit les 2 mêmes programmes qui soient comparés. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 18:34 | |
| @Jicehel Parfaitement d’accord avec toi ! Si j’ai omis l’appel à la dll en compilé c'est parce qu’il ne l’accepte pas. Mais tout de même entre 754420 ms et « le presque instantané » il y a de quoi frôler le désespoir ! D’ailleurs j’ai retrouvé la réponse de Jack (dans un autre post en réponse à ygeronimi) à cette erreur. - jack a écrit:
Ton message d'erreur ('-' is not a valid integer value) vient de fait que la fonction dll_on a un problème dans la version du compilateur que tu utilises. Cela sera bientôt corrigé. | |
| | | Jack Admin
Nombre de messages : 2395 Date d'inscription : 28/05/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 18:37 | |
| Je confirme.Il y a un bug dans la gestion des DLL dans le compilateur. Et cela sera "bientôt" corrigé. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 18:39 | |
| | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 22:14 | |
| Là j'ai perdu les pédales: Pour compiler un tout petit module, je lance le compilateur (qui me lance bien Panoramic Compiler), je charge mon source.bas, je peux l'exécuter (d'ailleurs il me fait 'Cannot open file C:\PANORAMIC\COMPILATEUR\PANORAMIC.exe', puis '-' is not a valid integer value.', mais nulle part je ne vois l'option 'faire un exécutable', ni dans le menu Fichier ni ailleurs ! J'ai raté quelque chose, mais quoi ? bizarre, j'avais déjà fait des essais concluants avant... La fenêtre présentée est étrangement semblable à l'éditeur normal, avec les fonctions 'Exécutable' et 'Application' absentes du menu Fichier Où est la fonction 'Compiler' ? | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 22:58 | |
| @JL35 Ouvre Panoramic_Compiler_EditorTape le code suivant - Code:
-
print "JL35 a perdu les pédales"
Maintenant si tu tentes d’exécuter ce beau code, tu auras droit à un bon Cannot create file Nouveau_1.bas et rien de plus ! Voici comment il faut faire : Tu dois d’abord enregistrer ton programme, puis tu peux le compiler en cliquant sur l’éclair rouge. Si ton code est correct, Panoramic te glorifiera par Compilation is OK et en même temps, il créera tout seul comme un grand un fichier .exe dans le même dossier que le .bas. Voila, c'est simple, mais il est bon de le rappeler!
Dernière édition par papydall le Sam 26 Avr 2014 - 23:06, édité 1 fois | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Sam 26 Avr 2014 - 23:05 | |
| Papydall tu me sauves la vie ! Donc, si je comprends bien, il suffit d'exécuter le programme (flèche rouge) pour que l'exécutable créé pour l'exécution soit enregistré... C'est bien ce que j'avais dû faire pour mes essais précédents, mais ça m'échappait complètement Bien, je n'ai plus qu'à trouver pourquoi il me dit '-' is not a valid integer value... alors là je ne vois pas du tout, le code est si simple (et sans appel à dll). Dans tous les un grand merci papydall, je me coucherai (un peu) moins bête ce soir... A tout hasard, mon code (très simple): - Code:
-
' Minuteur ' Affichage d'un comptage du temps (minutes:secondes) aux coordonnées indiquées ' dans C:\TEMP\Fminut.txt. Le module s'arrête à la destruction de ce fichier. DIM x%,y%,w%,h%,td%,t%,m%,s%,d%,a$,f$ f$ = "C:\TEMP\Fminut.txt" IF FILE_EXISTS(f$) = 0 THEN TERMINATE FILE_OPEN_READ 1, f$ FILE_READLN 1,a$: x% = VAL(a$) FILE_READLN 1,a$: y% = VAL(a$) FILE_CLOSE 1 w% = 220: h% = 86 TOP 0,y%: LEFT 0,x%: WIDTH 0,w%: HEIGHT 0,h%: BORDER_HIDE 0 COLOR 0,255,255,0 FONT_NAME 0,"Lucida Console": FONT_SIZE 0,48: FONT_BOLD 0 td% = 3600*VAL(LEFT$(TIME$,2))+60*VAL(MID$(TIME$,4,2))+VAL(RIGHT$(TIME$,2)) WHILE FILE_EXISTS(f$) = 1 t% = 3600*VAL(LEFT$(TIME$,2))+60*VAL(MID$(TIME$,4,2))+VAL(RIGHT$(TIME$,2)) d% = t%-td%: d% = d%-INT(d%/3600) m% = INT(d%/60): s% = d%-60*m% a$ = RIGHT$("0"+STR$(m%),2)+":"+RIGHT$("0"+STR$(s%),2) PRINT_LOCATE 10,13: PRINT a$ WAIT 1000 END_WHILE TERMINATE | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Dim 27 Avr 2014 - 0:01 | |
| J’ai testé ton code. Comme le '-' is not a valid integer value... était au rendez-vous ,jel’ai écourté peu à peu jusqu’à - Code:
-
DIM x%,y%,w%,h%,td%,t%,m%,s%,d%,a$,f$ f$ = "C:\TEMP\Fminut.txt" IF FILE_EXISTS(f$) = 0 THEN TERMINATE FILE_OPEN_READ 1, f$ FILE_READLN 1,a$ : x% = VAL(a$) FILE_READLN 1,a$: y% = VAL(a$) FILE_CLOSE 1 La ligne FILE_CLOSE 1 --- > list index out of boundJe crois qu’il est un peu tôt pour pouvoir utiliser le compilateur. Attendons une nouvelle version ! | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Dim 27 Avr 2014 - 0:12 | |
| Aïe ! je n'avais pas trouvé, bon tu as raison, il va falloir attendre un peu... Merci à toi en tout cas papydall, et bonne nuit ! | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Dim 27 Avr 2014 - 0:20 | |
| Bon! Couche-toi un peu plus intelligent. | |
| | | JL35
Nombre de messages : 7112 Localisation : 77 Date d'inscription : 29/11/2007
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Dim 27 Avr 2014 - 11:48 | |
| C'est fait, mais au réveil ce n'est guère mieux ! L'erreur '.. integer value' n'est pas sur le File_Close, mais sur les deux File_ReadLn.
Si on les enlève, il n'y a plus cette erreur-là, il compile mais trouve un tas d'autres erreurs derrière qui sont listées dans un fichier error.txt: - array not dimensioned - type mismatch etc., dues à mes lignes un peu compactées, du genre: td% = 3600*VAL(LEFT$(TIME$,2))+60*VAL(MID$(TIME$,4,2))+VAL(RIGHT$(TIME$,2)) là il ne s'y retrouve pas...
Conclusion: il est urgent d'attendre... et de trouver autre chose en attendant.
PS: en y regardant de plus près, le compilateur coince sur: - File_ReadLn n,s$ - Border_Hide 0 (-> argument count mismatch) - MID$(s$,x,n) (-> array not dimensioned)
OUPS ! Autant pour moi, pour le File_Readln, je viens de relire les instructions de Jack disant bien qu'il faut remplacer ce File_ReadLn N,V par V = File_ReadLn(N)
MAIS: ça ne marche pas quand même, plus de '...integer value', mais il me dit là-dessus: Array not dimensioned | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value Dim 27 Avr 2014 - 13:03 | |
| Les fonctions sur les chaînes (mid$,left$,etc…) ne sont pas reconnues, d’oû l’avalanche des erreurs (Array not dimensioned etc..)
Pour moi, dans l’état actuel du developement du compilateur, il n’est qu’un avant goût, certes délicieux et prometteur. Quant à dévélopper avec lui des programmes ayant une certaine importance, je pense qu’il est un peu tôt : il faut donner du temps au temps et surtout à Jack. | |
| | | Contenu sponsorisé
| Sujet: Re: Compilateur --> ERREUR ’-‘ is not a valid integer value | |
| |
| | | | Compilateur --> ERREUR ’-‘ is not a valid integer value | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |