![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 18
|
![]()
Привет.
Есть такая задачка по редактированию текстового файла. Например есть файл Attribute.txt в котором записано следующее: Сила = 70; Ловкость = 50; Жизнь = 100; Мана = 90; Умение пользоваться магией = True; Теперь нужно написать программку в которой есть поля TEdit, в эти поля будут вводиться новые значения атрибутов. Теперь вопрос: как сделать так чтобы при введении новых значений атрибутов программа открывала данный файл и вставляла куда надо новые значение (то есть меняла только все то что с правой стороны после знака '='). Второй вопрос: как добавить новую строку с новыми данными между строками 'Сила = 70;' и 'Ловкость = 50;'. |
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Переименовываешь файл, например, Attribute_old.txt, создаешь новый Attribute.txt, читаешь из старого строки, меняешь что надо и пишешь в новый, удаляешь старый.
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 18
|
![]()
Спасибо, но нельзя ли подробней об операции считывания из файла, и каким образом будут меняться те элементы что нада, то есть сами цифры и значение True.
|
![]() |
![]() |
![]() |
#4 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Откройте любую книжку по Паскалю или Дельфи, вот основные процедуры и функции
Код:
Последний раз редактировалось _Dmitry; 17.02.2008 в 16:50. |
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 18
|
![]()
Возможно я неправильно поставил вопрос но ситуация следующая
Читаем строки из файла с помощью TStringList и получим что-то типа массива где Strings[i] будет содержать в себе строки файла. Допустим Strings[0] содержит в себа строку 'Сила = 70;'. Потом какойто переменной х присваиваем значение с TEdit, то есть x:=Edit1.Text; Далее как сделать так чтобы эта переменная х заменила значение 70 в Strings[0]; |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 13.10.2007
Сообщений: 2,740
|
![]()
Например Strings[0] :='Сила ='+Edit1.Text;
|
![]() |
![]() |
![]() |
#7 |
Android Developer
Старожил Подтвердите свой е-майл
Регистрация: 19.02.2007
Сообщений: 3,708
|
![]()
Зачем это все... формат записи данных типа "Параметр=Значение" напоминает мне ini файлы... Но вы уже выдумали типа "Сила=.."
|
![]() |
![]() |
![]() |
#8 |
Пользователь
Регистрация: 17.02.2008
Сообщений: 18
|
![]()
Оно правильно, но в том случае если мы пишем типа
string[0]:='Сила = '; string[1]:='Ловкость = '; string[2]:='Жизнь = '; ................ string[n]:='Мана = '; в самой программе, а я имею ввиду, что есть файл ???.txt программа его читает и значения 70 присваивает одной переменной, значение 50 другой и т. д. для дальнейшей работы с ними. BOBAH13 еслибы все параметры, или данные хранились только в INI файлах, то я не просил бы о помощи. Последний раз редактировалось Starscream; 17.02.2008 в 19:36. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
![]()
Замена:
String[i]:=Copy(String[i],1, Pos('=',String[i])+1)+x; Чтение: x:=Copy(String[i],Pos('=',String[i])+1,Length(String[i])-Pos('=',String[i])); ЗЫ не проверял, но принцип таков
Помог? Ну так нажми на весы!
![]() |
![]() |
![]() |
![]() |
#10 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Открытие текстового файла | Victor | Microsoft Office Excel | 2 | 16.01.2008 03:42 |
Можно программно создать dll из текстового файла? | hamann-2006 | Помощь студентам | 2 | 29.10.2007 10:41 |
Печать текстового файла на сетевой принтер | VAbramyak | Общие вопросы Delphi | 3 | 06.04.2007 20:16 |