| 订阅 | 在线投稿
分享
 
 
 

创世纪的C++ Builder--入门例子

2008-06-01 02:07:44 编辑來源:互联网 国际版 评论
 
 
本文为【创世纪的C++ Builder--入门例子】的汉字拼音对照版显示拼音
  kuachushijimodechengshiren

  zicongshijiushijimoliangweixingmingyiyinqudebalibianjurenfamingleshijiweizhegeciyihoumeiyibainianrenmenjiuyaozaituifeijiaolvbuanzaoqiedeqingsulizouyizhaolunhuierzaizhegeshijiyekaishiyourentichulezhongzhongdeshijimokouhaocongshijimoruantigemingshijimowenhuagemingdaoshijimoXXgemingsihuzhiyaoguanshangshijimojiuzuyidaibiaozhegeshidaidesuoyouqingsu

  duiyuchengshirenlaishuoshijimoruantigemingzhideshiwujiandaoxiangchengshishejifangfasuodailaidesiweimoshidezhuanbian(Paradigm Shift)tagaibianlechengshixiezuodesiweimoshikuodalechengshirendeshiyeyourenbatahegongyegemingxiangbinirenweitajianghuichengweiruantiyejiedegongyegemingranerwomendouzhidaoruantiyedegongyegeminghuanweidaolaiwomendouzaidengdaiyedouzaiqidaizhelimingdeshuguang

  chengshirendechuangshijiqingjie

  chuangshijishichengshirendetutengtakeyidaibiaochengshirengexingzhongyongyuchuangzaodetezhitayezengjingshixuduochengshirenzuiaideRPG(jiaosebanyanyouxi)jihusuoyoudechengshirendouxiaibingleyuxiangshouchuangzaowujiandechengjiuganerzhezhongrezhongchuangzaodetezhizaojiulexuduoyouxiudechengshi

  zaimeigediannaoshijidejiaotizhongdouzengjingchanshengyixiechuangshijiderenwuhuochanpinsiqizhongBorlandjiushiqizhongdeyiyuan

  Borlanddebawangchuanshuo

  zicongshiwunianqianAnders HejlsberxiexialediyigeTurbo PascalbianyiqiyilaiBorlandjiukaozheTurbo PascalwendingyouyayukuaisudebianyigongnengjiashangdangshidePascalshizixunkexideguanhuaweiqindingdejiaoxueyuyan使shideBorlandchengweixiongbayifangdebazhu

  suizheTurbo PascaldechenggongBorlandchengshierqituichuleTurbo CjiTurbo C++chengweidiergezaiPCshangtuichushangyehuaC++ debianyiqichangshang(diyigeshiZortech C++youC++ zhifuBjarne StroustrupqinzishejixianzaiyibeiSymantecshougou)zhejigechenggongdechanpinjiangBorlanddeshengshidaishanggaofengyushiweilegengjiadaxiangBorlanddeminghaojiangqixiadesuoyouchanpingaiguanyiBorlandzhimingyushiBorlanddehouxuchanpinyiBorlandweimingruBorland C++Borland Pascalcuan.dengdeng

  zaiWindowsshijikaichuangzhichuBorland C++ 3.1shidangchuweiyikeyizaiWindowskaifaWindowsruantidechengshifazhangongjudangshiBorlandhuanyiciweihaozhaodalipinjidangshideMSC (Microsoft C)zhinengzaiDosxiazhuanxieWindowschengshiranersuizheVisual C++ detuichuqingshinizhuanzaishijiaofazhangongjudeyoushengliebaixiaBorlandmanmandisangshitajiyoudelingtu

  zaizheliangqiangduijuedeshidaiBorlanddekaiguogongchenTurbo PascalshizhongbeiyiwangzailishideyigejiaoluoranertadekaifaxiaozuyebushishengyoudedengzaijingguolejiniandewoxinchangdanzhihouAnders Hejlsberzaidudailingxiaozu(zhegexiaozusihuyebuzenmexiaocuan.)shipotianjingdituichulexinyidaidechengshifazhangongju'Delphi zhegeyikuaisuchengshifazhangongju(RAD'Rapid application Development)weihaozhaodechanpinyituichuzhihoulijichengweimeiguangdengdejiaodianchengweizhengjiudangshiBorlanddejiuhuodui

  zaiDelphituichuzhihoudiandingleBorlandzaiRADlingyudebuxiudiweierDelphiyechengweizaiPCshangweiyikeyihegongzuozhanjideNextstep IB (Interface Builder )dengliangqiguandechongliangjifazhangongjubuguozheshikaishiyourenzaisikaoshenmeshihouBorlandhuituichuC++ dekuaisuchengshifazhangongju

  zaiquniandeComdexzhanBorlandkaishizengyuyitaodaihaoweiEbonydechengshifazhangongjuzaijijingshenyuezhihoucaifaxiantajiushichuanshuozhongdeDelphi for C++yejiushixianzaizhengshimingchengweiBorland C++ Builder jianchengweiBCBdeRAD

  BorlandzaicidekaiqileyigeRADdezhanchanghedangchudeTurbo PascalyibantadehoujizheDelphishizhechangzhanzhengdexianfengbingqieyiweiBorlandyingdeleduocideqianshaozhanranhousuizheC++ BuilderdetuichuDelphizhegedaleshengzhangdexianfengshifouhuirutadeqianshenTurbo Pascalbanmeirulishizhongne?

  duanqikanlaishibuhuideyinweiBCBxianzaihuansuanshiheDelphidenaishuichangdadetasuo使shiyongderuantiyuanjiandoushiyiDelphisuozhuanxiedeVCLyuanjian(Visual Compoment Library)zhiyuyihouBorlandhuibuhuiyiBCBquanpangaixieVCLnezheshiyoukenengdenachangqikanlaiBCBshifouhuiqudaiDelhinezhesihuzhinengyoushijianlaigaosuwomenlebuguoDelphizhifuAnders HejlsberyijingzaiqunianyouBorlandlizhilezhesihutoululeyixiexunxi

  shuodaozheerwoxiangninyijingpobujidaidixiangyaoyiduC++ BuilderdelushanzhenmianmulemeicuojintianzhechangRADdezhanzhengyijingkaiqileshengbaidedeguandianyibushiwomensuoguanxindewomensuoguanxindeshiyigechengshirendeqianshaozhanyijingkaidaledangbierendouzai使shiyongC++ Builderzhezhongchongwuqishiwomengairuheyinying

  jiranwufafankangtanajiujiaruta! rangwomenshenyuC++ Builder dechuangshijiba!

  libieHello Worlddeniandai

  xuduodiannaoyuyanshujirumenshuneidediyigechengshidouyiyigeyinchuHello WorldzichuandexiaochengshizuoweidiyigerumenchengshierzaiWindowschengshishejilingyuxiangyoutianwangzhimingdeCharles PetzoldzaitashengjingjidezhezuodePRogramming Windows zhongyeshiyiyigeHello WindowzuoweigaishudekaichangbaizaimairuC++ Builderdeshijizhihouwojiubuzai使shiyongzhezhongchungufaxiangzaodefangfalaixiezuoleweilechongfenrangninganshoutadezhimingxiyinlixianzaiwosuozhanshidegeinindediyigechengshishiduomeitibofangchengshierqiewohuigaosuninruhezaishifenzhongzhineixiechuyigeduomeitibofangchengshishifenzhongyoumeiyougaocuomeicuojiushishifenzhongyongC++ Buildernijueduikeyizaishifenzhongneixiechuyigegoushuizhundemeitibofangchengshi'ji使shinishiyigecaidebunengzaicaidechuxuezhe

  tadezhixinghuamianruxia:

创世纪的C++ Builder--入门例子


  

  

  haoxikailuola!

  zaijinruC++ Buildershinihuikandaoyixiadehuamian

创世纪的C++ Builder--入门例子


  shouxianwojiandandiweinijieshaoC++ Builderfazhanhuanjingzaiciwozhiduizhenggefazhanhuanjingzuoyigejiandandeliulanyilichengshidezhuanxie

  C++ Builderfazhanhuanjingzhuyaofenweiyixiayuanjian

  (1)biaoge(Form)shichuang

  (2)yuanjianhe(Compoment palette)

  (3)wujianjianshiqi(Object Inspector)

  (4)chengshibianjiqi(Code Editor)

  (5)jiasubang(SpeedBar)

  biaogeshichuang (Form)

创世纪的C++ Builder--入门例子


  biaogeshiC++ chengshishejidejiaodianwomenkeyijiangbiaogeshiweiyizhanghuabuzaichengshishejishiwomenzhuyaozuodegongzuozhishijiangchengshiyuanjianfangzhizaibiaogeshangeryiyincibiaogeqishikeshiweiyigebaohanqitayuanjianderuantiyuanjian

  yuanjianhe(Compoment Palette)

创世纪的C++ Builder--入门例子


  ruantiyuanjianshiniyongyijiagouC++ BuilderchengshidejibenyuansuzaiC++ BuilderzhongruantiyuanjianyiqiyuanjiantexingfenmenbieleidifangzhizaihuoyeshideyuanjianhezhongzaiC++ Builderzhongtigonglechaoguolebaizhongyishangdejibenyuanjianchengshishejishizhiyaojiangyuanjianheneideruantiyuanjiantuofangzhibiaogezhongjike

  wujianjianshiqi(Object Inspector)

创世纪的C++ Builder--入门例子


  wujianjianshiqishiyongyigaibianwujiandeneironggaibiangaiwujiandexingweimoshiyifuhenidexuyaowujiandeneirongbaohanleshuxing(Property)jiqishijianchulichengshi(Event Handler)nikeyishixuyaogaibianzhidingwujiandezhuangtaijixingweimoshi

  chengshibianjiqi(Code Editor)

创世纪的C++ Builder--入门例子


  C++ Builderdechengshibianjiqishiyigequangongnengdebianjiqitarangnikeyicunqujibianjisuoyouzhuananneidechengshi

  jiasubang(SpeedBar)

创世纪的C++ Builder--入门例子


  jiasubang(SpeedBar)gumingsiyitashiyonglaijiakuaichengshidecaozuoC++ Builderjiangxuduozaigongnengbiaozhongchangyongdegongnengzaijiasubangzhongyijiejingdefangshitigongni使shiyong

  nidediyigeC++ Builderchengshi

  womenyijingjiandandijieshaoleC++ Builderchengshifazhanhuanjingxianzaiwomenyaokaishizhuanxiewomendediyigechengshi'meitibofangchengshi

  shejibiaoge

  shouxianniyaoxianshejinisuoyao使shiyongdebiaogechangxiangshejibiaogefeichangjiandanqishizhishijiangruantiyuanjianfangzaishichuangzhongeryiyixiawoyijigebuzhoushifanbiaogedesheji

  (1)kaiqixinbiaoge

  (2)jiangruantiyuanjianzhirubiaogezhong

  (3)shedinggegeruantiyuanjiandeshuxing

  (4)zhixingchengshi

  wanchengleyishangdechengxuhoudadiyigechengshiyechabuduoshejiwanlezheyeshiC++ Builderdemirenzhichu

  kaiqixinbiaoge

  zaijinruC++ Builderhoutahuizidongweinikaiqiyigexindebiaogecishibiaogekaiqidegongzuojiusuanwanchengleruoshiyaojiaruqitaxindebiaogezhiyaozhixing[File/New Form]jike

  jiangruantiyuanjianzhirubiaogezhong

  zaikaiqixinbiaogehounikeyizaiyuanjianhezhongxuanquyuanjianzhirubiaogezhongzaiciyaofeifanshuomingdeshizaiC++ Builderdeshejishiqi(Design Time)hezhixingshiqi(run time)dabufenyuanjiandexingweimoshijihushixiangtongsuoyizaishejishinijiukeyikandaochengshizhixingdejieguo

  zaiwomendezhegechengshizhongchulebiaogewaiyouyigeyuanjianbaohanleqitadeyuanjiannajiushihuoyeshibiaogeyuanjian(TabbedNoteBook)zhegeyuanjianhebiaogeleisibixuzuizaofangrubiaogezhongyirongnaqitayuanjian

  zaiwomendediyigechengshizhongzhiruruantiyuanjianhoudejieguoruxia

