' Die Prozedur CHECK_INPUT VERBIETET EINE REIHE ' übergebener Zeichen in einem Editfeld. ' (c) by Rolf Koch - Rokosoft 2005 $P+ SetErrorLevel 0 ' DIESE PROC WERTET AUS ************************************************************ PROC CHECK_INPUT Declare BLEN$,BLAENGE%,RET$ PARAMETERS IN&,BCHST$ BLAENGE%=1 RET$="" WHILENOT len(BCHST$)+1 = BLAENGE% BLEN$=MID$(BCHST$,BLAENGE%,1) IF INSTR(BLEN$,gettext$(in&)) Settext in&,del$(gettext$(in&),len(gettext$(in&)),1) setfocus(in&) sendmessage(in&,$00B1,len(gettext$(IN&)),len(gettext$(IN&))+1) 'Cursor an den Schluss setzen RET$=blen$ ENDIF INC BLAENGE% WEND RETURN RET$ ENDPROC ' *************************************************************************************** Windowtitle "Verbotene Zeichen" Cls Declare Dlg& Declare Taste% Declare Dlg_Ende% Declare Eingabe& Dlg& = Create("Dialog",%Hwnd,"Bitte etwas eingeben",350,50,180,70) Eingabe& = Create("Edit",Dlg&,"",10,10,150,20) SetFocus(Eingabe&) Dlg_Ende% = 0 Print "In diesem Beispiel verboten:" Print " /*'-_>< (siehe CHECK_INPUT ...)" Print "---------------------------------" Whilenot Dlg_Ende% Waitinput IF GETFOCUS(EINGABE&) ' AUFRUF UND AUSWERTUNG **************************************** CHECK_INPUT Eingabe&,"/*'-_><" 'PARAMETER: HANDLE EDITFELD UND LISTE VERBOTENE ZEICHEN CASE $(0) <> "" : PRINT "VERBOTENES ZEICHEN GEFUNDEN: " + $(0) ' *************************************************************** ENDIF If Equ(Taste%,2) Dlg_Ende% = 1 DestroyWindow(Dlg&) Endif Wend End