Posts

Showing posts with the label Delphi

Swelio 1.5 - Freeware Belgian eID card SDK

Image
The new release of Swelio - freeware Belgian eID card SDK is available for download . Whats new in this release: * Fixed some bugs in C++ code * Updated C++ documentation * Added Delphi documentation * Added Microsoft .NET binding The C# source code of the .NET binding included. The library supports AnyCPU, x86 and x64 projects. It is compatible with .NET Framework 2.0 - 4.5 and tested with all Windows versions starting from Windows XP. The provided assembly was compiled for .NET Framework 2.0 using Microsoft Visual Studio 2008, but the project can be easily upgraded to the more recent versions of the .NET Framework and Visual Studio. It was done to cover more possible configuration, because the downgrade of the Visual Studio project is not possible. The sample project is also provided. Please leave your comments or write a review to help me improve the quality and functionality of the Swelio SDK. If you found a bug - please report it to me using the contact form . The...

Introducing Swelio - new library for Belgian eID cards

The freeware Belgian eID cards access library called Swelio is available for download:  https://github.com/perevoznyk/swelio-sdk Features No external dependencies x32 and x64 versions All functions have Unicode and Ansi version Simple to use, easy to embed in any programming language C++ and Delphi SDK with samples and documenation are included Works in Windows XP - Windows 8 Provides 256 different functions QR codes generation Export card data to XML Multiple readers support Exports photo in different graphical formats No eID Middleware required Hash functions and encryption supported Check of the pin code Can create and verify digital signatures Many other useful things... The new version of this blog is available on  https://perevoznyk.wordpress.com

EIDNative library version 3.0 is released

EIDNative - the Belgian eID card access library version 3.0 is available for download. Now it supports x64 and x32 Windows and can be used from Windows XP to Windows 8. This is the last release of the EIDNative library and it will be not updated in the future, because I made the new more advanced and powerful library for reading electronic id cards and the new library will replace EIDNative. The new version of this blog is available on  https://perevoznyk.wordpress.com

Quricol 2.0 - QR Code generator

The version 2.0 of Quricol - the open source freeware QR code generator library is available for download.  Download :  https://github.com/perevoznyk/quricol Based on qrencode library version 3.4.2 Added Visual Studio project file and external libraries for easy rebuild of quricol.dll. This was asked by  Carlos Gutierrez Added possibility to specify the background and foreground colors of the image Removed reference to qrencode.h from quricol.h header file. Now you have to include only one header file to your C++ project Updated Delphi library, included new demo project Compatible with Ansi and Unicode Delphi versions Can be used with 32 and 64 bit Delphi projects Updated Delphi documentation

Krento becomes Open Source

The time has come for KRENTO to be released as open source .You can find the source code on Google Code site: https://code.google.com/p/krento After 4 years of hard work I understood that I can't continue the development of such a big project alone. I hope that other developers will show the interest of giving the boost to this project. More information about Krento project is available on http://users.telenet.be/serhiy.perevoznyk/krento.html

New release of Quricol

The new version of Quricol library is available for download. Download :  https://github.com/perevoznyk/quricol Update from 07.05.2012 The error correction level is changed to high.

Update for Quricol library from Krzysztof Michalowski

