Форум - Ответы     (  К темам )
 ?  Sergey: Как создать текстовой файл и периодически писать в него информацию ?? (03-04-2003 09:46:17)
Как создать через программу простой текстовой файл и периодически писать в него информацию ??
 Владимир (03-04-2003 14:15:36) http://cbuilder.ru


// создаем файл
void __fastcall TForm1::Button1Click(TObject *Sender)
{
      int ih = FileCreate("с:\\myFile.txt");
      AnsiString  s = "Hello\n";   s = AdjustLineBreaks(s);
      FileWrite(ih,s.c_str(),strlen(s.c_str()));
      FileClose(ih);
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
       int ih = FileOpen("c:\\myFile.txt",fmOpenReadWrite); // открываем
       FileSeek(ih,0,2);  // встаем на конец файла
       AnsiString  s = "Add in file in text mode\n";
       s = AdjustLineBreaks(s); // вставляем перевод строки
       for(int i=0; i<10; i++)
           FileWrite(ih,s.c_str(),strlen(s.c_str()));  // пишем
       FileClose(ih);
}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)
{
       int ih = FileOpen("c:\\myFile.txt",fmOpenReadWrite); // открываем
       FileSeek(ih,0,2); // встаем на конец файла
       AnsiString  s = "Add in bin mode";
       for(int i=0; i<10; i++)
           FileWrite(ih,s.c_str(),strlen(s.c_str()));
       FileClose(ih);
}
//-------------------------------------------------------



Также создавать файл и писать в него информацию могут некоторые компоненты:

Memo1->Lines->SaveToFile("myFile.txt");
RichEdit1->Lines->SaveToFile("myFile.txt");
ListBox1->Items->SaveToFile("myFile.txt");

На форуме смотрите и другие примеры (найдите по поиску по форуму, они есть)


 Владимир (03-04-2003 14:22:58) http://cbuilder.ru
 AnsiString FileName;
 if(!FileExists(FileName)) ih=FileCreate(FileName);
                      else ih=FileOpen(FileName,fmOpenReadWrite);

 Владимир (03-04-2003 14:35:14) http://cbuilder.ru

// добавление в лог-файл в текстовом режиме
// если файла нет - создаем его
// если есть - снимаем с него атрибуты, записываем,
// после чего устанавливаем файлу атрибуты - "скрытый" и "только для чтения"
void __fastcall Write_fileLog(AnsiString s)
{
    int ih;
    AnsiString fileLog = Edit1->Text; // имя файла и полный путь к нему

    if(!FileExists(fileLog)) ih = FileCreate(fileLog);
      else {
        FileSetAttr(fileLog,0); // снять все атрибуты с файла
        ih = FileOpen(fileLog,fmOpenReadWrite);
        FileSeek(ih,0,2);
           }

    s = AdjustLineBreaks(s);
    FileWrite(ih,s.c_str(),strlen(s.c_str()));
    FileClose(ih);
    // установить для файла атрибуты: скрытый и только для чтения
    FileSetAttr(fileLog,faHidden|faReadOnly);
}
//---------------------------------

 Sergey (05-04-2003 09:52:23)
Большое спасибо..


support@cbuilder.ru