Code : Tout sélectionner
;================================================
; Paramètres de connection COM
;================================================
global $iPort=1
global $sErr="error"
global $iBaud=9600
global $iBits=8
global $iParity=0
global $iStop=1
global $iFlow=1
global $RTSMode=0
global $DTRMode=0
_CommSetport($iPort,$sErr,$iBaud,$iBits,$iparity,$iStop,$iFlow,$RTSMode,$DTRMode)
;================================================
; Paramètres de transferts des données COM
;================================================
Global $endchar =@CR
global $maxlen =1000
global $maxtime=1000
global $i=false
;================================================
; Variables globales diverse
;================================================
$TempFile = FileOpen("Tempdyn.txt",2)
$ImgLoad = "red.jpg"
$idPic = GUICtrlCreatePic($ImgLoad, 10, 5, 33, 55)
;===========================================
; MAIN
;===========================================
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
case $ButtonCONNECTION
$port_connection=_commPortConnection()
If @error Then
MsgBox(16, "Error " & @error, " COM port non trouvé.")
Else
$ImgLoad = "green.jpg"
$idPic = GUICtrlCreatePic($ImgLoad, 10, 5, 33, 55)
$idPic = GUICtrlCreatePic($ImgLoad, 10, 5, 33, 55)
endif
case $ButtonDISCONNECTION
global $port_deconnection=_commCloseport()
If @error Then
MsgBox(16, "Error " & @error, " COM port non trouvé.")
Else
$ImgLoad = "red.jpg"
$idPic = GUICtrlCreatePic($ImgLoad, 10, 5, 33, 55)
$idPic = GUICtrlCreatePic($ImgLoad, 10, 5, 33, 55)
endif
Case $ButtonSTART
;========================activation mode evenementielle=================
;Opt("GuiOnEventMode", 0)
;Global $stop = 0
;GUICtrlSetOnEvent(-1, "_stop")
;GUISetState()
;========================================================================
;GUISetState(1, $ButtonSTOP)
while not $stop
$data=read_port_com()
GUICtrlSetData($edit1,@CRLF & $data,true)
wend
MsgBox($MB_SYSTEMMODAL, "", "sortie boucle" & $i, 0, $form1)
;========================activation mode evenementielle=================
;Opt("GuiOnEventMode", 0)
;========================================================================
Case $ButtonSTOP
;stop_reading()
;$i = True
If @error Then SetError(@error, @ScriptLineNumber)
MsgBox(64, "fermeture du port",'port fermé')
Case $ButtonCLOSEPORT
;stop_reading()
$i = True
$closeport=_commCloseport()
If @error Then SetError(@error, @ScriptLineNumber)
MsgBox(64, "fermeture du port",'port fermé')
Case $ButtonEXPORT
$contenu =GUICtrlRead($Edit1)
If $contenu <> '' Then
FileWrite($TempFile, $contenu & @CRLF)
endif
If @error Then SetError(@error, @ScriptLineNumber)
Case $idlistcommenu
$listsport=_commlistports()
MsgBox($listsport, "liste des ports disponibles", $listsport)
If @error Then SetError(@error, @ScriptLineNumber)
Case $idlistversion
$listversion=_commgetversion()
MsgBox($listversion, "Version", $listversion)
If @error Then SetError(@error, @ScriptLineNumber)
case $idexitmenu
exit
Case $iaboutmenu
MsgBox($MB_SYSTEMMODAL,"A propos ...")
EndSwitch
WEnd
Func read_port_com()
return(_CommGetline($EndChar,$maxlen, $maxtime) )
sleep(20)
EndFunc
;========================essai fonction sortie boucle=================
Func _IsChecked($idControlID)
;MsgBox($MB_SYSTEMMODAL, "", "entree function" & $i, 0, $form1)
$a = BitAND(GUICtrlRead($idControlID), $ButtonSTOP) = $GUI_CHECKED
if $a =1 Then
MsgBox($MB_SYSTEMMODAL, "", "function 1" & $a, 0, $form1)
return (1)
else
return (0)
MsgBox($MB_SYSTEMMODAL, "", "function 0" & $a, 0, $form1)
endif
;MsgBox($MB_SYSTEMMODAL, "", "sortie func" & $i, 0, $form1)
EndFunc ;==>_IsChecked
;========================================================================
Func _stop()
$stop = 1
EndFunc