Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.12.02;
Скачать: 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 вся ветка

Текущий архив: 2007.12.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.026 c
3-1184448285
Anar
2007-07-15 01:24
2007.12.02
Как прокручивать записи в DBGrid скроллером мышки?


2-1194476091
TankMan
2007-11-08 01:54
2007.12.02
Подскажите пожалуйста почему выдается ошибка в TidFTP?


15-1193834403
vamp_avp
2007-10-31 15:40
2007.12.02
Indy


15-1193429784
Kostafey
2007-10-27 00:16
2007.12.02
Настройка автоматического развертывания Web-приложений в JBuilder


1-1189580697
cantalia
2007-09-12 11:04
2007.12.02
Событие из DLL в Main Application