Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Найти текст и заменить его [D7, XP]


Страницы:   1 2

Gex88 ©   (2006-11-15 12:39:00) 

Добрый день ! Подскажите пожалуйста как открыть текстовый файл и программно найти текст и заменить его на другой текст. Подкиньте плииз функцию.


Anatoly Podgoretsky   (2006-11-15 16:57:00) [1]

> from kz  (15.11.2006 14:54:31)  [31]

Ты так думаешь, а если еще подумать?


from kz   (2006-11-15 14:54:00) [2]

2 Anatoly Podgoretsky
 
SL:=TStringList.Create;

Ты прекрасно знал, что я имел введу, повыпендриваться решил видимо.

2 KilkennyCat
> TStringList.Text
  Действительно, а я даже не подумал.


Anatoly Podgoretsky   (2006-11-15 14:10:00) [3]

> from kz  (15.11.2006 13:39:24)  [24]

А это что? SL:=TStringList.

F1 + TStringList


KilkennyCat   (2006-11-15 13:48:00) [4]

> [24] from kz   (15.11.06 13:39)
Если не перебирать каждую строку в файле
> то как загрузить весь файл в функцию?


В Вашем варианте TStringList.Text например.


from kz   (2006-11-15 13:46:00) [5]

> с большими файлами

Что-то типа  "TResourceStream" использовать надо....


from kz   (2006-11-15 13:40:00) [6]

2 Anatoly Podgoretsky
Сравнивать видимо...


Anatoly Podgoretsky   (2006-11-15 13:40:00) [7]

> from kz  (15.11.2006 13:31:21)  [21]

Ах да, если это StringList то зачем работать со строками?


Anatoly Podgoretsky   (2006-11-15 13:39:00) [8]

> from kz  (15.11.2006 13:31:21)  [21]

Большого, а что?


from kz   (2006-11-15 13:39:00) [9]

Ну он же написал как заменить какой либо текст в файле, выходит, что определенный текст разбросан по файлу и его нужно заменить. Если не перебирать каждую строку в файле то как загрузить весь файл в функцию?


Anatoly Podgoretsky   (2006-11-15 13:39:00) [10]

> from kz  (15.11.2006 13:23:16)  [16]

А что будешь делать если это окажется так

Казнить нельзя,
помиловать


KilkennyCat   (2006-11-15 13:34:00) [11]

> [19] from kz   (15.11.06 13:28)
> 2 KilkennyCat
> В смысле ?

зачем использовать глобальную функцию построчно?
зачем вообще работать построчно, если в задании ничего о строках не говорилось?


from kz   (2006-11-15 13:31:00) [12]

А "TStringList" какой объем файла максимум сможет использовать ?
Что-то забыл...


KilkennyCat   (2006-11-15 13:29:00) [13]

Ну вот, выясняется, что и файлы очень большие... для очень больших файлов стандартные функции работы со строками могут оказаться несколько тормознутыми...


from kz   (2006-11-15 13:28:00) [14]

2 KilkennyCat
 В смысле ?

2 Gex
  Нет.


KilkennyCat   (2006-11-15 13:27:00) [15]

> [16] from kz   (15.11.06 13:23)

нет. неэкономично.


Gex88   (2006-11-15 13:27:00) [16]

from kz  
Этот метод будет работать с очень большими файлами ?


from kz   (2006-11-15 13:23:00) [17]

Если правильно понял:

 SL:=TStringList.Create;
 SL.LoadFromFile('text.txt');

 For i:=0 to Sl.Count-1 do
   begin
     SL.Strings[i]:=(AnsiReplaceText(SL.Strings[i],'Казнить нельзя, помиловать','Казнить, нельзя помиловать'));


Anatoly Podgoretsky   (2006-11-15 13:22:00) [18]

> KilkennyCat  (15.11.2006 13:18:14)  [14]

А для самостоятельно работы приведен и алгоритм и все необходимые функции, осталось только последнее прочитать наконец справку.


KilkennyCat   (2006-11-15 13:18:00) [19]

> [12] Gex88   (15.11.06 13:14)

готовый код невозможно, хотя бы потому, что: мы не знаем всей задачи (например, совершенно не сказано, что потом делать с текстом, требуется ли заменять все вхождения...); это платно; и самое главное: не так научит, как самостоятельная работа.


Anatoly Podgoretsky   (2006-11-15 13:17:00) [20]

> Gex88  (15.11.2006 13:14:12)  [12]

Подожди, сейчас очередь выстроится, это оэначает, что это возможно.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо