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

📄 unit1.cpp

📁 压缩算法测试程序(北理计算机系老浪字做)
💻 CPP
📖 第 1 页 / 共 2 页
字号:
            else
                if(Form1->RadioButton7->Checked)
                {
                        Form1->Hufdynamicglobal1->Sourcefile =Form1->Edit1->Text;
                        tempstr=Form1->Edit3->Text;
                        Hufdynamicglobal1->Step =tempstr.ToInt() ;
                        Hufdynamicglobal1->Destfile =Form1->Edit2->Text;;
                        gettime(&priocomp);
                        flag=Hufdynamicglobal1->compress();
                        gettime(&aftercomp);
                        scrfile = Hufdynamicglobal1->Sourcefile;
                        dstfile = Hufdynamicglobal1->Destfile;
                }
                else
                        if(Form1->RadioButton8->Checked)
                        {
                                Form1->Hufdynamicautosense1->Sourcefile =Form1->Edit1->Text;
                                Hufdynamicautosense1->Destfile =Form1->Edit2->Text;
                                tempstr=Form1->Edit3->Text;
                                Hufdynamicautosense1->Step =tempstr.ToInt() ;
                                gettime(&priocomp);
                                flag=Hufdynamicautosense1->compress();
                                gettime(&aftercomp);
                                scrfile = Hufdynamicautosense1->Sourcefile;
                                dstfile = Hufdynamicautosense1->Destfile;
                        }
                        else
                        if(Form1->RadioButton10->Checked)
                        {
                                Form1->Lzw1->Sourcefile =Form1->Edit1->Text;
                                Lzw1->Destfile =Form1->Edit2->Text;
                                gettime(&priocomp);
                                flag=Lzw1->compress();
                                gettime(&aftercomp);
                                scrfile = Lzw1->Sourcefile;
                                dstfile = Lzw1->Destfile;
                        }
                        else
                        {
                                Form1->Lz771->sourcefile =Form1->Edit1->Text;
                                Lz771->destfile =Form1->Edit2->Text;
                                gettime(&priocomp);
                                flag=Lz771->compress();
                                gettime(&aftercomp);
                                scrfile = Lz771->sourcefile;
                                dstfile = Lz771->destfile ;
                        }
        }
        if(flag)
        {
                int handle;
                this->RichEdit1->Lines->Add("源文件:"+scrfile);
                this->RichEdit1->Lines->Add("目标文件:"+dstfile);
                handle = open(scrfile.c_str(), O_RDONLY);
                scrlen=filelength(handle);
                close(handle);
                handle = open(dstfile.c_str(), O_RDONLY);
                dstlen=filelength(handle);
                close(handle);
                ratio=dstlen*100.0/scrlen;
                tempstr.printf("压缩比:%.2lf%%",ratio);
                this->RichEdit1->Lines->Add(tempstr);
                time_used=0;
                if (priocomp.ti_hour!=aftercomp.ti_hour)
                        time_used=time_used+((aftercomp.ti_hour-priocomp.ti_hour+12-1)%12)*60*60*100;
                if (priocomp.ti_min !=aftercomp.ti_min)
                        time_used=time_used+((aftercomp.ti_min-priocomp.ti_min +60-1)%60)*60*100;
                if (priocomp.ti_sec !=aftercomp.ti_sec)
                        time_used=time_used+((aftercomp.ti_sec -priocomp.ti_sec+60-1)%60)*100;
                time_used=time_used+((aftercomp.ti_hund -priocomp.ti_hund +100)%100);
                time_used=time_used*10;
                tempstr.printf("压缩用时:%ld豪秒",time_used);
                this->RichEdit1->Lines->Add(tempstr);
                ShowMessage("压缩成功!");
        }
        else
        {
                ShowMessage("压缩失败!操作取消!");
        }
    }
    else
    {
        if(!FileExists(Form1->Edit1->Text))
        {
                ShowMessage("源文件不存在!");
                return;
        }
        if(FileExists(Form1->Edit2->Text))
        {
                flag=Application->MessageBox("目标文件已存在!替换它吗?", "警告!",MB_OKCANCEL);
                if(flag==IDCANCEL)
                {
                        ShowMessage("操作取消!解压缩未完成!");
                        return;
                }
        }
        if(Form1->RadioButton3->Checked)
        {
            Form1->Lzss1->sourcefile =Form1->Edit1->Text;
            Lzss1->destfile =Form1->Edit2->Text;
            gettime(&priocomp);
            flag=Lzss1->uncompress();
            gettime(&aftercomp);
            scrfile = Lzss1->sourcefile;
            dstfile = Lzss1->destfile ;
        }
        else
        {
                if(Form1->RadioButton4->Checked)
                {
                        Form1->Hufctrl1->Sourcefile =Form1->Edit1->Text;
                        Hufctrl1->Destfile =Form1->Edit2->Text;
                        gettime(&priocomp);
                        flag=Hufctrl1->uncompress();
                        gettime(&aftercomp);
                        scrfile = Hufctrl1->Sourcefile;
                        dstfile = Hufctrl1->Destfile;
                }
                else
                        if(Form1->RadioButton7->Checked)
                        {
                                Form1->Hufdynamicglobal1->Sourcefile =Form1->Edit1->Text;
                                tempstr=Form1->Edit3->Text;
                                Hufdynamicglobal1->Step =tempstr.ToInt() ;
                                Hufdynamicglobal1->Destfile =Form1->Edit2->Text;;
                                gettime(&priocomp);
                                flag=Hufdynamicglobal1->uncompress();
                                gettime(&aftercomp);
                                scrfile = Hufdynamicglobal1->Sourcefile;
                                dstfile = Hufdynamicglobal1->Destfile;
                        }
                        else
                                if(Form1->RadioButton8->Checked)
                                {
                                        Form1->Hufdynamicautosense1->Sourcefile =Form1->Edit1->Text;
                                        Hufdynamicautosense1->Destfile =Form1->Edit2->Text;
                                        tempstr=Form1->Edit3->Text;
                                        Hufdynamicautosense1->Step =tempstr.ToInt() ;
                                        gettime(&priocomp);
                                        flag=Hufdynamicautosense1->uncompress();
                                        gettime(&aftercomp);
                                        scrfile = Hufdynamicautosense1->Sourcefile;
                                        dstfile = Hufdynamicautosense1->Destfile;
                                }
                                else
                                if(Form1->RadioButton10->Checked)
                                {
                                        Form1->Lzw1->Sourcefile =Form1->Edit1->Text;
                                        Lzw1->Destfile =Form1->Edit2->Text;
                                        gettime(&priocomp);
                                        flag=Lzw1->uncompress();
                                        gettime(&aftercomp);
                                        scrfile = Lzw1->Sourcefile;
                                        dstfile = Lzw1->Destfile;
                                }
                                else
                                {
                                        Form1->Lz771->sourcefile =Form1->Edit1->Text;
                                        Lz771->destfile =Form1->Edit2->Text;
                                        gettime(&priocomp);
                                        flag=Lz771->uncompress();
                                        gettime(&aftercomp);
                                        scrfile = Lz771->sourcefile;
                                        dstfile = Lz771->destfile ;
                                }
        }
        if(flag)
        {
                this->RichEdit1->Lines->Add("源文件:"+scrfile);
                this->RichEdit1->Lines->Add("目标文件:"+dstfile);
                time_used=0;
                if (priocomp.ti_hour!=aftercomp.ti_hour)
                        time_used=time_used+((aftercomp.ti_hour-priocomp.ti_hour+12-1)%12)*60*60*100;
                if (priocomp.ti_min !=aftercomp.ti_min)
                        time_used=time_used+((aftercomp.ti_min-priocomp.ti_min +60-1)%60)*60*100;
                if (priocomp.ti_sec !=aftercomp.ti_sec)
                        time_used=time_used+((aftercomp.ti_sec -priocomp.ti_sec+60-1)%60)*100;
                time_used=time_used+((aftercomp.ti_hund -priocomp.ti_hund +100)%100);
                time_used=time_used*10;
                tempstr.printf("解压缩用时:%ld豪秒",time_used);
                this->RichEdit1->Lines->Add(tempstr);
                ShowMessage("解压缩成功!");
        }
        else
        {
                ShowMessage("解压缩失败!操作取消!");
        }
    }
}
//---------------------------------------------------------------------------

⌨️ 快捷键说明

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