创世纪的C++ Builder--入门例子


  nikeyikandaochuleyinweimeiyouzhixingsuoyimeiyouxianshidonghuadangzhiwaitahezhixingdejieguojihuyimoyiyang

  shouxianwomenlaikankanzhegechengshiyongdaolenaxieyuanjian

创世纪的C++ Builder--入门例子
TTabbedNoteBook huoyeshibiaogeyuanjianweiyuyuanjianhedeWin3.1yeyongyizuochudonghuajiyinxiao jiyinleCD lianggebiaoge

创世纪的C++ Builder--入门例子
Tlabel biaotiyuanjianweiyuyuanjianhedeStandardyeyongyixianshi"meitibofangchengshi"ziyang

创世纪的C++ Builder--入门例子
TPanel mianbanyuanjianweiyuyuanjianhedeStandardyeyongyixianshidonghuatuxingdang

创世纪的C++ Builder--入门例子
TMediaPlayer meitibofangyuanjianweiyuyuanjianhedeSystemyeyongyibofangduomeiti

创世纪的C++ Builder--入门例子
TDriveListBox cidiejiliebiaoyuanzuo weiyuyuanjianhedeSystemyeyongyixianshicidiejiming

创世纪的C++ Builder--入门例子
TFilterComboBox dangmingguolvqiyuanjianweiyuyuanjianhedeSystemyeyongyiguolvdangming

创世纪的C++ Builder--入门例子
TDirectoryListBox mululiebiaoyuanjianweiyuyuanjianhedeSystemyeyongyixianshimulu

创世纪的C++ Builder--入门例子
TFileListBox danganliebiaoyuanzuoweiyuyuanjianhedeSystemyeyongyixianshidangan

  

  

  zai使shiyongzhexieyuanjianshiqingxianzhiyuanjianhezhongxuanchuyu使shiyongdeyuanjianranhoujiangqituofangzhibiaogezhongshidangdeweizhizaigaibianyuanjiandedaxiaorucinijiukeyidedaoyigebiaogedechuxingle

  shedinggegeruantiyuanjiandeshuxing

  jiangruantiyuanjianzhirubiaogezhongzhihouzailaiwomenjiuyaokaishishedingyuanjianshuxingleweileyaorangzhexieyuanjianhuxianghezuowomenbixushedingtamenzhijiandeguanxizaishedingzhiqianwomenxianzaixixiangxiangtamenzhijiandedongzuomoshi:

  shouxiansikaocidiejijidanganyuanjiandeguanxi

  (1)gaibiancidiejihoumulubixugenzhegaibian

  (2)gaibianmuluhoudanganliebiaobixugenzhegaibian

  (3)gaibiandangmingguolvqihoudanganliebiaobixugenzhegaibian

  zailejietamendeguanxihouwomenjiukeyikaishidongshoulaishedingtamendeshuxingleshedingshuxingqishifeichangjiandanzhiyaozaibiaogeshangxuanqugaiyuanjianshiwujianjianshiqijiuhuixianshigaiwujiansuoyoudeshuxingyicidiejiyuanjianweilidangwomenxuanqudaogaiyuanjianshiwujianjianshiqijiuhuiqiehuandaoruxiatusuoshidezhuangtai

创世纪的C++ Builder--入门例子


  cishinikeyikandaozaiwujianjianshiqixianshilecidiejiliebiaoyuanjiandeshuxingqizhongwomenganaihaodeshiDirListyixiangnikeyixuanqugailanweicishinihuifaxiantahuichuxianyigeliebiaozhegeliebiaohuijiangmuqianbiaogezhongsuoyoudemululiebiaoyuanjianxianshichulaiyinweiwomensuoshejidebiaogezhongzhiyouyigemululiebiaoyuanjiansuoyinizhiyaoxuanzegailiebiaozhongweiyideyigejike

创世纪的C++ Builder--入门例子


  yishangdedongzuosuodaibiaodeyiyijiushijianlicidiejiliebiaoyuanjianhemululiebiaoyuanjianzhijiandeguanxidangcidiejigaibianshibixutongzhimululiebiaoyuanjian使shiqigenzhegaibian

  tongliwomenxuanqumululiebiaoyuanjianbingshedingqishuxingzaimululiebiaoyuanjianzhongwomenganaihaodeshiFileListlanweicishinikeyixuanqugailanweibingjiangtashedingweibiaogezhongdedanganliebiaoyuanjian

