Jump to content

herculanojs

uniGUI Subscriber
  • Posts

    565
  • Joined

  • Last visited

  • Days Won

    12

Posts posted by herculanojs

  1. I am facing a difficulty with the organization issues of the columns of a unidbgrid.

    My grids are created in runtime, and I can not find an organization pattern that is being used for unidbgrid.

     

    In the attached image, the grid was created in the following column sequence:

     


    1) GroupHeader "Movimento" (columns: empresa,código,data)

    2) Cliente (columns: pessoa,nome pessoa,cnpj/cpf)

    3) nota (columns: modelo,serie,nota,chave)


     

    After the exhibition was:


    1) Movimento (columns: empresa,codigo,data)

    2) Nota (columns: chave,modelo,serie,nota)

    3) caixa (caixa,data faturamento, nome caixa)


     

    Etc.

     

    When the grid is mounted the layout always differs from the creation order.

    I have not located any field or control index for this.

     

    How can I solve this, so that the columns remain in position as I create them?

  2. Taking advantage of the topic, how can we turn off that the theme affects certain components. The theme menconado is very beautiful, but it has very dark colas for the backs of forms, panels, pagecontrols, etc. How can we make sure that themes do not affect the controls.

     

    It would be interesting to have a property in this sense, which would allow that in certain components we could point out that it was not affected by the theme.

  3. Everything I've discussed here in relation to peripherals comes up against the issue of browser security. I've heard of inconvess: impossible here.

    Direct printing on equipment is the greatest gymnastics. Interassion with ratchets, bluetooth, etc. At least here the suggestions are communications through local services in the client interacting with the server (which will run into a series of issues of network security topology, firewall, proxy, etc.) which makes it unfeasible.

    I honestly still could not find or have an answer to something that is really plausible.

  4. For more than 1 year I have debated this here in the forum, but without significant advances. I have to deal with many peripherals on clients, and today I have had too many problems.

    To just print I have to put the unigui service to upload with user with aministrador privileges. Turn and move to stop working, and you have to go there and restart the service.

     

    To access a balance, a biometric reader, I had to make a client stay running at the local station and exchange messages via the websocket. However, this is costly, not practical.

     

    I'm analyzing the go-global/graphon virtualization solution. At least usb peripherals you have access as well as printers.

  5. What I have noticed is that migrating applications to the clouds is still something that needs more maturing technologies, especially in the case of interaction with hardware. We have to make many ganbiarras just to make an impression.
    Imagine more complex things like integration with electronic ratchets, electronic point, etc. You can forget.
     
    I think I will abandon the project in unigui and return to firemonkey or vcl.
     
    As it is said: Our customers do not want to know what technology we use, they want to know that the thing works efficiently.

     

    And I have been facing great problems with the interaction with periphery.
     
    I have tried numerous approaches, and in all cases there is always some laughter when put to the test.
  6. Does anyone have any component, or do you know any practical resources for communicating with peripherals on client stations.

    The big problem we face, and there are numerous posts in this regard are related to interaction with peripherals in the client.

    Printers, scales, digital scanners, etc.

     

    The portability for web applications has been occurring, however what is the solution to these questions?

  7. Build 1.0.0.1424

     

    The UniStringGrid is changed in this procedure. Yet by no means ondrawcell is being fired. It is triggered only once when the procedure is first performed.

     

    a) Stringgrid tuning procedure

    procedure TfrmAgendamento.UpdateCalendar;
    var
    AYear, AMonth, ADay: Word;
    FirstDate: TDateTime;
     ACol,ARow:integer;
    begin
         FUpdating := True;
         try
            sgCalendario.ColCount := 7;
            sgCalendario.RowCount := 7;
     
            DecodeDate(FDate, AYear, AMonth, ADay);
            FirstDate := EncodeDate(AYear, AMonth, 1);
            { day of week for 1st of month }
            FMonthOffset := 2 - ((DayOfWeek(FirstDate) - FStartOfWeek + 7) mod 7);
     
            for ACol := 0 to 6 do
            for ARow := 0 to 6 do
                sgCalendario.Cells[ACol,ARow] := GetCellText(Acol,Arow);
     
            sgCalendario.HeaderTitle := IntToStr(day)+' de '+MonthText+'/'+IntToStr(Year)+' ('+formatdatetime('dddd',CalendarDate)+')';
     
            DrawEvents;
            sgCalendario.Repaint;
            Invalidate;
            { trigger OnDateChange and all HookEvents }
            if Assigned(FDateChange) then FDateChange(Self, FDate);
         finally
           FUpdating := False;
         end;
     
    end;
     

     

    B) OnDrawCell (procedure)

     

    procedure TfrmAgendamento.sgCalendarioDrawCell(Sender: TObject; ACol,  ARow: Integer; var Value: string; Attribs: TUniCellAttribs);
    var
    DayNumStr : string;
    wOutStr : String;
    wYear : Word;
    wMonth : Word;
    wDay : Word;
    wLeft : Integer;
    i,f: integer;
    ADate: TDateTime;
    begin
         DayNumStr:=CellText[ACol, ARow];
         Attribs.Font.Color  := clBlack;
         Attribs.Color := clWhite;
     
         if ((ACol = 0) or (ACol = 6)) and
            FBlockWeekends and (DayNumStr<>'') and (ARow <> 0) then
           Attribs.Color := BlockedColor;
     
         If (ARow=0) Then
         Begin
              Attribs.Color       := sgCalendario.FixedColor;
              Attribs.Font.Color  := clBlack;
              Attribs.Font.Style  := [fsBold];
         End;
     
         if (FHiliteSunday) And (ACol=0) And (ARow<>0) then
            Attribs.font.color:=clRED;
     
         If (ARow>0) Then
         Begin
              IF DayNumStr<>'' Then
              Begin
                   DecodeDate(Now,wYear,wMonth,wDay);
                   If (wYear=Year) and (wMonth=Month) and (wDay=StrToInt(DayNumStr)) Then
                   Begin
                        Attribs.Font.Style:=Attribs.Font.Style+[fsBold];
                        Attribs.Font.Color := clWhite;
                        Attribs.Color := clNavy;
                   End;
              End;
     
              if (Events.Count > 0) and (CellText[ACol, ARow] <> '') then
              begin
                   DayNumStr := CellText[ACol, ARow];
     
                   i := GetDayEvent(StrToInt(DayNumStr),Month,Year);
                   if (i <> -1) and (Events.Count >= I) then
                   begin
                        Attribs.Color := clyellow;
                        Attribs.Font.Color := clred;
                   end;
              end;
     
         end;
    end;
  8. I am facing problematic with the onDrwaCell event of UniStrigGrid. This event is only triggered once when the StringGrid is mounted. After even manipulating the values of the grid this event does not fire any more.

    What is the solution to this?


  9. UnimCarousel1.RemoveControl "uniguiclasses.pas"  >> Will it trigger the existing event in unit unimCarousel?

    If this does not fire, the list is apparently not updated


     

    unit unimCarousel;

     

    procedure TUnimCarousel.RemovePage(APage: TUnimCarouselPage);

    begin

      APage.FCarousel := nil;

      FPages.Remove(APage);

      if FPages.Count=0 then

        FPageIndex := -1

      else if FPageIndex>=FPages.Count then

      begin

    //    if (not IsDestroying) and (not IsLoading) then

    //      SetTabIndex(FPages.Count-1);

      end;

    end;

  10. The problem with hiding and removing pages from UnimCarousel persist.

    In the example there are 5 pages, of which 4 should be hidden because they will be accessed through the option in the code.

    Even though using the carousel control removal code, pages are still being counted.

     

     for i: = UnimCarousel1.PageCount - 1 downto 0 of

     begin

             if UnimCarousel1.Pages .Tag <0 then

             begin

                     UnimCarousel1.Pages .Visible: = false;

                     UnimCarousel1.RemoveControl (UnimCarousel1.Pages );

             end;

     end;

     

    UnimCarousel1.Refresh; This does not seem to work either

     

    What can we do to solve the problem?

    post-1670-0-47959400-1521578005_thumb.png

    post-1670-0-41902400-1521578014_thumb.png

    post-1670-0-07725900-1521578020_thumb.png

    post-1670-0-97669800-1521578028_thumb.jpg

  11. UnimNumberEdit has a problem that is the default value 0, which disturbs and confuses the user. I only need a field that only enters integer, I do not need a default value in the field.

    Is there any way to disable this default value of UnimNumberEdit?

  12. Hi,

     

    For now can you try this?!:

     

    UnimDBNumberEdit->ClientEvents->UniEvents-> afterCreate fn:

    function afterCreate(sender) {
        Ext.onReady(function() {
            sender.element.down('.x-input-number').on("keydown", function(e) {
                var event = e.event;
                if (event.keyCode == 46 || event.keyCode == 8 || event.keyCode == 9 || event.keyCode == 27 || event.keyCode == 13 ||
                    (event.keyCode == 65 && event.ctrlKey === true) ||
                    (event.keyCode >= 35 && event.keyCode <= 39)) {
                    return;
                } else {
                    if (event.shiftKey || (event.keyCode < 48 || event.keyCode > 57) && (event.keyCode < 96 || event.keyCode > 105)) {
                        event.preventDefault();
                    }
                }
            })
        })
    }
    Is this option for TunimDBEdit only? For TunimEdit ajax error occurs "can not read property" on "of null"
    Was there a solution?

    post-1670-0-38067800-1521165501_thumb.png

  13. How can I hide the clean content icon from a unimedit.

    For many times this further disturbs what helps.

    On most devices there is already an option on keyboards to handle this.

    And such an icon occupies too much space

     

    Again the suggestion is that the components for mobile have more options. 

    post-1670-0-93352900-1521164846_thumb.png

  14. https://qz.io/

     

    Has anyone used QZ Trya on unigui and would have had some example of its use?
     
    The biggest difficulty today in the unigui is the printing without operator intervention.
     
    Anyone understanding java script, could put some example of how we would use this in unigui
     
    We would appreciate it.
×
×
  • Create New...