当前位置:主页>仓库管理软件> 列表

请给我个指针应用的小程序,谢谢~! 找小型企业财务软件

财务软件版1楼: 请给我个关于指针写堆栈程序的例程序:把不同(或相同)的物件放在一起,然后可以按由上而下的顺序(或者不同的顺序取出)。刚学delphi希望得到高手指点,谢谢~!

2楼: 没人能有吗?。。。。。。 如怎样使用财务软件

3楼: 如果是作业,请独立完成!
不问思路,只要源码,不是求学应有的态度!

4楼: 谢谢你的教导,但是我这个不是作业,我现在没有人会给我布置作业的,我是想拿源码作参考让我能容易理解些。

5楼: 你可以参考一下Tlist的源码。

6楼: 链表啊
定义一个结构体
PNode = ^TNode;
TNode = Record
Data : Integer //数据 这里可以自己定义
Next : Pointer //指向下一个结点
end;
用New(PNode)来创建指针
用Dispose(PNode)来释放

财务软件版7楼: 补充一点
定义一个Head : PNode;
来保存头结点

8楼: 有个建议:
用 TList 代替 链表.
type
PNode = ^TNode;
TNode = Record
Data : string[30] ;//数据 这里可以自己定义
end;

var
TestList: TList;
Node: PNode;
begin
TestList := TList.Create;
New(Node);
Node^.Data := ''测试'';
TestList.Add(Node);
Node := nil;
ShowMessage( PNode(TestList[0])^.Data);
end;
打字麻烦,你自己去试吧!

9楼: //下面是DLL文件的动态调用方式。用到了函数指针。
var
add:function (a,b:integer):integer;stdcall; //add为函数指针
hm:hmodule;
begin
hm:=loadlibrary(dllfile);
add:=getprocaddress(hm,''towadd'');
freelibrary(hm);
end;

10楼: var
p:^string; //字符串指针
i:integer;
s:string;
begin
for i:=0 to 10 do
begin
new(p);
p^:= inttostr(i);
s:=s+p^;
end;
showmessage(s);
end;

11楼: 谢谢了。尝试中。。。

12楼: unit Unit1;

interface

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

type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
ccc: Char;
myQueue: TQueue;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
ccc := ''A'';
myQueue := TQueue.Create();
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
myQueue.Free();
end;

procedure TForm1.Button1Click(Sender: TObject);
var
buf: PChar;
begin
GetMem(buf, 2);
buf[0] := ccc;
buf[1] := #0;
myQueue.Push(buf);
inc(ccc);
end;

procedure TForm1.Button2Click(Sender: TObject);
var
buf: PChar;
begin
if myQueue.Count = 0 then
begin
ShowMessage(''此队列为空队列!!!'');
Exit;
end;

buf := myQueue.Pop();
if buf = nil then
begin
ShowMessage(''取出的是空指针。'');
end
else
begin
ShowMessage(''取出: '' + buf);
FreeMem(buf);
end
end;

end. 如小型企业财务软件

13楼: 试试吧,如果你对数据结构和指针操作本身不熟悉的话,我建议你就用TQueue类,VCL帮你封装好了的。

财务软件版14楼: 因为自学Delphi才8天时间。所以很多都还不明白,谢谢你们给我这么多源程序参考。我今天会把这些争取弄明白来

15楼: 谢谢你们~!

16楼: 结帖了~!