Главная страница
    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.47 MB
Время: 0.044 c
5-1107759708
h010d
2005-02-07 10:01
2005.10.30
TreeView с колонками


14-1128107818
Loginov Dmitry
2005-09-30 23:16
2005.10.30
Matrix. Оцените новую систему матричных вычислений для Delphi


14-1128946381
NewWonder
2005-10-10 16:13
2005.10.30
Визитка группы :(


1-1128684224
Viktop
2005-10-07 15:23
2005.10.30
Управление курсором


2-1128645090
beglec
2005-10-07 04:31
2005.10.30
Как запустить приложение без формы?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский