NiceLabel Automation Unleashed

In beginning of April, NiceLabel Automation was released. For the past six months or so I have been working on a book about this great product. So here it is: NiceLabel Automation Unleashed. You can download it right now from the NiceLabel web site.

NiceLabel Automation Unleashed

Posted in Books, NiceLabel Automation Tagged with: ,

R.I.P. Norman Joseph Woodland

Norman Joseph Woodland, one of the inventors of the barcode, died on Sunday, December 9th, 2012. He was 91 years old.

More about his life:

Posted in Misc

What is new in NiceForm 6.0?

Besides quite a few bug fixes, there were several changes made in NiceForm 6.

New Look

First thing you will notice when you start NiceForm is the new look. By default NiceForm now shows large icons. Also the user interface color was changed. Resize handles that are shown when you select an object now have a more modern look. Also “Transformations” menu is now renamed to “Arrange”.

Below you can see two screenshots of NiceForm 6 (first) and NiceForm 5 (second screenshot).

NiceForm 6

NiceForm 5

Selecting Objects

Object selection with the mouse works differently now than in NiceForm 5. Now you have to completely encompass the object while holding the right mouse button down, if you want to select it. In previous versions it was enough if you covered just a part of the object. If you still want to use the old style of selecting objects, hold CTRL button while selecting.

Keyboard Shortcut Changes

Keyboard shortcuts for moving, resizing objects and moving between objects during form design have changed.

Keyboard Shortcut Action
TAB Move between objects.
Left Move object left for X number of pixels, where X is defined as X grid size in the Options dialog. By default object is moved by 8 pixels.
Right Move object right for X number of pixels, where X is defined as X grid size in the Options dialog.
Up Move object up for X number of pixels, where X is defined as X grid size in the Options dialog.
Down Move object down for X number of pixels, where X is defined as X grid size in the Options dialog.
Ctrl + Left Move object 1 pixel to the left.
Ctrl + Right Move object 1 pixel to the right.
Ctrl + Up Move object 1 pixel up.
Ctrl + Down Move object 1 pixel down.
Shift + Left Decrease object width for X pixels, where X is defined as X grid size in the Options dialog.
Shift + Right Increase object width for X pixels, where X is defined as X grid size in the Options dialog.
Shift + Up Decrease object height for X pixels, where X is defined as X grid size in the Options dialog.
Shift + Down Increase object height for X pixels, where X is defined as X grid size in the Options dialog.
Ctrl + Shift + Left Decrease object width for 1 pixel.
Ctrl + Shift + Right Increase object width for 1 pixel.
Ctrl + Shift + Up Decrease object height for 1 pixel.
Ctrl + Shift + Down Increase object height for 1 pixel.

Form Properties Changes

Form can now be configured to prevent user from closing the form (in run mode) by clicking the Close (x) button in the top right corner of the window. Additionally form can also be configured to prevent user from resizing form in the run mode so it always has a fixed size.

Form Properties

Both of these settings can be configured on the “Window” page in the “Form Properties” dialog. As you can see from the screenshot of the form opened in run mode, the Close button is disabled, and the buttons for minimizing and maximizing window are not visible anymore.

Form in run mode with disabled Close button

New Events

Picture, Preview and Text objects now support “On Mouse Enter” and “On Mouse Leave”  events. This means you can execute an action when mouse moves over an object or when mouse is no longer over the object. This functionality allows form designer to easily create more dynamic forms. For example a description text can be shown when user moves the mouse cursor over a picture, or a picture can be changed when mouse is over it and again restored when the cursor is no longer over the object.


Variable Button Title

You can now connect “Title” property of the Button object to a variable. This means that every time the connected variable changes it’s value, the title of the button will also change to the current value of that variable.

Button Properties - Variable Title

Changes to Actions

Execute SQL statement” action was changed to allow user to define the execution mode for the SQL statement. This change was made because it is sometimes tricky to correctly determine how the SQL should be executed. Three execution modes are available:

  • Automatic: Execution mode is automatically determined by analyzing the SQL statement.
  • Returns set of records (SELECT): Select this mode if your SQL statement returns a set of records.
  • Does not return set of records (INSERT, DELETE, UPDATE): If SQL statement inserts, deletes or updates records in the database, then you should select this option.

Execute SQL statement - Execution mode

New Form Wizard

Forms created with “New Form Wizard” now have a different look with a footer at the bottom (where you can select printer, define it’s settings, enter quantity and print) and also some more functionality.

When new form is now created it already has “On Form Close” and “On Form Load” events with two actions defined. These actions automatically save selected printer when form is closed and load it when form is opened in run mode. Also several variables that are needed for the described functionality are added.

NiceForm - Actions defined in the "On Form Load" event

New Samples

NiceForm 6 comes with a huge collection of sample form “applications” . All samples are by default installed to "c:\Program Files (x86)\EuroPlus\NiceLabel 6\Samples\Forms" (if you are using 64-bit system) or to "c:\Program Files\EuroPlus\NiceLabel 6\Samples\Forms" (if you are running NiceForm on 32-bit operating system).

Open “Menu form.xff” in run mode to browse through sample forms for different industries. Below you can find some screenshots of those samples.

NiceForm Samples - Main Menu

NiceForm Samples - Care Labels / Tags

NiceForm Samples - Logistics

NiceForm Samples - Healthcare

NiceForm Samples - Chemical

I hope you find this information helpful.

Posted in NiceForm Tagged with: , , , , ,

How can I calculate week number and year in Python in NiceForm?

Sometimes you need to have a year and/or week number on a label or in a form. The following script calculates both.

import sys
if sys.platform == 'silverlight':
    import System
    from System.Globalization import *
    culture = System.Globalization.CultureInfo.CurrentCulture;
    dt = System.DateTime.Now
    dfi = System.Globalization.DateTimeFormatInfo.CurrentInfo;      
    cal = dfi.Calendar;
    WeekNumber.Value = cal.GetWeekOfYear(dt, dfi.CalendarWeekRule, dfi.FirstDayOfWeek).ToString()
    fullYear = dt.Year.ToString()
    Year.Value = fullYear[2:4]
    from datetime import datetime
    dt =
    WeekNumber.Value = dt.isocalendar()[1]
    Year.Value = dt.isocalendar()[0]

The Python script should work in both NiceForm on the desktop and in NiceLabel Portal and NiceLabel Breeze in the web browser.

When designing form in NiceForm make sure you have changed scripting language to Python in the “Form Properties” dialog box (see screenshot below). You also need to have two variables defined in the form: WeekNumber and Year. You can put the code in the “On Click” event of the button by using “Execute script” action.

Form Properties - Scripting Language 

Posted in NiceForm, NiceLabel Breeze, NiceLabel Portal Tagged with: , , , ,

Label Structure 2.9.5

New version of Label Structure has been available for download for a few days now. Several changes have been made:

  • Label Structure now supports NiceLabel 5 and NiceLabel 6. If you have both versions installed on your computer, Label Structure will use version 6 of NiceLabel to get information about labels.
  • Information about database is displayed if you double click the database in the Databases list.

Label Structure - Database Properties

  • If label is using a form for printing you can now see path to the form file in the Label Info section.

Label Structure - Form name

  • For thermal printers unit of speed is displayed next to the Speed field in the Label Info section.
  • Close button was added to the VBScript window. This window is shown if you double click Visual Basic Script function in the Functions section.


  • Several minor bugs were fixed.
Posted in NiceLabel Tagged with: , , , ,