home *** CD-ROM | disk | FTP | other *** search
/ Chip 1999 March / Chip_1999-03_cd.bin / zkuste / delphi / INFO / DIF98.ASP < prev    next >
Encoding:
Text File  |  1999-01-14  |  42.6 KB  |  770 lines

  1. <!-- Delphi Head Element -->
  2. <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd">
  3. <HTML>
  4. <head>
  5. <meta name="Description" content="Delphi Informant - The complete monthly guide to Delphi development. Delphi articles, tips, reviews and free source code.">
  6. <meta name="KEYWORDS" content="Delphi Informant, Borland, Delphi, ActiveX, developer, programming, free, tips, advice, source code, Advisor, Delphi Magazine, components, Software Development, Dr Dobbs Journal, VBA, development, Java Beans, Visual Basic, Visual Developer, article, Pascal, Windows, Microsoft Office & Visual Basic for Applications Developer, Microsoft Visual J++ Informant, Web Publisher, Informant, Visual J++, magazine, internet, search engine, Microsoft, Amazon.com, computers, software, Oracle, Corel, Adobe, publishing, Java, Office, Web Techniques, Publish, Mecklermedia, Miller-Freeman, Sys-Con, Java Developers Journal, Java World, Java Report, SIGS, MSJ, Coriolis, Cobb Group, Pinnacle">
  7. <base target="_top">
  8. <title>Delphi Informant - Delphi Code Samples</title>
  9.  
  10. <meta name="generator" content="pop!site Version 1.0R60 for Win32/80x86"></head>
  11. <BODY BGCOLOR="#FFFFFF">
  12. <table width="744" border="0" cellspacing="1" align="CENTER">
  13. <tr>
  14. <td COLSPAN=2 VALIGN=Bottom>
  15. <TABLE BORDER=0 WIDTH="100%" BGCOLOR="#6666cc" CELLSPACING=0 CELLPADDING=0>
  16. <TR>
  17. <TD VALIGN=Bottom>
  18. <A HREF="/index.asp"><IMG SRC="/images/home.gif" ALT="Informant Home" WIDTH=40 HEIGHT=20 BORDER=0></A>
  19. <A HREF="/icgcats.asp"><IMG SRC="/images/catalogs.gif" ALT="Catalogs" WIDTH=64 HEIGHT=20 BORDER=0></A>
  20. <A HREF="http://www.vbaconference.com"><IMG SRC="/images/conferences.gif" ALT="Developer Conferences" WIDTH=85 HEIGHT=20 BORDER=0></A>
  21. <A HREF="/icgmags.asp"><IMG SRC="/images/magazines.gif" ALT="Informant Magazines" WIDTH=70 HEIGHT=20 BORDER=0></A>
  22. </td>
  23. <td ALIGN=Right VALIGN=Bottom>
  24. <A HREF="mailto:circulation@informant.com"><IMG SRC="/images/customerservice.gif" ALT="Customer Service" WIDTH=112 HEIGHT=20 BORDER=0></A>
  25. </TD>
  26. </TR>
  27. </TABLE>
  28. </td>
  29. </tr>
  30. <TR>
  31. <TD ALIGN="CENTER"><IMG SRC="/images/icglogo2.gif" alt="ICG" width=81 height=84></TD>
  32. <TD ALIGN="RIGHT">
  33. <a href="/di/index.asp">
  34. <IMG SRC="/images/di_banner.gif" ALT="Welcome to Delphi Informant" WIDTH="646" HEIGHT="78" border="0"></a>
  35. </TD>
  36. </TR>
  37. </table>
  38. <TABLE WIDTH="744" CELLPADDING="0" CELLSPACING="0" BORDER="0">
  39. <TR>
  40. <TD BGCOLOR="#ffc098" VALIGN="TOP" align="center" WIDTH="174"><img src="/images/icg_dept.gif" alt="Informant Departments" width="165" height="40" border="0"></TD>
  41.  
  42. <td width="20"> </td>
  43. <td width="170" valign="bottom"> <A HREF="/delphi/adredir.asp?url=http://www.inprise.com/delphi/bannerad/&image=/ads/bor55002e.gif" ><IMG SRC="/ads/bor55002e.gif" ALT="Borland's Delphi 3. Click here for more" WIDTH=160 HEIGHT=80 BORDER=0></A> </td>
  44. <td width="20"> </td>
  45. <td width="170" valign="bottom" align="center"> <A HREF="/delphi/adredir.asp?url=http://www.vbaconference.com/&image=/ads/chicago99ad9812.gif" ><IMG SRC="/ads/chicago99ad9812.gif" ALT="Microsoft Office & VBA Solutions Conference and Expo" WIDTH=160 HEIGHT=80 BORDER=0></A> </td>
  46. <td width="20"> </td>
  47. <td width="170" valign="bottom" align="right"> <A HREF="/delphi/adredir.asp?url=http://www.dp-retreat.com&image=/ads/dprbannr.gif" ><IMG SRC="/ads/dprbannr.gif" ALT="Database Programmers Retreat" WIDTH=160 HEIGHT=80 BORDER=0></A> </td>
  48. </TR>
  49. <TR>
  50. <TD BGCOLOR="#ffc098" VALIGN="TOP">
  51. <table width=174 cellpadding="10" cellspacing="0" border="0">
  52. <tr>
  53. <td bgcolor="#ffc098" align="left">
  54. <br>
  55. <a href="/delphi/index.asp"><font size="-1"><b><i>Delphi Informant</i></b></font></a><br>
  56. <a href="/delphi/dinew.asp"><font size="-1"><b>This Month in <i>DI</i></b></font></a><br>
  57. <font size="-1"><b><a href="/delphi/difeedback.asp">Feedback</a></b><br>
  58. <a href="/delphi/disubmen.asp"><font size="-1"><b>Customer Service</b></font></a><br>
  59. <a href="/delphi/dibimon.asp"><font size="-1"><b>Back Issues</b></font></a><br>
  60. <a href="/delphi/dicd.asp"><font size="-1"><b>CD-ROM</b></font></a><br>
  61. <a href="/delphi/ditest.asp"><font size="-1"><b>Free Issue</b></font></a><br>
  62. <a href="/delphi/dfiles.asp"><font size="-1"><b>File Downloads</b></font></a><br>
  63. <a href="/delphi/diads.asp"><font size="-1"><b>Advertiser Directory</b></font></a><br>
  64. <a href="/delphi/distyle.asp"><font size="-1"><b>Editorial Information</b></font></a><br>
  65. <a href="/delphi/disamp.asp"><font size="-1"><b>Sample Articles</b></font></a><br>
  66. <a href="/delphi/distore.asp"><font size="-1"><b>Finding <i>DI</i> in Stores</b></font></a><br>
  67. </td>
  68. </tr>
  69. </table>
  70. </TD>
  71. <TD>
  72. </TD>
  73. <TD WIDTH="550" COLSPAN="5" VALIGN="TOP"><BR>
  74. <TABLE WIDTH="550" BORDER="0" CELLPADDING="0" CELLSPACING="0">
  75. <tr>
  76. <td width=550 bgcolor="#6666cc">  
  77. <FONT COLOR="#ffff00" face="Arial"><b><i>DELPHI INFORMANT</i> 1998 FILES</b></FONT>
  78. </td>
  79. </tr>
  80. <tr>
  81. <td colspan=5>
  82.  
  83. </td>
  84. </tr>
  85. </table>
  86. <table width="550" border="0" cellpadding="0" cellspacing="0">
  87. <tr><th align=center>January</th></tr>
  88. <tr><td>
  89. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  90. <b>File Name</b>: <a href="/libs/delphi/3x/di9801bt.zip">DI9801BT.ZIP</a><br>
  91. <b>File Size</b>: 86,890<br>
  92. <b>Title</b>: Columns & Rows - Single-Tier Database Apps<br>
  93. <b>Delphi Version</b>: 3.0<br>
  94. <b>Delphi Informant Issue</b>: January 98<br>
  95. <b>Author</b>: Bill Todd<br>
  96. <b>Description</b>: When simple is best, the Delphi 3 Client/Server
  97. Suite can build database applications that don't use the BDE.
  98. However, documentation of this aspect of MIDAS technology was spotty
  99. -- until now.<br>
  100. <hr></td></tr>
  101. <tr><td>
  102. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  103. <b>File Name</b>: <a href="/libs/delphi/3x/di9801rs.zip">DI9801RS.ZIP</a><br>
  104. <b>File Size</b>: 9,739<br>
  105. <b>Title</b>: Algorithms - Sorts of All Types<br>
  106. <b>Delphi Version</b>: 3.0<br>
  107. <b>Delphi Informant Issue</b>: January 98<br>
  108. <b>Author</b>: Rod Stephens<br>
  109. <b>Description</b>: When it comes to sorting, no single algorithm
  110. is best; it pays to know which ones will shine depending on the
  111. amount of data and other factors. Here are four to handle "all
  112. sorts."<br>
  113. <hr></td></tr>
  114. <tr><td>
  115. <IMG SRC="/images/button1.gif" width="32" height="26" ALIGN="middle" ALT="New">
  116. <B>File Name</B>: <A HREF="/libs/delphi/2x/di9801kw.zip">DI9801KW.ZIP</A><BR>
  117. <B>File Size</B>: 164,763<BR>
  118. <B>Title</B>: OP Tech - The Property Explorer Expert<BR>
  119. <B>Delphi Version</B>: 2.0<BR>
  120. <B>Delphi Informant Issue</B>: January 98<BR>
  121. <B>Author</B>: Keith Wood<BR>
  122. <B>Description</B>: Ever Wondered which event calls a given method, or
  123. which list boxes contain a given phrase? Learn how you can build an
  124. expert that locates properties of objects with a specified name or
  125. value.<BR>
  126. <hr></td></tr>
  127. <tr><td>
  128. <img src="/images/button1.gif" width="32" height="26" ALIGN="middle" ALT="New">
  129. <B>File Name</B>: <A HREF="/libs/delphi/2x/di9801cj.zip">DI9801CJ.ZIP</A><BR>
  130. <B>File Size</B>: 16,512<BR>
  131. <B>Title</B>: DBNavigator - Hitting the Highlights<BR>
  132. <B>Delphi Version</B>: 2.0<BR>
  133. <B>Delphi Informant Issue</B>: January 98<BR>
  134. <B>Author</B>: Cary Jensen, Ph.D.<BR>
  135. <B>Description</B>: Color highlighting can improve your interface by
  136. drawing users' attention to where it's needed. Learn how to add
  137. chromatic distinction to both single-field and multi-record controls.
  138. <hr></td></tr>
  139. <tr><th align=center>February</th></tr>
  140. <tr><td>
  141. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  142. <b>File Name</b>: <a href="/libs/delphi/3x/di9802dm.zip">DI9802DM.ZIP</a><br>
  143. <b>File Size</b>: 26,050<br>
  144. <b>Title</b>: On The Cover - Delphi 3 ActiveX<br>
  145. <b>Delphi Version</b>: 3.0<br>
  146. <b>Delphi Informant Issue</b>: February 98<br>
  147. <b>Author</b>: Dan Miser<br>
  148. <b>Description</b>: Just in case you don't know, Delphi 3 is a major player in ActiveX development. Mr Miser demonstrates many of Delphi 3's capabilities in this area, including: importing ActiveX controls, converting VCL controls into ActiveX controls, Creating custom ActiveX controls, and more.<br>
  149. <hr></td></tr>
  150. <tr><td>
  151. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  152. <b>File Name</b>: <a href="/libs/delphi/3x/di9802ts.zip">DI9802TS.ZIP</a><br>
  153. <b>File Size</b>: 393,225<br>
  154. <b>Title</b>: Informantion Spotlight - ActiveX Scripting<br>
  155. <b>Delphi Version</b>: 3.0<br>
  156. <b>Delphi Informant Issue</b>: February 98<br>
  157. <b>Author</b>: Tom Stickle<br>
  158. <b>Description</b>: With ActiveX scripting, developers finally have a platform for adding standard scripting support to their applications. Mr Stickle shows us how to employ the tool from Delphi 3.<br>
  159. <hr></td></tr>
  160. <tr><td>
  161. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  162. <b>File Name</b>: <a href="/libs/delphi/3x/di9802kw.zip">DI9802KW.ZIP</a><br>
  163. <b>File Size</b>: 164,062<br>
  164. <b>Title</b>: On the Net - Picture This on the Web<br>
  165. <b>Delphi Version</b>: 3.0<br>
  166. <b>Delphi Informant Issue</b>: February 98<br>
  167. <b>Author</b>: Keith Wood<br>
  168. <b>Description</b>: Mr Wood generates a CGI program with Delphi 3, using its new module components to create a CGI program that delivers pictures from a database to a Web page.<br>
  169. <hr></td></tr>
  170. <tr><td>
  171. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  172. <b>File Name</b>: <a href="/libs/delphi/3x/di9802am.zip">DI9802AM.ZIP</a><br>
  173. <b>File Size</b>: 1,275<br>
  174. <b>Title</b>: Product Review - Abbrevia and LockBox<br>
  175. <b>Delphi Version</b>: 3.0<br>
  176. <b>Delphi Informant Issue</b>: February 98<br>
  177. <b>Author</b>: Alan Moore, Ph.D.<br>
  178. <b>Description</b>: TurboPower's New File/Data Manipulation Libraries<br>
  179. <hr></td></tr>
  180. <tr><th align=center>March</th></tr>
  181. <tr><td>
  182. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  183. <b>File Name</b>: <a href="/libs/delphi/3x/di9803db.zip">DI9803DB.ZIP</a><br>
  184. <b>File Size</b>: 9,513<br>
  185. <b>Title</b>: On The Cover - DCOM Streaming<br>
  186. <b>Delphi Version</b>: 3.0<br>
  187. <b>Delphi Informant Issue</b>: March 98<br>
  188. <b>Author</b>: David Body<br>
  189. <b>Description</b>: Automatic marshaling is terrific, but what if you need to pass data that isn't automation-compatible? Mr Body shares his slick technique for using Delphi's component streaming mechanism to pass entire objects along the DCOM trail -- and still not have to play marshal yourself.<br>
  190. <hr></td></tr>
  191. <tr><td>
  192. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  193. <b>File Name</b>: <a href="/libs/delphi/3x/di9803dm.zip">DI9803DM.ZIP</a><br>
  194. <b>File Size</b>: 14,156<br>
  195. <b>Title</b>: Informantion Spotlight - Deploying ActiveX Controls<br>
  196. <b>Delphi Version</b>: 3.0<br>
  197. <b>Delphi Informant Issue</b>: March 98<br>
  198. <b>Author</b>: Dan Miser<br>
  199. <b>Description</b>: Swell! You've created an ActiveX control. Getting it "out there" to users, however, is another story. Mr Miser lays out the issues and their solutions when it comes to Web deployment.<br>
  200. <hr></td></tr>
  201. <tr><td>
  202. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  203. <b>File Name</b>: <a href="/libs/delphi/3x/di9803rs.zip">DI9803RS.ZIP</a><br>
  204. <b>File Size</b>: 3,660<br>
  205. <b>Title</b>: In Development - Sounds Gud to Me<br>
  206. <b>Delphi Version</b>: 3.0<br>
  207. <b>Delphi Informant Issue</b>: March 98<br>
  208. <b>Author</b>: Rod Stephens<br>
  209. <b>Description</b>: Do your users need to search for names without knowing the exact spelling? Check out Mr Stephens' Delphi implementation of proven Soundex algorithms. You'll like what you hear.<br>
  210. <hr></td></tr>
  211. <tr><td>
  212. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  213. <b>File Name</b>: <a href="/libs/delphi/3x/di9803cm.zip">DI9803CM.ZIP</a><br>
  214. <b>File Size</b>: 82,198<br>
  215. <b>Title</b>: Columns & Rows - Developing Object Databases<br>
  216. <b>Delphi Version</b>: 3.0<br>
  217. <b>Delphi Informant Issue</b>: March 98<br>
  218. <b>Author</b>: Chu Moy<br>
  219. <b>Description</b>: Things can get confusing when OOP meets a relational database. Mr Moy says the object database, POET, is the answer, and puts one to work with Delphi 3. Is there an ODBMS in your future?<br>
  220. <hr></td></tr>
  221. <tr><td>
  222. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  223. <b>File Name</b>: <a href="/libs/delphi/3x/di9803cc.zip">DI9803CC.ZIP</a><br>
  224. <b>File Size</b>: 88,538<br>
  225. <b>Title</b>: Sights & Sounds - Multimedia Buttons<br>
  226. <b>Delphi Version</b>: 3.0<br>
  227. <b>Delphi Informant Issue</b>: March 98<br>
  228. <b>Author</b>: Christopher Coppola<br>
  229. <b>Description</b>: Is the standard Button component ill suited to your way-cool interface? Mr Coppola shares his techniques for creating buttons that blend with the environment -- and make a little noise.<br>
  230. <hr></td></tr>
  231. <tr><td>
  232. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  233. <b>File Name</b>: <a href="/libs/delphi/3x/di9803ja.zip">DI9803JA.ZIP</a><br>
  234. <b>File Size</b>: 1,771<br>
  235. <b>Title</b>: The API Calls - Restoring Animation<br>
  236. <b>Delphi Version</b>: 3.0<br>
  237. <b>Delphi Informant Issue</b>: March 98<br>
  238. <b>Author</b>: John Ayers<br>
  239. <b>Description</b>: Ever notice that Delphi-created applications don't exhibit that cute animated effect when they're minimized or restored? Well so has Mr Ayres, and he knows what to do about it.<br>
  240. <hr></td></tr>
  241. <tr><th align=center>April</th></tr>
  242. <tr><td>
  243. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  244. <b>File Name</b>: <a href="/libs/delphi/3x/di9804bm.zip">DI9804BM.ZIP</a><br>
  245. <b>File Size</b>: 14,041<br>
  246. <b>Title</b>: On The Cover - File Notification<br>
  247. <b>Delphi Version</b>: 3.0<br>
  248. <b>Delphi Informant Issue</b>: April 98<br>
  249. <b>Author</b>: Bruce McKinney<br>
  250. <b>Description</b>: We take it for granted. Windows applications we use every day communicate with each other via a set of Windows API functions. Mr McKinney not only explains how this is done, he also presents us with an Automation object to do the job, and compares/contrasts the Delphi and VB approaches.<br>
  251. <hr></td></tr>
  252. <tr><td>
  253. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  254. <b>File Name</b>: <a href="/libs/delphi/3x/di9804dm.zip">DI9804DM.ZIP</a><br>
  255. <b>File Size</b>: 13,356<br>
  256. <b>Title</b>: Columns & Rows - ClientDataset<br>
  257. <b>Delphi Version</b>: 3.0<br>
  258. <b>Delphi Informant Issue</b>: April 98<br>
  259. <b>Author</b>: Dan Miser<br>
  260. <b>Description</b>: Mr Miser demonstrates working with the ClientDataset component, and shows that while it doesn't provide all the functionality of MIDAS, it can provide a lot of the benefits in 2-tier situations.<br>
  261. <hr></td></tr>
  262. <tr><td>
  263. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  264. <b>File Name</b>: <a href="/libs/delphi/3x/di9804gk.zip">DI9804GK.ZIP</a><br>
  265. <b>File Size</b>: 11,696<br>
  266. <b>Title</b>: Visual Programming - Setting Limits: Part I<br>
  267. <b>Delphi Version</b>: 3.0<br>
  268. <b>Delphi Informant Issue</b>: April 98<br>
  269. <b>Author</b>: Gary Warren King<br>
  270. <b>Description</b>: Tired of users resizing forms, making them ridiculously large or small? Mr King shows how to set some limits. Further, he discusses generic soutions, and why form inheritance is <i>not</i> the answer.<br>
  271. <hr></td></tr>
  272. <tr><td>
  273. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  274. <b>File Name</b>: <a href="/libs/delphi/3x/di9804cj.zip">DI9804CJ.ZIP</a><br>
  275. <b>File Size</b>: 2,510<br>
  276. <b>Title</b>: Columns & Rows - Developing Object Databases<br>
  277. <b>Delphi Version</b>: 3.0<br>
  278. <b>Delphi Informant Issue</b>: April 98<br>
  279. <b>Author</b>: Cary Jensen, Ph.D.<br>
  280. <b>Description</b>: They're new and tremendously useful. In fact, they're at the core of why Delphi 3 makes COM development so easy. If you're looking to understand interface objects, let Dr Jensen explain.<br>
  281. <hr></td></tr>
  282. <tr><td>
  283. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  284. <b>File Name</b>: <a href="/libs/delphi/3x/di9804rs.zip">DI9804RS.ZIP</a><br>
  285. <b>File Size</b>: 7,346<br>
  286. <b>Title</b>: Algorithms - Rough around the Edges<br>
  287. <b>Delphi Version</b>: 3.0<br>
  288. <b>Delphi Informant Issue</b>: April 98<br>
  289. <b>Author</b>: Rod Stephens<br>
  290. <b>Description</b>: Got an important graphic that needs to look just so, yet looks so-so because it has "the jaggies?" Antialiasing is the answer says Mr Stephens, and he's got the algorithm to prove it.<br>
  291. <hr></td></tr>
  292. <tr><th align=center>May</th></tr>
  293. <tr><td>
  294. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  295. <b>File Name</b>: <a href="/libs/delphi/3x/di9805rl.zip">DI9805RL.ZIP</a><br>
  296. <b>File Size</b>: 25,611<br>
  297. <b>Title</b>: On The Cover - Programming Online Help<br>
  298. <b>Delphi Version</b>: 3.0<br>
  299. <b>Delphi Informant Issue</b>: May 98<br>
  300. <b>Author</b>: Ron Loewy<br>
  301. <b>Description</b>: Mr Loewy introduces HTML Help -- a collection of software tools, technologies, and specifications defined by Microsoft as a replacement for Windows' aging online help system. He then goes one step further, and demonstrates its use from Delphi.<br>
  302. <hr></td></tr>
  303. <tr><td>
  304. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  305. <b>File Name</b>: <a href="/libs/delphi/3x/di9805fn.zip">DI9805FN.ZIP</a><br>
  306. <b>File Size</b>: 14,251<br>
  307. <b>Title</b>: File | New - Working with AnsiStrings<br>
  308. <b>Delphi Version</b>: 3.0<br>
  309. <b>Delphi Informant Issue</b>: May 98<br>
  310. <b>Author</b>: Alan C. Moore, Ph.D.<br>
  311. <b>Description</b>: Working with strings is an unglamorous necessity.
  312. Fortunately, Delphi's support for strings has grown considerably since Delphi 1.<br>
  313. <hr></td></tr>
  314. <tr><td>
  315. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  316. <b>File Name</b>: <a href="/libs/delphi/3x/di9805dh.zip">DI9805DH.ZIP</a><br>
  317. <b>File Size</b>: 5,742<br>
  318. <b>Title</b>: On The Cover - What's This ?<br>
  319. <b>Delphi Version</b>: 3.0<br>
  320. <b>Delphi Informant Issue</b>: May 98<br>
  321. <b>Author</b>: David Hemphill<br>
  322. <b>Description</b>: You know what it is -- that little question-mark button. You click on it first, then click on what you're interested in to get help. You never gave it much thought, however, until it showed up as a client's specification. Fortunately, when asked "What's this?" Mr Hemphill replies: "Delphi!"<br>
  323. <hr></td></tr>
  324. <tr><td>
  325. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  326. <b>File Name</b>: <a href="/libs/delphi/3x/di9805gk.zip">DI9805GK.ZIP</a><br>
  327. <b>File Size</b>: 3,994<br>
  328. <b>Title</b>: Visual Programming - Setting Limits: Part II<br>
  329. <b>Delphi Version</b>: 3.0<br>
  330. <b>Delphi Informant Issue</b>: May 98<br>
  331. <b>Author</b>: Gary Warren King<br>
  332. <b>Description</b>: Continuing his discussion of form-size control, Mr King shares a component that intercepts messages intended for the form, and modifies them to alter the behavior of the form.<br>
  333. <hr></td></tr>
  334. <tr><td>
  335. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  336. <b>File Name</b>: <a href="/libs/delphi/3x/di9805bt.zip">DI9805BT.ZIP</a><br>
  337. <b>File Size</b>: 17,150<br>
  338. <b>Title</b>: OP Tech - Delphi Import/Export: Part I<br>
  339. <b>Delphi Version</b>: 3.0<br>
  340. <b>Delphi Informant Issue</b>: May 98<br>
  341. <b>Author</b>: Bill Todd<br>
  342. <b>Description</b>: Mr Todd begins a two-article series. This month's topic is getting data into (or out of) delimited or fixed-length ASCII text files, and out of (or into) a database -- or was it the other way around?<br>
  343. <hr></td></tr>
  344. <tr><td>
  345. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  346. <b>File Name</b>: <a href="/libs/delphi/3x/di9805bm.zip">DI9805BM.ZIP</a><br>
  347. <b>File Size</b>: 5,955<br>
  348. <b>Title</b>: Columns & Rows - AS/400 Shortcut<br>
  349. <b>Delphi Version</b>: 3.0<br>
  350. <b>Delphi Informant Issue</b>: May 98<br>
  351. <b>Author</b>: Bradley MacDonald<br>
  352. <b>Description</b>: As it turns out, there are several ways to run commands or programs on an AS/400 from Delphi, without using an RPC call. Mr MacDonald examins one-- the Query component.<br>
  353. <hr></td></tr>
  354. <tr><td>
  355. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  356. <b>File Name</b>: <a href="/libs/delphi/3x/di9805rs.zip">DI9805RS.ZIP</a><br>
  357. <b>File Size</b>: 19,880<br>
  358. <b>Title</b>: Algorithms - Linked Lists<br>
  359. <b>Delphi Version</b>: 3.0<br>
  360. <b>Delphi Informant Issue</b>: May 98<br>
  361. <b>Author</b>: Rod Stephens<br>
  362. <b>Description</b>: Supplying Delphi implementations of the extremely flexible data structures known as linked lists, Mr Stephens demonstrates what to do when the data is too dynamic for arrays.<br>
  363. <hr></td></tr>
  364. <tr><th align=center>June</th></tr>
  365. <tr><td>
  366. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  367. <b>File Name</b>: <a href="/libs/delphi/3x/di9806jp.zip">DI9806JP.ZIP</a><br>
  368. <b>File Size</b>: 351,021<br>
  369. <b>Title</b>: On The Cover - Winsock 2<br>
  370. <b>Delphi Version</b>: 3.0<br>
  371. <b>Delphi Informant Issue</b>: June 98<br>
  372. <b>Author</b>: John Penman<br>
  373. <b>Description</b>: Winsock 1.1 simply wasn't designed to handle multimedia Internet applications.
  374. Enter Winsock 2 with support for mulitple transport protocols, protocol-independent name resolution, and much more.
  375. Mr. Penman explains how Delphi developers can take advantage of the new features.<br>
  376. <hr></td></tr>
  377. <tr><td>
  378. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  379. <b>File Name</b>: <a href="/libs/delphi/3x/di9806bt.zip">DI9806BT.ZIP</a><br>
  380. <b>File Size</b>: 64,964<br>
  381. <b>Title</b>: OP Tech - Delphi Import/Export: Part II<br>
  382. <b>Delphi Version</b>: 3.0<br>
  383. <b>Delphi Informant Issue</b>: June 98<br>
  384. <b>Author</b>: Bill Todd<br>
  385. <b>Description</b>: Mr. Todd finishes his series with a look at objects with built-in <i>LoadFromFile</i> and <i>SaveToFile</i>
  386. methods, and--when the reading and writing gets tough--using <i>TFileStream</i> objects.</font><br>
  387. <hr></td></tr>
  388. <tr><td>
  389. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  390. <b>File Name</b>: <a href="/libs/delphi/3x/di9806rs.zip">DI9806RS.ZIP</a><br>
  391. <b>File Size</b>: 5,575<br>
  392. <b>Title</b>: Algorithms - Tough Decisions<br>
  393. <b>Delphi Version</b>: 3.0<br>
  394. <b>Delphi Informant Issue</b>: June 98<br>
  395. <b>Author</b>: Rod Stephens<br>
  396. <b>Description</b>: Mr. Stephens explains decision trees, data structures you can use to model difficult decisions, and how to implement them.
  397. He also demonstrates several ways you can search even the largest decision trees.<br>
  398. <hr></td></tr>
  399. <tr><td>
  400. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  401. <b>File Name</b>: <a href="/libs/delphi/3x/di9806cj.zip">DI9806CJ.ZIP</a><br>
  402. <b>File Size</b>: 7,671<br>
  403. <b>Title</b>: DBNavigator - Run-time Type Information<br>
  404. <b>Delphi Version</b>: 3.0<br>
  405. <b>Delphi Informant Issue</b>: June 98<br>
  406. <b>Author</b>: Cary Jensen, Ph.D.<br>
  407. <b>Description</b>: RTTI is information about the published properties of classes that the compiler stores in an executable.
  408. Dr. Jensen shows how to use routines from the typinfo unit to extract this information at run time.<br>
  409. <hr></td></tr>
  410. <tr><td>
  411. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  412. <b>File Name</b>: <a href="/libs/delphi/3x/di9806bl.zip">DI9806BL.ZIP</a><br>
  413. <b>File Size</b>: 33,559<br>
  414. <b>Title</b>: Dynamic Delphi - COM Callbacks: Part I<br>
  415. <b>Delphi Version</b>: 3.0<br>
  416. <b>Delphi Informant Issue</b>: June 98<br>
  417. <b>Author</b>: Binh Ly<br>
  418. <b>Description</b>: You won't find much documentation about writing COM callbacks using Delphi.
  419. Fortunately, there's Mr. Ly's two-part tutorial.
  420. This month's article offers a hand-coded callback interface manager.<br>
  421. <hr></td></tr>
  422. <tr><td>
  423. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  424. <b>File Name</b>: <a href="/libs/delphi/3x/di9806sb.zip">DI9806SB.ZIP</a><br>
  425. <b>File Size</b>: 13,623<br>
  426. <b>Title</b>: Delphi at Work - Pirates Beware!<br>
  427. <b>Delphi Version</b>: 3.0<br>
  428. <b>Delphi Informant Issue</b>: June 98<br>
  429. <b>Author</b>: Stephen R. Broadwell<br>
  430. <b>Description</b>: Looking for a straightforward way to keep consumers from pirating the fruits of your labor?
  431. Mr. Broadwell offers a peach of a component named <i>TSeatChecker</i>.<br>
  432. <hr></td></tr>
  433. <tr><td>
  434. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  435. <b>File Name</b>: <a href="/libs/delphi/3x/di9806vs.zip">DI9806VS.ZIP</a><br>
  436. <b>File Size</b>: 36,081<br>
  437. <b>Title</b>: Greater Delphi - Formula Compiler<br>
  438. <b>Delphi Version</b>: 3.0<br>
  439. <b>Delphi Informant Issue</b>: June 98<br>
  440. <b>Author</b>: Vladimir Safin<br>
  441. <b>Description</b>: Mr. Safin presents a set of Delphi components that allow mathematical functions to be quickly evaluated at run time--one to two and a half times faster than nard-coded Delphi.<br>
  442. <hr></td></tr>
  443. <tr><td>
  444. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  445. <b>File Name</b>: <a href="/libs/delphi/3x/di9806am.zip">DI9806AM.ZIP</a><br>
  446. <b>File Size</b>: 4,758<br>
  447. <b>Title</b>: Product Review - OnGuard<br>
  448. <b>Delphi Version</b>: 3.0<br>
  449. <b>Delphi Informant Issue</b>: June 98<br>
  450. <b>Author</b>: Alan C. Moore, Ph.D.<br>
  451. <hr></td></tr>
  452. <tr><td>
  453. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  454. <b>File Name</b>: <a href="/libs/delphi/3x/di9806fn.zip">DI9806FN.ZIP</a><br>
  455. <b>File Size</b>: 351,021<br>
  456. <b>Title</b>: File | New - Delphi's Own API<br>
  457. <b>Delphi Version</b>: 3.0<br>
  458. <b>Delphi Informant Issue</b>: June 98<br>
  459. <b>Author</b>: Alan C. Moore, Ph.D.<br>
  460. <hr></td></tr>
  461. <tr><th align=center>July</th></tr>
  462. <tr><td>
  463. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  464. <b>File Name</b>: <a href="/libs/delphi/3x/di9807jp.zip">DI9807JP.ZIP</a><br>
  465. <b>File Size</b>: 351,021<br>
  466. <b>Title</b>: On The 'Net - WinSock 2: Part II<br>
  467. <b>Delphi Version</b>: 3.0<br>
  468. <b>Delphi Informant Issue</b>: July 98<br>
  469. <b>Author</b>: John Penman<br>
  470. <b>Description</b>: Mr Penman continues his series with a look at WinSock 2 multithreading. Using an SFTP application as an example, he shares all the code to construct a client and server.<br>
  471. <hr></td></tr>
  472. <tr><td>
  473. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  474. <b>File Name</b>: <a href="/libs/delphi/3x/di9807rl.zip">DI9807RL.ZIP</a><br>
  475. <b>File Size</b>: 42,354<br>
  476. <b>Title</b>: Sound + Vision - Palettes Made Plain<br>
  477. <b>Delphi Version</b>: 3.0<br>
  478. <b>Delphi Informant Issue</b>: July 98<br>
  479. <b>Author</b>: Ray Lischner<br>
  480. <b>Description</b>: Ironically, an intrinsically visual aspect of Windows -- palettes -- is usually made transparent to Delphi developers. Mr Lischner explains what to do when palette problems become all too visible.<br>
  481. <hr></td></tr>
  482. <tr><td>
  483. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  484. <b>File Name</b>: <a href="/libs/delphi/3x/di9807bl.zip">DI9807BL.ZIP</a><br>
  485. <b>File Size</b>: 33,559<br>
  486. <b>Title</b>: Distributed Delphi - COM Callbacks: Part II<br>
  487. <b>Delphi Version</b>: 3.0<br>
  488. <b>Delphi Informant Issue</b>: July 98<br>
  489. <b>Author</b>: Binh Ly<br>
  490. <b>Description</b>: Quite simply, connection points are an important part of the way Windows works. Mr Ly demonstrates how to build on native Delphi 3 classes to implement Connectable Objects.<br>
  491. <hr></td></tr>
  492. <tr><td>
  493. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  494. <b>File Name</b>: <a href="/libs/delphi/3x/di9807am.zip">DI9807AM.ZIP</a><br>
  495. <b>File Size</b>: 31,951<br>
  496. <b>Title</b>: The API Calls - Delphi and TAPI: Part I<br>
  497. <b>Delphi Version</b>: 3.0<br>
  498. <b>Delphi Informant Issue</b>: July 98<br>
  499. <b>Author</b>: Major Ken Kyler and Alan C. Moore, Ph.D.<br>
  500. <b>Description</b>: Major Kyler and Dr Moore begin their Telephony API series with a detailed introduction of the basics TAPI functions, and a demonstration of how to use them to initiate and manage phone calls.<br>
  501. <hr></td></tr>
  502. <tr><td>
  503. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  504. <b>File Name</b>: <a href="/libs/delphi/3x/di9807nu.zip">DI9807NU.ZIP</a><br>
  505. <b>File Size</b>: 2,699<br>
  506. <b>Title</b>: Product Review - Propel<br>
  507. <b>Delphi Version</b>: 3.0<br>
  508. <b>Delphi Informant Issue</b>: July 98<br>
  509. <b>Author</b>: Alan C. Moore, Ph.D.<br>
  510. <b>Description</b>: Propel -- A Powerful Tool for Code Re-use<br>
  511. <hr></td></tr>
  512. <tr><th align=center>August</th></tr>
  513. <tr><td>
  514. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  515. <b>File Name</b>: <a href="/libs/delphi/3x/di9808rs.zip">DI9808RS.ZIP</a><br>
  516. <b>File Size</b>: 30,575<br>
  517. <b>Title</b>: Algorithms - <I>Vivid Equations</I><br>
  518. <b>Delphi Version</b>: 3.0<br>
  519. <b>Delphi Informant Issue</b>: August 98<br>
  520. <b>Author</b>: Rod Stephens<br>
  521. <b>Description</b>: Mr Stephens introduces 3-D graphics programming, including translation, scaling, projection, and rotation, and -- as usual -- provides hands-on examples to get you started.<br>
  522. <hr></td></tr>
  523. <tr><td>
  524. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  525. <b>File Name</b>: <a href="/libs/delphi/3x/di9808rl.zip">DI9808RL.ZIP</a><br>
  526. <b>File Size</b>: 8,525<br>
  527. <b>Title</b>: On the Net - <I>IE4's DOM Advantage</I><br>
  528. <b>Delphi Version</b>: 3.0<br>
  529. <b>Delphi Informant Issue</b>: August 98<br>
  530. <b>Author</b>: Ron Loewy<br>
  531. <b>Description</b>: IE4 introduced DHTML and the Document Object Model, greatly expanding the control a Windows app can have over a Web browser control. Now Mr Loewy puts it to use from Delphi.<br>
  532. <hr></td></tr>
  533. <tr><td>
  534. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  535. <b>File Name</b>: <a href="/libs/delphi/3x/di9808am.zip">DI9808AM.ZIP</a><br>
  536. <b>File Size</b>: 55,625<br>
  537. <b>Title</b>: The API Calls - <I>Delphi and TAPI: Part II</I><br>
  538. <b>Delphi Version</b>: 3.0<br>
  539. <b>Delphi Informant Issue</b>: August 98<br>
  540. <b>Author</b>: Major Ken Kyler and Alan C. Moore, Ph.D.<br>
  541. <b>Description</b>: Kyler and Moore continue their Telephony API series: This month it's determining the existing capabilities of the particular TAPI implementation and monitoring changes to the COMM port.<br>
  542. <hr></td></tr>
  543. <tr><th align=center>September</th></tr>
  544. <tr><td>
  545. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  546. <b>File Name</b>: <a href="/libs/delphi/3x/di9809rs.zip">DI9809RS.ZIP</a><br>
  547. <b>File Size</b>: 13,968<br>
  548. <b>Title</b>: Algorithms - <I>The Shape of Data</I><br>
  549. <b>Delphi Version</b>: 3.0<br>
  550. <b>Delphi Informant Issue</b>: September 98<br>
  551. <b>Author</b>: Rod Stephens<br>
  552. <b>Description</b>: This article demonstrates how to apply the method of linear
  553. least squares to find a line or curve that best fits a set of points.
  554. It's a bit heavy on the calculus, but Mr. Stephens makes it easy to follow.<br>
  555. <hr></td></tr>
  556. <tr><td>
  557. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  558. <b>File Name</b>: <a href="/libs/delphi/3x/di9809cd.zip">DI9809CD.ZIP</a><br>
  559. <b>File Size</b>: 131,417<br>
  560. <b>Title</b>: In Development - <I>Monitor Your NT Apps</I><br>
  561. <b>Delphi Version</b>: 3.0<br>
  562. <b>Delphi Informant Issue</b>: September 98<br>
  563. <b>Author</b>: Craig Dunn<br>
  564. <b>Description</b>: Do you or your users need to know how your app is doing
  565. in the field?
  566. Mr. Dunn shows us how to put the Windows NT Performance Monitor to work by
  567. creating a performance extension DLL.<br>
  568. <hr></td></tr>
  569. <tr><td>
  570. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  571. <b>File Name</b>: <a href="/libs/delphi/3x/di9809jp.zip">DI9809JP.ZIP</a><br>
  572. <b>File Size</b>: 369,436<br>
  573. <b>Title</b>: On the 'Net - <I>Multicasting</I><br>
  574. <b>Delphi Version</b>: 3.0<br>
  575. <b>Delphi Informant Issue</b>: September 98<br>
  576. <b>Author</b>: John Penman<br>
  577. <b>Description</b>: Need to develop and Internet "push" application in Delphi?
  578. Mr. Penman provides everything you need to get started--the background,
  579. the savvy, and working client and server multicast programs.<br>
  580. <hr></td></tr>
  581. <tr><td>
  582. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  583. <b>File Name</b>: <a href="/libs/delphi/3x/di9809am.zip">DI9809AM.ZIP</a><br>
  584. <b>File Size</b>: 522,523<br>
  585. <b>Title</b>: The API Calls - <I>Delphi and TAPI: Part III</I><br>
  586. <b>Delphi Version</b>: 3.0<br>
  587. <b>Delphi Informant Issue</b>: September 98<br>
  588. <b>Author</b>: Major Ken Kyler and Alan C. Moore, Ph.D.<br>
  589. <b>Description</b>: Kyler and Moore polish off their TAPI series by adding some features,
  590. and then wrapping all the functionality into a non-visual VCL component you can
  591. simply drop into a form.<br>
  592. <hr></td></tr>
  593. <tr><td>
  594. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  595. <b>File Name</b>: <a href="/libs/delphi/3x/di9809nu.zip">DI9809NU.ZIP</a><br>
  596. <b>File Size</b>: 3,714<br>
  597. <b>Title</b>: Async Professional 2.5 - <I>Product Review</I><br>
  598. <b>Delphi Version</b>: 3.0<br>
  599. <b>Delphi Informant Issue</b>: September 98<br>
  600. <b>Author</b>: Alan C. Moore, Ph.D.<br>
  601. <b>Description</b>: Async Professional (APRO) from TurboPower is considered by many developers to be the pre-eminent Delphi communications library. Participants in this year's <i>Delphi Informant</i> Readers Choice Awards certainly concurred, selecting APRO first in the Best Connectivity Tool category for the second straight year.<br>
  602. <hr></td></tr>
  603. <tr><td>
  604. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  605. <b>File Name</b>: <a href="/libs/delphi/3x/di9810nk.zip">DI9810NK.ZIP</a><br>
  606. <b>File Size</b>: 69,781<br>
  607. <b>Title</b>: Dynamic Delphi - <I>Reports in DLLs</I><br>
  608. <b>Delphi Version</b>: 3.0<br>
  609. <b>Delphi Informant Issue</b>: October 98<br>
  610. <b>Author</b>: Neville Kelly<br>
  611. <b>Description</b>: For many programs, maintaining the application means modifying the reports. Wouldn't it be nice if the reports were all in one DLL that could be readily replaced? Mr Kelly shows how it's done.<br>
  612. <hr></td></tr>
  613. <tr><td>
  614. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  615. <b>File Name</b>: <a href="/libs/delphi/3x/di9810rs.zip">DI9810RS.ZIP</a><br>
  616. <b>File Size</b>: 4,299<br>
  617. <b>Title</b>: Algorithms - <I>Topological Sorting</I><br>
  618. <b>Delphi Version</b>: 3.0<br>
  619. <b>Delphi Informant Issue</b>: October 98<br>
  620. <b>Author</b>: Rod Stephens<br>
  621. <b>Description</b>: Mr Stephens provides algorithms for ordering tasks, from arranging a course schedule, to planning building construction, to scheduling module testing for your biggest software projects.<br>
  622. <hr></td></tr>
  623. <tr><td>
  624. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  625. <b>File Name</b>: <a href="/libs/delphi/3x/di9810th.zip">DI9810TH.ZIP</a><br>
  626. <b>File Size</b>: 186,122<br>
  627. <b>Title</b>: Greater Delphi - <I>Writing to the NT Event Log</I><br>
  628. <b>Delphi Version</b>: 3.0<br>
  629. <b>Delphi Informant Issue</b>: October 98<br>
  630. <b>Author</b>: Ted Houts<br>
  631. <b>Description</b>: The NT Event Log can consolidate, filter, and group all error messaging in one location. And Mr Houts can demonstrate how to take advantage of its capabilities from a Delphi application.<br>
  632. <hr></td></tr>
  633. <tr><td>
  634. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  635. <b>File Name</b>: <a href="/libs/delphi/3x/di9811rs.zip">DI9811RS.ZIP</a><br>
  636. <b>File Size</b>: 6K<br>
  637. <b>Title</b>: Picture Perfect - <I>Shrinking, Enlarging, and Rotating Images</I><br>
  638. <b>Delphi Version</b>: 3.0<br>
  639. <b>Delphi Informant Issue</b>: November 98<br>
  640. <b>Author</b>: Rod Stephens<br>
  641. <b>Description</b>: Mr Stephens demonstrates algorithms for mapping output pixels back to input positions and using a weighted average to shrink, enlarge, or rotate an image. He even provides the complete source, so you can put these powerful techniques to use in your own applications.<br>
  642. <hr></td></tr>
  643. <tr><td>
  644. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  645. <b>File Name</b>: <a href="/libs/delphi/3x/di9811kb.zip">DI9811KB.ZIP</a><br>
  646. <b>File Size</b>: 19K<br>
  647. <b>Title</b>: Informant Spotlight - <I>Tray Icons</I><br>
  648. <b>Delphi Version</b>: 3.0<br>
  649. <b>Delphi Informant Issue</b>: November 98<br>
  650. <b>Author</b>: Kevin Bluck<br>
  651. <b>Description</b>: You know those icons on the right side of the Windows 95/98/NT taskbar? They're called tray icons. Mr Bluck explains the tray icon API, and provides us with a component to easily put tray icons to use.<br>
  652. <hr></td></tr>
  653. <tr><td>
  654. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  655. <b>File Name</b>: <a href="/libs/delphi/3x/di9811pd.zip">DI9811PD.ZIP</a><br>
  656. <b>File Size</b>: 263K<br>
  657. <b>Title</b>: Sound+Vision - <I>The Camera Never Lies</I><br>
  658. <b>Delphi Version</b>: 3.0<br>
  659. <b>Delphi Informant Issue</b>: November 98<br>
  660. <b>Author</b>: Peter Dove<br>
  661. <b>Description</b>: Better late than never! Mr Dove concludes the graphics programming series he began with Don Peer in January 1997 with a look at camera coordinate systems, animated textures, and foreground pictures.<br>
  662. <hr></td></tr>
  663. <tr><td>
  664. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  665. <b>File Name</b>: <a href="/libs/delphi/3x/di9811gd.zip">DI9811GD.ZIP</a><br>
  666. <b>File Size</b>: 947K<br>
  667. <b>Title</b>: Dynamic Delphi - <I>Thread-Safe DLLs</I><br>
  668. <b>Delphi Version</b>: 3.0<br>
  669. <b>Delphi Informant Issue</b>: November 98<br>
  670. <b>Author</b>: Gregory Deatz<br>
  671. <b>Description</b>: Mr Deatz explains how you can write a thread-safe DLL, even if you don't know how the calling application uses threads. Also discussed are the DllEntryPoint function, thread-local storage, and more. <br>
  672. <hr></td></tr>
  673. <tr><td>
  674. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  675. <b>File Name</b>: <a href="/libs/delphi/3x/di9811ya.zip">DI9811YA.ZIP</a><br>
  676. <b>File Size</b>: 5K<br>
  677. <b>Title</b>: OP Tech - <I>Is Delphi Running the Code?</I><br>
  678. <b>Delphi Version</b>: 3.0<br>
  679. <b>Delphi Informant Issue</b>: November 98<br>
  680. <b>Author</b>: Yorai Aminov<br>
  681. <b>Description</b>: Shareware developers (among others) often need to know if code is running under Delphi control. It's a simple question, but determining the answer is not. Mr Aminov shows how it's done. <br>
  682. <hr></td></tr>
  683. <tr><td>
  684. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  685. <b>File Name</b>: <a href="/libs/delphi/3x/di9812pf.zip">DI9812PF.ZIP</a><br>
  686. <b>File Size</b>: 13K<br>
  687. <b>Title</b>: MTS Development: Part 1 - <I>Unpacking Microsoft Transaction Server</I><br>
  688. <b>Delphi Version</b>: 4.0<br>
  689. <b>Delphi Informant Issue</b>: December 98<br>
  690. <b>Author</b>: Paul M. Fairhurst<br>
  691. <b>Description</b>: Mr Fairhurst introduces Microsoft Transaction Server (MTS) development from the perspective of a Delphi programmer. And in case you haven't already guessed, Delphi has again made implementing Microsoft technology faster and easier than with any of Microsoft's development tools.<br>
  692. <hr></td></tr>
  693. <tr><td>
  694. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  695. <b>File Name</b>: <a href="/libs/delphi/3x/di9812me.zip">DI9812ME.ZIP</a><br>
  696. <b>File Size</b>: 1,153K<br>
  697. <b>Title</b>: Informant Spotlight - <I>Delphi Plug-Ins</I><br>
  698. <b>Delphi Version</b>: 4.0<br>
  699. <b>Delphi Informant Issue</b>: December 98<br>
  700. <b>Author</b>: Marc Evans<br>
  701. <b>Description</b>: Demonstrating another way to extend a Delphi application, Mr Evans shows us how to create and employ "plug-in" DLLs. The discussion includes creating a shell application and the Sharemem unit. <br>
  702. <hr></td></tr>
  703. <tr><td>
  704. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  705. <b>File Name</b>: <a href="/libs/delphi/3x/di9812rs.zip">DI9812RS.ZIP</a><br>
  706. <b>File Size</b>: 11K<br>
  707. <b>Title</b>: Algorithms - <I>As the Crow Flies</I><br>
  708. <b>Delphi Version</b>: 4.0<br>
  709. <b>Delphi Informant Issue</b>: December 98<br>
  710. <b>Author</b>: Rod Stephens<br>
  711. <b>Description</b>: Mr Stephens demonstrates algorithms for finding the shortest path through a "network," be it the best way to route e-mail through a computer network, or the quickest way home from work. <br>
  712. <hr></td></tr>
  713. <tr><td>
  714. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  715. <b>File Name</b>: <a href="/libs/delphi/3x/di9812cj.zip">DI9812CJ.ZIP</a><br>
  716. <b>File Size</b>: 5K<br>
  717. <b>Title</b>: DBNavigator - <I>Delphi Database Development: Part IV</I><br>
  718. <b>Delphi Version</b>: 4.0<br>
  719. <b>Delphi Informant Issue</b>: December 98<br>
  720. <b>Author</b>: Cary Jensen, Ph.D.<br>
  721. <b>Description</b>: This month, Dr Jensen continues his database series by examining the care and feeding of Delphi data modules, including when you should use them - and when you shouldn't. <br>
  722. <hr></td></tr>
  723. <tr><td>
  724. <img src="/images/button1.gif" width="32" height="26" align="middle" alt="New">
  725. <b>File Name</b>: <a href="/libs/delphi/3x/di9812rl.zip">DI9812RL.ZIP</a><br>
  726. <b>File Size</b>: 9K<br>
  727. <b>Title</b>: Columns & Rows - <I>Much ADO about the Web</I><br>
  728. <b>Delphi Version</b>: 4.0<br>
  729. <b>Delphi Informant Issue</b>: December 98<br>
  730. <b>Author</b>: Ron Loewy<br>
  731. <b>Description</b>: Besides providing a step-by-step description of how to create Automation objects that use ADO to access an application's database, Mr Loewy shares a working Active Server Pages example. <br>
  732. <hr></td></tr>
  733. <tr><td>
  734. <center>DISCLAIMER</center>
  735. <h6>Informant Communications Group, Inc assumes no responsibility
  736. whatsoever for the uses made of any software code available here,
  737. whether modified or not.
  738. Informant Communications Group, Inc will not be liable for special,
  739. incidental, consequential, indirect, or other similar damages, even if
  740. we have been advised of the possibility of such damages.
  741. Software available on this Web Site is not commercial-grade software
  742. and is made available for illustrative purposes only. </h6>
  743. </td></tr>
  744. </table>
  745. </TD>
  746. </TR>
  747. </TABLE>
  748. <TABLE WIDTH="100%" BORDER="0">
  749. <TR>
  750. <TD ALIGN="CENTER" VALIGN="BOTTOM"><HR>
  751. <P ALIGN=Center><FONT SIZE="-1">Send feedback to the <A HREF="mailto:webmaster@informant.com">Webmaster</A></FONT></P>
  752. <P ALIGN="CENTER"><B>Informant Communications Group, Inc.<BR>
  753. <FONT SIZE="-1">10519 E. Stockton Blvd., Suite 100, Elk Grove, CA
  754. 95624-9703<BR>
  755. Phone: (916) 686-6610   Fax: (916) 686-8497 </FONT></B></P>
  756. <p><CENTER><A HREF="http://www.microsoft.com/ie/logo.asp">
  757. <IMG SRC="/images/ie4get_animated.gif" WIDTH="88" HEIGHT="31" BORDER="0" ALT="Get Microsoft Internet Explorer" VSPACE="7"></A></CENTER></p>
  758. <P ALIGN="center"> <FONT SIZE="1" FACE="Courier"> Last Updated Monday,
  759. January 04, 1999</FONT> </P>
  760. <P ALIGN="CENTER"><A HREF="http://www.informant.com/copyright.asp"><FONT SIZE="1" FACE="Courier">
  761. Copyright © 1998
  762. Informant Communications Group.
  763. All Rights Reserved.</FONT></A>
  764. <!-- informant.com version 1.1 --></P>
  765. </TD>
  766. </TR>
  767. </TABLE>
  768. </BODY>
  769. </HTML>
  770.