Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 01/28/24 in all areas

  1. uniGUI Floating Buttons (simple but useful) This is a very simple project that shows how to use floating buttons anchored to the main browser window or your form. I already left the JS code calling ajaxrequest to select the correct buttons for your UI. So, just choose the icons, the best model and see in the CSS where you change it to leave it in one format or another. I already commented on where to change the CSS code. project411-floatingbutton.rar FloatingButtons2.mp4 FloatingButtons.mp4
    3 points
  2. Good afternoon, the reason it doesn't work is that it requires on mobile https example https://192.168.1.xxx:8077
    2 points
  3. Unigui has always been alive. 😀
    2 points
  4. Finally ..My code completed. function beforeInit(sender, config) { config.listeners = { keyup: function(textarea) { var inputEl = textarea.inputElement; textHeight = inputEl.dom.scrollHeight; if (textarea.getValue() == '') { textHeight=35; } if (textHeight != textarea.getHeight()) { var H1 = textHeight; var H2 = textarea.getHeight(); if (H1<=35*4) { textarea.setHeight(textHeight); } ajaxRequest(sender,'_resize',{newH: H1, oldH: H2}); } } } }
    2 points
  5. Why make our lives easy? This should be the basic component (DB and otherwise) used by everyone. And instead it is ignored, making our lives very difficult for simple cases... 🙂 ++++++++++++1
    2 points
  6. Всё верно, на сервере нужно ставить "рантайм", причем лучше не копированием папки, а запускать Install. А еще такая надпись (Loading...) появляется, когда вы на локальном компе компилируете, например, под версией 1.95, а сервере установлена 1.94 или 1.96, про это тоже забывать не надо.
    2 points
  7. Добрый день,
    2 points
  8. Good afternoon @Sherzod, yes, with a lot of research and testing I got where I needed to be, now my buttons are responding to clicks as I planned, it looks very good. I'm going to make a brief tutorial and put it here in this thread to help others who need it. Thank you very much.
    2 points
  9. HtmlLib from delphihtmlcomponents.com
    2 points
  10. uniGUI Master Crop Image Click Over Image to see animation Intro. Project to crop an image and save it on the uniGUI server or download the cropped image back to client. It can be uploaded from client, captured from client webcam, import from external URL and apply some image manipulation prior to crop it and download (or saved in uniGUI server side). A project to solve once and for all , this problem. Features and Resources Upload the image to crop Image capture from webcam to crop Upload image from server to crop or from external image URL Flexible selection grid Rotate, flip, zoom in/out, scale Set cropped image size automatically Responsive (mobile and desktop ready) Three Interfaces: Complete: all image manipulation, selection, dozens of options etc. features. Minimalist: Only most used features (capture, rotate, zoom, etc.) Basics: File Upload or Webcam Capture, Crop image, and download to client or uniGUI Server PS: you can edit whatever feature you want to using altering the HTML and JS files. No hidden fees or third part components. All code is yours. Yes, we offer consulting support to adapt any of these examples to your systems. Ask us to receive a quote. HTTPS connection required for use on your domain for the webcam image capture feature. All details at link below: https://www.unigui.com.br/uniGUICropMaster.html
    2 points
  11. Sherzod C++: bool tbool=False; UniChart1->JSInterface->JSCall("chart.series[0].setStacked", ((tbool))); works, thanks so much!
    1 point
  12. Hello, One possible solution: function added(sender, container, index, eOpts) { _uel = sender.underlineElement; if (_uel) {_uel.hide()} }
    1 point
  13. Hello, Any news about this? Maybe put this feature in the roadmap?
    1 point
  14. Try also this approach: UnimDBGrid.ClientEvents.ExtEvents -> function painted(sender, eOpts) { sender.getColumns().forEach(function(col){col.setFlex(1)}); }
    1 point
  15. Maybe you wanted something like this? tbTeam.ClientEvents.UniEvents -> function afterCreate(sender) { sender.setBodyProp('minHeight', '100%'); }
    1 point
  16. Also try this approach: UnimEdit1.ClientEvents.UniEvents -> function beforeInit(sender, config) { config.required = true; config.validators = [Ext.create('Ext.data.validator.Email')]; }
    1 point
  17. Sherzod Good news, success! I had some time to double check everything. There was a } character missing in the afterrender event, causing the freeze. Finally I was able to display 3 new titles for a UniBarSeries using the C++ code UnicodeString TestStr1, TestStr2, TestStr3; TestStr1 = "Test1"; TestStr2 = "Test2"; TestStr3 = "Test3"; UniChart3->JSInterface->JSCall("_setTitle", ARRAYOFCONST((TestStr1,TestStr2,TestStr3))); No need for using SetTitle(). Thank so much, you're a genius!
    1 point
  18. A hidden panel is a uniGUI container which will not be shown. Its goal is to contain other components which will be used by other components (like the column editors for a grid). https://www.unigui.com/doc/online_help/api/uniPanel_TUniHiddenPanel.html
    1 point
  19. так то можно и к службе тот же nginx прикрутить
    1 point
  20. Hello, One possible solution for now I think: 1. Remove the assigned "change" event and 2. move the code to OnAjaxEvent as follows procedure TMainmForm.UnimComboBox1AjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = '_change' then begin // your code end; end; 3. UnimComboBox1.ClientEvents.UniEvents -> function afterCreate(sender) { sender.on('change', function(){ajaxRequest(this, '_change')}, sender, {buffer: 500}); }
    1 point
  21. Благодарю. Буду пробовать
    1 point
  22. The best character recognition lib for JavaScript ported in a complete uniGUI project. This project is a gem as it uses several integrations to enable character recognition. Already adapted to receive the answer directly in uniGUI as shown in the video below. JSOCRuniGUI.mp4 This project/source-code is free to uniGUI subscriber and will be available here to download for the next few day. After that, only for sale. Link full source below. Don't DM me about it ! Visite https://unigui.express/ Nosso grupo no Telegram: Livros, packs de projetos, cursos, serviços, consultoria e tudo sobre unigui ! https://t.me/uniguiBrazil - Conteúdo em português ou/or See more and get this pack at http://www.unigui.com.br/democetera Our group at Telegram: https://t.me/uniguiexpress Content in English Project403-OCR.rar
    1 point
  23. We will add. One of the possible solutions at the moment for all UnimSelect: 1. MainModule -> uses ..., UnimSelect; 2. procedure TUniMainModule.UniGUIMainModuleNewComponent(AComponent: TComponent); begin if (AComponent is TUnimSelect) then (AComponent as TUnimSelect).JSInterface.JSCall('setClearable', [True]); end;
    1 point
  24. Можете попробовать использовать только этот код.
    1 point
  25. блин... перезапустил проект и тут появились, извиняюсь за ложною тревогу, не знаю, что повлияло ((( если снова проявится проблема, попробую исследовать
    1 point
  26. Я попробую проверить.
    1 point
  27. Добрый вечер, Не искали по форуму, если не ошибаюсь, был аналогичный пост.
    1 point
  28. Hello, Try this approach for now: procedure TMainForm.UniButton1Click(Sender: TObject); begin with UniCalendarPanel1 do begin Title := 'New title'; JSInterface.JSCall('setTitle', [Title]); end; end;
    1 point
  29. Yes. We will analyze it again and try to add in the next upcoming versions.
    1 point
  30. пришлось добавить здесь еще 20 пикселей, я забьіл, что сетка использует ToolBottons Спасибо большое за помощь
    1 point
  31. Yes, now it works correctly and wonderfully I can't thank you enough
    1 point
  32. вот вам в помощь тестовьій проект uniTabControl1.dproj
    1 point
  33. Попробуйте: function afterrender(sender, eOpts) { sender.add({ xtype: 'toolbar', dock: 'top', layout: { type: 'column' }, items: [ sender.segmentedTabs ], listeners: { resize: function() { var _sHeight = sender.segmentedTabs.getHeight(); var _dHeight = _sHeight - sender.tabPanel.tabBar.getHeight(); var _innerPanel = sender.innerPanel; _innerPanel.setBodyStyle('top', _dHeight + 'px'); _innerPanel.setBodyStyle('height', (_innerPanel.getHeight() - _dHeight) + 'px'); } } }); }
    1 point
  34. Check file and folders name as linux is case sensitive.
    1 point
  35. Please change code under in file ,,UniCalendarPanel.pas". Basically if there is 1 calendar item added and i will search for second one it will return the first one instead of nil... function TUniCalendarList.GetCalendarFromId(CalendarId: Integer): TUniCalendarItem; var I: Integer; begin Result := nil; for I := 0 to Count - 1 do begin Result := Items[I]; if Result.CalendarId = CalendarId then Exit; end; end;
    1 point
  36. Hello Jocemora, In web development, you have to think differently : 1. You have to separate your business logic (code) from your design (forms). Instead of using functions located on forms, create an unit ( UniDataModule), where you will put all your common code. (Better use class objects inside this unit). 2. For showModal, see : https://www.unigui.com/doc/online_help/synch-and-asynch-operations.htm
    1 point
  37. It turned out perfect, greetings and thank you very much
    1 point
  38. Нет, т.к. меня именно для TUniTabControl требуется решение. Спасибо, если поможете найти решение. Рад Вас сльішать!
    1 point
  39. Добрый день, Рад Вас слышать! Я проанализирую.
    1 point
  40. Try this approach: function chart.beforeInit(sender, config) { config.series[0].marker = false; // "#3498DB", config.series[0].renderer = function(a) { a.attr.maxBarWidth=10; }; ...
    1 point
  41. @mofareh Fixed. v1.95.0.1580: Bug [UNG-3479] - UX package CSS files are not loaded for some mobile themes.
    1 point
  42. Indeed, that's an excellent idea! I actually went ahead and converted the chm file using an online converter and have attached the PDF here for others to benefit from. uniGUI.pdf
    1 point
  43. Dears, I was finally able to do something: If one day, you will have to develop an Unigui app: - Under local network, - Without Internet, - Which requires an SSL (example Scann Camera) Then read the following: I thought, wrongly to create "Self Signed Certificate". Today, most of browsers reject them. So, after 3 days search, I understood that it was necessary to use another technic : Create a localhost Certificate by mkcert This is inspired by (thx to the Author) : https://technixleo.com/create-locally-trusted-ssl-certificates-with-mkcert-on-windows OK...Step by Step : 1. Installing mkcert on Windows 1.1 mkcert can be installed by Chocolatey To install Chocolatey, you must first ensure the Policy AllSigned Open PowerShell as Admin Get-ExecutionPolicy if Restricted then : Set-ExecutionPolicy AllSigned 1.2 To install Chocolatey see https://chocolatey.org/install In PowerSehlle type (in a single line): Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) 1.3 install mkcert In PowerSehlle type: choco install mkcert The mkCert Directory (by default) is: C:\Users\...\AppData\Local\mkcert 2. Generate my 2 pem files In PowerSehlle type: mkcert -install This will generate 2 files in C:\Users\...\AppData\Local\mkcert: rootCA.pem rootCA-key.pem 3. Generate a localhost.p12 Certificate In PowerSehlle type: mkcert -pkcs12 localhost This will generate localhost.p12 certificate which will be in the PowerShell directory, ie: ..\System32 4. Import the localhost Certificate Touche Win + R key: mmc File > Add > Certificates > Add Computer account local computer OK Right click / on WEB Hosting Certificates > All Tasks Machine Room Select localhost.p12 Certificate Next specify the password (default): changeit Check: Key Exportable Place of the Certificate on : Web Hosting (dépend on your windows langage : example for french : Hébergement Web) This will create 2 Certificates (in Web Hosting): - localhost - mkcert myDESKTOP-xxx 5. Project Unigui Requires 3 files: cert.pem key.pem root.pem Do not use root.pem = rootCA.pem ( C:\Users\...\AppData\Local\mkcert ) key.pem = rootCA-key.pem ( C:\Users\...\AppData\Local\mkcert ) wich are generated by mkcert. Use instead the new 3 files, obtained online (by converting the p12 file in a new global pem file) 5.1 Split localhost.p12 into 3 Files You can obtain the 3 files via a conversion of the Certificate: localhost.p12 Use Online: https://www.sslshopper.com/ssl-converter.html - Upload the Certificate File: localhost.p12 - indicate the type: PFX/PCKC#12 - Convert To: Standard PEM - Password: changeit You will get global File, containing 3 blocks : start ...end Separate them with Notebook, and save them into 3 files: The first = cert.pem The second = root.pem The third = key.pem 5.2 Compile your project and run it : https://localhost:8077/ is Secure Have fun... ___________________ PS: if you are interesting by an easy way to scan BareCode via your Android device (wich requires an SSL url) you can use Falcon Store - Components Delphi from our Friend Marlon. Very fast and light ! http://forums.unigui.com/index.php?/topic/11359-falcon-store-components-delphi-httpsstorefalconsistemascombr/#comment-60260
    1 point
×
×
  • Create New...