윈도환경에서 pc간에 판매데이타를 주고 받는 중입니다. 그런데 아래와 같이 for문으로 전송을 시켜서 수신pc쪽에서 ShowMessage로 확인해 보니까 누락되는 부분이 생기는군요.
procedure TForm1.JumunButtonClick(Sender:TObject);
var
i:integer;
TempSend:String;
begin
TempSend:='';
with JumunGrid do begin
for i:=1 to LastRow-1 do begin
TempSend:= dm.PosName+','+frmSale.CurTable.TableCode+','+
frmSale.curTable.NickName+','+Cells[8,i]+','+
Cells[5,i]+','+Cells[0,i]+','+Cells[6,i]+','+
Cells[1,i]+','+Cells[2,i]+','+
Cells[3,i]+','+Cells[4,i]+#13+#10;
TempSend:='';
frmSale.ClientSocket1.Socket.SendText(TempSend);
end;
end;
end;
이럴 때 수신쪽에서 받았다는 표시를 해주어야 할 것 같은데, 버튼클릭이벤트에서 데이타를 모두 보내야 하는데 어떤 식으로 처리해줘야 할지 좀 난감해져서 질문 올립니다.
그리고 수신쪽에서 받은 데이타를 처리해서 자신의 db에 저장하고 프린팅도 시켜야 하느데요. 어떻게 해야 제대로 처리할 수 있을지. 도움을 부탁드립니다.
그럼, 즐거운 하루가 되시길...
잘 안되나 보군요....
채팅예제가 샘플로 있는데...아주 간단하거든요...
쓰신 코드는 보면
> for i:=1 to LastRow-1 do begin
> TempSend:= dm.PosName+','+frmSale.CurTable.TableCode+','+
> frmSale.curTable.NickName+','+Cells[8,i]+','+
> Cells[5,i]+','+Cells[0,i]+','+Cells[6,i]+','+
> Cells[1,i]+','+Cells[2,i]+','+
> Cells[3,i]+','+Cells[4,i]+#13+#10;
> TempSend:='';//<==여기서 지워버리면 안돼죠.
> frmSale.ClientSocket1.Socket.SendText(TempSend);
> end;
받는쪽에서는
procedure TForm1.SSktClientRead(Sender: TObject; Socket: TCustomWinSocket);
var sRev : string;
begin//서버 : 클라이언트로부터 데이타를 받았다.
sRev := Socket.ReceiveText;
....
...
//sRev 로 필요한 작업을 하세요.
//Socket.ReceiveText 하면 문제가 있더라구요...
//클라이언트에서 다른 데이타가오면 ReceiveText 를 바꿔버리더라구요..
.....
end;
그럼..
.
박성훈 wrote:
> 윈도환경에서 pc간에 판매데이타를 주고 받는 중입니다. 그런데 아래와 같이 for문으로 전송을 시켜서 수신pc쪽에서 ShowMessage로 확인해 보니까 누락되는 부분이 생기는군요.
> procedure TForm1.JumunButtonClick(Sender:TObject);
> var
> i:integer;
> TempSend:String;
> begin
> TempSend:='';
> with JumunGrid do begin
> for i:=1 to LastRow-1 do begin
> TempSend:= dm.PosName+','+frmSale.CurTable.TableCode+','+
> frmSale.curTable.NickName+','+Cells[8,i]+','+
> Cells[5,i]+','+Cells[0,i]+','+Cells[6,i]+','+
> Cells[1,i]+','+Cells[2,i]+','+
> Cells[3,i]+','+Cells[4,i]+#13+#10;
> TempSend:='';
> frmSale.ClientSocket1.Socket.SendText(TempSend);
> end;
> end;
> end;
>
> 이럴 때 수신쪽에서 받았다는 표시를 해주어야 할 것 같은데, 버튼클릭이벤트에서 데이타를 모두 보내야 하는데 어떤 식으로 처리해줘야 할지 좀 난감해져서 질문 올립니다.
> 그리고 수신쪽에서 받은 데이타를 처리해서 자신의 db에 저장하고 프린팅도 시켜야 하느데요. 어떻게 해야 제대로 처리할 수 있을지. 도움을 부탁드립니다.
> 그럼, 즐거운 하루가 되시길...