home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 March / Chip_2002-03_cd1.bin / zkuste / delphi / kompon / d5 / cak / CAKINST.ZIP / cmarc139.lzh / DEMOCB.LZH / DEMOCBF.CPP < prev    next >
Encoding:
C/C++ Source or Header  |  2001-08-11  |  15.2 KB  |  361 lines

  1. //---------------------------------------------------------------------------
  2. #include <vcl.h>
  3. #include <typeinfo.h>
  4. #pragma hdrstop
  5.  
  6. #include "LHPRGDLG.hpp"
  7. #include "DEMOCBF.h"
  8.  
  9. //---------------------------------------------------------------------------
  10. #pragma package( smart_init )
  11. #pragma link "ARCHIVES"
  12. #pragma resource "*.dfm"
  13. TfrmDemoCB *frmDemoCB;
  14. //---------------------------------------------------------------------------
  15.  
  16. const
  17.     AnsiString    ArchiveFileName = "test.lzh";
  18.  
  19. inline char* PChar( AnsiString S ){
  20.     return S.c_str();
  21. }
  22. inline AnsiString __fastcall IntToHex( unsigned value,int digits ){
  23.     return IntToHex( int( value ),digits );
  24. }
  25.  
  26. //---------------------------------------------------------------------------
  27. __fastcall TfrmDemoCB::TfrmDemoCB( TComponent* Owner ):TForm( Owner ){
  28. }
  29. //---------------------------------------------------------------------------
  30. void __fastcall TfrmDemoCB::FormShow( TObject* Sender ){
  31.     Application->HintPause     = 500;
  32.     Application->HintHidePause = 9999;
  33. }
  34. //---------------------------------------------------------------------------
  35. void __fastcall TfrmDemoCB::Button01Click( TObject* Sender ){
  36.     //    âtâ@âCâïé¬è∙é╔éáé┴é╜éτìφÅ£é╡é─é¿é¡
  37.     //    âfâéé╚é╠é┼Åφé╔ê│Åkô«ì∞é≡é│é╣éΘé╜é▀
  38.     if( FileExists( ArchiveFileName ))    DeleteFile( ArchiveFileName );
  39.  
  40.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  41.     try {
  42.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  43.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é╜é╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  44. //        ArchiveFile->ArchiverType = atLha;        // ÄwÆΦé╖éΘÅΩìçé═é▒é±é╚òùé╔üB
  45.  
  46.         //    âIâvâVâçâôÄwÆΦé╠ùß
  47.         ArchiveFile->Options->x   = 1;            // âfâBâîâNâgâèÅεò±é≡ïLÿ^  LHA é╠ -x1 âIâvâVâçâôé╔æèôû
  48.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  49.         ArchiveFile->OutputSize   = 8192;         // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  50.  
  51.         if( !CheckBox1->Checked ){                // îoë▀ö±ò\ĪÄwÆΦé╚é╡üH
  52.             ArchiveFile->Options->n = 1;
  53.         }
  54.         if( CheckBox2->Checked ){                 // îoë▀âCâxâôâgé≡ùLî°é╔é╖éΘ
  55.             ArchiveFile->OnProgress = ArchiveFileProgress;
  56.         }
  57.  
  58.         int cond;
  59.         //    âtâ@âCâïê│Åké≡Ä└ìs
  60.         //    ÄwÆΦò√û@éPüFâtâ@âCâïÉöé¬Å¡é╚éóÅΩìçé╚é╟é╔Ägùp
  61.         if( CheckBox3->Checked ){                 // ô╞Ä⌐â_âCâAâìâOò\ĪéáéΦüH
  62.             cond = dlgArchiverProgress->PackFiles( ArchiveFile,NULL,"",OPENARRAY( TVarRec,( "*.PAS","*.TXT","TEST\\*.*" )));
  63.         }else{
  64.             cond = ArchiveFile->PackFiles( Handle,NULL,"",OPENARRAY( TVarRec,( "*.PAS","*.TXT","TEST\\*.*" )));
  65.         }                                                        // éRé┬é▀é╠âIâvâVâçâôé═èεÅÇâfâBâîâNâgâè
  66.  
  67. //        //    ÄwÆΦò√û@éQüFâtâ@âCâïÉöé¬æ╜éóÅΩìçé╚é╟é╔Ägùp
  68. //        char*    FileList[] = { "*.PAS","*.TXT","TEST\\*.*",NULL };
  69. //        int    cond = ArchiveFile->PackFiles( Handle,NULL,"",OPENARRAY( TVarRec,( FileList )));
  70.  
  71.         //    Ä└ìsîïë╩é≡ò\Ī
  72.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  73.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  74.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  75.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  76.     }
  77.     __finally{
  78.         ArchiveFile->Free();
  79.     }
  80. }
  81. //---------------------------------------------------------------------------
  82. void __fastcall TfrmDemoCB::Button02Click( TObject* Sender ){
  83.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  84.     try{
  85.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  86.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  87.         if(( ArchiveFile->CheckArchive( CHECKARCHIVE_FULLCRC,0 ) & 0x7FFF ) != 0 ){
  88.             Application->MessageBox( "Åæî╔é═É│Åφé┼é╖üB","Åæî╔â`âFâbâN",MB_OK+MB_ICONINFORMATION );
  89.         }else{
  90.             Application->MessageBox( "òsÉ│é╚Åæî╔é┼é╖üB","Åæî╔â`âFâbâN",MB_OK+MB_ICONEXCLAMATION );
  91.         }
  92.     }__finally{
  93.         ArchiveFile->Free();
  94.     }
  95. }
  96. //---------------------------------------------------------------------------
  97. void __fastcall TfrmDemoCB::Button03Click( TObject* Sender ){
  98.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  99.     try{
  100.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  101.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  102.  
  103.         //    âIâvâVâçâôÄwÆΦé╠ùß
  104.         ArchiveFile->Options->x   = 1;            // âfâBâîâNâgâèôWèJéáéΦ
  105.         //                                        // âfâBâîâNâgâèÅεò±é≡ïLÿ^  LHA é╠ -x1 âIâvâVâçâôé╔æèôû
  106.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  107.         ArchiveFile->Options->jse = 1;            // ôWèJÄ₧é╠ÅπÅæé½âIü[âvâôôÖé╠Ä╕ösé≡âGâëü[é╞é╖éΘ
  108.         ArchiveFile->OutputSize   = 8192;         // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  109.  
  110.         if( !CheckBox1->Checked ){                // îoë▀ö±ò\ĪÄwÆΦé╚é╡üH
  111.             ArchiveFile->Options->n = 1;
  112.         }
  113.  
  114.         if( CheckBox2->Checked ){                 // îoë▀âCâxâôâgé≡ùLî°é╔é╖éΘ
  115.             ArchiveFile->OnProgress = ArchiveFileProgress;
  116.         }
  117.  
  118.         int    cond;
  119.         //    âtâ@âCâïôWèJé≡Ä└ìs
  120.         //    FileList é╔ NULL é≡ÄwÆΦé╖éΘé╠é┼é╖é╫é─é╠âtâ@âCâïé≡ôWèJ
  121.         if( CheckBox3->Checked ){                  // ô╞Ä⌐â_âCâAâìâOò\ĪéáéΦüH
  122.             cond = dlgArchiverProgress->UnpackFiles( ArchiveFile,NULL,"TEST\\",OPENARRAY( TVarRec,( NULL )));
  123.         }else{
  124.             cond = ArchiveFile->UnpackFiles( Handle,NULL,"TEST\\",OPENARRAY( TVarRec,( NULL )));
  125.         }
  126.  
  127.         //    Ä└ìsîïë╩é≡ò\Ī
  128.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  129.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  130.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  131.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  132.     }__finally{
  133.         ArchiveFile->Free();
  134.     }
  135. }
  136. //---------------------------------------------------------------------------
  137. void __fastcall TfrmDemoCB::Button04Click( TObject* Sender ){
  138.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  139.     TStringList*     FileList    = new TStringList;
  140.     try{
  141.         //    ListBox1 é╠æIæ≡é│éΩé─éóéΘéαé╠é╛é»é≡
  142.         //    ìφÅ£æ╬Å█é╠âtâ@âCâïû╝é≡ FileList é╔ôoÿ^
  143.         for( int i=0 ; i < ListBox1->Items->Count ; i++ ){
  144.             if( ListBox1->Selected[i] ){
  145.                 FileList->Add( ListBox1->Items->Strings[i] );
  146.             }
  147.         }
  148.  
  149.         if( !CheckBox1->Checked ){                // îoë▀ö±ò\Īé╔é╖éΘ
  150.             ArchiveFile->Options->n = 1;
  151.         }
  152.         if( CheckBox2->Checked ){                 // îoë▀âCâxâôâgé≡ùLî°é╔é╖éΘ
  153.             ArchiveFile->OnProgress = ArchiveFileProgress;
  154.         }
  155.  
  156.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  157.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é╜é╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  158.     //    ArchiveFile->ArchiverType = atLha;        // ÄwÆΦé╖éΘÅΩìçé═é▒é±é╚òùé╔üB
  159.  
  160.         //    âIâvâVâçâôÄwÆΦé╠ùß
  161.         ArchiveFile->Options->x   = 1;            // âfâBâîâNâgâèÅεò±é≡ïLÿ^  LHA é╠ -x1 âIâvâVâçâôé╔æèôû
  162.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  163.         ArchiveFile->OutputSize   = 8192;         // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  164.  
  165.         int cond;
  166.         //    Åæî╔ôαâtâ@âCâïìφÅ£é≡Ä└ìs
  167.         if( CheckBox3->Checked ){                 // ô╞Ä⌐â_âCâAâìâOò\ĪéáéΦüH
  168.             cond = dlgArchiverProgress->RemoveItems( ArchiveFile,NULL,"",OPENARRAY( TVarRec,( FileList )));
  169.         }else{
  170.             cond = ArchiveFile->RemoveItems( Handle,NULL,"",OPENARRAY( TVarRec,( FileList )));
  171.         }
  172.         //    Ä└ìsîïë╩é≡ò\Ī
  173.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  174.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  175.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  176.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  177.     }__finally{
  178.         ArchiveFile->Free();
  179.         FileList->Free();
  180.     }
  181. }
  182. //---------------------------------------------------------------------------
  183. void __fastcall TfrmDemoCB::Button05Click( TObject* Sender ){
  184.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  185.     try{
  186.         // Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  187.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  188.         
  189.         // âIâvâVâçâôÄwÆΦé╠ùß
  190.         ArchiveFile->OutputSize = 8192;           // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  191.         if( !CheckBox1->Checked ){
  192.             ArchiveFile->Options->n = 1;          // îoë▀ö±ò\Īé╔é╖éΘ
  193.         }
  194.         
  195.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  196.         
  197.         // Åæî╔ôαâtâ@âCâïé╠ìXÉVé≡Ä└ìs
  198.         // FileList é╔ NULL é≡ÄwÆΦé╖éΘé╠é┼é╖é╫é─é╠âtâ@âCâïé≡ìXÉV
  199.         int cond = ArchiveFile->UpdateArchive( Handle,NULL,"",OPENARRAY( TVarRec,( NULL )));
  200.         //                                        // éRé┬é▀é╠âIâvâVâçâôé═èεÅÇâfâBâîâNâgâè
  201.         
  202.         //    Ä└ìsîïë╩é≡ò\Ī
  203.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  204.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  205.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  206.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  207.     }__finally{
  208.         ArchiveFile->Free();
  209.     }
  210. }
  211. //---------------------------------------------------------------------------
  212. void __fastcall TfrmDemoCB::Button06Click( TObject* Sender ){
  213.     TArchiveFile*    ArchiveFile = new TArchiveFile( NULL );
  214.     ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  215.     ListBox1->Items->Clear();    //    âèâXâgâ{âbâNâXé≡âNâèâA
  216.  
  217.     TIndivisualInfo    IndivisualInfo;    //    Åæî╔ôαìÇû┌Åεò±
  218.     ArchiveFile->FindOpen( Handle,0 );
  219.     int done = ArchiveFile->FindFirst( "*.*",IndivisualInfo );
  220.     while( done==0 ){
  221. //        ListBox1->Items->Add( FormatDateTime( "yy-mm-dd hh:mm:ss ",DosDateTimeToDateTime( IndivisualInfo->wDate,IndivisualInfo->wTime ))+ IndivisualInfo->szFileName );
  222.         ListBox1->Items->Add( IndivisualInfo.szFileName );
  223.         done = ArchiveFile->FindNext( IndivisualInfo );
  224.     }
  225.     ArchiveFile->FindClose();
  226.     ArchiveFile->Free();
  227. }
  228. //---------------------------------------------------------------------------
  229. void __fastcall TfrmDemoCB::Button07Click( TObject* Sender ){
  230.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  231.     try{
  232.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  233.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  234.  
  235.         //    âIâvâVâçâôÄwÆΦé╠ùß
  236.         ArchiveFile->Options->x   = 1;            // âfâBâîâNâgâèÅεò±é≡Äcé╖
  237.     //    ArchiveFile->Options->jw  = 3;            // WinSFXM î`Ä«é≡ÄwÆΦ
  238.         ArchiveFile->Options->gw  = 3;            // WinSFX32M î`Ä«é≡ÄwÆΦ
  239.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  240.         ArchiveFile->OutputSize   = 8192;         // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  241.  
  242.         if( !CheckBox1->Checked ){
  243.             ArchiveFile->Options->n = 1;          // îoë▀ö±ò\Īé╔é╖éΘ
  244.         }
  245.  
  246.         int cond;
  247.         //    è∙æ╢é╠Åæî╔âtâ@âCâïé⌐éτÄ⌐î╚ë≡ôÇÅæî╔é≡É╢ɼ
  248.         if( CheckBox3->Checked ){                 // ô╞Ä⌐â_âCâAâìâOò\ĪéáéΦüH
  249.             cond = dlgArchiverProgress->MakeSfx( ArchiveFile,NULL,"" );
  250.         }else{
  251.             cond = ArchiveFile->MakeSfx( Handle,NULL,"" );
  252.         }    //                                     // éRé┬é▀é╠âIâvâVâçâôé═èεÅÇâfâBâîâNâgâè
  253.  
  254.         //    Ä└ìsîïë╩é≡ò\Ī
  255.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  256.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  257.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  258.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  259.     }__finally{
  260.         ArchiveFile->Free();
  261.     }
  262. }
  263. //---------------------------------------------------------------------------
  264. void __fastcall TfrmDemoCB::Button08Click( TObject* Sender ){
  265.     TArchiveFile*    ArchiveFile = new TArchiveFile( this );
  266.     try{
  267.         //    Åæî╔âtâ@âCâïû╝é╠ÄwÆΦ
  268.         ArchiveFile->FileName = ArchiveFileName;  // ègÆúÄqé≡ÄwÆΦé╡é─éóéΘé╠é┼âAü[âJâCâoé╠ÄwÆΦé═òsùv
  269.         ArchiveFile->Options->jso = 1;            // ïñùLâGâëü[é╠ÅΩìçé╔Åêù¥é≡æ▒ìs  LHA é╠ -jso1 âIâvâVâçâôé╔æèôû
  270.         ArchiveFile->OutputSize   = 8192;         // Åoù═âoâbâtâ@âTâCâYé≡ÄwÆΦ
  271.  
  272.         //    âIâvâVâçâôÄwÆΦé╠ùß
  273.         if( !CheckBox1->Checked ){                // îoë▀ö±ò\Īé╔é╖éΘ
  274.             ArchiveFile->Options->n = 1;
  275.         }
  276.         if( CheckBox2->Checked ){                 // îoë▀âCâxâôâgé≡ùLî°é╔é╖éΘ
  277.             ArchiveFile->OnProgress = ArchiveFileProgress;
  278.         }
  279.  
  280.         //    Åæî╔ôαâtâ@âCâïé╠ɵô¬ 300 âoâCâgé≡âüâéâèÅπé╔ôWèJ
  281.         AnsiString    Buffer;
  282.         DWORD            dwWriteSize;
  283.         int            cond;
  284.         Buffer.SetLength( 300 );
  285.         if( CheckBox3->Checked ){                 // ô╞Ä⌐â_âCâAâìâOò\ĪéáéΦüH
  286.             cond = dlgArchiverProgress->UnpackToMem( ArchiveFile,NULL,"ARCHIVES.PAS",::PChar( Buffer ),300,&dwWriteSize );
  287.         }else{
  288.             cond = ArchiveFile->UnpackToMem( Handle,NULL,"ARCHIVES.PAS",::PChar( Buffer ),300,&dwWriteSize );
  289.         }
  290.  
  291.         //    Ä└ìsîïë╩é≡ò\Ī
  292.         Edit1->Text = ArchiveFile->CmdLine;       // É╢ɼé╡é╜âRâ}âôâhâëâCâôé≡ò\Ī
  293.         Edit2->Text = IntToHex( cond,4 );         // û▀éΦÆlé≡ò\Ī
  294.         Memo1->Lines->SetText( ::PChar( ArchiveFile->Output ));
  295.         //                                        // Åoù═âoâbâtâ@é╠ôαùeé≡ò\Ī
  296.     }__finally{
  297.         ArchiveFile->Free();
  298.     }
  299. }
  300. //---------------------------------------------------------------------------
  301. void __fastcall TfrmDemoCB::Button09Click( TObject* Sender ){
  302.     Close();
  303. }
  304. //---------------------------------------------------------------------------
  305. void __fastcall TfrmDemoCB::Memo1DblClick( TObject* Sender ){
  306.     if( Sender->ClassNameIs( "TMemo" )){
  307.         (( TMemo* )( Sender ))->Lines->Clear();
  308.     }
  309.  
  310.     if( Sender->ClassNameIs( "TListBox" )){
  311.         (( TListBox* )( Sender ))->Items->Clear();
  312.     }
  313. }
  314. //---------------------------------------------------------------------------
  315. void __fastcall TfrmDemoCB::ArchiveFileProgress( TObject* Sender,int State,LPEXTRACTINGINFOEX lpEis,bool &Abort ){
  316.     ShowInfo( State,lpEis );
  317. }
  318. //---------------------------------------------------------------------------
  319. void __fastcall TfrmDemoCB::ShowInfo( UINT State,LPEXTRACTINGINFOEX lpEis ){
  320.     switch( State ){
  321.         case ARCEXTRACT_BEGIN:        // èYôûâtâ@âCâïé╠Åêù¥é╠èJÄn
  322.             Memo2->Lines->Add( "==[ARCEXTRACT_BEGIN]========" );
  323.             break;
  324.         case ARCEXTRACT_INPROCESS:    // èYôûâtâ@âCâïé╠ôWèJÆå
  325.             Memo2->Lines->Add( "==[ARCEXTRACT_INPROCESS]====" );
  326.             break;
  327.         case ARCEXTRACT_END:        // Åêù¥ÅIù╣üAè╓ÿAâüâéâèé≡èJò·
  328.             Memo2->Lines->Add( "==[ARCEXTRACT_END]==========" );
  329.             break;
  330.         case ARCEXTRACT_OPEN:        //    èYôûÅæî╔é╠Åêù¥é╠èJÄn
  331.             Memo2->Lines->Add( "==[ARCEXTRACT_OPEN]=========" );
  332.             break;
  333.         case ARCEXTRACT_COPY:        // âÅü[âNâtâ@âCâïé╠Åæé½û▀é╡
  334.             Memo2->Lines->Add( "==[ARCEXTRACT_COPY]=========" );
  335.             break;
  336.         case 5:                        // ë≡ôÇÆåüH
  337.             Memo2->Lines->Add( "==[5]=======================" );
  338.             break;
  339.         case 6:                        // ê│Åké╠ÅΩìçé═üCé▒é╠âüâbâZü[âWé┼Äné▀é─æSé─é╠âüâôâoé¬ùLî°é╞é╚éΘ
  340.             Memo2->Lines->Add( "==[6]=======================" );
  341.             break;
  342.     }
  343.     if( lpEis==NULL ){
  344.         Memo2->Lines->Add( "  lpEis           :NULL" );
  345.     }else{
  346.         Memo2->Lines->Add( AnsiString( "  dwFileSize      :"  )+IntToStr( lpEis->exinfo.dwFileSize  ));
  347.         Memo2->Lines->Add( AnsiString( "  dwWriteSize     :"  )+IntToStr( lpEis->exinfo.dwWriteSize ));
  348.         Memo2->Lines->Add( AnsiString( "  szSourceFileName:"  )+lpEis->exinfo.szSourceFileName );
  349.         Memo2->Lines->Add( AnsiString( "  szDestFileName  :"  )+lpEis->exinfo.szDestFileName   );
  350.         Memo2->Lines->Add( AnsiString( "  dwCompressedSize:"  )+IntToStr( lpEis->dwCompressedSize ));
  351.         Memo2->Lines->Add( AnsiString( "  dwCRC           :0x")+IntToHex( lpEis->dwCRC  ,4 ));
  352.         Memo2->Lines->Add( AnsiString( "  uOSType         :0x")+IntToHex( lpEis->uOSType,4 ));
  353.         Memo2->Lines->Add( AnsiString( "  wRatio          :"  )+IntToStr( lpEis->wRatio    ));
  354.         Memo2->Lines->Add( AnsiString( "  wDate           :0x")+IntToHex( lpEis->wDate  ,4 ));
  355.         Memo2->Lines->Add( AnsiString( "  wTime           :0x")+IntToHex( lpEis->wTime  ,4 ));
  356.         Memo2->Lines->Add( AnsiString( "  szAttribute     :"  )+lpEis->szAttribute );
  357.         Memo2->Lines->Add( AnsiString( "  szMode          :"  )+lpEis->szMode );
  358.     }
  359. }
  360.  
  361.