Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 12/16/17 in all areas

  1. 4 points
    Hi , Document Viewer: simple interface unigui to view OpenOffice + Pdf documents. See : http://viewerjs.org DocViewer.zip Good fun . Regards Salvatore Marullo
  2. 3 points
    Do you think that Farshad developed unigui only to get rich and thus close his code? No, i dont think so. In the last 10 years, it is clear from his work that he is a great personality, a virtuous and very honest man. I do not know him personally, but review the history of the vicissitudes experienced on this forum you will understand. No, it's someone who has his head on his shoulders and knows where he is going. he will never be able to leave you. he certainly has a plan B for the durability of this remarkable product.
  3. 3 points
    For the Form and Panel set AlignmentControl = uniAlignmentClient For the panel set the Layout = form. For the buttons set LayoutConfig.Margin =3 - or whatever you prefer
  4. 3 points
    You need to use a UniFieldContainer. See the images. Also remember for this to work the AlignmentControl must be "uniAlignmentClient".
  5. 2 points
    An example showing how to incorporate Leaflet and OpenStreetMaps into UniGUI. The following lines must be added to the ServerModule | CustomFiles: https://unpkg.com/leaflet@1.3.4/dist/leaflet.css https://unpkg.com/leaflet@1.3.4/dist/leaflet.js See the Mapbox Tab in the application for more details. P.S. I am no expert with Leaflet - please see the following for more details: Getting started with Leaflet OpenStreetMap Mapbox - the accessToken used for this is a public one...you can register to receive your own. Leaflet Maps Example.zip
  6. 2 points
    ok .. found a solution for chrome, egde, safari, opera ... i changed to https://greensock.com/tweenmax and i animate my things with : Panels: UniSession.AddJS('TweenMax.to('+UniContainerpanel.JSName+'_id,0.4,{left:'+inttostr(x)+'});'); Forms: UniSession.AddJS('TweenMax.to('+self.WebForm.JSName+'_id,1,{autoAlpha:0});'); Works fine :-) Greetings Erich user_interface.webm
  7. 2 points
    Some time ago I was working on a migration of an application from the desktop to the web using uniGUI. The application used a TRichEdit control and stored the information in a database. The new application, web-based, needed the documents in HTML and I started working on solutions. I found a few tools which could convert RTF <=> HTML. Some of them are: Subsytems – Expensive, but it does the job unRTF – GNU DocFrac - Sourceforge Html2Rtf - DLL for both HTML -> RTF and RTF -> HTML My idea was to use the database events OnBeforePost and OnBeforeScroll to execute the conversions while keeping the database format as RTF (to keep compatibility with the desktop application). I never implemented the solution but it could be used by anyone interested in moving from RTF to HTML.
  8. 2 points
    By the way Flex just sets how the controls will be spaced, if both were set to 1 then they will have equal widths.
  9. 2 points
    From the "All about..." series, my second contribution to the community All about Form Transparency using images and gradients. That´s all folks ... AllAbourFormsTransparency.rar
  10. 1 point
    Hi, As default behavior of dbgrid is performing sorting in server side, but sometimes you fetch all data into grid (no paging) and the data is already in client, so why return to server to sort data !! Do the sort in client side: 1. Disable remoteSort (store): 2. Set 'click' event on column header and do sorting: Hope this will help you :-)
  11. 1 point
    Hi, As the title says, I converted a library that Mike Heydon made to export a DataSet to old format Excel file (xls) without OLE or Excel installed. This library now converts an UniDBGrid to Excel. Sample of usage. // Add uses UExportExcel procedure TMainForm.UniButton1Click(Sender: TObject); var url, filename, reportname : String; exportExcel: TDataSetToExcel; i: integer; begin reportname := 'ExcelReport'; url := UniServerModule.LocalCacheURL+name+'.xls'; filename := UniServerModule.NewCacheFileUrl(false, 'xls', reportname, '', url); exportExcel := TDataSetToExcel.Create(filename); exportExcel.Grid := UniDBGrid1; exportExcel.WriteFile; FreeAndNil(exportExcel); UniSession.SendFile(filename, reportname+'.xls'); end; Hope it helps everyone. UExportExcel.zip
  12. 1 point
    Hi. This example, show how to upload one or multiple files using javascript and ajax notification. the example show file upload progress and uploaded completed, and save the uploaded files in server folder. simply drag files into blue box. example using unigui 0.89 and xe2. MuploadSample_en.zip 05-12-2016: Modified for latest uniGUI version. (Farshad) MuploadSample_en.rar
  13. 1 point
    Hi Farshad, this is a preview of DBLookupCombo I need... :-) Thanks in advance! Stefano
  14. 1 point
    Standard Desktop Windows OS's only allows for a small amount of concurrent TCP/IP socket connections (if I remember correct in Win7 it is something like 20), which will be fine for a small user system. But for enterprise systems or large user bases you definitely want to use the server editions which comes with additional benefits and security. The connection limit is an enforced application session limit. Basically this is to prevent people from abusing Win7 as a public web server platform or file server for example. There are ways to increase that of course....just Google it.
  15. 1 point
    See the image attached...you were missing a comma at the end of the 4th PathCoordinate. I checked it with JSFiddle. Below is the corrected version with the zoom and center functions added. UniSession.AddJS('var gm = googleMap; '+ 'if (typeof gm == "object") '+ '{ '+ ' gm.setCenter(-37.84, 144.67);'+ ' gm.setZoom(15);' + ' var PathCoordinates = '+ ' ['+ ' {lat: -37.842521707298296, lng: 144.6705822349851},'+ ' {lat: -37.84328847009031, lng: 144.6718965174024},'+ ' {lat: -37.84340920273167, lng: 144.67219424260304},'+ ' {lat: -37.84345580124215, lng: 144.67245307577298},'+ ' {lat: -37.84412353348225, lng: 144.67519362283394},'+ ' {lat: -37.84445395544746, lng: 144.67542965722726},'+ ' {lat: -37.84683464430723, lng: 144.67503269029305},'+ ' {lat: -37.846206649771126, lng: 144.66954341367773},'+ ' {lat: -37.84302853810139, lng: 144.67027782310845},'+ ' {lat: -37.84251570967168, lng: 144.6705956648767}'+ ' ];'+ ' var MyPolyline = new google.maps.Polyline'+ ' ('+ ' {'+ ' path: PathCoordinates,'+ ' geodesic: false,'+ ' strokeColor: ''#FF0000'','+ ' strokeOpacity: 1.0,'+ ' strokeWeight: 2'+ ' }'+ ' );'+ ' MyPolyline.setMap(gm);'+ '} ' );
  16. 1 point
    Here we design a login form with semi-transparent background color, and the whole page has a random background-image that changed every time user do a login and we add a particles animation to give the page some life :-) and we also added a combobox to give the user the ability to choose a theme. Here a video: https://www.youtube.com/watch?v=XyTsg9_CY-Y
  17. 1 point
    Please show me how to set "Mobile UnimEdit: FieldLabel Color, EditText Color, EditText Background Color ?" EditUser.ClientEvents.UniEvents.Clear; s:= 'beforeInit=function beforeInit(sender, config)'#13#10+ '{'#13#10+ ' config.cls='#39'customLabel1'#39';'#13#10+ '}'; EditUser.ClientEvents.UniEvents.Add(s); CustomCSS.Add('.customLabel1 '); CustomCSS.Add('{ '); CustomCSS.Add(' color: red; '); // NO EFFECT CustomCSS.Add(' background-color: #A7D0FE; '); // WORKS CustomCSS.Add(' font-color: blue; '); // NO EFFECT CustomCSS.Add(' text-font-color: red; '); // NO EFFECT CustomCSS.Add(' text-background-color: yellow; '); // NO EFFECT CustomCSS.Add('} ');
  18. 1 point
    I only wanted start grid with the grouping collapse. Workaround with: UniSession.AddJS(unidbgrid1.JSName + '.view.features[0].startCollapsed=true;') ;
  19. 1 point
    Merhaba; Aşağıdaki gibi bir java ile çözdüm. function SendAPI(id, message) { var result = null; //var obj = document.getElementById(id); $.ajax({ url : address, type : 'get', dataType : 'json', data : JSON.stringify(message), success: function(data){ ajaxRequest(id, '_SendAPI', ['send=OK', 'actions='+data.data.actions, 'results='+data.data.results]); console.log(data.data.results); } }) .done(function() { console.log('Send - OK'); }) .fail(function() { console.log("Send - ERR"); ajaxRequest(id, '_SendAPI', ['send=ERR', '', '']); }); } procedure TForm1.btnNum1Click(Sender: TObject); begin UniSession.AddJS('SendAPI(Form1.form, {"data":{"actions": "test"}});'); end; procedure TForm1.UniFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); var x, actions, results: String; begin if EventName = '_SendAPI' then begin x := Params.Values['send']; end; end;
  20. 1 point
    The ExtJS 6.5 mobile themes certainly help to write single web apps that can be used on desktops, tablets or smartphones. But you are limited to only 2-3 themes available that not everyone likes. Having the possibility to change colors / fonts would be a further help but at the moment we have to do everything via JS and know exactly what to declare to acces EXTJS api. However, a nice step forward compared to before ...
  21. 1 point
    I don't know if it is the best practise. I do like this and i work with a copy of classic theme(blue) in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\Css\ i copy uni-xtheme-uni_classic.css and rename to uni-xtheme-uni_MyTheme.css in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\Css create file ext-all-uni_MyTheme.css inside : @import '../ext-theme-uni_MyTheme/ext-theme-uni_MyTheme-all.css'; in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\Css create file ext-all-uni_MyTheme-rtl.css inside : @import '../ext-theme-uni_MyTheme/ext-theme-uni_MyTheme-all-rtl.css'; in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources create a directory ext-theme-uni_MyTheme copy all file that are in directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_classic to directory C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_MyTheme In this directory rename file ext-theme-uni_classic-all.css to ext-theme-uni_MyTheme-all.css rename file ext-theme-uni_classic-all-rtl.css to ext-theme-uni_MyTheme-all-rtl.css After all this change there is new theme in delphi : uni_MyTheme you could do you modification in css file that are in C:\Program Files (x86)\FMSoft\Framework\uniGUI\unipackages\themes\resources\ext-theme-uni_MyTheme and change image if needed.
  22. 1 point
    Hi, We will check this issue. For now, can you try this approach ?: http://forums.unigui.com/index.php?/topic/6146-unitreeview-background-color-old-issue-1016/ Best regards,
  23. 1 point
    Hi, How to change the background color for a unitreeview? I tried the property color , or parent color, but always stay in white color. exactly the same error with font size. whang changing the font on design time it does not change in run time. any idea? thx eric
  24. 1 point
    Hi! For example: 1. MainForm.Script: var IDLE_TIMEOUT = 60; //seconds var _idleSecondsCounter = 0; document.onclick = function() { _idleSecondsCounter = 0; }; document.onmousemove = function() { _idleSecondsCounter = 0; }; document.onkeypress = function() { _idleSecondsCounter = 0; }; window.setInterval(CheckIdleTime, 1000); function CheckIdleTime() { _idleSecondsCounter++; var oPanel = document.getElementById("SecondsUntilExpire"); if (oPanel) oPanel.innerHTML = (IDLE_TIMEOUT - _idleSecondsCounter) + ""; if (_idleSecondsCounter >= IDLE_TIMEOUT) { //alert("Time expired!"); //document.location.href = "logout.html"; ajaxRequest(MainForm.form, '_idle_timeout', []); } } 2. MainForm->onAjaxEvent: procedure TMainForm.UniFormAjaxEvent(Sender: TComponent; EventName: string; Params: TUniStrings); begin if EventName = '_idle_timeout' then begin // your logic ShowMessage('idle_timeout'); end; end; Best regards.
  25. 1 point
    1. UniSession.AddJS('$.ajax({' + 'url: "' + UniSession.CallbackUrl('$.ajax', self, []) + '",' + 'type: "POST",' + 'data: {username:"g", abc:123},' + 'dataType: "text",' + 'success: function(data){' + ' alert("OK!"+data);' + ' }' + '});'); procedure TMainForm.UniFormAjaxEvent(Sender: TComponent; EventName: string;Params: TStrings); begin if EventName = '$.ajax' then begin UniEdit1.Text := 'AAAAAAA'; //Execution is not successful(Show no change)。 showmessage(UniEdit1.Text);(Display results correctly) This is why? UniSession.AResponse.ContentText := '{"success":true,"manager":[{"name":"xxx","userId":"222"},{"name":"yyy","userId":"333"}]}'; end; end; 2. unisession.AddJS('ajaxRequest(MainForm.window,"ajaxRequest",[]);'); procedure TMainForm.UniFormAjaxEvent(Sender: TComponent; EventName: string;Params: TStrings); begin if EventName = 'ajaxRequest' then begin UniEdit1.Text := 'AAAAAA'; //Execution is successful(Show change) UniSession.Response := 'Ext.Msg.alert("","ok!");'; end; end;