TSstringlist类的变量怎么用啊?TSstringlist类的方法都有什么啊?用途是什么啊?
请看看以下一段程序的一部分那里错了?
var
tmpstr:string;
stackbuf:pointer;
begin
getmem(stackbuf,tpmsglen);
move(msgbuf[0],stackbuf^,tpmsglen); tmpstr:=inttostr(integer(stackbuf)) StartCallList.Add(tmpstr); showmessage('成功');
end;
我将showmessage('成功');放到
tmpstr:=inttostr(integer(stackbuf))
StartCallList.Add(tmpstr);
这两句的前面就可以显示,而放到其中一句的后面就不能显示,请问大家这两句那里错了?
谢谢!!1
请看看以下一段程序的一部分那里错了?
var
tmpstr:string;
stackbuf:pointer;
begin
getmem(stackbuf,tpmsglen);
move(msgbuf[0],stackbuf^,tpmsglen); tmpstr:=inttostr(integer(stackbuf)) StartCallList.Add(tmpstr); showmessage('成功');
end;
我将showmessage('成功');放到
tmpstr:=inttostr(integer(stackbuf))
StartCallList.Add(tmpstr);
这两句的前面就可以显示,而放到其中一句的后面就不能显示,请问大家这两句那里错了?
谢谢!!1
解决方案 »
- delphi DBimage 读取数据库图片,出现Bitmap image is not valid
- 关于listview控件中的checkboxes选中问题
- MOUSE 状态
- 放分帖二,三天后揭贴:),每人两分,人多再加。
- 求大家帮个小忙!!!
- dbedit的怎么显示的数据比我在数据库里存的数据的位数多呢,怎么处理?
- 明天就要交差了,最后一个问题没有解决,在线等待!我都块疯了,大家快来帮帮我 :用 PrintDBGridEh 按条件、分页打印DbgridEH的内容
- 查询问题!!!!!!
- 如何在DBEDIT中加入文本?谢谢
- 请问Delphi中WHERE子句如何处理boolean字段?
- 怎样读写二进制文件??
- 求助!
var
s: TStringList;
i,ProNum : integer;
ProCode,DateStr : String;
begin
if (Edit1.Text = '选择您文件保存的地址') or (ADOC.ConnectionString = '') then
begin
showmessage(' 路径不对或没有连接数据库 ! ');
end
else
begin
DateStr := FormatDateTime('yyyy-mm-dd',Now);
ProgressBar1.Show;
ProgressBar1.Min := 0;
ProgressBar1.Max := DBG.DataSource.DataSet.RecordCount;
Q1.Close;
Q1.SQL.Clear;
Q1.SQL.Add('select lngEndValue - lngStartValue as 产品数量,strProductCode as 产品编号 from tabPrintItem where datEndDate <= :bb and datEndDate >= :cc ');
Q1.Parameters.ParamByName('bb').Value := DateTimePicker2.DateTime;
Q1.Parameters.ParamByName('cc').Value := DateTimePicker1.DateTime;
Q1.Open;
s := TStringList.Create;
s.Add('<?xml version="1.0" encoding="gb2312" ?>');
s.Add('<ufinterface sender="'+Form2.sender.Text+'" receiver="u8" roottag="storeinout" docid=".5795186" proc="Query" codeexchanged="N" exportneedexch="N" display="出库单" family="库存管理">');
s.Add('<storeinout>');
s.Add('<header>');
s.Add('<receiveflag>0</receiveflag>');
s.Add('<vouchtype>11</vouchtype>');
s.Add('<businesstype>领料</businesstype>');
s.Add('<source>库存</source>');
s.Add('<businesscode></businesscode>');
s.Add('<warehousecode>103</warehousecode>');
s.Add('<date>' + DateStr + '</date>');
s.Add('<code>0300000089</code>');
s.Add('<receivecode>201</receivecode>');
s.Add('<departmentcode>04</departmentcode>');
s.Add('<personcode></personcode>');
s.Add('<purchasetypecode></purchasetypecode>');
s.Add('<saletypecode></saletypecode>');
s.Add('<customercode></customercode>');
s.Add('<vendorcode></vendorcode>');
s.Add('<ordercode></ordercode>');
s.Add('<quantity>0</quantity>');
s.Add('<arrivecode></arrivecode>');
s.Add('<billcode></billcode>');
s.Add('<consignmentcode></consignmentcode>');
s.Add('<arrivedate></arrivedate>');
s.Add('<checkcode></checkcode>');
s.Add('<checkdate></checkdate>');
s.Add('<checkperson></checkperson>');
s.Add('<templatenumber>65</templatenumber>');
s.Add('<serial></serial>');
s.Add('<handler></handler>');
s.Add('<memory>'+Form2.memoery.Text+'</memory>');
s.Add('<maker>'+Form2.maker.Text+'</maker>');
s.Add('<define1></define1>');
s.Add('<define2></define2>');
s.Add('<define3></define3>');
s.Add('<define4></define4>');
s.Add('<define5></define5>');
s.Add('<define6></define6>');
s.Add('<define7>0</define7>');
s.Add('<define8></define8>');
s.Add('<define9></define9>');
s.Add('<define10></define10>');
s.Add('<define11></define11>');
s.Add('<define12></define12>');
s.Add('<define13></define13>');
s.Add('<define14></define14>');
s.Add('<define15></define15>');
s.Add('<define16>0</define16>');
s.Add('<auditdate></auditdate>');
s.Add('</header>');
s.Add('<body>');
while not Q1.eof do
begin
ProCode := Q1.FieldByName('产品编号').AsString; //start...
ProNum := Q1.FieldByName('产品数量').AsInteger;
s.Add('<entry>');
s.Add('<id>30020302</id>');
s.Add('<barcode></barcode>');
s.Add('<inventorycode>'+ProCode+'</inventorycode>');
s.Add('<iMassDate></iMassDate>');
s.Add('</entry>');
ProgressBar1.Position := ProgressBar1.Position + 1;
Q1.Next;
end;
s.Add('</body>');
s.Add('</storeinout>');
s.Add('</ufinterface>');
s.SaveToFile(save);
s.Free;
ProgressBar1.Hide
end;
showmessage(' XML文件生成完毕! ');
end;procedure TForm1.Button2Click(Sender: TObject);
begin
with SaveDialog1 do
begin
DefaultExt:='xml';
Filter := '*.xml';
Execute;
edit1.Text := FileName;
save := filename;
Form2.ShowModal;
end;
end;procedure TForm1.ShowReExit(Sender: TObject);
begin
ShowRe.Click;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
ProgressBar1.Hide;
DateTimePicker1.DateTime := Now;
DateTimePicker2.DateTime := Now;
end;
给你看这个例子就ok了
// tpmsglen没有初始化值
move(msgbuf[0],stackbuf^,tpmsglen);
//msgbuf不会拷贝到stackbuf,stackbuf本身已经是指针了还+^?
tmpstr:=inttostr(integer(stackbuf))
//这里的stackbuf是指针吧,你是+指针的地址还是+指针的值?
StartCallList.Add
//不要add,yao append你的程序不完整,看不懂~~
hoho
忘了不过还是每看懂