Jump to content

Alessandro Pancotte

Members
  • Posts

    6
  • Joined

  • Last visited

Posts posted by Alessandro Pancotte


  1. unit UFrmUniBusca;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Grids, DBGrids, StdCtrls, ExtCtrls,
      ibx.IBCustomDataSet, ibx.IBQuery, ComCtrls, ActnList, Data.DB, uniEdit,
      uniButton, uniBitBtn, uniStatusBar, uniGUIClasses, uniBasicGrid, uniDBGrid,
      uniPanel, uniGUIBaseClasses, uniLabel, uniGUITypes, uniGUIForm;

    type
      TFrmUniBusca = class(TUniForm)
        Label1: TUniLabel;
        Panel1: TUniPanel;
        BtnPesquisar: TUniBitBtn;
        Ds: TDataSource;
        QRY: TIBQuery;
        EdnPesquisa: TUniEdit;
        StatusBar1: TUniStatusBar;
        GridPesquisa: TUniDBGrid;

        procedure BtnPesquisarClick(Sender: TObject);
        procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
        procedure EdnPesquisaEnter(Sender: TObject);
        procedure EDNPESQUISAKeyDown(Sender: TObject; var Key: Word;
          Shift: TShiftState);
        procedure FormKeyPress(Sender: TObject; var Key: Char);
        procedure FormShow(Sender: TObject);
        procedure FormClose(Sender: TObject; var Action: TCloseAction);
        procedure GridPesquisaDblClick(Sender: TObject);
        procedure GridPesquisaDrawColumnCell(Sender: TObject; ACol, ARow: Integer;
          Column: TUniDBGridColumn; Attribs: TUniCellAttribs);
      private
        procedure pesquisa;
        { Private declarations }
      public
        { Public declarations }
        FFORMCADASTRO,TABELA,Campo1,Campo2,Campo3,FTIPOPCONTA,FFILTRO,SQL:String;
        TECLA:Integer;
      end;

    var
      FBusca: TFrmUniBusca;
      Esc: Boolean;

    implementation

    uses UniLogEdit;

    {$R *.dfm}

    procedure TFrmUniBusca.EDNPESQUISAKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    var
      fc : TUniFormClass;
      f : TUniForm;
      Str:String;
    begin

      if fformcadastro <> '' then
      begin
        if key=116 then
          begin
             Str:=EdnPesquisa.Text;
             fc := TUniFormClass(FindClass('T'+FFORMCADASTRO));
             f := fc.Create(Application);
             f.ShowModal;
             f.Free;
             f:=nil;
             EdnPesquisa.Text:='';
             EdnPesquisa.Text:=Str;
             if not QRY.IsEmpty then
                begin
                   QRY.Last;
                   QRY.First;
                   if QRY.RecordCount=1 then
                       Close;
                end;

        end;
      end;

       if QRY.IsEmpty then
          Exit;

       if key=40 then
          QRY.Next;
       if key=38 then
          QRY.Prior;
    end;

    procedure TFrmUniBusca.GridPesquisaDblClick(Sender: TObject);
    begin
      close;
    end;

    procedure TFrmUniBusca.GridPesquisaDrawColumnCell(Sender: TObject; ACol,
      ARow: Integer; Column: TUniDBGridColumn; Attribs: TUniCellAttribs);
    begin

     if Odd((Sender as TUniDBGrid).DataSource.DataSet.RecNo) then
      Attribs.Color:= clWhite
     else
      Attribs.Color:= $00FFEEDD;

    end;

    procedure TFrmUniBusca.EdnPesquisaEnter(Sender: TObject);
    begin
      pesquisa;
    end;

    procedure TFrmUniBusca.FormClose(Sender: TObject; var Action: TCloseAction);
    var
      I : integer;
      Codigo:String;
    begin
    //   SQL:='SELECT '+TABELA+'.COD FROM '+TABELA+' WHERE COD='+GridPesquisa.Columns[0].Field.Text;
       if Esc Then
         begin
           QRY.Close;
           Exit
         end;

             Codigo:=QRY.FieldByName('COD').Text;
             qry.DisableControls;
             qry.First;
             while not (qry.EOF) do
                begin

                  for I := 0 to GridPesquisa.SelectedRows.Count - 1 do
                  begin
                      UniLogEdit.IncluirLista(QRY.FieldByName('COD').Text);
                  end;

                  qry.next
                end;
             qry.EnableControls;
             QRY.Locate('COD',Codigo,[loCaseInsensitive]);

    end;

    procedure TFrmUniBusca.FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    begin
      if (key = vk_f1) then
        begin
          pesquisa;
        end;
    end;

    procedure TFrmUniBusca.FormKeyPress(Sender: TObject; var Key: Char);
    begin
      Esc := False;
      if (Key=#13) then
         begin
          close;
         end;
      if (Key=#27) then
        begin
          Esc := TRUE;
          Close;
        end;
    end;

    procedure TFrmUniBusca.FormShow(Sender: TObject);
    begin
      if not qry.IsEmpty then
      begin
       QRY.Last;
       QRY.First;
       if QRY.RecordCount=1 then
          Close;
      end;

    end;

    procedure TFrmUniBusca.pesquisa;
    begin
            with QRY,SQL do
                begin
                   Clear;
                   if Campo3<>'' then
                      begin
                         Add('SELECT FIRST 50 COD, '+Campo1+','+Campo2+','+Campo3+' FROM '+TABELA);
                         Add(' WHERE '+Campo2+' LIKE '+QuotedStr('%'+EDNPESQUISA.Text+'%'));
                         Add( 'AND DIGITOVERIF <> '+QuotedStr('') );
                         //Add(' AND TIPO='+QuotedStr(FTIPOPCONTA));
                         Add(' ORDER BY '+Campo2);
                      end
                   else
                      begin
                         Add('SELECT FIRST 50 COD,'+Campo1+','+Campo2+' FROM '+TABELA);
                         Add('WHERE ('+Campo1+'||''-''||'+Campo2+') LIKE '+QuotedStr('%'+EDNPESQUISA.Text+'%'));

                         if FFILTRO<>'' then
                            Add(' AND '+FFILTRO);
                         Add(' ORDER BY '+Campo2);
                      end;
                   Open;
                end;
      EdnPesquisa.selectall;
    end;

    procedure TFrmUniBusca.BtnPesquisarClick(Sender: TObject);
    begin
     pesquisa;
    end;

    end.
     

  2. }unit UniLogEdit;

    interface

    uses
      SysUtils, Classes, Controls, StdCtrls,ibx.IBCustomDataSet, ibx.IBQuery, ibx.IBDatabase,
      DBGrids,Windows,uniEdit, uniGUIDialogs, uniGUIForm, DB, Forms, uniGUIApplication;


    type
      TUniLogEdit = class(TUniEdit)
      private
        FTABELA: STRING;
        FRESULTADO: STRING;
        FRESULTADOCODIGO:STRING;
        FBANCO: TIBDatabase;
        FDIGITADO: STRING;
        FLIGAR: STRING;
        FREGISTROS: INTEGER;
        FTRANS: TIBTransaction;
        FACHOU:BOOLEAN;
        FCAMPOGRAVAR: TField;
        FLIGARMASCARA: STRING;
        FUSAMASCARA: String;
        FTECLACADASTRO: Word;
        FFORMCADASTRO: String;
        FCAMPORESULTADO: String;
        FABRETELABUSCA: String;
        FORDER: STRING;
        FPLANOCONTA: Boolean;
        FTIPOPCONTA: String;
        FFILTRO: String;
        FAntesFecharTelaPesquisa: TNotifyEvent;
        FAposExecutarBusca: TNotifyEvent;
        FLigaComponente: String;
        FCAMPOPESQUISA: STRING;
        FTIPOCAMPO: STRING; // 'CHAR' - CARACTER | <> 'CHAR' - INTEGER
        procedure SetaUsoMascara(const Value: boolean);
        procedure SetaAbrePesquisa(const Value: boolean);
        procedure SetAntesFecharTelaPesquisa(const Value: TNotifyEvent);
        procedure SetAposExecutarBusca(const Value: TNotifyEvent);

        { Private declarations }
      protected
        { Protected declarations }
        procedure KeyPress(var Key: Char); override;
        procedure KeyDown(var Key: Word;Shift: TShiftState);override;
      //constructor Create(AOrner :TComponent);override;
      public
        Qry:TIBQuery;
        ResultadoLista:TStringList;


        procedure ExecutarBusca; { Public declarations }

      published
        { Published declarations }
        property A_LigarComponente     : String      read FLigaComponente write FLigaComponente;
        property A_BANCODADOS          : TIBDatabase read FBANCO       write FBANCO;
        property A_TRANSACAO           : TIBTransaction read FTRANS    write FTRANS;
        property A_TABELA              : STRING  read FTABELA          write FTABELA;
        property A_TABELA_ORDER        : STRING  read FORDER           write FORDER;
        property A_LIGAR               : STRING  read FLIGAR           write FLIGAR;
        property A_LIGARMASCARA        : STRING  read FLIGARMASCARA    write FLIGARMASCARA;
        property A_DIGITADO            : STRING  read FDIGITADO        write FDIGITADO;
        property A_CAMPOGRAVAR         : TField  read FCAMPOGRAVAR     write FCAMPOGRAVAR;
        property A_CAMPO_PESQUISA      : STRING  read FCAMPOPESQUISA   write FCAMPOPESQUISA;
        //property A_USA_MASCARA         : boolean read FUSAMASCARA      write FUSAMASCARA DEFAULT True ;
        property A_USA_MASCARA         : String  read FUSAMASCARA      write FUSAMASCARA  ;
        property A_ABRIR_TELA          : String  read FABRETELABUSCA   write FABRETELABUSCA;
        //property A_ABRIR_TELA          : boolean read FABRETELABUSCA   write FABRETELABUSCA DEFAULT True ;
        property A_TECLA_CADASTRO      : Word    read FTECLACADASTRO   write FTECLACADASTRO ;
        property A_FORMCADASTRO        : String  read FFORMCADASTRO    write FFORMCADASTRO ;
        property A_PLANOCONTA_TIPO     : String  read FTIPOPCONTA      write FTIPOPCONTA;
        property A_FILTRO              : String  read FFILTRO          write FFILTRO;
        property REGISTROS             : INTEGER read FREGISTROS       write FREGISTROS;
        property RESULTADOCODIGO       : STRING  read FRESULTADOCODIGO write FRESULTADOCODIGO;
        property A_TIPOCAMPO           : STRING  read FTIPOCAMPO       write FTIPOCAMPO;
        property OnAntesFecharTelaPesquisa: TNotifyEvent read FAntesFecharTelaPesquisa write SetAntesFecharTelaPesquisa;
        property OnAposExecutarBusca: TNotifyEvent read FAposExecutarBusca write SetAposExecutarBusca;
      end;
    Function ZeraEsquerda( Texto : String ; Tamanho: Integer ): String;
    Function IncluirLista( Cod : String ): String;
    Function RetiraZeroEsquerda(Str:String):String;
    procedure Register;

    implementation

    uses
      UFrmUniBusca, UniLogQuery;

    Var
       Ds:TDataSource;
       Resultado:TStringList;


    procedure Register;
    begin
      RegisterComponents('LogSistemas', [TUniLogEdit]);
    end;

    { TUniLogEdit }
    Function IncluirLista( Cod : String ): String;
    begin
       Resultado.Add(Cod);
    end;
    Function RetiraZeroEsquerda(Str:String):String;
    var
    Copia,i:integer;
    begin
       Result:='';
       Copia:=0;
       for i:=1 to Length(Str) do
          begin
             if Str='0' then
                Inc(Copia)
             else
                Break;
             if i=6 then
                Break;

          end;
       Result:=Copy(Str,Copia+1,Length(Str));
       if (length(str) =1) and (str = '0') then
        Result := '0';
    end;
    Function ZeraEsquerda( Texto : String ; Tamanho: Integer ): String;
    var
       I,X : Integer;
    begin
       I := Length( Texto ) + 1;
       for X := I to Tamanho do
           Texto := ' ' + Texto ;
       for I := 1 to Length( Texto ) do
           if Texto[ I ] = ' ' then Texto[ I ] := '0' else break ;
       Result := Texto;
    end;

    function SoNumeroS(Str:String):String;
    var
    i:integer;
    begin
    Result:='';
       for i:=0 to Length(Str) do
          begin
             if (Str in ['0'..'9']) then
                Result:=Result+Str;
          end;
       Result:=Trim(Result);
    end;

    procedure TUniLogEdit.ExecutarBusca;
    var
    S,Scod,Campo1,Campo2,CampoMascara1,CampoMascara2:String;
    Like:Boolean;
    I:Integer;
    begin
       FACHOU:=False;
       ResultadoLista:=TStringList.Create;
       Resultado:=TStringList.Create;


       Campo1:=Copy(FLIGAR,1,pos(';',FLIGAR)-1);
       Campo2:=Copy(FLIGAR,Length(Campo1)+2,50);

       if Campo1='' then
          begin
             ShowMessage('COMPONENTE CONFIGURADO INCORRETAMENTE...'+#13+
                         'INFORME OS DOIS CAMPOS SEPARADOS POR PONTO E VIRGULA');
             Exit;
          end;
       CampoMascara1:=Copy(FLIGARMASCARA,1,pos(';',FLIGARMASCARA)-1);
       CampoMascara2:=Copy(FLIGARMASCARA,Length(CampoMascara1)+2,50);
       //DM.VG_TipoPesquisa := '' ;
       if CampoMascara1='' then
          CampoMascara1:=Campo1;
       if CampoMascara2='' then
          CampoMascara2:=Campo2;

       FDIGITADO:=Self.Text;

       S := Trim(FDIGITADO) ;
       S := Copy( S, 1, 1 ) ;
          if ( S = '0')or( S = '1')or( S = '2')or( S = '3')or( S = '4')or( S = '5')or
             ( S = '6')or( S = '7')or( S = '8')or( S = '9') then
                Like:=False
             else
                Like:=True;

       Qry:=TIBQuery.Create(nil);
       Qry.Database:=FBANCO;
       Qry.Transaction:=FTRANS;
       with Qry,SQL do
          begin
             Clear;
             if not Like then
             begin
                   if FTIPOPCONTA<>'' then
                   begin
                      if FTIPOCAMPO <> 'CHAR' then
                        FDIGITADO:=RetiraZeroEsquerda(SoNumeroS(FDIGITADO));

                      Add(' SELECT FIRST 100 COD,'+Campo1+','+Campo2+' FROM '+FTABELA);
                      Add(' WHERE '+FORDER+'='+QuotedStr(FDIGITADO));
                   end
                   else
                   begin
                      if FCAMPOPESQUISA = '' then
                      BEGIN
                        if FTIPOCAMPO <> 'CHAR' then
                          FDIGITADO:=RetiraZeroEsquerda(SoNumeroS(FDIGITADO));

                        Add(' SELECT FIRST 100 COD,'+Campo1+','+Campo2+' FROM '+FTABELA);
                        Add(' WHERE ('+Campo1+'='+QuotedStr(FDIGITADO) + ' or COD = '+QuotedStr(FDIGITADO) + ')')
                      end
                      else
                      begin
                         Add(' SELECT FIRST 100 COD,'+Campo1+','+Campo2+' FROM '+FTABELA);
                         Add(' WHERE ('+Campo2+'='+QuotedStr(FDIGITADO) +')');
                      end;
                      FCAMPOPESQUISA := '' ;
                   end ;
                   if FTIPOPCONTA<>'' then
                      Add(' AND TIPO='+QuotedStr(FTIPOPCONTA));
                   if FFILTRO<>'' then
                      Add(' AND '+FFILTRO);
             end
             else
                begin
                   if FTIPOPCONTA<>'' then
                      Add(' SELECT FIRST 100 COD,'+Campo1+','+Campo2+','+FORDER+' FROM '+FTABELA)
                   else
                      Add(' SELECT FIRST 100 COD, '+Campo1+','+Campo2+' FROM '+FTABELA);
                   Add(' WHERE '+Campo2+' LIKE '+QuotedStr('%'+FDIGITADO+'%'));
                   if FTIPOPCONTA<>'' then
                      Add(' AND TIPO='+QuotedStr(FTIPOPCONTA));
                   if FFILTRO<>'' then
                      Add(' AND '+FFILTRO);
                   if FORDER<>'' then
                      Add(' ORDER BY '+FORDER);
                end;
             Open;
          end;
          if Qry.IsEmpty then
             begin
                FRESULTADO:='NÃO ENCONTRADO...';
                FRESULTADOCODIGO:='0';
             end
          else
             begin
                Qry.Last;
                Qry.First;
                FREGISTROS:=Qry.RecordCount;
                Scod:=Qry.FIELDBYNAME('COD').AsString;
                if FREGISTROS=1 then
                      begin
                         if FUSAMASCARA=UpperCase('S') then
                         begin
                          if ftipocampo = 'CHAR' then
                            FRESULTADO:=trim(Qry.FIELDBYNAME(Campo1).AsString)+' - '+Qry.FIELDBYNAME(Campo2).AsString
                          else
                            FRESULTADO:=ZeraEsquerda(Trim(Qry.FIELDBYNAME(Campo1).AsString),6)+' - '+Qry.FIELDBYNAME(Campo2).AsString
                         end
                         else
                            FRESULTADO:=Qry.FIELDBYNAME(Campo2).AsString;
                         FRESULTADOCODIGO:=Trim(Qry.FIELDBYNAME('COD').AsString);
                         FACHOU:=True;

                         Qry.SQL.Clear;
                         Qry.SQL.Add('SELECT FIRST 100 '+A_TABELA+'.* FROM '+A_TABELA);
                         Qry.SQL.Add(' WHERE '+A_TABELA+'.COD='+SCod);
                         Qry.Open;

                         if Assigned(FAntesFecharTelaPesquisa) then
                            FAntesFecharTelaPesquisa(Self);
                      end
                   else
                      begin
                         if FABRETELABUSCA=UpperCase('S') then
                            begin
                               FRESULTADO:='';
                               FACHOU:=False;
                               FBusca:=TFrmUniBusca.Create(UniApplication);
                               if FORDER<>'' then
                                  begin
                                     FBusca.GridPesquisa.Columns[0].FieldName:=FORDER;
                                     FBusca.Campo3:=FORDER;
                                     FBusca.FTIPOPCONTA:=FTIPOPCONTA;
                                  end
                               else
                                  FBusca.GridPesquisa.Columns[0].FieldName:=Campo1;
                               FBusca.GridPesquisa.Columns[0].Title.Caption:=CampoMascara1;
                               FBusca.GridPesquisa.Columns[1].FieldName:=Campo2;
                               FBusca.GridPesquisa.Columns[1].Title.Caption:=CampoMascara2;
                               FBusca.QRY.Database:=FBANCO;
                               FBusca.QRY.Transaction:=FTRANS;
                               FBusca.TABELA:=FTABELA;
                               FBusca.Campo1:=Campo1;
                               FBusca.Campo2:=Campo2;
                               if FFILTRO<>'' then
                                  FBusca.FFILTRO:=FFILTRO;
                               if FDIGITADO='' then
                                  begin
                                     FBusca.EdnPesquisa.Text:=' ';
                                     FBusca.EdnPesquisa.Text:='';
                                  end
                               else
                                  FBusca.EdnPesquisa.Text:=FDIGITADO;
                               FBusca.TECLA:=FTECLACADASTRO;
                               FBusca.FFORMCADASTRO:=FFORMCADASTRO;
                               FBusca.ShowModal;

                               if not FBusca.QRY.IsEmpty then
                                  begin
                                     if FUSAMASCARA=UpperCase('S') then
                                        begin
                                          if FORDER<>'' then
                                           FRESULTADO:=ZeraEsquerda(Trim(FBusca.Qry.FIELDBYNAME(FORDER).AsString),6)+' - '+FBusca.Qry.FIELDBYNAME(Campo2).AsString
                                        else
                                           FRESULTADO:=ZeraEsquerda(Trim(FBusca.Qry.FIELDBYNAME(Campo1).AsString),6)+' - '+FBusca.Qry.FIELDBYNAME(Campo2).AsString
                                        end
                                     else
                                        FRESULTADO:=FBusca.Qry.FIELDBYNAME(Campo2).AsString;
                               FRESULTADOCODIGO:=Trim(FBusca.Qry.FIELDBYNAME('COD').AsString);
                               Scod:=FBusca.Qry.FIELDBYNAME('COD').AsString;
                               FACHOU:=True;

                               Qry.SQL.Clear;
                               Qry.SQL.Add('SELECT FIRST 100 '+A_TABELA+'.* FROM '+A_TABELA);
                               Qry.SQL.Add(' WHERE '+A_TABELA+'.COD='+SCod);
                               Qry.Open;

                               while not Qry.Eof do
                                  begin
                                     if Qry.FieldByName(Campo2).AsString=FBusca.Qry.FIELDBYNAME(Campo2).AsString then
                                        Break;
                                     Qry.Next;
                                  end;

                               if Assigned(FAntesFecharTelaPesquisa) then
                                  FAntesFecharTelaPesquisa(Self);
                            end;
                         FBusca.Free;
                            end
                         else
                            begin
                               FACHOU:=False;
                               FRESULTADO:='';
                            end;
                      end;
             end;

          if FACHOU then
             Text:=FRESULTADO
          else
             if FUSAMASCARA<>UpperCase('S') then
             begin
                Text:='';
                ShowMessage( 'NÃO ENCONTRADO, VERIFIQUE..'+#13+'INFORME O CÓDIGO OU TECLA ENTER PARA CONSULTAR..');
                //ShowMessage('REGISTRO NÃO ENCONTRADO.');
             end
          else
             Text:=FRESULTADO;
         // if not FACHOU then keybd_event(VK_TAB,0,0,0) else Self.SelectAll;
        { if not Self.ReadOnly then
             begin
                if FACHOU then
                   begin
                      if Assigned(FCAMPOGRAVAR) then
                         begin
                            if (FCAMPOGRAVAR.DataSet.State in [dsedit,dsinsert]) then
                               TField(FCAMPOGRAVAR).AsInteger:=FRESULTADOCODIGO;
                          end;
                   end;
             end;}
    //Qry.Free;
    //Qry:=nil;

         if Resultado.Count=0 then
            ResultadoLista.Add(Qry.FieldByName('COD').AsString)
         else
            begin
               for I := 0 to Resultado.Count - 1 do
                  ResultadoLista.Add(Resultado);
            end;

         if Assigned(FAposExecutarBusca) then
            FAposExecutarBusca(Self);

    //  freeandnil(ResultadoLista);
      freeandnil(Resultado);

    end;

    Function CriarForm(Form:TUniForm;Classe:TUniFormClass):Boolean;
    begin
        Application.CreateForm(Classe,Form);
        Form.ShowModal;
        freeandnil(Form);
    end;

    procedure TUniLogEdit.KeyDown(var Key: Word; Shift: TShiftState);
    var
      fc : TUniFormClass;
      f : TUniForm;
    begin
    inherited KeyDown(Key,Shift);
       if key=FTECLACADASTRO then
          begin
             fc := TUniFormClass(FindClass('T'+FFORMCADASTRO));
             f := fc.Create(Application);
             f.ShowModal;
             f.Free;
             f:=nil;
          end;

    end;

    procedure TUniLogEdit.KeyPress(var Key: Char);
    begin
      inherited KeyPress(Key);
      if (Key = #13) or (key=#40)then
          begin
             if FLigaComponente='' then
                ExecutarBusca;

             if not FACHOU then
                begin
                   Self.SetFocus;
                   Self.SelectAll;
                end;
                if not FACHOU then
                   Self.SelectAll;
          end;
    end;

    procedure TUniLogEdit.SetaAbrePesquisa(const Value: boolean);
    begin
    end;

    procedure TUniLogEdit.SetAntesFecharTelaPesquisa(const Value: TNotifyEvent);
    begin
      FAntesFecharTelaPesquisa := Value;
    end;

    procedure TUniLogEdit.SetAposExecutarBusca(const Value: TNotifyEvent);
    begin
      FAposExecutarBusca := Value;
    end;


    procedure TUniLogEdit.SetaUsoMascara(const Value: boolean);
    begin
    end;

    end.
     

  3. Hi,

    I made an inherited modified tedit component and made a tedit.
    In this tedid I added some properties: table name, fields to search and result
    The user types some information in the edit and after pressing enter triggers an "perform search" event for this modified edit.
    This event searches the parameterized table, and if more than 1 record appears, open a form with a grid for the user to select the record he needs.
    The edit component is working, but I was unable to open the form with the grid.

    I can post the component in attachement.

  4. Hello!
    I'm testing the unigui in a new application.
    I development a component of search. This component consist in a edit that trigger a form with a search edit and grid.
    I converted him, but i can't make the search form open in the form UniLoginForm.
     

    this runs inside the edit component and calls the form.
    and I call this edit within the login

                               FBusca:=TFrmUniBusca.Create(UniApplication);
                               if FORDER<>'' then
                                  begin
                                     FBusca.GridPesquisa.Columns[0].FieldName:=FORDER;
                                     FBusca.Campo3:=FORDER;
                                     FBusca.FTIPOPCONTA:=FTIPOPCONTA;
                                  end
                               else
                                  FBusca.GridPesquisa.Columns[0].FieldName:=Campo1;
                               FBusca.GridPesquisa.Columns[0].Title.Caption:=CampoMascara1;
                               FBusca.GridPesquisa.Columns[1].FieldName:=Campo2;
                               FBusca.GridPesquisa.Columns[1].Title.Caption:=CampoMascara2;
                               FBusca.QRY.Database:=FBANCO;
                               FBusca.QRY.Transaction:=FTRANS;
                               FBusca.TABELA:=FTABELA;
                               FBusca.Campo1:=Campo1;
                               FBusca.Campo2:=Campo2;
                               if FFILTRO<>'' then
                                  FBusca.FFILTRO:=FFILTRO;
                               if FDIGITADO='' then
                                  begin
                                     FBusca.EdnPesquisa.Text:=' ';
                                     FBusca.EdnPesquisa.Text:='';
                                  end
                               else
                                  FBusca.EdnPesquisa.Text:=FDIGITADO;
                               FBusca.TECLA:=FTECLACADASTRO;
                               FBusca.FFORMCADASTRO:=FFORMCADASTRO;
                               FBusca.ShowModal;
     

×
×
  • Create New...