Bonjour à tous
J'ai créé un script autoit tout simple (main.au3) et je rencontre un problème
au sujet du contenu de variables. En effet, au début de mon programme je viens récupérer
des valeurs dans un .ini(fonction IniRead -> IniFiles.au3 auxquelles je les affectes à des variables.
C'est deux valeurs représentent deux niveaux. min = -100 et max = -30
Dans le main.au3, je viens faire appel à ces deux variables.
Je les places dans deux autres variables $TempMinLevel et $TempMaxLevel
Le problème surgit lors de la boucle if quand il s'agit d'effectuer la comparaison.
J'ai l'impression qu'il ne prend pas en compte le signe négatif :/
Pourtant, lorsque je veux les afficher à l'aide d'une Msgbox, aucun problème: les valeurs
sont bonnes.
Je ne vois pas pourquoi ça ne marche pas .
Si quelqu'un peut m'aider
main.au3
► Afficher le texte
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur: MonNom
Fonction du Script : Main.au3
#ce ----------------------------------------------------------------------------
#region Include interne
#include <Date.au3>
#include <Excel.au3>
#include <File.au3>
#endregion
#region Include Externe
#include "IniFiles.au3"
#endregion
Opt("MustDeclareVars", False)
; Lecture du fichier ini
_IniRead()
Global $TempMaxLevel = $fMaxLevel ; -20 $fMaxLevel est issue du .ini
Global $TempMinLevel = $fMinLevel ; -90 $fMinLevel est issue du .ini
Local $bEndOfDynamic = False
Local $fStepLevel = $fMainStepLevel; $fMainStepLevel est issue du .ini
Global $fLevel = $TempMinLevel; -90
While Not($bEndOfDynamic)
MsgBox(0,"$fLevel ",$fLevel )
;If (Abs($fLevel) <= Abs($TempMaxLevel)) Then; (Fonctionne mais on contourne le PB)
If $fLevel >= $TempMaxLevel Then; (ne fonctionne pas)
$bEndOfDynamic = True
Else
$fLevel += $fStepLevel
EndIf
WEnd
Inifiles.au3
► Afficher le texte
#cs ----------------------------------------------------------------------------
AutoIt Version : 3.3.8.1
Auteur: MonNom
Fonction du Script : IniFile.au3
#ce ----------------------------------------------------------------------------
Func _IniRead()
Global $fMaxLevel = IniRead($INI_FILE, "PARAMETER", "Maximum level (dBm)", -20)
Global $fMinLevel = IniRead($INI_FILE, "PARAMETER", "Minimum level (dBm)", -90)
EndFunc