本站首页    管理页面    写新日志    退出


«August 2025»
12
3456789
10111213141516
17181920212223
24252627282930
31


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3265590
建立时间:2005年6月6日




[delpih编程]热敏式打印机的打印备忘
软件技术

吕向阳 发表于 2009/4/8 8:48:13

procedure Tfkhxf.dy(dh: integer);
var
tfPrint: TextFile;
linestring: string;
begin
AssignFile(tfPrint, 'lpt1');//开始打印,端口号1
Rewrite(tfPrint); //覆盖式

//以下为打印内容

linestring := ' ***美发旗舰店';
Writeln(tfPrint, linestring);
writeln(tfprint, '--------------------------------');
linestring := '凭证单号: ' + inttostr(dh);
Writeln(tfPrint, linestring);
linestring := '总费用:' + edit1.Text + '元';
Writeln(tfPrint, linestring);


writeln(tfPrint, #13); //换行
closefile(tfprint); //关闭打印机
end;


阅读全文(2135) | 回复(0) | 编辑 | 精华 | 删除
 


[delpih编程]程序报错找不到qtintf.dll,问题解决
软件技术

吕向阳 发表于 2009/4/7 11:53:32

程序报错找不到qtintf.dll,问题解决
编了个程序,为了以防万一,在另外的电脑上用了下,竟说找不到
qtinft.dll。

网上查了一下:
这是一个Kylix程序在WINDOWS运行的支持库,一般不用的。最近我也中
招了,我在程序中不注意用了QForm,然后就要用到qtintf.dll了。一
般用到以Q打头的单元(Kylix)的单元,就要用到这个dll.而一般elphi
不会有任何提示,所以要小心点,把程序中的比如Qform,QGraphics改
成Forms,Graphics就行了。
DELHI中的find in files很好用,一找就能找出来


阅读全文(927) | 回复(0) | 编辑 | 精华 | 删除
 


[delpih编程]advstringgrid 的当前记录怎样取得
软件技术

吕向阳 发表于 2009/4/6 13:27:52

stringgrid的当前记录取得是很方便的,而advstringgrid尽管在其它
方面功能强大,但要取当前记录还是要费一番周折。

网上没有相关的资料,只能自己摸索了。一番测试后,发现其有一个
selectcell事件,点击后发现其有内建参数,应是选定行的行与列数。
因此在此事件中加入一个全局变量 currentrecno,用来保存arow,代码
如下。

procedure Tfmsendmulti.ads2SelectCell(Sender: TObject; ACol,
ARow: Integer;
var CanSelect: Boolean);
begin
currentrecno := arow;
end;

在需要用到当前行号,列号的事件直接引用currentrecno即可。

procedure Tfmsendmulti.ads2DblClick(Sender: TObject);
var
XPAPERID: string;
begin
xpaperid := ads2.Cells[0, currentrec];
showmessage(xpaperid);
end;

阅读全文(8687) | 回复(1) | 编辑 | 精华 | 删除
 


[delpih编程]delphi中tlist 的使用范例
软件技术

吕向阳 发表于 2009/4/6 9:09:52

program testlist; {$APPTYPE CONSOLE} uses SysUtils, Classes; type PInfo = ^TInfo; TInfo = record Name: string; Tel: string; Address: string; end; var SL: TStringList; List: TList;
AppPath: string;
{ 开辟一个新的PInfo 指针,填入信息并返回指针将在
Command_Delete 或FinaInfo 里释放 }

function MakeInfo(Name, Tel, Address: string): PInfo;
var
P: PInfo;
begin
New(P);
P^.Name := Name;
P^.Tel := Tel;
P^.Address := Address;
{ 返回的指针将被保存在List 里 }
result := P;
end;
{ 在屏幕上打印所有可用的命令 }

procedure PrintMenu;
begin
writeln(\ '======菜单======\');
writeln(\ 'V---- 查看所有人员的信息\');
writeln(\ 'A---- 增添新的人员信息\');
writeln(\ 'D----删除人员\');
writeln(\ 'E---- 修改人员信息\');
writeln(\ 'M---- 查看所有可用命令\');
writeln(\ 'X----退出程序\');
end;
{ 修改人员信息的程序 }

procedure Command_Edit;
var
I: Integer;
Name, Tel, Address: string;
P: PInfo;
begin
write(\ ' 请输入要修改的人员信息的序号:\');
readln(I);
if (I < 0) or (I >= List.Count) then
writeln(\ ' 输入超出范围。\')
else
begin
{ 取得某个人员信息的指针 }
P := List.Items;
writeln(\ ' 开始输入人员信息(若某项信息不需要修改则留
空):\');
write(\ ' 姓名:\');
readln(Name);
write(\ ' 电话号码:\');
readln(Tel);
write(\ ' 地址:\');
readln(Address);
{ 保存输入的信息 }
if Name <> \ '\' then
P^.Name := Name;
if Tel <> \ '\' then
P^.Tel := Tel;
if Address <> \ '\' then
P^.Address := Address;
writeln(\ ' 修改人员信息执行完毕。\');
end;
end;
{ 增加人员信息的程序 }

procedure Command_Add;
var
Name, Tel, Address: string;
begin
writeln(\ ' 开始输入人员信息:\');
write(\ ' 姓名:\');
readln(Name);
write(\ ' 电话号码:\');
readln(Tel);
write(\ ' 地址:\');
readln(Address);
{ 使用MakeInfo 生成TInfo 的指针
并加入Tlist 中 }
List.Add(MakeInfo(Name, Tel, Address));
writeln(\ ' 增加人员信息执行完毕。\');
end;
{ 打印所有人员信息的程序 }

procedure Command_View;
var
I: Integer;
P: PInfo;
begin
writeln(\ ' 人员信息列表:\');
for I := 0 to List.Count - 1 do
begin
P := List.Items;
writeln(IntToStr(I) + \ '号===================\');
writeln(\ '姓名:\' + P^.Name);
writeln(\ '电话:\' + P^.Tel);
writeln(\ '地址:\' + P^.Address);
{ 满六个就暂停,刚好填满一个屏幕 }
if I mod 6 = 5 then
begin
writeln(\ ' 请按回车键继续。\');
readln;
end;
end;
writeln;
end;
{ 删除人员信息的程序 }

procedure Command_Delete;
var
I: Integer;
P: PInfo;
begin
write(\ ' 请输入要删除的人员信息的序号:\');
readln(I);
if (I < 0) or (I >= List.Count) then
writeln(\ ' 输入超出范围。\')
else
begin
P := List.Items;
List.Delete(I);
Dispose(P);
writeln(\ ' 删除执行完毕。\');
writeln;
end;
end;
{ 处理用户输入的命令 }

function GetCommand: Boolean;
{ 返回False 表示退出 }
var
C: Char;
begin
write(\ ' 输入命令并回车:\');
readln(C);
result := True;
case C of
\ 'V\', \ 'v\': Command_View;
\ 'A\', \ 'a\': Command_Add;
\ 'D\', \ 'd\': Command_Delete;
\ 'M\', \ 'm\': PrintMenu;
\ 'X\', \ 'x\': result := False;
\ 'E\', \ 'e\': Command_Edit;
else
writeln(\ ' 未知命令。\');
end;
end;
{ 从Info.txt 把人员信息加载入Tlist }

procedure LoadInfo;
var
I: Integer;
Name, Tel, Address, Index: string;
begin
SL.LoadFromFile(AppPath + \ 'Info.txt\');
for I := 0 to SL.Count div 3 - 1 do
begin
Index := IntToStr(I) + \ '.\';
{ 文件格式:Index.Field=Value
在这里使用Index.X 区别不同序号的人员信息的字段名称
然后通过Values 属性读取信息 }
Name := SL.Values[Index + \ 'Name\'];
Tel := SL.Values[Index + \

阅读全文(1060) | 回复(0) | 编辑 | 精华 | 删除
 


[delpih编程]取得程序中一些特殊文件夹的位置【转贴】
软件技术

吕向阳 发表于 2009/4/3 9:11:54

//取得程序中一些特殊文件夹的位置
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms,
Dialogs, ComCtrls, StdCtrls,ShlObj;

type
TForm1 = class(TForm)
Button1: TButton;
ListView1: TListView;
procedure Button1Click(Sender: TObject);
private
function GetSpecialFolderDir(const folderid: integer): string;
procedure AddListItem(LCaption, LSubItem: string);
procedure AddToListView;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.AddListItem(LCaption, LSubItem: string);
var
I: TListItem;
begin
i := ListView1.Items.Add;
i.Caption := LCaption;
i.SubItems.Add(LSubItem);
end;

procedure TForm1.AddToListView;
begin
AddListItem('桌面', GetSpecialFolderDir(0));
AddListItem('所有用户桌面', GetSpecialFolderDir(25));
AddListItem('开始菜单程序', GetSpecialFolderDir(2));
AddListItem('所有用户开始菜单程序', GetSpecialFolderDir(23));
AddListItem('文档', GetSpecialFolderDir(5));
AddListItem('收藏夹', GetSpecialFolderDir(6));
AddListItem('所以用户收藏夹', GetSpecialFolderDir(31));
AddListItem('启动文件夹', GetSpecialFolderDir(7));
AddListItem('所有用户启动文件夹', GetSpecialFolderDir(24));
AddListItem('Recent文件夹', GetSpecialFolderDir(8));
AddListItem('发送到', GetSpecialFolderDir(9));
AddListItem('登陆用户开始菜单', GetSpecialFolderDir(11));
AddListItem('所有用户开始菜单', GetSpecialFolderDir(22));
AddListItem('网上邻居', GetSpecialFolderDir(19));
AddListItem('字体文件夹', GetSpecialFolderDir(20));
AddListItem('Template文件夹', GetSpecialFolderDir(21));
AddListItem('所有用户Template文件夹', GetSpecialFolderDir
(45));
AddListItem('ApplicaionData 文件夹', GetSpecialFolderDir(26));
AddListItem('打印文件夹', GetSpecialFolderDir(27));
AddListItem('当前用户本地应用程序设置文件夹',
GetSpecialFolderDir(28));
AddListItem('Internet临时文件夹', GetSpecialFolderDir(32));
AddListItem('Internet缓存文件夹', GetSpecialFolderDir(33));
AddListItem('当前用户历史文件夹', GetSpecialFolderDir(34));
AddListItem('所有用户应用程序设置文件夹', GetSpecialFolderDir
(35));
AddListItem('Windows系统目录', GetSpecialFolderDir(36));
AddListItem('程序文件夹', GetSpecialFolderDir(38));
AddListItem('System32系统目录', GetSpecialFolderDir(37));
AddListItem('当前用户图片收藏夹', GetSpecialFolderDir(39));
AddListItem('当前用户文件夹', GetSpecialFolderDir(40));
AddListItem('公共文件夹', GetSpecialFolderDir(43));
AddListItem('管理工具', GetSpecialFolderDir(47));
AddListItem('登陆用户管理工具', GetSpecialFolderDir(48));
AddListItem('所有用户图片收藏夹', GetSpecialFolderDir(54));
AddListItem('所有用户视频收藏夹', GetSpecialFolderDir(55));
AddListItem('主题资源文件夹', GetSpecialFolderDir(56));
AddListItem('CD Burning', GetSpecialFolderDir(59));

end;

function TForm1.GetSpecialFolderDir(const folderid: integer):
string;
var
pidl: pItemIDList;
buffer: array[0..255] of char;
begin
//取指定的文件夹项目表
SHGetSpecialFolderLocation(application.Handle, folderid,
pidl);
SHGetPathFromIDList(pidl, buffer); //转换成文件系统的路径
Result := strpas(buffer);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
AddToListView;
end;

end.

阅读全文(2197) | 回复(0) | 编辑 | 精华 | 删除
 


[delpih编程]数据提供程序或其他服务返回E_FAIL状态解决方案
软件技术

吕向阳 发表于 2009/4/2 21:34:39

delphi出错了:数据提供程序或其他服务返回E_FAIL状态 ,编的好好的程序说不能用就不能用了,害得自己重装了DELPHI,还是不行。多少年都没有遇到这种事。网上一查还真不是自己一个人的病。 查了好多贴,都没有说到正点。好不容易在一不起眼的贴子里看到可能是是数据库损坏了,还好ms access 中有自我修复功能。 进入工具-数据库实用工具-压缩和修复数据库,顺手的感觉又回来了。




阅读全文(1524) | 回复(0) | 编辑 | 精华 | 删除
 


« 21 22 23 24 25 26 27 28 »



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.324 second(s), page refreshed 144774175 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号