unit Core;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs,
IdBaseComponent, IdComponent, IdCustomTCPServer, IdTCPServer, Data.DB,
Data.Win.ADODB, IdContext, FireDAC.Stan.Intf, FireDAC.Stan.Option,
FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.FMXUI.Wait,
FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt,
FireDAC.Comp.DataSet, FireDAC.Comp.Client, FMX.Controls.Presentation, FMX.Edit;
type
TForm4 = class(TForm)
IdTCPServer1: TIdTCPServer;
IdTCPServer2: TIdTCPServer;
IdTCPServer3: TIdTCPServer;
IdTCPServer4: TIdTCPServer;
FDConnection1: TFDConnection;
FDConnection2: TFDConnection;
FDConnection3: TFDConnection;
FDConnection4: TFDConnection;
FDQuery1: TFDQuery;
FDQuery2: TFDQuery;
FDQuery3: TFDQuery;
FDQuery4: TFDQuery;
Edit1: TEdit;
procedure IdTCPServer1Execute(AContext: TIdContext);
procedure Edittext (Port,Besepath:TEdit);
function Serveronoff (connectionS:string=''):string;
function Formshow (FormNamba:integer):string;
function FDnnection(SQLwe:string):string;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
s,L,P:string;
implementation
{$R *.fmx}
uses Grid, Settings, UsersGrid;
procedure TForm4.Edittext(Port, Besepath: TEdit);
var
Path:string;
Asi,Asi1:Tstringlist;
begin
Asi:= TStringList.Create;
Asi1:= TStringList.Create;
Path:=Extractfilepath(paramstr(0));
Asi.LoadFromFile(Path+'settings\Defautport.txt');
Asi1.LoadFromFile(Path+'settings\settings.txt');
Port.Text:=Asi[0];
Besepath.Text:=Asi1[0];
end;
function TForm4.FDnnection(SQLwe:string): string;
begin
FDConnection1.Params.DriverID:='MSAcc';
FDConnection1.ConnectionString:=form2.PathBaseEdit.Text;
FDConnection1.Params.Database:=Form2.PathBaseEdit.Text;
FDConnection1.LoginPrompt:=false;
FDQuery1.Connection:=FDConnection1;
FDQuery1.SQL.Add(SQLwe);
FDConnection1.Connected:=true;
FDQuery1.Active:=true;
end;
function TForm4.Formshow(FormNamba: integer): string;
begin
case FormNamba of
1:begin
Form1.Visible:=true;
Result:='sucsesful';
end;
2:begin
Form2.Visible:=true;
Result:='sucsesful'
end;
3:begin
Form3.Visible:=true;
Result:='sucsesful'
end;
end;
end;
procedure TForm4.IdTCPServer1Execute(AContext: TIdContext);
begin
s:=AContext.Connection.Socket.ReadLn; //Записываем в переменную "s" сообщение, присланное клиентом.
Form1.Memo1.Lines.add('['+Timetostr(time)+']'+'['+AContext.Connection.Socket.Binding.PeerIP+']'+s); //Добавляем в Memo время, ip-adress клиента и сообщение
if AnsiPos('!',s)=0 then
begin
L:=s;
P:=s;
delete(L,AnsiPos('/',L),L.Length.Size);
delete(P, 1,AnsiPos('/',P));
AContext.Connection.Socket.Writeln(L+'?'+P);
end
Else
AContext.Connection.Socket.Writeln('Connected successfully');
end;
function TForm4.Serveronoff(connectionS: string): string;
begin
if Form2.Server.Text='Server On' then
begin
idTcpServer1.Active:=false; //Выключаем сервер
idTcpServer1.DefaultPort:=0; //Сбрасываем порт.
Form1.PortNamba.Text:='';
Result:='Server Off';
end
else
begin
idTcpServer1.DefaultPort:=form2.PortEdit.Text.ToInteger;//Устанавливаем порт, такой же, как и у клиента
idTcpServer1.Active:=true; //Включаем сервер
Form1.PortNamba.Text:=Form2.PortEdit.Text;
Result:='Server On';
end;
end;
end.
Кто может помочь с ошибкой?
Server.7z