1993 19.03 1995

Vol.19 n°3 (#212) march 1994

(ddj_1994_03.jpg)

p.6 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 BINARY-DATA PORTABILITY

[author : José Luu]

The DDR compiler José presents here makes it possible for you to create truly portable tools for handling binary-data representations between different environments. This means you can create a single source-code base without having to add elaborate data-translation code.

p.26 THE WRAPI TOOLKIT

[author : Gregory C. Sarafin]

WRAPI is a language-independent API that generates language-specific libraries. The host languages it supports include C, Clipper, FoxPro (DOS and Windows), Visual Basic (DOS and Windows), Pascal, Clarion, Fortran, and more.

p.36 MULTIPLATFORM .INI FILES

[author : Joseph J. Graf]

Joe's multiplatform implementations of the the Windows GetPrivateProfileString(), GetPrivateProfileInt(), and WritePrivateProfileString() functions support DOS and UNIX, too.

p.40 PORTABILITY BY DESIGN

[author : Michael Ross]

Michael lifts the hood on MetaWare's compiler technology, sharing the mapping structures and techniques that make porting the compiler from one platform to another a relatively simple task.

p.46 UNICODE AND SOFTWARE GLOBALIZATION

[author : David Van Camp]

Writing code for international markets requires an understanding of the Unicode standard. David examines the standard and discusses how you go about implementing Unicode support.

p.102 WRITING NON-SCSI CD-ROM DEVICE DRIVERS

[author : Sing Li]

Compatibility is one of the main reasons why environments such as the Windows NT and OS/2 2.x operating systems support SCSI-based CD-ROM hardware. However, if you want to use non-SCSI CD-ROM drives with them, you'll have to write your own device drivers. This article discusses how you code those drivers for Windows NT.

p.152 THE ADVANCED SCSI PROGRAMMING INTERFACE

[author : Brian Sawert]

The advanced SCSI programming interface, available for DOS, OS/2, Novell NetWare, and other operating systems, provides a high-level function set that's easy to use because it hides the inner workings of SCSI protocol.

EMBEDDED SYSTEMS

p.52 EMULATING NON-DOS SYSTEMS UNDER MS-DOS

[author : Dan Troy]

Dan describes a table-mapping mechanism to handle operating-system functions and their associated parameters. This allowed him to emulate non-DOS systems while running on DOS-based PC development environments.

NETWORKED SYSTEMS

p.64 CROSS-PLATFORM DEVELOPMENT WITH VISUAL C++

[author : Chane Cullens]

Although generally thought of as a DOS/Windows development tool, Microsoft's Visual C++ and the Microsoft Foundation Class library can be used for cross-platform development. Chane discusses how you can use them to write portable code, whether you're coding for Windows, UNIX, NT, Macintosh, or whatever.

EXAMINING ROOM

p.74 DATABASE DEVELOPMENT AND VISUAL BASIC 3.0

[author : Ken North]

Although Microsoft calls it "Visual Basic 3.0 Professional Edition," you could just as easily refer to the package as "the Visual Basic Database Edition" because of the available database tools and functionality. Ken examines the Visual Basic 3.0 environment and database tools, presenting a multimedia database app in the process.

PROGRAMMER'S WORKBENCH

p.82 PORTING FROM DOS TO WINDOWS

[author : Walter Oney]

WinGate's client/server API minimizes your recoding efforts when moving from DOS to Windows. Walter uses the tool to build a simple client/server database application.

COLUMNS

p.115 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Last year, Apple introduced the Newton MessagePad, along with a new user-interface model, new development platform, and new object-oriented language. Michael discusses what Newton really is (and isn't), the first Newton Platform Development Conference, and the Newton Toolkit, and speculates on the unique challenges Newton presents.

p.121 C PROGRAMMING

[author : Al Stevens]

Al takes a break from the rigors of coding to mull over software patents, electronic books, and the mysteries of placing a long (but not too long) distance phone call in Silicon Valley.

p.127 ALGORITHM ALLEY

[author : Tom Swan]

Ernie Deel shares a data-compression technique that uses pattern recognition to quickly achieve efficient compression ratios.

p.133 UNDOCUMENTED CORNER

[author : Andrew Schulman]

Alex Shmidt presents a technique for dynamically loading and unloading VxDs without having to use VXDLDR or a VxD file. This is, in fact, a general technique for calling any 32-bit Ring 0 code from a normal Ring 3 Windows program.

p.141 PROGRAMMER'S BOOKSHELF

[author : Jonathan Erickson]

Like it or not, self-help programming and legal books go hand-in-hand. This month, we examine two new legal self-help books, Software Development: A Legal Guide, and The Software Developer's and Marketer's Legal Companion.

FORUM

p.10 LETTERS

[author : you]

p.168 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.162 OF INTEREST

[author : Monica E. Berg]