创世纪的C++ Builder--入门例子


  yishangdedongzuosuodaibiaodeyiyijiushijianlimululiebiaoyuanjianhedanganliebiaoyuanjianzhijiandeguanxidangmulugaibianshibixutongzhidanganliebiaoyuanjian使shiqigenzhegaibianzhimuqianmuludeliebiao

  jiezhewomenxuanqudangmingguolvqiyuanjianbingshedingqishuxingzaidangmingguolvqiyuanjianzhongwomenganaihaodeshiFileListlanweicishinikeyixuanqugailanweibingjiangtashedingweibiaogezhongdedanganliebiaoyuanjian

创世纪的C++ Builder--入门例子


  yishangdedongzuosuodaibiaodeyiyijiushijianlidangmingguolvqiyuanjianhedanganliebiaoyuanjianzhijiandeguanxidangdangmingguolvqigaibianshibixutongzhidanganliebiaoyuanjian使shiqigenzhegaibianzhimuqiandedanganliebiao

  zuihouwomenyaoshedingdangmingguolvqiyuanjiandeguolvzaizhegechengshizhongwoxiwangkeyibofangAVIdonghuadangjiWAVyinxiaodangsuoyibixushidangdishedingdangmingguolvqiyuanjian

  tongyangdiwomenshouxianxuanqudangmingguolvqiyuanjian

创世纪的C++ Builder--入门例子


  zaizhegeyuanjianzhongwomensuoganaihaodeshiqizhongdeFiltershuxingyinciwomenzaigaixiangmushangdianerxiacishiwomenhuikandaoruxiadehuamian

创世纪的C++ Builder--入门例子


  rutusuoshiwomenjiangAVIdonghuadangjiWAVyinxiaodangdeguolvziyuantianrujikezaichengshizhixingshilaxiadangmingguolvqishisuoxianshidemingchengjiushinisuotianrudeguolvqitahuifahuibaguandejiaose使shidezhiyoufuhetiaojiandedangmingxianshizaidanganliebiaozhong

  wanchengleyishangdongzuozhihounijiuyijingjiangcidiejijidanganliebiaoyuanjianshedingwanchenglecishinikeyixianxingzhixingchengshikankanqidongzuoshifouzhengquezhixingchengshidefangfashizaixuanquxuandanshangdeRun/RunhuoshizhijieanF9jike

  ruheshenqibayongC++ Builderxiechengshijiushizhemejiandan

  zailaiwomensikaoduomeitibofangchengshidebufenwomenxiwangtadedongzuofangshiruxia

  (1)yiTPanellaixianshidonghuahuamian

  (2)yiduomeitibofangyuanjianlaibofangmuqiandanganliebiaozhongsuoxuanqudedangan

  (3)zaidanganliebiaoyuanjianyishuangji(Double-Click)laibofanggaidangan

  shouxianwomenxianlaikankanduomeitibofangyuanjiandeneirong

创世纪的C++ Builder--入门例子


  zaiduomeitibofangchengshizhongwomenganaihaodeshiqizhongdeDisplayxiangmuyinciwomenxuanquDisplayxiangmucishinihuikandaosuoyouzaibiaogezhongkegongxianshideyuanjian

创世纪的C++ Builder--入门例子


  womenxiwangjiangdonghuahuamianxianshizaiPanel1yuanjianzhongyinciqingnixuanzePanel1xiangmuwanchengzhegedongzuozhihoumeitibofangchengshizaibofangdonghuadangshihuijianghuamianxianshizaiPanel1shang

  jiezhewomenshedingbofangdedongzuo

  yaoshedingbofangdedongzuonibixuxuanquduomeitibofangyuanjianbingjiangwujianjianshiqiqiehuanzhishijian(Events)yeranhouzaiqizhongdeOnClickshanganliangxia(Double-Click)jiezheC++ Builderhuiweinizidongchanshengyiduankongdechengshimaderanhoujiuqiehuanzhichengshibianjiqizhong

创世纪的C++ Builder--入门例子


  

  

  yixiadehuamianjishiC++ Builderqiehuandechengshibianjiqihuamiancihuamianwoyijingtianrulechengshimanidechengshiyinggaishikongde

创世纪的C++ Builder--入门例子


  zailaiwomenkankanyinggaizaiqizhongtianrunaxiechengshimane?

  void __fastcall TForm1::MediaPlayer1Click(TObject *Sender,

  TMPBTnType Button, bool &DoDefault)

  {

   //yixiaweiwomentianrudechengshima

   if (Button==btPlay)

   {

   MediaPlayer1->FileName=FileListBox1->FileName;

   MediaPlayer1->Open();

   MediaPlayer1->Play();

   DoDefault=FALSE;

  } else

   DoDefault=TRUE;

  }

  yishangwomentianrudechengshimadezhuyaodongzuojiushi

  (1)jiangmeitibofangyuanjiandangmingzhidingweidanganliebiaoyuanjianmuqiandedangming

  (2)kaiqimeitibofangchengshi

  (3)kaishibofang

  jinxingdaozheernikeyizaicizhixingchengshiranhouxuanqushidangdedanganzaixuanhaoledanganzhihounijiukeyizaiduomeitibofangyuanjianzhongxuanzezhixing
创世纪的C++ Builder--入门例子
ruoshinisuoxuanzedeshiAVIdonghuadangniyijingkeyikandaodonghuabofangzaiwomensuozhidingdeyuanjianPanel1shangle

创世纪的C++ Builder--入门例子


  zuihouwomenxiwangzaitigongyizhongbofangdangandefangshinajiushizaidanganliebiaozhongyishuangji(Double-Click)defangshilaibofangzhidingdangancishiwomenkeyixuanzedanganliebiaoyuanjianbingjiangwujianjianshiqiqiehuanzhishijianyezheshinihuikandaoyixiadehuamian

