View RSS Feed

All Blog Entries

  1. How to Add a Chart to Your Visual DataFlex Web Application?

    What do you need to do when you want to enrich your web application with some charts? First of all it is important to find data that let itself nicely present in a chart but you probably have that else you won't be interested in reading this blog. Then you need to decide what kind of chart you would like to use. Do you want a pie, a bar or a line graph? Dealt with this it is time to find a good API, a good tool that you can use. There are many solutions available on the web. For this blog I used ...

    Updated 2-Dec-2013 at 02:28 AM by Vincent Oorsprong (Images enlarged)

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	TopNCustomers.jpg 
Views:	2580 
Size:	161.6 KB 
ID:	4100   Click image for larger version. 

Name:	TopNCustomers Part 1.jpg 
Views:	2239 
Size:	49.1 KB 
ID:	4101   Click image for larger version. 

Name:	Pie Chart.jpg 
Views:	2459 
Size:	103.5 KB 
ID:	4103  
    Attached Thumbnails Attached Images  
  2. DataFlex and SQL Injection

    Are Visual DataFlex projects that use one of the Data Access CLI connectivity kits (DB2 Connectivity Kit, ODBC Connectivty Kit and Microsoft SQL Server Connectivty Kit) vulnerable for attacks described as SQL Injection?

    From time to time we get this question because people read about SQL injection and with the CLI drivers you talk via ODBC to an SQL based server. To answer this question correctly one first needs to understand what SQL injection really is. Let's look what Microsoft ...
  3. Guiding Visitors of Your Website Directly to the Important Page

    Linking from another site to a specific page at your site, informing people about the specific topic at your website in a magazine or an e-mail (newsletter) can be done in different ways.

    One of the ways involves using the full URL like: This works but the downside of such an URL are:
    • The URL is too long
    • People will make typing errors causing them not to go to the desired page
    • If the page is deactivated over time dead links

    Updated 2-Dec-2013 at 02:32 AM by Vincent Oorsprong (Images enlarged)

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	Virtual Directory.jpg 
Views:	1514 
Size:	152.7 KB 
ID:	4043   Click image for larger version. 

Name:	Select Add Folder.jpg 
Views:	1242 
Size:	82.3 KB 
ID:	4044   Click image for larger version. 

Name:	Enter New Folder Name.jpg 
Views:	1600 
Size:	26.8 KB 
ID:	4045  
  4. Specify an Instruction Help Text in the Grid

    Imagine you are an end-user and you have the order entry view open. The screen is empty, what to do now? Of course you need to select an existing order or create a new order before you can go the data entry grid and enter order detail lines, but what if you do not know this? Wouldn't it be nice when the screen gives you some hints and tips? For example a text like: "You can enter this order detail grid after you selected an existing order or created a new order in the top half of the screen."? ...

    Updated 2-Dec-2013 at 02:33 AM by Vincent Oorsprong (Images enlarged)

    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	2011-01-26_165715.jpg 
Views:	1238 
Size:	100.0 KB 
ID:	4018   Click image for larger version. 

Name:	2011-01-26_172520.jpg 
Views:	1198 
Size:	118.5 KB 
ID:	4019   Click image for larger version. 

