mam problem ze zliczeniem słów w tekście.
Dajmy na to mamy tekst:
Jeśli użyję funkcji, która liczy spacje jako wyznaczniki nowego wyrazu, no to leżę w tym wypadku, bo po pierwszym zdaniu nie ma spacji, tylko enter.W Szczebrzeszynie chrząszcz brzmi w czcinie.
A Szczebrzeszyn z tego słynie.
Funkcja wygląda tak:
Kod: Zaznacz cały
TStringList *TForm1::Tokenize(String s,String delimiter)
{
TStringList *StringList;
int l; //length of s
int start,delimp;
String sub;
StringList = new TStringList();
start=0;
if (s.Pos(delimiter)>0)
{
delimp = s.Pos(delimiter);
do
{
l=s.Length();
sub=s.SubString(start,delimp-1);
if (sub != "") StringList->Add(sub);
s=s.SubString(delimp+1,l-delimp);
delimp = s.Pos(delimiter);
} while (delimp != 0);
StringList->Add(s); // dodanie tego co zostało na końcu
}
else StringList->Add(s);
return StringList;
Wywołanie natomiast tak:
Kod: Zaznacz cały
TStringList *wyrazy = Tokenize(Zakladka->RichEdit->Text," ");
Pomożecie?
