Español
Fuente/ Codesnippets

Memposabs Substrcount

 

Michael
Wodrich
Desde que esta beiden ständig nutze, Puse ellos veces hier hinein.

MemPosAbs
Como MemPos() sólo el Position de el Startposition a gerechnet zurückgibt, Yo MemPosAbs geschrieben. Hier se el absolute Position innerhalb des Bereiches zurückgegeben.
Como uno a SubStrCount() sehen kann vereinfachen se entonces Suchfolgen.

SubStrCount
Como Substr() auch mittendrin Leerstrings zurückgeben y el Trennzeichen de una String bestehen kann es el Zählen el Worte no bastante así simplemente.
Lo va zwar auch anders pero yo habe una Zona para el Zählen benutzt.

Hier el Características con getestetem Ejemplo:
KompilierenMarcaSeparación
!
MemPosAbs + SubStrCount
by Michael Wodrich
erstellt mit XProfan 9.x

Proc MemPosAbs    liefert die absolute Adresse (vom Beginn der Bereichsvariablen)

    Parameters Bereich#, Start&, Finde$
    Declare gefunden&
    gefunden& = MemPos( Bereich#, Start&, Finde$ )
    Return If( gefunden& <> (-1), Start& + gefunden&, (-1) )

EndProc

Proc SubStrCount    als Ergänzung zu SubStr$( Wortliste$, n&, Trennzeichen$ ); liefert Anzahl

    Parameters Wortliste$, Trennzeichen$
    Declare Bereich#, Position&, Anzahl&, sovieleTrennzeichen&
    Dim Bereich#, Len( Wortliste$ )
    Char Bereich#, 0 = Wortliste$
    sovieleTrennzeichen& = Len( Trennzeichen$ )
    Position& = MemPos( Bereich#, Position&, Trennzeichen$ )

    While Position& <> (-1)

        Inc Anzahl&
        Position& = MemPosAbs( Bereich#, Position& + sovieleTrennzeichen&, Trennzeichen$ )

    EndWhile

    Dispose Bereich#
    Return Anzahl& + 1

EndProc

Hauptprogramm
Declare oldDeci%, A$
oldDeci% = Set("Decimals", 0 )
Print "Teste SubStr$() und SubStrCount():
"
A$ = "eins,zwei,,vier,fünf,sechs,sieben"
Print "<" + A$ + "> + Trenner <,> = " + Str$( SubStrCount( A$, "," ) )

WhileLoop 8

    Print Str$( &loop ) + ": <" + SubStr$( A$, &loop, "," ) + ">"

EndWhile

Print ""
A$ = "eins, zwei,,vier, fünf, sechs, sieben,"
Print "<" + A$ + "> + Trenner <, > = " + Str$( SubStrCount( A$, ", " ) )

WhileLoop 8

    Print Str$( &loop ) + ": <" + SubStr$( A$, &loop, ", " ) + ">"

EndWhile

Print ""
A$ = "eins, zwei, , vier, fünf, sechs, sieben, "
Print "<" + A$ + "> + Trenner <, > = " + Str$( SubStrCount( A$, ", " ) )

WhileLoop 8

    Print Str$( &loop ) + ": <" + SubStr$( A$, &loop, ", " ) + ">"

EndWhile

Set("Decimals", oldDeci% )
WaitInput<
class=s4 href='./../../function-references/XProfan/end/'>End

Schöne Grüße
Michael Wodrich
 
Programmieren, das spannendste Detektivspiel der Welt.
28.04.2006  
 



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

1.578 Views

Untitledvor 0 min.
H.Brill14.06.2023
Sven Bader24.05.2023
Walter11.04.2023
RudiB.02.09.2022

Themeninformationen

Dieses Thema ha 1 subscriber:

Michael Wodrich (1x)


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