Name:	2011-01-26_172638.jpg 
Views:	1266 
Size:	119.2 KB 
ID:	4020  
  5. Crystal RDC Interface: Finding the right Properties

    Through Report Designer Component (RDC) you manipulate objects and their properties, and use events and methods available in those objects. You can read more in the Help on the page Understanding the RDC Object Model (under Reference Library | Crystal Reports Development).

    Because of that, there might not be a direct way to change something in cCrystal like it was in the old CrystalReport class, i.e. by simply setting a different property in cCrystal; you will have to find what you ...
  6. How to Display other Image Formats in the cCJGrid

    Visual DataFlex supports bitmaps and icons in the standard controls. If you have other graphic format files (like TIFF, GIF, JPEG, PNG etc) you need to use either an ActiveX object, a DLL that does it for you or use the Graphics Library free available for download. For the CodeJock Report Control based Grids in Visual DataFlex 16.0 and higher it is a different case. This blog tells you how to use the popular graphics formats in the grid.

    When you want to display an image ...

    Updated 1-Sep-2011 at 11:55 AM by Vincent Oorsprong

  7. ESQL: Dealing with Values Retrieved from Nullable Columns

    When a column contains a NULL value, its content is undefined. if you are using Visual DataFlex commands/methods, the Connectivity Kit has ways (e.g. DF_FIELD_IS_NULL) to deal with return values and take care of NULL values for you.

    Now, if you are using Embedded SQL (
    ESQL), you have direct access to what is stored in the SQL backend and will need to take care of NULL values yourself, otherwise you might see gibberish when the value returned is NULL -- and NULLs can be anything! In ...

    Updated 13-Apr-2022 at 10:02 AM by Marcia Booth

  8. The Case of OnIdle

    From time to time the question arises "how can I terminate my program when no activity took place?".

    Visual DataFlex offers two features named DFTIMER and cIdleHandler but both do not really cover the topic. Let us look closer at these two options and find a real solution.

    A Timer (DFTIMER)
    A timer (DFTIMER) fires a message every NN milliseconds no matter there is activity or not. In the list of tables treeview in Database Explorer we use an object of this class ...
  9. How to Get the Size of the Client Area in the CodeJock Era?

    A typical Visual DataFlex Windows application is an MDI application. The MDI contains of a panel with a menu bar, one or more tool bars, a status bar and a gray area called the client area. It is the client area that provides support for MDI children, the (db)Views, (db)ReportViews.

    Prior to Visual DataFlex 12.1 when we introduced the use of CodeJock Commandbars you could retrieve the size of the client area via the GuiSize built-in function call used for the oClientArea object. ...
  10. ESQL: Fetching from Batch Statements

    When using the database Connectivity Kits, developers may choose to use embedded SQL (ESQL) in their applications to take advantage of the database server capabilities and set processing. In ESQL you can execute many different statements either one by one or in batches. So, how can batch statements be used in Visual DataFlex?

    What are Batch Statements
    A batch of SQL statements is a group of two or more SQL statements or a single SQL statement that has the same effect as a group ...
  11. Sequential Reading Data

    We all know DataFlex is a great product to build database applications, most of the data will be entered by end-users and printed or otherwise processed. But what if you need to import data from other manufacturers? What do we have to do?

    Sequential I/O commands
    When we want to read data in a DataFlex application we can make a choice between the commands Read, ReadLn, Read_Block and Read_Hex. Of course before you can read the input stream (usually a file) needs to be opened ...
  12. How to change the internet connection timeout

    When your Visual DataFlex application makes an external call to a webservice the main program waits for its completion. If the request does not return immediately several things can be the cause. Your connection to your ISP can slow, the webserver you try to reach is busy, can be difficult found etc. If you want your application to continue as soon as possible and know (and this is the unknown keyfactor) that particular call should not take more than a couple of milliseconds to complete you can ...
  13. Programmatically find out if UAC is turned ON

    UAC, short for User Access Control, the feature built in Microsoft Windows Vista and higher is turned off by a number of users and developers because they do not like that the operating system asks for permission to write or access certain areas of their environment. Building your applications you are however advised not to do this because sooner or later you will install your not UAC compliant application at a UAC controlled PC and that is not goo.

    How can you find out if UAC is ...
  14. Changing Fonts of the new CJ Grid control

    by , 27-May-2010 at 12:34 PM (Development Team Blog)
    The new Visual DataFlex grid classes in Visual DataFlex 16.0 (cCJGrid, cDbCJGrid, etc) do not expose an interface for setting the grid control's various Fonts. This turned out to be beyond the scope for the VDF 16.0 project, however it is still possible to set all of the control's fonts via the COM interface.

    For example here is how you can modify the default Font used to display data in the Grid's cells: You would write the following event handler in your grid object...
  15. Transferring large strings with web services

    by , 26-May-2010 at 08:00 AM (Development Team Blog)
    The other day I received an interesting question from a developer about [I]argument_size[/I] and web services. Specifically he wanted to create a web service in VDF that accepts a file attachment along with some other metadata for the file. It would look something like this (actual code modified for brevity):

    Struct tAttachment
    String fileName
    String comment
    String fileContent

    Tags: sonny falk
  16. The other side of External_Function

    by , 18-May-2010 at 08:00 AM (Development Team Blog)
    We're continuing the back to the basics theme for advanced VDF developers by visiting the other side of [I]External_Function[/I]. If you haven't done so already, you should [URL=""]read the first part[/URL], it's a prerequisite for understanding what I'm about to talk about here.

    Let's start with a simple DLL written in C++, exporting only one silly function [I]SayHello()[/I], which we'll call from our VDF program. The finished ...
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	hello-project.png 
Views:	2474 
Size:	20.1 KB 
ID:	3809   Click image for larger version. 

Name:	hello-project2.png 
Views:	2361 
Size:	24.0 KB 
ID:	3810   Click image for larger version. 

Name:	hello-project3.png 
Views:	2320 
Size:	12.2 KB 
ID:	3811   Click image for larger version. 

Name:	hello-project4.png 
Views:	2337 
Size:	31.9 KB 
ID:	3812   Click image for larger version. 

Name:	hello-project5.png 
Views:	2314 
Size:	25.2 KB 
ID:	3813   Click image for larger version. 

Name:	hello-project6.png 
Views:	2325 
Size:	1.6 KB 
ID:	3814  
    Attached Thumbnails Attached Files
  17. The New Grids - All About Rows and Columns

    by , 5-May-2010 at 05:23 PM (Development Team Blog)
    The information about row and column changing is still being documented. There are significant changes in the way the new grid works as compared to the old grids. Here is a summary that should help everyone get started.

    Navigation consists of changing columns and changing rows. A navigation event consists of a row change and/or a column change. It is best to think of these as two events.

    [B]Column Change

    [/B]When a column change occurs, events are sent ...
    Tags: grids, john tuohy
  18. Numeric masks and rounding, floating point values and conversions

    by , 3-May-2010 at 08:00 AM (Development Team Blog)
    Frank is [URL=""]asking about a peculiar behavior with numeric masks and rounding[/URL], where it seemingly sometimes rounds the value to the specified number of decimals in the mask, but other times it seems to truncate instead. What's going on? Is this a bug?

    Frank demonstrated the problem in an excellent manner using a tiny program like this:
    Use DfAllEnt

    Object oMain is a Panel ...
  19. Handling Connection Error in your Application

    When using one of the database Connectivity Kits, how can you make your program display its own error message when a connection string is not correct? By default, an error is displayed and the database will pop up a login dialog for users to enter their correct user and password. Or the application may display an unhandled error. Hmm... not what you want to see when using either the login command or SQLConnect method.

    In order to have your application better handle those errors, ...
    Attached Thumbnails Attached Files
  20. In Praise of All Things Idle

    by , 26-Apr-2010 at 08:00 AM (Development Team Blog)
    [FONT=Verdana][SIZE=2]Recent research has suggested that "devil" is actually an old fashioned spelling for "developer". While this does not entirely surprise me, I will leave the theological implication of this to others. What I would like to discuss is how this applies to the old adage "Idle hands are the devilís workshop". Does this really refer to developers and, if so, how can we make idle hands or, more accurately [I]idle handlers[/I] part of our workshop?[/SIZE][/FONT] ...
Page 4 of 8 FirstFirst 1234567 ... LastLast