Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 02/20/19 in all areas

  1. 2 points
    Hi, Can you try this approach?: procedure TMainForm.UniButton1Click(Sender: TObject); var needToMove: TUniPanel; indxToMove: Byte; begin needToMove := UniPanel2; indxToMove := 0; UniContainerPanel1.RemoveControl(needToMove); UniContainerPanel1.JSInterface.JSCall('insert', [indxToMove, needToMove.JSControl]); needToMove.JSInterface.JSCall('show', []); end;
  2. 2 points
    Custom header for reports using HTML and converting it to image. it's flexible and powerful.
  3. 2 points
    Hello community! Unfortunately this is in Portuguese, but I would like to share with you a quick way to use Bootstrap in uniGUI. Bootstrap.rar
  4. 1 point
    https://www.sencha.com/products/touch/ According to Sencha website, Sencha Touch has been merged with Ext JS, and is no longer supported. Currently when purchasing UniGui, you have to purchase the Complete edition in order to create mobiles apps using Sencha Touch. Now that UniGui is in the progress of being updated to ExtJS 6.x. Will the base components for UniGui support both mobile & desktop web applications (i.e. Professional Edition) or must we still purchase the Complete Edition in order to create mobile apps?
  5. 1 point
    @A.soltani Meaby this helps: socket.on('message', function(evt){ document.getElementById('log').innerHTML = evt.message; ajaxRequest(MainForm.window, "_message",["msgStr=" + evt.message]); }); and this?: function start_sse(param) { socket = new sgcWebSocket(param); ... I have updated the example, hope it helps you ;-) webSocket.zip
  6. 1 point
    When I needed it, I was told to do so: UniFormAfterShow UniSession.AddJS('setTimeout(function(){'+UniEdit2.JSName +'.focus()}, 100)');
  7. 1 point
    yes, it works. thanks. but it will be a manual method. not detecting limit value. Can't do it automatically in the old version. I was using the code below. JSAddListener('store.beforeload', JSFunction('store, operation, eOpts', 'if (operation.params) {operation.params.limit = operation.limit;}') );
  8. 1 point
    Solved by using this code-snippet: function MakeDriveMapping(DriveLetter: string; DirectoryPath: string; Username: string; Password: string; RestoreAtLogon: Boolean): DWORD; var NetResource: TNetResource; dwFlags: DWORD; begin with NetResource do begin dwType := RESOURCETYPE_DISK; lpLocalName := PChar(DriveLetter); lpRemoteName := PChar(DirectoryPath); lpProvider := nil; end; if (RestoreAtLogon) then dwFlags := CONNECT_UPDATE_PROFILE else dwFlags := 0; Result := WNetAddConnection2(NetResource, PChar(Password), PChar(Username), dwFlags); end;
  9. 1 point
    I am busy with the first of two updates for theme pack 1 that I have released a while back. Future themes will come in two sizes, a small (normal) version which is very close to the default Delphi VCL sizes but just a tat bigger, as well as a larger version. All themes will have the exact same dimensions for each size version. This will mean that themes (in the theme pack) can be swapped out without any major alignment or real estate issues. It will also include the UniGUI Theme Viewer project for reference. The first update, which is the small (normal) version is almost ready and have the following characteristics: Window, Panel, Accordion and Grid headers as well as the TabControl will have a height of 30px Edit controls, Lists, Treeviews and Grids items - 24px Padding on the TUniGroupbox and FieldSet have been decreased Fixed alignment of TUniCombox Trigger icons People who have already purchased the theme pack will receive these updates for free. http://forums.unigui.com/index.php?/topic/10791-unigui-add-on-theme-pack-1/ Attached you will find images of what the normal version looks like. You will also notice a new theme I am working on called Charcoal-Sky, which will be part of a dark theme package (Edit: To avoid confusion - Charcoal-Sky is not part of the UniGUI Theme Pack 1 but will be included in a future theme pack). And yes I am also working on a some mobile themes Regards, Gerhard
  10. 1 point
    I managed to solve it, in case someone need it: function celldblclick(sender, td, cellIndex, record, tr, rowIndex, e, eOpts) { var el=e.target.parentElement; if($(el).hasClass("x-grid-td")&&!$(el).hasClass("x-grid-cell-special")) { sender.up('window').mask('loading...'); ajaxRequest(sender.up('window'),'grdDblClick',['indx='+record.get('1')]); } }
  11. 1 point
    I'm use interbase before been firebird I'm talk about system. not security. I'm telling to customer, If some one copy db from server to anywhere, its not mine problem. Hardware not my problem
  12. 1 point
    Hi, rencarnacion Here in our country (DR), we use firebird since version 1, and we had application from big company to small, and is working without any problem, we use it for application in: Wharehose (WMS), TimeAttendace, Customers (DGA), Visitors sign up, Events (big events), and Account (ERP). Firebird is for us a robust database.
  13. 1 point
    I Use TMS Flexcel Excellent tool
  14. 1 point
  15. 1 point
  16. 1 point
    Ok, please find now attached my message dialog solution. For better understanding, I put it into a simple test environment. Finally it can be used very similar to the origin MessageDLG procedure. It supports already various settings, but still can be easily tailored to whatever needs you have. Any feedback & comments are welcome P.S. I just uploaded a new version with new options to change fonts, colors, icons (awesome font) and button content very easily from your application. Its a complete replacement of the existing messagedlg procedure. Just import the unit "uDialog.pas" and replace existing messagedlg calls with messagedlgA. P.P.S. Happy New Year to everybody of this great community uniGUI - MsgDLGDEmo.zip
  17. 1 point
    Attached is a simple wrapper for the SweetAlert2 library. (QUICK HACK.. No unit testing, no tidy up etc..) ** No warranty - Use at your own risk ** FREE for commercial use, etc.. (just don't remove the copyright header). 1) Compile the Package/Install 2) Make sure your path includes the control folder 3) Copy the files/sweetalert folder into your project 4) Drag/Drop the uniSweetAlert control onto your form. Simple usage like: procedure TMainForm.UniButton1Click(Sender: TObject); begin UniSweetAlert1.ShowMessage; // or like UniSweetAlert1.Error('Oops','Something went wrong'); // or like UniSweetAlert1.Error('Oops','Error again','FixMe',3000); // or like UniSweetAlert1.Question('Is this true','Please click one of the options below:','YES','NO',3000); // or like UniSweetAlert1.title := 'Hello'; UniSweetAlert1.text := 'Testing'; UniSweetAlert1.alertType := TAlertType.success; UniSweetAlert1.ShowMessage; end; // Events for Confirm or Cancel/Dismiss procedure TMainForm.UniSweetAlert1Dismiss(Sender: TObject); begin UniButton1.Caption := 'DIS'; uniMemo1.Lines.Add('Dis'); end; procedure TMainForm.UniSweetAlert1Success(Sender: TObject); begin UniButton1.Caption := 'CLICKED'; uniMemo1.Lines.Add('Clicked'); end; Either (1) set properties and call .ShowMessage; Or call the Error, Info, etc methods. Enjoy.. Regards Andrew 2017-07-29-uniSweetAlert V3.zip
  18. 1 point
    I had seen these options. The "UniMainModule -> BackButtonAction => bbaWarnUser" only gives one message, but clicking on "Yes" exits the program. Would not there be a way for him to know what was open earlier in the program and to continue it? Example 1 - I opened the demo site. 2 - Open the "Menu Button" and the "Icon Button" 3 - Click on back page 4 - Go back to the screen that was just the "Menu Button" Thanks for the quick return.
  19. 1 point
    UniMainModule -> BackButtonAction => bbaWarnUser DocumentKeyOptions -> dkDisableF5 => True
  20. 1 point
    Na grid marque a opção ForceFit, você também pode ajustar para cada coluna informando o Flex, 0, 1, 2 etc..
  21. 1 point
    Thanks Sherzod, It works perfectly!
  22. 1 point
    Hi, if Key=VK_RETURN then begin UniComboBox1.BeginUpdate; UniComboBox1.Items.Clear; UniComboBox1.Items.Add('RIO DE JANEIRO'); UniComboBox1.Items.Add('RIO GRANDE DO SUL'); UniComboBox1.Items.Add('RIO GRANDE DO NORTE'); UniComboBox1.EndUpdate; end;
  23. 1 point
    Hi, A port is just any arbitrary number from 0 to 65535. Theoretically, the port number does not affect anything. It is important only that this port is free. However, if your program finds that the port you specified is busy (that is, it is already listening to some other program on your computer), it will complain to you right away. In practice, some numbers should not be chosen. Some numbers, especially small ones, can be occupied by the system services of your computer. Some numbers can be specially blocked by Internet providers. If you do not value the port number aesthetically, it is recommended that you select a port above 5000. Some users recommend choosing a port above 42000. For system and some popular programs, ports are identified with numbers from 0 to 1023, called system or commonly known. Ports with numbers 1024 - 49151 are called user or registered. Ports with numbers 49152 - 65535 are called dynamic, ephemeral or private. https://en.wikipedia.org/wiki/Port_(computer_networking) https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D1%80%D1%82_(%D0%BA%D0%BE%D0%BC%D0%BF%D1%8C%D1%8E%D1%82%D0%B5%D1%80%D0%BD%D1%8B%D0%B5_%D1%81%D0%B5%D1%82%D0%B8) https://ru.wikibooks.org/wiki/%D0%A1%D0%B5%D1%82%D0%B5%D0%B2%D0%BE%D0%B9_%D0%BF%D0%BE%D1%80%D1%82 Best regards,
  24. 1 point
    Can you try this approach for now ?!: MainForm -> UniEdit1 -> ... function afterrender(sender, eOpts) { var me=sender.inputEl; me.set({ readonly: "readonly" }); sender.addListener( 'focus', function(sender, e, eOpts) { me.el.dom.removeAttribute('readonly'); } ); } http://forums.unigui.com/index.php?/topic/8175-browser-promping-save-of-username-passwords/&do=findComment&comment=41783
  25. 1 point
    This is a better option than Bryntum, better licencing/ cost https://dhtmlx.com/docs/products/dhtmlxScheduler/?fromMenu This is Time line example which is what I'm most interested in. https://docs.dhtmlx.com/scheduler/samples/09_api/04_highlighted_sections_units.html Just need someone to port it to uniGUI!! or at least help with the JS Schedulers are everywhere these days, having a UniGUI component like this would certainly broaden the appeal of uniGUI, I'm sure of it.