| |
|
|
- Página 1 - |
|
RudiB. | Posesiones veces una bischen con String-Características rumgebastelt. Hier el Ergebnis:
FindCharAll
son todos Positionen des Zeichens / Zeichenkette de TestString$ Aufruf: FindCharAll TestString$,Suchzeichen/kette,leeres Int-Array Rückgabewert: Array con el Positionen en el String aller gefundenen Signo.
CountChar
zählt todos Suchzeichen/ketten de TestString$ Aufruf: CountChar TestString$,Suchzeichen/kette Rückgabewert: Anzahl el gesuchten Signo en el String.
FindLastChar
son el Position des letzten gesuchten Signo/kette en TestString$ a- Aufruf: FindLastChar TestString$, Suchzeichen/kette Rückgabewert: Position en el TestString
FindPosChar
Finde Position des N.ten Signo/Zeichenkette en el TestString$ Aufruf: FindPosChar TestString$,N.tes Signo,Such_Zeichen$ Rückgabewert: Postion des N.ten Zeichens/kette en el TestString.
Hier una kleines Testprogramm...
CLS
'Befehle
'--------------
'findcharall(zeichen) >> Array - Anzahl el zeichen / Position des Zeichens en STRING
'findfirstchar(zeichen) >> position des zeichens en el STRING --- como INSTR
'findlastchar(zeichen) >> position des letzten zeichens en el STRING
'findposchar(zeichen,z.B el 3.te zeichen en el STRING)
'countchar(zeichen) >> anzahl el zeichen en el STRING
Declarar TestString$,_Suchzeichen%[],Such_Zeichen$,z%,zaehler%,last&
TestString$="Im üblichen Dezimalsystem voluntad el Ziffern 0 a 9 verwendet. Im Dualsystem hingegen voluntad Pagar sólo el Ziffern des Wertes null y eins dargestellt."
CLS
' Finde todos Signo/Zeichenketten en Teststring
Such_Zeichen$="f"
FindCharAll TestString$,Such_Zeichen$,_Suchzeichen%[]
Imprimir "Befehl: FindCharAll"
Imprimir
Imprimir "gibt todos Positionen des Zeichens / Zeichenkette de TestString$"
Imprimir
Imprimir "Aufruf -- FindCharAll TestString$,Such_Zeichen$,_Suchzeichen%[] (leeres Array)"
Imprimir
Imprimir "TestString :"+TestString$
Imprimir "Suchzeichen es: -"+Such_Zeichen$+"-"
Imprimir
Imprimir
Imprimir "Taste drücken...."
auswerten
Waitinput
CLS
' Zaehle todos Signo/Zeichenkette de Teststring
zaehler%=CountChar(TestString$,"e")
Imprimir "Befehl: CountChar"
Imprimir
Imprimir "Zählt todos gesuchten Zeichens / Zeichenkette de TestString$"
Imprimir
Imprimir "Aufruf -- CountChar TestString$,Such_Zeichen$"
Imprimir
Imprimir "TestString :"+TestString$
Imprimir "Suchzeichen es: "+"-e-"
Imprimir zaehler%+ " veces es el -e- en el Teststring enthalten."
Imprimir
Imprimir
Imprimir "Taste drücken...."
Waitinput
CLS
' Finde Position para el letzte Signo/Zeichenkette en Teststring
zaehler%=FindLastChar(TestString$,"f")
Imprimir "Befehl: FindLastChar"
Imprimir
Imprimir "gibt letzte Positionen des gesuchten Zeichens / Zeichenkette de TestString$"
Imprimir
Imprimir "Aufruf -- FindLastChar TestString$,Such_Zeichen$"
Imprimir
Imprimir "TestString :"+TestString$
Imprimir "Suchzeichen es: "+"-f-"
imprimir "das letzte Signo/Zeichenkette -f- es a Position "+str$(zaehler%)+" en el Testsrting."
Imprimir
Imprimir
Imprimir "Taste drücken...."
Waitinput
CLS
' Finde 3.tes Signo/Zeichenkette en el TestString
zaehler%=FindPosChar(TestString$,3,"m")
Imprimir "Befehl: FindPosChar"
Imprimir
Imprimir "Finde N.te Signo/Zeichenkette en el TestString$"
Imprimir
Imprimir "Aufruf -- FindPosChar TestString$,N.tes Signo,Such_Zeichen$"
Imprimir
Imprimir "TestString :"+TestString$
Imprimir "N.tes Signo es 3"
Imprimir "Suchzeichen es: "+"-m-"
imprimir "das 3.te gesuchte Signo/Zeichenkette -m- es a Position "+str$(zaehler%)+" en el Testsrting."
Imprimir
Imprimir
Imprimir "Für Ende Taste drücken...."
waitinput
End
'--------------------------------------------------------------------------------------------
Proc CountChar
Parámetros _String$,_Zeichen$
Declarar _pos&,_zaehler&
_pos&=0
_zaehler&=0
Whileloop LEN(_String$)
_pos&=Instr(_Zeichen$,_String$)
If _pos&>0
Inc _zaehler&
Más
Romper
EndIf
_String$=Right$(_String$, Len(_String$)-_pos&)
EndWhile
Volver _zaehler&
ENDPROC
Proc FindCharAll
Parámetros _String$,_Zeichen$,_Char%[]
Declarar _pos&,_zaehler&,Array_zaehler&
_pos&=0
_zaehler&=0
Array_zaehler&=0
Whileloop LEN(_String$)
Inc Array_zaehler&
_pos&=Instr(_Zeichen$,_String$)
If _pos&>0
_zaehler&=_zaehler&+_pos&
_Char%[Array_zaehler&]=_zaehler&
Más
Romper
EndIf
_String$=Right$(_String$, Len(_String$)-_pos&)
EndWhile
Volver _Char%[]
ENDPROC
Proc FindLastChar
Parámetros _String$,_Zeichen$
Declarar _Zeichen&[],_pos&,_Char%[],_zaehler&
Whileloop LEN(_String$)
_pos&=Instr(_Zeichen$,_String$)
If _pos&>0
_zaehler&=_zaehler&+_pos&
_String$=Right$(_String$, Len(_String$)-_pos&)
_pos&=0
Más
Romper
EndIf
EndWhile
Volver _zaehler&
ENDPROC
Proc FindPosChar
Parámetros _String$,N_Zeichen&,_Zeichen$
Declarar _pos&,_zaehler&,Array_zaehler&,_Char%[]
_pos&=0
_zaehler&=0
Array_zaehler&=0
Whileloop LEN(_String$)
Inc Array_zaehler&
_pos&=Instr(_Zeichen$,_String$)
If _pos&>0
_zaehler&=_zaehler&+_pos&
_Char%[Array_zaehler&]=_zaehler&
Más
Romper
EndIf
If Array_zaehler&=N_Zeichen&
Romper
Endif
_String$=Right$(_String$, Len(_String$)-_pos&)
EndWhile
Volver _zaehler&
ENDPROC
Proc Auswerten
z%=0
Whileloop SizeOf(_Suchzeichen%[])-1
inc z%
imprimir "Zeichen **"+mid$(TestString$,_Suchzeichen%[&bucle],1)+"** Nr.:",z%,"An Position: ";_Suchzeichen%[&bucle]
EndWhile
ArrDel _Suchzeichen%[],0,SizeOf(_Suchzeichen%[])-1'Arraygrösse se en 1 gesetzt.
ENDPROC
|
|
|
| Xprofan X4 Rudolf Beske / München
Hardware: NB Intel I9 - 16GByte RAM | 12.05.2021 ▲ |
|
|
|
|
« Dieser Contribución wurde como Solución gekennzeichnet. » |
|
p.specht
| %matchpos y el n. Matching ========================= Weils dazupasst, una Info de RGH de Sept. 2015 a richtigen Handhabung el internen Variable %matchpos: "%matchpos zählt siempre de el aktuellen Startposition de! Folgendes proc liefert el gewünschte n-fach {'weitergeschaltete'} Verhalten":
|
|
|
| XProfan 11Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'... | 19.05.2021 ▲ |
|
|
|
|