Home | Company | Products | Partners | Link to us | Forum | Contact | Search

Zyl Soft



See also:






Virtual GPS

ZylGPSReceiver 3.88
Delphi & C++Builder Component

ZylGPSReceiver is a Delphi & C++Builder component collection that communicates with a GPS receiver (Global Positioning System).
It returns latitude, longitude, altitude, speed, course, heading and many other useful parameters of the current position and the parameters of the satellites in view. The component is extended to calculate distances and make conversions between different measurement units.

This component works with any NMEA 0183 compilant GPS receiver connected to one of the serial ports. NMEA 0183 (or NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, Anemometer (winds speed and direction), gyrocompass, autopilot, GPS receivers and many other types of instruments. It has been defined by, and is controlled by, the US-based National Marine Electronics Association.
The component supports GPS (USA), GLONASS (Russia), BeiDou (China), Quasi-Zenith (Japan) and Galileo (EU) satellites, but theoretically you can use for any other satellite as well.
You can use it also with USB, IrDA and Bluetooth devices, because these devices have a driver that redirects the input from the USB, IrDA or Bluetooth port to a virtual serial port (you can check it in System/Device Manager/Ports). If your USB device is not provided with such a driver, then use a USB controller whose vendor provides a virtual serial port driver, such as FTDI or use a USB/RS-232 adapter. For Garmin receivers you have to install Spanner software.

To connect to an Android smartphone's GPS, you can download GPS2Bluetooth application from playstore and connect your phone to your PC through bluetooth (GPS2BT service).

The component collection contains more components. The following image displays the object model:

ZylCustomGPSReceiver is a custom Delphi & C++Builder component, which is designed to be the base class of any kind of GPS receivers. This component contains an NMEA decoder engine and it works with any NMEA compatible GPS receiver.
You can extend this class easily to process NMEA data from any kind of sources as files, sockets, web services and so on.

ZylGPSReceiver (ZylSerialGPSReceiver) is an extension of ZylCustomGPSReceiver, which processes NMEA data from serial, USB or Bluetooth ports. It's thread based, which means that the reading process is handled by a different thread.

ZylUdpGPSReceiver is an extension of ZylCustomGPSReceiver, which processes NMEA data from an UDP socket. It uses Indy 9 socket components (http://www.indyproject.org), which is preinstalled in Delphi 6 and later. You can find the full source code of this component in the download package.
Indy 9 is usually used with Delphi 4, Delphi 5, Delphi 6, Delphi 7, C++ Builder 4, C++ Builder 5, C++ Builder 6, later versions using Indy 10.

ZylUdp10GPSReceiver is an extension of ZylCustomGPSReceiver, which processes NMEA data from an UDP socket. It uses Indy 10 socket components (http://www.indyproject.org), which is preinstalled in Delphi 2005 and later. You can find the full source code of this component in the download package.

ZylFileGPSReceiver is an extension of ZylCustomGPSReceiver, which processes NMEA data from a text file.

ZylGpxGPSReceiver is an extension of ZylCustomGPSReceiver, which processes data from GPX files.

ZylNMEADecoder is an extension of ZylCustomGPSReceiver, which decodes NMEA data from any source, but you have to feed it with NMEA sentences programatically from the Decode method.

ZylNMEAEncoder is a class to encodes position data to NMEA format.

With this components you will be able to develop robust GPS Delphi or C++Builder applications. Possible applications can be:

* Vehicle Navigation
* Marine Navigation
* Fleet Management
* Emergency Locator
* Geographic Surveying
* AVL and Locating-Based Services
* Personal Navigation or touring devices
* Tracking devices
* Sporting and Recreation
* Farming
* Time synchronization

With ZylGPSReceiver you can also create web distributed applications.
The main idea behind is very simple:

* Create a desktop application or a Windows service that will run locally on the server, collecting gps-data from the receiver and saving them in the database.
*Create a web service that will provide the requested gps-data from the database to the webpages.

The Global Positioning System (GPS) is a worldwide radio-navigation system formed from a constellation of 24 satellites and their ground stations.
GPS uses these satellites as reference points to calculate positions accurate to a matter of meters. In fact, with advanced forms of GPS you can make measurements to better than a centimeter!
In a sense it's like giving every square meter on the planet a unique address.
GPS receivers have been miniaturized to just a few integrated circuits and so are becoming very economical. And that makes the technology accessible to virtually everyone.
These days GPS is finding its way into cars, boats, planes, construction equipment, movie making gear, farm machinery, even laptop computers, tablets, mobile phones or smart watches.
GPS technology has matured into a resource that goes far beyond its original design goals. These days scientists, sportsmen, farmers, soldiers, pilots, surveyors, hikers, delivery drivers, sailors, dispatchers, lumberjacks, fire-fighters, and people from many other walks of life are using GPS in ways that make their work more productive, safer, and sometimes even easier.

The demo version is fully functional in Delphi and C++Builder IDE, but it displays a nag dialog (the licensed version will, of course, not have a nag dialog and will not be limited to the IDE). The package includes demo programs for Delphi and C++Builder and a help file with the description of the component.

Supported Operating Systems:
Windows 95/98/Me/NT/2000/XP/Server2003/Vista/Server2008/7/8/Server2012/10/11
Available for: Delphi 12 Athens (Win32 & Win64), Delphi 11 Alexandria (Win32 & Win64), Delphi 10.4 Sydney (Win32 & Win64), Delphi 10.3 Rio (Win32 & Win64), Delphi 10.2 Tokyo (Win32 & Win64), Delphi 10.1 Berlin (Win32 & Win64), Delphi 10 Seattle (Win32 & Win64), Delphi XE8 (Win32 & Win64), Delphi XE7 (Win32 & Win64), Delphi XE6 (Win32 & Win64), Delphi XE5 (Win32 & Win64), Delphi XE4 (Win32 & Win64), Delphi XE3 (Win32 & Win64), Delphi XE2 (Win32 & Win64),
Delphi XE, Delphi 2010, Delphi 2009, Delphi 2007, Delphi 2006, Delphi 7, Delphi 6, Delphi 5, C++Builder 12 Athens (Win32 & Win64), C++Builder 11 Alexandria (Win32 & Win64), C++Builder 10.4 Sydney (Win32 & Win64), C++Builder 10.3 Rio (Win32 & Win64), C++Builder 10.2 (Win32 & Win64), C++Builder 10.1 (Win32 & Win64), C++Builder 10 (Win32 & Win64), C++Builder XE8 (Win32 & Win64),
C++Builder XE7, C++Builder XE6, C++Builder XE5, C++Builder XE4, C++Builder XE3, C++Builder XE2, C++Builder XE, C++Builder 2010, C++Builder 2009, C++Builder 2007, C++Builder 2006, C++Builder 6, Turbo Delphi, Turbo C++
- The Delphi 2006 version is fully compatible with Turbo Delphi
- The C++Builder 2006 version is fully compatible with Turbo C++
- Delphi for .NET support was abandoned. You can use our .NET components instead, which are written in C#.

-If you have a previous version of the component installed, you must remove it completely before installing this version.
-Unzip the zip file and open the ZylGPSRecPack.dpk file in Delphi (ZylGPSRecPack.bpk or ZylGPSRecPack.cbproj file in C++Builder), compile and install it
and add to Tools/Environment Options/Library (in older Delphi/C++Builder menu) or Tools/Options/[Language]/Delphi Options/Library/Library Path (in newer Delhi menu) or Tools/Options/[Language]/C++ Options/Paths and Directories/Library Path & Include Path (in newer C++Builder menu, in C++Builder 10 or later, set them also for the classic compiler) the path of the installation (where the ZylGPSReceiver.dcu file is located). The component will be added to the "Zyl Soft" tab of the component palette. After you have the component on your component palette, you can drag and drop it to any form, where you can set its properties by the Object Inspector and you can write event handlers selecting the Events tab of the Object Inspector and double clicking the preferred event.
If you still have problems in C++Builder, running an application, which contains the component, then open the project and in C++Builder menu, Project/Options/Packages and uncheck "Build with runtime packages".

-another possible problem with C++Builder: Go to Project options, C++ Linker, and uncheck Link with dynamic RTL.

-It is indicated to use this component with "Stop on Delphi exception" option deactivated. You can do this from Delphi / C++Builder menu, "Tools/Debugger Options/Language Exceptions/Stop on Delphi exceptions" in older versions or Tools/Options/Debugger Options/Embarcadero Debuggers/Language Exceptions/Notify on language exceptions in newer versions, otherwise you will have a break at all the handled exceptions.

64-bit platform:
Delphi/C++Builder 64-bit support is only for runtime, so you have to use it in the folllwing way:
Install the 32-bit version of the component as it described above and add to Tools/Options/Delphi Options/Library/Library Path, selected platform: 64-bit Windows the path of the Win64 subfolder of the component.
Before compiling the host application for 64-bit Windows, right click on Target Platforms, Add Platform and add 64-bit Windows (Make the selected platform active). If you compile the application in this way, it will be a native 64-bit application.

Help file:
If you can't open the help file:
-right-click on the help.chm file to get the properties
-on the bottom it says: “This file came form another computer....”
-push “Unblock” next to this text
-now the help.chm files opens as all other help files

What's new:
- OnHeadingChange event fix
- New method: DrawSatellitesSignal
- New method: DrawCompassWithSkin
- DrawCompass method improvements
- support for RAD Studio 12 Athens

- new method: ReadStringUpToEndChars
- new method: ReadBuffer

- new component class: ZylNMEAEncoder to encode position data to NMEA format
- new component: ZylGpxGPSReceiver to decode gpx file format
- new method: IntToCommPort
- ZylFileGPSReceiver - made it multithreading

- new event: OnReconnect
- support for Delphi/C++Builder 11 Alexandria

- support for Delphi/C++Builder 10.4 Sydney
- new methods: DetectAllGPS, FastDetectAllGPS, GetAverageSatelliteSnr, ResetIdleState

- support for Delphi/C++Builder 10.3 Rio
- fault detection fix when CloseWhenLineStatusIsZero
- GPS detection optimization

- new property: NmeaSentencePrefix
- GPGNS sentence support
- GPHDG support

- GPS compass support
- new auto reconnect feature
- improved fault detection
- Galileo and Quasi-Zenith support
- new event OnFault
- gpx export
- support for Delphi/C++Builder 10.2 Tokyo
- support for Delphi/C++Builder 10.1 Berlin
- support for Delphi/C++Builder 10 Seattle
- support for Delphi/C++Builder XE8
- C++Builder Windows 64-bit support
- GLONASS support
- BEIDOU support
- 64-bit support
- fixes
- more standard baud rates supported
- new Detect methods
- new OnSend event

ZylGPSReceiver - Delphi & C++Builder Component
License comparision
Benefits Single Developer License Single Developer License with Source Code Site License
no nag screen
no IDE limitation
royalty free
number of developers 1 1 unlimited
source code included  
free support by e-mail
free upgrade on req. 1.5 years 1.5 years 1.5 years
  $175.00   $437.50   $699.99  
Customer Care Center Buy Now! Buy Now! Buy Now!
How to upgrade?
License Agreement
Download Now!
- Sales tax/VAT is not included in the prices above and it differs from country to country.
- All of our products are delivered via ESD (Electronic Software Delivery) only. After purchase you will receive the full version by e-mail.
- All orders are final, so please assure that you buy what you need, checking the fully functional trial version first!

Copyright © 2003 - 2023 by Zyl Soft.
All rights reserved.