Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.12.02;
Скачать: [xml.tar.bz2];

Вниз

Функции работы со строковыми типами в 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.043 c
1-1189486061
Inorica
2007-09-11 08:47
2007.12.02
Drag n Drop любого текста из любой проги в мою прогу!


15-1193855856
Silver...
2007-10-31 21:37
2007.12.02
Сканер Штрих кода


2-1194519342
allucard
2007-11-08 13:55
2007.12.02
Работа с массивом


3-1184674956
Циркуль
2007-07-17 16:22
2007.12.02
BDE, TTable, TQuery, TBatchMove, ошибка "Table is full"


2-1194513868
PRIVET
2007-11-08 12:24
2007.12.02
Визуализация сортировки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский