廣告

2024 年 11 月
 123
45678910
11121314151617
18192021222324
252627282930  

彙整

DELPHI下使用FileSetDate()函式修改檔案的”修改日期”

Delphi下使用function FileSetDate(Handle: Integer; Age: Integer): Integer; overload;函式修改檔案的”修改日期”:

參考:http://delphi.ktop.com.tw/board.php?cid=30&fid=70&tid=37667

procedure TForm1.Button1Click(Sender: TObject); Var     FileHandle : Integer;     Str : String; begin     FileHandle := FileOpen(‘D:\prog\1.txt’, fmOpenReadWrite);     if FileHandle = -1 then       ShowMessage(‘開啟檔案失敗’) […]

DELPHI 完整檔名路徑下取檔名去除路逕與去除附檔名

ExtractFileName(FileName);  //去除檔案的路徑

ChangeFileExt(FileName);     //去除副檔名

DELPHI寫入EXCEL時,寫入速度緩慢問題

最近在修改使用者提出 EXCEL 報表欄位,發現有幾支 procedure 轉出 EXCEL 的速度非常龜,而這幾支 procedure 是前輩所留下的產物,跟自己最近寫的轉 EXCEL 報表速度上差很多,以為是卡在SQL查詢,如果查詢條件KEY值給不齊全,有可能因為資料過多,查詢變很慢,但是測試後應該不是SQL查詢的問題,再對照前輩與自己的程式,感覺不出差異,最後看到 DELPHI 內設定EXCEL時前面通常會有一些基本設定,發現了這幾支程式都有設定列印範圍,姑且註解掉試試看,果然……………兇手就是它!

PageSetup.PrintArea := ‘A:R’;  //設定列印範圍

建議把它移到資料轉完後,最後在給上這個參數就好了。

DELPHI 7 下將文字存成UTF8格式

上網找到下面的程式碼,修了一下測試,真的可以耶!!!!最近的程式剛好有UTF8編碼的困擾,使用這方式轉是方便多了,不過還要測試會不會有問題。

討論區:http://delphi.ktop.com.tw/board.php?cid=30&fid=76&tid=89562

procedure TForm1.Button1Click(Sender: TObject); var   S:UTF8String;   F:TextFile;   TntEdit1: TStringList; begin   TntEdit1 := TStringList.Create;   TntEdit1.Add(‘我是天才我是天才我是天才’);   S:=UTF8Encode(TntEdit1.Text); […]

DELPHI7 使用TIdWatch 元件抓本機IP

使用 TIdIPWatch 元件即可直接抓取執行程式的本機IP。

showmessage(IdIPWatch1.LocalIP);

會想要本基IP是想要讓自動更新程式自動判斷使用者電腦所在位置,因公司有很多據點,如果大家都回來抓更新檔,頻寬會…….

[Delphi]讓Windows捲軸捲動時,資料內容同時跟著平滑捲動。

讓Windows捲軸捲動時,資料內容同時跟著平滑捲動。

出處:

http://delphi.ktop.com.tw/board.php?cid=168&fid=918&tid=100386

http://delphi.ktop.com.tw/board.php?cid=30&fid=66&tid=70761

   TDBGrid = Class(DBGrids.TDBGrid)     Protected     procedure WMVScroll(var Message: TWMVScroll); message WM_VSCROLL;     end;     TForm1 = class(TForm)     …. […]

[Delphi] 送出鍵盤與滑鼠的指令

網路上找到的文章,Ord(‘C’) <==其實轉出來就是ASCII碼,知道後比較可以靈活運用在用變數的方式帶入。

 

文章出處:http://blog.yam.com/yqbagzdk/article/25791738

======================================================

最近碰到使用 SendMessage 和 PostMessage 機會超級多,無非是因為太多的程式合輯專案需求,如果耗費人力全部自行開發,大概請二、三倍的人力結果也只是為了完成幾個對於圖形處理的動作而已,建築.室內設計.服裝相關軟體因此購買已經寫好的軟體直接使用就行,但畢竟購買是購買,有些畫面或是需求畢竟是套裝軟體無法達成的,於是還是得自己寫控制指令

可以自己寫一個類似按鍵精靈的東東,也就是控制滑鼠自動在畫面上操作東西

滑鼠自動點擊的例子

procedure TForm1.Button1Click(Sender: TObject);

var x,y:integer;

begin

    x:= form1.Left+button2.Left+25;

    y:= top+button2.Top+27;

    SetCursorPos(x,y);   // 移到某個點

    Mouse_Event(MOUSEEVENTF_LEFTDOWN,X,Y,0,0); // 按下滑鼠左鍵

    Mouse_Event(MOUSEEVENTF_LEFTUP,X,Y,0,0);   // 放開左鍵

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

showmessage(‘fksj’);

end;

*************************************

其中 mouse_event 這是 WindowsAPI 的指令,xyz軟體補給站

還有下列的幾種

MOUSEEVENTF_MOVE            = $0001; { mouse move }

MOUSEEVENTF_LEFTDOWN        = $0002; { left button down }

MOUSEEVENTF_LEFTUP          = $0004; { left button up }

MOUSEEVENTF_RIGHTDOWN       = $0008; { right button down }

MOUSEEVENTF_RIGHTUP         […]

在 Delphi 中獲得 GUID(獨一無二的識別碼)

GUID原本還看不懂,後來翻譯字面意思才知道它有獨一無二的意思,所以在程式裡面啥時候需要獨一無二碼的時候就很有用處啦!!!!

 

文章來源:http://blog.bestlong.idv.tw/2009/07/25/655

 

七月.25, 2009 in Delphi

GUID (Globally Unique IDentifier) 是一個 128-bit Integer (16 bytes) 的數值。

在 Delphi IDE 中可以按下 Ctrl + Shift + G 快捷鍵會出現類似下列的 GUID 值:

1

[‘{2F45BDFE-1BE4-404D-9C5B-4B481D6A7482}’]

每次按下快捷鍵都會產生不同的 GUID 值。

 

 

而程式中產生 GUID 值的方式如下列程式碼:

procedure TForm1.FormCreate(Sender: TObject); var   s_GUID: string;   t_GUID: TGUID; begin if CoCreateGUID(t_GUID) = […]

EXCEL儲存格的IF用法

IF(B2="","","123")

表示 B2如果等於空白,則目前所在的儲存格帶入空白,否則帶入123

簡單公式實現Excel自動編號

滿實用的!

 

文章出處:http://community.kingdee.com/pages/checksun/blog/archive/2008/08/12/313745.aspx

    很多時候都需要對Excel中的數據加一列序號,但由於數據的添加、刪除,導致經常要重新填充序號,非常不便,在網上看到用簡單公式即可實現自動編號,非常方便。

    我們知道,在Word中有個自動編號的功能,在Excel中我們可以使用函數來實現這個功能。

    點擊A2單元格輸入公式:=IF(B2="","",COUNTA($B$2:B2)),然後把鼠標移到A2單元格的右下方,鼠標就會變成十字形狀,按住拖拽填充到A列下面的單元格中,這樣我們在B列輸入內容時,A列中就會自動輸入序號了.            我們在打印的時候,有時需要把部分行隱藏起來進行打印,結果卻會發現序號不連續了,這時就需要讓序號調整為連續的。

    在A2單元格輸入公式:=IF(B2="","",SUBTOTAL(103,$B$2:B2)),然後拖拽到A列下面的單元格,這樣就會自動調整序號了。