Español
Wünsche y Sugerencias

Umgekehrter Substr$()-Befehl

 
- Página 1 -



Julian
Schmidt
Ein umgekehrter Substr$-Befehl con el uno no, como en Substr%(), el N-ten Teilstring herausfiltert, pero el Index(N) des Teilstrings S2 des Cuerdas S1 herausfindet

Etwa así:
KompilierenMarcaSeparación
Var Suchtext$ = MkStr$("A|B|C|D|E|F",31)
print "Durchsuchter-String: " + Suchtext$
print "Gesuchter-Teilstring: B\n"
print "Ergebnis: "+STRINGIndex(Suchtext$,-1,"|","B")
waitinput

Proc StringIndex

    Parameters Text$,Start%,Trenn$,Teil$
    Declare A$[],Ergebnis$
    A$[] = Explode(Text$,Trenn$,Start%)

    Repeat

        Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
        Case Start% = -1:Break
        Ergebnis$ = Ergebnis$+If(Ergebnis$="","","|")+Str$(Start%+1)

    Until Start% = -1

    Return Ergebnis$

ENDPROC


KompilierenMarcaSeparación
Var Suchtext$ = MkStr$("A|B|C|D|E|F",31)
imprimir "Durchsuchter-String: " + Suchtext$
imprimir "Gesuchter-Teilstring: B\n"
imprimir "Ergebnis: "+STRINGIndex(Suchtext$,"|","B")
waitinput

Proc StringIndex

    Parámetros Texto$,Trenn$,Teil$
    Volver IndexOf(Explode(Texto$,Trenn$),Teil$)+1

ENDPROC


Posesiones esta Rutina en una Projekt ya algunos male benötigt. Ist vlt sinnvoll esta en XProfan einzubauen.

Apéndice: Durch Jörgs-Ayuda verbessern Ver código fuente eingefügt.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
03.08.2012  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »

- Página 1 -



Jörg
Sellmeyer
así
KompilierenMarcaSeparación
Window 1000,400
Var Suchtext$ = MkStr$("A|B|C|D|E|F|A|B|C|D|E|F|A|B|C|D|E|F",50)
print "Durchsuchter-String:  " + Suchtext$
print "Gesuchter-Teilstring: 1\n"
Print "Taste drücken"
WaitKey
Var time&=&gettickcount
SubstrNr1(Suchtext$,"B","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
StringIndex(Suchtext$,-1,"|","B")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput

Proc SubstrNr1

    Parameters S1$,TeilString$,Trennzeichen$
    Declare Ergebnis$

    Whileloop Len(S1$, Trennzeichen$)

        Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)

    EndWhile

    Return Ergebnis$

EndProc

Proc StringIndex

    Parameters Text$,Start%,Trenn$,Teil$
    Declare A$[],Ergebnis$
    '$D "",text$
    A$[] = Explode(Text$,Trenn$,Start%)

    Repeat

        Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
        Case Start% = -1:Break
        Ergebnis$ = Ergebnis$ + Str$(Start%) + ","

    Until Start% = -1

    Return Ergebnis$

ENDPROC

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 



 
- Página 1 -



Julian
Schmidt
War No bekannt el uno Len() auch así uso kann, obwohl lo nada así neu a seien scheint.
Gracias! Yo habe por dich otra vez qué gelernt.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
03.08.2012  
 




Jörg
Sellmeyer
¿Por qué no simplemente:
KompilierenMarcaSeparación
Print SubStr$("T e s t ver su ch",-2," ")
WaitInpute>
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
03.08.2012  
 




Julian
Schmidt
Hättest du más que el Überschrift durchgelesen wüsstest Si es usted el dein Contribución nichts para Hilo beisteuert ^ ^
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
04.08.2012  
 




Jörg
Sellmeyer
Hättest du una passenderen Titel gewählt, hätte uno se no por deinen hilfetexttypischen Einleitungssatz quälen necesario, a uno ihn versteht.
KompilierenMarcaSeparación
Declare A$[]
A$[] = Explode("1|2|3|1|2|4|5|1","|")
Print IndexOf(A$[],"5")' Nullbasierend
WaitInput<
pre>
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 




Julian
Schmidt
Jup, auch una Alternative, allerdings listet dieses siempre sólo una Pfund.
Meistens reicht lo, allerdings manchmal braucht uno auch todos Pfunde.
Man podría deinen Ver código fuente auch dahingehend modifizieren. Ist allerdings no el Mühe wert.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2012  
 