Krzysztof Michalowski modified the code to load library dynamically. This allows you to run a program when there is no library. Here is the code provided to me by Krzysztof. unit QuricolCode; interface uses Windows, SysUtils, Classes, Graphics, Dialogs; type TQRCode = class public class procedure GenerateBitmap(const FileName : string; const Text : string; Margin : integer = 4; PixelSize : integer = 3); class procedure GeneratePng(const FileName : string; const Text : string; Margin : integer = 4; PixelSize : integer = 3); class function GetBitmap(const Text : string; Margin : integer = 4; PixelSize : integer = 3) : TBitmap; class procedure GetPng(Stream : TStream; const Text : string; Margin : integer = 4; PixelSize : integer = 3); end; implementation { TQRCode } class procedure TQRCode.GenerateBitmap(const FileName, Text: string; Margin, PixelSize: integer); type TGenerateBMPWProc = procedure (fileName: PWChar; text : PWCh...

ANSI version of the Quricol Delphi library

Last year I published the Quricol library for Delphi 2010 or better, but some users still need the support for older Delphi versions. As a result I made an update to Quricol library with support not only the Unicode, but also ANSI Delphi code. //=============================================================================== // Copyright (c) Serhiy Perevoznyk. All rights reserved. // THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY // OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT // LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND // FITNESS FOR A PARTICULAR PURPOSE. //=============================================================================== unit QuricolCodeAnsi; interface uses Windows, SysUtils, Classes, Graphics; type TQRCode = class public class procedure GenerateBitmap(const FileName : string; const Text : string; Margin : integer = 4; PixelSize : integer = 3); class procedure GeneratePng(c...

Quricol Delphi sample

Update 11.09.2013: Quricol 2.0 is available for download. More information about this version on http://delphi32.blogspot.com/2013/09/quricol-20-qr-code-generator.html program QuricolDemo; {$APPTYPE CONSOLE} uses SysUtils, Graphics, Classes, QuricolCodeAnsi in 'QuricolCodeAnsi.pas'; var bmp : TBitmap; MS : TMemoryStream; begin try //Generate Windows bitmap and save to file TQRCode.GenerateBitmap('delphi1.bmp', 'http://delphi32.blogspot.com'); //Generate PNG image and save to file TQRCode.GeneratePng('delphi1.png', 'http://delphi32.blogspot.com'); //Generate TBitmap bmp := TQRCode.GetBitmap('http://www.krento.net'); bmp.SaveToFile('delphi2.bmp'); //Generate PNG to the memory stream MS := TMemoryStream.Create; TQRCode.GetPng(MS, 'http://www.krento.net'); MS.Position := 0; MS.SaveToFile('delphi2.png'); MS.Free; ...

Quricol - QR code generator library

Image
Quricol is an open source freeware QR code generator library for C++, Microsoft .NET and Delphi based on qrencode - QR Code encoder by Kentaro Fukuchi.The library contains methods to save the generated image to Bitmap or PNG file or generate images on-fly and save it to the stream. Both 32 and 64 bits compiled versions available along with source code. Download :  https://github.com/perevoznyk/quricol A QR code (abbreviated from Quick Response code) is a type of matrix barcode (or two-dimensional code).

Adding Windows 7 Jump List to a Delphi 2010 application

Image
Recently I decided to update one of my Delphi applications and make it more shiny when running on Windows 7. I looked up in the list of the new Windows 7 features and selected the Windows 7 taskbar Jump List as a nice feature for my application. As of Windows 7, the taskbar has been extended with a possibility to create a list of destinations and common tasks associated with an application.This is the application's Jump List. The Jump List is available whether the taskbar button is in a launcher state (the application isn't running) or whether it represents one or more windows. As a result of this work I made a Delphi 2010 library for easy manipulating of Windows 7 Jump List. You can download the full source code here: http://1drv.ms/1iWeIDJ The Jump List class is similar to Microsoft .NET 4.0 JumpList class TJumpList = class sealed ... public constructor Create; destructor Destroy; override; procedure Clear; procedure AddToRecentCategory(ItemPath...

Delphi class for managing file associations

File associations provide a straightforward and useful way for users and developers to customize the Shell's treatment of defined file types. Application developers can use file associations to link an application to one or more desired file types, and customize the Shell's treatment of that application's file type. For example, when the application installs, it can check for the existence of the appropriate file associations, and either create or override them as appropriate. The file association can then cause the Shell to display custom icons for files of the given types. The file association can also control how the Shell interprets user input for a file of a given type. For example, when a user double-clicks a file, the Shell launches the application and uses it to open the file. The following Delphi class can be used to associate the application with the given file extension and compatible with Windows XP, Vista and Windows 7. // --------------------------------...

Detecting file changes using file watching thread

An application can monitor the contents of a file by using change notifications. unit FileWatch; interface uses Windows, SysUtils, Classes; type TFileWatch = class(TThread) private FFileName : string; FOnFileChanged: TNotifyEvent; FHandle : THandle; FLastTime : TFileTime; FActive : boolean; procedure ReleaseHandle; procedure AllocateHandle; procedure SetFileName(const Value: String); protected procedure Execute; override; procedure Notify; public constructor Create; destructor Destroy; override; procedure Suspend; procedure Resume; procedure Reset; published property OnNotify: TNotifyEvent read FOnFileChanged write FOnFileChanged; property FileName: String read FFileName write SetFileName; property LastTime: TFileTime read FLastTime write FLastTime; property Active: boolean read FActive write FActive; end; implementation resourcestring SErrAllocHandle = 'Could no...

Run an application under a specific user account

