Jump to content

Highest Reputation Content

#16037 TuniNotification - A notification system with clicked event.

Posted by Hayri Aslan on 28 August 2013 - 06:42 PM

Hi everybody,


i want to share TuniNotification component.


it's support HTML tags, Youtube videos, Custom css and Clicked Event!


You can see it in here : http://hayriaslan.ne...icationDemo.dll



Features : 


Theme:string - default:'default' - A string specifying the theme to be used. This value is a hook into the css, so you can create your own theme. The possible options are:
title:string - default:'Message' - Specify an optional title heading that will show on the top of the notification in bold text.


position:string - default:'bottom right' - A string specifying where the notification will appear. possible options are:
      'top right'
      'bottom right'
      'top left'
      'bottom left'


Attached Files

  • Attached File  1.PNG   204.3KB   636 downloads
  • Attached File  2.PNG   270.18KB   737 downloads
  • Attached File  3.PNG   254.06KB   657 downloads
  • Attached File  4.PNG   226.31KB   578 downloads
  • Attached File  5.PNG   248.53KB   550 downloads
  • Attached File  6.PNG   478.22KB   389 downloads

  • 9

#13666 Checkcombobox and checklistbox components

Posted by estrify on 13 March 2013 - 09:53 PM



We miss components like checked list boxes and checked combo boxes (may be with names like UniCheckedListBox and UniCheckedComboBox).


They are very useful to present to the user more versatile options for filtering data.



  • 9

#15440 Colored Buttons DEMO

Posted by Semper on 09 July 2013 - 05:16 AM


This is colored buttons simple demo based on Sexy Buttons (HTML/CSS-based framework for creating beautiful web site buttons).

For more details see Quick Start Guide and Demo

Have fun.

Best regards

Attached Files

  • 8

#14108 Simple Desktop

Posted by Semper on 30 March 2013 - 05:08 PM


Many thanks to perjanbr  for his code sharing!

I finished just another DesktopSample that based on topicstarter's code.

My code is quick and dirty. Only concept. Don't be strict to me  :)

Share it in a hope that it is be useful.



Attached Files

  • 8

#14015 UniKendoChart

Posted by Hayri Aslan on 26 March 2013 - 01:57 PM



We are know that after v0.90 Kendodataviz not work.


I create a component whose name is UniKendoChart and its works very well.


İn this version you can change that properties :


  And onclick event.


This component create for D2010. If you want to use it different version, you must do that:


Go to KendoChart.dpk

Change  uniGUI14, ExtPascal14, uIndy14, uniTools14 to your version of delphi. (ex: uniGUI16) 





  • 8

#12169 Extra UniGUI Components

Posted by patmap on 03 January 2013 - 06:37 PM


All my used inherited components with many extra properties.
Also i developed a New Popup Menu



Updated 2013/03/25 ( v5.9.2 )
- Popupmenu runtime Enable/Disbale Items.

- Popupmenu runtime Visible/Hide Items.


Updated 2013/03/14 ( v5.9.1 )
- Fixed many bugs.

- Improved many components.

- ViewGrid last column auto fit !

- Added RTL Property (many thanks to Mr. Farshad Mohajeri)

Updated 2013/01/21 ( v5.9 )
- Added Footer Toolbar to Panel ( Property FooterControls ).
- Added Header Toolbar to Panel.
- Added Property FitChilds (not complete).
- Change Panel Title Runtime.

Updated 2013/01/21 ( v5.2 )
- Fixed many bugs.
- Fixed UniImage position on UniXPanel
- Added TUniXJalaliCalendar with Demo For Persian language (Jalali Calendar)
- Added TUniXHTMLMemo with Demo For Adding own Button on Editor Toolbar.
- Added TUniXCombobox with Demo for Multi Select Items.

Updated 2013/01/16 ( v5.0 )
- Fixed many bugs.
- Add Viewport Component (NEW)
- Add Viewport Demo
- Improved GridView
- Improved Popupmenu
- Improved XPanel (For region panels)

Updated 2013/01/09 ( v4.1 )
- add cell selection to BufferedGridView
- Fix bugs on BufferedGridView
- Fix Memory leak on BufferedGridView
- improved popup menu

Updated 2013/01/08 ( v4.0 )
- Some Bug Fixed.
- Added XButton with Drop Down Menu. (With Demo)

Updated 2013/01/07 ( v3.4 )
- Final Version Of BufferedGridView. (You can add many data and append to grid)
- Some bug fixed.
- Improved PopupMenu Functions ( Thanks to Stas )
- Add Popup Menu Demo For UniGUI Controls ( Thanks to Stas )

Updated 2013/01/05
- Bug fix "Invalid session or session Timeout"
- Added TUniXGridView New component . (This is a Buffered Grid for view many record in Scrolling Page). This component in test mode.

