Discussing, Learning, and Using Delphi and related technologies to create Great Applications!
procedure Meeting;
const
  MeetingTitle = 'Final Regular Meeting';
  MeetingMonth = 2010.05 ;
  { tags: #2010 }
begin
  WriteLn('''
We will have one final “regular” meeting of the Oregon Delphi User Group. It’s been a good run, lasting 15 years, but as things change and people move on, other venues of networking and professional development will, and have already begun, to take its place. There is no prepared topic as there will likely be reflections over the past years and discussions of future trends. However, continuing the theme of our March meeting, another project, a very different one (involving GUIDs, Unicode, and reporting), has had its own “Conversion Story” and several lessons learned from that experience could be shared as interest dictates.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Conversion Story';
  MeetingMonth = 2010.03 ;
  { tags: #Database #Homer Jones #2010 }
begin
  WriteLn('''
The following is a preview of the March 15, 2010 ODUG meeting… It is a story of corruption in high places, and the daunting task of doing away with the evildoers – at least those responsible for the unrest. To the casual observer, everything seemed normal, but down deep, where access to the critical information took place, events unfolded with far reaching implications. Some said that corruption was just a fact of life.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 2010';
  MeetingMonth = 2010.03 ;
  { tags: #Slides #2010 }
begin
  WriteLn('''
Delphi® is one of the most respected and widely used Rapid Application Development (RAD) environments today. Over 1.7 million developers worldwide choose Delphi over other tools because Delphi radically speeds desktop, workstation, touch, kiosk, and Web application development without sacrificing an ounce of programming power or control. Applications built with Delphi are lightning fast, compact, provide rich UIs, and can connect with virtually any database or data source “out-of-the-box”. RAD Studio 2010 helps you go further and get there faster with more than 120 new and enhanced features that help you finish projects faster and reach more users.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Member Showcase';
  MeetingMonth = 2009.11 ;
  { tags: #Steve Payne #2009 }
begin
  WriteLn('''
This month’s meeting will be a demonstration of three commercial applications written in Delphi: File Extractor Pro, Cell Phone Analyzer, and SIM Analyzer Pro. File Extractor Pro is a data carving tool. It allows the user to carve deleted files from a logical partition in either NTFS or FAT12/16 and FAT32. A standalone image file in both raw bit stream format (think DD file) and compressed sgzip with 64k size clusters.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'DLLs for Easier Updates';
  MeetingMonth = 2009.09 ;
  { tags: #DLLs #Gene Juhos #2009 }
begin
  WriteLn('''
Using DLLs when you distribute your application allows you to replace individual components of your application suite without having to kick all users out of the program. For instances, the Accounts Payable module can be replaced without shutting down the shipping department. DLLs can be very useful in many situations and once you learn a few tricks, are really quite simple. We will talk about how to structure your application to use DLLs to make updating installed applications much simpler to manage and keeps customers working happily.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Mid-Summer Fun';
  MeetingMonth = 2009.07 ;
  { tags: #2009 }
begin
  WriteLn('''
It’s the middle of the summer, so let’s set the serious work aside and have a little fun for a change. I bet we can still learn something… First, I found an old OpenGL program that displays fireworks and thought it would be fun to look at the code and watch splashes of color explode–especially since some major fireworks displays in the area were canceled this year due to budget constraints.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi Magic!';
  MeetingMonth = 2009.05 ;
  { tags: #Slides #2009 }
begin
  WriteLn('''
There is a saying that any technology that is sufficiently advanced is indistinguishable from magic! There are a lot of new features and language enhancements in the last three versions of Delphi that may seem like magic to those who do not know about them. And there are some features that have been in Delphi for a long time that some don’t realize are there. On May 18, 2009, the mysteries of the unknown and the secrets of the masters will be shown in real applications.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 2009 Tour!';
  MeetingMonth = 2009.03 ;
  { tags: #Anders Ohlsson #Delphi Release #Slides #2009 }
begin
  WriteLn('''
Anders Ohlsson from CodeGear will be at our group in Portland to talk about the latest Delphi products for both Windows 32 and .NET, show how to move your existing projects to the new environments, demonstrate modeling techniques to improve your code, and give you insight on rapidly creating web applications. There will be discounts on Delphi 2009, C++Builder 2009, or RAD Studio 2009. And one lucky winner will walk away with a free copy of RAD Studio 2009 Pro!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = '2008 Wrap-Up';
  MeetingMonth = 2008.11 ;
  { tags: #RemObjects #2008 }
begin
  WriteLn('''
The end of the year is fast approaching. Since we only meet every other month, this is the last meeting this year. I had asked CodeGear to come out and show us Delphi 2009 and talk about new developments, but that doesn’t seem to be an option for us right now. So for our November meeting tomorrow night, I would like to open up the floor to discussion on Delphi news and developments and invite you to share your opinions on where the programming tools are heading.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Web Services';
  MeetingMonth = 2008.09 ;
  { tags: #Slides #Web #2008 }
begin
  WriteLn('''
Several months back, we had a meeting on XML and I promised a “Part II” that would go into web services. That will finally be fulfilled at our next regular semi-monthly meeting. There will be a brief introduction to web services, what they are, and who might be using them. Then we’ll get into the code by creating three web services in Delphi 2006, each increasing in complexity, and each with a VCL client to use them.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'DLLs';
  MeetingMonth = 2008.05 ;
  { tags: #DLLs #Gene Juhos #2008 }
begin
  WriteLn('''
This month, the trials and tribulations of creating and running DLLs in Delphi will be discussed. We will talk about whether or not you really need DLLs, how to handle versioning, and interface design. PRESENTER Gene Juhos of Sysmatics started his programming career writing code for an IBM 3741. He’s written useful code in COBOL, FORTRAN, C, C++, Assembler, CADOL and lately mostly Delphi. He took his first Delphi training class in 1996 using Delphi 3.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'To be determined';
  MeetingMonth = 2008.03 ;
  { tags: #2008 }
begin
  WriteLn('''
We don’t have a formal presentation planned, but will discuss whatever topics arise from the group. Delphi on a laptop will be available to write sample programs wherever the night’s discussion takes us.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Components and Unit Tests';
  MeetingMonth = 2008.01 ;
  { tags: #Components #Slides #2008 }
begin
  WriteLn('''
This month we’ll explore some custom-written non-visual components that have been useful in several projects, encapsulating common functionality for ease of use and consistency. This isn’t a new topic, but is a great starting point to discuss unit testing. Unit testing is not a new topic either, but one that more people should look at. Studying these two topics together could branch in various directions, depending on questions and preferences from the audience.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'QA';
  MeetingMonth = 2007.11 ;
  { tags: #Chris Newcombe #Quality Assurance #2007 }
begin
  WriteLn('''
Quality Assurance is the elusive goal of every product manager–and the bane of every programmer. OK, I don’t know that for sure, but producing bug-free applications can drive a programmer crazy if he has to work with loose guidelines or tight time-constraints. But aren’t those both par for the course? This month’s format will be a little different. There will be an introduction by David Cornelius, focus on examples with Chris Newcombe, then the audience is encouraged to share their “worst bug ever” and how they overcame it.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'This and That';
  MeetingMonth = 2007.09 ;
  { tags: #2007 }
begin
  WriteLn('''
We don’t have a formal presentation this month, but instead will discuss a few topics that may include the following (based on audience preference): Utilities written in Delphi How to call a web service CodeGear’s RAD Studio 2007 What is Blackfish SQL? Others? PRESENTER David Cornelius has been using Borland’s software development tools since the mid-80’s. He is the coordinator of the Oregon Delphi User Group, works for Retail Dimensions, is a contract programmer through CorneliusConcepts.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Live Templates';
  MeetingMonth = 2007.07 ;
  { tags: #Slides #2007 }
begin
  WriteLn('''
Starting with Delphi 2006, the base product has a VERY cool feature previously only available in 3rd-party add-on products such as Code Rush and Castalia. The feature is Live Templates and allows the user to write macros with customized paramters. It is a great productivity enhancement and is much more powerful than many people realize. With Live Templates you can: fix typos automatically; insert large code snippets with a couple of keystrokes; remind yourself of obtuse parameter options; greatly speed up coding.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'CodeGear Delphi 2007 and Delphi for PHP Launch Tour!';
  MeetingMonth = 2007.05 ;
  { tags: #David I #Delphi Release #2007 }
begin
  WriteLn('''
Experience the CodeGear products first-hand in Portland! You will be provided with a CodeGear update, as well as presentations and demonstations showcasing the new products. As if the opportunity to check out our newest, coolest toys wasn’t enough, we will also give all attendees a special product discount, and enter your name in a raffle for products and even an 80GB iPod! PRESENTER David Intersimone from CodeGear, and Michael Li from InfoCan Management
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Impromptu Discussions';
  MeetingMonth = 2007.04 ;
  { tags: #2017 }
begin
  WriteLn('''
We have no specific planned presentation this month. We’ll gather as colleagues in the industry and friends that like to talk about computers and programming and see what topics emerge!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'CodeGear Discussion';
  MeetingMonth = 2007.03 ;
  { tags: #2007 }
begin
  WriteLn('''
Did anyone “attend” the virtual CodeGear conference last week, CodeRage? There were some good sessions, although I didn’t have time to listen in on all I wanted to. If you missed any of them, they’re all available at the CodeRage web site. The topic this month is just a loose discussion around Borland/CodeGear and speculation about how they’ll do this year. Delphi 2007 for Win32 was announced on Friday and has several really nice features and improvements.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'General Discussion';
  MeetingMonth = 2007.01 ;
  { tags: #2007 }
begin
  WriteLn('''
There is no planned presentation tonight. However, if you want to influence this year’s schedule, discuss programming concepts, debate politics, or hear some home remodeling stories, meet me at the Lorenzen Center Monday night. I’ll be there around 5:30 PM. PRESENTER David Cornelius has been using Borland’s software development tools since the mid-80’s. He is the coordinator of the Oregon Delphi User Group, works for Retail Dimensions, and runs a contract software development business (CorneliusConcepts.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Nick Hodges' Fourteen Reasons Why You Should Upgrade to BDS2006';
  MeetingMonth = 2006.11 ;
  { tags: #Slides #2006 }
begin
  WriteLn('''
Less than half of our meetings this year have covered Delphi (1 month on FinalBuilder, 1 month skipped, 1 month on Java, and 3 months on PHP), so I decided it would behoove us to finish out the year with an actual Delphi presentation. While trying to figure out what would be a good topic and who I might be able to get up on the platform, I happened across an interesting blog.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Content Management Systems';
  MeetingMonth = 2006.10 ;
  { tags: #2006 }
begin
  WriteLn('''
Due to the high interest in Content Management Systems (CMSs) and PHP scripting, we’ll spend this month’s meeting discussing them. There won’t be a formal presentation, but there will be a laptop with a working copy of WAMP (Windows/Apache/MySQL/PHP) and at least Drupal and Joomla! loaded. To get you started on a good discussion, here are some web sites for reference you can browse beforehand: Read independent evaluations: CMS Watch Explore and test: Open Source CMS Compare and discuss: CMS Matrix PRESENTER David Cornelius has been using Borland’s software development tools since the mid-80’s.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Java Study';
  MeetingMonth = 2006.09 ;
  { tags: #Java #Rod Johnson #2006 }
begin
  WriteLn('''
In our continuing exploration on other programming langages and platforms, we cannot ignore Java. By using the JVM (Java Virtual Machine), the programmer can write once and run (almost) everywhere–at least more places than .NET can currently boast. Developers can write GUI client apps, enhance web pages, and build back-end server systems. Perhaps one of the more appealing aspects for Delphi Developers is the fact that Java is stronly typed and fully object-oriented.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'More PHP';
  MeetingMonth = 2006.06 ;
  { tags: #Ken Cobun #PHP #2006 }
begin
  WriteLn('''
This month, the topic will continue our exploration of PHP. Last month was an introduction, this month we’ll get more advanced. The topic will largely be directed by the audience, but will try to at least touch on the following topics: Setting up PHP, Apache, MySQL on Windows (WAMP) Configuration of PHP.INI (Development vs Production) How to control your web application with .htaccess Security issues We’ll also see some sample web pages generated with PHP and try to address any other topics the group wants to talk about.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Introduction to PHP';
  MeetingMonth = 2006.05 ;
  { tags: #Chris Newcombe #PHP #2006 }
begin
  WriteLn('''
PHP - that’s the P from LAMP - is essentially a scripting language used inside HTML code to build dynamic web pages. Tonight’s talk will be an introduction to PHP. Examples of different coding structures will be given, presented from the perspective of what the PHP equivalent is to the familiar Delphi structures. To illustrate these concepts in a practical way we’ll go through the steps to build a simple website for a small store.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;