VI

Delphi

ZylGPSReceiver 3.74

ZylGPSReceiver is a Delphi & C++Builder component collection that communic...

Description

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 4 components. The following image displays the object model:



ylCustomGPSReceiver 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.
Supported NMEA sentences: GPGLL, GPGGA, GPVTG, GPRMC, GPGSA, GPGSV, GPZDA, GPMSS, GPAAM, GPRMB, GPBWC, GPWPL, GPRTE, GPXTE, GPHDT, GPHDM

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.

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.

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.
Soon GPS will become almost as basic as the telephone. Indeed, at Trimble, we think it just may become a universal utility.
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

Available for: 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 2005, Delphi 7, Delphi 6, Delphi 5, 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, C++Builder 5, Turbo Delphi, Turbo C++

Remarks:
- 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#.
Installation:
If you have a previous version of the component installed, you must remove it completely before installing this version. To remove a previous installation, proceed as follows:
-Start the IDE, open the packages page by selecting Component - Install Packages
-Select ZylGPSRecPack package in the list and click the Remove button
-Open Tools - Environment Options - Library and remove the library path pointing to ZylGPSReceiver folder
-Close the IDE
-Browse to the folder where your bpl and dcp files are located (default is $(DELPHI)ProjectsBpl for Delphi, $(BCB)ProjectsBpl for C++ Builder). -Delete all of the files related to ZylGPSReceiver
-Delete or rename the top folder where ZylGPSReceiver is installed
-Start regedit (click Start - Run, type "regedit.exe" and hit Enter). Open the key HKEY_CURRENT_USERSoftwareBorland\Palette and delete all name/value items in the list related to ZylGPSReceiver. ( is either "Delphi" or "C++Builder", is the IDE version you have installed)

-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/Delphi Options/Library/Library Path (in newer Delhi menu) or Tools/Options/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:
- new event OnFault
- gpx export
- 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

Additional Information