This package tested and compiled with XE3 and latest UniGUI

Enjoy it!


Attached Files

  • 8

#10702 Google Maps for uniGUI

Posted by lema on 06 October 2012 - 01:31 PM

Hi to all.

I share the uniGMap component.

[Desktop and Mobile versions]

It is based on code I have used in several projects and actually developed to fulfill my needs.

It can add , edit , remove , locate markers , lines , polylines , circles , polygons ,
rectangles , directions , KML, infoWindows ,
change several map properties like zoom , type , control visibility etc ,
notify about map events through AjaxEvent like zoom , click , markerclick and
get some object properties like Length , Area etc.

You can see it in action here :


latest version: 2017-01-08  v1.4.3

Attached Files

  • 8

#24836 Happy New Year!

Posted by Farshad Mohajeri on 31 December 2014 - 02:04 PM

I wish a happy new year to all forum members and all developers around the world who have become a part of uniGUI community.


Thank you for your support.


Best wishes,

Farshad Mohajeri

  • 7

#16489 WebCmd: Start a command line / console app in Browser - interactive

Posted by Oliver Morsch on 18 October 2013 - 12:33 AM


With this app you can run a cmd or console app in an interactive way. Just like sitting in front of a "cmd" on a PC.

This project is similiar to "PHP Shell" (http://www.tecmint.c...sing-php-shell/), but "WebCmd" is interactive and uses UniGui instead of PHP.

It is also helpfull, if you use console apps on the server to perform something (creating PDF's, converting Files, ...). If such a process runs very long, the user get results (output) at every time with WebCmd; if you use a standard "CreateProcess()" instead the result is only available after process has finished.

If you want to use interactive input (optional) you must enter the command / input into the edit field below and then press enter (no "inline" edit/ input possible).

Use "exit" command to close a cmd, just like in a normal cmd.


Attached File  WebCmd.png   34.53KB   378 downloads


Attached File  WebCmd.zip   12.35KB   193 downloads


  • 7

#15186 MessageServer: "push" messages from server to client (long polling)

Posted by Oliver Morsch on 16 June 2013 - 03:03 AM


I have developped a message server, so you can send "push" messages at any time from the server to the web client (using long polling). You can also send messages from a client to another client (with message server in the middle).

The message server is a standalone app. You must run MsgSrv.exe and MsgCli.Exe (second is a uniGui project).

I was using Delphi XE3 (with generics, class vars, ...), so i have included the .exe, because the message server does not compile in old delphi versions.

For details see the commented screenshot.


Attached File  MsgSrv.png   188.13KB   786 downloads

Attached File  MsgSrv.zip   2.85MB   494 downloads


  • 7

#7669 humane.js notification system for UniGUI

Posted by zilav on 07 March 2012 - 05:50 PM

A simple wrapper class for humane.js library. It doesn't require jQuery.
I didn't implement callbacks because you'd better use UniGui's ShowMessage() for this.

Attached Files

  • 6

#29487 Chart is slow

Posted by sobakava on 19 September 2015 - 06:33 AM

Well, I ended up in this topic to see if I can find anything helpful and informative for me. I didn't have slow chart problem yet but I thought if one day I get this kind of problem, this topic could give me a deeper understanding about what beneaths the unigui charts.


But instead unfortunately after a couple of posts later it seems it turned into an argue with "no reason". So please calm down guys and remember that you are "developers". So develop a peace and keep going. You are both active users in this forum, I learnt much from your topics and we are only a bunch of people that could help each other in the world, we need each other. Of course Unigui's blossom day is coming soon, day by day and we'll have the luxury of arguing with the people we have chosen from thousands(!) :)


Seriously guys, make peace. You are in here nothing but to help each other.  :rolleyes:   B)   -_-

  • 6

#27224 Ribbon Menu

Posted by Dieger on 06 May 2015 - 06:07 PM

Hello everyone,

I am sharing my version of Ribbon Menu (such as Office) and created from various internet examples with ExtJS 4.

I have received several requests over time and I apologize for not having found the time to build something that could be easily understood (my first version was in ExtJS 3 and created from a complex code, out of uniGUI) .

