Вниз
Скачать: CL | DM;

Функции работы со строковыми типами в Delphi   Найти похожие ветки 

← →
Slim   (2007-11-08 09:18) [0]

РЕбята, привет! Не могу найти функцию которая бы отрезала от строки слева (справа) первые например 5 символов.Или может есть функция которая бы резала предложение по пробелам не более N символов???
Спасибо!


← →
Сергей М. ©   (2007-11-08 09:22) [1]

Что значит "отрезала" ?


← →
Palladin ©   (2007-11-08 09:22) [2]

слева copy
справа можно и setlength

Procedure vtParseWords(Const s:String;p_theWords:TStringList;Const p_strAddChars:String="";p_nMinWordLen:Integer=3);
Var
Word:String;
i,n,nFrom:Integer;
Begin
nFrom:=1;
For i:=1 to Length(s) Do
 If (Not (s[i] in Letters)) and (Pos(s[i],p_strAddChars)=0) Then
  Begin
   If (nFrom<>-1) and (i-nFrom>=p_nMinWordLen) Then p_theWords.Add(Word);
   nFrom:=-1;
  End Else If nFrom=-1 Then nFrom:=i;
If (nFrom<>-1) and (length(s)-nFrom>=p_nMinWordLen) and Then p_theWords.Add(Word,n);
End;


← →
Palladin ©   (2007-11-08 09:23) [3]

Letters это множество всех допустимых в слове символов


← →
korneley ©   (2007-11-08 09:25) [4]

A
>  function Copy(S; Index, Count: Integer): string;

не устроит? Или надо обязательно "отрезать"? Тогда
procedure Delete(var S: string; Index, Count:Integer);
из System


← →
Palladin ©   (2007-11-08 09:27) [5]

что то я лишнего повырезал много :)


Procedure vtParseWords(Const s:String;p_theWords:TStringList;Const p_strAddChars:String="";p_nMinWordLen:Integer=3);
Var
 i,n,nFrom:Integer;
Begin
 nFrom:=1;
 For i:=1 to Length(s) Do
  If (Not (s[i] in Letters)) and (Pos(s[i],p_strAddChars)=0) Then
   Begin
    If (nFrom<>-1) and (i-nFrom>=p_nMinWordLen) Then
      p_theWords.Add(Copy(s,nFrom,i-nFrom),n);
    nFrom:=-1;
   End Else If nFrom=-1 Then nFrom:=i;
 If (nFrom<>-1) and (Length(s)-nFrom>=p_nMinWordLen) Then
  p_theWords.Add(Copy(s,nFrom,Length(s)));
End;


← →
Lamer666   (2007-11-08 09:29) [6]

Спасибо, то что НАДО!


← →
Slim   (2007-11-08 09:32) [7]

Спасибо, то что НАДО!


← →
Anatoly Podgoretsky ©   (2007-11-08 12:01) [8]

LeftStr/RightStr/Trim


← →
umbra ©   (2007-11-08 12:02) [9]


> Не могу найти функцию которая бы отрезала от строки слева
> (справа) первые например 5 символов.

LeftStr, RightStr, MidStr



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.024 c
2-1194524361
NaRuTo
2007-11-08 15:19
2007.12.02
Как изменить цвет TMainMenu


15-1194180366
atruhin
2007-11-04 15:46
2007.12.02
Флейм. Отношение к Open Source компонентам.


15-1193772970
korneley
2007-10-30 22:36
2007.12.02
Фича/глюк/(не)задокументированная возможность ?


2-1194335656
lobach
2007-11-06 10:54
2007.12.02
Explorer.exe - как его завершить???


15-1193162399
Студент
2007-10-23 21:59
2007.12.02
Найти величины углов




   Наверх