Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Код клиентской программы
unit mainform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, ExtCtrls, TeEngine, Series, TeeProcs, Chart;
type
TForm1 = class(TForm)
cServ: TButton;
dServ: TButton;
servPort: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
ClientSocket: TClientSocket;
logClient: TMemo;
ServerIP: TComboBox;
addIP: TButton;
Label6: TLabel;
T1_ob: TEdit;
Label7: TLabel;
T2_ob: TEdit;
Label8: TLabel;
K_ob: TEdit;
Label9: TLabel;
Button2: TButton;
Nastr: TEdit;
Label10: TLabel;
procedure FormCreate(Sender: TObject);
procedure addIPClick(Sender: TObject);
procedure cServClick(Sender: TObject);
procedure dServClick(Sender: TObject);
procedure ClientSocketError(Sender: TObject; Socket: TCustomWinSocket;
ErrorEvent: TErrorEvent; var ErrorCode: Integer);
procedure ClientSocketLookup(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketConnecting(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
![]() |
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
dServ. Enabled:=false;
cServ. Enabled:=true;
servPort. Enabled:=true;
serverIP. Enabled:=true;
Nastr. Enabled:=false;
ServerIP. Items. LoadFromFile('ipserv. cfg');
form1.Caption:='Client status [:: отключен ::]';
end;
procedure TForm1.addIPClick(Sender: TObject);
begin
if serverIP. Text <> '' then
begin
serverIP. Items. Add(serverIP. Text);
serverIP. Items. SaveToFile('ipserv. cfg');
end;
end;
procedure TForm1.cServClick(Sender: TObject);
begin
if serverIP. Text = '' then
begin
MessageBox(0,'Вы не ввели IP адрес сервера. Попробуйте еще раз.', 'Attention, please!',0);
exit;
end;
dServ. Enabled:= not dServ. Enabled;
cServ. Enabled:= not cServ. Enabled;
servPort. Enabled:= not servPort. Enabled;
serverIP. Enabled:= not serverIP. Enabled;
//--- Устанавливаем свойства Host и Port
if ClientSocket. Active then
ClientSocket. Close;
ClientSocket. Host := serverIP. Text;
ClientSocket. Port := StrToInt(servPort. text);
//--- Пытаемся соединиться
ClientSocket. Open;
end;
procedure TForm1.dServClick(Sender: TObject);
begin
dServ. Enabled:= not dServ. Enabled;
cServ. Enabled:= not cServ. Enabled;
servPort. Enabled:= not servPort. Enabled;
serverIP. Enabled:= not serverIP. Enabled;
//--- Закрываем соединение (если оно установлено)}
if ClientSocket. Active then
ClientSocket. Close;
end;
![]() |
procedure TForm1.ClientSocketError(Sender: TObject;
Socket: TCustomWinSocket; ErrorEvent: TErrorEvent;
var ErrorCode: Integer);
begin
//--- Если произошла ошибка, выводим ее код в logClient}
logClient. Lines. Add(TimeToStr(Time)+'<client> Socket error ('+IntToStr(ErrorCode)+')');
end;
procedure TForm1.ClientSocketLookup(Sender: TObject;
Socket: TCustomWinSocket);
begin
//--- Сообщаем о том, что идет поиск сервера
logClient. Lines. Add(TimeToStr(Time)+'<client> идет поиск сервера...');
end;
procedure TForm1.ClientSocketConnecting(Sender: TObject;
Socket: TCustomWinSocket);
begin
//--- соединяемся...
logClient. Lines. Add(TimeToStr(Time)+'<client> идет соединение с сервером...');
end;
procedure TForm1.ClientSocketConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
//--- соединились
form1.Caption:='Client status [:: подключен ::]';
logClient. Lines. Add(TimeToStr(Time)+'<client> соединение с сервером прошло успешно.');
end;
procedure TForm1.ClientSocketDisconnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
//--- отсоединились
MessageBox(0,'Произошло отключение от сервера. Попытайте свои силы в другой раз.', 'Соединение потеряно...',0);
form1.Caption:='Client status [:: отключен ::]';
logClient. Lines. Add(TimeToStr(Time)+'<client> соединение с сервером разорвано...');
dServ. Enabled:=false;
cServ. Enabled:=true;
servPort. Enabled:=true;
serverIP. Enabled:=true;
end;
procedure TForm1.ClientSocketRead(Sender: TObject;
Socket: TCustomWinSocket);
var s: string;
begin
![]() |
s := Socket. ReceiveText;
Nastr. Text:=s;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if (K_ob. Text = '') or (T1_ob. Text = '') or (T2_ob. Text = '') then
MessageBox(0,'Вы не ввели апараметры объекта', 'Attention, please!',0)
else
ClientSocket. Socket. SendText(K_ob. Text+';'+T1_ob. Text+';'+T2_ob. Text+';');
end;
end.
Код серверной программы
unit mainform;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ScktComp, Sockets, ExtCtrls;
type
TForm1 = class(TForm)
ServerStart: TButton;
ServerStop: TButton;
LogList: TMemo;
ServerSocket: TServerSocket;
ServerPort: TEdit;
Label1: TLabel;
ClientsList: TMemo;
procedure FormCreate(Sender: TObject);
procedure ServerStartClick(Sender: TObject);
procedure ServerStopClick(Sender: TObject);
procedure ServerSocketClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
procedure ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
socketraddr: array [0..666] of string;
client_num: integer;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
begin
ServerStart. Enabled:=true;
ServerStop. Enabled:=false;
ServerPort. Enabled:=true;
end;
procedure TForm1.ServerStartClick(Sender: TObject);
begin
//--- Устанавливаем порт
if ServerPort. Text = '' then
begin
MessageBox(0,'Вы не ввели порт сервера. Попробуйте еще раз.', 'Attention, please!',0);
exit;
end;
ServerSocket. Port := StrToInt(serverPort. Text);
ServerStart. Enabled:= not ServerStart. Enabled;
ServerStop. Enabled:= not ServerStop. Enabled;
ServerPort. Enabled:= not ServerPort. Enabled;
![]() |
Form1.Caption:='Server status [:: запущен ::]';
Loglist. Lines. clear;
Loglist. Lines. Add(TimeToStr(Time)+'<server> сервер запущен');
//--- Запускаем сервер
ServerSocket. Open;
end;
procedure TForm1.ServerStopClick(Sender: TObject);
begin
ServerStart. Enabled:= not ServerStart. Enabled;
ServerStop. Enabled:= not ServerStop. Enabled;
ServerPort. Enabled:= not ServerPort. Enabled;
if ServerSocket. Active then
ServerSocket. Close;
//--- Записываем результаты работы в файл
Form1.Caption:='Server status [:: остановлен ::]';
Loglist. Lines. Add(TimeToStr(Time)+'<server> сервер остановлен');
Loglist. Lines. SaveToFile('last_start. log');
Loglist. Lines. Add(TimeToStr(Time)+'<server> данные о последнем запуске записаны в файл last_start. log');
end;
procedure TForm1.ServerSocketClientConnect(Sender: TObject;
Socket: TCustomWinSocket);
begin
//--- Кто-то присоединился или отсоединился?
ClientsList. Lines. Clear;
if ServerSocket. Socket. ActiveConnections>=1 then
begin
for client_num := 0 to ServerSocket. Socket. ActiveConnections-1 do
begin
socketraddr[client_num]:=ServerSocket. Socket. Connections[client_num].RemoteAddress;
ClientsList. Lines. Add(TimeToStr(Time)+'<server> Произошло подключение с IP='+socketraddr[client_num]);
end;
end;
end;
procedure TForm1.ServerSocketClientRead(Sender: TObject;
Socket: TCustomWinSocket);
var s, clientIP: string;
K, T1, T2: Double;
begin
clientIP:=Socket. RemoteAddress;
s := Socket. ReceiveText;
for client_num := 0 to ServerSocket. Socket. ActiveConnections-1 do
if clientIP = socketraddr[client_num] then
begin
Loglist. Lines. Add(TimeToStr(Time)+'<server> Поступили следующие параметры передаточной функции объекта управления');
K:=StrToFloat(Copy(s,1,Pos(';',s)-1));
Delete(s,1,Pos(';',s));
Loglist. Lines. Add('K='+FloatToStr(K));
T1:=StrToFloat(Copy(s,1,Pos(';',s)-1));
Delete(s,1,Pos(';',s));
Loglist. Lines. Add('T1='+FloatToStr(T1));
T2:=StrToFloat(Copy(s,1,Pos(';',s)-1));
Delete(s,1,Pos(';',s));
Loglist. Lines. Add('T2='+FloatToStr(T2));
if (K = 0) or (T2 = 0) then
ServerSocket. Socket. Connections[client_num].SendText('K и T2 должны быть отличны от нуля')
else if T1=0 then
ServerSocket. Socket. Connections[client_num].SendText('T1=0 нет смысла')
else
ServerSocket. Socket. Connections[client_num].SendText('Kp='+FloatToStr(T1/(2*K*T2))+' Ti='+FloatToStr(T1));
end;
end;
end.


