Link to home
Start Free TrialLog in
Avatar of boycoder
boycoder

asked on

Can i mass send a command?

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;
ASKER CERTIFIED SOLUTION
Avatar of Emmanuel PASQUIER
Emmanuel PASQUIER
Flag of France image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of boycoder
boycoder

ASKER

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!
He priovided the most perfect sollution