program RunButAs; {$APPTYPE CONSOLE} {$R *.res} uses Windows, SysUtils; var User, Password, Params : WideString; sUser, sPassword : string; function CreateProcessWithLogonW( lpUsername : LPCWSTR; lpDomain : LPCWSTR; lpPassword : LPCWSTR; dwLogonFlags : DWORD; lpApplicationName : LPCWSTR; lpCommandLine : LPWSTR; dwCreationFlags : DWORD; lpEnvironment : pointer; lpCurrentDirectory : LPCWSTR; var lpStartupInfo : TStartupInfoW; var lpProcessInfo : TProcessInformation ) : boolean; stdcall; external 'Advapi32.dll'; procedure ShowHelp; begin writeln('Run an application under a specific user account'); writeln('Copyright (c) 2009, Serhiy Perevoznyk'); writeln; writeln('Usage : ' + ExtractFileName(ParamStr(0)) + ' <user name=""> [<password>] <command line="">'); halt(1); end; const LOGON_WITH_PROFILE = 1; var si : TStartupInfoW; pi : TProcessInformation; hUserToken:...

PHP4Delphi comeback: version 7.2 released

Today I made a new release of PHP4Delphi . Download version 7.2: http://sourceforge.net/projects/psvlib/files/PHP4Delphi/PHP4Delphi%207.2/php4delphi.7.2.zip/download  Some time ago the development of PHP4Delphi was frozen, but meanwhile I received a lot of questions related to compatibility with latest versions of Delphi and PHP. Finally I decided to make a new release with support of Delphi starting from Delphi 5 till Delphi 2010 and PHP 5.3.0 (both releases for Visual Studio 9 and Visual Studio 6).

PHP4Delphi vs Delphi for PHP

It's the real Comedy of Errors :)  Recently I looked in Google and was surprised how many links pointed to one of the products or the name is mentioned somewhere on the forum when the author means another product. I do understand now CodeGear's point of view (see my second post), but the situations remains the same. I feel that mostly PHP developers use wrong name, because Delphi developers know the difference between "Delphi for PHP" and PHP4Delphi. The best description of this disambiguation was given by Jonathan Benedicto: "Delphi For PHP can run Delphi code, because Delphi For PHP can run PHP code and because PHP code can run Delphi code. This is because PHP can run Delphi code, because a PHP extension can be written in Delphi, using PHP For Delphi's PHP extensions development framework. So, using Delphi For PHP, which, written in Delphi, runs PHP code, using PHP For Delphi, that PHP code, running in Delphi For PHP, can call a PHP extension being PHP...

PHP4Delphi and Delphi for PHP

Image
Delphi for PHP uses PHP4Delphi  I know many commercial products that use PHP4Delphi, but the fact that it used by my favorite company is most important for me. For more information about Delphi for PHP please visit Embarcadero site .

Read SIS card from Delphi

Image
Here is a simple smaple of reading SIS card data using EIDNative library from Delphi application. program SisCardRead; {$APPTYPE CONSOLE} uses Windows, SysUtils, Classes, SISCard in '..\SISCard.pas', EIDNative in '..\EIDNative.pas', EIDCard in '..\EIDCard.pas'; type TManagerProc = procedure; stdcall; TManagerErrorProc = procedure(ErrorCode : cardinal); stdcall; PManagerData = ^TManagerData; TManagerData = record CardInserted : TManagerProc; CardActive : TManagerProc; CardRemoved : TManagerProc; CardInvalid : TManagerProc; ReaderWaiting : TManagerProc; Error : TManagerErrorProc; end; //callback functions procedure DoCardInserted; stdcall; begin writeln('Card inserted'); end; procedure DoCardActive; stdcall; begin writeln('Card active'); end; procedure DoCardRemoved; stdcall; begin writeln('Card removed'); end; procedure DoCardInvalid; stdcall; begin writeln(...

Delphi Museum: My first public component

Recently I found one of my first public available Delphi components TspdbRecnum, developed in 1998 for Delphi 1. It's still available on Torry.net website: http://www.torry.net/db/other/db_tables/spbdrec.zip After I published a lot of components that was downloaded more than 200 000 times :)

Belgian eID card access SDK

Image
EIDNative Library is a freeware SDK for Belgian Electronic ID Card. http://users.telenet.be/serhiy.perevoznyk/download/EIDLibrarySetup.zip EIDNative Library includes native API for: * Microsoft .NET * Native Win32 * Visual Basic 6.0 and VBA * Java (only Windows platform) and supports the following programming languages: * All .NET languages (C#, Visual Basic .NET, Delphi .NET, etc...) * Visual C++ * Visual Basic 6.0 * Visual Basic for applications (Microsoft Office) * Delphi * Java Demo projects are included for every supported language. EIDNative Library implements API for every supported language using target language. For example,.NET version is written in C#, Delphi version is written in Delphi and Java version written in Java without using COM or ActiveX. EIDNative library is a first freeware solution for working with Belgian EID cards that compatible with official "Belgian eID Middleware", but not require it. All applications developed using EIDNative Library will run d...