Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.30;
Скачать: CL | DM;

Вниз

Добавление записи в фаил   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.031 c
2-1128933624
qwerty2K3
2005-10-10 12:40
2005.10.30
Как программно отправить по сети - net send "привет!" ?


2-1128425114
Ugrael
2005-10-04 15:25
2005.10.30
форматы дат


14-1128662254
syte_ser78
2005-10-07 09:17
2005.10.30
аналог Автосхемы


2-1128877527
дендроид
2005-10-09 21:05
2005.10.30
как извлечь корень n-ной степени?


1-1128537033
Aleksey
2005-10-05 22:30
2005.10.30
Динамическая работа с frame ами