Что то ни как не могу справиться с вашими подсказками....
Вот исходник моего клиента
Код:
unit CliUnit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ScktComp, StdCtrls, ComCtrls, ExtCtrls, Grids, Menus, XPMan;
type
TForm1 = class(TForm)
ClientSocket1: TClientSocket;
StringGrid1: TStringGrid;
Button3: TButton;
PopupMenu1: TPopupMenu;
Rebott1: TMenuItem;
Shutdown1: TMenuItem;
Explorer1: TMenuItem;
KillIE1: TMenuItem;
XPManifest1: TXPManifest;
procedure ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
procedure FormCreate(Sender: TObject);
procedure StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
var CanSelect: Boolean);
procedure ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
procedure Rebott1Click(Sender: TObject);
procedure Shutdown1Click(Sender: TObject);
procedure Explorer1Click(Sender: TObject);
procedure KillIE1Click(Sender: TObject);
procedure ClientSocket1Error(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
constat:boolean = false;
t1:string; /// ip адрес
t2:string; /// команда
t3:string; /// переменная для цикла (IP)
sl:TStringList;
implementation
{$R *.dfm}
procedure TForm1.ClientSocket1Connect(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Socket.SendText(t2);
end;
procedure TForm1.FormCreate(Sender: TObject);
var
List:TStringList;
s,pole:string;
i:integer;
k:integer;
j:integer;
begin
sl:= TStringList.Create();
sl.LoadFromFile('ff.txt');
StringGrid1.Visible:=true;
stringgrid1.Cells[0,0]:='Terminal';
stringgrid1.Cells[1,0]:='IP';
stringgrid1.Cells[2,0]:='Status';
/////Загружаем в лист содержимое БД
List:=TStringList.Create;
List.LoadFromFile('ff.txt');
StringGrid1.RowCount:=List.Count+1;
/////Загружаем в стриг грид содержимое БД
for i:=1 to List.Count do begin
k:=0;
s:=List[i-1];
for j:=1 to length(s) do begin
if s[j]<>' ' then pole:=pole+s[j]
else begin stringGrid1.Cells[k,i]:=pole; pole:='';inc(k) end;
end;
end;
end;
/////////// Занести значение выделенной ячейки в t1////////
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
t1:=StringGrid1.Cells[ACol, ARow]
end;
/////////////////////////////////////////////////////////////
procedure TForm1.ClientSocket1Write(Sender: TObject;
Socket: TCustomWinSocket);
begin
ClientSocket1.Active:=false;
end;
procedure TForm1.Rebott1Click(Sender: TObject);
begin
t2:='start reboot.cmd';
ClientSocket1.Address:=t1;
ClientSocket1.Active:=true;
end;
procedure TForm1.Shutdown1Click(Sender: TObject);
begin
t2:='start poweroff.cmd';
ClientSocket1.Address:=t1;
ClientSocket1.Active:=true;
end;
procedure TForm1.Explorer1Click(Sender: TObject);
begin
t2:='start iexplore.exe';
ClientSocket1.Address:=t1;
ClientSocket1.Active:=true
end;
procedure TForm1.KillIE1Click(Sender: TObject);
begin
t2:='start taskkill /IM iexplore.exe /T /F';
ClientSocket1.Address:=t1;
ClientSocket1.Active:=true
end;
procedure TForm1.ClientSocket1Error(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
ShowMessage('Ничего страшного');
end;
end.
при запуске клиента он подгружает в стринг грид txt
Код:
Terminal1 192.168.0.1
Terminal2 192.168.0.2
Terminal3 192.168.0.3
Terminal4 192.168.0.4
Terminal5 192.168.0.5
Terminal11 192.168.0.11
Terminal12 192.168.0.12
Terminal13 192.168.0.13
Terminal14 192.168.0.14
Terminal15 192.168.0.15
Terminal16 192.168.0.16
Terminal17 192.168.0.17
Terminal18 192.168.0.18
в первую колонку имена во вторую ip хочу сделать кнопку что бы по команде клиент отправлял команду на все ip которые в этом txt. попробовал ваши способы что то не помогает ((( подскажите ещё раз пожалуйста.