Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 07/12/19 in Posts

  1. 9 points
    Hello everyone! A while ago I looked for a component or something that made it easy to use Highcharts in Unigui but I was unsuccessful. So I decided to develop my own component to do this. After 2 months of work is in a more stable version and decided to share with the community. I remind you that Highcharts is free for personal use only. Download from github: https://github.com/andriwsluna/Unigui-Components With this component it is possible to generate a chart with only 6 lines of code. Follow : EchoHightChart1.HighChartOptions.title.text.Value := 'Introduction'; EchoHightChart1.HighChartOptions.series.Datasource.DataSet := FDMemTable1; EchoHightChart1.HighChartOptions.series.List.FieldNameForSerie := 'Operation'; EchoHightChart1.HighChartOptions.series.List.FieldNameForX := 'month'; EchoHightChart1.HighChartOptions.series.List.FieldNameForY := 'value'; EchoHightChart1.Load; Note that there is a Datasource for data access. See demo: PM me to contribute with this project. Thanks.
  2. 6 points
    uniGUI DOES SPEECH SYNTHESIS Give a voice to your interface ! The standard Windows phrase is getting better and better. The same goes with the voices of Google services. This example I did demonstrates how to implement voice usage in both your desktop and mobile applications. I highly recommend using Chrome (or Firefox) because it already provides internal voices from his network, such as the translator. Works on all newer browsers except IExplorer, (Retired) Opera (Maybe) etc. There are more voices available using Chrome but you can also download more voices and install on your Windows. Visit https://t.me/uniguiBrazil Portuguese. https://t.me/uniguiexpress English PS: all parameters set to default. See the original HTML example to get range values. But I don't think you will need alter it. So, ignore the volume, rate and pitch controls in the example provided here you still can change in the function I created, thou. See source code and original HTML. Note, its pure uniGUI and JS. You don't need uniHTML/URL Frame or original HTML/JS to run it. PS: Next week I'll post uniGUI DOES SPEECH RECOGNITION, stay tuned ! For compatibility and other issues: See https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis www.unigui.com.br-Speech-synthesis.rar
  3. 6 points
    Example of digital signature saving (image) for mobile. Great for sales systems where it works as a type of receipt document for goods delivery etc ... www.unigui.com.br-uniGUI DOES Digital Signature.rar
  4. 6 points
    From the world famous series "uniGUI DOES" here we go with simple animations with the greatest results and minimal efforts... Just define the CSS animation and apply to any interface object. In this case, panels hosting images. Have fun. www.unigui.com.br-uniGUI DOES ANIMATIONS.rar
  5. 5 points
    Hello! This example shows how to scan any supported 1D/2D code with ZXing javascript library from the device video camera... This is an approximate implementation and may need to improve the code The main scan implementation is taken from here: https://zxing-js.github.io/library/examples/multi-camera/ You also need to add the files: libeay32.dll, ssleay32.dll and pem files to the root directory... UniServerModule -> CustomFiles: files/zxing.min.js BarcodeScannerZxingJS.rar
  6. 5 points
    A simple example "how to" capture image in desktop format with image feedback and save in temp's folder or load in you dataset field (see comments in code). In Mobile uses the unimFileUpload component. Won't work in IOs/IPhone if the server is not in a https:// connection. www.unigui.com.br-Capture Image.rar
  7. 5 points
    Always seeking to help the developers, we held on September 9, 10, 11 in-person training for 5 people from Rondônia at the headquarters of Angel Sistemas in Cuiabá-MT-BR. Let's go, uniGUI in the vein, uniGUI forever.
  8. 5 points
    As you may have noticed it is not possible to change your page's FavIcon (ServerModule.FavIcon) at runtime without a page reload. This example changes the FavIcon and is great for notification as it occurs on sites like Twitter, FaceBook, etc ... JS has been improved and now avoids caching problems on change and supports use of PNG on the fly. And as a bonus, how to change the page title. Have a good time Visit http://www.unigui.com.br for project packs, exclusive material, demos, examples, books, and our full-fledged RDP course. Several other examples also available for free from our official website. ----------------------------------------------------------------------------------------- Como você pode ter percebido não é possivel mudar o FavIcon de sua página (ServerModule.FavIcon) em tempo de execução sem um reload da página. Este exemplo mudar o FavIcon e é ótimo para notificação como ocorre em sites como Twitter, FaceBook, etc... O JS foi melhorado e agora evita problemas de cache na mudança e suporta uso d PNG na hora. E como bonus, como mudar o titulo da página. Divirta-se www.unigui.com.br-uniGUIDoesFavIcon.rar
  9. 5 points
    uniGUI does TinyMCE (revisited) After checking several editor examples and the promise of the full html editor has not yet appeared in uniGUI, check out this solution published in 2016 by an uniGUI contributor. I recompiled and checked the features, still working without problem in the new versions. So if you need to add an html editor and save the text code, this is a really good solution. Author: Stanislav Panteleev http://digital-flame.ru/author/stanislav_panteleev/ http://digital-flame.ru/2016/02/10/unigui-tinymce-dobavlyaem-moshhnyiy-tekstovyiy-redaktor/ FYI: I know this was posted here before. www.unigui.com.br-TinyMCEdemo.rar
  10. 5 points
    Instructions: 1 See ClientEvent in form BeforeInit 2 See files in Files folder and declare them in ServerModule CustomFiles 3 Customize colors and text in the BefoneInit function Visit https://t.me/uniguiexpress Or http://www.uniguiexpress.com (coming soon) www.unigui.com.br-WhatsAppButton.rar
  11. 4 points
    English: This example shows how to copy text using the clipboard but on the client side and not using the application memory area on the server. In other words, it's how you should do the "copy and paste" in uniGUI. Portuguese: Este exemplo mostra como copiar texto usando o clipboard mas no client-side e não usando a área de memória do aplicativo no servidor. Em outras palavras, é como se deve fazer o "copiar e colar" no uniGUI. Thanks to Sherzod Code: http://forums.unigui.com/index.php?/topic/6116-copy-paste-selected-text-in-tunimemo/&tab=comments#comment-31802 Moderator/ Staff: http://forums.unigui.com/index.php?/profile/906-sherzod/ Also, third party code from the web. uniGUI DOES COPY TEXT TO CLIPBOARD.rar
  12. 4 points
    Hi, In the attachment, an example of how to use the OnKeyDown event with the KeyMap object of the Ext.panel.Panel in TUniFrame. function beforeInit(sender, config) { config.keyMap = { a: { handler: function() { Ext.Msg.alert('key pressed', 'you have pressed a'); } }, F2: { handler: function() { ajaxRequest(sender, '_F2', []); } }, ESC: { handler: function() { ajaxRequest(sender, '_ESC', []); } }, DELETE: { handler: function() { ajaxRequest(sender, '_DELETE', []); } } } } Demo Regards, Eduardo Belo UniGUIFramesKeyEvents.rar
  13. 4 points
    Hello friends, Here is an easy sample for switching between Desktop and mobile version. Best regards. NB : Replace Const MyIP = by yours (on MainModule) Hybrid2.zip
  14. 4 points
    uniGUI DOES SESSION TIMEOUT PROPERLY There is nothing worst than lazy people using your program and keeping it open taking resources (DB access, memory, CPU time) and not paying homage to your wonderful work , hey ? They just leave there paying no attention whatsoever !!! I hate those lazy Btds people ! So, what about a solution to detect idle UI time at browser's side and alerts the user showing the real time left to close the session ? "No problemo, I got you back boy !!!" Seriously, when you have 50-100 concurrent sessions and not planning to expand to Hyper Server, it may cripple yours application performance very deeply and quickly. That's no joke for real developers ! So, kick out the lazy ones doing nothing ! Solution https://stackoverflow.com/questions/13246378/detecting-user-inactivity-over-a-browser-purely-through-javascript This project is based in the code above and I made some tweaks to work properly and warn the user to put, that lazy bstd, to work again or leave that marvelous piece of code of yours alone. I found a better code some days latter but it don't seams to make any big difference to the JS Snippet used here. I'm planning to a latter update in the users area of unigui.com.br. For now it's what I got working and tested. Instructions 1- Put the MainForm Script in your project. 2- In MainForm OnAjaxRequest past the code provided here. Change the messages and other details. 3- As you can see, there are two Events: one to trigger at a 1 minute idle time (_idle_timeout = no mouse ou keyboard activities) and starts to show the time remaining based in uniServerModule.SessionTimeout, to TimeOut, of course !. And teh other to show the busy mode (_busy). So when the session expires, at least you warned the user before and have a trigger point to save data and close any pending task. You can also flag "work mode" and and "idle mode" showing proper remaining session time. Have fun... and have a good one. Here is a second JS Code Snippet that works better and I will replace later. Stay tuned ! (or clicking...) var IDLE_TIMEOUT = 60; //seconds var _localStorageKey = 'global_countdown_last_reset_timestamp'; var _idleSecondsTimer = null; var _lastResetTimeStamp = (new Date()).getTime(); var _localStorage = null; AttachEvent(document, 'click', ResetTime); AttachEvent(document, 'mousemove', ResetTime); AttachEvent(document, 'keypress', ResetTime); AttachEvent(window, 'load', ResetTime); try { _localStorage = window.localStorage; } catch (ex) { } _idleSecondsTimer = window.setInterval(CheckIdleTime, 1000); function GetLastResetTimeStamp() { var lastResetTimeStamp = 0; if (_localStorage) { lastResetTimeStamp = parseInt(_localStorage[_localStorageKey], 10); if (isNaN(lastResetTimeStamp) || lastResetTimeStamp < 0) lastResetTimeStamp = (new Date()).getTime(); } else { lastResetTimeStamp = _lastResetTimeStamp; } return lastResetTimeStamp; } function SetLastResetTimeStamp(timeStamp) { if (_localStorage) { _localStorage[_localStorageKey] = timeStamp; } else { _lastResetTimeStamp = timeStamp; } } function ResetTime() { SetLastResetTimeStamp((new Date()).getTime()); } function AttachEvent(element, eventName, eventHandler) { if (element.addEventListener) { element.addEventListener(eventName, eventHandler, false); return true; } else if (element.attachEvent) { element.attachEvent('on' + eventName, eventHandler); return true; } else { //nothing to do, browser too old or non standard anyway return false; } } function WriteProgress(msg) { var oPanel = document.getElementById("SecondsUntilExpire"); if (oPanel) oPanel.innerHTML = msg; else if (console) console.log(msg); } function CheckIdleTime() { var currentTimeStamp = (new Date()).getTime(); var lastResetTimeStamp = GetLastResetTimeStamp(); var secondsDiff = Math.floor((currentTimeStamp - lastResetTimeStamp) / 1000); if (secondsDiff <= 0) { ResetTime(); secondsDiff = 0; } WriteProgress((IDLE_TIMEOUT - secondsDiff) + ""); if (secondsDiff >= IDLE_TIMEOUT) { window.clearInterval(_idleSecondsTimer); ResetTime(); alert("Time expired!"); document.location.href = "logout.html"; } } uniGUI DOES SESSION TIMEOUT PROPERLY.rar
  15. 4 points
    Starting with Paypal Buttons. http://hayriaslan.net:8090/ DEMO VIDEO : https://webm.red/ZFGO.webm To test payment Generated Credit Card Details Card Type: Visa Card Number: 4597443260919173 Expiration Date: 01/2022 CVV: 200 To get values you can use UniOSPaypalButtons1.ResultList.Values['purchase_units.shipping.name.full_name'] ***NOTES*** https://developer.paypal.com/docs/checkout/integrate/ - Add https://www.paypal.com/sdk/js?client-id=YOUR_CLIENT_ID to Servermodule.CustomFiles. - Set ClientID and SecretKey properties of component UniGUIOpenSource.zip
  16. 4 points
    Hi All My Project I Hope you like it, its A Hotel Management System My Project1.mp4
  17. 4 points
    my new baby :-) "one to rule them all" works for smartphone, tablet, desktop .. "Fake"- PWA- Technology for a feeling like a native Android-App Selfe styled uniDBGrid with hover-effect on records ... .. ui_demo.webm
  18. 4 points
    This project is an integral system of Human Resources Management. It includes from the Hiring, Evaluation, Payment Processes, Integration to the banking network, Integration with biometric clocks for the registration of assistances.
  19. 4 points
    Hi! I developed this example based on the jQuery Mask Plugin library created by developer Igor Escobar. Source and usage: https://igorescobar.github.io/jQuery-Mask-Plugin/docs.html UniGUI Demo // UniEdit > ClientsEvents > UniEvents // Example Phone function afterCreate(sender) { var SPMaskBehavior = function(val) { return val.replace(/\D/g, '').length === 11 ? '(00) 00000-0000' : '(00) 0000-00009'; }, spOptions = { onKeyPress: function(val, e, field, options) { field.mask(SPMaskBehavior.apply({}, arguments), options); } }; $("#" + sender.id + "-inputEl").mask(SPMaskBehavior, spOptions); } Regards, Eduardo Belo UniGUIOnTheFlyMaskChange.rar
  20. 3 points
    Hello, Well, the link above is a simple example, also uses only JS Probably you are right. ------------------------------------ Although I tested on the basis of another library that works better than the previous one, this is just a screenshot of the component (Sorry, I have limited by putting some screenshots):
  21. 3 points
  22. 3 points
  23. 3 points
    Hi, I would like to launch an idea. We have been developing a CRM-platform based on Unigui. As we have been lacking a number of components that are provided standard by Unigui we (me and a friend here on the Unigui forums) started to develop wrappers for SyncFusion components. The SyncFusion components can be used freely by any company that meets some limitations (https://www.syncfusion.com/products/communitylicense). I would strongly suggest to create a task force to create wrappers for these components. I had several wrappers created, including the scheduler, authentication with Google, Microsoft, dropbox integration, OneDrive integration, drag and drop upload, ... I think it would be great to create a library with a number of components that can be used easily from Unigui. It is my personal oppinion that people would be willing to pay for such a library. I had several components created but a library with several developers working on this would be great. Let's say the biggest components would be supported, I would be more than willing to pay a fee of 800 - 900 USD for this. I currently pay over 1.000 USD for DevExpress each year. Let me know if there would be an interest in this. Thx, Dominique
  24. 3 points
  25. 3 points
    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