Текущий архив: 2008.04.27;
Скачать: CL | DM;
Вниз
Поиск в файле Найти похожие ветки
← →
Dark © (2008-03-29 19:06) [0]Подскажите, какие есть способы поиска и дальнейшей работы в файле? Допустим мне нужно найти строку и поставить в её конец курсор, затем перевести его на пару строк ниже(просто изменение положения, а не вставка строки), а затем поставить курсор опять в конец строки и перевести её уже с добавкой новой строки.. Собственно здесь используются все методы..и считывание, и поиск, и запись...как это все реализовать?
← →
Dark © (2008-03-29 19:08) [1]Ещё добавлю, это делается для редактирования html страниц, но не во всех будет определенный кусок кода(то, что мы будем искать). Поэтому мне надо ещё делать и проверку, найдено или нет..А перечислить все файлы, в которых ведется поиск нельзя, т.к. будут постоянно добавляться новые
← →
Сергей М. © (2008-03-29 19:10) [2]Описанное не имеет ничего общего с "работой в файле", хотя бы потому что в файле нет никакого "курсора".
← →
Andy BitOff © (2008-03-29 19:19) [3]> [2] Сергей М. © (29.03.08 19:10)
Ну, курсором можно считать переменную, в которой будет храниться указатель на текущую позицию, от начала файла.
← →
Сергей М. © (2008-03-29 19:30) [4]
> Andy BitOff © (29.03.08 19:19) [3]
Следует просто формализовать задачу, а не уподобляться чукче ("что вижу, то пою")
← →
palva © (2008-03-29 19:37) [5]
> Dark © (29.03.08 19:08) [1]
По-моему, стоит прочитать файл полностью в оперативную память (например в строку) и после всех правок перезаписать на диск.
← →
Dark © (2008-03-29 19:37) [6]
> Сергей М.
Если ты сразу все понял, зачем разводить флуд?
> Andy BitOff ©
Ага, ты правильно выразился
← →
Dark © (2008-03-29 19:39) [7]
> palva ©
Допустим, я его считываю в Мемо, в нем есть ф-ции поиска и работы с позицией курсора?
← →
trubin © (2008-03-29 19:55) [8]Как вариант используй TFileStream. С помощью его методов Seek, Write, Read и свойств Position, Size реализуй нужный тебе функционал.
← →
Сергей М. © (2008-03-29 19:59) [9]
> Dark © (29.03.08 19:37) [6]
>
>
Если тебе нужно найти строку N и вставить пустую строку в позицию N+2, то так и скажи)
← →
palva © (2008-03-29 20:30) [10]> Допустим, я его считываю в Мемо, в нем есть ф-ции поиска и работы с позицией курсора?
А для чего читать в Мемо? Неужели вы хотите визуально наблюдать процесс обработки и вмешиваться в него с клавиатуры? Ну да дело ваше.
И вопрос какой-то странный. Несомненно, кто-то написал такие функции. Не думаю, что они представляют какую-то ценность, поскольку любой программист напишет их за 10 минут. Хотя наверняка есть программисты, которые с гордостью выложили такие функции в Интернет, не думаю, что их продукцию следует разыскивать и использовать. Самому надежнее написать.
← →
trubin © (2008-03-29 20:48) [11]
> Подскажите, какие есть способы поиска и дальнейшей работы
> в файле? Допустим мне нужно найти строку и поставить в её
> конец курсор, затем перевести его на пару строк ниже(просто
> изменение положения, а не вставка строки), а затем поставить
> курсор опять в конец строки и перевести её уже с добавкой
> новой строки.. Собственно здесь используются все методы.
> .и считывание, и поиск, и запись...как это все реализовать?
>
Не совсем понял, "строка" в данном случае это последовательность допустимых символов заканчивающаяся символом возврата каретки?
Если да, то какое это отношение имеет непосредственно к парсингу html - файла, там во внимание следует принимать другие вещи - тэги например.
← →
Dark © (2008-03-29 21:10) [12]Парсинг html здесь нипричем, я его буду редактировать(html файл), как текстовый. В моем случае это удобнее. СОбственно пока со всем разобрался. Но вот возник вопрос, везде разные кодировки..как в делфи настроит ьу своей программы кодировку виндоуз? А то русские не ищет символы, только латинские и цифры. Походу у меня в файлах и в делфи разные кодировки
← →
Dark © (2008-03-29 21:23) [13]Неужели нету возможности настройки кодировки проекта?
← →
Palladin © (2008-03-29 21:41) [14]кодировку нужно не у проекта менять, а у набора символов с которым работаешь.
← →
Dark © (2008-03-29 21:50) [15]Ладно, тогда как у RichEdit заменить кодировку? Облазил все параметры lines и text...не нашел..f1 не помагает
← →
Anatoly Podgoretsky © (2008-03-29 21:53) [16]> Dark (29.03.2008 21:50:15) [15]
Свойство Font, но толку то менять кодировку?
Надо не кодировку менять, а приводить к понимаемой.
← →
Dark © (2008-03-29 21:55) [17]Понимаемую я знаю...на неё и хочу поменять.
← →
Dark © (2008-03-29 21:59) [18]Спасибо, оно!
← →
Dark © (2008-03-29 22:15) [19]TFontCharset - нашел по нему список кодировок в хелпе..возник вопрос, потому что ничего типа win1251 я там не нашел: что является прототипом win1251 кодировки? Да, и поддерживает RichEdit кодировки только с окончанием _CHARSET, а на остальные типа fcsUnicode ругается. Мои действия: гружу файл в ричэдит,добавляю строки,сохраняю, получаю абракадабру....хотя исходный файл выглядит нормально
← →
Dark © (2008-03-29 22:21) [20]Выяснил кое-что опытным путем: в блокноте и IE абракадабра, а в WordPad"е все отлично(
← →
Dark © (2008-03-29 22:24) [21];-) Все, пора завязывать ночью программировать..richedit то в .rtf сохранял..а надо мемо юзать)
← →
Andy BitOff © (2008-03-29 22:30) [22]> а надо мемо юзать
Надо StringList юзать, если, как я понимаю, ты програмным путем все меняешь.
← →
Dark © (2008-03-29 22:34) [23]Да, меняю программным..а какое преимущество у СтрингЛист перед Мемо?
← →
Palladin © (2008-03-29 22:41) [24]огромное! это разные вещи вообще!
← →
Dark © (2008-03-29 22:44) [25]O_o понятно что разные..но преимущество..?
← →
Andy BitOff © (2008-03-29 22:59) [26]Да собстно, можешь использовать что хочешь, хоть TWebBrowser. Тебе люди говорят, что было бы использовать лучше, а ты всё преимущества, преимущества. Просто поверь на слово ;)
← →
Palladin © (2008-03-29 23:52) [27]
> Dark © (29.03.08 22:44) [25]
TMemo это целый контрол. Его Lines:TStrings это объект, каждый чих с которым оборачивается отсылкой сообщения окну контрола. Что ты к этому TMemo прицепился? Это компонент визуализации и редактирования пользователем текста.
TStringList же, в свою очередь, сравнительно легковесный класс. И создан для хранения и обработки набора строк + еще немножко вкусностей. То бишь, как раз для того чего ты и пытаешься делать.
← →
Dark © (2008-03-29 23:58) [28]Хм..если так..а то у меня просто нету ни одной книжечки по Длефи на рукках...даже в pdf версии ни одной..точнее есть..Фленова..но..такое чтиво..ничего толком полезного..все нюансы обходит стороной
← →
Palladin © (2008-03-30 00:06) [29]
> Хм..если так..
нет, блин, я тут все на ходу насочинял :)
> нету ни одной книжечки по Длефи на рукках
За то у тебя есть справочка и исходнички. Можешь во очию во всем этом убедиться. Посмотри реализацию TCustomMemo и удивись сколько там всего происходит ненужного для задачи хранения и обработки строк.
> Фленова..но..такое чтиво..ничего толком полезного..все нюансы обходит стороной
да он их и сам не знает, о чем ты... выкинь ее ф топпку... там бреда немало...
Страницы: 1 вся ветка
Текущий архив: 2008.04.27;
Скачать: CL | DM;
Память: 0.54 MB
Время: 0.012 c