Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Добавление записи в фаил [D7, XP]


The sound ©   (2005-10-06 12:40:00) 

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. Консолевое приложение.


Джо   (2005-10-08 03:39:00) [1]


>  [12] The Sound   (08.10.05 03:34)

В блоке finally нужно удалить экземпляр объекта. Т.е,
... // тут создаем объект
try
 ... // тут с ним работаем
finally
 Free; // тут его убиваем
end;


The Sound   (2005-10-08 03:34:00) [2]

Всё, разобрался, в том коде, было слишком много для меня лишнего.
Вот, так оставил, вроде норм работает. Спасибо за помошь.

with TStringList.Create do
try
 LoadFromFile('G:\log);
 Add(wif);
 SaveToFile('G:\log');
finally
end


The Sound   (2005-10-08 03:11:00) [3]

2Джо ©,
это просто часть кода, не моя.
Я не  знаю, каким оператором, добавить в фаил значение переменной.


Джо   (2005-10-08 00:37:00) [4]


> А каким образом делать запись в фаил?

Ну сам же и написал: SaveToFile('C:\MyFile.txt')


The Sound   (2005-10-08 00:16:00) [5]

Вот нашёл:

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:00) [6]

Вот нашёл:

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.

А каким образом делать запись в фаил?


Anatoly Podgoretsky   (2005-10-06 13:59:00) [7]

TStringList.Create


The Sound   (2005-10-06 13:46:00) [8]

Разве в консолевом приложении возможно реализовать TStringList?
Можно пример, на основе моей программы?


Anatoly Podgoretsky   (2005-10-06 13:24:00) [9]

The Sound   (06.10.05 13:16) [3]
Тебя что то пугает?


Плохиш   (2005-10-06 13:19:00) [10]


> Я бы с удавольствием использовал TStringList, но приложение
> консолевое.

И чего?


The Sound   (2005-10-06 13:16:00) [11]

2Silver... ©
Спасибо, но...
[Error] Project1.dpr(36): Incompatible types
=(

2Anatoly Podgoretsky ©
Я бы с удавольствием использовал TStringList, но приложение консолевое.


Anatoly Podgoretsky   (2005-10-06 13:02:00) [12]

Надо считывать все строки в цикле, а не одну. А так как у тебя текстовый файл, судя по коду, то может стоит отказаться от текстовых файлов, а использовать TStringList, там этот процесс автоматизирован.


Silver...   (2005-10-06 12:54:00) [13]

1.FileSize
2.Seek

По циклу от начала до конца и чтаем


> данные переменной wif добавлялись в верх файла

А с этим по сложне будет
1. Создаем "File2"
2. Пишем "wif"
3. Пишем всё остальное
4. Удаляем "File1"
5. Применяем RenameFaile

ибо в файле Нельзя Инсерировать


Наверх

Титульная страница Поиск, карта сайта Написать письмо