Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2017, 22:21   #1
corsar1991
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 14
По умолчанию Вставка текста в файл

Всем доброго времени суток,у меня есть файл в котором нужно заменить текст который находится между двумя определенными словами на текст из edita '<color=#ADFF64>здесь есть какой то текст,его удалить и написать текст из edit</color>',все что я смог сделать это открыть нужный файл и найти нужное слово,но что дальше делать не приложу ума,в инете к сожалению не нашел решения,по этому пишу сюда,взирание спасибо
Код:
var
ss:string
f: textfile;
begin
AssignFile(f,'C:\1\ServerInfo.json' );
reset(f);
while not eof(f) do
begin
readln(f,ss);
if pos('<color=#ADFF64>',ss)<>0 then
end;
CloseFile(f);
end;

Последний раз редактировалось corsar1991; 08.03.2017 в 22:24.
corsar1991 вне форума Ответить с цитированием
Старый 08.03.2017, 22:27   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Читаешь построчно - одновременно и пиши в другой. Нашел нужное место - в другой записал вставку и продолжай до конца читать и писать. Потом удали исходный и переименуй тот другой. Или прочитай все в память и обратно пиши в тот же файл, в нужном месте вставка. Ну а вообще в делфи другие, более удобные средства для этого есть. TStringList например
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.03.2017, 22:40   #3
corsar1991
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Читаешь построчно - одновременно и пиши в другой. Нашел нужное место - в другой записал вставку и продолжай до конца читать и писать. Потом удали исходный и переименуй тот другой. Или прочитай все в память и обратно пиши в тот же файл, в нужном месте вставка. Ну а вообще в делфи другие, более удобные средства для этого есть. TStringList например
можно с примером?)
corsar1991 вне форума Ответить с цитированием
Старый 08.03.2017, 23:01   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ну вот, для небольших файлов сойдет. Для json кстати родной компонент есть, лучше им, наверно, а может и нет, давно не пользовал
Код:
  xList:=TStringList.Create;
  xList.LoadFromFile('d:\MyText.txt');
  s1:='Вставить после этого';
  i1:=Pos(s1,xList.Text);
  if i1>0 then begin
    i2:=PosEx('Вставить до этого',xList.Text,i1+Length(s1));
    if i2>0 then xList.Text:=Copy(xList.Text,1,i1+Length(s1)-1)+'абра-кадабра'+
                             Copy(xList.Text,i2,Length(xList.Text));
  end;
  xList.SaveToFile('d:\MyText.txt');
  xList.Free;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 08.03.2017, 23:25   #5
corsar1991
Пользователь
 
Регистрация: 14.01.2011
Сообщений: 14
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ну вот, для небольших файлов сойдет. Для json кстати родной компонент есть, лучше им, наверно, а может и нет, давно не пользовал
Код:
  xList:=TStringList.Create;
  xList.LoadFromFile('d:\MyText.txt');
  s1:='Вставить после этого';
  i1:=Pos(s1,xList.Text);
  if i1>0 then begin
    i2:=PosEx('Вставить до этого',xList.Text,i1+Length(s1));
    if i2>0 then xList.Text:=Copy(xList.Text,1,i1+Length(s1)-1)+'абра-кадабра'+
                             Copy(xList.Text,i2,Length(xList.Text));
  end;
  xList.SaveToFile('d:\MyText.txt');
  xList.Free;
Спасибо огромное,получилось!!!!
corsar1991 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS Вставка текста из ClipBoard'а Uniskull JavaScript, Ajax 4 23.03.2012 09:09
Вставка текста praid92 C# (си шарп) 2 28.10.2011 17:27
Вставка текста в RichEdit NoName_emaNoN Компоненты Delphi 4 03.05.2008 12:12
Вставка текста Pedro Общие вопросы Delphi 4 27.01.2008 10:27
! Вставка текста ! ♠STO♠ Общие вопросы Delphi 2 30.08.2007 17:05