Вниз
Скачать: CL | DM;

Найти и заменить   Найти похожие ветки 

 
Afonya   (2006-07-07 12:19) [0]

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

Есть текстовый файл примерно такого вида:

user = 2
VasyaPupkin = 7890
sdata = 78.78

user = 4
VasyaPupkin = 7890
sdata = 45.8904

и т.д., таких секций может быть много, а может быть одна.

Нужно поиском найти первую строку начинающуюся с VasyaPupkin, что после равно запомнить в переменную

Затем у пользователя взять из Edit новое значение для строки VasyaPupkin = и заменить им старое во всем файле...

пытался сделать так:

   FileName:=ExtractFilePath(Application.ExeName)+"1.txt";

   with TStringList.Create do
     begin
     try
       LoadFromFile(FileName);
       
        Sort;
       while Find(Edit1.Text+" value", i) do
         Strings[i] := edit2.Text+" value";
       
       for i := 0 to Pred(Count) do
         if Strings[i] = edit1.text then
           Strings[i] := Edit2.text;
       SaveToFile(FileName);
     finally
       Free;
     end;
   end;

но он сравнивает только всю строку.

Плиииз напишите функцию если не трудно. Буду очень признателен.


 
PSPF2003 ©   (2006-07-07 12:36) [1]

Первая строка StrPos
А значение VasyaPupkin это длинна строки минус VasyaPupkin плюс =
Смотри Паскаль функции по работе со строками.


 
Юрий Зотов ©   (2006-07-07 12:53) [2]

var
 Value: integer;

with TStringList.Create do
try
 LoadFromFile(FileName);
 Value := StrToInt(Values[Names[IndexOfName(Edit1.Text)]]);
 Text := StringReplace(Text, Edit1.Text, Edit2.Text, [rfReplaceAll]);
 SaveToFile(FileName);
finally
 Free;
end;


 
StriderMan ©   (2006-07-07 12:58) [3]


> Values[Names

если равно между именем и значением окружено пробелами, то не работает эта конструкция, сам наступал на такую граблю.


 
Ivolg ©   (2006-07-07 13:57) [4]

>Afonya

Тебе наверное надо сохранить данные в программе, а потом снова загрузить их ?


 
Ketmar ©   (2006-07-07 14:03) [5]

а не надо пробелы ставить.


 
Afonya   (2006-07-07 14:07) [6]

Всем спасибо.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.034 c
2-1152621016
infom
2006-07-11 16:30
2006.07.30
Сократить данную конструкцию.


8-1139383204
AlexeyMir
2006-02-08 10:20
2006.07.30
Как муз.файла независимо воспроизвести на 2х звуковых


3-1148397351
rar
2006-05-23 19:15
2006.07.30
Трехзвенка


2-1152698967
DelphiN!
2006-07-12 14:09
2006.07.30
Главная форма = Nil при обращении к ней из датамодуля


6-1141231360
Призрак
2006-03-01 19:42
2006.07.30
Проигрыватель ASF




   Наверх