程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> 使DevExpress日期控件正確顯示

使DevExpress日期控件正確顯示

編輯:Delphi
使DevExpress日期控件正確顯示
  ===========================================
  作者:Andy Kwok
  電郵:[email protected]
  語言:Delphi 5
  環境:Windows 2000 Personal簡體中文
  ===========================================
  使DevExpress日期控件正確顯示
  
  TdxGridDatePopup是DevExpress組件中日期顯示的一個組件,DevExperss是一個很強大的控件,但在中文Windows中,日期控件會出現一個問
  
  題:無論星期幾都只是顯示“星”字。
  
  原因:
  出現這個問題並不是DevExpress公司的程序代碼有問題,只是不同的語言版本中,系統提供的日期函數中返回的格式或文字有所不同。
  DevExpress公司是用ShortDayNames數組取得星期幾的。
  ShortDayNames: array[1..7] of string;
  ShortDayNames是一個String數組,共有七個元素,分別對應星期一到七的字符串,在英文Windows中,它的值為[‘Sunday’,‘Monday’...],在中
  
  文Windows中,它的值為[‘星期一‘,‘星期二‘...]。
  DevExpress是想返回英文的第一個字母,如Sunday,返回的是S,所以她用了S := {$IFDEF
  
  Delphi3}WideString{$ENDIF}(ShortDayNames[J])[1]來取得,但在中文Windows中,就會返回”星“,問題就出在這裡。
  
  修改方法:
  打開{Programe Files}Developer Express IncExpressInplaceEditorsDelphi 5SourcedxGrDate.pas,查找
  S := {$IFDEF Delphi3}WideString{$ENDIF}(ShortDayNames[J])[1],
  然後修改為
  S := {$IFDEF Delphi3}WideString{$ENDIF}(ShortDayNames[J])[3]。
  重新編譯dxGrDate.pas(你可以把dxGrDate.pas加到一個Project中,重新編譯你的Project,dxGrDate.pas就會重新編譯),然後把相關的dxGrDate.Dcu復制到..LIB下。
  問題就會解決了。
  附:
  ShortDayNames 的英文說明。
  ShortDayNames - Array of strings containing short day names. The ddd
  format specifIEr in a format string passed to FormatDate causes a short
  day name to be substituted. The default values are fecthed from the
  LOCALE_SABBREVDAYNAME system locale entrIEs.
  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved