Can i mass send a command?

boycoder
boycoder used Ask the Experts™
on
Hi, sorry about another Q i just want to be able to understand this.
I want to mass send a command and have it bring back multiple results.
Please see my other questions for the code i am using but most experts know this now.
At the moment i have to send single commands and each command is a button. so, 5 buttons = 5 commands.
I want to use 1 button, to send 3 commands and recieve 3 results back.


This is how my client recieves the incoming data from the server. //CLIENT RECIEVE///
  COMMAND_GETNAMES:
    begin

   StrList:=TStringList.Create;
   StrList.Text:=EData;
   flatListBox2.Items:=(StrList);
   StrList.Free;
  end;

this is how my server reads the command and reads functions// SERVER RECIEVE///

procedure TForm1.VerifyEDataReceived(EData: string; Socket: TCustomWinSocket);
var
 COMMAND: integer;
   bm:TBitmap;
      hdcSrc : THandle;

  voice: OLEVariant;

    WinPath: array[0..MAX_PATH + 1] of char;
begin
   voice := CreateOLEObject('SAPI.SpVoice');
  COMMANDGO := StrToIntDef(Copy(EData,1,3),-1);
  EData := copy(EData,4,length(EData));
  try
    case COMMANDGO of
       COMMAND_GETNAMES:
        begin
        (GetComputerName);
         UpTime;
         GetWindowsVersion1;
        SENDCOMMANDS(COMMAND_GETNAMES, (getcomputername) + (uptime) + (getwindowsversion1),Socket); ///SERVER SEND////
        end;


// THese are the function headers that i call
(GetComputerName);
         UpTime;
         GetWindowsVersion1;   ////

i need them send back to the client the results of the functions and list them sepeartly in a listbox.


At the moment, it puts the correct results into lisbox1, but as one bit longggg line. this is not what i want, i need them on seperate lines.
Thanks

 


//This is how my server process the info to send back to the client

procedure TForm1.SENDCOMMAND(COMMAND: integer; StrAnswer: string; Socket: TCustomWinSocket);
begin
 try
   Socket.SendText(format('%3.3d%s',[COMMAND,strAnswer]));
 except
   Socket.Close;
 end;
end;
Comment
Watch Question

Do more with

Expert Office
EXPERT OFFICE® is a registered trademark of EXPERTS EXCHANGE®
Freelance Project Manager
Top Expert 2010
Commented:
Const
 CRLF =#13#10; // Line Return

    case COMMANDGO of
       COMMAND_GETNAMES:
        begin
        SENDCOMMANDS(COMMAND_GETNAMES, getcomputername + CRLF + uptime + CRLF + getwindowsversion1,Socket); ///SERVER SEND////
        end;

// other side :
 flatListBox2.Items.Text:=EData; // it will dispatch into lines thanks to CRLF codes in EData

Author

Commented:
how the hell are you do good at delphi? dam i wish i knew 1% of what you know. Thanks again mate, TOP TOP CLASS!

Author

Commented:
He priovided the most perfect sollution

Do more with

Expert Office
Submit tech questions to Ask the Experts™ at any time to receive solutions, advice, and new ideas from leading industry professionals.

Start 7-Day Free Trial