用BCB读写文本文件及ini配置文件

来源:互联网 发布:matlab取数组最大值 编辑:程序博客网 时间:2024/06/05 21:13

在头文件中加上#include "IniFiles.hpp"
//读写文本文件
//--写入文本文件
//----------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char dir[MAX_PATH];
char *tfile = "/nei.txt";
//将程序现在目录所在输入此字符数组
::GetCurrentDirectory(MAX_PATH,dir);
//将现在目录加上指定文件名
strcat(dir,tfile);
//打开文本文件获得handle
HANDLE hFile = ::CreateFile(dir,
                            GENERIC_WRITE,
                            FILE_SHARE_READ,
                            NULL,
                            OPEN_EXISTING,
                            FILE_ATTRIBUTE_NORMAL,
                            NULL);
if (hFile==INVALID_HANDLE_VALUE)
{
  ShowMessage("无法打开新文件");
  return;
}
DWORD BytesWritten;
char theText[MAX_PATH]="你想往文本文件中写入的内容!";
//将theText数组的内容写入程序目录下的nei.txt文件中
if (::WriteFile(hFile,theText,sizeof(theText),&BytesWritten,NULL)||sizeof(theText)==BytesWritten)
{
  ShowMessage("写入文件成功!");
}
::CloseHandle(hFile);
}
//-------------------------------------------------------
//读写ini配置文件实例
//读取ini文件的内容
//-------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{
Label2->Caption = "服务器名: ";
Label3->Caption = "数据库名: ";
Label4->Caption = "用户名: ";
Label5->Caption = "密码: ";
//----获取运行程序的目录开始
char dir[MAX_PATH];
char *tfile = "/Config.ini";
//将程序现在目录所在输入此字符数组
::GetCurrentDirectory(MAX_PATH,dir);
//将现在目录加上指定文件名
strcat(dir,tfile);
//----获取运行程序的目录结束
TIniFile  *ini = new TIniFile(dir);
try
{
  Edit1->Text = ini->ReadString("database","servername","缺省值");
  Edit2->Text = ini->ReadString("database","databasename",100);
  Edit3->Text = ini->ReadString("database","UserID",100);
  Edit4->Text = ini->ReadInteger("database","Password",100);
}
catch(...)
{
  MessageBox(Application->Handle,"读取配置文件config.ini失败!","信息提示!",MB_OK+MB_ICONINFORMATION+MB_SYSTEMMODAL);
  delete ini;
}
delete ini;
}
//-----------------------------------------------------
//向ini文件中写入数据
//-----------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
char dir[MAX_PATH];
char *tfile = "/Config.ini";
//将程序现在目录所在输入此字符数组
::GetCurrentDirectory(MAX_PATH,dir);
//将现在目录加上指定文件名
strcat(dir,tfile);
TIniFile  *ini = new TIniFile(dir);
try
  {
    ini->WriteString("DataBase","ServerName",Edit1->Text);
    ini->WriteString("DataBase","DataBaseName",Edit2->Text);
    ini->WriteString("DataBase","UserID",Edit3->Text);
    if ((Trim(Edit4->Text)== "")||(Edit4->Text == NULL))
    {
      ini->WriteInteger("DataBase","Password",NULL);
    }
    else
    {
      ini->WriteInteger("DataBase","Password",StrToInt(Edit4->Text));
    }
    ShowMessage("写入文件成功!");
  }
catch(...)
  {
    Application->MessageBoxA("写入配置文件config.ini失败!",NULL,MB_OK+16);
    delete ini;
    exit(-1);
  }
delete ini;
}
//----------------------------------------------------

原创粉丝点击