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

виталий Соловьёв

Пользователи
  • Постов

    14
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные виталий Соловьёв

  1. Раньше был dbedit delphi  сейчас edit, но когда привязываю визуально его к проеденным данным, потом из перемененной, вставляю данные в edit. Однако в таблице они не отображающийся, поэтому с помощью: 

    Form2.FDQuery1.DataSource.DataSet.Post;

     не удается сохранить. Подскажите пожалуйста как сделать так, чтобы отображались как при обычном ведении с клавиатуры.

  2. поменял процедуру теперь тоже самое но после ввода логина:

    procedure TForm2.Timer2Timer(Sender: TObject);
    
    begin
    
    if (label4.Text<>'') and (label3.Text<>'') and (label3.Text.Length<>0) and (label4.Text.Length<>0) then
    d:=strtoint(label4.Text);
    case d of
    100:begin
    
    FDQuery1.Insert;
    label5.Text:=inttostr(d);
    edit2.Text:=S1;
    label3.Text:='';
    label4.Text:='';
    end;
    
    101:begin
    label5.Text:=inttostr(d);
    edit3.Text:=S1;
    edit4.Text:='User';
    label3.Text:='';
    label4.Text:='';
    
    if (FDQuery1.DataSource.DataSet.Locate('Login',S1,[])=true) and (edit2.Text<>'') and (edit3.Text<>'') and (edit3.Text.Length<>0) and (edit2.Text.Length<>0) then
    begin
    FDQuery1.Post;
    end
    else
    begin
    edit2.Text:='';
    edit3.Text:='';
    edit4.Text:='';
    end;
    end;
    end;
    End;

     

  3. Вот такой код написал при компеляции ошибок не  выдает. 

    unit yadro;
    
    interface
    
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, IdUDPClient,
      IdBaseComponent, IdComponent, IdUDPBase, IdUDPServer, FMX.StdCtrls, FMX.Edit,
      FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo, IdGlobal, IdSocketHandle,
      FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf,
      FireDAC.Phys.Intf, FireDAC.Stan.Def, FireDAC.Phys, FireDAC.Stan.Pool,
      FireDAC.Stan.Async, FireDAC.Phys.MSAcc, FireDAC.Phys.MSAccDef,
      FireDAC.FMXUI.Wait, FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf,
      FireDAC.DApt, System.Rtti, FMX.Grid.Style, Data.Bind.EngExt,
      Fmx.Bind.DBEngExt, Fmx.Bind.Grid, System.Bindings.Outputs, Fmx.Bind.Editors,
      Data.Bind.Components, Data.Bind.Grid, Data.Bind.DBScope, FMX.Grid, Data.DB,
      FireDAC.Comp.DataSet, FireDAC.Comp.Client;
    
    type
      TForm2 = class(TForm)
        Memo1: TMemo;
        Button1: TButton;
        Edit1: TEdit;
        Label1: TLabel;
        IdUDPServer1: TIdUDPServer;
        Button2: TButton;
        Button3: TButton;
        Label2: TLabel;
        Timer1: TTimer;
        FDManager1: TFDManager;
        FDConnection1: TFDConnection;
        FDQuery1: TFDQuery;
        DataSource1: TDataSource;
        StringGrid1: TStringGrid;
        BindSourceDB1: TBindSourceDB;
        BindingsList1: TBindingsList;
        LinkGridToDataSourceBindSourceDB1: TLinkGridToDataSource;
        Button4: TButton;
        Button5: TButton;
        Button6: TButton;
        Button7: TButton;
        Label3: TLabel;
        Label4: TLabel;
        Edit2: TEdit;
        Edit3: TEdit;
        Edit4: TEdit;
        Edit5: TEdit;
        Edit6: TEdit;
        LinkControlToField1: TLinkControlToField;
        LinkControlToField2: TLinkControlToField;
        LinkControlToField3: TLinkControlToField;
        LinkControlToField4: TLinkControlToField;
        Timer2: TTimer;
        Label5: TLabel;
        procedure IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
          const AData: TIdBytes; ABinding: TIdSocketHandle);
        procedure Button2Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Timer1Timer(Sender: TObject);
        procedure Timer2Timer(Sender: TObject);
        procedure Button4Click(Sender: TObject);
        procedure Button5Click(Sender: TObject);
        procedure Button6Click(Sender: TObject);
        procedure Openstr();
        procedure Closestr();
        procedure Change();
    
      private
        { Private declarations }
      public
        { Public declarations }
      end;
    
    var
      Form2: TForm2;
      S:string;
      s1,s2,s3:String;
      d:integer;
      SD:boolean;
    implementation
    
    {$R *.fmx}
    
    procedure TForm2.Button2Click(Sender: TObject);
    begin
      Form2.IdUDPServer1.Active:=true;
    end;
    
    procedure TForm2.Button3Click(Sender: TObject);
    begin
    Form2.IdUDPServer1.Active:=false;
    end;
    
    procedure TForm2.Button4Click(Sender: TObject);
    begin
    FDQuery1.Insert;
    end;
    
    procedure TForm2.Button5Click(Sender: TObject);
    begin
    FDQuery1.Post;
    end;
    
    procedure TForm2.Button6Click(Sender: TObject);
    begin
    FDQuery1.Delete;
    end;
    
    procedure TForm2.Change;
    begin
    FDQuery1.DataSource.DataSet.Locate('Login',label3.Text,[lopartialkey]);
    if  (label3.Text<>edit2.Text) then
    SD:=true
    else
     SD:=false;
    end;
    
    procedure TForm2.Closestr;
    begin
    FDQuery1.Post;
    end;
    
    procedure TForm2.IdUDPServer1UDPRead(AThread: TIdUDPListenerThread;
      const AData: TIdBytes; ABinding: TIdSocketHandle);
      var
        ss:TStringStream; //сохранять буквы будем тут
      s,buff:String; //вспомогательные переменные
    begin
          ss:=TStringStream.create(''); //создаем пустую строку
        ss.write(adata[0],length(adata)); //записываем в нее данные из потока байт
        s:=ss.DataString; //преобразовываем ее в текст
         ss:=TStringStream.create(''); //создаем пустую строку
        ss.write(adata[0],length(adata)); //записываем в нее данные из потока байт
        s:=ss.DataString; //преобразовываем ее в текст
          Memo1.Lines.Add(s);  // если кракоз¤бры то пробуем Utf8ToAnsi и т д (но у мен¤ и так работает)
          ss.free;//очищаем строку от мусора
           S1:=s;
          S2:=s;
          delete(S1,1,4);
          delete(S2,4,Length(S2));
          label3.Text:=S1;
          label4.Text:=S2;
    
    end;
    
    procedure TForm2.Openstr;
    begin
    FDQuery1.Insert;
    end;
    
    procedure TForm2.Timer1Timer(Sender: TObject);
    
    
    begin
    
    
    if form2.IdUDPServer1.Active=true then
    begin
    
      label2.Text:='Server On - port 8488';
    end
    else
       label2.Text:='Server Off';
    end;
    procedure TForm2.Timer2Timer(Sender: TObject);
    
    begin
    
    if (label3.Text.Length<>0) and (label4.Text.Length<>0) then
    
    
    Form2.Change;
    if SD=true then
    
    begin
    
    d:=strtoint(label4.Text);
    case d of
    0:begin
    
    FDQuery1.Insert;
    label5.Text:=inttostr(d);
    edit2.Text:=label3.Text;
    label3.Text:='';
    label4.Text:='';
    end;
    
    100:begin
    label5.Text:=inttostr(d);
    edit3.Text:=label3.Text;
    edit4.Text:='User';
    label3.Text:='';
    label4.Text:='';
    FDQuery1.Post;
    
    end;
    end;
    
    End;
    end;
    
    end.

    при попытке сохранить в аксес выдает вот что:

     

    подозеваю чтопроблема вот в этом кусочке

    FDQuery1.DataSource.DataSet.Locate('Login',label3.Text,[lopartialkey]);
    if  (label3.Text<>edit2.Text) then

    Потому, что когда убираю проблема исчезает, но сохранение в базу данных не происходит по-прежнему. Появляется пустая строка и все.
    Если пробовать писать руками в эдиты все норм сохраняет.

     

    1.jpg

  4. 1. listbox свойство  StyleLookup ставлю в значение  listboxitemnodetail  меня почти все устраивает, кроме одного нужно чтобы надпись осталась там где есть, а картинка перекочевала в другую сторону ListBoxItem.

    2. как в  listbox изменить размер, стиль и текст и шрифт по умолчанию.

  5. Добрый день! Подскажите пожалуйста насчет подключения   PostgreSQL. Включаю сервер - Работает,  пытаюсь подключить из firemonkey пишет что сервера нет или он не доступен.

×
×
  • Создать...