|
FORUMS PROFESSIONNELS WINDEV, WEBDEV et WINDEV Mobile |
| | | | | |
Probleme : Ecriture du resultat de 2 expressions dif. : SI... en une seule fois. |
Débuté par terik, 24 oct. 2016 19:10 - 13 réponses |
| |
| | | |
|
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 24 octobre 2016 - 19:10 |
| |
| |
| | | |
|
| | |
| |
Posté le 24 octobre 2016 - 19:16 |
Tu incrémentes Dispo.Quota, puis tu incrémentes Dispo.QuotaHHHHHHH... |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 25 octobre 2016 - 14:59 |
Oui, mais en fait, c est une erreur d' orto lors de la copie en ligne... En fait Le code qui tourne utilise Quota dans tt les cas. et...Ca bloque tjrs. (Surtout que l editeur nous indiquerait des qu un nom de champs/variable est incorect...donc ce n est pas cela.
...malheuresement !!!
-- Windev Mob 20 Express, 21 prévu suivant arrivage de pepettes / Config PCDev : MacMini.Ver.2007, Win1032bits, CPU:T2300/1600,Ram: 2GB. no sound Pourquoi faire "des économies" quand on peut faire compliqué ? |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2016 - 15:19 |
ok... et si tu nous montrais ton VRAI code alors, au lieu d'une "copie"
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 10/25/2016 à 6:59 AM, terik a écrit :
Oui, mais en fait, c est une erreur d' orto lors de la copie en ligne... En fait Le code qui tourne utilise Quota dans tt les cas. et...Ca bloque tjrs. (Surtout que l editeur nous indiquerait des qu un nom de champs/variable est incorect...donc ce n est pas cela. ....malheuresement !!! -- Windev Mob 20 Express, 21 prévu suivant arrivage de pepettes / Config PCDev : MacMini.Ver.2007, Win1032bits, CPU:T2300/1600,Ram: 2GB. no sound Pourquoi faire "des économies" quand on peut faire compliqué ? |
| |
| |
| | | |
|
| | |
| |
Posté le 25 octobre 2016 - 15:23 |
remarque, c'est pas la peine... Même la copie est fausse
ton code fait deux fois DISPO.QUOTA = QuotaActuel+1
Le champ reçoit donc deux fois la même valeur, vu que quotaactuel n'est PAS incrémenté.
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
Le 10/25/2016 à 7:19 AM, Fabrice Harari a écrit :
ok... et si tu nous montrais ton VRAI code alors, au lieu d'une "copie"
Cordialement
|
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 26 octobre 2016 - 00:05 |
En fait il doit faire cette manip. 1)Il verifie si la tranche horaire est DESocupee. (CHAMPS1 = 0) 2) Il Recupere alors la valeur du Champ QuotaActuel, du Lundi a 6hr. (pour mon ID/Candidat en Cours) Exemple, Quota = "12" y a joute +1 (Pour 1 hr de presence sup) ==>> DISPO.QUOTA = QuotaActuel+1 et le sauvegarde dans DISPO.QUOTA, donc logiquement = 12+1 / 13hr.
Puis recommence avec cette valeur (Colonne de 7hr)., laquelle devrait etre donc pouvoir se calculer a partir de la Val...(12+1) pour y rajouter +1 hr. Au final mon quota arrivé a la Col de 8H00 devrait etre = 14hr.
Hors... je reste a 13 Hr apres les 2 manip...(meme avec mes 2 CHAMPS1 et 2 a Zero) Notez : Champs1 et aussi Champs2 !!
bref J arrive pas a incrémenter de ..+1 et Reuh..+1 après chaque colonne d'heure. 6Hr, 7Hr...etc...
Le code se répète 2 fois CAR : au cas ou l #ID de qq d autre est déjà "présent" dans la colonne de 6Hr ou celle de 7hr, mon candidat Actuel ne pourra donc pas participer dans cette tranche et par la meme son...DISPO.QUOTA = QuotaActuel doit donc s incrémenter que d une seule heure.... (ou pas du tout quand c est deja OQP.)
S'il n y avait pas cette condition nec. (Verifier que la Tranche hor n est pas dejas OQP) ...j aurais fait toute la somme d une seule volee. DISPO.QUOTA = QuotaActuel+2 hr !!!
...je sais pas si je me fait comprendre. Ma syntaxe doit donc, traiter le cas par cas, et donc, une incrementation de 1Hr a la fois (repetitive si besoin est) Capich ? ,,,o no capich ?
-- Windev Mob 20 Express, 21 prévu suivant arrivage de pepettes / Config PCDev : MacMini.Ver.2007, Win1032bits, CPU:T2300/1600,Ram: 2GB. no sound Pourquoi faire "des économies" quand on peut faire compliqué ? Message modifié, 26 octobre 2016 - 00:19 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 26 octobre 2016 - 15:32 |
| |
| |
| | | |
|
| | |
| |
Posté le 26 octobre 2016 - 17:29 |
Tu n'as pas lu les réponses de Fabrice, et du coup, tu as fait un truc HORRIBLE.
Enlève moi tout de suite tous ces GOTO !!!
SI (TPART.H6V1)>0 ET (TPART.H7V1)>0 ALORS infoBOX = "DENADA avec "+TPART.H6V1+" : "+TPART.H7V1+" : "+HeureVersChaîne(Now()) RETOUR SINON
SI (TPART.H6V1)+(TPART.H7V1)<=0 ALORS infoBOX = "COMPLETO avec "+TPART.H6V1+" : "+TPART.H7V1+" : "+HeureVersChaîne(Now()) RETOUR SINON
SI (TPART.H6V1)<=0 ALORS infoBOX = "LE SIX avec "+TPART.H6V1+" : "+HeureVersChaîne(Now()) RETOUR SINON
SI (TPART.H7V1)<=0 ALORS infoBOX = "LE SEPT avec "+TPART.H7V1+" : "+HeureVersChaîne(Now()) RETOUR SINON
FIN FIN FIN FIN
Ou encore :
SELON Vrai CAS TPART.H6V1>0 ET TPART.H7V1 >0 infoBOX = "DENADA avec "+TPART.H6V1+" : "+TPART.H7V1+" : "+HeureVersChaîne(Now()) CAS TPART.H6V1+ TPART.H7V1 <=0 infoBOX = "COMPLETO avec "+TPART.H6V1+" : "+TPART.H7V1+" : "+HeureVersChaîne(Now()) CAS TPART.H6V1<=0 infoBOX = "LE SIX avec "+TPART.H6V1+" : "+HeureVersChaîne(Now()) CAS TPART.H7V1 <=0 ALORS infoBOX = "LE SEPT avec "+TPART.H7V1+" : "+HeureVersChaîne(Now()) autres CAS infobox = " cas non prévu" FIN |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 27 octobre 2016 - 05:42 |
moi j aime bien les Goto...du moment qu il marchent bien ! ...Prkoi c est horrible ? - ca va pas lui faire plaisir a l inventeur des Goto de lire ca
ok...la config en "SI" est aussi longue a lire que celle en Goto (Qui me semble plus clair du coup a cause des libelles),,,enfin c une question de gout je suppose.
La config SELON est interessante d un autre cote...je vais tester si ca marche aussi bien. Mais a "longeur ="...je pref. les Goto du coup !
Goto Merci
Merci: J ai bien lu tt le monde...mais ca m a pas éclairé plus que ca...
-- ...Pourquoi faire "des économies" quand on peut faire compliqué ? Windev XI - MiniPC : BRIX GIGABYTE . W10 64bits, CPU:I3.Message modifié, 27 octobre 2016 - 05:57 |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 27 octobre 2016 - 06:17 |
Ok, SELON marche tres bien (Il y avait juste un dernier "alors" de trop.)
Question: Si je voulais "afficher dans un ou deux champ sur la durée - (vitesses d execution) - entre le clic bouton et l affichage complet des résultats. : y aurait il un code pour implémenter cela "simplement"...j ? Je vais surement utiliser le code en boucle des dizaines de fois sur tt le tableau et pour les calcul cela serait pratique de constater si il y a une réelle dif. significative entre un script et un autre dés maintenant...
-- ...Pourquoi faire "des économies" quand on peut faire compliqué ? Windev XI - MiniPC : BRIX GIGABYTE . W10 64bits, CPU:I3. |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2016 - 10:05 |
Dans ton code initial, tu faisais : Si condition n°1 : Y = X+1 Si condition n°2 : Y = X+1
Donc dans le cas où condition 1 et condition 2 sont vérifiées, tu faisais Y=X+1, puis tu confirmais Y=X+1
Tu ne repartais pas de la valeur 'modifiée' pour ajouter une 2ème fois 1, tu repartais de la valeur originale. Traitement correct : Y=X Si condition n°1 : Y ++ Si condition n°2 : Y ++
En terme de performances, avec le goto, tu as un branchement de plus, tu vas donc être un peu plus lent. Mais c'est totalement indétectable. Si tu te préoccupes de la performance, remplace le mot clé ET par _ET_ Tu dis que ce traitement sera exécuté des dizaines de fois.... En général, on s'inquiète de la performance quand un traitement comme celui-ci sera exécuté des millions de fois.. |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2016 - 11:08 |
Bonjour
moi j aime bien les Goto...du moment qu il marchent bien ! ....Prkoi c est horrible ? - ca va pas lui faire plaisir a l inventeur des Goto de lire ca
Goto est une très vieille instruction (qui existait avant que les gosub et autre boucle/selon et ainsi de suite soient inventés).
C'est aussi le meilleur moyen d’écrire du code absolument NON maintenable, avec un code qui ressemble à un plat de spaghetti.
Résultat : si un jour tu cherche du boulot et le recruteur tombe sur du code que tu as écris avec des goto, et s'il comprend QUOI QUE CE SOIT au développement, il va mettre ton CV directement dans le "classement vertical"...
Après, bien sur, si tu travailles tout seul toute ta vie et si tu n'as jamais besoin d'aide pour débugger ton code, tu peux continuer à utiliser des goto.
Cordialement
-- Fabrice Harari Consultant WinDev, WebDev et WinDev Mobile International
A votre disposition : WXShowroom.com, WXReplication (open source) et maintenant WXEDM (open source)
Plus d'information sur http://fabriceharari.com
ok...la config en "SI" est aussi longue a lire que celle en Goto (Qui me semble plus clair du coup a cause des libelles),,,enfin c une question de gout je suppose. La config SELON est interessante d un autre cote...je vais tester si ca marche aussi bien. Mais a "longeur ="...je pref. les Goto du coup ! Goto Merci Merci: J ai bien lu tt le monde...mais ca m a pas éclairé plus que ca... -- ....Pourquoi faire "des économies" quand on peut faire compliqué ? Windev XI - MiniPC : BRIX GIGABYTE . W10 64bits, CPU:I3. |
| |
| |
| | | |
|
| | |
| |
Membre enregistré 89 messages Popularité : +1 (1 vote) |
|
Posté le 27 octobre 2016 - 15:56 |
J ai trouve mon bonheur avec : Elapsedtime = ChronoFin() Reste a gerer le Format MilliSec qui se défoule sur les Zeros a l affichage...000000000000012 "ms"
-- ...Pourquoi faire "des économies" quand on peut faire compliqué ? Windev XI - MiniPC : BRIX GIGABYTE . W10 64bits, CPU:I3. |
| |
| |
| | | |
|
| | |
| |
Posté le 27 octobre 2016 - 21:16 |
Entre les 2 ou 3 syntaxes envisagées, la différence de performance devrait être négligeable. Eventuellement , remplace ET par _ET_, ; c'est le seul changement pour lequel on est sûr que la performance va s'améliorer. (de 2 ou 3 millièmes de secondes)
Pour analyser les performances, il y a un truc très poussé : c'est : - en mode test, passer par Projet // Analyseur de performance : tu vas avoir un compte rendu graphique très détaille de chaque instruction , le nombre de fois qu'elle a été exécutée, le temps qu'elle a consommé... C'est énorme. - en réel, tu peux aussi l'utiliser en mettant des commandes AnalyseurDébut () et AnalyseurFin() aux endroits de ton choix dans ton code. |
| |
| |
| | | |
|
| | | | |
| | |
| | |
| |
|
|
|