Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation since 05/03/11 in all areas

  1. This time we will build this login screen: Video: https://youtu.be/v6EYPqZ4MB4 Project: Unigui_Desktop_login_screen.rar
    17 points
  2. Hi Dominique, Thank you for your feedback. I value your input here and I will try to address your concerns below. I understand your disappointment regarding our current development speed and release times. As I've always said, the development speed for uniGUI has never been constant. It can be quite fast at times or slow at other times. However, it is obvious that we have failed to keep up with the release dates announced in the latest roadmap. Again, roadmaps are not contracts. They're announced to let people know what is about to come in near future. There can be deviations from the roadmaps. We've succeeded to complete up to 80% of items in the 2019 roadmap. Without doubt the remaining 20% are very important items, including infinite grids, Linux and responsiveness support. The "light releases" that you have mentioned above are being released for past two months, that is correct. However, it is not true for the whole 2019. Year 2019 as a whole, is/was a very productive year for uniGUI. In this year many bugs have been fixed and many new features have been added. Please don't be disappointed simply because for our bad performance which can be counted only for past couple of months. A release interval of every three weeks seems to be OK from my point of view as long as each release addresses enough issues. That said, this situation will not stay the same. We are committed to the 2019 roadmap. All of the announced features in the roadmap will be implemented unless we state otherwise or revise the roadmap. We don't have any intention to revise the current roadmap. That said, obviously the dates in the roadmap need to be revised and shifted for a few months. While your views on current status of uniGUI are fully valid and understandable, I don't understand why you need to mention about a competitor here. First of all, comparing uniGUI to TMS Web Core is comparing apples to oranges. What makes uniGUI powerful is its server side integration with Delphi. It allows a seamless integration between Sencha Ext JS and Delphi. It will be a futile effort to try to explain what uniGUI is and what it can do, because all of you are already quite familiar with uniGUI. On the other hand, client side only web frameworks such as TMS Web Core adopt a totally different approach. The pseudo Pascal language they use can mimic Delphi language, but the whole environment is far from being Delphi! Delphi is not only about Pascal language. Delphi is about Object Pascal, database integration, third party tools and data aware components. Can you tell me to what level TMS allows to integrate your app with databases? You have complained about issues with DBLookupCombo, but do you have something similar in TMS Web? OK. I don't like to criticize other frameworks. I believe that all attempts to create 3rd party tools for Delphi are priceless and I wish success for all of them. However, TMS Web Core doesn't seem to belong to Delphi eco-system other than it's Pascal language. Someone can move away from Delphi Eco-system for several reasons. That happens all the time for various reasons, but many also decide to stay with Delphi for other uncountable reasons. For same reasons people choose uniGUI over other tools. 1) Maintaining Delphi licenses may cost you a few thousands annually. It can be pricey, I agree! As I told above, as soon as you decide to leave Delphi behind, there are many alternatives out there. TMS Web would be only one of them. Question here is that are you ready to loose all those benefits brought to you by Delphi and its eco-system? Maintaing Delphi can be expensive, but it can also save you from hiring more developers which can save you much more! It is not really about uniGUI, but about Delphi and its surrounding eco-system. 2) Good, but where is the original product named Delphi for PHP now? From what I know it is no longer around. 3) Free is not always free, especially when your time costs money $$$! 4) OK sounds good, but doesn't mean that you'll be more productive. 5) It's nice feature. Something that we also consider for the future. 6) It's a bit tricky. We were able to show data at design time since uniGUI 0.1 directly from a db table. However, when it comes to REST services, you need to create/configure one beforehand to be able to consume it in a designer. In my view, Delphi's data handling capabilities are still matchless. 7) If your app is so simple that you don't need a server, yes. Otherwise, you need to run a server for your database back-end and etc. 8) It is partly true for client side only sessions. But even for a minimal database work you need to extend your sessions to the server side. Which will complicate things even further. Your REST server will know nothing about your sessions. You must implement your server side session logic. 9) How about Delphi's existing 3rd party components? Such as reporting tools? 10) Already resolved in Ext JS. 11) Yes, you should also list the down sides. I have not fully reviewed the product, but I can mention some points here: You will not be able to use Delphi, its rich language, 3rd party libs and its powerful data aware components. Your code will run in client's browser which means your business logic will be exposed to outside world. What if your app is very big? I've seen uniGUI apps with hundreds of forms and data modules. How can such giant apps be loaded and run on client side? Almost all business web apps rely on heavy data consumption and manipulation. In this case you need to develop your server side business logic separately in a different tool and integrate it with your client web app. Consider that you have too many data tables on your server side. For each table these tasks should be repeated. Needless to say how these tasks are easily done in Delphi. In uniGUI you develop one application. You don't need to care about server side separately. Getting data from a REST server can be easy, but posting back, modifying specific rows, running complex queries can make your life harder than you can imagine. If you need computing power in your app, you will be limited to client browser CPU power. Since it is not native code your code will never run as fast as native CPU code. Don't forget that your code is translated into java script. On the other hand, servers are equipped with plenty of CPU cores, computing power and gigabytes of RAM. Since code runs in client browser. Your debugging and logging capabilities will be limited compared to server side code. OK. I'm not an expert in Web Core or similar frameworks. I'm not here to discredit their product. I wish them success, as I'm sure many people will find this kind of web development useful. What I'm trying to say here is that Web Core or similar frameworks can not be a replacement for uniGUI because they are not in same category with uniGUI. You can save that money today by simply switching to ASP.NET. I am here, but you are correct that I was mainly silent on the forums. I'm sorry for this. But "this" is not the "same" thing... The shown demo is a very very simple app. Not even an app. We need to see something more complicated, comparable to the simplest business web app that you can develop with uniGUI. Let me state again, through 10 years of my uniGUI endeavor I have never said a single negative word about competitor frameworks. We are busy with our own tasks not other people's stuff! The only reason that I made above comparison was that you have mentioned it here. Back to our own reality. We will be back to our full development speed soon. To compensate our deviation from roadmap I will extend all subscription dates for at least two months. I will further extend those dates if needed in the future. If we have failed to address any urgent bug, long awaited issue or question please go here. We will analyze your request and if we find your request acceptable then it will go to top of our to do list. Best regards, Farshad
    17 points
  3. In this video you will learn how to create a beautiful mobile drawer (floating menu) using Unigui, we will use client-side code, animation and CSS. Video: https://youtu.be/94GHpnwy4tA Project: Unigui_Mobile_Drawer.rar
    13 points
  4. Here is a video tutorial for making your Unigui WebApp a Real-Time application, it makes your app more powerful and it's ready for: real-time monitor, chat, control... Attached: 2 projects (webapp + websocket server app), mysql db. Have fun 🙂 WebApp.rar WebSocketServer.rar mycompany.sql
    13 points
  5. Click to access APK Generator App What is UniAndroid? UniAndroid is a UniGUI component that allows you to interact with an Android device such as get the location of the device, auth fingerprint, send a notification, disable back button, etc. How does it work? I developed a generic android application that has a Webview and related codes to send information to the UniAndroid component. Also, I developed an APK creator application so you can set a package name, version code, App name, etc. You can see the parameters below. The main thing here is the Iframe URL. It will be your unigui application URL. To demo features leave the URL as is. When you set parameters and click to Generate APK, it will generate an APK. You can install the APK to your android device and test it. Note: Change icon is in progress. What features already implemented? 1- Disable Back Button 2- Keep Screen Awake 3- Get Device Location 4- Fingerprint 5- Notification What you have in your roadmap? #2 Wifi Control #3 Google Speech Recognition Without Popup #4 Bluetooth Printer #5 Barcode Scanner #6 Android Device Unique ID #7 Toast Message #8 NFC Reader [16 Sep 2020] - The first version released. UniAndroid.zip
    12 points
  6. QrCode Reader for uniGUI That's is my new series (old "All about x topic") and now inspired in Chelsea DOES Series... (lol) here we go. This is the first experimental project for our future Pack 4 commercial/biz automation. The final version will have several other features as well as QrCode generation capability etc. This code is free and based on several JavaScript libs linked and adapted. This project design is hybrid. Restrictions: Chrome only allows WebRTC access via https or localhost. Safari ONLY https. FireFox is the most compatible of all. This is an HTML5 feature that has not yet been implemented in most browsers and many users have old versions. So check the browser version of your device and test with others browsers. Website that shows what each browser supports https://caniuse.com/#search=getUserMedia Mobile Compatibility with HTML5 http://mobilehtml5.org/ https://webrtc.github.io/samples/ https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API How to use: Copy the / files folder just below where you want to place your ISAPI or StandAlone. And let's rock ! Live Demo: https://lojasms.com.br/qrcode/qrcode.dll More Information, Resources, Books, and Project Packs visit http://www.unigui.com.br (the Brazilian portal to uniGUI). ' Enjoy... and have a good one! Sorry: but I'm experience some health problems today... tomorrow I'll post version with English Interface. Pack04-Project01 QrCode.rar
    11 points
  7. In this video you will learn how to use minWidth for the column to display your data correctly when resizing your control, and how to use custom fonts, custom tooltip using Extjs QuickTips, how to add the 'Go to top' button for your grid, and how to change the row height to display your data in a clear way. mycustomers.sql UniDBGrid_1.rar
    11 points
  8. We couldn't build that system without Unigui 🙂 We offer our Backoffice solution "Nasa" to Travel agencies and Tour operators for more than 15 years. If you are interested in cooperation please contact me. https://youtu.be/jSBm5LVWmwI http://3msoft.net/nasaos
    11 points
  9. Hello, https://youtu.be/OBe-TWYvEz0 We will build this dashboard UI (images are attached) images.rar:
    11 points
  10. Msoft - NasaOS https://youtu.be/PTmSv7uC1B8 A complete Backoffice system for tour operators and travel agencies and it is include a complete accounting system and powerful reporting mechanism.
    11 points
  11. Google Charts in uniGUI Hello, I have published in github my components to generate charts in uniGUI using de Google Charts API. The components support the following types: Annotation Area Bar Bubble Calendar Candlestick Column Combo Diff Donut Gantt Gauge Geo Histogram Intervals Line Organization Pie Sankey Diagram Scatter Stepped Area Table Timeline Tree Maps Trendlines Waterfall Word Trees The library includes in demos folder the GChartsDemo project with several examples that show how to build the different class charts. When running the demo you can: Display the Delphi Code used to generate the Chart Click Google Guide button to see the official documentation of Google Charts. Click on the Chart to see fired events You can get the source code in https://github.com/JosepPages7/Delphi-GCharts Please, if you use or like Delphi GCharts, "Star" this project in GitHub!
    10 points
  12. We will implement this design in Unigui: https://youtu.be/touWjGxyZsA The project+graphics are attached to this topic. unigui_mobile_login_screen.rar It is all about little tiny details - this is the most important thing
    10 points
  13. Project: Unigui_Mobile_Listview.rar Video: In this video tutorial you will learn how build listview with cards + floating action button. you will learn also how to use XTemplate with UniDBListGrid, how to use inline functions to generate customize view for every card based on a roles of your database.
    10 points
  14. 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.
    10 points
  15. 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
    10 points
  16. Project: Unifui_Header_Buttons.rar You will learn how add your controls (Buttons, Edits,Combo...) to window header. you will learn adding controls using 2 methods: Adding a design time controls. Adding controls dynamically at runtime using Extjs code.
    9 points
  17. In this video we will continue building our dashboard - Left menu. Project: unigui_dashboard.rar
    9 points
  18. I am working in Msoft LTD a software company, we provide professional solution to our clients ( enterprise and soho) in many fields: Cellular, AI, IT.... We use Unigui for our projecrs. Unigui is stable and just work out of the box and the big advantage is the Extjs js client-side. We don't search for other solutions because all we want can be found in unigui, it is true that some times we use js code to achieve somethings that doesn't included with Unigui but what's the problem doing it in client side in that way you become familiar with Extjs. We have developed more than 30 web apps and some of them are used by clients world wide. Unigui support (Mr. Farshad) is always a helping one and caring about his customers. Before Unigui we used Intraweb and TMS components for Intraweb and the result was not impressed in every browser a different result.
    9 points
  19. New upload SendSMS v.0.2.zip
    9 points
  20. 1) Works only in standalone, service mode 2) Tested over ARR proxy (IIS), Nginx 3) Use same port that UniServerModule 4) Enjoy WSEcho.zip P.S. Dont use with HyperServer(HyperService)
    8 points
  21. The application we developed for a customer was subjected to a 10-day pent test by a professional pent test firm. In the test activity where all variations are tried; As a result of the report that came as a result of the test, 3 findings were found, All 3 findings; It has been determined that it is related to the code we have developed. (Coding error) In the application developed using uniGUI components, no findings originating from uniGUI were reported. In this context; We had the chance to see once again how strong and consistent the ungiGUI infrastructure is. Thank you uniGUI
    8 points
  22. I created a simple unit for google oauth2. To get QR Code, call UniImage1.Url:=GetQRCodeUrl(UniImage1.Width, UniImage1.Height, 'YOURSECRETKEY', 'your email address', 'Your name'); To ValidateOTP : if Format('%.6d', [CalculateOTP('YOURSECRETKEY')]) = UniEdit1.Text then begin // Valid end; Here some screenshots GoogleAuth.pas
    8 points
  23. Dear forum members I had the idea for some time to set up a structured wiki / knowledge bank for uiniGUI. From today http://www.uniguiwiki.com is therefore operational. It is a wiki / knowledge base where as many ready-made solutions as possible can be found in a structured way. The forum works well, but it is sometimes very difficult to find solutions. With the help of this wiki / knowledge base I want to add some structure. Unfortunately, you cannot create a wiki post yourself, this to preserve the structure as much as possible and to prevent proliferation. Maybe this will come in the future. However, it is possible to create some authors who want to post solutions or help. Everyone may have code, tips / tricks that they want to make available on the wiki. I therefore depend on your help to fill this wiki as a central knowledge base. For this I have created an 'upload facility' where you can upload examples. I will then view, assess and make this available on the wiki. To access the wiki / knowledge base, you must create an account and then you can consult the wiki / knowledge base and upload any code. If you have any suggestions, please use the contact form on the site or send a PM via the forum. Regards Peter
    8 points
  24. Hello, Please don't be anxious! Server farm is a major feature which should be implemented correctly. We are also adding another major feature which is support for multiple applications in HyperServer. You can estimate that implementing and testing all these can take more than estimated. We already have a working version as I said before. We also need to complete the related documents. You can expect all these new features in the next week. I hope there will be no more delay!
    8 points
  25. That's how Server Control panel of a server farm will look like. Each PC in the farm will be called a ServerNode. The actual Urls will be local Urls within the local area network where the server farm exists. Such as http://10.0.0.5:8077
    8 points
  26. Hello, I want to know how many of you are interested in learning Unigui from scratch (front-end, back-end) in order to create a course for that. the course will be in English or Arabic and will be using a video conference like zoom or MS team... I didn't decide yet about the price 🙂
    8 points
  27. Only our customers have the right to use our tools. uniGUI is neither open source nor free. It's a commercial tool. You can't join a unigui project unless you own a license. There is no licensing option such as 'helping someone else".
    8 points
  28. Hi all, In this video I will focus on grouping and you will learn: How to use XTemplate with grouping header How to display grid as 'all collapsed' or 'all expanded'. How enable collapse/expand only when clicking the '-' '+' icons. How to disable the tooltip for expand/collapse. How to know when group is expanded/collapsed (events). How to know how many children (rows) every group has. Attached: Project (include exe file) and DB file. UniDBGrid_2.rar mycustomers.sql
    8 points
  29. 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
    8 points
  30. In this video you will learn how to implement listswiper plugin for mobile in Unigui and make your web app friendly and easy to use and also how to build a beautiful UI. * Project attached (exe included) * mySQL DB attached Unigui_ListSwiper.rar mycustomers.sql
    8 points
  31. Please visit our online docs for a new section which introduces uniGUI for Linux and a tutorial to configure your system to run your first uniGUI Linux application: http://www.unigui.com/doc/online_help/index.html?linux64.htm This is the first version of this document and I'm aware there are still lots to add and a lot of room for improvements. Thanks!
    8 points
  32. 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
    8 points
  33. I know this is quite simple for most users here but there are some novice programmers who either haven't read the uniGUI manual or are too busy trying to reach the best level of programming. Sending email through uniGUI app is the same as VCL app. There is no difference at all. As many people ask me about this, I made a small example that allows you to send emails through GMail, Yahoo and OutLook. The security DLLs are already together and the program is made for 32 bits. If you need it for 64 bits, use the corresponding DLLs. It is commented in such a way that you will easily be able to adapt your favorite applications and webmail into your app. Note that GMail blocks the sending of email by its servers using other lesser known applications. Set up your GMail account to send via any app at the link: https://myaccount.google.com/lesssecureapps?pli=1 Project22-SmtpIndySendMail.rar
    8 points
  34. I read somewhere here that was not possible to play a sound on the mobile platform using uniGUI. I completely forgot about the subject and these days I needed to put sound in one of my web/app/sites and already knew how to do with JQuery and mainly did not want those HTML5 audio controls disrupting the interface. And combining JQuery with uniGUI I was able to do much faster. So I made this example Desktop / Mobile showing that yes, "uniGUI DOES" sounds and very well. Both desktop and mobile. Example showing how to play direct from a URL, local (local file here refers to a file on the server and not from the client's computer, of course), using ClientEvents and conventional OnEnter Event. And in Mobile, no need to put in TAP, because it's obvious. Preview online. http://www.unigui.com.br:8077/ uniGUI DOES SOUNDS.rar
    8 points
  35. Hi I am addressing this post to the MR.Farshad and to the entire UniGUI team. I have read quite a long posts here I will try to keep brief. Guys just don't pay attention to posts like this.There's no point. Keep your track. I think it is right. I have more than 25 years of experience. Mainly with Delphi and I can say that UniGUI is the best thing that has happened for Delphi community since 10-15 years And I'm ready to sign this statement with my both hands. Have a nice day.
    8 points
  36. Hi everyone, This post has two parts: A complaint about the development speed of uniGUI (and about the transparency about its progress) Alternative solutions like TMS Web Core Your complaint is valid because the progress in uniGUI development slowed down this year (good reasons or bad reasons, it doesn't matter). Also, the Roadmap 2019 was very ambitious and it was affected by the slower speed. You are right on this point. The second point is not right for most of the developers using uniGUI. Let me explain why (before I get lynched without jury or trial). The main goal of uniGUI is to bring the power of a Delphi desktop application to the web and doing so while preserving what makes Delphi one of the best RAD tools ever created. Some people could be smiling now but let me mention a few things we take for granted in Delphi: Visual form designer with property editors and under-the-hook links to data modules containing datasets, action lists, and all kinds of events (no need for pesky MVC,/MVVC, or any other over-complicated and over-engineered tools except pure and clean Delphi). Data grids that get linked at design time and just work. Clear separation of the user interface and the business logic using forms and data modules. Any common application requires a database and if you need a scalable application, you will need a good middle tier for connecting to it and managing the connections from multiple clients. This scenario was always a problem for client/server applications written in Delphi because each one of them used a data module for its connection, but so did every other client. Products like RemObjects DataAbstract were created for solving this issue. With uniGUI, you get your server which holds that data module and DataAbstract becomes a luxury you don't really need. As soon as HyperServer runs as a Server Farm, you will be able to handle as many clients as your server infrastructure can handle. On the other hand, you can have all your code in JavaScript and that doesn't mean that your application can scale, it is just that you will need to create your own server and manage your connections. I could expand my answer, but it should be enough. My last comment is that TMS Web Core is not the only "alternative". Even the old IntraWeb is trying to create a "revolution" by over-promising, under-delivering, and trying to reinvent the wheel. All these products are years behind what uniGUI currently offers. We want more, we want everything! But just try any of the alternatives and you will see the difference. As a parting gift. Last year I was requested to develop a relatively simple application but using IntraWeb plus CGDevTools. After a few days, I finally discovered that they didn't have modal forms and the tricky solution they offered only worked for simple pop up messages. It took me a couple of weeks to create a generic solution that worked "almost" like a modal form. Another week to discover that none of the dataset events were really supported by their grids and that my assumptions were wrong about being capable of working Delphi-style. In the end, I learned a lot of idiosyncrasies about the product, deliver my project, and became convinced that IW + CGDevTools (including jQuery) was a waste of time. Anyone is welcomed to repeat the experience... Sorry for the rant. David Izada Rodriguez (old, very old Delphi developer)
    8 points
  37. Good Morning Sirs, From 6_3 edition something has changed in FastReport. If you are using a, empty frxDBDataSet (to save your time) and design your report on the fly, then add thees two line in your unit, from now : ___________________________________________________ frxReport1.DataSets.Add(DBMyDataSet); frxReport1.EnabledDataSets.Add(DBMyDataSet); ___________________________________________________ Thx to Paul Gursky (FastReport Support Team) procedure TfrmFastReport.Prepare_And_ShowReport(Report: TfrxReport; Exp: TfrxPDFExport); var AUrl : string; begin Report.PrintOptions.ShowDialog := False; Report.ShowProgress := false; Report.PreviewOptions.AllowEdit := False; Report.EngineOptions.SilentMode := True; Report.EngineOptions.EnableThreadSafe := True; Report.EngineOptions.DestroyForms := False; Report.EngineOptions.UseGlobalDataSetList := False; Exp.Background := True; Exp.ShowProgress := False; Exp.ShowDialog := False; fFile_Temp:=UniServerModule.NewCacheFileUrl(False, 'pdf', '', '', AUrl, True); Exp.FileName :=fFile_Temp; Exp.DefaultPath := ''; //****************************** Report.LoadFromFile(fFr3_File); // 1 DBMyDataSet.DataSet:=fFrDataSet; // 2 // FROM FastReport 6_3 (important) frxReport1.DataSets.Add(DBMyDataSet); //3 frxReport1.EnabledDataSets.Add(DBMyDataSet); //4 //****************************** fFrDataSet.DisableControls; // Yes Report.PrepareReport; Report.Export(Exp); UniURLFrame1.URL := AUrl; fFrDataSet.EnableControls; end; Best Regards.
    8 points
  38. This is a demo project to implement the "Sign in with Google" button using Unigui, enjoy ! LoginForm - Sign_in_with_Google.zip
    7 points
  39. Hello We will publish next build tomorrow. We are actively working on Server Farm. We are planning to release HyperServer Server Farm in this month.
    7 points
  40. In this video you will learn how to use Xtemplate inside DBGrid to display custom HTML template. You will learn two methods to do that, first: using Xtemplate along with tpl property of the column and second: using the column renderer function. Unigui_Grid_Xtemplate.rar Unigui_Grid_Renderer.rar myshop.sql
    7 points
  41. Explore User-Friendly uniGUI Web Framework With Ultra-Modern Components For Delphi/C++Builder: https://blogs.embarcadero.com/explore-user-friendly-unigui-web-framework-with-ultra-modern-components-for-delphi-cbuilder/
    7 points
  42. Project: Mobile_Grid_Paging_CustomControls.rar In this video you will learn how add your own custom navigation controls to DBGrid.
    7 points
  43. Hello, https://www.youtube.com/watch?v=iwVVfdKiwJQ images.rar
    7 points
  44. 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
    7 points
×
×
  • Create New...