| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [Delphi] Поиск и копирование в текстовом файле |
| Автор: lamos123456 7.11.2006, 05:55 |
| Подскажите как сделать поиск в текстовом файле от определённых символов например от " и до ' а всё что между ними складывать в другой фаил? |
| Автор: Dynamic 7.11.2006, 06:54 |
| Ищешь ", запоминаешь позицию, ищешь ', копируешь все от первой запомненной позиции до этой, ищешь дальше от последней позиции. В чем проблема-то? |
| Автор: lamos123456 7.11.2006, 07:26 |
| Я незнаю как работать с pos можешь пример небольшой дать? |
| Автор: Dynamic 7.11.2006, 07:40 | ||
пример, который дает дельфя по Ф1 (справка, если ты не знал)
|
| Автор: Insert 7.11.2006, 07:44 |
| d:integer d:= pos('б,'абвг') в d будет 2 - позиция строки в подстроке, если подстрока будет не найдена то в d будет 0 |
| Автор: lamos123456 7.11.2006, 08:56 | ||
Вот у меня есть файл вида
нужно выдернуть все ссылки немогу понять как сделать поиск например от href=" до " я в программировании недавно |
| Автор: Guedda 7.11.2006, 09:05 | ||
|
| Автор: lamos123456 7.11.2006, 09:15 |
| А если мне нужно файл перебирать? А не строку? |
| Автор: lamos123456 7.11.2006, 09:38 | ||
Вот выдаёт ошибку
|
| Автор: Dynamic 7.11.2006, 09:51 | ||
посмотри синтаксис функции Pos, ты указал ЧТО искать, но не указал ГДЕ искать. хотя выше написано верно :
вот что значит копировать не думая... |
| Автор: lamos123456 7.11.2006, 10:05 |
| Так вот я и пытаюсь разобраться в работе этой функции... Так работает, только алгоритм находит лишь 1 ссылку, а как сделать чтобы когда он нашёл ссылку переходил дальше и искал следующую, а когда заканчивается файл *.тхт останавливался? |
| Автор: Alexeis 7.11.2006, 10:09 | ||
Для этого лучше использовать PosEx() модулть strUtils, он позволяет искать начиная в определенной позиции. |
| Автор: lamos123456 7.11.2006, 10:16 |
| alexeis1, А можешь пример привести и обьяснить как она работает? |
| Автор: Dynamic 7.11.2006, 10:19 | ||||
можно примерно так:
Добавлено @ 10:20 а это PosEx (не помню, где стырил):
|
| Автор: Alexeis 7.11.2006, 10:48 |
Зачем его тырить, когда он и так есть и оптимизирован на ассемблере в модуле StrUtils. |
| Автор: lamos123456 7.11.2006, 10:59 | ||
| Вот сделал так вообще ничего в Memo2 нет Просто как в пустую кнопку тыкаю и все...
|
| Автор: Elfebet 7.11.2006, 11:42 | ||
У меня была точно такая же задача. Вот пример полностью рабочий, кидаеш на форму memo1, button1:
|
| Автор: Dynamic 7.11.2006, 13:17 | ||||||
есть, да не у всех. У меня в Д6, например, нету, вот и пришлось тырить ;) Добавлено @ 13:20
попробуй первую строку переписать так:
а вообще отладчик в таких случаях помогает |
| Автор: lamos123456 7.11.2006, 17:18 |
| Я только в делфи пытаюсь что то сделать а ты отладчик.. Во всяких EAX я 0... тут главное разобраться, что я и хочу сделать!!! Я не хочу просто копипастить я ОЧЕНЬ хочу вникнуть как это работает!!!! Я понимаю что таких тысячи и миллионы.... , но всётаки не все хотят понять как это работает! Им лишь бы защитить свой диплом и получит бумажку! Я ХОЧУ, ОЧЕНЬ ХОЧУ научиться писать программы!!!... Я ещё студент, но я учусь... И вы мне очень помогаете спасибо вам за это!!! Ну извините за глупые(для вас) вопросы, просто я пытаюсь что то написать! Вы мне очень помогли спасибо вам огромное!!!! |
| Автор: Dynamic 8.11.2006, 06:42 | ||||
Не путай отладчик и дизассемблер.
нечасто такое можно услышать... |
| Автор: lamos123456 9.11.2006, 06:59 |
| Elfebet, А куда этот код вставлять? Вставляю в кнопку ошибку выдаёт... |
| Автор: Elfebet 9.11.2006, 10:01 | ||
Вставляеш код на нажатие кнопки: var list:TStringList; begin list:=TStringList.Create; FindURLs(AnsiLowerCase(Memo1.Lines.Text), list); Memo1.Lines:=list; list.Free; а функцию приведенную в моем сообщении FindURLs поставь выше процедуры нажатия на кнопки. вот а что за ошибку выдает? |
| Автор: lamos123456 11.11.2006, 09:12 |
| Elfebet, Я просто забыл написать StrUtils поэтому и ошибку выдавало... А как в твоей процедуре работать не с мемо а с тхт файлом? |
| Автор: Elfebet 11.11.2006, 11:32 | ||
ну загрузи файл в стринглист и работай. |