Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 01/26/20 in all areas

  1. 3 points
    Try this: Ext.form.field.TextArea.prototype.insertAtCursor = function(txt) { var val = this.value, start = this.inputEl.dom.selectionStart, end = this.inputEl.dom.selectionEnd; this.setValue(val.substring(0, start) + txt + val.substring(end)); this.inputEl.dom.selectionStart = this.inputEl.dom.selectionEnd = start + 1; Ext.defer(function() { this.focus(false); }, 10); }
  2. 2 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. 2 points
    Отказывайтесь от этого, dll-ки не пропускают многие антивирусы, уходите от старой технологии. Работая с сервисом, Вы не зависите от веб-сервера, и вообще от того, что смотрит в мир.
  4. 2 points
    Зайдите в любую папочку в консоле иис (функция Документ по умолчанию) После модификации посмотрите содержимое файла web.config в этой папочке
  5. 2 points
    If you want to change the keyboard layout on the client side, you won't be able to do it. "But you can capture the keydown event and replace the character with something like this": https://jsfiddle.net/xpvt214o/430815/ https://stackoverflow.com/questions/51367824/change-input-text-language-at-focus-if-rtl https://stackoverflow.com/questions/11426969/change-keyboard-layout-with-javascript
  6. 1 point
    That works fine Maestro ! Thank you very much
  7. 1 point
    Hi @Jean-Marc Kiener You can do anything with RadCORE. The question is: Do you want to take advantage of ALL or PART of the features? Speaking ONLY of the layout, you can remove EVERYTHING and enjoy the layout and do everything you already do your way. Speaking of TODO. You can enjoy EVERYTHING and create NEW features the way you already do it in your day to day. If you DO NOT USE the inheritance FORM / FRAMEs that come with RadCORE, you do it your way and you're done. That simple. I DO NOT OBLIGATE YOU to follow a rule, I just GIVE AN OPTION, you take the DIRECTION. RADCORE's proposal is to TRY to reduce its coding with the most repetitive things and to REUSE the maximum code. That it may seem to PLAIN, but IF YOU UNDERSTAND how RODA GIRA, you can change everything and adapt to any situation or simply, when necessary, DO DIFFERENT. RADCORE'S GOOD not being a COMPONENT is just that. YOU CAN PAINT AND EMBROIDER IT. RadCORE uniGUI follows the guidelines of FMSOFT, so a lot of things that you would have to worry about configuring, are ready. I managed to make a nice layout with little CSS application, trying to exploit the most of the component's NATIVITY, this proposal followed by all versions of RADCORE, do not use third party components for LAYOUT. There is 3 versions of RadCORE: VCL, FMX and uniGUI
  8. 1 point
    Well, 6 years..! There have been many changes on both the ExtJS side and the UniGUI side. Now use WidgetColumn: \FMSoft\Framework\uniGUI\Demos\Desktop\Grid - WidgetColumn2
  9. 1 point
    Hi, You do not need to delete this class. Then try this: .customHeader .x-group-sub-header, .customHeader .x-column-header { border: none; } .customHeader .x-grid-td { vertical-align: middle; }
  10. 1 point
    Thank you Maestro, That is exactly what i am looking for. All the Best...:)
  11. 1 point
    Можете, страницы по умолчанию допишите туда Web.dll Это не пул, это папочка, Можете смотреть в сторону ARR и URLrewrite Но тогда ISAPI выкиньте Только сервисы, только хардкор
  12. 1 point
    Does not work too. unigui1514+xe10.3.3
  13. 1 point
    It's perfect!!! Greate! Working! Very big thank you, @Sherzod!
  14. 1 point
    Dear Friends, Here is a step by step way to use them. 1. Download the official kit from : https://fontawesome.com/download by choosing FreeForWeb 2. Copy this folder (uncompressed) into your files Folder 3. In your Unigui Project add this simple line on your ServerModule > CustomFiles : (Thx to GerhardV) <link rel="stylesheet" href="files/fontawesome-free-5.12.0-web/css/all.css"> (5.12 is the current release) 4. Put an UniLabel on Mainform and set its TextConversion to txtHTML 5. Use your FontAweSome like this : procedure TMainForm.UniFormCreate(Sender: TObject); begin Unilabel1.caption:='<i class="fa fa-dove" style=color:green></i>'; end; Where : fa is the Class Name and fa-dove is icon's Name. See more details in : https://fontawesome.com/how-to-use/on-the-web/referencing-icons/basic-use 6. Choose your icon from 1553 free icons : https://fontawesome.com/icons?d=gallery&s=solid&m=free 7. You can also, use them OnLine from public CDNs : by adding this simple line to the CustomFiles (Thx to Marlon) <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.12.0/css/all.css"> ___________ Enjoy OffLine_FontAwSome.zip
  15. 1 point
    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.
  16. 1 point
    Hi All, I have read posts in this topic, and i share my experience and my thought; I have license on Unigui and also on TMS web core (and many other library and components); Goal of TMS web Core is "openess and cross-platform", due to only javascript generated code; it's still young and in constant evolution, now also work in Visual Studio Code; Well, the question is: Why I must use it if I need a "only javascript + HTML5" approach to my applications? I have tested a lot of frameworks and, if I must "rewrite" my apps for the web without Delphi approach (I intend use of datasets, frames, etc...) and I need a separate REST data management I change totally direction and go with Devextreme and pure javascript, due to its UI power (or Infragistic, or Telerik, etc...), no more dependence from Delphi in UI and no more pascal; maybe the data server can be Delphi :-) The truth is that "the magic wand" is the visual IDE, creation wysiwyg of forms and manage of event and property at DESIGN TIME. Infact TMS Web core attract our attention ONLY because it have a visual editor, like the Delphi Edition. Without a visual editor, who use pascal code in Visual Studio code for generate javascript? Ok, It is another solution if I want to approach the standard web: client code + separate remote data management, so stateless and client centric; but I need to worry about sessions, timeouts, and other not visible "variables" of the project, and I need to expose too into client browser. Moreover performance is not the best; With Unigui I take about 2 seconds at runtime for show a form with 300 fields (I develope tax applications, Farshad Known...), 10 seconds with TMS, due that creation object in javascript is not the same of Delphi, the same when you need complex calculation of use of fast complex functions. Sure they optimize it in the future, so I think it is a good product. I will look at evolution. But we have also Unigui that follows Delphi way; visual forms, datasets, events, etc. ALL in ONE perfectly integrated. With a crazy productivity in time development ($$$). Indeed, what we want (and what is missing) is that Unigui have all that we see on modern richfull libraries like Devextreme (for ex.), on Client User Interface, no one dares to question on its Delphi server logic that is PERFECT. This because our customers see only UI, but the real treasure is in the exe (or dll) that manage all, and work worderfully with its session management. So, if I can have DBGrids that have the same power and richness of great Devextreme, very powerful Listview, Lookups, Charts, etcc... without write a lot of javascript client code (all Client features!!!) why I must change UNIGUI? Why I need to change Unigui if all I need is at 95% in Unigui components property and events, with only 5% of my custom javascript client code? (I naturaly don't speek on Delphi server code) Only for obtain a cross platform javascript product, with A LOT of extra work, I think; But now I need powerful Windows (based) applications; maybe linux release give me freedom on server side for cost, when available; Mac (server) is not a problem for me; So I think that Unigui with Equinox full features completed is a powerful tool for my need, thanks the powerful updated components. We need a more attention to forum requests, more responsiveness on bug and primarily on help request about ExtJs interaction and simple client features that Delphi programmer don't known (I don't have experience in ExtJs, I study it gradually on need). Most of times the problem is that we are locked on stupid or little request, easily solvable by an expert on forum or (better) with a new timely release (I am wating for a direct editing in a cell without press Enter, for ex.) but that prevent release of the entire project for months!! So I hope only more powerful components and more attention to user requests, in short time. When all Equinox features are available I Intend to substitute also desktop application with all-in-one project. Because I think that Unigui is, at present, the best web tools for Delphi programmers. Good job to Farshad. (Sorry for my very poor english :-) )
  17. 1 point
    Looks like "hello world" application. Don't TMS Web Core have something real to show?
  18. 1 point
    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)
  19. 1 point
    Hi, when I open a new frame to enter new data, I want to set the focus on a special uniEdit component. How can I do that? The UniEdit.SetFocus does not work. Best regards
  20. 1 point
    Some of our customers are having weird problems with our uniGUI software. I updated uniGUI to the latest version yesterday and at least some customers are getting AJAX-errors, duplicate entries in uniDBGrid and so on. I troubleshooted the problem with one of our customers and I asked him to clear cache or try another browser (He was using IE 11). He tried to use Chrome and everything worked as expected. One another customer cleared cache and that seemed to solve problem for her. I can't reproduce any of the errors and problem they're having so it's really difficult to fix something that doesn't seem to be broken. Is there something I'm missing here? What can I do to to solve this issue? Is there a way to instruct clients browser to fetch all the uniGUI files again effectively refreshing them? Is this cache related at all? If not, what should I do to prevent these kind of situations in the future when I update uniGUI to new version? Please advice. // Mika
  21. 1 point
    Hi , In fact, I have long been eager to create a Responsive web app with Unigui. Of course, it's enough to create an app that handles administrative or massive data with Unigui. However, sometimes there are a lot of demands for design from clients and for responsive web. With UniGui's UniGUIServerModuleHTTPCommand, you can create a responsive and responsive app that meets your needs. However, this approach is often annoying when dealing with Unigui's greatest strength, Dataset. So, to make the best use of Unigui's advantages and to avoid the inconvenience of forming datasets, I wrote a very small module and named it dbfoxScript. As the name implies, it not only imports Datasets from the server, but also makes them faithful to the CRUD role. Therefore, if you need to add or modify datasets, you can speed up your development by minimizing the compile behavior after opening and modifying the Server Module like the previous development. Of course, developing a Web app in HTML can be a tiring thing. We are already familiar with Unigui through intuitive and easy development. <About dbfoxScript> It is a simple script made only for CRUD. select, insert, update, delete, upload (File). It can be used when using Ajax with Unigui Server instead of PHP, JSP, ASP. Currently, it is under testing, and will make minimal functionality. It was easy to create using Unigui's modules and components. nice connections with jQuery mobile, ReAct native, Ionic, and so on. Supported RDBs are SQL server, Firebird, MySQL and so on ( with UniDac ) <Configuration> 1. Webserver: Unigui 2. dbfoxScript: Unigui 3. Designed Templete: Luna (Comercial) * Design choice is up to you. 4. Sample Database: Firebird 5. Unidac Lets start !! 1. prepare to connect Database -- open settinginfo.ini and Edit yours !! [UNIDAC] ProviderName=Interbase Server= Username=SYSDBA Password=masterkey Database=<youPath>\uni_dbfox_ajax_unidac_luna_master\IBDATA\uni_demo.fdb Provider=prAuto //Provider=prDirect //Provider=prAuto ( Firebird ) 2. how to call foxscript in javascript - remember ( CRUD means that those are 'select, update,delete,insert , upload ) - refer ServerModule.pas - this is for only 'select' query // sample 1 . dbfox/Datatables_member.html function get_member(){ var search_key = $("#search_member_name").val() ; if (search_key=='') { search_key = '' ; } else { search_key = search_key ; } var params = { foxFileName : 'member.fox', //[restrict] - only write fox file name ( should not use with folder ) foxTagName : 'fox@select_member', search_name : '%'+search_key+'%' }; //******************************************************** //connect Database and Return Selected Dataset as Json - That's it //******************************************************** var data = dbfox_ajaxRequest( 'select' , params ) ; console.log( data[0]); That'all . BTW , what params mean ? - first , open fox file dbfox/scriptures/member.fox - second look for Tag of fox@select_member - Automatically , it makes SQL statement and return jsonDataset to Client. /********************* * member.fox * */ <fox@select_member> SELECT member_id , member_name , member_image_filename , userid , password , indate , zaddr1 FROM MEMBER WHERE member_name LIKE :search_name </fox@select_member> * foxScript will return jsonDataset . 3. ServerModule.pas procedure TUniServerModule.UniGUIServerModuleHTTPCommand( ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; var Handled: Boolean); var r : string ; params : TStrings ; begin //1.select if UpperCase(ARequestInfo.URI) = UpperCase( '/SELECT' ) then begin Handled := true; r := remote_Select( params ) ; AResponseInfo.ContentText := r ; end; //----- refer source about Insert , delete , upload(File/Image) end; uni_dbfox_ajax_unidac_luna_master.zip
  22. 1 point
    Expertise : If your browser can'not open your application (As Service), Here is a Step by Step checking your network configuration : Please Check this : 1. Ping First of all, Ping your server from all computers on your local network : example : tape on DOS windows (cmd) : ping (good response) 2. FireWall ( ON YOUR SERVER ) : - Windows FireWall : Advanced settings : Add Exception to --> your Application (and your RDBM FireBird or MySQL,...) --> Athorise a Program --> your Port / Input Bounds (Rules Incoming Trafic ) : 8077 , 8078 , 8079 .... (if you changed ports) - Activate : Service World Wide Web (http) and (https if necessary) - Windows Defender : Add Exception to your application (Windows Defender on win 10, "is angry" !) 3. Service World Wilde Web (ON YOUR SERVER) : On Settings Panel > Program Fonctionality > add . Service IIS . Service World Wilde Web (important) 4. And the last one I found it yesterday - important (ON YOUR CLIENT SIDE) : Update your Browser (Download the last version) Best Regards.
  23. 1 point
    I already managed to find what I was looking for
  24. 1 point
  25. 1 point
    Hi Abaksoft (and everybody), Maybe we could create and fill a wiki site about uniGUI best practices (something like http://unigui.wikispaces.com, which I created for example) - if Farshad agrees ? So we could already share "our" best practices, tips & tricks in a structured way,and let the uniGUI community, Farshad and FMSoft team add, fill and/or correct articles. I already did this for my company (a french-spoken Wiki into our Intranet) and it allowed employees to easily understand and practice uniGUI. I can eventually translate and share our articles.