创世纪的C++ Builder--入门例子


  tongyangdinikeyizaiOnDblClickxiangmushuangjicishiC++ Builderhuizidongweiwomenchanshengchengshimabingqiezidongqiehuanzhichengshimabianjiqizhong

创世纪的C++ Builder--入门例子


  shangtujiweichengshimabianjihuamiancihuamianwoyijingtianrulechengshimanideyinggaishikongdejiezhenizaiyubianjiqizhongtianruyixiadechengshima

  void __fastcall TForm1::FileListBox1DblClick(TObject *Sender)

  {

   MediaPlayer1->FileName=FileListBox1->FileName;

   MediaPlayer1->Open();

   MediaPlayer1->Play();

  }

  yishangwomentianrudechengshimadezhuyaodongzuojiushi

  (1)jiangmeitibofangyuanjiandangmingzhidingweidanganliebiaoyuanjianmuqiandedangming

  (2)kaiqimeitibofangchengshidezhidingdangan

  (3)kaishibofang

  zaiwanchengleshangshudecaozuozhihounikeyizaicidizhixingchengshixuanquyubofangdedanganranhouyishuangjidefangshilaizhixingdangan

  jinxingdaozheerniyijingbawoleC++ BuilderchengshishejidejingshenyexiechuleyigebucuodemeitibofangchengshinishibushiduiC++ Builderdekuaisuchengshifazhanhuanjing(RAD:Rapid Application Development)yulaiyuyouxinxinlene

  jiexialainihuifaxiandaomuqianweizhiwosihumeiyoubazhegefanlichengshiwanquanjieshuoqingchuyinweiqianmiandezhixinghuamianzhongdehuoyeshibiaogeyuanjianzhonghuanyoulingyiyeshiyinleCDdebofanglingwaiguanyumeitibofangchengshizhegezixingdeshedingfangshiyemeiyoujieshuo

  shidemeicuozhexiedoushiwodasuanliugeinizixinglianxidexiangmuyinweijiaozhiqianmiansuoshudejigecaozuotamendoujiandanduoleyixiawoxianjiandantoulujigechongdian

  (1)xuanzehuoyeshibiaogeyuanjianbinggaibianqiPagesshuxingliyongtasuotigongdebianjiqibianjiyeshujimingcheng

  (2)jiangActivePageqiehuanzhiyinleCDyeruqianmiansuoshujiaruyigeduomeitibofangyuanjian

  (3)jiangduomeitibofangyuanjiandeDevice TypeshedingweiCD Audio.

  (4)zhuanxiebofangchengshimayinweibofangyinleCDbuxuyaokaidangsuoyibuxuyaozhidingdangan

  (5)shedinggegebiaodezixing

  wanchengleyishangdedongzuohounikeyizaiduzhixingchengshibingqiehuanyinleCDzhongfangruCDranhoujiukeyibofangCDle

  nikeyishizhezixingqudazaonidechengshihuamianyishangdechengshihuamiandouzhiyonglejiandandebiaotiyuanjianjituxingyuanjianeryinikeyichangshizhewanwankan

  yishangjiushiwomenyongC++ BuildersuozhuanxiedediyigechengshitashibushigeileniyigequanxindeganshouyuanlaiWindow chengshishejiyekeyishirucizhebandeqingsong

  dangranzhezhishiyigekaishieryizaihouxudedanyuanzhongwohuijixudaizhenizoujinC++ Buildersuojiagoudepiaoliangxinshijietansuozhezhongxindechengshishejifangfa原文
 
 
跨出「世纪末」的程式人 自从十九世纪末,两位姓名已隐去的巴黎编剧人发明了「世纪未」这个词,以後每一百年,人们就要在颓废、焦虑、不安、躁切的情愫里走一赵轮回。而在这个世纪,也开始有人提出了种种的世纪末口号,从「世纪末软体革命」、「世纪末文化革命」到「世纪末XX革命」,似乎只要冠上「世纪末」就足以代表这个世代的所有情愫。 对於程式人来说,「世纪末软体革命」指的是物件导向程式设计方法所带来的思维模式的转变(Paradigm Shift),它改变了程式写作的思维模式,扩大了程式人的视野,有人把它和工业革命相比拟,认为它将会成为软体业界的工业革命;然而,我们都知道,软体业的工业革命还未到来。我们都在等待,也都在期待着黎明的曙光。 程式人的「创世纪」情结 「创世纪」是程式人的图腾,它可以代表程式人个性中勇於创造的特质,它也曾经是许多程式人最爱的RPG(角色扮演游戏)。几乎所有的程式人都喜爱并乐於享受创造物件的成就感,而这种热中创造的特质,造就了许多优秀的程式。 在每个电脑世纪的交替中,都曾经产生一些创世纪的人物或产品司,其中Borland就是其中的一员。 Borland的霸王传说 自从十五年前,Anders Hejlsber写下了第一个Turbo Pascal编译器以来,Borland就靠着Turbo Pascal稳定、优雅、与快速的编译功能,加上当时的Pascal是资讯科系的「官话」,为钦定的教学语言,使得Borland成为雄霸一方的霸主。 随着Turbo Pascal的成功,Borland乘势而起,推出了Turbo C及Turbo C++,成为第二个在PC上推出商业化C++ 的编译器厂商(第一个是Zortech C++,由C++ 之父Bjarne Stroustrup亲自设计,现在已被Symantec收购)。这几个成功的产品,将Borland的声势带上高峰,於是为了更加打响Borland的名号,将旗下的所有产品,改冠以Borland之名,於是Borland的後续产品以Borland为名,如Borland C++,Borland Pascal篹.等等。 在Windows世纪开创之初,Borland C++ 3.1是当初唯一可以在Windows开发Windows软体的程式发展工具,当时Borland还以此为号召,大力抨击当时的MSC (Microsoft C)只能在Dos下撰写Windows程式。然而随着Visual C++ 的推出,情势逆转,在视觉发展工具的优胜劣败下,Borland慢慢地丧失它既有的领土。 在这两强对决的时代,Borland的开国功臣Turbo Pascal始终被遗忘在历史的一个角落,然而它的开发小组也不是省油的灯,在经过了几年的卧薪尝胆之後,Anders Hejlsber再度带领小组(这个小组似乎也不怎麽小篹.),石破天惊地推出了新一代的程式发展工具'Delphi ,这个以快速程式发展工具(RAD'Rapid application Development)为号召的产品,一推出之後立即成为镁光镫的焦点,成为拯救当时Borland的救火队。 在Delphi推出之後,奠定了Borland在RAD领域的不朽地位,而Delphi也成为在PC上唯一可以和工作站级的Nextstep IB (Interface Builder )等量齐观的重量级发展工具,不过这时开始有人在思考,什麽时候Borland会推出C++ 的快速程式发展工具。 在去年的Comdex展,Borland开始赠予一套代号为Ebony的程式发展工具,在几经审阅之後,才发现它就是传说中的Delphi for C++,也就是现在正式名称为Borland C++ Builder, 简称为BCB的RAD。 Borland再次的开启了一个RAD的战场,和当初的Turbo Pascal一般,它的後继者Delphi,是这场战争的先锋,并且已为Borland赢得了多次的前哨战,然後随着C++ Builder的推出,Delphi这个打了胜仗的先锋是否会如它的前身Turbo Pascal般没入历史中呢? 短期看来是不会的,因为BCB现在还算是喝Delphi的奶水长大的,它所使用的软体元件都是以Delphi所撰写的VCL元件(Visual Compoment Library),至於以後Borland会不会以BCB全盘改写VCL呢?这是有可能的,那长期看来,BCB是否会取代Delhi呢?这似乎只能由时间来告诉我们了。不过Delphi之父Anders Hejlsber已经在去年由Borland离职了,这似乎透露了一些讯息。 说到这儿,我想您已经迫不及待地想要一睹C++ Builder的卢山真面目了,没错,今天这场RAD的战争已经开启了,胜败的的观点已不是我们所关心的,我们所关心的是一个程式人的前哨站已经开打了,当别人都在使用C++ Builder这种重武器时,我们该如何因应? 既然无法反抗它,那就加入它! 让我们参与C++ Builder 的创世纪吧! 离别Hello World的年代 许多电脑语言书籍入门书内的第一个程式都以一个印出Hello World字串的小程式作为第一个入门程式,而在Windows程式设计领域享有天王之名的Charles Petzold在他圣经级的着作的PRogramming Windows 中也是以一个Hello Window做为该书的开场白,在迈入C++ Builder的世纪之後,我就不再使用这种纯古法饷造的方法来写作了,为了充份让您感受它的致命吸引力,现在我所展示的给您的第一个程式是多媒体拨放程式,而且我会告诉您如何在十分钟之内写出一个多媒体拨放程式,「十分钟!有没有搞错?」,没错,就是十分钟,用C++ Builder你绝对可以在十分钟内写出一个够水准的媒体播放程式'即使你是一个菜得不能再菜的初学者。 它的执行画面如下: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423546858.gif[/img][/url] 好戏开锣啦! 在进入C++ Builder时你会看到以下的画面 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547026.gif[/img][/url] 首先我简单地为你介绍C++ Builder发展环境,在此我只对整个发展环境做一个简单的浏览,以利程式的撰写。 C++ Builder发展环境主要分为以下元件: (1)表格(Form)视窗 (2)元件盒(Compoment palette) (3)物件检视器(Object Inspector) (4)程式编辑器(Code Editor) (5)加速棒(SpeedBar) 表格视窗 (Form) [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547090.gif[/img][/url] 表格是C++ 程式设计的焦点,我们可以将表格视为一张画布,在程式设计时,我们主要做的工作只是将程式元件放置在表格上而已。因此表格其实可视为一个包含其他元件的软体元件。 元件盒(Compoment Palette) [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547197.gif[/img][/url] 软体元件是你用以架构C++ Builder程式的基本元素。在C++ Builder中软体元件依其元件特性分门别类地放置在活页式的元件盒中,在C++ Builder中提供了超过了百种以上的基本元件,程式设计时,只要将元件盒内的软体元件拖放至表格中即可。 物件检视器(Object Inspector) [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547230.gif[/img][/url] 物件检视器是用以改变物件的内容,改变该物件的行为模式以符合你的需要。物件的内容包含了属性(Property)及其事件处理程式(Event Handler)。你可以视需要改变指定物件的状态及行为模式。 程式编辑器(Code Editor) [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547321.gif[/img][/url] C++ Builder的程式编辑器是一个全功能的编辑器,它让你可以存取及编辑所有专案内的程式。 加速棒(SpeedBar) [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547362.gif[/img][/url] 加速棒(SpeedBar),顾名思义,它是用来加快程式的操作。C++ Builder将许多在功能表中常用的功能,在加速棒中以捷径的方式提供你使用。 你的第一个C++ Builder程式 我们已经简单地介绍了C++ Builder程式发展环境,现在我们要开始撰写我们的第一个程式'媒体拨放程式。 设计表格 首先你要先设计你所要使用的表格长相。设计表格非常简单,其实只是将软体元件放在视窗中而已。以下我以几个步骤示范表格的设计: (1)开启新表格 (2)将软体元件置入表格中 (3)设定各个软体元件的属性 (4)执行程式 完成了以上的程序後,大抵一个程式也差不多设计完了。这也是C++ Builder的迷人之处。 开启新表格 在进入C++ Builder後,它会自动为你开启一个新的表格。此时表格开启的工作就算完成了,若是要加入其他新的表格,只要执行[File/New Form]即可。 将软体元件置入表格中 在开启新表格後,你可以在元件盒中选取元件,置入表格中,在此要非凡说明的是,在C++ Builder的设计时期(Design Time)和执行时期(run time),大部份元件的行为模式几乎是相同,所以在设计时你就可以看到程式执行的结果。 在我们的这个程式中,除了表格外,有一个元件包含了其它的元件,那就是活页式表格元件(TabbedNoteBook),这个元件和表格类似,必须最早放入表格中以容纳其他元件。 在我们的第一个程式中置入软体元件後的结果如下: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547414.gif[/img][/url] 你可以看到,除了因为没有执行,所以没有显示动画档之外,它和执行的结果几乎一模一样。 首先我们来看看这个程式用到了那些元件。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547456.gif[/img][/url] TTabbedNoteBook 活页式表格元件。位於元件盒的「Win3.1」页,用以做出「动画及音效 及|音乐CD 两个表格。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547503.gif[/img][/url] Tlabel 标题元件。位於元件盒的「Standard」页,用以显示"媒体播放程式"字样。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547524.gif[/img][/url] TPanel 面板元件。位於元件盒的「Standard」页,用以显示动画图形档。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547556.gif[/img][/url] TMediaPlayer 媒体播放元件。位於元件盒的「System」页,用以播放多媒体。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547572.gif[/img][/url] TDriveListBox 磁碟机列表元作 。位於元件盒的「System」页,用以显示磁碟机名。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547591.gif[/img][/url] TFilterComboBox 档名过滤器元件。位於元件盒的「System」页,用以过滤档名。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547632.gif[/img][/url] TDirectoryListBox 目录列表元件。位於元件盒的「System」页,用以显示目录。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547668.gif[/img][/url] TFileListBox 档案列表元作。位於元件盒的「System」页,用以显示档案。 在使用这些元件时,请先至元件盒中选出欲使用的元件,然後将其拖放至表格中适当的位置,再改变元件的大小,如此你就可以得到一个表格的雏形了。 设定各个软体元件的属性 将软体元件置入表格中之後,再来我们就要开始设定元件属性了。为了要让这些元件互相合作,我们必须设定它们之间的关系,在设定之前我们先仔细想想它们之间的动作模式: 首先思考磁碟机及档案元件的关系: (1)改变磁碟机後,目录必须跟着改变。 (2)改变目录後,档案列表必须跟着改变。 (3)改变档名过滤器後,档案列表必须跟着改变。 在了解它们的关系後,我们就可以开始动手来设定它们的属性了,设定属性其实非常简单,只要在表格上选取该元件时,物件检视器就会显示该物件所有的属性,以磁碟机元件为例,当我们选取到该元件时,物件检视器就会切换到如下图所示的状态: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547681.gif[/img][/url] 此时你可以看到在物件检视器显示了磁碟机列表元件的属性,其中我们感爱好的是「DirList」一项,你可以选取该栏位,此时你会发现它会出现一个列表,这个列表会将目前表格中所有的目录列表元件显示出来,因为我们所设计的表格中只有一个目录列表元件,所以你只要选择该列表中唯一的一个即可。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547749.gif[/img][/url] 以上的动作所代表的意义就是:建立磁碟机列表元件和目录列表元件之间的关系,当磁碟机改变时,必须通知目录列表元件,使其跟着改变。 同理我们选取目录列表元件,并设定其属性,在目录列表元件中我们感爱好的是「FileList」栏位,此时你可以选取该栏位,并将它设定为表格中的档案列表元件。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547829.gif[/img][/url] 以上的动作所代表的意义就是:建立目录列表元件和档案列表元件之间的关系,当目录改变时,必须通知档案列表元件,使其跟着改变至目前目录的列表。 接着我们选取档名过滤器元件,并设定其属性,在档名过滤器元件中我们感爱好的是「FileList」栏位,此时你可以选取该栏位,并将它设定为表格中的档案列表元件。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547873.gif[/img][/url] 以上的动作所代表的意义就是:建立档名过滤器元件和档案列表元件之间的关系,当档名过滤器改变时,必须通知档案列表元件,使其跟着改变至目前的档案列表。 最後,我们要设定档名过滤器元件的过滤,在这个程式中我希望可以播放AVI动画档及WAV音效档,所以必须适当地设定档名过滤器元件, 同样地,我们首先选取档名过滤器元件。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547920.gif[/img][/url] 在这个元件中我们所感爱好的是其中的「Filter」属性,因此我们在该项目上点二下,此时我们会看到如下的画面: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423547997.gif[/img][/url] 如图所示,我们将AVI动画档及WAV音效档的过滤字元填入即可。在程式执行时,拉下档名过滤器时所显示的名称,就是你所填入的过滤器,它会发挥把关的角色,使得只有符合条件的档名显示在档案列表中。 完成了以上动作之後,你就已经将磁碟机及档案列表元件设定完成了,此时你可以先行执行程式,看看其动作是否正确。执行程式的方法是在选取选单上的「Run/Run」,或是直接按「F9」即可。 如何?神奇吧!用C++ Builder写程式就是这麽简单。 再来我们思考多媒体播放程式的部份,我们希望它的动作方式如下: (1)以TPanel来显示动画画面。 (2)以多媒体播放元件来播放目前档案列表中所选取的档案。 (3)在档案列表元件以双击(Double-Click)来播放该档案。 首先我们先来看看多媒体播放元件的内容: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548024.gif[/img][/url] 在多媒体播放程式中我们感爱好的是其中的「Display」项目。因此我们选取「Display」项目,此时你会看到所有在表格中可供显示的元件: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548074.gif[/img][/url] 我们希望将动画画面显示在「Panel1」元件中,因此请你选择「Panel1」项目。完成这个动作之後,媒体播放程式在播放动画档时会将画面显示在「Panel1」上。 接着我们设定播放的动作: 要设定播放的动作,你必须选取多媒体播放元件,并将物件检视器切换至「事件(Events)」页,然後在其中的OnClick上按两下(Double-Click),接着C++ Builder会为你自动产生一段空的程式码的,然後就切换至程式编辑器中。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548119.gif[/img][/url] 以下的画面即是C++ Builder切换的程式编辑器画面,此画面我已经填入了程式码,你的程式应该是空的。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548156.gif[/img][/url] 再来我们看看应该在其中填入那些程式码呢? void __fastcall TForm1::MediaPlayer1Click(TObject *Sender, TMPBTnType Button, bool &DoDefault) { //以下为我们填入的程式码 if (Button==btPlay) { MediaPlayer1->FileName=FileListBox1->FileName; MediaPlayer1->Open(); MediaPlayer1->Play(); DoDefault=FALSE; } else DoDefault=TRUE; } 以上我们填入的程式码的主要动作就是: (1)将媒体播放元件档名指定为档案列表元件目前的档名。 (2)开启媒体播放程式。 (3)开始播放。 进行到这儿,你可以再次执行程式。然後选取适当的档案,在选好了档案之後,你就可以在多媒体拨放元件中选择执行[url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548231.gif[/img][/url],若是你所选择的是AVI动画档,你已经可以看到动画播放在我们所指定的元件「Panel1」上了。 [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548298.gif[/img][/url] 最後,我们希望再提供一种播放档案的方式,那就是在档案列表中以双击(Double-Click)的方式来播放指定档案。此时我们可以选择档案列表元件,并将物件检视器切换至事件页,这时你会看到以下的画面: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548445.gif[/img][/url] 同样地你可以在「OnDblClick」项目双击,此时C++ Builder会自动为我们产生程式码,并且自动切换至程式码编辑器中: [url=http://www.wangchao.net.cn/bbs/hydetail_1785410.html][img]http://image.wangchao.net.cn/it/1323423548550.gif[/img][/url] 上图即为程式码编辑画面,此画面我已经填入了程式码,你的应该是空的,接着你再於编辑器中填入以下的程式码: void __fastcall TForm1::FileListBox1DblClick(TObject *Sender) { MediaPlayer1->FileName=FileListBox1->FileName; MediaPlayer1->Open(); MediaPlayer1->Play(); } 以上我们填入的程式码的主要动作就是: (1)将媒体播放元件档名指定为档案列表元件目前的档名。 (2)开启媒体播放程式的指定档案。 (3)开始播放。 在完成了上述的操作之後,你可以再次地执行程式,选取欲播放的档案,然後以双击的方式来执行档案。 进行到这儿,你已经把握了C++ Builder程式设计的精神,也写出了一个不错的媒体播放程式。你是不是对C++ Builder的快速程式发展环境(RAD:Rapid Application Development)愈来愈有信心了呢? 接下来你会发现,到目前为止,我似乎没有把这个范例程式完全解说清楚,因为前面的执行画面中的活页式表格元件中,还有另一页是「音乐CD」的播放,另外关於「媒体拨放程式」这个字形的设定方式也没有解说。 是的,没错,这些都是我打算留给你自行练习的项目,因为较之前面所述的几个操作,它们都简单多了,以下我先简单透露几个重点: (1)选择「活页式表格」元件,并改变其「Pages」属性。利用它所提供的编辑器,编辑页数及名称。 (2)将「ActivePage」切换至音乐CD页,如前面所述加入一个多媒体播放元件。 (3)将多媒体播放元件的「Device Type」设定为CD Audio. (4)撰写播放程式码。因为播放音乐CD不需要开档,所以不需要指定档案。 (5)设定各个标的字形。 完成了以上的动作後,你可以再度执行程式并切换「音乐CD」中,放入CD,然後就可以播放CD了。 你可以试着自行去打造你的程式画面,以上的程式画面都只用了简单的标题元件及图形元件而已,你可以尝试着玩玩看。 以上就是我们用C++ Builder所撰写的第一个程式,它是不是给了你一个全新的感受,原来Window 程式设计也可以是如此这般的轻松。 当然,这只是一个开始而已,在後续的单元中,我会继续带着你走进C++ Builder所架构的漂亮新世界,探索这种新的程式设计方法。
󰈣󰈤
日版宠物情人插曲《Winding Road》歌词

日版宠物情人2017的插曲,很带节奏感,日语的,女生唱的。 最后听见是在第8集的时候女主手割伤了,然后男主用嘴帮她吸了一下,插曲就出来了。 歌手:Def...

兄弟共妻,我成了他们夜里的美食

老钟家的两个儿子很特别,就是跟其他的人不太一样,魔一般的执着。兄弟俩都到了要结婚的年龄了,不管自家老爹怎么磨破嘴皮子,兄弟俩说不娶就不娶,老父母为兄弟两操碎了心...

网络安全治理:国家安全保障的主要方向是打击犯罪,而不是处置和惩罚受害者

来源:中国青年报 新的攻击方法不断涌现,黑客几乎永远占据网络攻击的上风,我们不可能通过技术手段杜绝网络攻击。国家安全保障的主要方向是打击犯罪,而不是处置和惩罚...

 
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
80后模特儿
初夏依娜休闲
边缘
英德沙口油菜花
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有