Discussing, Learning, and Using Delphi and related technologies to create Great Applications!
procedure Meeting;
const
  MeetingTitle = 'RAD Server, Part 1½';
  MeetingMonth = 2025.02 ;
  { tags: #Homer Jones #RAD Server #2025 }
begin
  WriteLn('''

In October of 2023, the concepts of building RAD Server modules were introduced with the promise of a more advanced topic “soon”. Well, next month, we will finally dive into the deep end but this month a refresh of that introductory topic will be shared along with a quick database demo that produces a JSON list of customers. Additionally, a quick show-and-tell of an Android app written with the popular JavaScript framework, React Native will demonstrate how the JSON data produced is used.

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Advent of Code';
  MeetingMonth = 2024.12 ;
  { tags: #AoC #2024 }
begin
  WriteLn('''

For the last 10 years, a set of programming challenges has been produced on a daily basis from the beginning of December until Christmas. It is called Advent of Code, a name derived from the “Advent Calendars” popular this time of year where kids open a daily tab on a wall-hung calendar to reveal a surprise as they count down the days until Christmas.

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Migration Automation';
  MeetingMonth = 2024.11 ;
  { tags: #refind #2024 }
begin
  WriteLn('''

Tonight we’ll look at a batch script that calls three command-line utilities which perform a lot of tedious work of migrating legacy Delphi 5 programs to compile under Delphi 12. The old code base uses the BDE and a lot of custom components; the new code uses FireDAC and Raize Controls and Quantumn Grid from DevExpress–a huge jump in functionality and improvement in user interface!

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 12 Features';
  MeetingMonth = 2024.10 ;
  { tags: #2024 }
begin
  WriteLn('''

This month will be a light touch on a few of the recent features added to Delphi 12, including AI integration, Split Editor, Focus Mode, and WebStencils.

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'September: Social Get-Together';
  MeetingMonth = 2024.09 ;
  { tags: #2024 }
begin
  WriteLn('''

This month, we’ll meet at Gene and Sue’s home for authentic home-made pizza! They have a new address and would like a head-count, so watch your email and RSVP to that. If you want to attend, join our Groups.io mailing list and I’ll make sure you get an invite.

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Tech Chat';
  MeetingMonth = 2024.07 ;
  { tags: #2024 }
begin
  WriteLn('''

We’re taking it easy this month–no official presentation, no computers, just get together as friends and make sure we’re all surviving the summer heat!

  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'June: Canceled!';
  MeetingMonth = 2024.06 ;
  { tags: #2024 }
begin
  WriteLn('''
Due to multiple conflicting schedules, we will not hold our regular Delphi meeting in Oregon this month. Enjoy the Juneteenth holiday and we’ll see you in July!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;