Español
Fuente/ Codesnippets

Ausklammern Sonderzeichen

 
In una Multiedit möchte Me gusta todos Sonderzeichen ausklammern. Yo me una Procedur geschrieben, welche el auch prima hecho. Mi Cuestión a el Experten: Kann al auch kürzer escribir. Bestimt hay una Bucle dafür, aber mein alter Kopf...
PROC SONDERZEICHEN

    titel$=TRANSLATE$(titel$, ,-)  el se así se. Leerzeichen con Bindestrich sustituir
    titel$=TRANSLATE$(titel$,CHR$(34),)
    titel$=TRANSLATE$(titel$,§,)
    titel$=TRANSLATE$(titel$,$,)
    titel$=TRANSLATE$(titel$,%,)
    titel$=TRANSLATE$(titel$,&,)
    titel$=TRANSLATE$(titel$,/,)
    titel$=TRANSLATE$(titel$,(,)
    titel$=TRANSLATE$(titel$,),)
    titel$=TRANSLATE$(titel$,=,)
    titel$=TRANSLATE$(titel$,?,)
    titel$=TRANSLATE$(titel$,`,)
    titel$=TRANSLATE$(titel$,!,)
    titel$=TRANSLATE$(titel$,°,)
    titel$=TRANSLATE$(titel$,²,)
    titel$=TRANSLATE$(titel$,³,)

    titel$=TRANSLATE$(titel$,{,)

        titel$=TRANSLATE$(titel$,[,)
        titel$=TRANSLATE$(titel$,],)

    titel$=TRANSLATE$(titel$,},)

    titel$=TRANSLATE$(titel$,,)
    titel$=TRANSLATE$(titel$,*,)
    titel$=TRANSLATE$(titel$,,)
    titel$=TRANSLATE$(titel$,~,)
    titel$=TRANSLATE$(titel$,#,)
    titel$=TRANSLATE$(titel$,+,)
    titel$=TRANSLATE$(titel$,|,)
    titel$=TRANSLATE$(titel$,µ,)

ENDPROC

 
09.06.2008  
 



Probiere veces
titel$=match$([A-Za-z0-9~-],titel$)
 
09.06.2008  
 



Leider klappt el no. -
Wenn el ANSI-Signo no así wild durcheinander ständen, podría al simplemente con uno Bucle hacer. Aber como el Sonderzeichen en Blöcken zwischen el Buchstaben y Pagar son, müssten el mehrere Schleifen ser y luego es el Code auch no kleiner como en meiner Procedur
 
09.06.2008  
 




RGH
IF
Probiere veces
titel$=match$([A-Za-z0-9~-],titel$)


Das funktioniert definitiv no como gewünscht (wohl Nuevo, sin vorher a testen? ;) ), aber así es:
PROC SONDERZEICHEN

    parámetros titel$
    titel$=TRANSLATE$(titel$, ,-) el se así se. Leerzeichen con Bindestrich sustituir
    todos verbotenen Signo entfernen

    whileloop 1, len(titel$)

        caso instr(substr$(titel$, &bucle), q§$%&/()=?`!°²³{[]}*+#+|µ) > 0 : titel$ = del$(titel$,&bucle,1)

    endwhile

    volver titel$

ENDPROC

Var Test$ = Hühnerhof, Rindviefarm, 23%, $34.a[oho], 56µ 123² * 456³ / 45% A&O
Imprimir Sonderzeichen(test$)
waitinput
end

BTW: Vor XProfan 11 muß al substr$(titel$, &loop) por mid$(titel$,&loop,1) sustituir.

Saludo
Roland
 
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
09.06.2008  
 



@Roland
Usted bist el Grösste
Gracias
 
09.06.2008  
 



 
09.06.2008  
 




Nico
Madysa
Funktioniert lo auch así?
proc SONDERZEICHEN

    parámetros titel$
    declarar a%
    titel$ = Translate$(titel$, ,-)
    a% = Conjunto(RegEx,1)
    titel$ = Translate$(titel$,[q§~$%&/~(~)=~?`!°²³~{~[~]~}\~*#~+~|µ) ],)
    Conjunto(RegEx,a%)
    volver titel$

ENDPROC

 
Nico Madysa
09.06.2008  
 




Thomas
Freier
???

In una Multiedit möchte Me gusta todos Sonderzeichen ausklammern.


Ersetzen oder ausklammern en Rolfs Art:
Editar: Signo en una Editar campo no zulassen
 $I PROFALT.INC	Include-Expediente para Quellcodes früher Profano-Versionen (antes XProfan 11.0), el todavía no Operatoren nutzen.
En Verwendung de  XProfan < 11.0 kann el obige Incluir-Línea $I PROFALT.INC bedenkenlos gelöscht se.
Lauffähig de Profano-Versión 6.6
El Procedimiento CHECK_INPUT VERBIETET EINE REIHE
übergebener Signo en una Editar campo.
(c) by Rolf Koch - Rokosoft 2005
 $P+
SetErrorLevel 0
DIESE PROC WERTET AUS  ************************************************************

PROC CHECK_INPUT

    Declarar 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 a el Schluss conjunto
            RET$=blen$

        ENDIF

        INC BLAENGE%

    WEND

    RETORNO RET$

ENDPROC

***************************************************************************************
Windowtitle Verbotene Signo
Cls
Declarar Dlg&
Declarar Taste%
Declarar Dlg_Ende%
Declarar Eingabe&
Dlg& = Crear(Diálogo,%Hwnd,Bitte algo eingeben,350,50,180,70)
Eingabe& = Crear(Editar,Dlg&,,10,10,150,20)
SetFocus(Eingabe&)
Dlg_Ende% = 0
Imprimir In diesem Ejemplo verboten:
Imprimir/*-_>< (siehe CHECK_INPUT ...)
Imprimir ---------------------------------
Sinestar encargado 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
 
Gruß Thomas
Windows XP SP2, XProfan X2
10.06.2008  
 



Yo brauchte lo eben selber y esta me está en Rolands Code aufgefallen el él Signo überspringt.

Deshalb Yo una imho kaum (vlt. encima regexp) schleunigbare Rutina erstellt:
 {$cleq}

stringToAllowedChars(cadena s,alwdChrs){

    long c=len(s),i
    caseNot c : volver

    do {

        i+

        ifNot inStr(subStr$(s,i),alwdChrs) {

            s=del$(s,i,1)
            i-
            c-

        }

        caso i==c : romper

    }

    volver s

}

Var Test$ = Hühnerhof, Rindviefarm, 23%, $34.a[oho], 56µ 123² * 456³ / 45% A&O
Imprimir stringToAllowedChars(test$,45)
waitinput
end
hier auch para XProfan sin xpse:
proc STRINGTOALLOWEDCHARS

    PARAMETERS S$,ALWDCHRS$
    var C&=LEN(S$)
    var I&=0

    IFNOT C&

        RETORNO

    ENDIF

    WHILE 1

        INC I&

        IFNOT INSTR(SUBSTR$(S$,I&),ALWDCHRS$)

            S$=DEL$(S$,I&,1)
            DEC I&
            DEC C&

        ENDIF

        IF I&=C&

            BREAK

        ENDIF

    ENDWHILE

    RETORNO S$

ENDPROC

VAR TEST$=Hühnerhof, Rindviefarm, 23%, $34.a[oho], 56µ 123² * 456³ / 45% A&O
PRINT STRINGTOALLOWEDCHARS(TEST$,45)
WAITINPUT
end
Hab Yo vlt. auch algo en el Code übersehen? In media wenigen Tests ergaben se no Fehler.
 
23.06.2008  
 



Zum Quelltext


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

7.826 Views

Untitledvor 0 min.
Walter14.10.2019
Erasmus.Herold11.06.2019
AndreasS10.02.2019
Pauli19.06.2014
Más...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie