亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Delphi > 正文

Delphi控件的拿來主義(三)

2019-11-18 18:43:28
字體:
供稿:網(wǎng)友
----問題二及解決方案

 每一條導(dǎo)入表中的紀(jì)錄除了ISO文件中的內(nèi)容外,還需要有書的類型,期號,以及ID號,而TPgCSV在插入新紀(jì)錄時(shí)只處理了同文本文件中的數(shù)據(jù)相關(guān)的字段,因此,這些字段的內(nèi)容需要我們自己來加入。不用說,很自然的就會想到Table中的AfterInsert事件.但問題是,我的Table在DataModule單元中,我必須傳參數(shù)到AfterInsert事件中,麻煩!同時(shí),這樣的處理會帶來維護(hù)上的混亂,一個(gè)單元里面發(fā)生的事件應(yīng)該盡量由這個(gè)單元里面的函數(shù)或過程來處理。于是,我又想到了在當(dāng)前單元中寫一個(gè)處理過程,然后在程序運(yùn)行時(shí)把這個(gè)過程指派給Table的AfterInsert事件,導(dǎo)入結(jié)束后再禁止掉??尚校€是麻煩!既然大多數(shù)情況下都會遇到這樣的問題,那何不一了百了,把這個(gè)事件封裝起來呢.

    同問題一一樣,這里我們還是需要一個(gè)事件處理過程AfterInsert.這一次應(yīng)該加在哪兒呢?大家肯定一眼就看出來了:

PRocedure TPgCSV.CSVToDataSet;

begin


FDataset.DisableControls;

 while (not Eof(FFile)) and (not FStop) do

  begin

   //read from CSV

   Readln(FFile,RecordString);

    //xm4014's modification

   if Assigned(FRegulateString) then

    FRegulateString(self,RecordString);

   //add new record

   try

FDataset.Append;

//應(yīng)該加在這兒!

//xm4014's modification

if Assigned(FAfterInsert) then

AfterInsert(self,FDataset);


for i:=1 to CountMapItems do


end;

 