I hope you enjoy, and be involved in the evolution of this example.
(This sample was made with Delphi XE7 and uniGUI Pro



Attached Files

  • 6

#22146 UniExclusive

Posted by Hayri Aslan on 04 September 2014 - 08:31 PM

Dear Friends,


I created some components for my job. 

I am planning to sell that after commercial version of unigui released. 


Created Components List:

  • UniExMap
  • UniExNoty
  • UniExAddClear
  • UniExCombobox 
  • UniExKendoChart
  • UniExWaitMe 
  • UniExMenu
  • UniExTextAreaFullScreen
  • UniExNumberFormatter 
  • UniExDisableF5PageRefresh
  • UniExToggle  

  • UniExMaskedEdit 

To Do List


Demo : http://hayriaslan.net:8079/

Attached Files

  • 6

#21772 DBGRID Action Columns at Design Time

Posted by rullomare on 09 August 2014 - 01:22 PM

Variant of the component Tunidbgrid with Columns Action At design time. 
This new component is the result of a collaboration between myself and Mr. Maikel Bresler. 
the component has been tested with version 0.96... of UniGui and Delphi XE3. 
I do not think that there are problems with other versions of Delphi. 
package BMUiniDbGrid;
  UniGUI17;   // unigui17 = delphi XE3    >>>  Change the package Unigui17 with your version of Delphi                 
Build and install the  package BMuniDBGrid.dpk 
Add the Path (dcu) in Delphi>Tools>Delphi Options>Library 
Have Fun. 
P.Š. if you need a demo program, please let me know. 
with best regards 
Salvatore Marullo

Attached File  Sample1.png   174.45KB   522 downloadsAttached File  Sample2.png   177.87KB   561 downloadsAttached File  sample3.png   150.21KB   538 downloadsAttached File  Sample4.png   416.06KB   528 downloadsAttached File  Sample5.png   357.11KB   462 downloadsAttached File  Sample6.png   384.9KB   315 downloads


Attached File  BMUniDBGrid.zip   4.77KB   181 downloads



  • 6

#19793 Msoft Slider - Create 3D banners

Posted by mohammad on 11 May 2014 - 05:02 PM

Hi all,


Lately we needed to create a promotional banners for a local website and we had two options:
1. Flash banners (.swf)
2. HTML banners (.js based)
The problem with first choise was with smartphones and tablets which didn't support flash especially iOS, so we stick to 2nd choise and we found an amazing frameworks:
The only issue with those frameworks is GUI, there is no GUI tool that let you build banners fast and easy, So we decided to do it and  build a GUI tool for those frameworks.
At this moment we build (alpha version) of 'MSlider' and it's support 'cuteslider' only, we build it using unigui and projects are saved as .xml files, alot of things happens in ClientSide and some in server side.
Alpha version:
  - Create a projects
  - Open and edit existing projects 
  - Add background images
  - Set effect for slides (3D,2D)
  - Set delay for slides
  - Add text
  - Set effect for text (slide, fade)
  - Set delay for text
  - Preview...
  - Publish...
Here you can test it...http://mslider.net/
Some screenshots:









mHmD :-)

  • 6

#18322 uniGUI Mobile for Sencha Touch

Posted by Farshad Mohajeri on 05 February 2014 - 08:26 AM

it makes me laugh ... 2011 had to go out version 1.0 .. 3 years later we are still at 0.94 ... and now mobile version??


So is it a bad thing that we have started mobile development?


Just let me restate some facts:

- The roadmap in 2011 was far from being realistic.

 -Framework architecture in 2011 version was a joke compared to what we have today.

- Version 0.94 is the first version which gives us the liberty to move to Sencha Touch platform. 

