Форум: "Начинающим";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизДобавление записи в фаил Найти похожие ветки
← →
The sound (2005-10-06 12:40) [0]Hello. Сначало приведу часть кода:
<...>
VAR
regkey: integer;
f: TextFile;
d,t,wif,fd,fn: string;
Ch1 string;
<...>
wif :="["+IntToStr(regkey)"] ["+ d+ " ; "+ t+ "]";
AssignFile(f,"G:\log");
Reset(f);
Read(f, Ch1);
CloseFile(f);
Rewrite(f);
Writeln(f,wif);
Writeln(f,Ch1);
CloseFile(f);
<...>
Как видно из кода, программа открывает фаил для чтения, считывает из него 1ую строчку, заносит её в переменную Ch1. Закрывает фаил. Далее, программа открывает фаил для записи, и пишет в него значения переменных Ch1, и wif. Закрывает фаил.
Мне нужно, что бы при открытии файла, считывалась не только 1ая строчка, а весь фаил, и затем, данные переменной wif добавлялись в верх файла.
Подскажите, каким образом, это возможно реализовать? Спасибо.
P.S. Консолевое приложение.
← →
Silver... © (2005-10-06 12:54) [1]1.FileSize
2.Seek
По циклу от начала до конца и чтаем
> данные переменной wif добавлялись в верх файла
А с этим по сложне будет
1. Создаем "File2"
2. Пишем "wif"
3. Пишем всё остальное
4. Удаляем "File1"
5. ПрименяемRenameFaile
ибо в файле Нельзя Инсерировать
← →
Anatoly Podgoretsky © (2005-10-06 13:02) [2]Надо считывать все строки в цикле, а не одну. А так как у тебя текстовый файл, судя по коду, то может стоит отказаться от текстовых файлов, а использовать TStringList, там этот процесс автоматизирован.
← →
The Sound (2005-10-06 13:16) [3]2Silver... ©
Спасибо, но...
[Error] Project1.dpr(36): Incompatible types
=(
2Anatoly Podgoretsky ©
Я бы с удавольствием использовал TStringList, но приложение консолевое.
← →
Плохиш © (2005-10-06 13:19) [4]
> Я бы с удавольствием использовал TStringList, но приложение
> консолевое.
И чего?
← →
Anatoly Podgoretsky © (2005-10-06 13:24) [5]The Sound (06.10.05 13:16) [3]
Тебя что то пугает?
← →
The Sound (2005-10-06 13:46) [6]Разве в консолевом приложении возможно реализовать TStringList?
Можно пример, на основе моей программы?
← →
Anatoly Podgoretsky © (2005-10-06 13:59) [7]TStringList.Create
← →
The Sound (2005-10-08 00:16) [8]Вот нашёл:
var
S: string;
begin
with TStringList.Create do
try
LoadFromFile("C:\MyFile.txt");
if Count >= 3 then
begin
S := Strings[2];
if Length(S) > 0 then
begin
S[1] := "A";
SaveToFile("C:\MyFile.txt")
end
end
finally
Free
end
end.
А каким образом делать запись в фаил?
← →
The Sound (2005-10-08 00:16) [9]Вот нашёл:
var
S: string;
begin
with TStringList.Create do
try
LoadFromFile("C:\MyFile.txt");
if Count >= 3 then
begin
S := Strings[2];
if Length(S) > 0 then
begin
S[1] := "A";
SaveToFile("C:\MyFile.txt")
end
end
finally
Free
end
end.
А каким образом делать запись в фаил?
← →
Джо © (2005-10-08 00:37) [10]
> А каким образом делать запись в фаил?
Ну сам же и написал: SaveToFile("C:\MyFile.txt")
← →
The Sound (2005-10-08 03:11) [11]2Джо ©,
это просто часть кода, не моя.
Я не знаю, каким оператором, добавить в фаил значение переменной.
← →
The Sound (2005-10-08 03:34) [12]Всё, разобрался, в том коде, было слишком много для меня лишнего.
Вот, так оставил, вроде норм работает. Спасибо за помошь.
with TStringList.Create do
try
LoadFromFile("G:\log);
Add(wif);
SaveToFile("G:\log");
finally
end
← →
Джо © (2005-10-08 03:39) [13]
> [12] The Sound (08.10.05 03:34)
В блоке finally нужно удалить экземпляр объекта. Т.е,
... // тут создаем объект
try
... // тут с ним работаем
finally
Free; // тут его убиваем
end;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c