亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? piecevaluedlog.cpp

?? 《C++Builder程序設計范例--中國象棋》配書盤自述文件
?? CPP
字號:
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop

#include "CDefines.h"
#include "InfoForm3.h"
#include "Global.h"
#include "PieceValueDlog.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TPieceValueDlg *PieceValueDlg;

const int DefaultValues[6] = {0x90, 0x45, 0x40, 0x20, 0x20, 0x10};

enum PIECES { pvrook, pvgunner, pvknight, pvassist, pvbishop, pvpawn};

//---------------------------------------------------------------------------
__fastcall TPieceValueDlg::TPieceValueDlg(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
/*
以try開頭的代碼塊中的代碼被保護了起來。try代碼塊之后可以有任意多個
包含異常句柄的catch代碼塊。當一個C++應用發出一個異常時,運行庫搜索
調用堆棧,尋找一個類參數與發出的異常中的類型匹配的catch代碼塊。try
代碼塊之后的catch代碼塊依次被搜索,直到遇到一次匹配為止。如果未能發現
匹配,用調用函數繼續搜索。如果用...作為參數,可以創建一個與任意異常匹配的
catch代碼塊。
如果用戶在數量域中敲入一個非數字值,catch (EConvertError &error)
 發出整數轉換錯誤。這里用到了指針引用符“&”,因為VCL異常(那些從
 Exception類派生來的異常)必須通過指針引用來被捕捉。
 當捕捉到了異常后,顯示出錯消息,并把輸入聚焦到編輯控件中。
 這個代碼塊不僅捕捉處理錯誤,而且在沒有將其完全恢復之前將繼續彈出錯誤對話框。
*/
bool TPieceValueDlg::GetColorValue(TObject *Sender)
{

   int NewVal;
   bool Ok;
   int *CurVal;
    TScrollBar *Scroller;
    TEdit *Sender1 = (TEdit *)Sender;
    Ok = true;
  try
   {
   NewVal = Sender1->Text.ToInt();
   }
   catch (EConvertError &error)
  {
   Ok=false;
   }
   if (Sender1==Eassist)
      {
         CurVal = &Values[pvassist];
         Scroller = Sassist;
         }
  else  if (Sender1==Ebishop)
     {
         CurVal = &Values[pvbishop];
          Scroller = Sbishop;
          }
   else  if (Sender1==Eknight)
      {
         CurVal = &Values[pvknight];
          Scroller = Sknight;
          }
   else  if (Sender1==Erook)
     {
         CurVal = &Values[pvrook];
          Scroller = Srook;
          }
  else   if (Sender1==Egunner)
     {
	 CurVal = &Values[pvgunner];
         Scroller = Sgunner;
         }
  else   if (Sender1==Epawn)
     {
         CurVal = &Values[pvpawn];
         Scroller = Spawn;
      }

   if (Ok)
      {
      Ok = (NewVal > 255) ? false : ( (NewVal < 0 ) ? false : true );
      }
   else
      NewVal = *CurVal;

   if (!Ok)
      {
      Error("請輸入一個介于0-255之間的有效數.");
      Sender1->SetFocus();
      }
   else if (NewVal != *CurVal)
      {
      *CurVal = NewVal;
     Scroller->Position=*CurVal;
      }
   return Ok;
}
//---------------------------------------------------------------------------

/*
棋子值對話框顯示事件處理函數
初始化每個編輯框中的數值及滾動框的位置。
*/
void __fastcall TPieceValueDlg::FormShow(TObject *Sender)
{
   Values[pvassist] = PieceValue[assist] / 16;
   Values[pvbishop] = PieceValue[bishop] / 16;
   Values[pvknight] = PieceValue[knight] / 16;
   Values[pvrook] = PieceValue[rook] / 16;
   Values[pvgunner] = PieceValue[gunner] / 16;
   Values[pvpawn] = PieceValue[pawn] / 16;

   Sassist->Position = Values[pvassist];
   Eassist->Text = IntToStr(Values[pvassist]);
   Sbishop->Position = Values[pvbishop];
   Ebishop->Text = IntToStr(Values[pvbishop]);

   Sknight->Position = BYTE(Values[pvknight]);
   Eknight->Text = IntToStr(Values[pvknight]);
   Srook->Position = Values[pvrook];
   Erook->Text = IntToStr(Values[pvrook]);
   Sgunner->Position = Values[pvgunner];
   Egunner->Text = IntToStr(Values[pvgunner]);
   Spawn->Position = Values[pvpawn];
   Epawn->Text = IntToStr(Values[pvpawn]);

}
//---------------------------------------------------------------------------
/*
棋子值對話框確定按鈕事件處理函數
設置好每個編輯框中的數值及滾動框的位置。
若編輯框中的數值不在0-255之間的話,則出現錯誤對話框。若正確的話,
不出現錯誤對話框。保存輸入的數值,同時,關閉棋子值對話框。
*/
void __fastcall TPieceValueDlg::OKBtnClick(TObject *Sender)
{
    if ( GetColorValue(Eassist) &&  GetColorValue(Ebishop)
      && GetColorValue(Eknight) && GetColorValue(Erook) &&
      GetColorValue(Egunner) && GetColorValue(Epawn))
    {
    PieceValue[assist] = Values[pvassist] * 16;
    PieceValue[bishop] = Values[pvbishop] * 16;
    PieceValue[knight] = Values[pvknight] * 16;
    PieceValue[rook]  = Values[pvrook] * 16;
    PieceValue[gunner]  = Values[pvgunner] * 16;
    PieceValue[pawn] = Values[pvpawn] * 16;
    PieceValueDlg->Close();
    }
}
//---------------------------------------------------------------------------
/*
棋子值對話框缺省按鈕事件處理函數
 輸入缺省數值,并初始化每個編輯框中的缺省數值及滾動框的缺省位置。
*/
void __fastcall TPieceValueDlg::CmDefault(TObject *Sender)
{
    memcpy(Values, DefaultValues, 6 * sizeof(int));

   Eassist->Text = IntToStr(Values[pvassist]);
   Ebishop->Text = IntToStr(Values[pvbishop]);
   Eknight->Text = IntToStr(Values[pvknight]);
   Erook->Text = IntToStr(Values[pvrook]);
   Egunner->Text = IntToStr(Values[pvgunner]);
   Epawn->Text = IntToStr(Values[pvpawn]);

   Sassist->Position = Values[pvassist];
   Sbishop->Position = Values[pvbishop];
   Sknight->Position = Values[pvknight];
   Srook->Position = Values[pvrook];
   Sgunner->Position = Values[pvgunner];
   Spawn->Position = Values[pvpawn];
}
//---------------------------------------------------------------------------
/*
棋子值對話框忽略按鈕事件處理函數
關閉棋子值對話框。
*/
void __fastcall TPieceValueDlg::CancelBtnClick(TObject *Sender)
{
 PieceValueDlg->Close();
}
//---------------------------------------------------------------------------
/*
棋子值對話框中的編輯框退出事件處理函數
若編輯框中的數值不在0-255之間的話,則出現錯誤對話框。若正確的話,
滾動框的位置隨著編輯框中的數值改變而變化。
*/
void __fastcall TPieceValueDlg::EditExit(TObject *Sender)
{
  if ( GetColorValue(Eassist) &&  GetColorValue(Ebishop)
      && GetColorValue(Eknight) && GetColorValue(Erook) &&
      GetColorValue(Egunner) && GetColorValue(Epawn))
    {
   Sassist->Position = StrToInt(Eassist->Text);
   Sbishop->Position = StrToInt(Ebishop->Text);
   Sknight->Position = StrToInt(Eknight->Text);
   Srook->Position = StrToInt(Erook->Text);
   Sgunner->Position = StrToInt(Egunner->Text);
   Spawn->Position = StrToInt(Epawn->Text);
    }
}
//---------------------------------------------------------------------------
/*
棋子值對話框滾動事件處理函數
每個編輯框中的數值隨著滾動框的位置改變而變化。
*/
void __fastcall TPieceValueDlg::ScrollBar_Change(TObject *Sender)
{
    TEdit *Edit1 ;
    TScrollBar *Sender1 = (TScrollBar *)Sender;

   if (Sender1==Sassist)
      {
         Edit1 = Eassist;
         Values[pvassist] = Sender1->Position;
         }
  else  if (Sender1==Sbishop)
     {
          Edit1 = Ebishop;
          Values[pvbishop] = Sender1->Position;
          }
   else  if (Sender1==Sknight)
      {
          Edit1 = Eknight;
          Values[pvknight] = Sender1->Position;
          }
   else  if (Sender1==Srook)
     {
          Edit1 = Erook;
          Values[pvrook] = Sender1->Position;
          }
  else   if (Sender1==Sgunner)
     {
         Edit1 = Egunner;
         Values[pvgunner] = Sender1->Position;
         }
  else   if (Sender1==Spawn)
     {
         Edit1 = Epawn;
         Values[pvpawn] = Sender1->Position;
      }

    Edit1->Text = IntToStr(Sender1->Position);

}
//---------------------------------------------------------------------------

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美国产一区二区| 精品奇米国产一区二区三区| 国产在线精品视频| 日本不卡视频在线观看| 亚洲成年人网站在线观看| 欧美国产一区二区| 国产精品国产三级国产a| 2021中文字幕一区亚洲| 精品国产sm最大网站免费看| 91精品国产高清一区二区三区蜜臀 | 欧美亚洲一区二区在线观看| 99天天综合性| 91视频一区二区| 色综合天天综合网国产成人综合天 | 国产凹凸在线观看一区二区| 国产精品一区久久久久| 国产不卡在线视频| 91丨porny丨在线| 欧美中文字幕亚洲一区二区va在线 | 日本欧美肥老太交大片| 美女在线一区二区| 精品在线免费视频| 国产一区二区三区四区五区美女| 国产毛片精品一区| 99久久免费国产| 欧美在线观看视频一区二区| 欧美视频自拍偷拍| 欧美成人午夜电影| 国产精品久久久久一区二区三区共| 中文字幕在线一区二区三区| 亚洲一线二线三线视频| 免费亚洲电影在线| 成人性色生活片| 欧美性视频一区二区三区| 日韩欧美中文一区| 国产精品毛片无遮挡高清| 亚洲福利国产精品| 国产酒店精品激情| 日本二三区不卡| www成人在线观看| 亚洲精品国产第一综合99久久| 日本亚洲一区二区| 成人av综合在线| 91精品国产欧美日韩| 亚洲欧洲精品一区二区精品久久久| 亚洲成人激情自拍| 成人福利视频网站| 日韩欧美国产一区二区在线播放| 亚洲欧洲日韩在线| 九九精品视频在线看| 色妹子一区二区| 久久精品男人天堂av| 亚洲gay无套男同| av网站一区二区三区| 精品福利一二区| 婷婷久久综合九色国产成人| 懂色av一区二区在线播放| 7777精品伊人久久久大香线蕉| 国产精品美女一区二区三区| 久久精品72免费观看| 在线亚洲一区观看| 国产精品色在线观看| 久久99精品久久久| 欧美久久久久免费| 一级精品视频在线观看宜春院 | 精品国产伦一区二区三区观看体验 | 日韩欧美在线影院| 欧美日韩精品系列| 久久综合九色综合久久久精品综合 | 欧美在线观看禁18| 最新久久zyz资源站| 懂色一区二区三区免费观看| 精品成人佐山爱一区二区| 日韩电影在线免费| 欧美日韩精品一区二区三区四区 | 成人高清免费观看| 久久久99久久| 国产河南妇女毛片精品久久久| 日韩欧美国产综合| 久久精品二区亚洲w码| 91精品国产综合久久精品图片| 亚洲综合一区二区精品导航| 91精品1区2区| 一级女性全黄久久生活片免费| 欧洲一区二区三区在线| 亚洲精品久久嫩草网站秘色| 色网站国产精品| 夜夜爽夜夜爽精品视频| 在线日韩av片| 亚洲成年人网站在线观看| 在线播放视频一区| 麻豆成人久久精品二区三区红| 欧美成人猛片aaaaaaa| 韩日欧美一区二区三区| 久久精品这里都是精品| 成人午夜激情影院| 国产精品久久精品日日| 色综合一区二区三区| 一区二区三区**美女毛片| 欧美三级午夜理伦三级中视频| 亚洲电影视频在线| 精品国产一区二区在线观看| 国产99精品国产| 亚洲卡通动漫在线| 欧美一区二区三区在线| 国模娜娜一区二区三区| 国产精品国产三级国产aⅴ入口| 色94色欧美sute亚洲线路一久| 五月激情六月综合| 26uuu亚洲综合色| 99久久伊人精品| 五月天视频一区| 国产三级精品三级| 欧美视频完全免费看| 裸体在线国模精品偷拍| 国产精品久久久久久户外露出 | 五月天亚洲精品| 久久亚洲欧美国产精品乐播| 99久久99久久久精品齐齐| 亚洲一级二级在线| 国产欧美日韩不卡免费| 欧美日韩精品三区| 成人性生交大片免费看视频在线| 天天综合色天天综合色h| 久久亚洲精精品中文字幕早川悠里| 99精品视频免费在线观看| 爽爽淫人综合网网站| 欧美经典一区二区| 欧美区一区二区三区| 99久久综合99久久综合网站| 麻豆国产精品777777在线| 一区二区三区四区在线免费观看| 精品99999| 3atv在线一区二区三区| 99视频精品全部免费在线| 久久精品国产精品亚洲精品| 亚洲综合一区二区三区| 中文字幕一区二区三区在线不卡 | 九九精品一区二区| 亚洲精品国产视频| 国产精品视频观看| 2023国产精华国产精品| 在线综合亚洲欧美在线视频| 91美女精品福利| 成人av在线一区二区| 国产精品主播直播| 蜜桃av一区二区| 日韩精品成人一区二区三区| 亚洲最色的网站| 亚洲视频在线一区| 亚洲欧洲av另类| 国产精品国产三级国产专播品爱网| 久久久一区二区三区捆绑**| 日韩欧美三级在线| 欧美精品在线一区二区三区| 欧美怡红院视频| 91蝌蚪porny| 色国产综合视频| 日本韩国一区二区| 欧洲一区在线电影| 欧美视频精品在线观看| 欧美午夜精品久久久久久孕妇| 欧洲精品中文字幕| 在线观看免费亚洲| 欧美午夜精品久久久| 欧美系列日韩一区| 欧美精品 日韩| 日韩欧美卡一卡二| 久久亚洲综合色一区二区三区| 亚洲色图欧美偷拍| 一区二区三区在线免费视频 | 国产精品第13页| 亚洲丝袜制服诱惑| 一区二区三区不卡在线观看| 亚洲午夜羞羞片| 免费在线看成人av| 国产一区二区在线影院| 国产91精品在线观看| 日本精品裸体写真集在线观看| 欧美午夜电影网| 精品国产一区二区亚洲人成毛片 | 成人va在线观看| 色偷偷久久人人79超碰人人澡| 欧美色图在线观看| 日韩欧美色电影| 国产精品久久久久久亚洲伦| 亚洲一区二区三区中文字幕在线| 五月婷婷久久综合| 国产精品综合二区| 在线日韩国产精品| 精品欧美一区二区三区精品久久| 国产视频不卡一区| 亚洲一区二区高清| 国产一区二区精品久久99| 94-欧美-setu| 日韩亚洲欧美在线观看| 国产精品久久久久久福利一牛影视 | 精品少妇一区二区| 最新热久久免费视频| 男人的天堂久久精品|