同樣,這里需要定義新的事件聲明和事件屬性,因?yàn)樾枰獙DataSet的參數(shù)傳遞出去,聲明代碼可參看Delphi控件的拿來主義(二)(http://www.csdn.net/develop/read_article.asp?id=11855).

重新編譯控件,就可在AfterInsert事件中添加代碼對書的類型,期號,以及ID號進(jìn)行賦值了.

 

----問題三及解決方案

   涉及到數(shù)據(jù)庫的問題現(xiàn)在都已經(jīng)解決了.但是還有一個(gè)顯示問題.程序要求用ProgressBar顯示導(dǎo)入進(jìn)度.為了設(shè)置ProgressBar.Max的值,我需要在導(dǎo)入之前知道ISO文件中一共有多少條紀(jì)錄,即一個(gè)類似于RecordCount的屬性.但是TPgCSV中沒有這樣的一個(gè)屬性.

   那么我們就來添加一個(gè)這樣的屬性

  //xm4014's modification

   property CSVRecordCount   : integer read FCSVRecordCount write FCSVRecordCount default 0;

    怎么樣給它賦值呢? 很簡單,可以用ReadLn(F)對ISO文件進(jìn)行掃描,然后將掃描的次數(shù)累加。

關(guān)鍵是在哪兒進(jìn)行這個(gè)處理.很顯然,對于同一個(gè)文件,這樣的工作只需要做一次就可以了。既然對于不同的文件才需要重新統(tǒng)計(jì),那么我們可以在每次設(shè)置文件名屬性的時(shí)候,對文本文件進(jìn)行掃描。

  好,找到TPgCSV的文件名屬性

property CSVFile     : string        read FCSVFile          write FCSVFile;

做一下小小的修改

新的屬性聲明

property CSVFile     : string        read FCSVFile          write SetCSVFile;

按Ctrl+shift+c編寫SetCSVFile的方法代碼如下

 

procedure TPgCSV.SetFCSVFile(const Value: string);

var

F1:TextFile;

iCount:integer;

begin

  if FCSVFile<>Value then

   begin

    FCSVFile := Value;

//文件名一換,就重新掃描,改變FCSVRecordCount的值

    if FileExists(Value) then

    begin

      AssignFile(F1, Value);

      Reset(F1);

      iCount:=0;

      while not Eof(F1) do

      begin

        ReadLn(F1);

        Inc(iCount);

      end;

      FCSVRecordCount:=iCount;

    end;

   end;

end;

 

編譯之后我們就可以在導(dǎo)入操作進(jìn)行之前放心的調(diào)用CSVRecordCount屬性獲取紀(jì)錄個(gè)數(shù)值了:

ProgressBar1.Min :=0;

ProgressBar1.Max:=PgCSV1.CSVRecordCount;

以上程序在Delphi 6.0/Win98下調(diào)試通過

寫到這里基本上算是大功告成了.其實(shí)前前后后做的修改掰著指頭都可以數(shù)出來.可就是這么點(diǎn)小小的升級,讓我真正覺得用起來更加得心應(yīng)手,我想,下次我再用的時(shí)候,會越發(fā)體會到它的價(jià)值.而且經(jīng)過這么一番分析修改,我也長進(jìn)不少啊,比半瓢多了幾滴,呵呵!
需要指出的是,TPgCSV是一個(gè)簡單的控件,它既沒有很復(fù)雜的關(guān)系,也不涉及到對VCL核心內(nèi)容的調(diào)用,所以在修改的時(shí)候是不用有太多的顧慮的.一旦源碼中涉及到很復(fù)雜的層次關(guān)系時(shí),就需要對你添加或修改的每一行代碼深思熟慮了,不然,可能會牽一發(fā)而動全身,最后想回頭都難了.因此,我所說的拿來用的原則實(shí)際上還是依托于控件本身的功能,而沒有實(shí)質(zhì)內(nèi)容上的變動。要達(dá)到隨心所欲的境界,各位(我也在內(nèi))還要繼續(xù)努力??!

上一篇:delphi常用文檔之四

下一篇:Delphi源程序格式書寫規(guī)范

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
學(xué)習(xí)交流
熱門圖片

新聞熱點(diǎn)

疑難解答

圖片精選

網(wǎng)友關(guān)注

狂野欧美性猛交| 在线一区高清| 精品国产区一区二区三区在线观看| 麻豆免费在线视频| 日本二区在线观看| 91资源在线观看| 国内精品久久久久久影院8f| www.国产| 狠狠色噜噜狠狠狠狠黑人| 欧美成a人片免费观看久久五月天| 国产综合一区二区| 2019中文字幕在线视频| 久久久国产精品亚洲一区| www.色国产| 精品国产乱码久久久久久牛牛| 久久爱av电影| 99精产国品一二三产品香蕉| 欧美极品欧美精品欧美| 国产精品自拍99| 亚洲色图都市激情| 99re6在线视频| 精品欧美色视频网站在线观看| 亚洲精品午夜精品| 在线观看免费黄视频| 国产色在线观看| 欧美高清不卡在线| 日本视频三区| 91精品国产麻豆国产自产在线| 爱啪导航一精品导航站| 丰满少妇又爽又紧又丰满电影| 成人春色激情网| 99在线观看视频| 成人女保姆的销魂服务| 久久久噜噜噜久久中文字免| 欧美女激情福利| 中文字幕人妻色偷偷久久| 一个人免费视频www在线观看| 中文字幕人妻一区二| 中文字幕精品av| 人人妻人人澡人人爽精品日本| 国产一区二区不卡视频在线观看| 亚洲国产激情av| 精品国产乱码一区二区三| 曰本色欧美视频在线| 伊人久久在线| 欧美一级在线视频| 久久mv成人精品亚洲动漫| 欧美中文在线观看国产| 久久久久亚洲av片无码v| 成人国产精品一区二区免费麻豆| 欧美激情在线| 中文字幕第50页| 久久精品国产999大香线蕉| 一级黄色片在线看| 亚洲无码精品在线播放| 国际av在线| 亚洲欧美福利视频| 亚洲日本中文字幕在线| 欧美污视频网站| 一区二区三区 在线观看视| 欧洲美女7788成人免费视频| 国产视频不卡在线| 华人av在线| 欧美天天综合色影久久精品| 久久99精品国产99久久| 欧美18一14sex性处hd| 久艹视频在线免费观看| 小泽玛利亚一区二区三区视频| segui88久久综合9999| 久久av综合网| 久久久久综合一区二区三区| 国产精品一品| 国产成人精品免费视频| 国产欧美日韩中文久久| 天堂社区日本电影超碰| 国产精品一区二区免费看| av中字幕久久| 精品无人乱码一区二区三区的优势| 国产美女视频免费看| 成人性片免费| 欧美视频专区一二在线观看| 日韩欧美视频一区二区三区| 久久视频一区二区| 欧美体内she精高潮| 黄页网址大全在线播放| 丰满亚洲少妇av| 亚洲免费av一区二区| 999在线观看视频| 欧美激情麻豆| 亚洲乱码一区二区三区在线观看| 天天影视色综合| 国产男女免费视频| 久久草在线视频| 视频一区二区在线观看| 大桥未久在线播放| 亚洲午夜精品久久久久久久久久久久| 伊人色综合久久天天五月婷| 精品日本12videosex| 明星裸体视频一区二区| 亚洲精品精品亚洲| 宅男噜噜噜66国产免费观看| 国产精品免费电影| 69堂免费精品视频在线播放| 欧美性猛交xxxx乱大交91| 天天操综合520| 国产精品黄页网站在线播放免费| av毛片久久久久**hd| 国产日产精品一区二区三区| 男人添女人下面高潮视频| 亚洲一级不卡视频| 999www人成免费视频| 亚洲国产精品久久久男人的天堂| 久久99精品久久久| 亚洲国产综合在线观看| 酒色婷婷桃色成人免费av网| 毛片在线免费视频| 成人毛片在线播放| 精品少妇人欧美激情在线观看| 久草视频手机在线观看| 秘密影院久久综合亚洲综合| 久久久久久人妻一区二区三区| 精品欠久久久中文字幕加勒比| 日产精品99久久久久久| 亚洲精品国产精品乱码在线观看| 真人做人试看60分钟免费| 国产精品一国产精品k频道56| 亚洲视频一区二区在线观看| 成人免费视频网| 欧美男女交配视频| 亚洲成在人线免费视频| 黄色免费在线观看| 国产精品不卡视频| 亚洲高清123| 日韩最新中文字幕电影免费看| 亚洲区综合中文字幕日日| 日本一区二区三区久久| 国产午夜精品一区二区三区四区| 蜜臀av午夜精品| 综合在线一区| 欧美 日韩 成人| 日韩av免费大片| 日韩伦理电影网站| 日本一区二区成人在线| 91精品国产91久久久久| av永久免费观看| 91麻豆精品一二三区在线| 久久免费看少妇高潮| 色综合视频在线观看| 精品国产乱码久久久久久夜甘婷婷| 国产 欧美 日本| 精品无人国产偷自产在线| 欧美虐宫另类残忍视频| 久久久久久一二三区| 精品一区久久| 色综合亚洲精品激情狠狠| 久久无码av三级| 亚洲天堂网站在线观看视频| 色天天综合狠狠色| 男人天堂欧美日韩| 丰满肉肉bbwwbbww| 亚洲做受高潮| 制服丝袜亚洲精品中文字幕| 欧美日韩激情在线| 91精品国产自产观看在线| 日韩伦理视频| 欧美视频免费| 蜜桃在线视频| 麻豆传媒在线播放| 91在线视频官网| 国产一区二区三区不卡视频网站| 青青久在线视频| 精品国产乱码久久久久久蜜臀| 亚洲一区视频| 精品一区二区三区四| 91国内在线视频| 欧美三片在线视频观看| 日本乱人伦一区| 国产理论电影在线观看| 国产凹凸在线观看一区二区| 久久久久青草大香线综合精品| 黄色成人91| 在线观看日本黄色| 国产精品色哟哟| 欧美性一二三区| 青青青青久久精品国产一百度| 久久久久久网址| 国产91精品看黄网站在线观看| 亚洲丶国产丶欧美一区二区三区| 国产一区二区在线播放| 日本精品网站| 一区二区伦理片| 国产中文字幕免费| 色又黄又爽网站www久久| 亚洲成av人乱码色午夜| 日本不卡中文字幕| 亚洲精品一区二三区| 波多野结衣成人在线| www.黄色小说.com| 国产超碰在线一区| 国产女大学生av| 麻豆精品一二三| 国产一区二区三区视频在线播放| 国产精品69久久久久水密桃| 久久精品aⅴ无码中文字字幕重口| 国产永久免费高清在线观看| 国产黄色麻豆视频| 亚洲男人的天堂在线aⅴ视频| 精品少妇无遮挡毛片| 成人私拍视频| 欧美激情办公室videoshd| 成a人片在线观看| 男人午夜免费视频| 在线播放精品一区二区三区| 91网址在线看| 97视频人免费观看| 久久看人人摘| 男女爱爱免费网站| 欧美三区美女| 国产剧情麻豆剧果冻传媒视频免费| 一区二区三区免费在线视频| 国产不卡一区二区视频| 91视频免费在线| 朝桐光av一区二区三区| 中文字幕av影视| 国产日韩精品一区| 小早川怜子痴女在线精品视频| 亚洲精品aⅴ中文字幕乱码| wwwww在线观看免费视频| 少妇高潮一69aⅹ| 牛牛视频精品一区二区不卡| 在线久久视频| 91精品国产高清91久久久久久| 无码一区二区三区在线观看| 免费网站观看www在线观看| 亚洲同志男男gay1069网站| 久久国产日韩欧美精品| 国模一区二区三区白浆| 又黄又爽的视频在线观看| 成人va在线观看| 午夜欧美2019年伦理| 亚洲春色综合另类校园电影| 亚洲国产成人av在线| 中文字幕日韩免费视频| 国内福利视频| 日本一区二区不卡| 国产视频中文字幕在线观看| 超碰免费在线公开| 亚洲午夜精品国产| 97精品欧美一区二区三区| 中文字幕在线网站| 国产精品一区二区在线观看网站| 91久久爱成人| 久久久另类综合| 欧美日韩亚洲国产成人| 国产在线精品成人一区二区三区| 日韩欧美在线第一页| 91精品久久久久久久久青青| 九色国产在线观看| 高潮按摩久久久久久av免费| 7m精品国产导航在线| 在线观看你懂的视频| 欧美极品视频在线观看| 国产精品久久777777| 秋霞在线观看一区二区三区| 亚洲第一网站男人都懂| 欧美亚洲国产视频小说| 国产免费福利视频| 色综合天天综合给合国产| 日韩高清免费在线| 伊人情人网综合| 国产一区二区三区四区大秀| 国产又大又长又粗| 北条麻妃在线观看| 一级黄色a毛片| 穿情趣内衣被c到高潮视频| 91精品国产高清一区二区三区| 久久久噜噜噜久噜久久综合| 亚洲av成人精品一区二区三区在线播放| 亚洲资源在线观看| 午夜一区二区三视频在线观看| 亚洲人成网77777色在线播放| 97国产精品免费视频| 日韩免费电影在线观看| 拍真实国产伦偷精品| 三级网站免费观看| 国产精品美女无圣光视频| 免费超爽大片黄| 日韩欧美亚洲精品| 国产精品va| 国产传媒一区二区三区| 亚洲午夜精品网| 午夜不卡福利视频| 综合激情成人伊人| 91亚洲午夜在线| 四虎www4hu永久免费| 69久久夜色精品国产7777| 欧美日韩午夜在线| 国产乱视频在线观看播放| 亚洲精品自拍第一页| 北条麻妃国产九九精品视频| 日韩肉感妇bbwbbwbbw| a级毛片免费高清视频| 色综合天天天天做夜夜夜夜做| 久久人人爽人人爽爽久久| 亚洲视频重口味| 欧美三级网站在线观看| 欧美精品123| 影音先锋电影在线观看| 国产毛片久久久久久久| 美女网站一区| 国产精品久久毛片a| 日本高清网站| 国产一区二区三区视频免费观看| 国产特黄大片aaaa毛片| 一区二区国产视频| 伊人久久大香线蕉成人综合网| 视频一区二区三区四区五区| 免费在线成人激情电影| 第四色在线一区二区| 国产精品久久久久一区二区三区厕所| 中文字幕av一区二区三区谷原希美| 欧美色图色就是色| 在线视频国内一区二区| 久久狠狠久久综合桃花| 国产极品美女到高潮| 国产精品剧情一区二区在线观看| 欧美一卡2卡3卡4卡无卡免费观看水多多| 亚洲乱码久久|