Implement Declares with Xojo on Windows (RBL-0056)

$15.99
0 ratings

Windows Declare Version 2.5 has just been finished with more examples, more constants, more data, more explanations, updates from ANSI to Unicode, all Windows 10 compatible, both 32-bit and 64-bit compatible, and updated to Xojo 2017 r1.1. Version 1.x of the Declares book has been impressive and has had many updates for programmers. With the release of Xojo 64-bit debugger coming soon, the declares also needed updating.

Xojo provides a RAD (Rapid Application Development) environment because it protects the user from the Operating System. Xojo has many helpful functions, and declares add to this existing toolbox.Tapping into the Operating System directly with Declares opens up almost all of the options available for a program - but you are also out of the protection of the safe IDE (Integrated Development Environment) of Xojo. With the ability to change anything with the program or operating system, improper code also provides the ability of a crash. This is written for intermediate and advanced programmers of Xojo.

Thanks to Julian Samphire for work on the 64-bit version of the ChooseColor example and for his comprehensive list of Xojo Data Type Conversions.

All examples have been converted to both 32-bit and 64-bit versions. This book is Version 2.2 (June 2017).

This book provides many examples that are converted from C++ functions to Xojo. Although there are many Visual Basic examples that can be converted, vb declare example are becoming outdated, have different parameters, or contain misinformation. For these reasons converting from C++ to Xojo is a long-lasting alternative and which this book provides many descriptions, reasons, references, and working examples for Xojo declares.There are more than 15 chapters and contains over 400 pages with over 80 example programs.

Examples include creating controls, a new window, GDI, Pens, brushes, Structures, Files, LoWord, Audio, play video, and much more. Many screenshots have been added to show the results of the code with an index to help find topics quickly.

Screen grab of the ChooseColor Dialogue Box example 15-1:

<img alt="ChooseColor Dialogue Box example in chapter 15" src="images/rbl-0056-example15-1.png">

Play a Video (MPEG screen grab of video shown):

<img alt="playing a video example" src="images/rbl-0056-videoexample.png">

Play an Audio File with details:

<img alt="playing audio example" src="images/rbl-0056-16-3audio.png">


New to Version 2.7 – October 2018

* Added numerical MemoryBlock to Structure conversion (Example24-5) – 32-bit and 64-bit compatible

* Retrieve the MemoryBlock address (Example 24-6) – 32-bit and 64-bit compatible

* Variable Length string data memory addresses with structures (Example 24-7) – 32-bit and 64-bit compatible

* Add GetMBFromAddress Offset parameter (Example 24-6)

* Updated Example 23-2 ANSI section


New to Version 2.6 – September 2018

* Added bookmarks to the PDF document to easier navigate the book. Thanks Julia Truchsess.

* Added Printers section (Chapter 23).

* Added the ability to retrieve the default local printer name (GetDefaultPrinter A and W). 32- and 64-bit compatible (Example 23-1)

* Updated Example1-8 on Pointers.

* Added Chapter 24 on Pointers.

* Added retrieving memoryblock memory address example (Example 24-1) – 32-bit and 64-bit compatible.

* Added Referencing of a MemoryBlock (Example 24-2) – 32-bit and 64-bit compatible.

* Added Dereferencing a MemoryBlock (Example 24-3) – 32-bit and 64-bit compatible.

* Added Dereferencing a nil MemoryBlock (Example 24-4) – 32-bit and 64-bit compatible (don’t do it).

* Added BitCheck comparison method (Example 1-20) – 32-bit and 64-bit compatible.

* Added a lengthy EnumPrinters example to show information about printers on a computer (Example 23-2) – 32-bit and 64-bit compatible.

* Added the ability to set the default printer (Example 23-3) – 32-bit and 64-bit compatible.

* Added the issue with MemoryBlock nil dereferencing (Example 24-4).

* Added Example 23-4 to send string data to the printer. – 32-bit and 64-bit compatible.

* Changed description of a CString on Page 31 – Thanks Robin Lauryssen-Mitchell.

* Added many constants needed for the declares.


New to Version 2.5 (August 2018):

* Added Windows Services chapter (Chapter 22)

* Added TestServicesConsole app (Example22-1) -- 32-bit and 64-bit compatible

