Page 1 sur 1

[R] Problemes avec les regles de calculs

Posté : mer. 28 août 2013 14:30
par hardfloor
Bonjour suite à ce post là http://www.autoitscript.fr/forum/viewto ... 20&t=11643

J'ai modifié mon code comme ceci afin de faire des règles de calcul, or la 2 ieme ligne paladins ne fonctionne pas, quelqu'un pourrait il me dire pourquoi!

Code : Tout sélectionner

;----- Table Example 4 -----
GUICtrlCreateLabel(" Example 4 ", 250, 250, 100, 13)
$Table4 = _GUICtrlTable_Create(200, 80, 62, 18, 31, 6, 0)
_GUICtrlTable_Set_RowHeight($Table4, 1, 35)
_GUICtrlTable_Set_Justify_All($Table4, 1, 1)
_GUICtrlTable_Set_TextFont_All($Table4, 8.5, 800, 0, "Tahoma")
_GUICtrlTable_Set_CellColor_Row($Table4, 1, 0x555555)
_GUICtrlTable_Set_TextColor_All($Table4, 0x555555)
_GUICtrlTable_Set_TextColor_Row($Table4, 1, 0xFFFFFF)
For $row = 3 To 31 Step 2
    _GUICtrlTable_Set_CellColor_Row($Table4, $row, 0xDDDDDD)
Next

_GUICtrlTable_Set_Text_Row($Table4, 1, "Date|Archers|Paladins|Evo.Arc.|Evo.Pal.")
$sections = IniReadSectionNames("test.ini")
For $i = 1 to $sections[0]
  $archers = IniRead("test.ini", $sections[$i], "archers", "")
  $paladins = IniRead("test.ini", $sections[$i], "paladins", "")
  $date = StringRegExpReplace($sections[$i], '(\d\d)(\d\d)', '$1/$2')
  $archers1 = IniRead("test.ini", $sections[$i -1], "archers", "") ; comparaison jour -1
  $paladins1 = IniRead("test.ini", $sections[$i -1], "paladins", ""); comparaison jour -1
 $op = (($archers - $archers1)*100) / $archers1 ; Règle de calcul pour obtenir mon pourcentage
 $op1 = (($paladins - $paladins1)*100) / $paladins1 ; règle de calcul pour obtenir mon pourcentage

_GUICtrlTable_Set_Text_Row($Table4, $i+1, $date&"|"&$archers&"|"&$paladins&"|"&$op&"%"&"|"&$op1)
Next

_GUICtrlTable_Set_Border_Table($Table4, 0x555555)
 
voici mon fichier test.ini

Code : Tout sélectionner

[2808]
archers=20
paladins=89
[2908]
archers=16
paladins=80
[3008]
archers=150
paladins=231
[3108]
archers=150
paladins=231
[0109]
archers=150
paladins=231
[0309]
archers=150
paladins=231
[0509]
archers=150
paladins=231
[0609]
archers=150
paladins=231
[0809]
archers=150
paladins=231
[1009]
archers=150
paladins=231

 

Re: [..] Problemes avec les regles de calculs

Posté : mer. 28 août 2013 15:03
par hardfloor
comme vous pouvez le voir, à partir de la 3ieme ligne, le calcul s'effectue correctement pour tout le monde.
Pour la 1ere ligne, j'ai 1.#INF ce qui signifie je crois une erreur due à une division par zéro!
Mais pour la 2ième ligne, je ne comprend pas pourquoi le résultat des paladins n'est pas correcte, puisqu'il l'est dans la 3 ième...
Vous remarquerez aussi qu'en ne faisant qu'une simple difference cela marche tres bien... :?

Code : Tout sélectionner

 $op = ($archers - $archers1)
 $op1 = ($paladins - $paladins1)
 
Peut être y a t'il une règle specifique aux pourcentages?

Ou est le problème?

Re: [..] Problemes avec les regles de calculs

Posté : mer. 28 août 2013 22:10
par mikell
Ouala
► Afficher le texte

Re: [R] Problemes avec les regles de calculs

Posté : jeu. 29 août 2013 00:47
par hardfloor
Génial Mikell :D
Merci bien

Et maintenant je fonce voir ce que c'est que ce "round" ^^ :mrgreen: :mrgreen:

++

Re: [R] Problemes avec les regles de calculs

Posté : jeu. 29 août 2013 12:29
par GaRydelaMer
Bonjour

je l'ai fait hier, j'ai oublié de te le poster. Tu trouveras 2 versions, une qui recherche la date du jour précédent (le 2013/08/22 => 2013/08/21) et fait le calcul, l'autre qui va chercher les valeurs dans la section précédente. Je suis parti du fait que tu peux ne pas avoir de stats pour un jour donné.

J'ai modifier a cette fin le nom des sections au lieu de 22/08 => 2013/08/22. Tu as au début du script du code pour mettre à jour le fichier. D'ailleur mon code en créer un automatiquement pour le test avec des dates et des valeurs aléatoires.

Dans les 2 cas j'ai corriger ta règle de calcul pour voir les %.

Tu verra le résultats dans la console en lançant ce code dans scite.
► Afficher le texte

Re: [R] Problemes avec les regles de calculs

Posté : sam. 31 août 2013 15:30
par hardfloor
Merci gary, je vais regarder ton code de plus près, mais à première vue, il a l'air plus compliqué!
Mais plus c'est long , plus c'est bon..........enfin il parait :D