Jörg
Sellmeyer
Was es porque con Usted los? Hast du 'ne Giftnatter gefrühstückt oder por qué motzt du hier así rum. Yo zeige dir, como du una Code en 2 Zeilen en lugar de 10 schreibst y du meckerst hier rum. Trotzdem es hier auch el Mehrfachsuche todavía para el Rest el Gemeinde:
KompilierenMarcaSeparación
Declare A$[],Index%
A$[] = Explode("1|2|3|5|1|2|5|4|5|1","|")

While Index% > -1

    Index% = IndexOf(A$[],"5",Index%+1)' Nullbasierend
    Print Index%

Wend

Wai
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 




Julian
Schmidt
En me son 4 Zeilen siempre todavía weniger como 6.
Außerdem scheint dein Code todavía algo Murx a ser.
Er se ejecuta allerdings algo más rápido por
KompilierenMarcaSeparación
CLS
print "Durchsuchter-String:  1|2|3|1|2|4|5|1"
print "Gesuchter-Teilstring: 1\n"
Var time&=&gettickcount
print "Ergebnis durch Proc 1: "+SubstrNr1("1|2|3|1|2|4|5|1","1","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
print "Ergebnis durch Proc 2: "+SubstrNr2("1|2|3|1|2|4|5|1","1","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput

Proc SubstrNr1

    Parameters S1$,TeilString$,Trennzeichen$
    Declare Ergebnis$

    Whileloop Len(S1$, Trennzeichen$)

        Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)

    EndWhile

    Return Ergebnis$

EndProc

Proc SubstrNr2

    Parameters S1$,TeilString$,Trennzeichen$
    Declare A$[],Index%,Ergebnis$
    A$[] = Explode(S1$,Trennzeichen$)

    While Index% > -1

        Index% = IndexOf(A$[],TeilString$,Index%+1)
        Case Index%>-1 : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(Index%+1)

    EndWhile

    Return Ergebnis$

ENDPROC

 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2012  
 




Jörg
Sellmeyer
Dann klär mich doch veces encima el Murx en
Und teste todos veces con un String de 10000 Signo más o menos.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 




Julian
Schmidt
Der erste Teilstring no es erfasst ^ ^
KompilierenMarcaSeparación
Declare A$[],Index%
A$[] = Explode("1|2|3|5|1|2|5|4|5|1","|")

While Index% > -1

    Index% = IndexOf(A$[],"1",Index%+1)' Nullbasierend
    Print Index%

Wend

Wai
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2012  
 



 
- Página 2 -



Jörg
Sellmeyer
así
KompilierenMarcaSeparación
Window 1000,400
Var Suchtext$ = MkStr$("A|B|C|D|E|F|A|B|C|D|E|F|A|B|C|D|E|F",50)
print "Durchsuchter-String:  " + Suchtext$
print "Gesuchter-Teilstring: 1\n"
Print "Taste drücken"
WaitKey
Var time&=&gettickcount
SubstrNr1(Suchtext$,"B","|")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms\n"
time&=&gettickcount
StringIndex(Suchtext$,-1,"|","B")
print "Gebrauchte Zeit: "+Str$(&gettickcount-time&)+" ms"
waitinput

Proc SubstrNr1

    Parameters S1$,TeilString$,Trennzeichen$
    Declare Ergebnis$

    Whileloop Len(S1$, Trennzeichen$)

        Case (SubStr$(S1$,&loop,Trennzeichen$)=TeilString$) : Ergebnis$=Ergebnis$+If(Ergebnis$="","","|")+Str$(&loop)

    EndWhile

    Return Ergebnis$

EndProc

Proc StringIndex

    Parameters Text$,Start%,Trenn$,Teil$
    Declare A$[],Ergebnis$
    '$D "",text$
    A$[] = Explode(Text$,Trenn$,Start%)

    Repeat

        Start% = IndexOf(A$[],Teil$,Start%+1)' Nullbasierend
        Case Start% = -1:Break
        Ergebnis$ = Ergebnis$ + Str$(Start%) + ","

    Until Start% = -1

    Return Ergebnis$

ENDPROC

 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 




Julian
Schmidt
Jup, ahora passt lo a 100%.
Hab deine Rutina en media Ausgangsbeitrag eingefügt.
 
XProfan X2
Win7 Home Premium, SP1, AMD Athlon(tm) II Neo K125 Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
05.08.2012  
 




Jörg
Sellmeyer
prima
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
05.08.2012  
 




Respuesta


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

14.919 Views

Untitledvor 0 min.
Thomas Zielinski26.01.2023
H.Brill12.10.2022
Jörg Sellmeyer15.05.2018
Vgdd05.06.2017
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