* Added Access Rights for a Service Constants (Appendix I)

* Added Service Type Constants (Appendix J)

* Added Start Type Constants (Appendix K)

* Added Error Control Constants (Appendix L)

* Added Access Rights for the Service Control Manager (Appendix M)

* Added an example to create a new service (Example 22-2) -- 32-bit and 64-bit compatible. Includes OpenSCManager, CreateService, and CloseServiceHandle API.

* Added example to delete a service entry (Example 22-3) -- 32-bit and 64-bit compatible. Includes DeleteService API.

* Added Example 22-4 to change the service description entry in the database with the ChangeServiceConfig2 API -- 32-bit and 64-bit compatible.

* Added Example 22-5 to start a Service with the StartService API -- 32-bit and 64-bit compatible.

* Added Example 22-6 to stop a Service with the ControlService API -- 32-bit and 64-bit compatible.

* Added Example 22-7 to show the status of a service with QueryServiceStatus API -- 32-bit and 64-bit compatible

* Added Example 22-8 to pause a service with the ControlService API -- 32-bit and 64-bit compatible

* Added Example 22-9 to resume a service with ControlService -- 32-bit and 64-bit compatible.


Added content to Version 2.4 (July 2018) are:

* Added GetMessage (Example21-1) – 32-bit and 64-bit compatible

* Added PeekMessage (Example21-2) – 32-bit and 64-bit compatible

* Added PostMessage (Example21-3) – 32-bit and 64-bit compatible

* Added SendMessage (Example21-4) – 32-bit and 64-bit compatible

* Added GetMessagePos (Example21-5) – 32-bit and 64-bit compatible

* Added GetMessageTime (Example21-6) – 32-bit and 64-bit compatible

* Added tagMsg Structure (Example21-1) – 32-bit and 64-bit compatible

* Added PointAPI32 Structure (Example21-1) – 32-bit and 64-bit compatible


New to Version 2.3 (September 2017):

* Updated Example 6-11 SendMessageW call

* Updated Example 10-3 SendMessageW call

* Updated Example 10-4 SendMessageW call

* Added Struct ByRef for Pointer in ByRef and ByVal Section

* Added information on ANSI and Unicode (A and W Suffix) (use Unicode on all new programs)

* Added more conversion Data Types for TChar in Appendix A

* Added Comparison between Unicode Structure, Unicode MemoryBlock, ANSI Structure, and ANSI MemoryBlock code for the same declare (Example 1-19) – 32-bit and 64-bit compatible

* Created Multiple Display detail information in Example 19-1 – 32 bit and 64-bit compatible

* Created primary display working area size in Example 19-2 – 32 bit and 64 bit compatible

* Updated POINTAPI structure for multiple screen compatibility with Examples 7-2 through 7-5 (Integer to Int32)

Added chapter on Multiple Monitors (32-bit and 64-bit Unicode compatible):

* Monitor Theory

* Multiple monitors

* Virtual Desktop and dimensions

* Monitor Number

* Total Monitor Screen Dimensions

* Working Monitor Screen Dimensions


New to Version 2.2 (August 2017):

* Explanation of EX and Ptr suffix (Chapter 1)

* Added WOW64 definition (Example 1-18), 32-bit and 64-bit compatible

* Added GetSystemInfo and GetNativeSystemInfo, 32-bit and 64-bit compatible (Example 2-10)

* Added LARGE_INTEGER Data Type (Appendix C)

* Added precision time the computer has been turned on (Example 17-1)

* Added precision delta time that could be used for graphics (Example 17-2)

* Updated RECT structure for 64-bit compatibility (Example 7-1)

* Update hDC conversion type to UInteger from Integer (getting negative values with Integer data type with PIXELFORMATDESCRIPTOR)

* Added Centre Screen Example (GetSystemMetrics and MoveWindow API) Example 5-8, 32-bit and 64-bit compatible

* Added Pointer and Operator code (Example 18-1) which is 32-bit and 64-bit compatible

* Edit and Add more Data Type Conversions in Appendix A

* Added more ByRef and ByVal information in Chapter 1 section

* Added INVALID<em>HANDLE</em>VALUE constant in Chapter 13

* Added file and subdirectory search Example 4-10, Unicode and 32-bit and 64-bit compatible

