导航

心动吧DELPHI网络书

自发研究:须要多维思想而且要想不可能为可能的人才能做到

[置顶] {下载}本站提供delphi下载

  下载的时候最好不要用迅雷,要不然很容易断线.

  提供多个控件下载:

raise 语句: 抛出异常

 

//例1:
begin
raise Exception.Create('抛出异常');
end;
--------------------------------------------------------------------------------

//例2:
begin
raise Exception.CreateFmt('%s %d', ['错误代码:', 999]);
...

用 API 提取、写入指定网站的 Cookie

转自:万一博客

问题来源:

...

谈Delphi编程中“流”的利用

作者:陈经韬 收录于:2001年11月22日



什么是流?流,简单来说就是建立在面向对象基础上的一种抽象的处理数据的工具。在流中,定义了一些处理数据的基本操作,如读取数据,写入数据等,程序员是对流进行所有操作的,而不用关心流的另一头数据的真正流向。流不但可以处理文件,还可以处理动态内存、网络数据等多种数据形式。如果你对流的操作非常熟练,在程序中利用流的方便性,写起程序会大大提高效率的。

下面,笔者通过四个实例:EXE文件加密器、电子贺卡、自制OICQ和网络屏幕传输来说明Delphi编程中“流”的利用。这些例子中的一些技巧曾经是很多软件的秘密而不公开的,现在大家可以无偿的直接引用其中的代码了。

...

用GetEnvironmentVariable获取常用系统变量

//譬如 %WINDIR% 是表示系统目录的系统变量, 可以这样获取:
var
s: string;
begin
s := GetEnvironmentVariable('WINDIR');
ShowMessage(s); {C:\WINDOWS}
end;
--------------------------------------------------------------------------------
...

格式化输出函数(1): Format

 

var
s: string;
begin
//指令类型 type

s := Format('最大整数是: %d; 最小整数是: %d',[MaxInt,Low(Integer)]);
//返回: 最大整数是: 2147483647; 最小整数是: -2147483648
{ 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个变体数组 }
...

WebBrowser控件使用详解

WebBrowser控件使用详解

方法        说明

 GoBack        相当于IE的“后退”按钮,使你在当前历史列表中后退一项

 GoForward        相当于IE的“前进”按钮,使你在当前历史列表中前进一项

...

WebBrowser脚本错误的完美解决方案

当IE浏览器遇到脚本错误时浏览器,左下角会出现一个黄色图标,点击可以查看脚本错误的详细信息,并不会有弹出的错误信息框。当我们使用WebBrowser控件时有错误信息框弹出,这样程序显的很不友好,而且会让一些自动执行的程序暂停。我看到有人采取的解决方案是做一个窗体杀手程序来关闭弹出的窗体。今天探讨的方法是从控件解决问题。





1、SHDocVw.dll

...

多线程同步之 WaitableTimer (等待定时器对象)-多类型理解

喝酒醉了一天, 重装系统一天, 两天没上博客了; 继续学习...



想过没有? WaitableTimer 是在 "定时等待", 前面例子中的 WaitForSingleObject 等待函数 "也在等待", 这就 "双重等待" 了, 这不好, 太浪费资源.



其实作为同步工具, 前面的几种方法(事件、信号、临界区)基本够用了; WaitableTimer 的作用并不是为了重复前面的功能, 它的主要功用类似 TTimer 类; 譬如每隔多长时间执行一段代码、或在指定的时间去执行一段代码.



既然有了方便的 TTimer, 何必再使用 WaitableTimer 呢?

因为 WaitableTimer 比 TTimer 精确的多, 它的间隔时间可以精确到毫秒、它的指定时间甚至是精确到 0.1 毫秒;

而 TTimer 驱动的 WM_TIMER 消息, 是消息队列中优先级最低的, 也就是再同一时刻 WM_TIMER 消息总是被最后处理.

还有重要的一点 WaitableTimer 可以跨线程、跨进程使用.



继续探讨一个重要的点: 很多时候为了让线程不冲突, 线程也在等待, 既然有等待, 那 WaitableTimer 非常精确的定时又有什么价值呢? 对这个问题的思考, 可.........

WaitForSingleObject大致理解

明生KISS提示:这是一个等待函数,当未激活的状态下他是休眠的。。处理大量数值的时候他是一个属于优化类型的函数(至少我这么认为)..

有一样我想得不太明白的~这一个互斥的对像的意思是不是其余四条线程在等待。





详细的是:你的程序创建了五条线程。

当五个线程都调用了MyThreadFun的时候他们会执行到(if WaitForSingleObject(hMutex, INFINITE) = WAIT_OBJECT_0 then)这里的时候就会处于排队状态。。等待第一个运行完并释放了权限后才能让第二个线程进入~

...

[原创]自动点击和刷新网站

原创:心动吧明生KISS

转载请注明:http://www.abcxd.com/

 

没什么技术含量的东西。只是想在邪八上面。刷点在线时间而已。因为邪八上面的时间如果你单单挂着一个页面。他是无法取得你一共在线多少时间。只有偶尔动一下他才算你时间的。。。可丢到服务器上面运行....



首先:先登录一次邪八。登录时选择保存一年时间.然后点击开始就行了..

...

13多线程同步之 Event (事件对象)

据说 Event(事件对象) 是多线程最原始的同步手段, 我觉得它是最灵活的一个.

Event 对象(的句柄表)中主要有两个布尔变量, 从它的建立函数中可以看得清楚:
 
function CreateEvent(
lpEventAttributes: PSecurityAttributes; {安全设置}
...

[原创]让exe支持命令运行的delphi语法

原创:心动吧明生KISS

转换请注明:http://www.abcxd.com

  很多程序有的时候需要在dos命令下运行。。但是如果不带命令而直接运行的话。又会有很多问题。所以今天这一个就是讲求,如何让delphi生成的EXE也能支持命令运行,其实所有生成出来的exe都可以支持命令的。只是我们并没有接收外部传进来的值。所以就无处判断。。而现在这一个就是来介绍他的方法。先看一下他的函数写法

...
分页:[«]4[5][6][7][8][9][10][11][12][13][14][15][16][17][18][»]

日历

<< 2013-5 >>

Sun

Mon

Tue

Wed

Thu

Fri

Sat

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

站内搜索

Copyright ⊙ 2004-2009 心动吧 UrL:ABCXD.CoM All RiGhts Reserved