⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp.bak

📁 阿尔卡特MSC维护工程师的福音:该软件可以实现交换机话单文件的自动备份,根据个人设定时间每日定时以FTP方式到USBS服务器上下载文件.软件运行后有详细使用说明.编译环境CB6.0
💻 BAK
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "IniFiles.hpp"

#include "MainFrm.h"
#include "Para.h"
#include "var.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainForm *MainForm;
//---------------------------------------------------------------------------
__fastcall TMainForm::TMainForm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TMainForm::Exit1Click(TObject *Sender)
{
    Application->Terminate();        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormResize(TObject *Sender)
{
    if (MainForm->Width > 629)
    {
        StatusBar1->Width=MainForm->Width - 8;
        LogMemo->Width=MainForm->Width -8 ;
    }
    else
    {
        MainForm->Width = 629;
        StatusBar1->Width=MainForm->Width - 8;
        LogMemo->Width=MainForm->Width - 8;
    }

    if (MainForm->Height > 441)
    {
        LogMemo->Height=MainForm->Height - 65;
       // StatusBar1->Top=MainForm->Height - 46;
    }
    else
    {
        MainForm->Height=441;
        LogMemo->Height=MainForm->Height - 65;
       // StatusBar1->Top=MainForm->Height - 46;
    }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FormCreate(TObject *Sender)
{
    SendMessage(MainForm->Handle, WM_SYSCOMMAND, SC_MAXIMIZE,0);
    GetCurrentDirectory(150, SysDir);
    FtpOpened = false;
    TIniFile *ini;
    ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ));
    MyTimeSet = ini->ReadString("Download", "timeset", "0100");
    delete ini;
    //LogMemo->Lines->Add(MyTimeSet);
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::FtpLogin1Click(TObject *Sender)
{
    ParaForm->Show();        
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::LoginFtp1Click(TObject *Sender)
{
    TIniFile *ini;
    ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ));
    IdFTP1->Host = ini->ReadString("FtpServer", "ip", "130.34.76.34");
    IdFTP1->User = ini->ReadString("FtpServer", "user", "bill_ftp");
    IdFTP1->Password = ini->ReadString("FtpServer", "pass", "bill_ftp");
    IdFTP1->Port = ini->ReadInteger("FtpServer", "port", 21);

    ChDir(SysDir);

    if(!FtpOpened)
    {
        IdFTP1->Connect();
        FtpOpened = true;
        LogMemo->Lines->Add("Ftp Server has been successfully connected!");
        IdFTP1->ChangeDir(ini->ReadString("FtpServer", "remotedir", "/var/nse/mnt/secure_serveur/CDB/buffer/dbill/"));
    }
    else
    {
        LogMemo->Lines->Add("Ftp Server has been connecting!");
    }

    delete ini;

}
//---------------------------------------------------------------------------
void __fastcall TMainForm::SaveLog1Click(TObject *Sender)
{
    if(FtpOpened)
    {
        IdFTP1->Disconnect();
        FtpOpened = false;
        LogMemo->Lines->Add("Ftp Server has been successfully disconnected!");
    }
    else
    {
        LogMemo->Lines->Add("Ftp Server has not been connected!");
    }
}
//---------------------------------------------------------------------------
void __fastcall TMainForm::Timer1Timer(TObject *Sender)
{
    AnsiString   filename_sub,filelabel;
    int filelng;
    filename_sub = FormatDateTime("yyyy.mm.dd",Date()-1);

    if(FormatDateTime("hhmm", Now()) == MyTimeSet)
    {
        MainForm->LoginFtp1->Enabled = false;
        MainForm->SaveLog1->Enabled = false;
        AnsiString filename;
        TIniFile *ini;
        ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ));
        IdFTP1->Host = ini->ReadString("FtpServer", "ip", "130.34.76.34");
        IdFTP1->User = ini->ReadString("FtpServer", "user", "bill_ftp");
        IdFTP1->Password = ini->ReadString("FtpServer", "pass", "bill_ftp");
        IdFTP1->Port = ini->ReadInteger("FtpServer", "port", 21);
        filelabel = ini->ReadString("Download", "startlabel", "AT");
        filelng = ini->ReadInteger("Download", "filenamelength", 24);
        LocDir = ini->ReadString("FtpServer", "localdir", SysDir);

        if(!FtpOpened)
        {
            IdFTP1->Connect();
            FtpOpened = true;
            LogMemo->Lines->Add("Ftp Server has been successfully connected!");
            LogMemo->Lines->Add("Auto backup started,file list following!");
            IdFTP1->ChangeDir(ini->ReadString("FtpServer", "remotedir", "/var/nse/mnt/secure_serveur/CDB/buffer/dbill/"));
        }
        else
        {
            LogMemo->Lines->Add("Ftp Server has been connecting!");
            LogMemo->Lines->Add("Auto backup started,file list following!");
        }
        
        delete ini;
        
        ChDir(LocDir);
        TStringList *list = new TStringList;
        IdFTP1->List(list, "", true);
        for(int i=0; i<list->Count; i++)
        {
            filename = ExtractFileName(list->Strings[i]);
            //LogMemo->Lines->Add(filename);
            if(AnsiPos(filename_sub, filename) != 0)
            {
                AnsiString tmpname;
                tmpname = filename.SubString(AnsiPos(filelabel, filename),filelng);
                IdFTP1->Get(tmpname, tmpname, true);
                LogMemo->Lines->Add("Has completed backup file:   " + tmpname);
                Application->ProcessMessages();
            }
        }
        StatusBar1->Panels->Items[1]->Text = "Has completed backup all" + filename_sub + "'s billing files";
        delete list;
        MainForm->LoginFtp1->Enabled = true;
        MainForm->SaveLog1->Enabled = true;
        if(FtpOpened)
        {
            IdFTP1->Disconnect();
            FtpOpened = false;
            LogMemo->Lines->Add("Ftp Server has been successfully disconnected!");
        }
    }

    if(FormatDateTime("hhmm", Now()) == "2359")
    {
        LogMemo->Lines->SaveToFile(filename_sub + ".log");
        LogMemo->Lines->Clear();
        LogMemo->Lines->Add("The new day started!!!");
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -