![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Найти текст и заменить его [D7, XP]
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]
Подожди, сейчас очередь выстроится, это оэначает, что это возможно.