Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
8-1179149538
Veter
2007-05-14 17:32
2008.04.27
GIF


15-1205291680
Slider007
2008-03-12 06:14
2008.04.27
С днем рождения ! 12 марта 2008 среда


15-1205266893
Loginov Dmitry
2008-03-11 23:21
2008.04.27
BDE


15-1205685905
Nobody
2008-03-16 19:45
2008.04.27
Ошибка при запуске Delphi


9-1169568586
FireMan_Alexey
2007-01-23 19:09
2008.04.27
Kak sdlatb dvigenie vdolb steni (ploskosti)!