Jump to content

Fred Montier

uniGUI Subscriber
  • Posts

    538
  • Joined

  • Last visited

  • Days Won

    83

Everything posted by Fred Montier

  1. This lib never work ok with uniGUI... New stuff will me possible with CodeInjector since it won't need a uniGUI Control and works directly with html, see recent posts from me.
  2. Coming soon... CodeInjector package: Allows code injection into your application and with macro substitution before injection. Easy to use and allows you to make your work easier with extra code that needs to be changed before being used in components or more complex operations such as SQL statements, JavaScript Functions, Text Templates, HTML Code, CSS and anything else that can be treated as AnsiString text /UTF8 by Delphi. With this package you can easily adapt any HTML template or JavaScript code for direct injection into your section of a uniGUI program, enabling it to bypass the dependency on native uniGUI components and/or improve their use. TciMacroStrInjector: The persistent type of repository for a text with text replacement macro. The string you store here is archived in your program and can be expanded (have macro-replaced performed) at any time. The expansion does not change the original string and is done by the ExpandMacros method that returns a new string after the appropriate replacement. In this format, because it is not possible to change the original text as it is stored as a resource in your program, it is very useful for SQL Code, JavaScript functions (eg use in uniGUI and Intraweb), customizing message texts, scripts for chats etc. TciDBMacroStrInjector: Same as TciMacroStrInjector but with datasource support. This way you can easily enable any html "component" from other frameworks to link to a table and display updated data or during navigation or query return in a simple and uncomplicated way in your code. TciMUltiStrInjector: The persistent type of repository that allows storage together with your program but with divisions by sections that can be ordered by name. Very useful for application of SQL code, JavaScript. HTML and inject it into your application as in conjunction with the previous MACRO components but with more data handling power. You can easily integrate responsive admin templates into your database and present real-time updated data. TciFileStrInjector: Allows loading of a local file and its immediate replacement macro. It retains the string in the component allowing it to be saved, encrypted or not, in the DFM and allows combining macros and preferably in a new version. Returns the expanded file for injection. Imagine you can take a page, customize it with the replacement macro, and pass it to a uniHTMLFrame or uniURLFrame and respond to AJAX events through them. TciWebStrInjector: Allows the GET of a URL/File page and its replacement macro. Returns the manipulated file for injection. Ideal to integrate your system with real-time feedback API such as weather forecast, quotes, REST API consumption, page manipulation from other sources, etc. directly from a url. You can use one component in conjunction with another for example ciMultiStrInjector and ciMacroStrInjector. Thus, it has a greater ability to handle large amounts of data that can be macro-replaced, exported or imported into your program. Finishing the demos and docs... this is the kind of component that really is missing in uniGUI and you can use anything available in the web to integrate and beautify your programs like you never did before. New demo videos and demo examples available in 24 hs... Thanks... Fred Montier This example above uses BootsStrap panels with responsive layout but the numbers you see changing are provided by ciMacroStrInjector with random values triggered by a timer that updates macro tags in the HTML text. In this manner you could update anything via DB (datasource) or external URL and convert any html code to live binding content. It's easy and you could use any other framework besides the native uniGUI components achieving great results to the UI experience ! Best of all, toke me just 2 minutes to convert this old project... More to come...
  3. Meanwhile something is lurking from the shadows... https://tauri.studio/ Interesting solution...
  4. On this very problem. In fact Apple is not very akin to PWA. It breaks their milky cow, their freaking app store ! See below some info and maybe a solution... https://br-atsit-in.translate.goog/archives/13371?_x_tr_sl=pt&_x_tr_tl=en&_x_tr_hl=en&_x_tr_pto=wapp
  5. I misread your message. UniGUI Printer Server is already available for Pre-release (Release I) users participants. If you participated in the pre-release promotion, confirm if you did not received the e-mails. In few days we have a Release II of the uniGUI Printer Server Professional and the Cetera Print Server (may work with uniGUI but does not need it to run). There will be more version and solution to print in uniGUI. Lite version is available at the link below. https://www.unigui.com.br/uniGUIPRINTERServer-Lite-eng.html
  6. More info https://www.unigui.com.br/uniGUIPRINTERServer-Lite-eng.html See download link in webpage above.
  7. More few days and the light version will be available as a trial version. Other versions will be also available in the next months.
  8. Light version is a strip-down version without the realm management and multi printers support and "requeue". Easy to use , and you can place in any environment. More detail, tomorrow. All "pre-release" users will receive this version for free. Just be patient because writing manual is really time consuming. C' you soon.
  9. Sending to pre-release users today. Tomorrow make a new post with more details and a trial version.
  10. Keep in mind that PWA is not in the best interest of Apple ecosystem. There are some post in the web showing some trick for PWA in iPHONE. Hence, google have two alternative for the future of webapps. Not even mentioning webassembly. I have no info in deep about it. My last research on iPHONE / iOS subject was a "little" broken, to say the least.
  11. Really thanks... I have done a Lot of research on this subject. And as Far as I can see, nailed in all aspects. But I think a solid solution should come from unigui team and/or Embarcadero because we are something like 5 years behind. I Just cant ser How to keep update when delphi-unigui users are still amazed by bootstrap buttons and labels and layout issues or responsivity at devices ui/ux.
  12. and borderstyle = bsNone You can remover this line too. and that's the best you will get with such approach.
  13. Result... bigger the px number, bigger the curve. But you will notice some slight background shadow. You can solve with more css but it won't work in all scenarios. Better a transparent form and then place a image over.
  14. 1- Add to CSS Customs ServerModule .rounded { border-radius: 10px; } See below: } 2- LayOut set CLS to "rounded" class. Without the "", of course. This is not the best option and I really have abandoned. A prefer to make the whole form transparent and place a background image since this option won't work in all themes. See result below:
  15. Yes. After 05/2022 I will release a trial version with examples and video. Next week, I will be at support and be very busy with the users that bought in the promotion period. And they are my priority since it might have some bugs and I need to be available for solve it right the way.
  16. ok... but I can do it in just a few days because I already have a very similar project. You just have to say what specs you need.
  17. I'm aware of this solution. Good for big corps and a "tight and strong" IT team with a good in-house support. Not good for freelancers and app with clients across a country like Brazil. And the catch 22 is a big number of our clients don't even know that they can only use 5-10 ports for incoming connection and just for 80,21, 53, 487... 433 just the basics. Then when you say to this very client that his internet connection need reconfiguration at the provider support, pay for this services, he replies:" Hey, I a get netflix, youtube... with no problem. Whats I wrong with your uniGUIWhatEver solution ? So, you need to know your "pet monster". The same problem we had with Intraweb for decades.
  18. 1- You cannot start any files transaction/operation from browser client to uniGUI server without the browser interface. In all cases, you might use socket or API (Rest) to do the job. In this particular case (Brazilian market and POS solutions), I used a rest API solution we made in-house for his work and we used in some clients since 2019 to uniGUI and VCL. The problem here in Brazil is because we have a lot of clients with incoming connection blocked by the network provider and any other solution won't work. So, we always need a printer server installed in the client's network top start the transaction. Otherwise, it just won't connect in all real world situations possible. You cant create a jobs and fire the remote printer in other subnet. Simple as that ! So this solution solves the "Brazilian" problem and any other problem. Hence is way more complicated than the Python solutions available or any JS/JAVA library. There are some, but always subscription and more expensive that this one I made. 2- Can be done with Rest API and uniGUI Service. I've made one to integrate digital fingerprint readers and send fingerprint template to an uniGUI Server. Same principle. I bought a Epson thermal IP printer, a usb only thermal printer (cheap for receipts, stubs, tickets etc), a BT only printer and already had a Epson 365L Inkjet printer. I recently bought a Sunni 2.0 POS to expand this same project. Then, with cellphone you could print in a single POS terminal without print server. OF course, I will create a FMX program to this POS. But this is for a future roadmap. Since you can map on Parallels printer to a LPT port via CMD, I did not bought a old LPT Matrix Printer Only to test it. They are way to expensive. And there is a LIB here in Brasil to work with just this kind of printer. So, this is the only gap I did not cover since there will be no demand for it. 3- Get in touch because I could make one project for you. A have 3 different scanner here. New and old models. Send me the specification that I will return the
  19. The UPS is the server that must be installed in your network to server the print jobs. It has a installer. At the uniGUI server, you need to run the UPM that is just an uniGUI Service that keep all in sync. See all details here https://www.unigui.com.br/uniGUIPRINTERServer-eng.html
  20. uniGUi Printer Server Solution Main Goal: A- Allows you to print directly from your uniGUI application to your local network printer or connected to your computers in your local environment (lase, inkjet, thermal, BT etc). By "directly", we mean the non-display of the Print Window provided by the browser and which prevents this direct operation. B- Supports printers via IP (Ethernet and Wireless, it makes no difference), USB and BT, tested with these formats. C- Components of this Software package: 1-uniGUI PrinterServer (UPS) - Application in VCL that monitors, receives, distributes and actually prints in the Windows local network environment (what we call "Realm"). This is an application that must be installed once on the local network where there may be several printers available for printing on the computer where it was installed or shared. It receives the print data from your unigui app online and sends it to the indicated printer, returning the status of the operation and managing all the "Realm" printers it is responsible for and returning this information in real time to your uniGUI APP. 2-uniGUI Printer Monitor (UPM) - Server-Side uniGUI App Service that monitors the print queue and allows integration with the uniGUI PP component (item 3) that publishes domains (realms). printers for each domain and transmits the print files to the UPS on demand. It does the Print Pool management operation between the uniGUI and the UPS Server. It is also made in uniGUI but in Windows Service format. 3-uniGUI Printer Pool (UPP) - Component that Monitors, notifies and retrieves the print queue generated by the user and your application. Allows you to notify the success of printing, reprint in case of error, consult print services, delete pending services or delete the entire queue for the print domain. This component is only needed to control the printers in the "realm" through the uniGUI interface. If you don't need this operation (as in the case of a POS), just save the print file in the UPM folder as indicated in the documentation. UPS Package Concepts: -Realm: The environment of the local network where the documents will be printed, are called "realms". Each "realm" has multiple printers, users with your app sessions, and computers serving shared and non-shared printers. There is only one UPS per "realm". The printer name identifies the uniGUI server's print redirection to the proper "realm". Imagine the "realm" as a company's office or the market with dozens of PDVS (or POS) or even service boxes with simple POS printers. -Printers: Defined on the computer on the local network where the UPS will be installed. Printers can be locally connected via a port or network to this computer as long as they are accessible from it. These printers are part of the UPS "realm". You can have several UPS on the same network but each with a different "REALM" name. These Realms will be listed in the UPP component for managing and configuring the printers in your final uniGUI APP. This makes it easy to replace unavailable equipment or redirect it to another. Example: Printer A in Realm(MainOffice) is offline or out of paper. Can direct printing to B of the same Realm. The important thing is that the user sees this status of the network printer in his unigui app and doesn't get lost trying to find where the print went that didn't go anywhere. Each printer is reported by the uniGUI Server Realm (UPS) and passed on to the UPM, which in turn makes it available to the PPP. The UPS (uniGUI Printer Server) with its own installer to facilitate the process. Install on your network server computer, configure and test the printers and Activate the UPM on the unigui server to start the service. All this process is simple and does not demand more network knowledge or complex configuration. Scheme: UPS >-< UPM ->UPP UPS manages your printers and notifies the UPM on your uniGUI server of this information. They are also available for management through the uniGUI interface via the UPP component. It lists the printers available by REALM and allows you to manage the print queue for the Realm where the UPS is. Scheme: UPS >-< UPM Just save your pdfs, report files in the folder of each Realm printer that UPM will notify and send to print. It doesn't need to interfere with anything in your uniGUI app's interface. In this case you are not notified whether the operation was successful or not. Ideal for POS where you already see the result immediately on the printer next to you. >>>>Performance Direct printing (printer connected directly or even computer with the uniGUI APP) and via UPS<->UPM is only 2 seconds for small files such as receipts, billings and invoices. Larger files such as reports, there may be an increase in time due to the download of the document and subsequent letter by the app to that file of a specific report format. >>>>Support Delphi Report Components and Formats: Due to legal and price issues, we don't directly embed the components' native file format but are printed by an external application in the same folder as the UPS. You can create your own to load the received report and directly print its format. For example: if you use ReportBuilder and your reports have specific features of it, generate the report in the print queue folder in uniGUI and it will be managed for the UPS server by the UPP component. On the UPS server, the correct application corresponding to ReportBuilder loads your report in report builder format and prints to the correct printer. For QuickReport, ReportBuilder, FastReport and Fortes, you can generate your print file natively on them and UPS will do all the printing work without any headaches. For RDPrint, you must create your print APP and place it in the UPS folder itself. Note that RDPrint allows printing on dot-matrix printers and has features very specific to older printers. You can even use the direct command line format for expanded compatibility for any other component or lib as your own stuff. PDF, Text, RAW (old printers) and Images formats do not need this intermediation being sent directly to printing. That is, if you are already used to saving your reports in PDF, you do not need to modify anything in your uniGUI APP, just saving in the correct for the UPM send it to "REALM" and the UPS to do the printing. >>>>Price of Pre-Release Promotion This entire solution for uniGUI will be available on 04/23/2022. We already have this solution in production since 2020 and we are in the final phase of documenting the UPP component and the UPM Service. It is already a solid solution and the only viable one for printing in a commercial environment for uniGUI. Note that they are the same concepts as ACBR for PDVs and POS and the only one that actually works in the environment for WEB apps (warning to Brazilians). Se price and condition at the link below and the main Interface of the UPS app , the uniGUI Print Server. https://www.unigui.com.br/uniGUIPRINTERServer-eng.html
  21. Google is no longer working with Cloud Printing API. Kiosk mode in firefox is the only option for now.
×
×
  • Create New...