Jump to content
uniGUI Discussion Forums


Popular Content

Showing content with the highest reputation since 08/23/20 in Posts

  1. 9 points
    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.
  2. 8 points
    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.
  3. 8 points
    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
  4. 6 points
    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
  5. 6 points
    This time we will build this login screen: Video: https://youtu.be/v6EYPqZ4MB4 Project: Unigui_Desktop_login_screen.rar
  6. 3 points
    Dear Friends, Here is in attachment a good way to memorize centering text on touch Mobile. Enjoy... Mobile_Lecons.7z
  7. 3 points
  8. 2 points
    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.
  9. 1 point
    Hi Farshad, I have seen an indexedDb component in Tms Web Core that is very useful; With an IndexedDb dataset component we can store data into client browser area and use for very intensive operations (lookups, realtime calculation, etc...) without interact with server data but only local data. For. ex., we can have quick lookups without web latence. Stateless!! Well, Unigui is a stateful fantastic product. And this is clear. But we cannot use Unigui for "standard" web concept, like portals, etc, that don't need a state but only show informations, so without session management. What about a "stateless" part of Unigui, without session management? In my projects I can have a "public" area with only generic data display, and another with login under session management. You think is possibile to create a similar solution in the future?
  10. 1 point
  11. 1 point
    Try the following setting in the forms ClientEvents -> ExtEvents : function window.afterrender(sender, eOpts) { Ext.get(sender.id).el.setStyle("padding", 0); Ext.get(sender.id).el.setStyle("border-width", 0); }
  12. 1 point
    Hi @mhmda I have a question. I modified my example so the header will not be the full width but it has to look like the attachement. Everything works, but i can't get the 3 icons on the right be showed. Do i have to use a extra separate panel where i must place the header? Do you have a tip? EmptyFramework2.zip
  13. 1 point
  14. 1 point
    As the title says, is there any advantages runnig 64bit hyperserver dll on IIS with 32bit exe application ?
  15. 1 point
    Hello , I have used the first Approach in 2 wizards , it is working fine with organizing each step code in {$REGION}, but I don't recommend it. in another wizard I mix between 1 and 3 (Especially good if you going to use existing forms and use them inside taps) I think you will be better off with no 3 it will be more manageable like Mohamed Nasman said regards
  16. 1 point
    Здравствуйте, Попробуйте например такой код: procedure TMainForm.UniDBGrid1ColumnSummary(Column: TUniDBGridColumn; GroupFieldValue: Variant); begin if SameText(Column.FieldName, 'quantity') then begin if Column.AuxValue=NULL then Column.AuxValue:=0; if Column.Field.DataSet.FieldByName('quantity').AsInteger > 500 then Column.AuxValue:=Column.AuxValue + Column.Field.AsInteger end else if SameText(Column.FieldName, 'unitprice') then begin if Column.AuxValue=NULL then Column.AuxValue:=0.0; if Column.Field.DataSet.FieldByName('quantity').AsInteger > 500 then Column.AuxValue:=Column.AuxValue + (Column.Field.AsFloat * ClientDataSet1Quantity.AsInteger) end; end;
  17. 1 point
    I will check.
  18. 1 point
    I have a login form whose BorderStyle is bsSingle. I do not want users to be able to click the Close button at the top right of the form to close the application and display the page where the "Restart Application" link is shown. How do I hide the Close button? -- Frederick (UniGUI Complete - Professional Edition
  19. 1 point
    UniGUI should have UniGridPanel, UniGridPanel is a kind of Panel, the Panel have rowCount and colCount property, if I set rowCount=5 and colCount=3, than the UniGridPanel will have rows=5 and cols=3, there will be 5*3 cells, all the cells are the same width and same height, in any Cell,I can place a UniImage\UniBitBtn etc... Of course,just like UniHiddenPanel, In the design time,all the cells have borders, But in the runtime,alll the cells have no borders.
  20. 1 point
    Hi, I used it on Win32 applications which was running on a vps server. We stored the report which are created with Fastreport in the database so everyone could use them. One of the issues is the grow of you're database. When the use images in a report and don't limit the size of the image than a report becomes large and also the database. When they use a image which is 4 MB, then you're database is also growin with 4 MB. And with lot's of records...it grows hard. Then you also have to load the database records...which also cost performanance. Now with uniGui i also save uploaded records on disk..it's cheap and fast..the same way Mohammed describes. But..if you would like to store files in a database...this is what i used. Store files in a database requires a blob field. When you use MySQL then use a LargeBlob field. The code below is used for the FastReport i used if dmDocument.Doc.State in [dsBrowse] then begin dmDocument.Doc.Edit; end; try MemStream := TMemoryStream.Create; Stream := dmDocument.Doc.CreateBlobStream(dmDocument.Doc.FieldByName('Report'), bmReadWrite); frxReport.SaveToStream(MemStream); MemStream.Position := 0; Stream.CopyFrom(MemStream, MemStream.Size); if dmDocument.Doc.State in [dsInsert,dsEdit] then begin dmDocument.Doc.Post; end; finally MemStream.Free; Stream.Free; end; A old example using a Win32 application with a DBISAM database. I save the file into a blob field and don;t forget to save the file+extension also in the database: procedure TFormMain.FileLoad; var fileInfo: _WIN32_FILE_ATTRIBUTE_DATA; TotalSize: int64; begin FormMain.OpenDialog.Title:='Select file'; if FormMain.OpenDialog.Execute then begin GetFileAttributesEx(PChar(FormMain.OpenDialog.FileName), GetFileExInfoStandard, @fileInfo); TotalSize := fileInfo.nFileSizeHigh shl 32 or fileInfo.nFileSizeLow; if TotalSize>6000000 then begin Application.MessageBox('This file can't be saved into the database it's larger then 6MB.', 'Warning', MB_OK+MB_ICONASTERISK+MB_DEFBUTTON1+MB_APPLMODAL); Abort; end; if TotalSize<6000000 then begin if dmDocument.Doc.State in [dsBrowse] then begin dmDocument.Doc.Edit; end; Bstream := dmDocument.Doc.CreateBlobStream(dmTables.Document.FieldByName('FileContent'),bmWrite); try Bstream.Seek(0, soFromBeginning); Fstream := TFileStream.Create(FormMain.OpenDialog.FileName, fmOpenRead or fmShareDenyWrite); try Bstream.CopyFrom(Fstream, Fstream.Size) finally Fstream.Free end; finally Bstream.Free end; dmDocument.Doc.FieldByName('FileContent').Value:=ExtractFileName(FormMain.OpenDialog.FileName); end; end; Saving the file to disk if dmDocument.Doc.FieldByName('FileContent').Value='' then begin Application.MessageBox('There's no file available!.', 'Message', MB_OK+MB_ICONEXCLAMATION+MB_DEFBUTTON1+MB_APPLMODAL); Abort; end; if dmDocument.Doc.FieldByName('FileContent').Value<>'' then begin FormMain.SaveDialog.Title:='Save file'; sFile:=dmDocument.Doc.FieldByName('FileName').AsString; SaveDialog.FileName:=cBestand; if FormMain.SaveDialog.Execute then begin Bstream := dmDocument.Doc.CreateBlobStream(dmDocument.Doc.FieldByName('FileContent'), bmRead); try Bstream.Seek(0, soFromBeginning); with TFileStream.Create(SaveDialog.FileName,fmCreate) do try CopyFrom(Bstream,Bstream.Size) finally Free end; finally Bstream.Free; end; end; end;
  21. 1 point
    Please change .x-button to .x-button .x-inner-el in servermodule.customcss
  22. 1 point
    Hi, You can try this: procedure TMainForm.UniFormCreate(Sender: TObject); begin UniMenuButton1.JSInterface.JSAddListener('click', 'function(me){me.maybeShowMenu()}'); end; Best regards,
  23. 1 point
    Hello, Can you try this approach?: function treeMenu.afterCreate(sender) { sender.el.setStyle('overflow-y', 'auto'); }
  24. 1 point
    I determined that it worked if I used HTTP but not HTTPS. BUT after not getting it to work, I made a small test program to show to Delphi Developer. In the test program I changed it from <embed> to <iframe> like he said and it worked. So he gave me the answer all along and I didn't try it because I could get it to work on my computer. Once again Delphi Developer came through with the answer. Just trust him.
  25. 1 point
    Awesome. This is A-class service. Thank you so much!