Jump to content

M.Ammar

uniGUI Subscriber
  • Posts

    191
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by M.Ammar

  1. Hi All

    I know it is a repeated Post, I have found 2 posts regarding this issue but non of them worked for me, or only works on the classic theme 

    I Use uni_emerald and uni_sencha themes and non of the solutions worked with it

    I have tried this 

    and this 

    Removing the boarders or set boarders colour to white is a solution for me

    Best Regards

  2. 11 hours ago, Артем said:

    Hello!

    How change height and width property of components in Runtime using mouse?

    I want resize components in Runtime using mouse, for example, UniButton1, UniEdit and e.t.c.

    Take one of component, for example, UniButton and, using mouse, change size of component.

    In short, we change the size with the mouse as well as expand the shape, for example, over the edges.

     

  3. Hi 

    I am using uniGui For almost 2 years , and I agree that it was the best thing that happened to Delphi in as long as I remember, 

    I think Mr. Farshad and the FMSoft Team is doing a good job , there is always a room for improvement and it can be faster but so far so good.

    I have finished my first project and it is very stable and working fine for 3 hotels so far no complains whatsoever.

    everyone is missing some feature and waiting for it to be released for example I was waiting for :

    1- the Scheduler Quasar (2.0.0)

    2- the UniDBgrid able to type without mouse click or press Enter

    I hope you all the best and may next year be better roadmap for FMSoft

    Regards

     

    • Like 5
  4. Hi All

    I have a Queue Table which each record contains a POST API, because it is not recommended to send them directly.

    I want to post each API record and wait for response before moving to the next record

    I am thinking of using TuniThreadTimer placed on server module and a seperate database connection with 2 FDQuery to get the data and Post it.  

    1- will this interrupt server module performance in any way or it is a good solution?

    2- From the server module, can I access a data module that have the RESTClient, RESTResponse, and other REST Component or do I need to move all Component/Code related to the server module.

    3- it is better to make a sperate desktop or service application to do that and run it separately on  the server.

    Excuse my questions if it is unclear but I try my best

    best regards

  5. Hi

    I have one TUniPopupMenu that I want to use with many Unbuttons/or Unipanel on the same form "Card Type of form" I have found some solutions in the forum but it is slow and have to click 2or3 times for the menu to show

    procedure TfraCardView.UniCPBaseMouseUp(Sender: TObject;
       Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
    begin
       if Button = mbRight then
       begin
          UniPopupMenu1.Popup(X, Y, Sender);
       end;
    end;
    
    //  examble to use it on a panel
    for I := 1 to 50 do 
    Begin
                PanelInfo := TUniContainerPanel.Create(Self); 
                with PanelRoomInfo do
                begin
                   Parent := PanelCenter;
                   Name := 'UniPanelInfo_' + I;
                   OnMouseUp := UniCPBaseMouseUp;
                end;
    End;

    and the same result with PopupBy

     

    procedure TfraCardView.UniMenuButton1Click(Sender: TObject);
    begin
       UniPopupMenu1.PopupBy(Sender as TUniMenuButton);
    End;
    
    and use it like this
    
               MenuButton := TUniMenuButton.Create(Self);
                with MenuButton do
                begin
                   Parent := PanelTop;
                   width := 100;
                   MenuButton.OnClick := UniMenuButton1Click;
                   MenuButton.ArrowBottom := True;
                end;

    the problem is that some times the user have to click 2 or 3 times in order for the menu to show,   

    I have also tried to create separate menu with menu items for every card it works better, but the form takes Much longer to load and not easy to manage.

    any suggestions or alternatives? 

    Best Regards

  6. Hi

    i used both methods in my project (110 Form so far) and both are working fine for me, both have own advantage, so for me it is up to etch case

    using datamodule have one advantage that you can use the same code for (web and mobile) GUI for example to generate the same report on mobile and web

    regards

  7. On 12/12/2018 at 10:38 PM, Sherzod said:

    Yes,

    Use this:

    
    UniSession.AddJS(UniHTMLMemo1.JSName + '.insertAtCursor('+ StrToJS(s) +')');

    Hi 

    I know it is an old post but I have 2 questions

    1- how to move the Cursor to the end of the document as I want to add to the end of the old text Or another way to add to the end;

    2- StrToJS is giving error so iam using the other way ("'+ s +'") what do I add in the uses list to make it work?

    regards and thanks for help

  8. On 7/4/2019 at 2:48 PM, wsv01 said:

    Freeman35,

    Thanks for the code. I tried that and it does resize the screen when opened, but when I resize the browser window, it does not resize the form.

    What I am trying to do is to have the window that is opened always be the full size of the browser window.

    wilton_rad,

    I think the frame idea only works on the main form. I tried frames in forms that I open from the main form and it does not seem to work for me.

    I looked at the demo layout - features and that does what I want, but that is all done from the main form. I need that same behavior from a form that is opened form the main form. 

    If anyone could create a very simple app that does what I want, that would be great!

     

    hi

    I actually needed the same today and after many tries I found that what you said "UniFormScreenResize only works on the main form" is true , based on that the solution is to resize the other form from the main form like that

    First Set the form WindowState to wsMaximized;

    in the main form where the form is created use this

    procedure TMainForm.ActionExecute(Sender: TObject);
    begin
       Lform := TYourform.Create(UniApplication);
    end;
    
    procedure TMainForm.UniFormScreenResize(Sender: TObject; AWidth,
       AHeight: Integer);
    begin
       if Assigned(Lform) then
       begin
          Lform.WindowState := wsNormal;      
          Lform.Width := AWidth;
          Lfrom.Height := AHeight;
       end;
    end;

    Regards

  9. On 9/12/2019 at 1:19 PM, Abaksoft said:

    Hello Ammar,

    Thx, you are welcome :)

    Cheers Mohammed

     

    Hi Abaksoft

    I wanted to add that this was working perfectly in application running as single exe, but when added to production server with hyper-server running as dll and application as exe 

    it works after random  (1 to 4) tyres, I am not sure but  I think this is related to the fact that more than one copy of the application is running and when user reload the application he may be redirected to another Object or (session) which has [SoAutoPlatformSwitch] still enabled so it goes back to mobile version.

    going back from desktop to mobile working perfect

    do you have any ideas for this issue?

    best regards

     

     

  10. 12 hours ago, mierlp said:

    Hi

    The example from drBob is very old..try my example where i use also a sms provider bulksms and messagebird
    You have to use the provided api link from you provider. I didn't try it using it as a .dll

    http://forums.unigui.com/index.php?/topic/11892-here-an-example-for-sending-sms/

     

    I Wanted To thank you, your code works perfectly I only needed to change some code to work with my provider

    Here is the code after change 

    function TmodSMS.SendSMS(SenderMobile,numbers, URL, msgBody, Password, sender: string): string;
    var
       Data: TStringlist;
    begin
       Data := TStringList.Create;
       // Assign username
       //  Data.Add('username=' + USERNAME);
       Data.Add('mobile=' + SenderMobile);
       // Assign password
       Data.Add('password=' + Password);
       // Assign the entered phone number where to send the message
       Data.Add('numbers=' + numbers);
       Data.Add('sender='+ sender);
      // Assing the entered message
       Data.Add('msg=' + HttpEncode(msgBody));
       Data.Add('applicationType=68');
       Data.Add('lang=3');
      // return code, Result for SMS Sending
       Result := IdHTTP1.Post(URL, Data);
       Data.Free;
    end;

    Best Regards

  11. Hi All,

    I use this code below to send SMS Via Local SMS Service Provider, it is working fine if the application running as stand alone Application.exe

    but when I run in production (IIS + HyperServer.Dll + Application.exe) it never works, I don't understand the code fully as I got it from the service provider

    any idea why?

    function TmodSMS.SendSMS(numbers, URL, msgBody, Password: string): string;
    const
       ResponseSize     = 1024;
    var
       hSession, hURL   : HInternet;
       Request          : string;
       ResponseLength   : Cardinal;
    begin
       msgBody := Trim(msgBody);
       hSession := InternetOpen('DrBob42', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
       try
          Request := Format(URL, [numbers, HttpEncode(msgBody), Password]);
          hURL := InternetOpenURL(hSession, PChar(Request), nil, 0, 0, 0);
          try
             SetLength(Result, ResponseSize);
             InternetReadFile(hURL, PChar(Result), ResponseSize, ResponseLength);
             SetLength(Result, ResponseLength)
          finally
             InternetCloseHandle(hURL)
          end
       finally
          InternetCloseHandle(hSession)
       end;
    end;

    Regards

×
×
  • Create New...