Delphi Clinic | C++Builder Gate | Training & Consultancy | Delphi Notes Weblog | Dr.Bob's Webshop |
|
TDMAid 2.0 gave an on-line and complete overview of all 220 articles/reviews I've written for The Delphi Magazine between 1995 and 2007.
This page only lists the Under Construction articles, which will be republished here in 2008.
The complete source files from my columns are now also available from my new UCCode Web Service, complete with client source code for Delphi 7:
The complete list of Under Construction columns is as follows:
Nr. Topic | Source Code |
139 Broken Link Detection And Web Spidering
Bob Swart builds classes for both Win32 and .NET to check for broken links in your websites, as well as showing how the principles can be expanded for web spidering. |
constr139.zip 22.332 bytes |
138 ASP.NET Web Services And Attachments
Bob Swart shows how to use the new support Microsoft has added for DIME attachments to ASP.NET web services with WS-Attachments: adding attachments to SOAP responses and also retrieving them. |
constr138.zip 39.513 bytes |
137 Win32/.NET Operator Overloading
Bob Swart discusses vector and matrix manipulations using operator overloading, using both Win32 and .NET. |
constr137.zip 16.570 bytes |
136 Data Entry Validation With AJAX
Bob Swart discusses how to use AJAX in combination with Delphi web applications for data entry input validation using XML. |
constr136.zip 14.485 bytes |
135 Debugging Win32 Web Services
Bob Swart examines Delphi’s Win32 SOAP and web services support, focusing on techniques to debug and trace Win32 web services using Delphi 2006. Apart from these debugging techniques, he also covers some interoperability issues and workarounds, especially when importing and consuming .NET web services. |
constr135.zip 51.659 bytes |
134 RemObjects SDK 4.0 And Distributed Webcam Viewers
Bob Swart turns his webcam viewer into a multi-tier application using RemObjects SDK 4.0. |
constr134.zip 44.205 bytes |
133 Implementing Automatic Updates
Bob Swart builds an internet update manager application in Win32, demonstrating and implementing techniques that you can use in VCL applications to allow automatic updates from the web. In the process we’ll use a new VCL component: the TTrayIcon. |
constr133.zip 21.486 bytes |
132 Deploying ASP.NET Applications
Bob Swart demonstrates how to deploy your ASP.NET applications and untangles the various gotchas you may encounter along the way. | n/a |
131 ASP.NET Template Columns
Bob Swart discusses template extensions to the ASP.NET DataGrid control, with the focus mainly on the EditItem template examples that can enhance the way you edit data in the DataGrid. |
constr131.zip 13.275 bytes |
130 Custom DB Web Controls
Bob Swart shows us how to create our very own DB Web controls for ASP.NET web application development. |
constr130.zip 24.416 bytes |
129 Enterprise Core Objects III, part II
Bob Swart continues his explanation of the use of Enterprise Core Objects in Delphi 2006; this month he demonstrates how to create ASP.NET applications, using Bob’s Error Report Tool (BERT) as a worked example. |
constr129.zip 141.178 bytes |
128 Enterprise Core Objects III
Bob Swart demonstrates the ECO III features in Delphi 2006, which are now brought down into the Professional Edition. We'll design a model for Bob's Error Report Tool (BERT) in an ECO Package, make the model persistent, and create a simple WinForms GUI for it. |
constr128.zip 105.930 bytes |
127 All Together Now!
Bob Swart demonstrates how to use the Together modelling features (without using ECO) as well as design patterns, UML refactoring, code audits and code metrics with the Borland Developer Studio 2006 IDE. |
constr127.zip 9.888 bytes |
126 BDP Enhancements In Delphi 2006
Bob Swart examines three new features in the Borland Data Provider (BDP) for .NET: SQL tracing, connection pooling and the error reconciliation dialog. |
constr126.zip 14.126 bytes |
125 ASP.NET HTTP Handlers And Modules
Bob Swart explains the power and practicality of these often-ignored aspects of ASP.NET. |
constr125.zip 8.219 bytes |
124 Web Services And Security
Bob Swart demonstrates various techniques that can be used to secure SOAP messages: adding both authentication and encryption to your web services, for Win32 as well as .NET applications. We learn about encryption and decryption using symmetric and asymmetric algorithms, plus WS-Security and X509 too. |
constr124.zip 7.513 bytes |
123 .NET Compact Framework
Bob Swart gets to grips with the recently released Delphi 2005 for .NET Compact Framework Technology Preview: a command-line compiler and collection of libraries which allow you to create applications for the .NET Compact Framework using Delphi 2005. In other words: use Delphi to develop software for your Pocket PC or SmartPhone! |
constr123.zip 30.041 bytes |
122 Writing .NET Components
Bob Swart gives us a sound introduction to creating new components for the .NET framework. He covers both FCL and WinForms component building, presenting two example components: a non-visual temperature conversion component and a compound navigator user control. Bob also shows how to create custom properties and events, as well as how to install and use the components you create. |
constr122.zip 26.677 bytes |
121 Globalisation And Localisation
Bob Swart explains what globalisation and localisation are and provides an introduction to globalisation (the handling of international data using different character encodings plus date, time, number and currency formats). Bob's main focus is on localisation details: producing different language translations of your applications. He shows how to do this with a VCL for Win32 application as well as with a WinForms application for .NET, accomplished using quite different techniques. |
constr121.zip 310.114 bytes |
120 Using The Skype API With Delphi
Bob Swart examines how to make use of the API for the increasingly popular Skype internet telephony application in Delphi to create a range of useful utilities for Skype users, including a nifty software answering machine. He also shows us how to make Skype calls from inside our Delphi applications |
constr120.zip 129.248 bytes |
119 Consuming Win32 In .NET Using Virtual Library Interfaces
Bob Swart describes how to use this new Delphi feature for importing and using Win32 DLLs in your .NET projects, explaining the steps you need to take, the benefits and the drawbacks too. |
constr119.zip 13.019 bytes |
118 Delphi 2005 And Unit Testing
Bob Swart gives us a thorough run-down of Delphi 2005's unit testing capabilities, showing in detail how to use them for both .NET and Win32 projects. If you are new to the concept of unit testing this article is an excellent place to start getting to grips with what is fast becoming an essential part of any developer's toolkit! |
constr118.zip 26.093 bytes |
117 Building SharePoint 2003 Web Parts
Bob Swart explains what Windows SharePoint Services 2003 is all about and shows how Delphi 2005 can be used to implement Web Parts that can be added to SharePoint workspaces, allowing us to customise the SharePoint tools and technologies with Delphi code and components. He covers both simple and more complex Web Parts, using properties, events, child controls and even a provider-consumer model, as well as deployment and security details. |
constr117.zip 29.851 bytes |
116 ASP.NET Techniques
Bob Swart describes some real-world ASP.NET techniques with Delphi 2005: using DataSync and DataHub, some enhancements in the DB Web controls, how to use the deployment manager, and lessons from migrating an IntraWeb 5.x application to ASP.NET. |
constr116.zip 20.705 bytes |
115 Delphi 2005, Databases And .NET Remoting
Bob Swart describes one of the handy enhancements made in Delphi 2005's database functionality: the Borland Data Provider category on the Tool Palette. However, despite their categorisation, the new components that Bob discusses are actually not limited to the Borland Data Provider; they can be used by any ADO.NET- compliant provider, including third-party ADO.NET drivers. Read on to find out the full details. |
constr115.zip 31.919 bytes |
114 .NET Assemblies, Security And AppDomains
Bob Swart explains the problems caused by assemblies that include P/Invoke calls, and explains how to overcome them. He then moves on to demonstrate how to dynamically load assemblies and use Reflection to get class types, methods and fields from these assemblies, plus unloading assemblies using an AppDomain and a wrapper. |
constr114.zip 46.644 bytes |
113 .NET Command-Line Tools, Delphi 2005 IDE Support And Assembly Hell
Bob Swart describes the use of some .NET command-line tools that can be helpful when integrated into the Delphi 2005 IDE. He also discusses some of the less visible gotchas in Delphi 2005 and the problems you will encounter using assemblies developed in one version of Delphi with a different version. |
constr113.zip 1.336 bytes |
112 Delphi 2005
Bob Swart reviews the latest version of Delphi, with both Win32 and .NET support in one IDE, plus C# as well as Delphi language compilation! Could this be the best ever Delphi? Check out Bob's review and find out! | n/a |
111 Big Brother Is Watching You
Bob Swart describes how to take control over the running of an application; specifically, to control how frequently MSN Messenger is used and for how many minutes in each day: very handy if like Bob you have kids who are addicted to MSN, or perhaps to their favourite game. |
constr111.zip 6.708 bytes |
110 DataSnap and .NET
Bob Swart shows how to use DataSnap with .NET: connecting to a DataSnap server for Win32, built using Delphi 7, from a .NET client in Delphi 8, and talking to Linux from .NET using a Win32 gateway DataSnap server to overcome the current lack of SOAP support on the .NET end! |
constr110.zip 50.790 bytes |
109 Webcam Publishing
Bob Swart wanted to find an easy way to keep in touch with the family while he's away, so he developed some nifty applications to make use of a few webcams: capturing, publishing and retrieving images, using a variety of Win32 and .NET technologies. |
constr109.zip 19.633 bytes |
108 Delphi Language Enhancements
Bob Swart outlines the additions to our beloved language that arrived with Delphi 8, and discusses which of these might make the transfer from .NET to Win32 in a future Delphi version. |
constr108.zip 5.236 bytes |
107 Delphi 7 Update 1
Bob Swart takes a good look at Update 1 for Delphi 7 to see what Borland has been doing to help the Win32 developers amongst us! Want to know if some annoying bug has been fixed – read this article! | n/a |
106 Intraweb for .NET
Bob Swart examines IntraWeb for .NET, providing an overview and comparing it to ASP.NET (with Delphi 8 for .NET). He focuses on login and authorisation/authentication, database support, session and state management, navigation, deployment, and finally custom components (including third-party components). | n/a |
105 ASP.NET User and Custom Components
Bob Swart explains the two ways to implement custom ASP.NET controls: adding them to an existing ASP.NET web forms application (in which case they are called ASP.NET user controls), or creating a complete new package for them (which is called a Web Control Library) and thereby ending up with an ASP.NET custom control. In this month's column Bob describes and demonstrates both techniques.
105 ASP.NET Security
|
constr105.zip 29.550 bytes secur105.zip 16.280 bytes |
104 MDA And Enterprise Core Objects
Bob Swart explains MDA, which stands for Model Driven Applications, and how we can use the Architect edition of Delphi 8 for .NET to put MDA into action with Enterprise Core Objects (ECO). |
constr104.zip 15.678 bytes |
103 Delphi 8 For .NET And ASP.NET Web Services
Bob Swart discusses ASP.NET web services, considered by many to be the best part of the .NET framework. He also explains how to migrate your existing Delphi web service engines to ASP.NET in such a way that the resulting project can be compiled with both Delphi 7 and Delphi 8 for .NET. |
constr103.zip 64.266 bytes |
102 Delphi 8 For .NET And Data Access Technologies
Bob Swart discusses several solutions for data access on .NET, both for VCL applications and those which do not use VCL for .NET, and explains when to use what, including an introduction to ADO.NET. |
constr102.zip 9.292 bytes |
101 Delphi For .NET, ASP.NET And DB Web Controls
Bob Swart starts with the Borland Data Providers for .NET, an open layer on top of ADO.NET providing support for multiple databases, and then uses them in an ASP.NET web forms application, using the new DB Web controls. |
constr101.zip 12,913 bytes |
100 RSS With Delphi For .NET
Bob Swart continue his coverage of RSS channels and feeds, but this time using Delphi 8 for .NET. He focuses on Delphi 8's XML and database support as it relates to this project, as well as the migration path for existing VCL applications. |
constr100.zip 20,809 bytes |
99 RSS Channels and Automatic Feeds
Bob Swart focuses on RSS channels and automatic feeds. He explains what RSS is, how it can be of benefit to RSS readers as well as the publishers, and (specifically in this issue) how to automatically produce RSS XML documents from a database, resulting in a database-driven content generator with an RSS channel to publish a table of contents. |
constr99.zip 8,633 bytes |
98 dbExpress And QualityCentral
Bob Swart uses the normalised data model developed over the last few issues and implements it using dbExpress to talk o InterBase. Along the way a number of problems arise and Borland's QualityCentral resource proves useful in solving these to get a working end result.
98 Moving To Delphi For .NET Today!
|
constr98.zip 20,720 bytes |
97 InterBase 7.1 and the Borland Data Providers for ADO.NET
Bob Swart describes how to use the recently introduced Borland Data Providers For ADO.NET in the Delphi for .NET command-line preview compiler to access InterBase databases.
97 Effective ClientDataSets
|
BDP97.zip 2,374 bytes constr97.zip 15,106 bytes |
96 Database Normalisation
Bob Swart provides some helpful database design rules, formally called database normalisation, but you can also call it common sense! Most developers have worked with databases in one way or another, maybe also designing databases and creating tables, but how many of us have taken the trouble to ensure our designs are efficient and effective? | n/a |
95 ASP.NET Web Services
Bob Swart shows how to build, test and deploy a Delphi for .NET web service on the .NET framework, as well as how to import such web services with Delphi 7 in order to illustrate some potential compatibility issues between Delphi 7 (Win32) and Delphi for .NET. |
constr95.zip 9,766 bytes |
94 Delphi For .NET, ODBC.NET, ADO.NET And MySQL
Bob Swart shows how to use MySQL with the Delphi for .NET preview compiler, through both ODBC.NET and (for greater performance, but at a cost of some cash!) ADO.NET. |
constr94.zip 4,803 bytes |
93 DCon Planning With Delphi (for .NET) And ASP.NET
Bob Swart continues to work on his schedule-choosing web application for DCon 2003, but this time he's using Delphi as an ASP.NET scripting language, courtesy of the Delphi for .NET preview compiler (and a lot of head scratching to work round the problems which came to light...). |
constr93.zip 14,794 bytes |
92 DCon Planning With IntraWeb 5.1
Bob Swart calculates that with over 40 technical sessions in two days, there are over 100,000 possible ways you can pick and follow the DCon 2003 sessions. Making sure you don't miss that crucial session may not be easy, so in this column he builds a semi-intelligent planning application with IntraWeb 5.1. |
constr92.zip 19,161 bytes |
91 Distributed Apps On The Cheap
Bob Swart thinks it's unfair that developers should have to use the expensive Enterprise editions of Delphi to build distributed applications, so in this article he examines how to use the RemObjects SDK to build multi-tier applications in Delphi 7 Professional. Important Note: In this article, I suggested that Delphi 7 Professional developers could purchase a DataSnap licence to be able to deploy the applications that make use of the ClientDataSet and DataSetProvider. Unfortunately, it turns out that it is not possible to purchase a DataSnap licence for Delphi 7 Professional. Technically, the presence of ClientDataSet and DataSetProvider in the product makes it possible to create a multi-tier application with Delphi 7 Professional (plus a third-party tool like RemObjects SDK) using these components, but it would not be legal to deploy such an application because the required runtime licence for DataSnap cannot be obtained without purchasing Delphi 7 Enterprise or Architect. I apologise for any confusion caused. |
constr91.zip 22,848 bytes |
90 MySQL Data Access Libraries
Bob Swart evaluates various third-party libraries you can use to get at your MySQL databases from Delphi apps: ZEOS Library, DirectMySQL and TmySQL (all are freeware or GPL), plus Core Lab MyDAC for Windows and finally the microOLAP MySQLDAC components (commercial products). | n/a |
89 Delphi, dbExpress And MySQL, On The Web
Bob Swart takes the MySQL knowledge gained in last month's column and applies it to web app development. |
constr89.zip 15,200 bytes |
88 Delphi, dbExpress And MySQL
The BDE has had its day, but some of the alternatives seem very costly (SQL Server at £1,612 for a 10-client version of the tandard product, anyone?). So Bob Swart has been checking out MySQL to see how easy it is to use with Delphi. Oh, and it's either free or very cheap, depending on the licence you choose! |
constr88.zip 3,219 bytes |
87 Delphi 7 SOAP And UDDI
Bob Swart describes the changes and enhancements to SOAP in Delphi 7, most notably the UDDI browser, as well as a workaround for an ISAPI SOAP problem. |
constr87.zip 17,727 bytes |
86 Encrypted ClientDataSets
Bob Swart shows how to encrypt ClientDataSet files for greater security and also how to use on-the-fly compression and decompression to speed them up as well. |
constr86.zip 5,056 bytes |
85 Transactional Data Modules (2)
Bob Swart continues his coverage of MTS/COM+, discussing various security issues, as well as debugging techniques and deployment features. |
constr85.zip 10,900 bytes |
84 Transactional Data Modules
Bob Swart describes the transactional data module: how to use it to create DataSnap servers, how to connect to it from DataSnap clients, and some of the differences (and benefits) it has compared to using a normal remote data module. |
constr84.zip 10,364 bytes |
83 Real-World WebSnap Techniques
Bob Swart continues examining some real-world WebSnap techniques, this month creating localisation options: the ability to dynamically switch display languages within your WebSnap applications. |
constr83.zip 16,408 bytes |
82 Real-World WebSnap Techniques
Bob Swart discusses some real-world WebSnap techniques he has discovered in his web application development, including user logins, DataSetAdapter naming conventions, BDE hints and using Amazon's XML support. |
constr82.zip 24,960 bytes |
81 Delphi 6.02 Web Services
Bob Swart tells us what's new with SOAP and Web Services in the recent Delphi 6 Update 2 (which is quite a lot, as it turns out!). |
constr81.zip 15,944 bytes |
80 ISAPI Filters, Part 2
Bob Swart continues his 2-part article on writing ISAPI filter DLLs: a really powerful way to do lots of clever stuff on your website. This month, he goes into more details on authentication (password-protected directories to you and me!) and also implements a little page-changing script framework. |
constr80.zip 10,436 bytes |
79 WebSnap Session Management For CGI
WebSnap session management using TSessionsService is not available for CGI applications or Kylix web apps, but Bob Swart explains what the problem is, what to do about it, and how he solved it to provide full session management for all web app targets.
79 ISAPI Filters, Part 1
|
cgisnap.zip 8,633 bytes constr79.zip 5,914 bytes |
78 DataSnap Sockets And Interceptions
Bob Swart checks out socket interceptions: peeking into what's happening between the client and the server when you use the SocketConnection component. Bob makes use of the IDataIntercept interface and the TPacketIntercept class. |
constr78.zip 14,466 bytes |
77 Delphi 6 DataSnap and SOAP
Bob Swart explains how to build cross-platform (Windows and Linux) and cross-language (Delphi and Kylix) multi-tier applications using DataSnap and SOAP. |
constr77.zip 14,308 bytes |
76 Delphi 6 DataSnap Connections
Bob Swart checks out DataSnap connections. There are three new components in Delphi 6 especially written for DataSnap connections (or providers of data), namely the ConnectionBroker, SharedConnection and LocalConnection. Bob explains what they are, plus when and how to use them. |
constr76.zip 14,308 bytes |
75 Delphi 6 WebSnap (3)
Bob Swart concludes his discussion of Delphi 6's WebSnap technology (well, for now at least) with various helpful techniques, including details of how persistent sessions work and guidelines for putting them to use in your web applications. |
constr75.zip 8,704 bytes |
74 Delphi 6 WebSnap (2)
Bob Swart continues his discussion of Delphi 6's WebSnap technology, covering master-detail relationships and creating user login functionality. |
constr74.zip 23,529 bytes |
73 Delphi 6 WebSnap (1)
Bob Swart begins an overview of this new web application development framework introduced in Delphi 6: what it's all about and how to use it. This month Bob shows how to get started and how to use the Web App Debugger application type for debugging. |
cdebug73.zip 8,692 bytes constr73.zip 180,934 bytes |
72 Delphi 6 Web Services
Bob Swart checks out Delphi 6's WebSnap, covering WebBroker and InternetExpress, with lots of new features, such as Web Services. |
constr72.zip 8,097 bytes |
71 Kylix Desktop Does CGI Too
Bob Swart shows how to create web server applications using just the Desktop version of Kylix (which has just been dramatically reduced in price!), including using dbExpress to develop database web applications. |
constr71.zip 3,510 bytes |
70 WebBroker for Linux
Bob Swart shows how we can use Kylix to create web server applications for the Apache web server running on Linux, with the built-in Web Broker technology found in the Kylix Server Developer Edition. |
constr70.zip 3,072 bytes |
69 DataCLX and dbExpress
Bob Swart introduces DataCLX and dbExpress: the cornerstone of database access in Kylix and Delphi 6. |
constr69.zip 545 bytes |
68 Data-Awareness and Interfaces
Bob Swart discusses data-aware components, using an IDataAware interface to conveniently and easily manage data-aware components. |
constr68.zip 4,664 bytes |
67 VisiBroker 3.3 for Delphi 5
Bob Swart continues his discussion of the new version of VisiBroker for Delphi, this month covering support for special type constructs and CORBA callbacks. |
constr67.zip 12,061 bytes |
66 VisiBroker 3.3 for Delphi 5
Bob Swart explains the goodies available in the latest version of Borland's tool for making CORBA applications easier for Delphi developers, including a new and much improved IDL2Pas. |
constr66.zip 13,531 bytes |
65 Wireless Application Protocol (2)
Bob Swart continues his explanation of writing applications that your WAP phone can access, covering the use of WAP images in the WBMP format. |
constr65.zip 8,723 bytes |
64 Wireless Application Protocol (1)
Bob Swart has been pushing the envelope of new technology: he explains what WAP is all about and how to create applications for generating the WML XML-like code that WAP phones use. |
constr64.zip 3,775 bytes |
63 Local ClientDataSets (2)
Bob Swart continues his examination of TClientDataSet as a small, fast local DBMS, showing how to use XML files as input for ClientDataSets, creating true thin-client applications which can communicate with a server using sockets. |
constr63.zip 16,354 bytes |
62 Local ClientDataSets (1)
MIDAS isn't just for multi-tier apps, says Bob Swart, but we can use it as a handy, compact and very fast local database engine, with just one DLL to ship (and no licence fees either!). Bob goes on to show how to use XML to get data into and out of a local ClientDataSet. |
constr62.zip 7,844 bytes |
61 Strings
Strings: we use them all the time and know everything there is to know about them, right? Wrong! Bob Swart delves under the hood to explain the various character and string types available in Delphi, how they work and which ones are appropriate to which use. | n/a |
60 Pooling And Brokering
Bob Swart returns to MIDAS 3 to explain Object Pooling and Object Brokering. If your web applications are feeling the strain and you need to share the software load over multiple servers, these technologies could provide just what you need. | n/a |
59 Delphi 5 Active Server Objects (2)
Bob Swart completes his coverage of developing Active Server Objects by looking at the way in which WebBroker and InternetExpress can be used by an Active Server Object. |
constr59.zip 9,542 bytes |
58 Delphi 5 Active Server Objects
Bob Swart describes how easy it is to create and use Active Server Objects in Delphi 5 that can be used in web (or intranet) pages created using Microsoft's Active Server Pages scripting language. |
constr58.zip 5,081 bytes |
57 Delphi 5 And MIDAS 3
Bob Swart discusses the new things to be found in MIDAS 3, including stateless remote data modules. He covers deployment issues and describes the best way to migrate your MIDAS 2 applications over to MIDAS 3. With the new (much) lower licence cost, MIDAS could now see far wider use by Delphi developers. | n/a |
56 CORBA Exceptions In Delphi
Bob Swart explains how to handle CORBA-specific exceptions in Delphi using VisiBroker. |
constr56.zip 6,941 bytes |
55 Internet Security
Bob Swart has some important advice to help secure your data and your customers' data, covering security layers, firewalls, proxies and SSL. Plus, he has some useful code which allows you to create password-protected areas on websites. |
constr55.zip 6,527 bytes |
54 VisiBroker for Delphi 5
Bob Swart shows three ways to create a Delphi CORBA client: using Type Library import units, using Dynamic Interface Invocation (DII) and finally using a true IDL-2-PAS solution as found in VisiBroker for Delphi 5. |
constr54.zip 6,457 bytes |
53 Delphi 5 WebBroker Stuff
Bob Swart discusses the enhancements made to the WebBroker framework in Delphi 5, with a very handy utility to implement and log rotating advertising banners on your website. |
constr53.zip 7,821 bytes |
52 Delphi 5 InternetExpress (3)
Bob Swart continues his coverage of Delphi 5's InternetExpress, which combines WebBroker and MIDAS technologies, producing HTML and XML for ultra-thin clients. | n/a |
51 Delphi 5 InternetExpress (2)
Bob Swart continues his exploration of Delphi 5's InternetExpress technology. This month, Bob discusses how to limit the amount of data being sent from the server to the browser, how to handle reconcile errors, and even how to use the technology in a single-tier web server app. |
constr51.zip 21,970 bytes |
50 Delphi 5 InternetExpress (1)
Bob Swart describes Delphi 5's InternetExpress, which combines WebBroker and MIDAS technologies, producing HTML and XML for ultra-thin clients. And as it's Dr.Bob, you can be sure he explains it step by step. | n/a |
49 Distributed Efficiency
Bob Swart finds that for today's distributed applications optimisation means much more than speeding up a slow but frequently used routine. This month he shows how we can measure the amount of data transfer going on and then minimise it to improve response. |
constr49.zip 508 bytes |
48 Delphi Goes Dynamic
Bob Swart discusses the dynamic creation of components and event handlers, with a fun little application to test out the techniques and keep your children amused too! |
constr48.zip 3,322 bytes |
47 Creative Debugging Techniques
Bob Swart explains the various debugging techniques available in Delphi, including remote debugging. |
constr47.zip 15,631 bytes |
46 Delphi 4 Nested Tables
Bob Swart explains what TNestedTable is all about and how we can make use of it in multi-tier application development. |
constr46.zip 13,658 bytes |
45 Delphi 4 And Java, Part 2
Bob Swart is joined by Java expert Hubert Klein Ikkink again this month, together they connect a Java applet to a Delphi web server application using CORBA. |
constr45.zip 5,232 bytes dm45java.zip 13,829 bytes |
44 Delphi 4 And Java
Bob Swart is joined by Java expert Hubert Klein Ikkink this month, together they connect a Java applet to a Delphi web server application. |
constr44.zip 7,473 bytes dm44java.zip 12,746 bytes |
43 Delphi 4 and CORBA
Bob Swart introduces CORBA Server and Client development for Delphi programmers, with a handy application to retrieve newsgroup messages from behind your company's firewall! | n/a |
42 Usenet News Reading, Part 2
Bob Swart continues his work with the Network News Transfer Protocol (NNTP), showing how to write code that posts messages to Usenet newsgroups. |
constr42.zip 10,063 bytes |
41 Usenet News Reading
Bob Swart investigates how to write your very own Usenet Newsgroup reader in Delphi, from the ground up, covering the murky world of the NNTP protocol, sockets and more. |
constr41.zip 7,551 bytes |
40 Surfin' Your Surfers With TDecisionCube
Bob Swart uses the decision cube technology included in Delphi Client/Server Suite to explore his website visitor data, gathered with last month's multi-tier website visitor tracking system. |
constr40.zip 6,880 bytes |
39 Website Visitor Tracking
Bob Swart builds on his introduction to distributed computing by creating a distributed application to monitor and track website visitors in full detail and glorious technicolor. |
constr39.zip 27,391 bytes |
38 MIDAS, CORBA And TClientDataSet
Multi-tier architecture is all the rage and Bob Swart provides a timely and practical introduction to Delphi 4's support to help you get started. | n/a |
37 Delphi 4 Web Broker Technology
Bob Swart has been checking out what's new in the Web Modules internet application support in Delphi 4, now available as a Web Broker add-on for Delphi 4 Professional Edition users too. |
constr37.zip 1,725 bytes |
36 Intelligent Agents: RobotBob
Bob Swart builds on his automatic email project from last month to show how to create internet agents and robots to automate tedious tasks like checking websites for new material and fetching files via FTP. |
constr36.zip 11,562 bytes |
35 Automated Email
Bob Swart shows how to automatically send email from your webserver using the SMTP protocol (but not for Spam of course, ok everyone?!). |
constr35.zip 26,743 bytes |
34 Database Web Server Extensions
Following on from last month's instalment, Bob Swart shows how to convert a CGI database application into an ISAPI DLL, for dramatically improved performance, all without Web Modules (so Delphi 3 Client/Server is not a requirement!). |
constr34.zip 39,447 bytes |
33 Internet Database Applications
In response to reader feedback, Bob Swart discusses how to create real-world CGI applications for the web without using Delphi 3's WebModules: this means you don't need the Client/Server Edition of Delphi 3 to create web apps! |
constr33.zip 4,490 bytes |
32 A Query HTML CGI-Form Wizard
Tired of hand-coding all your CGI forms in HTML? No problem, `Dr.Bob' Swart has a wizard to do the job for you, enhancing Delphi 3's Web Modules. Along the way he visits property and components editors too. |
constr32.zip 57,748 bytes |
31 A Simple Spelling Checker
Bob Swart describes the implementation of a spelling checker using minimal resources: ideal for when the Full Monty would be over the top! |
constr31.zip 18,319 bytes |
30 Website Indexing, Part 2
Want to add a search engine to your website? Bob Swart has all the code you need: building on last month's instalment, he adds support for AND, NOT and OR keywords in queries and plugs in some performance boosts too! |
constr30.zip 8,844 bytes |
29 Website Indexing, Part 1
Would you like to include a search facility on your website? Bob Swart begins a 2-part series describing how to do exactly that in Delphi. Even if you aren't into website building, the techniques are really useful for non-web applications too! |
constr29.zip 7,244 bytes |
28 Assertions
Delphi 3 introduced assertions and Bob Swart explains how to use them to best effect in error handling, along with implementations for earlier Delphi versions too! |
constr28.zip 1,198 bytes |
27 TBrokenLink Component
Now you know who's visiting your website (see last month's column), it's time to find and fix up all those broken links! Bob Swart creates a component to find both local and internet-wide broken links, plus there's a copy of his InterBob link checker on the disk too! |
constr27.zip 339,230 bytes |
26 Homepage Hit Counter
Who's been coming to call? Bob Swart shows how to construct various types of hit counter for your website so you can discover exactly how popular you are! |
constr26.zip 7,918 bytes |
25 Delphi 3 Web Modules, Part 2
Continuing on from last month, Bob Swart shows how to write dynamic queries, save state information and even eat some cookies along the way... |
constr25.zip 159,371 bytes |
24 Delphi 3 Web Modules, Part 1
Bob Swart begins a 2-part investigation into the new web modules included with Delphi 3's Client/Server Edition |
constr24.zip 6,747 bytes |
23 Delphi 3 Packages
Bob Swart is joined by Chad Hower this month, together they give us the complete run-down on Delphi 3's new packages: using them for both run-time and design-time, writing and deploying them, with the benefits and pitfalls revealed, plus package collections and code signing. Phew! |
constr23.zip 42,884 bytes |
22 Delphi 3 ActiveForms
Bob Swart shows how to use one of the great new features in Delphi 3, making a Wizard ActiveForm and deploying it on the Web too! |
constr22.zip 33,239 bytes |
21 Delphi Wizard Magic
We've made Experts before, but now Bob Swart shows how to turn them into Wizards with an interface consistent with you know who, along with details of how to make Wizards binary compatible with both Delphi and C++Builder! |
constr21.zip 11,730 bytes |
20 Multi-Threading In Components
Bob Swart explains how to implement multi-threading in your applications and custom components and his concurrent programming tips help keep some hungry Dutch monks alive... |
constr20.zip 5,856 bytes |
19 A Delphi 2.01 CGI Debugger
Delphi builds great CGI applications for the internet, now you can easily debug or demo them without a web server using Bob Swart's new CGI debugger, built using the NetManage ActiveX controls which come with Delphi 2.01 |
constr19.zip 81,87 bytes |
18 Talking DDE To ProgMan
Bob Swart develops 16-bit and 32-bit DDE components to work with your Windows environment: creating groups, adding items and so on |
constr18.zip 4,899 bytes |
17 TRuleBase Component
Bob Swart's returns to the theme of knowledge-based systems, developing rulebase and factbase components with supporting property and component editors too |
constr17.zip 10,792 bytes |
16 Knowledge Based Solutions
Bob Swart's specialist area is knowledge based systems and here he explains how to create simple but powerful rule-based systems in Delphi, using both forward and backward chaining |
constr16.zip 5,155 bytes |
15 Delphi 2 and CGI
Bob Swart develops an interactive World Wide Web based version of The Delphi Magazine Book Review Database, showing that developing applications for the Internet is nothing to be scared of! |
constr15.zip 11,479 bytes |
14 Testing And Debugging
Bob Swart has some useful tips, techniques and guidelines for keeping your components bug-free and finding those few that slip through the net |
constr14.zip 1,231 bytes |
13 AddIn Experts
Delphi 2.0 has a new, fourth, kind of expert and Bob Swart shows how to build your own, and there's even a bug-tracking expert on the free disk! |
constr13.zip 16,113 bytes |
12 A Hex Viewer And Editor
Bob Swart returns to component writing in this month's column, with a viewer and editor for binary files of up to 2Gb! |
constr12.zip 7,160 bytes |
11 Whats New?
Bob Swart re-visits the topic of sharing a component library in workgroup development, with an update and some fresh utilities |
constr11.zip 5,991 bytes |
10 Version Control Systems
Bob Swart describes the development of his ViCiouS version control system, showing how you too can develop your very own VCS! |
constr10.zip 58,319 bytes |
9 Components For Workgroups 1
Bob Swart offers useful advice and utilities for component management in a Delphi team development environment |
constr09.zip 47,668 bytes |
8 Component Editors
Bob Swart describes how to make use of Delphi's built-in component editors and shows how to build your own too |
constr08.zip 2,769 bytes |
7 Data-Aware Components
Bob Swart shows how to build your own data-aware controls, using a control to play WAV sound data from BLOB fields as an example |
constr07.zip 193,439 bytes |
6 Property Editors
This month Bob Swart shows how to add custom property editors to your components, finishing up with a new image property editor you can plug straight into Delphi |
constr06.zip 30,496 bytes |
5 Custom Events
Bob Swart describes how to add custom events and event handlers to your components |
constr05.zip 41,109 bytes |
4 Component Help
Bob Swart shows how to integrate help for developers using your components into Delphi's multihelp environment |
constr04.zip 29,487 bytes |
3 Customising Controls
Bob Swart shows how to derive new components from existing ones, using a right-aligned edit control as an example |
constr03.zip 1,631 bytes |
2 Tic-Tac-Toe
Bob Swart's component-building column focusses on encapsulating DLLs into Delphi components, by means of a tic-tac-toe game example (better known to British readers as noughts-and-crosses!) |
constr02.zip 14,739 bytes |
1 Build Your Own Components
Bob Swart kicks off his regular column by showing us how to get started on writing Delphi components |
constr01.zip 4,908 bytes |