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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? 在delphi中處理數(shù)據(jù)庫(kù)日期型字段的顯示與輸入 .htm

?? 對(duì)于學(xué)習(xí)很有幫助
?? HTM
字號(hào):
<html>

<head>
<link REL="stylesheet" HREF="/style.css" TYPE="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>計(jì)算機(jī)世界日?qǐng)?bào):
在Delphi中處理數(shù)據(jù)庫(kù)日期型字段的顯示與輸入
</title>
<!--***********-->
</head>

<body bgcolor="#FFFFFF" >














<p><br>
<font color="#b904e8"><b><em><a href="class.htm">返回</a></em></b></font>
<center>
<font color="#0000c0"><h2>
在Delphi中處理數(shù)據(jù)庫(kù)日期型字段的顯示與輸入
</h2></font>
<h3>
[請(qǐng)作者提供詳細(xì)的郵政地址給<a href="mailto:online@ccw.com.cn">我們</a>]
</h3>
</center>
<p><font color="#ffffff">----</font>

在使用Delphi進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),不可避免的會(huì)涉及到日期型字段的輸入問(wèn)題。不過(guò)與Microsoft的Access 97中文版等相比,Delphi本身提供的日期型字段的顯示和輸入方式并不適合中國(guó)人的習(xí)慣。因此對(duì)于日期型字段的處理,大家提出了不少解決方法,但是處理結(jié)果在顯示和輸入上并不統(tǒng)一,例如顯示時(shí)可以實(shí)現(xiàn)“yyyy年mm月dd日”的格式,但是在輸入時(shí)還是要按照國(guó)外的習(xí)慣用“yyyy-mm-dd”的形式進(jìn)行輸入;而使用TdateTimePicker進(jìn)行選擇輸入總嫌麻煩;有些方法還要修改系統(tǒng)的一些設(shè)置屬性,因而在進(jìn)行軟件發(fā)布時(shí)要將系統(tǒng)的屬性進(jìn)行調(diào)整;采用第三方控件的方式則還要將控件打包發(fā)布。而且對(duì)于常用到的“1999年”、“1999年11月”等日期格式,沒(méi)有進(jìn)行相應(yīng)的處理。這里我根據(jù)自己的實(shí)踐,利用TField的OnGetText和OnSetText兩個(gè)事件的結(jié)合,以期達(dá)到日期型字段的顯示和輸入的統(tǒng)一,并可以處理我們常見(jiàn)的“1999年”、“1999年11月”等日期形式的顯示和輸入,全部利用Delphi提供的事件實(shí)現(xiàn),不需要修改任何系統(tǒng)設(shè)置。進(jìn)行相應(yīng)的擴(kuò)展后,還可以用于時(shí)間的顯示和輸入,如“hh點(diǎn)mm分”等。同時(shí),由于是直接控制TField的事件,所以不論使用TDBGrid還是用TDBEdit,都可以正常的進(jìn)行統(tǒng)一處理,而不必分開(kāi)考慮。采用類似的方法,還可以應(yīng)用于非數(shù)據(jù)庫(kù)應(yīng)用程序中的日期輸入。
<p><font color="#ffffff">----</font>
<b>1 基本思想</b>
<p><font color="#ffffff">----</font>

利用TField的EditMask屬性,將其同時(shí)作為顯示和輸入的掩碼,在TField的OnGetText事件中處理日期字段的顯示,而在OnSetText事件中處理輸入值的有效性判斷。為了重復(fù)利用代碼,將OnGetText和OnSetText的事件處理過(guò)程調(diào)用的過(guò)程和函數(shù)放到一個(gè)獨(dú)立的單元中。
<p><font color="#ffffff">----</font>
<b>2 具體實(shí)現(xiàn)代碼</b>
<pre>
{顯示和判斷單元}
unit DBDateEditMaskTrans;
interface
uses
  Windows, SysUtils, Controls, Forms,Db;

  {日期型字段顯示過(guò)程,在OnGetText事件中調(diào)用}
  procedure DateFieldGetText(Sender: TField;
 var Text: String);

  {日期型字段輸入判斷函數(shù),在OnSetText事件中調(diào)用}
  function DateFieldSetText(Sender: TField; 
const Text: String):Boolean;

implementation

procedure DateFieldGetText(Sender: TField;
 var Text: String);
var
  dDate:TDate;
  wYear,wMonth,wDay:Word;
  aryTestYMD:Array [1..2] of Char
;{測(cè)試輸入掩碼用臨時(shí)數(shù)組}
  iYMD:Integer;
begin
  dDate:=Sender.AsDateTime;
  DecodeDate(dDate,wYear,wMonth,wDay);
 
 {測(cè)試輸入掩碼所包含的格式.}
  aryTestYMD:='年';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=1;
    aryTestYMD:='月';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=2;
    aryTestYMD:='日';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=3;

  case iYMD of
    1:{輸入掩碼為:”yyyy年”的格式.}
      Text:=IntToStr(wYear)+'年';
    2: {輸入掩碼為:”yyyy年mm月”的格式.}
      Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月';
    3: {輸入掩碼為:”yyyy年mm月dd日”的格式.}
      Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月'
		+IntToStr(wDay)+'日';
  else {默認(rèn)為:”yyyy年mm月dd日”的格式.}
    Text:=IntToStr(wYear)+'年'+IntToStr(wMonth)+'月'
	+IntToStr(wDay)+'日';
  end;

end;

function DateFieldSetText(Sender: TField; 
const Text: String):Boolean;
var
  dDate:TDate;
  sYear,sMonth,sDay:String;
  aryTestYMD:Array [1..2] of Char;
  iYMD:Integer;
begin
  {獲得用戶輸入的日期}
  sYear:=Copy(Text,1,4);
  sMonth:=Copy(Text,7,2);
  SDay:=Copy(Text,11,2);

  {測(cè)試輸入掩碼所包含的格式.}
  aryTestYMD:='年';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=1;
  aryTestYMD:='月';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=2;
  aryTestYMD:='日';
  if StrScan(PChar(Sender.EditMask),
aryTestYMD[1])< >nil then
    iYMD:=3;

  {利用Try…Except進(jìn)行輸入的日期轉(zhuǎn)換}
  try
    begin
      case iYMD of
        1: {輸入掩碼為:”yyyy年”的格式.}
          begin
            dDate:=StrToDate(sYear+'-01-01')
  ;{中文Windows默認(rèn)的日期格式為:yyyy-mm-dd.下同}
            Sender.AsDateTime:=dDate;
          end;
        2: {輸入掩碼為:”yyyy年mm月”的格式.}
          begin
            dDate:=StrToDate(sYear+'-'+sMonth+'-01');
            Sender.AsDateTime:=dDate;
          end;
        3: {輸入掩碼為:”yyyy年mm月dd日”的格式.}
          begin
            dDate:=StrToDate(sYear+'-'+sMonth+'-'+sDay);
            Sender.AsDateTime:=dDate;
          end;
      else {默認(rèn)為:”yyyy年mm月dd日”的格式.}
        begin
          dDate:=StrToDate(sYear+'-'+sMonth+'-'+sDay);
          Sender.AsDateTime:=dDate;
        end;
      end;
      DateFieldSetText:=True;
    end;
  except
    {日期轉(zhuǎn)換出錯(cuò)}
    begin
      Application.MessageBox(PChar(Text+'不是有效的日期!'),
'錯(cuò)誤',mb_Ok+mb_IconError);
      DateFieldSetText:=False;
    end;
  end;

end;

end.

{主窗口單元}
unit Main;

interface

uses
……{略去其他內(nèi)容}
procedure Table1BirthdayGetText(Sender: TField;
 var Text: String;DisplayText: Boolean);
procedure Table1BirthdaySetText(Sender: TField; 
const Text: String);
private
{ Private declarations }
public
{ Public declarations }
……{略}
implementation

{將自定義的單元包含進(jìn)來(lái)}
uses DBDateEditMaskTrans;

{$R *.DFM}
……{其他過(guò)程略}
procedure TForm1.FormActivate(Sender: TObject);
{設(shè)置一個(gè)日期型字段的輸入掩碼,
可以放到TField字段定義中。}
begin
  Table1.FieldByName('Birthday').EditMask:=
'9999\年99\月99\日;1;_';
end;

procedure TForm1.Table1BirthdayGetText(Sender: 
TField; var Text: String;DisplayText: Boolean);
begin
  DateFieldGetText(Sender,Text);
end;

procedure TForm1.Table1BirthdaySetText(Sender:
 TField; const Text: String);
begin
  if DateFieldSetText(Sender,Text)=False then
    Abort; {轉(zhuǎn)換不成功,日期非法}
end;

end.

</pre>
<font color="#ffffff">----</font>

以上代碼在中文Windows95 + Delphi3 + Paradox7環(huán)境下測(cè)試通過(guò)。





 



<p align="right"><small><em>中國(guó)計(jì)算機(jī)世界出版服務(wù)公司版權(quán)所有</em></small> 
<br>
</p>
</body>
</html>

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美videos大乳护士334| 成人动漫一区二区在线| 国产午夜精品理论片a级大结局| 粉嫩嫩av羞羞动漫久久久| 亚洲国产成人av| 欧美国产成人精品| 日韩欧美第一区| 欧美色图激情小说| 丁香激情综合国产| 麻豆91在线观看| 一区二区三区在线免费播放| 国产欧美日韩视频在线观看| 日韩午夜在线观看| 欧美日韩一区不卡| 97精品久久久午夜一区二区三区| 国产在线精品一区二区三区不卡| 亚洲成av人片| 亚洲伊人伊色伊影伊综合网| 国产色91在线| 精品久久久久久久久久久久久久久| 欧美性欧美巨大黑白大战| 99国产欧美另类久久久精品| 国产乱码精品一区二区三区五月婷| 青青草97国产精品免费观看| 一级女性全黄久久生活片免费| 国产精品福利一区二区三区| 久久精品在这里| 精品成人a区在线观看| 欧美一级黄色大片| 6080日韩午夜伦伦午夜伦| 欧美视频在线一区二区三区| 一本大道av伊人久久综合| 成人国产精品视频| 波多野结衣中文字幕一区 | 欧美区视频在线观看| 在线免费一区三区| 欧美最猛黑人xxxxx猛交| 在线影院国内精品| 91福利在线免费观看| 91精品福利在线| 欧美综合久久久| 欧美网站一区二区| 欧美伦理影视网| 91精品国产麻豆国产自产在线| 欧美日韩小视频| 91.成人天堂一区| 欧美一区二区三区白人| 日韩欧美资源站| 亚洲精品一区二区三区四区高清| 精品成人一区二区三区四区| 久久久99精品久久| 国产精品久久久久一区| 成人免费一区二区三区在线观看| 亚洲免费毛片网站| 亚洲第一搞黄网站| 老司机免费视频一区二区| 国内一区二区在线| 不卡的av中国片| 欧美日韩精品一区二区天天拍小说 | 中文字幕在线视频一区| 日韩三级中文字幕| 久久久久久久久免费| 国产精品久久久久久久久免费丝袜 | 久久久美女艺术照精彩视频福利播放| 久久综合色之久久综合| 国产精品久久久久久久久搜平片| 一区2区3区在线看| 裸体在线国模精品偷拍| 成人一区二区三区中文字幕| 91免费小视频| 日韩精品一区二区三区中文不卡| 国产色一区二区| 亚洲成av人片一区二区梦乃| 激情亚洲综合在线| 91丝袜国产在线播放| 欧美二区在线观看| 国产日韩欧美激情| 亚洲成人综合视频| 丁香五精品蜜臀久久久久99网站 | 色婷婷久久综合| 日韩一级片网站| 1000精品久久久久久久久| 日韩国产成人精品| 成人禁用看黄a在线| 欧美精品久久天天躁| 日本一二三不卡| 首页国产丝袜综合| jlzzjlzz欧美大全| 欧美大片在线观看一区二区| 国产精品福利一区| 蜜臀91精品一区二区三区| 99re热这里只有精品免费视频| 3d成人动漫网站| 亚洲柠檬福利资源导航| 久久精品国产77777蜜臀| 色综合天天综合| 久久亚洲免费视频| 天天综合天天综合色| 成人av动漫网站| 欧美精品一区二区三区在线 | 精品国产乱码久久久久久蜜臀| 日韩毛片在线免费观看| 首页国产欧美日韩丝袜| 国产在线精品一区二区不卡了| 欧洲激情一区二区| 中文字幕一区二区三区av| 国产一区亚洲一区| 欧美一级日韩免费不卡| 亚洲一区视频在线观看视频| 成人免费视频caoporn| 精品国产免费人成电影在线观看四季| 亚洲美腿欧美偷拍| 成人激情开心网| 2024国产精品| 美女视频黄 久久| 欧美精三区欧美精三区 | 久久成人18免费观看| 欧美日韩国产成人在线免费| 亚洲女同女同女同女同女同69| 国产91丝袜在线18| 久久九九全国免费| 国产伦理精品不卡| 久久综合九色综合欧美就去吻 | 国产美女久久久久| 欧美成人vps| 久久国产精品一区二区| 欧美一区二区视频在线观看| 午夜影视日本亚洲欧洲精品| 欧美视频第二页| 亚洲国产精品久久人人爱蜜臀| 一本一本久久a久久精品综合麻豆| 亚洲国产精品传媒在线观看| 国产成人免费9x9x人网站视频| 久久久久久久久99精品| 国产精品一区二区三区99| 久久久精品国产99久久精品芒果| 国产资源精品在线观看| 久久免费精品国产久精品久久久久| 理论片日本一区| 国产欧美一区二区在线| 高清不卡一区二区在线| 国产精品电影一区二区三区| 91欧美激情一区二区三区成人| 亚洲精选视频在线| 欧美日韩在线观看一区二区| 午夜伊人狠狠久久| 日韩美女在线视频| 国产精品影视在线| 中文字幕一区二区三区色视频| 91麻豆国产香蕉久久精品| 樱桃国产成人精品视频| 欧美美女喷水视频| 久久99久久久久| 中文字幕乱码一区二区免费| 97se亚洲国产综合自在线| 亚洲网友自拍偷拍| 日韩欧美123| 成人性生交大合| 亚洲电影一级黄| 欧美成人一区二区| 成人av手机在线观看| 亚洲国产精品综合小说图片区| 91精品福利在线一区二区三区 | 日本精品视频一区二区三区| 亚洲国产成人va在线观看天堂| 欧美成人vr18sexvr| 成人一区二区三区| 一级做a爱片久久| 2020国产精品自拍| 91女神在线视频| 捆绑调教一区二区三区| 国产精品国产三级国产| 欧美精品在线一区二区三区| 国产一区欧美日韩| 亚洲国产中文字幕在线视频综合| 日韩欧美中文字幕精品| av中文字幕亚洲| 免费观看在线综合色| 成人欧美一区二区三区视频网页 | 成人av片在线观看| 日本午夜一区二区| 国产精品超碰97尤物18| 日韩午夜在线影院| 色又黄又爽网站www久久| 裸体歌舞表演一区二区| 亚洲少妇最新在线视频| 欧美成人在线直播| 色综合天天性综合| 精品一区在线看| 亚洲大片一区二区三区| 丝袜美腿一区二区三区| 亚洲国产精品av| 日韩视频中午一区| 色婷婷久久久亚洲一区二区三区| 日韩午夜精品电影| 日韩精品亚洲一区二区三区免费| 国产精品欧美一区喷水| 精品国产伦一区二区三区免费| 欧美日韩一区在线| 99精品桃花视频在线观看|