2℃
2011年07月18日
⁄ [Delphi技巧]
上次跟大家分享了线程的标准代码,其实在线程的使用中最重要的是线程的同步问题,如果你在使用线程后,发现你的界面经常被卡死,或者无法显示出来,显示混乱,你的使用的变量值老是不按预想的变化,结果往往出乎意料,那么你很有可能是忽略了线程同步的问题。
当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源。例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件中的字符数。当然,在把整个文件调入内存之前,统计它的计数是没有意义的。但是,由于每个操...
阅读全文
1℃
2011年03月22日
⁄ [Delphi技巧]
今天在CSDN上看到有大牛更大家分享经验,于是抄录一份供以后使用
主要给出两种常用的线程形式。
1、长等待型线程示例,等待命令,执行不定长的工作,但每个工作的时间不会太长。
2、长工作型线程示例,执行一个很长时间的工作,但可以很快响应取消操作。
注:对于在线程中取消存储过程的执行仍然无解
以下程序所用的知识为:消息机制以及常用的API函数
主程序Unit1
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,LongWaitTrd;
...
阅读全文
2℃
2010年08月29日
⁄ [Delphi技巧]
功能:通过窗口句柄来发送窗口消息
LRESULT SendMessage(
HWND hWnd, // 目标窗口句柄 在这里由FindWindow获取
UINT Msg, // 发送消息类型 WM_LBUTTONDOWN WM_LBUTTONUP
WPARAM wParam, // 这个我们用不着
LPARAM lParam // 这个是鼠标点击 窗口的坐标 高位是Y,低位X
);
//鼠标软模拟:好处就是不会真的移动鼠标 开始按钮坐标X:383,Y:387;0183017F
sendmessage(hookHwnd,messages.WM_LBUTTONDOWN ,0,$XY);// 按下鼠标左键
sendmessage(hookHwnd,messages.WM_LBUTTON...
阅读全文
1℃
2009年12月26日
⁄ [Delphi技巧]
引言 MSTTS(Microsoft Text-To-Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计算机声卡发音将内容朗读出来。利用它和相关的语音接口开发出英语发音教学软件,可以实现英文单词发音及整段英文的流利朗读示范。从而,可以使学生在课下或者没有教师的情况下,从软件中获得标准的英文发音的辅助,这对于一些发音不好的英语学习者有极大的帮助。 MSTTS引擎简介
要在软件的开发过程中使用MSTTS技术,必须安装MSTTS引擎。MSTTS引擎的...
发音软件阅读全文
0℃
2009年04月17日
⁄ [Delphi技巧]
程序功能: 通过修改 webbrown 实现对打开的网页 进行修改和编辑 程序效果如下:代码文件:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, OleCtrls, SHDocVw;type TForm1 = class(TForm) WebBrowser1: TWebBrowser; Panel1: TPanel; Button1: TButton; CheckBox1: TCheckBox; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure CheckBox1Click(Sender:...
webbrown阅读全文
2℃
2009年04月17日
⁄ [Delphi技巧]
操作界面效果:代码如下:
unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CheckLst;type TForm1 = class(TForm) CheckListBox1: TCheckListBox; Button1: TButton; Edit1: TEdit; procedure FormCreate(Sender: TObject); procedure Button1Click(Sender: TObject); procedure CheckListBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end;var Form1: ...
Byte阅读全文
0℃
2008年11月15日
⁄ [Delphi技巧]
var DriveNum: Integer; DriveChar: Char; DriveType: TDriveType; DriveBits: set of 0..25;begin monitorthread := nil; combobox1.clear; Integer(DriveBits) := GetLogicalDrives; for DriveNum := 0 to 25 do begin if not (DriveNum in DriveBits) then Continue; DriveChar := Char(DriveNum + Ord('A'));//从a---z DriveType := TDriveType(GetDriveType(PChar(DriveChar + ':\'))); ...
阅读全文
0℃
2008年10月10日
⁄ [Delphi技巧]
方法一:implementationuses ShellAPI;
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
var
FOS :TSHFileOpStruct;
begin
with FOS do
begin
Wnd := Self.Handle;
wFunc := FO_COPY;
pFrom := 'c:\idapi\*.*';
pTo := 'c:\test';
fFlags := FOF_NoConfirmMkDir;
end;
SHFileOperation(FOS);
end
方法二:
implementationuses ShellAPI;
{$R *.DFM
}procedure TForm1.Button1Click(Sender: TObject);
var
FOS :TSHFileOpStruct;
begin
with FOS do
begin
Wnd ...
文件复制阅读全文
0℃
2008年10月10日
⁄ [Delphi技巧]
const START_YEAR=1901; END_YEAR=2050;
//返回iYear年iMonth月的天数 1年1月 --- 65535年12月function MonthDays(iYear,iMonth:Word):Word;
//返回阴历iLunarYer年阴历iLunarMonth月的天数,如果iLunarMonth为闰月,//高字为第二个iLunarMonth月的天数,否则高字为0 1901年1月---2050年12月function LunarMonthDays(iLunarYear,iLunarMonth:Word):Longword;
//返回阴历iLunarYear年的总天数 1901年1月---2050年12月function LunarYearDays(iLunarYear:Word):Word;
//返回阴历iLunarYear年的闰...
公历
农历阅读全文
0℃
2008年10月10日
⁄ [Delphi技巧]
unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, Buttons;
type TForm1 = class(TForm) BitBtn1: TBitBtn; procedure FormCreate(Sender: TObject); private procedure WMSysCommand(VAR Message: TWMSysCommand); message WM_SYSCOMMAND; { Private-Deklarationen } public { Public-Deklarationen }...
系统菜单阅读全文
0℃
2008年10月10日
⁄ [Delphi技巧]
---- FLASH是Macromedia公司出品的,用在互联网上动态的、可互动的shockwave。它的优点是体积小,可边下载边播放,这样就避免了用户长时间的等待。
---- FLASH可以用其生成动画,还可在网页中加入声音。这样你就能生成多媒体的图形和界面,而使文件的体积却很小。 ---- FLASH另外一个特点就是必须安装插件PLUG-IN,才能被浏览器所接受!当然这也避免了浏览器之间的差异,使之一视同仁! ---- 但是你知道吗?在delphi中可以直接打开flash动画,并控制它播放和停止。你还可以得到它的总帧数,知道怎...
flash阅读全文





唉。。生活。生活,生下来努力
说的我都有点饿了~~
还在用山寨机的飘过
多谢博主分享
多谢博主分享
索尼现在不行了哦!
支持博主
支持博主