Deutsch
Quelltexte/ Codesnippets

Funktionen Glchar Grchar Rmid String

 

Michael
Dell
gRChar$(S,N):
S = Eingabe String
N = Position des Zeichen (von Rechts)

Ergebnis: Das Nte Zeichen von Rechts.

gLChar$(S,N):
S = Eingabe String
N = Zeichen Nummer (von Links)

Ergebnis: Das Nte Zeichen von Links.

rMid$(S,N1,N2):
S = Eingabe String
N1 = Startposition (von Rechts)
N2 = Anzahl der Zeichen

Ergebnis: Teilstring (von Rechts nach Links)

Sind N1 und/oder N2 = -1 wird der ganze String umgekehrt zurückgegeben.

Funktionen (gRLCHar.pinc):
KompilierenMarkierenSeparieren
Def gRChar$(2) Left$(Right$($(1),&(2)),1)
Def gLChar$(2) Mid$($(1),&(2),1)

Proc rMid$

    Parameters rM_In1$,rM_In2&,rM_In3&

    If ((rM_In2& = -1) | (rM_In3& = -1)): rM_In2& = 1: rM_In3& = Len(rM_In1$): EndIf

        Case ((Len(rM_In1$) < 1) | (rM_In2& < 1) | (rM_In3& < 1) | (rM_In2& > Len(rM_In1$)) |
        (rM_In3& > (Len(rM_In1$) - (rM_In2& - 1)))): Return -1  Eingabe Fehler
        Declare rM_Out$

        WhileLoop rM_In2&,((rM_In2& - 1) + rM_In3&)

            rM_Out$ = (rM_Out$ + Left$(Right$(rM_In1$,&Loop),1))

        EndWhile

        Return rM_Out$

    EndProc

Demo:
KompilierenMarkierenSeparieren
 $I gRLCHar.pinc
Var Test$ = "ABCDEFGH"
Cls
Print "gRChar$(Test$,2)  = "; gRChar$(Test$,2)
Print
Print "gLChar$(Test$,2)  = "; gLChar$(Test$,2)
Print
Print "rMid$(Test$,2,2)  = "; rMid$(Test$,2,2)
Print
Print "rMid$(Test$,1,9)  = "; rMid$(Test$,1,9)
Print
Print "rMid$(Test$,-1,0) = "; rMid$(Test$,-1,0)
WaitInput
End
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
22.07.2008  
 




Jac
de
Lad
gLChar$=Mid$ ???
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
22.07.2008  
 




Michael
Dell
Ja, hast recht ich hab da von gRChar$() direkt auf gLChar$() umgesetzt ohne drüber nachzudenken. Habs durch Mid$(S,N,1) ersetzt. Dank Dir!
 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
23.07.2008  
 




RGH
... und ab XProfan 11 lassen sich gRChar$(S,N) und gLChar$(S,N) durch SubStr$(S,N) und SubStr$(S,-N) ersetzen bzw. definieren: Wenn bei SubStr$ kein Trennzeichen angegeben wird, wird jedes einzelne Zeichen als Teilstring betrachtet.

Gruß
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
23.07.2008  
 




Michael
Dell
Klasse Roland, daran hatte ich noch gar nicht gedacht!

Dir Funktionen für Xprofan11:
KompilierenMarkierenSeparieren
Def gRChar$(2) SubStr$($(1),(&(2) - (&(2) * 2)))
Def glChar$(2) SubStr$($(1),&(2))

Proc rMid$

    Parameters rM_In1$,rM_In2&,rM_In3&

    If ((rM_In2& = -1) | (rM_In3& = -1)): rM_In2& = 1: rM_In3& = Len(rM_In1$): EndIf

        Case ((Len(rM_In1$) < 1) | (rM_In2& < 1) | (rM_In3& < 1) | (rM_In2& > Len(rM_In1$)) |
        (rM_In3& > (Len(rM_In1$) - (rM_In2& - 1)))): Return -1  Eingabe Fehler
        Declare rM_Out$

        WhileLoop rM_In2&,((rM_In2& - 1) + rM_In3&)

            rM_Out$ = (rM_Out$ + SubStr$(rM_In1$,(&Loop - (&Loop * 2))))

        EndWhile

        Return rM_Out$

    EndProc

 
Salu Michael...

Hab zwar krumme Fieß awer dofir e' ecklich Gsicht! 
23.07.2008  
 



Zum Quelltext


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

7.258 Betrachtungen

Unbenanntvor 0 min.
RudiB.06.12.2021
Normann Strübli07.06.2020
Ernst06.04.2014
Chregu Mueller23.03.2014

Themeninformationen

Dieses Thema hat 3 Teilnehmer:

Michael Dell (3x)
RGH (1x)
Jac de Lad (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie