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

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

?? syspublictmp.pas

?? 藍圖財務進銷存一體化,delphi源碼,使用ACCESS數據庫
?? 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一区二区三区免费野_久草精品视频
91精彩视频在线观看| 亚洲一二三级电影| 国产福利一区二区三区| 精品国产免费一区二区三区四区| 青草国产精品久久久久久| 日韩视频不卡中文| 国产一区不卡在线| 日本一区二区免费在线观看视频| 国产999精品久久久久久| 亚洲国产精品二十页| 99精品久久只有精品| 亚洲国产综合91精品麻豆| 欧美精品粉嫩高潮一区二区| 国产一区二区不卡在线| 国产欧美精品一区aⅴ影院 | 欧美在线观看禁18| 日韩一区二区三区视频在线| 欧美高清在线一区| 91在线精品一区二区三区| 亚洲午夜免费视频| 精品女同一区二区| 成人一道本在线| 亚洲一区二区三区美女| 26uuu色噜噜精品一区二区| www.av精品| 天天综合日日夜夜精品| 337p日本欧洲亚洲大胆色噜噜| 成人国产一区二区三区精品| 亚洲国产日韩a在线播放性色| 日韩欧美你懂的| 91视频国产观看| 卡一卡二国产精品| 国产精品久久久久久一区二区三区 | 日韩无一区二区| 成人精品电影在线观看| ●精品国产综合乱码久久久久| 日韩精品中文字幕一区 | 男男gaygay亚洲| 午夜精品久久久久影视| 亚洲国产一区二区在线播放| 久久―日本道色综合久久| 日一区二区三区| 成人av高清在线| 久久99精品久久只有精品| 91黄视频在线| 国产一区二区主播在线| 亚洲成av人在线观看| 中文字幕在线免费不卡| 久久日韩精品一区二区五区| 91久久精品国产91性色tv| 国产高清无密码一区二区三区| 丝袜脚交一区二区| 一区二区三区精品视频| 欧美国产激情二区三区| 欧美三区免费完整视频在线观看| 综合网在线视频| 久久电影网站中文字幕 | 欧美日韩精品一区二区| 成人免费看视频| 久久91精品久久久久久秒播| 亚洲国产一二三| 亚洲日本一区二区| 欧美极品少妇xxxxⅹ高跟鞋| 欧美哺乳videos| 欧美一区永久视频免费观看| 91福利在线免费观看| 97久久超碰精品国产| 99精品一区二区| 国产精品白丝av| 久久精品国产在热久久| 日韩国产在线观看一区| 亚洲国产精品一区二区www| 一区二区在线观看免费 | 久久久久97国产精华液好用吗| 91在线小视频| 亚洲电影第三页| 日韩一区二区三区视频| 国产成人av影院| 国产精品久久久久9999吃药| 中文字幕欧美激情| 日本一区二区三区久久久久久久久不 | 久久久久免费观看| 亚洲精品在线观看网站| 久久久噜噜噜久噜久久综合| 久久色视频免费观看| 国产亚洲成aⅴ人片在线观看 | 丁香天五香天堂综合| 国产99久久久国产精品| av一区二区不卡| 色综合久久久久综合体| 欧美手机在线视频| 欧美疯狂性受xxxxx喷水图片| 欧美一区二区三区在线| 欧洲一区二区三区免费视频| 日韩伦理电影网| 国产亚洲福利社区一区| 成人午夜视频免费看| 国精产品一区一区三区mba桃花 | 久久精品一区二区三区av| 欧美v亚洲v综合ⅴ国产v| 欧美v日韩v国产v| 精品精品国产高清一毛片一天堂| 欧美一区二区三区四区久久| 国产嫩草影院久久久久| 国产蜜臀97一区二区三区| 国产日本亚洲高清| 国产精品不卡在线观看| 亚洲卡通欧美制服中文| 一卡二卡三卡日韩欧美| 麻豆精品一区二区av白丝在线| 六月丁香综合在线视频| 国产一级精品在线| 成人免费观看视频| 色婷婷久久综合| 777亚洲妇女| 国产一区二三区好的| 激情久久五月天| 另类成人小视频在线| 国产福利一区二区三区在线视频| 波多野结衣一区二区三区 | 成人免费不卡视频| 欧美日韩一区二区三区视频| 欧美一区二视频| 欧美国产乱子伦| 亚洲综合在线免费观看| 琪琪一区二区三区| 国产·精品毛片| 91精品午夜视频| 中文字幕第一区| 亚洲成人动漫精品| 久草在线在线精品观看| 成人免费毛片a| 91精品国产福利| 亚洲精品亚洲人成人网| 美女高潮久久久| 99精品黄色片免费大全| 91精品麻豆日日躁夜夜躁| 国产欧美日韩精品在线| 亚洲精品视频自拍| 成人午夜伦理影院| 欧美日韩国产综合一区二区| 国产亚洲综合色| 婷婷六月综合亚洲| 成人激情综合网站| 欧美精品三级在线观看| 亚洲欧美日韩国产成人精品影院| 日韩电影在线看| 在线亚洲一区二区| 国产日韩欧美一区二区三区综合| 午夜精品久久久| 国产精品自拍在线| 精品国产凹凸成av人导航| 亚洲激情在线激情| 国产成人综合精品三级| 7777精品伊人久久久大香线蕉完整版 | 午夜精品久久久久久久蜜桃app| 福利一区在线观看| 精品国产污污免费网站入口| 一区二区三区中文免费| 成人激情校园春色| 日韩一区二区精品在线观看| 亚洲va欧美va人人爽午夜| 成人高清视频在线| 精品对白一区国产伦| 日韩电影在线免费观看| 欧美性猛交一区二区三区精品| 自拍偷拍国产亚洲| 高清国产一区二区三区| 精品理论电影在线观看| 久久 天天综合| 欧美一区二区大片| 婷婷一区二区三区| 欧美三级中文字幕| 亚洲综合在线第一页| 欧美日精品一区视频| 亚洲一区二区三区四区五区黄 | 精品少妇一区二区三区视频免付费| 亚洲综合色噜噜狠狠| 91丝袜高跟美女视频| 国产无人区一区二区三区| 狠狠色狠狠色合久久伊人| 日韩视频永久免费| 国产乱色国产精品免费视频| 日韩精品一区二区三区视频在线观看 | 国产老女人精品毛片久久| 精品久久国产97色综合| 国内外精品视频| 欧美精品一区男女天堂| 不卡的av电影| 综合久久综合久久| 91在线播放网址| 亚洲免费观看高清完整版在线观看熊| av电影在线观看不卡| 国产亚洲视频系列| 91看片淫黄大片一级| 亚洲综合小说图片| 欧美精品第1页| 黄网站免费久久| 欧美国产视频在线| 91久久久免费一区二区|