Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Анализ текстовых даных в Delphi 
:(
    Опции темы
Enchance
Дата 21.10.2009, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Добый день, уважаемые учасники форума!
У меня такой вопрос: есть текст такого типа:

<s>ключевое слово1:</s> данные1
<s>ключевое слово2:</s> данные2

Подскажите, пожалуйста, текст программы, который анализирует текст, ищет в нем выражения <s>ключевое слово1:</s> и <s>ключевое слово2:</s>, и присваивает переменной a1 значение 'данные1' , а переменной a2 значение 'данные2'. Возможно ли это вобще? В дельфях шарю на начальном уровне, однако надеюсь, что смогу разобраться в коде.
PM MAIL   Вверх
Данкинг
Дата 21.10.2009, 01:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 9
Всего: 130



Цитата(Enchance @  21.10.2009,  01:34 Найти цитируемый пост)
Подскажите, пожалуйста, текст программы, 

Это как - написать за тебя программу? Тогда в "Центр помощи". smile А пока что могу лишь подсказать, что можно использовать функцию POS. smile 




--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
~FoX~
Дата 21.10.2009, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Вобще то в ЦП, но я чего то скучаю  smile  smile  smile 
Прям не обламался чего то под ночь  smile  smile  smile 
Цитата

В дельфях шарю на начальном уровне, однако надеюсь, что смогу разобраться в коде.

Разбирайся.... smile 
Код

const
  s  : string = '<s>ключевое слово1:</s> данные1';
  FindStr : string =    'ключевое слово1';
var
 i: integer;
 STemp: string;
 Res: string;
begin
  i := LastDelimiter(':', s);
  STemp := copy(s, 4, i-4);
  if FindStr = STemp then Res := copy(s, i+5, Length(s)-(i+4));
  ShowMessage(Res);
end;


А если еще поймешь, почему i-4, i+5 и Length(s)-(i+4), то точно сдашь свою лабу  smile 

Это сообщение отредактировал(а) ~FoX~ - 21.10.2009, 01:52


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
Enchance
Дата 21.10.2009, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



Я извиняюсь за то, что не совсем полно написал вопрос.
Какие дожны быть эти данные1 - неизвестно, известно лишь то, что данные1 - зто текст до конца строки.

Пример текста:

<HTML> <HEAD>
<ТIТLЕ>схема1</ТITLЕ> </HEAD> <BODY>
<Н1>заголовок</Н1>
<Р>
<s>с1:</s> 2 мкф
<s>с2:</s> 5 пф
<s>r1:</s> 5 кОм
<s>r2:</s> 5 кОм
<s>r3:</s> 73 кОм
</P> </BODY> </HTML>

Ключевые выражения для нас - <s>с1:</s> и <s>с2:</s> .
Количество ключевых выражений строго определено в самой программе, в данном случае их 2.
Функция должна возвращать для переменной а1 текстовое значение '2 мкф' (без кавычек), а для переменной а2 текстовое значение '5 пф'.
И не лаба это, а так, чисто для себя.
З.Ы. Модераторы, перенесите пожалуйста тему в ЦП.
PM MAIL   Вверх
~FoX~
Дата 21.10.2009, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 13
Всего: 68



Enchance, Не понял, а в чем код то мой не верный?  smile 
Замени FindStr, на какой нить Edit1.Text, ключевые слова будут то что между <s>:</s> т.е. в твоем случае c1, с2 и т.д. В Res ляжет то что после последнего "> ", 2 мкф, 5 пф и т.д.

Или тебе весь хтмл код распарсить надо?

Это сообщение отредактировал(а) ~FoX~ - 21.10.2009, 11:34


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
amsoft
Дата 21.10.2009, 11:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 201
Регистрация: 17.10.2009
Где: KZ, Astana

Репутация: 3
Всего: 4



Enchance

для приведенного выше кода длина данных не имеет значения, он будет работать правильно,
главное, чтобы у тебя не нарушалась структура начальной строки (символом ни больше ни меньше между ПЕРЕМЕННОЙ и ЗНАЧЕНИЕМ).
Дооформи приведенный код в вид функции (в качестве параметра передавай имя ПЕРЕМЕННОЙ и НАЧАЛЬНУЮ СТРОКУ, а в качестве результата возвращай ЗНАЧЕНИЕ) и пробегись по всем строкам текстового файла для поиска необходимого ЗНАЧЕНИЯ.



Это сообщение отредактировал(а) amsoft - 21.10.2009, 11:51
--------------------
"Кто бы ты ни был - не думай о себе слишком"Дельфин
PM   Вверх
Enchance
Дата 26.10.2009, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 26
Регистрация: 20.10.2009

Репутация: нет
Всего: нет



~FoX~, amsoft,
Все, спасибо за помощь, разобрался.
PM MAIL   Вверх
Keeper89
Дата 26.10.2009, 21:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 20
Всего: 58



Я бы использовал РВ, ну да ладно, решили и хорошо.


--------------------
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.