- Previous versions were tightly bound to ExtPascal which was limiting us in many ways. ( That said I'm very thankful to ExtPascal, as it gave us the initial courage and power to start the framework and it still remains in the core as an important component)

- It took us three radical architectural changes until we reached version 0.94.


All that said, I agree that transition from beta to commercial took much much longer than expected. There are many reasons behind this delay which I don't want to discuss here right now. I just hope that we can make a fast transition and jump out of beta mode as soon as we can.

  • 6

#18285 UniNoty! A Notification -> Smart, Full Customizable and Callbacks

Posted by Hayri Aslan on 01 February 2014 - 01:54 AM

Hi Dear Friends,


I want to share my new component UniNoty.


It is A Notification -> Smart, Full Customizable and Callbacks


Demo : http://hayriaslan.ne...UniNotyDemo.dll


Also i created lots of component like TuniCaptcha, TUniCssMenu, TUniFormatEdit, TUniMasterEdit, TUniNewButton, TUniNewMenu, TUniNotification, TUniNotifIt, TUniSmartAlert, TUniVKeyboardEdit.....


i will make bundle and share soon.




                        layout: 'top',
			theme: 'defaultTheme',
			type: type,
			text: type, // can be html or string
			dismissQueue: true, // If you want to use queue feature set this true
			template: '<div class="noty_message"><span class="noty_text"></span><div class="noty_close"></div></div                         >',
			animation: {
				open: {height: 'toggle'},
				close: {height: 'toggle'},
				easing: 'swing',
				speed: 500 // opening & closing animation speed
			timeout: 0, // delay for closing event. Set false for sticky notifications
			force: false, // adds notification to the beginning of queue when set to true
			modal: false,
			maxVisible: 10, // you can set max visible notification for dismissQueue true option,
			killer: false, // for close all notifications before show
			closeWith: ['click'], // ['click', 'button', 'hover']
			callback: {
				onShow: function() {},
				afterShow: function() {},
				onClose: function() {},
				afterClose: function() {},
				onCloseClick:function () {}
			 buttons: [
				{addClass: 'btn btn-primary', text: 'Ok', onClick: function($noty) {

					noty({text: 'You clicked "Ok" button', type: 'success'});
				{addClass: 'btn btn-danger', text: 'Cancel', onClick: function($noty) {
					noty({text: 'You clicked "Cancel" button', type: 'error'});

Attached Files

  • 6

#13431 Simple Desktop

Posted by perjanbr on 07 March 2013 - 07:14 PM



I finished a simple example, I hope you all enjoy.


I need help to enhance SimpleDesktop





Jancarlos P. Martins

Defence Informática


Attached Files

  • 6

#23324 10 general design questions...

Posted by Farshad Mohajeri on 21 October 2014 - 03:56 PM

Answers in bold:



Starting a new project with UniGui I want to be sure to understand the main aspects of GUI design with UniGUI. Please correct me if there is something wrong with these statements or if there is general better design of some facts. Thank you!



1. If possible avoid the use of free forms - because they are not framework controlled and the use of variables, (unigui-)controls etc. in these forms are not thread safe.



The only difference between a Free Form and an App Form is that App Form is automatically created for you when you need it. There is no difference in thread-safety.


2. When using an unigui wizzard created application form, the framework controls the thread safe use of variables, (unigui-)controls etc which are part of this application form. So when defining a "myvar"variable in the public part of the application form class, this variable can be accessed around the session which creates the application form, and no further attention has to be turned on shielding it from other sessions.   


Correct. They are naturally thread-safe because you can only access forms and modules which are part of your session


3. Not every third party control which is used in application forms is automatically thread safe - if the control itself is not designed in this matter, there may be problems when using them in an internet application. An example may be printing tools/controls.

Correct. There are two main issues with 3rd party controls:

1) They use global variables which makes them not thread safe.

2) They use VCL controls internally which again is not thread-safe.



4. Because application forms are instances of UniMainModule, every session which creates this form has its own instance of the form, f.e.:   

function Form_Upload1: TForm_Upload1;
  Result := TForm_Upload1(UniMainModule.GetFormInstance(TForm_Upload1));


Correct. UniMainModule keeps track of forms and modules which belongs to that session.


5. Data access components are to be placed in UniMainModule or a Datamodule which is created with the UniGui wizzard, so this Datamodule has also to be an instance of UniMainModule.

Data access components can be placed on both Forms, MainModule or Datamodules which are created with the UniGui wizzard,

Actually it is better to only put the Connection on MainModule and put your Queries on respected Forms. It will help you to save memory if your queries return large data.



6. For data access its ok to put the grid, the query and the datasource on an application form, only the database connection component itself has to placed on the UniMainModule or UniMainmodule controlled Datamodule.


Correct. See above.


7. Application forms never have to be created manually. As soon as something on the application form is accessed UniGui will create the form. So when I want to init some data access on the application form its ok to build a procedure "OpenData" in the application form (assuming query and datsource are on the application form). When calling myAppForm.OpenData f.e. from the MainForm the application form will be created from UniGui and can be shown with myAppForm.show:

procedure TmyAppForm.OpenData


Yes. We should not forget to call show or showModal right after referring the Form name.

The best place to clean up data access then is in the OnClose event of the application form:

procedure TmyAppForm.OnClose




8. When closing the application form with myAppForm.close the form and the ressources are freed UniGui controlled.


When FreeOnClose is True (default) Form is destroyed. Same is true for Free Forms too.


9. It is ok to use some kind of "global variables" as long they are defined in the UniMainModule. So every session has its own set of these (session-)global variables.   


If you define them in MainModule they will not become truly Global, but we can say they are global for that session. You are correct. If you need global variables you must put them in uniMainModule public section.


10. I have a GUI model where in the mainform there are the buttons "customer" and "product". When I click on the "customer"-button, an application form is created. On this application form I have a panel which is the parent of different frames. When first displayed there is a "list"-frame created with a grid which lists the customers. When I want to edit a specific record, I close the "list"-frame and create a "detail"-frame where the detail data can be edited. After posting the data the "detail"-frame is closed and the "list"-frame is created again. Data access components grid, query and datasource for the grid are on the "list"-frame, data access components query and datasource for the data edit components are on the "detail"-frame. They use the same data connection component on the Datamodule. On every creation of a frame I open the queries, when closing a frame I close the queries. The question is: because of using frames (with the panel parent on an application form) and the described data access, is this model still recommended and thread safe?        

There is no thread-safety issue here. Regardless of your visual design, all calls to your session will always run in a single thread (not in same thread though).



  • 5