Page 1 sur 1

Suprimer /\ " *<> d'une phrase

Posté : dim. 10 déc. 2017 17:10
par Gavriel
bonjour
comment Suprimer /\ " *<> d'une phrase que l'on rentre dans un inputbox

Re: Suprimer /\ " *<> d'une phrase

Posté : dim. 10 déc. 2017 19:53
par mikell
StringReplace

Re: Suprimer /\ " *<> d'une phrase

Posté : dim. 10 déc. 2017 22:00
par walkson
Bonsoir,
Y a ça aussi
$sujet = 'AQ14=5<a-c+v>6C*7/\89"1' ;valeur écrite dans l'inputbox
$regex = '(?s)[*<>"/\\]?+'
;$regex = "(?s)\W?+"  ;on ne garde que les chiffres et les lettres
MsgBox(0,"",StringRegExpReplace($sujet,$regex,""))
Et si on veut un Input dynamique qui voit rouge quand on tape les mauvais signes et qui ne les écrit pas, y a ça
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <EditConstants.au3>

Global $regex = '(?s)[*<>"/\\]?+'
GUIRegisterMsg($WM_COMMAND, "WM_COMMAND")

$gui = GUICreate("My GUI edit",220,100)
$IP = GUICtrlCreateInput("", 10, 40, 200, 22)
$lab = GUICtrlCreateLabel("", 10, 18, 200, 22)
GUISetState()

While 1
    $msg = GUIGetMsg()

    If $msg = $GUI_EVENT_CLOSE Then ExitLoop


WEnd



Func WM_COMMAND($hWnd, $msg, $wParam, $lParam)
    $nNotifyCode = BitShift($wParam, 16)
    $nID = BitAND($wParam, 0x0000FFFF)
    If $nID = $IP Then
        $hCtrl = $lParam
        If $nNotifyCode = $EN_CHANGE Then
            $txt = GUICtrlRead($IP)
            $txtReplace = StringRegExpReplace($txt,$regex,"")
         If $txt <> $txtReplace Then
            GUICtrlSetBkColor($IP,0xFF0000)
         Else
            GUICtrlSetBkColor($IP,0xFFFFFF)
         EndIf

         GUICtrlSetData($lab, $txtReplace)
         GUICtrlSetData($IP, $txtReplace)
        EndIf
    EndIf
    Return $GUI_RUNDEFMSG
EndFunc  ;==>WM_COMMAND

Re: Suprimer /\ " *<> d'une phrase

Posté : lun. 11 déc. 2017 14:45
par Gavriel
merci