Added content to Versions 2.0 and 2.1 (June 2017) are:

* Added String values for Example 5-3

* Added Set application and windows icon: Example 6-11 – 32 and 64 bit compatible

* Added WS_OVERLAPPEDWINDOW constant on Page 173

* Added WS_TILEDWINDOW constant on Page 173

* Added WS<em>EX</em>PALETTEWINDOW constant on Page 172

* Added WS<em>EX</em>OVERLAPPEDWINDOW Constant on Page 172

* Added WM_REDRAW example to quickly update a listbox control (Example 10-4) – 32 and 64 bit compatible

* Updated Data Type Conversions in Appendix A – Thank you Julian Samphire

* Added sound recording (Example 16-1) – 32 and 64 bit compatible

* Added audio playback (Example 16-2) – 32 and 64 bit compatible

* Added additional audio playback options (Example 16-3) – 32 bit only – Waiting for 64-bit Windows debugger

* Added Video player (Example 16-4) – 32 and 64 bit compatible

* Checked, changed, and confirmed all samples for 32-bit and 64-bit compatibility

* Added Alias information in Chapter 1

* Added WString MemoryByte example (Example 1-17) – 32 and 64 bit compatible

* Added CString information (Example 1-10)

* Added PString information (Example 1-11)

* Changed Example1-13 screen grab

* Rewrote Example 1-16 to be compatible on 32-bit and 64-bit systems

* Changed Example 2-1 to use GetTickCount64 function

* Rewrote Example 2-2 example – 32-bit and 64-bit compatible

* Updated Example 2-3 from ANSI to Unicode

* Updated Example 2-5 from ANSI to Unicode

* Updated Example 2-7 from ANSI to Unicode

* Changed Old Short Data type to Int16 in Example 2-8

* Updated TargetWin32 to TargetWindows in Example 2-9

* Added GetWindowLongPtr function for 64-bit compatibility in Example 3-1

* Updated Example 3-2 from ANSI to Unicode

* All code was tested and updated to Xojo 2017 r1 files

* Update Example 4-1 from ANSI to Unicode and updated to MemoryBlock

* Changed Example 4-3 from ANSI to Unicode

* Updated Example 4-4 from ANSI to Unicode and is 32/64 bit compatible

* Updated Example 4-6 code

* Updated Example 4-8 code for 32-bit and 64-bit compatibility, and converted to be Unicode compatible

* Updated Example 5-2

* Updated Example 5-4 to Unicode

* Updated Example 5-6 for 32-bit and 64-bit compatibility

* Added SetWindowLongPtr for future 64-bit compatibility to Example 5-7

* Convert Example 6-1 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-2 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-3 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-4 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-5 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-6 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-7 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 6-8 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 7-1 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 7-2 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 7-3 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 7-4 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 7-5 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 8-1 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 8-2 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 8-3 from ANSI to Unicode – 32-bit and 64-bit compatible

* Convert Example 10-1 from ANSI to Unicode

* Updated Example 10-2 from ANSI to Unicode

* Updated Example 10-3 from ANSI to Unicode

* Updated Example 13-1 from ANSI to Unicode

* Updated Example 13-2 from ANSI to Unicode

* Updated Example 13-3 from ANSI to Unicode

* Convert Example 15-1 from ANSI to Unicode – 32-bit and 64-bit compatible

* Created Audio Recorder Example 16-1 from ANSI to Unicode

* Created Simple Audio Player Example 16-2 from ANSI to Unicode

* Created Advanced Audio Player Example 16-3 from ANSI to Unicode

* Created Video Player Example 16-4

* Updated #If TargetWin32 to newer #If TargetWindows

* Added more information on Structures in Chapter 1

* Changed many examples with numeric conversions from CStr to.ToText

ISBN: 978-1-927924-10-5

The ebook is a pdf formatted document and all examples include Xojo code. The Table of Contents can be downloaded at <a target="http://Scispec.ca">http://Scispec.ca</a> under the heading books. This is one of the many available books at Xojo Library where many Xojo resources are available.

I want this!
Size
10.8 MB
Copy product URL
$15.99

Implement Declares with Xojo on Windows (RBL-0056)

0 ratings
I want this!