procedure TSetBackEnd.BitBtn1Click(Sender: TObject);
var Lid,Fid,Phone,alarmTelStr,TempStr,test:string;
TempArrary:variant;
i:integer;
begin
with Line_ADOQuery do
begin
sql.Clear;
sql.Add('select * from Line');
open;
while not Eof do
begin
with FrontEnd_ADOQuery do
begin
sql.Clear;
sql.Add('select * from FrontEnd Where Lid='''+Trim(Line_ADOQuery.FieldValues['Lid'])+'''');
Open;
While not Eof do
begin
Lid:= Trim(FrontEnd_ADOQuery.FieldValues['Lid']);
Fid:= Trim(FrontEnd_ADOQuery.FieldValues['Fid']);
Phone:= Trim(FrontEnd_ADOQuery.FieldValues['Phone']);
while Length(Phone)<8 do Phone:='F'+Phone; //不足8位补F
alarmTelStr:='';
with Block_ADOQuery do
begin
sql.Clear;
sql.Add('select * from Repairer Where BlockId='''+Trim(FrontEnd_ADOQuery.FieldValues['BlockId'])+'''');
Open;
while not Eof do
begin
tempStr:= Trim(Block_ADOQuery.FieldValues['Phone']);
while Length(TempStr)<12 do TempStr:='F'+TempStr; //不足12位补F
alarmTelStr:=alarmTelStr+tempStr; //警报号码串 next;// Block_ADOQuery.next
end;//end while with Block_ADOQuery
TempArrary:=setFrontEndPhone(Lid,Fid,Phone,alarmTelStr);//返回组合贞
mainform_frm.MainForm.Timer1.Enabled:=False; //停止接收数据。
mainform_frm.MainForm.MSComm1.Output:=TempArrary; //发送帧问题: 请问在发出一帧数据后,如何中断,并等其发回反馈帧.确认对方正确接收后在接着发下一帧.
在循环中不知道如何去中断,然后等它反馈帧,请大侠帮忙想想办法,感激不尽. end;//end with Block_ADOQuery
next;//FrontEnd_ADOQuery.next
end;//end while with FrontEnd_ADOQuery
end; //end with FrontEnd_ADOQuery
next;//Line_ADOQuery.next
end;// end while with Line_ADOQuery
end; //end with Line_ADOQuery
end;
var Lid,Fid,Phone,alarmTelStr,TempStr,test:string;
TempArrary:variant;
i:integer;
begin
with Line_ADOQuery do
begin
sql.Clear;
sql.Add('select * from Line');
open;
while not Eof do
begin
with FrontEnd_ADOQuery do
begin
sql.Clear;
sql.Add('select * from FrontEnd Where Lid='''+Trim(Line_ADOQuery.FieldValues['Lid'])+'''');
Open;
While not Eof do
begin
Lid:= Trim(FrontEnd_ADOQuery.FieldValues['Lid']);
Fid:= Trim(FrontEnd_ADOQuery.FieldValues['Fid']);
Phone:= Trim(FrontEnd_ADOQuery.FieldValues['Phone']);
while Length(Phone)<8 do Phone:='F'+Phone; //不足8位补F
alarmTelStr:='';
with Block_ADOQuery do
begin
sql.Clear;
sql.Add('select * from Repairer Where BlockId='''+Trim(FrontEnd_ADOQuery.FieldValues['BlockId'])+'''');
Open;
while not Eof do
begin
tempStr:= Trim(Block_ADOQuery.FieldValues['Phone']);
while Length(TempStr)<12 do TempStr:='F'+TempStr; //不足12位补F
alarmTelStr:=alarmTelStr+tempStr; //警报号码串 next;// Block_ADOQuery.next
end;//end while with Block_ADOQuery
TempArrary:=setFrontEndPhone(Lid,Fid,Phone,alarmTelStr);//返回组合贞
mainform_frm.MainForm.Timer1.Enabled:=False; //停止接收数据。
mainform_frm.MainForm.MSComm1.Output:=TempArrary; //发送帧问题: 请问在发出一帧数据后,如何中断,并等其发回反馈帧.确认对方正确接收后在接着发下一帧.
在循环中不知道如何去中断,然后等它反馈帧,请大侠帮忙想想办法,感激不尽. end;//end with Block_ADOQuery
next;//FrontEnd_ADOQuery.next
end;//end while with FrontEnd_ADOQuery
end; //end with FrontEnd_ADOQuery
next;//Line_ADOQuery.next
end;// end while with Line_ADOQuery
end; //end with Line_ADOQuery
end;
初始发送一帧数据,然后在ONComm1ReceiveData事件中再发送下一帧数据。