Текущий архив: 2002.06.06;
Скачать: CL | DM;
Вниз
Вопрос по INI файлам, как записать и считать Memo1.Text Найти похожие ветки
← →
Yuraz (2002-05-23 15:50) [0]туда и обратно? Сейчас пишется всё мемо, а вот считывается только первая строка... Вот кусок ини файла, и как пишу, читаю.
...
Memo1.Text:= IniFile.ReadString ("data", "txt1", Memo1.Text); //читаем
...
IniFile.WriteString ("data", "txt1", Memo1.Text); //пишем
... сам ини файл
[data]
txt1=Работа с сетью
Работа с компьютерами
Работа с проводами
Работа с прокладкой кабелей
Работа с наладкой ОС
Работа с почтой
...
← →
Cossys (2002-05-23 15:57) [1]Сорри, разве не проще Memo1.Lines.SaveToFile,
Memo1.Lines.LoadFromFile
← →
Yuraz (2002-05-23 16:00) [2]Так проще, можно легко так сделать по выходу из программы, но ini файл как то по стандарту для этого и положен, хотелось бы туда и запихать весь текст.
← →
PVOzerski (2002-05-23 16:02) [3]Ини-файл должен бы содержать в себе нечто такое:
[txt1]
line1=Работа с сетью
line2=Работа с компьютерами
и т.д. И читать каждую строку отдельно. Иначе можно, только если суммарная длина строк,
с учетом переводов строки (последнее делим на 2) не превышает лимита длины строки в
ini-файле (если бы я его ещё помнил...). Тогда можно заменить в тексте временно все #13#10 на
какой-то заведомо не используемый, но формально допустимый в ini-файле символ и хранить
в таком виде.
← →
Anatoly Podgoretsky (2002-05-23 16:03) [4]ini файл по стандарту не предназначен для хранения текста, а предназначен для хранения настроек в формате параметр=значение
← →
Cossys (2002-05-23 16:06) [5]Насколько я знаю, считка INI-файла идет по строкам, то есть вторую строку надо уже писать в txt2... Попробуйте через динамический массив записывать строки...
← →
VID (2002-05-23 17:54) [6]В-общем так:
//Запись в файл:
Var I:Integer;
Begin
IF memo1.lines.count =0 then exit;
Ini:=TIniFile.Create(...);
IniFile.EraseSection ("memo1_lines");
for i:=0 to memo1.lines.count - 1 do
ini.writestring("memo1_lines", "line_"+inttostr(i), memo1.lines.strings[i]);
//Чтение и файла
Memo1.lines.clear;
Ini.ReadSectionValues ("memo1_lines", memo1.lines);
// В методе ReadSectionValues тоже не всё просто, так как он вызывает метод ReadSection, с которым могут возникнуть некоторые проблемы (нехвата выделенного размера буффера). Короче, если что - пиши, подскажу...
Ini.Free;
end;
Страницы: 1 вся ветка
Текущий архив: 2002.06.06;
Скачать: CL | DM;
Память: 0.45 MB
Время: 0.006 c