Перейти к содержанию
Fire Monkey от А до Я
  • 0

FD + BD accsses (Delphi Alexandrin)


Эльвинтель

Вопрос

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.

 

21.jpg

Кто может помочь с ошибкой?

Server.7z

Изменено пользователем Эльвинтель
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

А так не пробовали

function TForm4.FDnnection(SQLwe:string): string;
begin
   FDConnection1.Params.DriverID:='MSAcc';
   FDConnection1.Params.Database:=Form2.PathBaseEdit.Text;
   FDConnection1.Connected:=true;
   FDQuery1.SQL.Add(SQLwe);
   FDQuery1.Active:=true;

end;

 

Ссылка на комментарий
  • 0

Благодарю, немного немного откорректировав помощь:
 

FDConnection1.DriverName:='IscDbc';
 FDConnection1.Params.DriverID:='MSAcc';
 FDConnection1.LoginPrompt:=false;
    FDConnection1.Params.Database:=Form2.PathBaseEdit.Text;
   FDConnection1.Connected:=true;
   FDQuery1.Connection:=FDConnection1;
   FDQuery1.SQL.Clear;
   FDQuery1.SQL.Add(SQLwe);
   FDQuery1.Active:=true;

Все вышло как надо.

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...