Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как найти ПОСЛЕДНИЙ пробел в строке?


Гарри Шалфеевичь ©   (2005-09-29 17:19:00) 

...или последний пробел в строке ДО опеделенной позиции?

Допустим есть строка :
"Разрешается использование тегов форматирования текста: а для выделения текста программ"
Как мне найти пробел между словами "текста" и  "программ" не знаная об эих словах?
То есть...  
Есть ричедит в который грузится тестовой файл. В результате в ричедите оказываетя порядка 100 - 150 строк разной длины. КАК найти пробелы в строках ДО 120 символа? Именно последний пробел перед 120 символом.

Вобщем мне надо сделать прогу которая будет выравнивать текст, а точнее строки в тексте по попределенной длине. Нельзя же обрезать полслова и оставшуюся часть слова перенести на следуюшую строку, вот поэтому мне и надо найти пробел перед словом которое должно оказаться последним в строке, чтобы с пробела и перенести оставшуюся часть строки на новую строку.

Вобщем я фигово излогаю, но как внятнее я не знаю.
Помогите плийз если не трудно...


umbra   (2005-09-29 19:44:00) [1]


> StrUtils


Все, пора домой! SysUtils


umbra   (2005-09-29 19:42:00) [2]


> Fay ©  


Как оказалось, и у меня она есть тоже. Если присмотреться к модулю StrUtils, то можно рассмотреть


Fay   (2005-09-29 19:40:00) [3]

2 begin...end ©   (29.09.05 19:38) [12]
Сторона обвинения пока не располагает убедительными доказательствами 8)


begin...end   (2005-09-29 19:38:00) [4]

> Fay ©   (29.09.05 19:35) [11]
> Гуано редкое.

Надеюсь, я в этом не виноват?


Fay   (2005-09-29 19:35:00) [5]

2 begin...end ©   (29.09.05 19:24) [10]

>> А у меня в Delphi AnsiStrRScan есть.
У меня, как выяснилось, тоже. (D7)
Посмотрел. Гуано редкое.


begin...end   (2005-09-29 19:24:00) [6]

> umbra ©   (29.09.05 18:59) [7]

А у меня в Delphi AnsiStrRScan есть.


umbra   (2005-09-29 19:21:00) [7]

2 Fay © (29.09.05 19:15) [8]

Ну надо ж уважать труд создателей делфи! они трудились, функции писали:))


Fay   (2005-09-29 19:15:00) [8]

2 umbra ©   (29.09.05 18:59) [7]
А forесть? 8)


umbra   (2005-09-29 18:59:00) [9]


> Fay ©   (29.09.05 18:51) [5]
> Зачем такие сложности?!

Надо ж эти функции как нибудь использовать! Да и наглядней получается.


> begin...end

А у меня в делфи AnsiStrRScan нет


Fay   (2005-09-29 18:51:00) [10]

2 umbra ©   (29.09.05 17:31) [1]
Зачем такие сложности?!


begin...end   (2005-09-29 18:51:00) [11]

> Как найти ПОСЛЕДНИЙ пробел в строке?

См. функции AnsiStrRScan или LastDelimiter из модуля SysUtils.


Гарри Шалфеевичь   (2005-09-29 18:44:00) [12]

Спасибо всем большое!!!!
И в праду форум МАСТЕРОВ )))


han_malign   (2005-09-29 18:28:00) [13]

Result:=0;
len:= Length(str);
if(len > limit)then begin
   Result:=limit;
   while((Result > 0) and (str[Result] <> ' ')) dec(Result);
end;


Smithson   (2005-09-29 17:41:00) [14]

[code]
for I := Length(S) downto 1 do
 if S[I] - ' ' then // Нашли!
[/code]


umbra   (2005-09-29 17:31:00) [15]


function FindLastSpace(src: string): integer;
begin
src := LeftStr(src, 120);
src := ReverseStr(src);
Result := Pos(' ', src);
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо