GetWordCount/GetWordNum => Xbase

Auf dem Weg von Clipper, FoxPro u.ä. nach Xbase++

Moderator: Moderatoren

GetWordCount/GetWordNum => Xbase

Beitragvon HaPe » Mo, 19. Dez 2016 21:04

Hallo Zusammen !

In VFP gibt es für Zeichenketten die Funktionen GetWordCount und GetWordNum für den Zugriff auf Zeichenketten die mittels eine Separators getrennt sind.
GetWordCount(cString[, cDelimiters]): Zählt die Anzahl der Wörter in einer Zeichenfolge.
GetWordNum(cString, nIndex[, cDelimiters]): Gibt ein angegebenes Wort aus einer Zeichenfolge zurück.
Dies beiden Funktionen setze ich exzessiv für Messdaten in einer Textdatei ein. Die Daten (Feldnamen, Einheiten, Messwerte) sind dabei mittels TAB getrennt.
Mit cFieldNames als erste Zeile aus der Messwertdatei bestimme ich mit
GetWordCount( cFieldNames, CHR( 9 ) )
die Anzahl der Felder und mit
GetWordNum( cFieldNames, nFieldNo, CHR( 9 ) )
bestimme ich den jeweiligen Feldname.

Welche Funktion gibt es dafür in Xbase?
--
Hans-Peter
Benutzeravatar
HaPe
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 127
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz

Re: GetWordCount/GetWordNum => Xbase

Beitragvon AUGE_OHR » Mo, 19. Dez 2016 23:30

HaPe hat geschrieben:GetWordCount(cString[, cDelimiters]): Zählt die Anzahl der Wörter in einer Zeichenfolge.
GetWordNum(cString, nIndex[, cDelimiters]): Gibt ein angegebenes Wort aus einer Zeichenfolge zurück.
beide Functionen gibt es "so" nicht aber du kann es dir selbst zusammenbauen
Code: Alles auswählen
FUNCTION GetWordCount( cText, cDelimiters )
LOCAL nPos := 1
LOCAL nIst := 0
LOCAL aRet := {}
DEFAULT cDelimiters TO " "

   DO WHILE .T.
      nPos := AT( cDelimiters, cText )
      IF nPos > 0
         nIst ++
         AADD( aRet, SUBSTR( cText, 1, ( nPos - 1 ) ) )
         cText := SUBSTR( cText, ( nPos + 1 ), LEN( cText ) - nPos )
      ELSE
         AADD( aRet, cText )
         EXIT
      ENDIF
   ENDDO
RETURN aRet
wenn du nur die Anzahl haben will reicht "nIst"
GetWordNum(cString, nIndex[, cDelimiters])
auch dafür kann du den Code verwenden da er ja den String "zerlegt" und die einzelnen Worte in ein Array speichert und der Index wäre das Array Element.
gruss by OHR
Jimmy
Benutzeravatar
AUGE_OHR
Marvin
Marvin
 
Beiträge: 10146
Registriert: Do, 16. Mär 2006 7:55
Wohnort: Hamburg

Re: GetWordCount/GetWordNum => Xbase

Beitragvon HaPe » Di, 20. Dez 2016 7:03

Hallo Jimmy !

beide Functionen gibt es "so" nicht aber du kann es dir selbst zusammenbauen

Code: Alles auswählen
FUNCTION GetWordCount( cText, cDelimiters )


Vielen Dank für diese Info und deinen Code :)
--
Hans-Peter
Benutzeravatar
HaPe
Rekursionen-Architekt
Rekursionen-Architekt
 
Beiträge: 127
Registriert: So, 15. Nov 2015 17:44
Wohnort: 71665 Vaihingen-Enz


Zurück zu Migration

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste