procedure TForm_dxdpjgl.Get_dxxzdm_dxxzmc(MyCombobox_1,MyCombobox_2:TCombobox);
begin
sqlText:='select dxxzdm,dxxzmc from jtsjk.dbo.DXXZB where yxdwdm='''+vYxdwdm+''' order by dxxzdm';
MyCombobox_1.Items.Clear;
MyCombobox_2.Items.Clear;
MyCombobox_1.Items.add('全部');
MyCombobox_2.Items.add('1');
tuxedoquery1.close;
tuxedoquery1.sql.clear;
tuxedoquery1.sql.add(sqltext);
try Tuxedoquery1.OPEN;
except
begin
application.MessageBox('数据库连接失败!','提示',0);
exit;
end;
end;
TuxedoQuery1.First;
while not TuxedoQuery1.Eof do
begin
MyCombobox_1.Items.Add(TuxedoQuery1.fieldbyname('dxxzmc').asstring);
MyCombobox_2.Items.Add(TuxedoQuery1.fieldbyname('dxxzdm').asstring);
Tuxedoquery1.Next;
end;
MyCombobox_1.ItemIndex:=0;
MyCombobox_2.ItemIndex:=0;
end;
begin
sqlText:='select dxxzdm,dxxzmc from jtsjk.dbo.DXXZB where yxdwdm='''+vYxdwdm+''' order by dxxzdm';
MyCombobox_1.Items.Clear;
MyCombobox_2.Items.Clear;
MyCombobox_1.Items.add('全部');
MyCombobox_2.Items.add('1');
tuxedoquery1.close;
tuxedoquery1.sql.clear;
tuxedoquery1.sql.add(sqltext);
try Tuxedoquery1.OPEN;
except
begin
application.MessageBox('数据库连接失败!','提示',0);
exit;
end;
end;
TuxedoQuery1.First;
while not TuxedoQuery1.Eof do
begin
MyCombobox_1.Items.Add(TuxedoQuery1.fieldbyname('dxxzmc').asstring);
MyCombobox_2.Items.Add(TuxedoQuery1.fieldbyname('dxxzdm').asstring);
Tuxedoquery1.Next;
end;
MyCombobox_1.ItemIndex:=0;
MyCombobox_2.ItemIndex:=0;
end;
能不能从怎么建立工程讲起啊?
再来一段就是了:(接着)
unit d1;interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,d2,fml, Grids;const
address_id_fml = 167773161;
address_seq_nbr_fml = 167773162;
street_fml = 167773163;type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Edit2: TEdit;
Edit3: TEdit;
Edit4: TEdit;
StringGrid1: TStringGrid;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;
myint: Integer;
RecNum: Integer;
address_id: array[0..255] of char;
address_seq_nbr: array[0..255] of char;
street: array[0..255] of char; {function myfunc(aa: Integer): Integer; stdcall;external 'myint.dll' name 'myfunc';
}
implementation{$R *.DFM}procedure TForm1.Button1Click(Sender: TObject);
var
recvbuf, recvlen :longInt;
sendbuf :pchar;
ret,getlen,setlen :integer;
tuxlong,tuxlong1:LongInt;
tuxstring:array[0..50] of char ;
tuxstring1:array[0..50] of char ;
i:integer;
begin
ret:= tpinit(0);
if ret<0 then
begin
showmessage('tpinit failed');
exit;
end;sendbuf:= tpallocstr('STRING', '', 10);
//messagebox('ret',string(ret))
if sendbuf=nil then
begin
showmessage('tpalloc failed');
exit; end;
recvbuf := tpalloc('FML32', '', 20480);
if recvbuf=0 then
begin
showmessage('tpalloc recvbuf failed');
exit;
end;//ret:= Finit(sendbuf, Fsizeof(sendbuf));
//ret:= Finit(recvbuf, Fsizeof(recvbuf));
//if ret<0 then
// begin
// showmessage('Finit failed');
// exit;
// end;//tuxstring=fill('a',50)
strpcopy(tuxstring, edit1.text);strpcopy(sendbuf, edit1.text);
//tuxlong:=strtoint(edit2.text);
//ret:=Fchglong(sendbuf, 8302, 0, tuxlong, 0);
//ret:=Fchgstr(sendbuf, 41069, 0, tuxstring, 0);
//if (ret<0) then
// begin
// showmessage('fchg failed');
// exit;
// end;
recvlen:=0;
ret:= tpcall('TOUPPER', sendbuf, 0, recvbuf, recvlen, 0);
if (ret<0) then
begin
showmessage(tpstrerror(4));
edit2.text:=inttostr(gettperrno);
exit;
end ;//tuxstring1=space(50)
//ret:=Fprint(recvbuf);
//getlen:=0;
//ret:=Fgetlong(recvbuf, 8302, 0, tuxlong1, getlen);RecNum := Foccur32(recvbuf, address_id_fml);
if (RecNum > 0) then
begin
for i:=0 to RecNum-1 do
begin
getlen:=0;
ret:=Fgetstr(recvbuf,address_id_fml,i,address_id, getlen);
if (ret<0) then
begin
showmessage('Fget failed');
exit;
end;
getlen:=0;
ret:=Fgetstr(recvbuf,address_seq_nbr_fml,i,address_seq_nbr, getlen);
if (ret<0) then
begin
showmessage('Fget failed');
exit;
end;
getlen:=0;
ret:=Fgetstr(recvbuf,street_fml,i,street, getlen);
if (ret<0) then
begin
showmessage('Fget failed');
exit;
end;
stringgrid1.Cells[0,i]:=address_id;
stringgrid1.Cells[1,i]:=address_seq_nbr;
stringgrid1.Cells[2,i]:=street;
end;
end;//getlen:=0;
//ret:=Fgetstr(recvbuf, 41069, 0, tuxstring1, getlen);
//if (ret<0) then
// begin
// showmessage('Fget failed');// edit2.text:=inttostr(getFerror);
// exit;
// end;
//showmessage('output is',tuxstring1);
//edit3.text:=strpas(tuxstring1);
//edit4.text:=inttostr(tuxlong1);
//edit2.text:=inttostr(getlen);tpfreestr(sendbuf);
tpfree(recvbuf) ;
tpterm;end;end.
#include <stdio.h>
#include <ctype.h>
#include <atmi.h> /* TUXEDO Header File */
#include <userlog.h> /* TUXEDO Header File */#include <fml.h>
#if defined(__STDC__) || defined(__cplusplus)
tpsvrinit(int argc, char *argv[])
#else
tpsvrinit(argc, argv)
int argc;
char **argv;
#endif
{
/* Some compilers warn if argc and argv aren't used. */
argc = argc;
argv = argv;
/* userlog writes to the central TUXEDO message log */
userlog("Welcome to the simple server");
tpopen();
return(0);
}#ifdef __cplusplus
extern "C"
#endif
void
#if defined(__STDC__) || defined(__cplusplus)
TOUPPER(TPSVCINFO *rqst)
#else
TOUPPER(rqst)
TPSVCINFO *rqst;
#endif
{ int i,j;
FBFR *tuxbuf;
char tuxstring[50];
long tuxlong; tuxbuf=rqst->data; Fprint(tuxbuf);
Fget(tuxbuf, 41069, 0, tuxstring, 0);
Fget(tuxbuf, 8302, 0, (char *)&tuxlong, 0);
for (i=0;i<strlen(tuxstring);i++)
tuxstring[i]=toupper(tuxstring[i]);
tuxlong+=100;
Fchg(tuxbuf, 41069, 0, tuxstring, 0);
Fchg(tuxbuf, 8302, 0, (char *)&tuxlong, 0);
Fprint(tuxbuf); /* Return the transformed buffer to the requestor. */
tpreturn(TPSUCCESS, 0, rqst->data, 0L, 0);
}