现在位置 >首页 > [Delphi技巧]
2℃
     上次跟大家分享了线程的标准代码,其实在线程的使用中最重要的是线程的同步问题,如果你在使用线程后,发现你的界面经常被卡死,或者无法显示出来,显示混乱,你的使用的变量值老是不按预想的变化,结果往往出乎意料,那么你很有可能是忽略了线程同步的问题。 当有多个线程的时候,经常需要去同步这些线程以访问同一个数据或资源。例如,假设有一个程序,其中一个线程用于把文件读到内存,而另一个线程用于统计文件中的字符数。当然,在把整个文件调入内存之前,统计它的计数是没有意义的。但是,由于每个操...
阅读全文

1℃
今天在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℃
引言  MSTTS(Microsoft Text-To-Speech)是微软公司研制的一套功能强大的英文文字朗读引擎,它可以将文档中的英文文字信息转换成计算机语音信息,通过计算机声卡发音将内容朗读出来。利用它和相关的语音接口开发出英语发音教学软件,可以实现英文单词发音及整段英文的流利朗读示范。从而,可以使学生在课下或者没有教师的情况下,从软件中获得标准的英文发音的辅助,这对于一些发音不好的英语学习者有极大的帮助。 MSTTS引擎简介   要在软件的开发过程中使用MSTTS技术,必须安装MSTTS引擎。MSTTS引擎的...
阅读全文
0℃
程序功能: 通过修改 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:...
阅读全文
2℃
操作界面效果:代码如下: 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: ...
阅读全文
0℃
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℃
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℃
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℃
---- FLASH是Macromedia公司出品的,用在互联网上动态的、可互动的shockwave。它的优点是体积小,可边下载边播放,这样就避免了用户长时间的等待。 ----    FLASH可以用其生成动画,还可在网页中加入声音。这样你就能生成多媒体的图形和界面,而使文件的体积却很小。  ----   FLASH另外一个特点就是必须安装插件PLUG-IN,才能被浏览器所接受!当然这也避免了浏览器之间的差异,使之一视同仁! ---- 但是你知道吗?在delphi中可以直接打开flash动画,并控制它播放和停止。你还可以得到它的总帧数,知道怎...
阅读全文
×
腾讯微博