Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.11.2010, 17:29
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию Работа с тестом

Блин я туплю и никак не могу придумать красивого способа это сделать:
есть текст с заголовками:
Код:
08 АОК
Автоматизация начальной
стадии
..............
...бла бла бла..
.............

надо получить :
Код:
08 АОК Автоматизация начальной стадии

причем количество сток которое занимает данный заголовок я не знаю, т.е. я знаю заголовок одной строкой, а в тексте он может быть разбит на несколько строк
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #2  
Старый 26.11.2010, 19:11
Аватар для dr. F.I.N.
dr. F.I.N. dr. F.I.N. вне форума
I Like it!
 
Регистрация: 12.12.2009
Адрес: Россия, г. Новосибирск
Сообщения: 663
Версия Delphi: D6/D7
Репутация: 26643
По умолчанию

а можешь выложить полный кусок текста? телепатические способности при зачатии не появились
__________________
Грамотно поставленный вопрос содержит не менее 50% ответа.
Грамотно поставленная речь вызывает уважение, а у некоторых даже зависть.
Ответить с цитированием
  #3  
Старый 26.11.2010, 19:11
Аватар для deltas
deltas deltas вне форума
Новичок
 
Регистрация: 22.11.2010
Сообщения: 99
Репутация: 47
По умолчанию

Думаю можно так - поместить текст в Мemo или ListBox, а потом

Код:
Stroka:=Listbox1.Items.string[0]+' '+Listbox1.Items.string[1]+' '
и тд.
Ответить с цитированием
  #4  
Старый 26.11.2010, 19:33
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,723
Репутация: 52347
По умолчанию

Маловато информации. Что является критерием окончания заголовка? Точка или какой-то другой символ?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #5  
Старый 26.11.2010, 21:53
Аватар для friz
friz friz вне форума
Местный
 
Регистрация: 04.04.2008
Адрес: Минск
Сообщения: 596
Версия Delphi: 2007 & JAVA EE
Репутация: 10670
По умолчанию

Код:
0AA
ТЕХНИЧЕСКОЕ
ОБСЛУЖИВАНИЕ
35 OO ЭКСПЛ. АВТОМОБИЛЬ 1,0
(UNIQUEMENT PAYS CONCERNES, VOIR
CARNET D'ENTRETIEN)
ВКЛЮЧАЯ ПРОВЕРКА УРОВНЯ МОТОРНОЕ
МАСЛО, СЛИВ МАСЛА МОТОРНОЕ МАСЛО,
ЗАМЕНА МАСЛЯНЫЙ ФИЛЬТР, ПРОВЕРКА:
АККУМУЛЯТОРНАЯ БАТАРЕЯ, ПРОВЕРКА:
ЛАМПА ФАРЫ, ПРОВЕРКА: ЛАМПА ЗАДНЕГО
ФОНАРЯ, ПРОВЕРКА: ДАВЛЕНИЕ ВОЗДУХА
В ШИНЕ.
НЕ ВКЛЮЧАЯ ЗАМЕНА СВЕЧА ЗАЖИГАНИЯ,
ЗАМЕНА ВОЗДУШНЫЙ ФИЛЬТР, ЗАМЕНА
ТОПЛИВНЫЙ ФИЛЬТР.
5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ
СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ
ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ
СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ
УНИВЕРСАЛ ИЛИ СЕДАН
0A
ПРОЧЕЕ
ОБСЛУЖИВАНИЕ
0326 ПРОВ. СИС.СНИЖЕНИЯ ТОКС. H 0,7
5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ
СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ
ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ
СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ
УНИВЕРСАЛ ИЛИ СЕДАН ИЛИ
ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ X84 И
ДВИГАТЕЛЬ F4R ИЛИ ДВИГАТЕЛЬ K4J ИЛИ
ДВИГАТЕЛЬ K4M
0327 ПРОВ. СИС.СНИЖЕНИЯ ТОКС. H 0,5
5-ДВЕРНЫЙ ХЭТЧБЕК ИЛИ КУПЕ
СЕМЕЙСТВО X84 ИЛИ КАБРИОЛЕТ ИЛИ
ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ
СЕМЕЙСТВО X84 3-ДВЕРНЫЙ ИЛИ
УНИВЕРСАЛ ИЛИ СЕДАН ИЛИ
ГРУЗОПАССАЖИРСКИЙ АВТОМОБИЛЬ X84 И
ДВИГАТЕЛЬ F9Q ИЛИ ДВИГАТЕЛЬ K9K ИЛИ
ДВИГАТЕЛЬ M9R

заголовок выделен жирным, никаких знаков окончания нету количестко строк неизвестно
__________________
Последний раз редактировалось Admin, Сегодня в 10:32.
Ответить с цитированием
  #6  
Старый 26.11.2010, 22:51
Аватар для v1s2222
v1s2222 v1s2222 вне форума
Продвинутый
 
Регистрация: 07.09.2010
Сообщения: 726
Репутация: 26711
По умолчанию

Ну как видно из текста, надо искать в тексте "0A", и пока не встретиться любая цифра записывать то, что вам надо, т.к.:
0A
ПРОЧЕЕ
ОБСЛУЖИВАНИЕ
0326
Соответственно, то что тебе надо можно взять примерно так:
Код:
s:='';
b:=false;
for i:=1 to Length(text)-1 do
  if(Copy(text, i, 2) = '0A') then
    b:=true;
  if(StrToIntDef(text[i], -1) in 0..9) then
    b:=false;
  if(b) then
    s:=s+text[i];

Может можно легче, но то, что пришло первым в голову
Если что не понятно - спрашивай
__________________
Помогаю за Спасибо
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 05:28.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025