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

📄 cd6_4u.cpp

📁 C++ Builder程序员学习数据结构第6章
💻 CPP
字号:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "cd6_4u.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
int pgi;
int sort[8]={0};
int sor[8]={0};
int idx=0;
int r;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void gf(int n)                          //运行中产生Image,并绘制所需线段
{
   TImage *img1;
   img1=new TImage(Form1);
   img1->Transparent=true;
   img1->Width=360;

   switch(n)        //以n来传达执行步骤的对应数值
   {
      case 0:img1->Parent=Form1->pn1;  //合并排序第1阶段面板的线条绘制
             for(int g=0;g<4;g++)
             {
                img1->Canvas->MoveTo(40+80*g,41);  //连接各点
                img1->Canvas->LineTo(40+80*g,54);
                img1->Canvas->LineTo(80+80*g,54);
                img1->Canvas->LineTo(80+80*g,40);
                img1->Canvas->MoveTo(60+80*g,54);
                img1->Canvas->LineTo(60+80*g,72);
             }
             break;
      case 1:img1->Parent=Form1->pn2;  //合并排序第2阶段面板的线条绘制
             for(int g=0;g<2;g++)
             {
                img1->Canvas->MoveTo(60+160*g,41);
                img1->Canvas->LineTo(60+160*g,54);
                img1->Canvas->LineTo(140+160*g,54);
                img1->Canvas->LineTo(140+160*g,40);
                img1->Canvas->MoveTo(100+160*g,54);
                img1->Canvas->LineTo(100+160*g,72);
             }
             break;
      case 2:img1->Parent=Form1->pn3;   //合并排序第3阶段面板的线条绘制
             img1->Canvas->MoveTo(96,41);
             img1->Canvas->LineTo(96,54);
             img1->Canvas->LineTo(264,54);
             img1->Canvas->LineTo(264,40);
             img1->Canvas->MoveTo(180,54);
             img1->Canvas->LineTo(180,72);
             break;
   }
}

void __fastcall TForm1::nextClick(TObject *Sender)   //执行下一步动作
{
   switch(pgi)
   {
      case 0:pc->ActivePageIndex=1;       //PageControl控件换页设置
             rpt->Visible=true;           //显示重新开始按键
             back->Visible=true;          //显示上一部按键
             gf(0);                       //调用构造线段函数
             break;
      case 1:pc->ActivePageIndex=2;
             gf(1);
             break;
      case 2:pc->ActivePageIndex=3;
             gf(2);
             break;
      case 3:pc->ActivePageIndex=4;
             next->Caption="完    成";
             break;
      case 4:Close();
             break;
   }
   pgi++;
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
   Close();
}
//---------------------------------------------------------------------------

void __fastcall TForm1::backClick(TObject *Sender)     //执行上一步动作
{
   switch(pgi)
   {
      case 1:pc->ActivePageIndex=0;     //PageControl控件换页设定
             back->Visible=false;
             break;
      case 2:pc->ActivePageIndex=1;
             break;
      case 3:pc->ActivePageIndex=2;
             break;
      case 4:pc->ActivePageIndex=3;
             next->Caption="

⌨️ 快捷键说明

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