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

// создаем файл
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)
AnsiString FileName;
if(!FileExists(FileName)) ih=FileCreate(FileName);
else ih=FileOpen(FileName,fmOpenReadWrite);

 Владимир (03-04-2003 14:35:14)

// добавление в лог-файл в текстовом режиме
// если файла нет — создаем его
// если есть — снимаем с него атрибуты, записываем,
// после чего устанавливаем файлу атрибуты — "скрытый" и "только для чтения"
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)
Большое спасибо..