Seite 1 von 1

AT() 3 Parameter unter Clipper ? [erledigt]

Verfasst: Mi, 23. Okt 2019 4:07
von AUGE_OHR
hi,

alle xBase Dialekte sind Cl*pper kompatible ... aber einige können "mehr"

Code: Alles auswählen

At( <cSubString>, <cString>, [<nStartPos>] ) --> nPosition 
Xbase++ hat optional als 3rd Parameter <nStartPos> was andere nicht haben wo dann dieser Code nicht funktioniert

Code: Alles auswählen

FUNCTION Countat( cString, cSign )
LOCAL nRet  := 0
LOCAL nPosi := 1
LOCAL nMax  := LEN( cString )

   DO WHILE nPosi > 0
      nPosi := AT( cSign, cString, nPosi + 1 )
      IF nPosi > 0
         nRet ++
      ELSE
         EXIT
      ENDIF
   ENDDO
RETURN nRet
Frage : wie macht man es mit 2 Parameter unter Cl*pper :?:

p.s. ich möchte NICHT den Code ändern sondern eine "andere" Function AT() schreiben die Cl*pper kompatible sein muss.

Re: AT() 3 Parameter unter Clipper ?

Verfasst: Mi, 23. Okt 2019 7:12
von Koverhage
Warum nicht einfach
AT(cSign,substr(cString,nStartpos)

Re: AT() 3 Parameter unter Clipper ?

Verfasst: Mi, 23. Okt 2019 8:23
von AUGE_OHR
Koverhage hat geschrieben: Mi, 23. Okt 2019 7:12 Warum nicht einfach
AT(cSign,substr(cString,nStartpos)
=D>
genau so was hab ich gesucht DANKE

Re: AT() 3 Parameter unter Clipper ? [erledigt]

Verfasst: Mi, 23. Okt 2019 10:21
von Tom
Der Rückgabewert muss dann aber noch um nStartPos erhöht werden, gell.