Z
zcsia
Unregistered / Unconfirmed
GUEST, unregistred user!
TLhHisRcptItem = record
getsure_unit_no Char ;//经办机构编号
r_date Char ;//发生日期
rcpt_no Char ;//收据号
insure_no Char ;//医保号
rcpt_sno Char ;//项目序号
doctor_id Char ;//医生编码
dept_id Char ;//科室编码
opt_no Char ;//操作员编码
hosp_no Char ;//医院编号
item_class Char ;//项目归类码
inter_id Char ;//内码
price Char ;//单价
amount Char ;//数量
days Char ;//天数
units Char ;//药品单位
end;
ArrayOfLhHisRcptItem = array of TLhHisRcptItem;
sRcptItems: ArrayOfLhHisRcptItem;
定义如上.
调用如下:
i := 0;
SetLength(sRcptItems,2);
while not eof do
begin
//分配空间
sRcptItems.getsure_unit_no := AllocMem(50);
sRcptItems.r_date := AllocMem(50);
sRcptItems.rcpt_no := AllocMem(50);
sRcptItems.insure_no := AllocMem(50);
sRcptItems.rcpt_sno := AllocMem(50);
sRcptItems.doctor_id := AllocMem(50);
sRcptItems.dept_id := AllocMem(50);
sRcptItems.opt_no := AllocMem(50);
sRcptItems.hosp_no := AllocMem(50);
sRcptItems.item_class := AllocMem(50);
sRcptItems.inter_id := AllocMem(50);
sRcptItems.price := AllocMem(50);
sRcptItems.amount := AllocMem(50);
sRcptItems.days := AllocMem(50);
sRcptItems.units := AllocMem(50);
//赋值
sRcptItems[iTmp].getsure_unit_no := jbjgbh;//;经办机构编号
sRcptItems[iTmp].r_date := fssj ; //发生日期
sRcptItems[iTmp].rcpt_no := sjh; //收据
sRcptItems[iTmp].insure_no := ybh; //医保号
sRcptItems[iTmp].rcpt_sno := xmxh; //项目序号
sRcptItems[iTmp].doctor_id := ysbm; //医生编码
...........
然后显示sRcptItems[iTmp]的值(这时候显示的东西是正常的)
next;
end;
循环完后再显示sRcptItems[iTmp]的值(这时候内容就不对了,有些元素值就错位或有乱字符)
请教各位大侠会是什么原因
getsure_unit_no Char ;//经办机构编号
r_date Char ;//发生日期
rcpt_no Char ;//收据号
insure_no Char ;//医保号
rcpt_sno Char ;//项目序号
doctor_id Char ;//医生编码
dept_id Char ;//科室编码
opt_no Char ;//操作员编码
hosp_no Char ;//医院编号
item_class Char ;//项目归类码
inter_id Char ;//内码
price Char ;//单价
amount Char ;//数量
days Char ;//天数
units Char ;//药品单位
end;
ArrayOfLhHisRcptItem = array of TLhHisRcptItem;
sRcptItems: ArrayOfLhHisRcptItem;
定义如上.
调用如下:
i := 0;
SetLength(sRcptItems,2);
while not eof do
begin
//分配空间
sRcptItems.getsure_unit_no := AllocMem(50);
sRcptItems.r_date := AllocMem(50);
sRcptItems.rcpt_no := AllocMem(50);
sRcptItems.insure_no := AllocMem(50);
sRcptItems.rcpt_sno := AllocMem(50);
sRcptItems.doctor_id := AllocMem(50);
sRcptItems.dept_id := AllocMem(50);
sRcptItems.opt_no := AllocMem(50);
sRcptItems.hosp_no := AllocMem(50);
sRcptItems.item_class := AllocMem(50);
sRcptItems.inter_id := AllocMem(50);
sRcptItems.price := AllocMem(50);
sRcptItems.amount := AllocMem(50);
sRcptItems.days := AllocMem(50);
sRcptItems.units := AllocMem(50);
//赋值
sRcptItems[iTmp].getsure_unit_no := jbjgbh;//;经办机构编号
sRcptItems[iTmp].r_date := fssj ; //发生日期
sRcptItems[iTmp].rcpt_no := sjh; //收据
sRcptItems[iTmp].insure_no := ybh; //医保号
sRcptItems[iTmp].rcpt_sno := xmxh; //项目序号
sRcptItems[iTmp].doctor_id := ysbm; //医生编码
...........
然后显示sRcptItems[iTmp]的值(这时候显示的东西是正常的)
next;
end;
循环完后再显示sRcptItems[iTmp]的值(这时候内容就不对了,有些元素值就错位或有乱字符)
请教各位大侠会是什么原因