Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];

Вниз

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

 
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 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.07.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.011 c
15-1151478857
learner
2006-06-28 11:14
2006.07.30
Автоматическая авторизация в домашней локальной сети


15-1150390085
Parus
2006-06-15 20:48
2006.07.30
CGI


8-1139400515
AlexeyMir
2006-02-08 15:08
2006.07.30
Как можно оцифровать определенный кусок из песни в файл .wav


1-1150367443
Aleksandr.
2006-06-15 14:30
2006.07.30
Как подключить к программе chm-файл?


3-1148457337
vanno
2006-05-24 11:55
2006.07.30
Проблема! Delphi+ADO+MySQL+ODBC Driver 3.51





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский