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

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

?? syspublictmp.pas

?? 從網友處得到的藍圖財務進銷存源程序
?? PAS
?? 第 1 頁 / 共 3 頁
字號:
unit SysPublicTmp;

interface

uses Windows;

implementation

end.
{
動畫顯示窗體
procedure TForm1.FormCreate(Sender: TObject);
begin
  AnimateWindow(Handle,2000{速度:2秒}//,AW_BLEND);
{ AW_HOR_POSITIVE = $00000001;
  AW_HOR_NEGATIVE = $00000002;
  AW_VER_POSITIVE = $00000004;
  AW_VER_NEGATIVE = $00000008;
  AW_CENTER = $00000010;
  AW_HIDE = $00010000;
  AW_ACTIVATE = $00020000;
  AW_SLIDE = $00040000;
  AW_BLEND = $00080000;
end;}

{
 只允許建立一次子窗體的MDI程序
 procedure OpenChildForm(FormClass: TFormClass; var Fm; AOwner:TComponent);
var
  I: Integer;
  Child: TForm;
begin
  for I := 0 to Screen.FormCount - 1 do
    if Screen.Forms[I].ClassType = FormClass then
    begin
      Child := Screen.Forms[I];
      if Child.WindowState = wsMinimized then
        ShowWindow(Child.Handle, SW_SHOWNORMAL)
      else
        ShowWindow(Child.handle,SW_SHOWNA);
      if (not Child.Visible) then Child.Visible := True;
        Child.BringToFront;
        Child.Setfocus;
        TForm(Fm) := Child;
        Exit;
    end;
  Child := TForm(FormClass.NewInstance);
  TForm(Fm) := Child;
  Child.Create(AOwner);
end; 

}

{
數據網格自動適應寬度
說明:使用DBGrid不可不看

///////Begin Source
uses
Math;

function DBGridRecordSize(mColumn: TColumn): Boolean;
{ 返回記錄數據網格列顯示最大寬度是否成功
begin
Result := False;
if not Assigned(mColumn.Field) then Exit;
mColumn.Field.Tag := Max(mColumn.Field.Tag,
TDBGrid(mColumn.Grid).Canvas.TextWidth(mColumn.Field.DisplayText));
Result := True;
end; 

function DBGridAutoSize(mDBGrid: TDBGrid; mOffset: Integer = 5): Boolean;
// 返回數據網格自動適應寬度是否成功
var
I: Integer;
begin
Result := False;
if not Assigned(mDBGrid) then Exit;
if not Assigned(mDBGrid.DataSource) then Exit;
if not Assigned(mDBGrid.DataSource.DataSet) then Exit;
if not mDBGrid.DataSource.DataSet.Active then Exit;
for I := 0 to mDBGrid.Columns.Count - 1 do begin
if not mDBGrid.Columns[I].Visible then Continue;
if Assigned(mDBGrid.Columns[I].Field) then
mDBGrid.Columns[I].Width := Max(mDBGrid.Columns[I].Field.Tag,
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption)) + mOffset
else mDBGrid.Columns[I].Width :=
mDBGrid.Canvas.TextWidth(mDBGrid.Columns[I].Title.Caption) + mOffset;
mDBGrid.Refresh;
end;
Result := True;
end;

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
DBGridRecordSize(Column);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
DBGridAutoSize(DBGrid1);
end;
}

{TDBGrid中用Enter仿真Tab鍵盤
procedure TForm1.FormKeyPress(Sender: TObject; var Key: 
Char);
begin
  if Key = #13 then //如果是一個Enter鍵盤
  begin
    if not (ActiveControl is TDBGrid) then  //如果當前的控件不是TDBGrid
    begin 
       Key := #0; 
       Perform(WM_NEXTDLGCTL, 0, 0);
    end
    else if (ActiveControl is TDBGrid) then //在TDBGrid中
    begin
       with TDBGrid(ActiveControl) do
       begin
         if selectedindex < (fieldcount -1) then //如果不是最后一個字段
            selectedindex := selectedindex +1
         else
            selectedindex := 0;
       end;
   end;
end; 
end;

}

{

經常看到有人問如何把Delphi中的數據集導入Excel中,這里提供了一個實現。


在做項目時,很多情況下,客戶需要對程序中數據集再加工,再利用,如報表。
這時,就需要把DataSet導入到一個客戶比較熟悉的格式中去。Excel是首選了。

該程序在Delphi4,5下編譯通過,已被用在多個項目中。還被集成在筆者所寫的一個小組件TDBNavigateButton中

 

{-------------------------------------------------------------------------------------------------
單元:uExcelTools
作者:  Bear
功能:保存數據集,如TTable,TQuery,TClientDataSet等為Excel文件,
          包含標題,可以只將一部分字段導出
           這一點通過設置DataSet中要不導出字段的Tag值大于某一個值來處理
原理:調用 Microsoft Excel Ole對象
調用方式:  
                 Function DataSetToExcel(
                     DataSet:TDataSet;FieldTagMax:Integer;
                      Visible:Boolean;ExcelFileName:String=''): Boolean;
--------------------------------------------------------------------------------------------------

unit UExcelTools;

interface

uses
  classes, comctrls, stdctrls, windows, Dialogs, controls, SysUtils,
  Db,forms,DBClient,ComObj;

//把數據集導入ExcelSheet的核心函數
function DataSetToExcelSheet
            (
             DataSet     :TDataSet;
             FieldTagMax :Integer;   // 字段的Tag值如果大于這個值,就不導出到Excel
             Sheet       :OleVariant
             ): Boolean;

//實際使用的函數,內部調用了DataSetToExcelSheet,在外面加入UI接口和錯誤處理
function DataSetToExcel
            (
             DataSet     :TDataSet;   // 要轉換的數據集
             FieldTagMax :Integer;  // 字段的Tag值如果大于這個值,就不導出到Excel
             Visible     :Boolean;      // 是否讓做轉換工作的Excel可見
             ExcelFileName:String='' // Excel文件名,*.xls
             ): Boolean;

implementation

Function DataSetToExcelSheet(DataSet:TDataSet;FieldTagMax:Integer;Sheet:OleVariant): Boolean;
var
   Row,Col,FieldIndex :Integer;
   BK:TBookMark;
begin
   Result := False;
   if not Dataset.Active then exit;
   BK:=DataSet.GetBookMark;
   DataSet.DisableControls;

   Sheet.Activate;
   try

     // 列標題
     Row:=1;
     Col:=1;
     for FieldIndex:=0 to DataSet.FieldCount-1 do
         begin
         if DataSet.Fields[FieldIndex].Tag <= FieldTagMax then
            begin
            Sheet.Cells(Row,Col)  :=DataSet.Fields[FieldIndex].DisplayLabel;
            Inc(Col);
            end;
         end;
     // 表內容
     DataSet.First;
     while Not DataSet.Eof do
        begin
        Row:=Row+1;
        Col:=1;
        for FieldIndex:=0 to DataSet.FieldCount-1 do
            begin
            if DataSet.Fields[FieldIndex].Tag <= FieldTagMax then
               begin
               Sheet.Cells(Row,Col):=DataSet.Fields[FieldIndex].AsString;
               Inc(Col);
               end;
            end;
        DataSet.Next;
        end;

     Result := True;
     finally
       DataSet.GotoBookMark(BK);
       DataSet.EnableControls;
    end;

  
end;
Function DataSetToExcel(
                  DataSet:TDataSet;FieldTagMax:Integer;
                  Visible:Boolean;ExcelFileName:String=''): Boolean;
var
   ExcelObj, Excel, WorkBook, Sheet: OleVariant;
    OldCursor:TCursor;
   SaveDialog:TSaveDialog;
begin
   Result := False;
   if not Dataset.Active then exit;

   OldCursor:=Screen.Cursor;
   Screen.Cursor:=crHourGlass;

   try
      ExcelObj := CreateOleObject('Excel.Sheet');
      Excel := ExcelObj.Application;
      Excel.Visible := Visible ;
      WorkBook := Excel.Workbooks.Add ;
      Sheet:= WorkBook.Sheets[1];
   except
      MessageBox(GetActiveWindow,'無法調用Mircorsoft Excel! '+chr(13)+chr(10)+
                    '請檢查是否安裝了Mircorsoft Excel。','提示',MB_OK+MB_ICONINFORMATION);
      Screen.Cursor:=OldCursor;
      Exit;
   end;

   Result:=DataSetToExcelSheet(DataSet,FieldTagMax,Sheet) ;
   if Result then
      if Not Visible then
         begin
         if ExcelFileName<>''
            then WorkBook.SaveAs(FileName:=ExcelFileName)
            else begin
                 SaveDialog:=TSaveDialog.Create(Nil);
                 SaveDialog.Filter := 'Microsoft Excel 文件|*.xls';
                 Result:=SaveDialog.Execute;
                 UpdateWindow(GetActiveWindow);
                 if Result then
                    WorkBook.SaveAs(FileName:=SaveDialog.FileName);
                 SaveDialog.Free;
                 end;
         Excel.Quit;
         end;
   Screen.Cursor:=OldCursor;
end;

 

end.

}

{
如何創建透明窗體
procedure TForm1.FormCreate(Sender: TObject); 
var 
  FullRgn, ClientRgn, ButtonRgn: THandle; 
  Margin, X, Y: Integer; 
begin 
  Margin := (Width - ClientWidth) div 2; 
  FullRgn := CreateRectRgn(0, 0, Width, Height); 
  X := Margin; 
  Y := Height - ClientHeight - Margin; 
  ClientRgn := CreateRectRgn(X, Y, X + ClientWidth, Y + ClientHeight); 
  CombineRgn(FullRgn, FullRgn, ClientRgn, RGN_DIFF); 
  X := X + Button1.Left; 
  Y := Y + Button1.Top; 
  ButtonRgn := CreateRectRgn(X, Y, X + Button1.Width, Y + Button1.Height); 
  CombineRgn(FullRgn, FullRgn, ButtonRgn, RGN_OR); 
  SetWindowRgn(Handle, FullRgn, True); 
end;

}

{
	
	
	如何實現在MS Access數據庫中圖像的存儲和顯示
一、 原理介紹——流式數據的類型及其應用
在Dephi中提供了TStream來支持對流式數據的操作。TStream是萬流之源,但由于它是一個抽象類,故不能被直接使用;而要使用其相應的子類,如:TFileStream 、TStringStream、TMemoryStream、TBlobStream、TWinSocketStream和TOleStream。TStream提供了統一、簡潔的方法來進行數據的讀寫。
  1.)SaveToStream(Stream: TStream ); 作用:將類中的數據寫到Stream的當前位置中 
  2.)LoadFromStream(Stream: TStream); 作用:從當前位置讀入Stream里的數據 
  實際使用時我們基本上只要使用上面兩個函數就可以了。 
二、所遇到的問題及相應的解決方法
為了節省圖像的存儲空間和使用更加方便,決定采用JPEG這種圖像格式。
(一)所遇到的問題
第一、在Delphi 5中進行畫圖所用到的組件是TImage,所生成的圖像的格式為BMP格式,而為了節省圖像的存儲空間,圖像在數據庫里存儲的格式須為JPEG格式,這樣就產生了圖像格式轉化的需求;而TImage本身并不直接提供這兩種圖像格式之間的轉化。
第二、怎樣將存儲在Microsoft Access數據庫中的圖像取出并且顯示出來:在Delphi 5中,能提供這種功能的組件是TDBImage,但該組件卻存在著一個很大的缺陷:它所能顯示的圖像類型只能是一些圖標文件,元文件和BMP文件,而不能支持JPEG格式的圖像在該組件中的顯示;但根據實際需要,在Microsoft Access數據庫中所存儲的圖像數據卻是以JPEG格式保存的。
(二)相應的解決方法
為了解決上述兩個問題,可以采用目前數據庫中一種名為大二分對象(BLOB——Binary Large Object),它是用來處理某些特殊格式的數據的。BLOB在數據庫的表中實際上是以二進制數據的形式存放的。
為了處理BLOB字段,可以借鑒一些可視的桌面數據庫的方法。在這里,我們選擇了通過內存流的方式來完成;使用內存流,可減少磁盤操作,大大提高運行效率。
具體的過程和相關的程序代碼如下:
1、如何實現在Microsoft Access數據庫中的圖像存儲:
這里是利用TStream的子類TMemoryStream向Microsoft Access數據庫中存儲圖像的。下面的這段代碼是在按了“保存”按鈕之后所觸發的事件處理程序:
procedure TForm1.Button1Click(Sender: TObject);
var 
MyJPEG : TJPEGImage;
MS: TMemoryStream;
begin
MyJPEG := TJPEGImage.Create;
 try
    with MyJPEG do
    begin
      Assign(Image.Picture.Graphic);
      MS:=TMemoryStream.create;
      SaveToStream(MS);
      MS.Position:=0;
                Table1.Edit;
                 TBlobField(Table1.FieldbyName('Image')).LoadFromStream(MS);
                 Table1.Post;
                 messagebox(getactivewindow(),'圖像保存完畢!','保存',mb_ok);          
    end;
  finally
    MyJPEG.Free;
  end;
end;
在這段代碼里TStream的子類TMemoryStream利用內存流起到了將BMP格式轉化為JPEG格式的中間橋梁的作用。
2、如何將圖像從Microsoft Access數據庫中取出并顯示出來:
下面的這段代碼是在按了“查看圖像”按鈕之后所觸發的事件處理程序:
procedure TForm1.Button1Click(Sender: TObject);
var tempstream:TStringStream;
   tempjpeg:TJPEGImage; 
begin
   try
        tempstream:=TStringStream.Create(' ');     
        TBlobField(Query1.FieldByName('Image')).SaveToStream(tempstream);            
        tempstream.Position:=0;
        tempjpeg:=TJPEGImage.Create;
        tempjpeg.LoadFromStream(tempstream);
        DBImage1.Picture.Bitmap.Assign(tempjpeg);
  finally
        tempstream.Free;
        tempjpeg.Free;
  end;
end;
這段代碼的主要作用是:首先將查詢結果中的JPEG圖像格式數據保存到TStringStream中去,然后設置數據指針在TStringStream中的位置為0;接著從TStringStream中讀入相關數據,并把它們賦給TDBImage.Picture.Bitmap,這樣一來就實現了將數據庫中所存儲的JPEG格式的數據轉化為BMP格式,并在TDBImage中將圖像顯示出來。最后將TStringStream和TJPEGImage這兩個對象釋放掉。特別要注意的是不能在設計階段設置TDBImage的DataField屬性,而只能通過寫代碼的形式在運行階段把利用流式數據所轉化過來的新格式的圖像數據賦給TDBImage.Picture.Bitmap。
}

{在SQL數據庫里顯示序號
select IDENTITY(int,1,1)as id,房臺名稱,類型說明 into #1 from 房間臺號信息表
select * from #1 
drop  table  #1--放到這里就行了
}

{
問題:SQL Server2000中,怎么得到datetime類型字段的日期部分和時間部分? ( 積分:50, 回復:8, 閱讀:38 )
分類:數據庫-C/S型 ( 版主:qince, luyear )  
來自:nywjx, 時間:2004-8-23 10:01:00, ID:2774290 [顯示:小字體 | 大字體]  
如題,一個字段是datetime類型,我想得到它的日期部分,就是2004-08-23;
還想得到它的時間部分,就是10:12:45,
怎么做啊?看了幫助,沒找到
 
 
來自:KervenLee, 時間:2004-8-23 10:09:17, ID:2774306 
轉換成字符串,從后面取10個字符吧
笨方法!
 
 
來自:shineYu, 時間:2004-8-23 10:09:18, ID:2774307 
convert(char(8),[datetime],102)   --->2004.08.23
convert(char(8),[datetime],108)   --->HH:MM:SS
 
 
來自:TYZhang, 時間:2004-8-23 10:10:01, ID:2774309 
Select Convert(char(10),D,121) from T  //2004-08-23
Select Right(Convert(char(19),D,121),8) from T  //10:12:45


 
 
來自:nywjx, 時間:2004-8-23 10:12:15, ID:2774317 
那我要進行時間變量之間的比較時,不是還要把字符轉換成datetime?有沒有更好的辦法?
 
 
來自:bluedna, 時間:2004-8-23 10:12:38, ID:2774319 
select convert(varchar(10),getdate(),120)as 日期
select convert(varchar(10),getdate(),108)as 時間
 
 
來自:TYZhang, 時間:2004-8-23 10:16:21, ID:2774331 
Select Floor(D) from T  //2004-08-23
Select D-Floor(D) from T  //10:12:45

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产伦精品一区二区三区在线观看 | 国产亚洲精品资源在线26u| 欧美性大战久久久| 色噜噜狠狠成人网p站| 一本色道**综合亚洲精品蜜桃冫| 国产精品香蕉一区二区三区| 激情图片小说一区| 国产不卡视频一区二区三区| 国产91精品一区二区麻豆亚洲| 国产乱理伦片在线观看夜一区| 国模少妇一区二区三区| 国产91清纯白嫩初高中在线观看| 国产成人小视频| av综合在线播放| 欧美写真视频网站| 欧美一级高清大全免费观看| 欧美成人高清电影在线| 欧美国产视频在线| 亚洲欧美一区二区不卡| 午夜精品aaa| 国产一区二区0| 91美女片黄在线观看91美女| 一本色道综合亚洲| 欧美日韩一区二区三区四区五区| 日韩欧美精品三级| 成人欧美一区二区三区在线播放| 亚洲午夜免费电影| 午夜视频一区二区| 国产盗摄一区二区| 欧美性色aⅴ视频一区日韩精品| 欧美久久免费观看| 国产亚洲制服色| 亚洲成人一区二区在线观看| 国产一区二区在线影院| 91福利在线导航| 久久综合九色综合欧美亚洲| 日韩美女视频19| 激情av综合网| 精品视频资源站| 亚洲欧洲日韩综合一区二区| 日本中文字幕一区二区视频| 成人在线视频一区二区| 在线播放视频一区| 国产精品女主播在线观看| 亚洲成人综合视频| 91亚洲精品乱码久久久久久蜜桃| 欧美一级久久久| 亚洲一区二区黄色| 成人a免费在线看| 精品免费一区二区三区| 亚洲国产婷婷综合在线精品| 成人亚洲精品久久久久软件| 91精品国产综合久久久蜜臀粉嫩 | 久久久99免费| 日韩成人一级大片| 在线亚洲免费视频| 国产精品久久久久四虎| 精品一区二区日韩| 欧美精品乱人伦久久久久久| 自拍偷在线精品自拍偷无码专区| 经典三级视频一区| 欧美一区二区三区日韩| 一区二区三区高清| 91原创在线视频| 国产欧美日韩麻豆91| 麻豆精品在线播放| 91精品国产色综合久久不卡电影| 一区二区三区免费| 97se亚洲国产综合自在线| 国产日韩欧美不卡在线| 久久成人精品无人区| 欧美一区二区三区小说| 日韩中文字幕区一区有砖一区| 91高清在线观看| 亚洲制服丝袜av| 欧美日韩一区二区三区视频| 亚洲韩国精品一区| 欧美中文字幕久久| 亚洲一区二三区| 欧美三级欧美一级| 丝袜亚洲另类欧美| 欧美一级日韩一级| 另类人妖一区二区av| 精品欧美一区二区在线观看| 精品综合久久久久久8888| 欧美成va人片在线观看| 九九精品视频在线看| 久久久午夜精品理论片中文字幕| 精品一区二区三区视频在线观看| 日韩精品一区二区三区四区视频| 久久精品国产色蜜蜜麻豆| 久久婷婷国产综合国色天香| 成人毛片老司机大片| 国产精品国产三级国产普通话三级 | 欧美成人一区二区三区片免费 | 亚洲少妇中出一区| 欧美日本韩国一区二区三区视频| 天天综合天天综合色| 欧美大胆人体bbbb| 成人一区二区视频| 亚洲另类在线制服丝袜| 欧美久久高跟鞋激| 国产v综合v亚洲欧| 亚洲第一成人在线| 国产视频视频一区| 色综合一区二区三区| 美女一区二区视频| 国产精品乱人伦| 91精品国产综合久久精品app| 韩国成人福利片在线播放| 亚洲欧洲成人精品av97| 日韩亚洲欧美一区二区三区| 暴力调教一区二区三区| 日韩精品一级中文字幕精品视频免费观看| 精品国产91洋老外米糕| 日本久久一区二区三区| 久久99国产精品尤物| 亚洲精品亚洲人成人网在线播放| 91精品国产全国免费观看| 99久久夜色精品国产网站| 日本女人一区二区三区| 中文字幕综合网| 精品福利视频一区二区三区| 欧美亚洲国产一区二区三区va| 国产真实精品久久二三区| 亚洲国产日韩a在线播放| 国产精品福利影院| 久久综合色婷婷| 欧美一区二区三区婷婷月色| 99精品国产99久久久久久白柏| 免费成人美女在线观看.| 亚洲综合色视频| 1区2区3区欧美| 久久久久久97三级| 精品电影一区二区| 欧美一区二区三区啪啪| 在线观看亚洲精品视频| 99re热视频精品| 成人aaaa免费全部观看| 国产精品原创巨作av| 美女被吸乳得到大胸91| 日本系列欧美系列| 亚洲第一搞黄网站| 亚洲bt欧美bt精品| 亚洲综合免费观看高清完整版在线 | 成人激情图片网| 成人一区二区三区| 成人午夜av影视| 不卡av在线网| 国产成人午夜视频| 国产大陆精品国产| 国产一二精品视频| 国产成人在线视频播放| 国产福利不卡视频| 成人一区二区三区视频| 懂色av一区二区三区免费观看| 国产麻豆日韩欧美久久| 国产电影精品久久禁18| 国产精品123区| 成人午夜免费av| 91在线视频18| 在线一区二区三区四区| 一本大道久久a久久综合婷婷| 色综合色狠狠综合色| 色婷婷亚洲精品| 欧美二区三区的天堂| 精品国产精品网麻豆系列| 久久久夜色精品亚洲| 成人欧美一区二区三区视频网页| 亚洲精品国产品国语在线app| 亚洲成人福利片| 久久爱www久久做| 国产a区久久久| 日本伦理一区二区| 欧美一区二区三区思思人| 久久久精品国产免费观看同学| 国产精品乱码妇女bbbb| 夜夜嗨av一区二区三区| 青青草原综合久久大伊人精品| 国产一区二区0| 色呦呦日韩精品| 欧美videos中文字幕| 中文字幕一区二区三区色视频 | 成人免费av网站| 欧美日韩高清在线播放| 精品国产网站在线观看| 国产精品久久久久久久久免费桃花| 玉足女爽爽91| 国内一区二区在线| 欧美无乱码久久久免费午夜一区| 日韩一区二区精品在线观看| 国产精品久线在线观看| 无码av免费一区二区三区试看| 国产精品91xxx| 91精品久久久久久久99蜜桃| 国产精品入口麻豆原神| 免费观看成人鲁鲁鲁鲁鲁视频| 成人av午夜影院| 26uuu久久综合| 日韩在线一区二区三区|