Discussing, Learning, and Using Delphi and related technologies to create Great Applications!
procedure Meeting;
const
  MeetingTitle = 'Delphi 10.4.2 CE and Radiant Shapes';
  MeetingMonth = 2021.07 ;
  { tags: #2021 }
begin
  WriteLn('''
A couple of things will likely be discussed at our meeting: Delphi’s new Community Edition based on Delphi 10.4.2 A quick look at Radiant Shapes and a discussion about other shape libraries. LOCATION We’re meeting in person at the old familiar place!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Keeping Pop-up Forms Where They Belong';
  MeetingMonth = 2021.06 ;
  { tags: #Homer Jones #2021 }
begin
  WriteLn('''
Have you ever locked yourself out of your program by not being able to get to a modal form that somehow got sent behind the main form? Have you struggled with the differences between the Owner and Parent of a form or tried to solve your z-ordering problem by simply setting the FormStyle to fsStayOnTop? This month, Homer Jones will help decipher all this and give you a great solution to these issues commonly fought when writing Delphi VCL programs having just solved these for his customers.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'May In-Person Social Event!';
  MeetingMonth = 2021.05 ;
  { tags: #2021 }
begin
  WriteLn('''
With most ODUG attendees vaccinated now, we are thrilled to be able to meet in person once again! One of our members has graciously offered their place for a back-yard social. This means there will be no formal technical topic and no online meeting in May.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Testing';
  MeetingMonth = 2021.03 ;
  { tags: #Jonathan Eaton #2021 }
begin
  WriteLn('''
Various topics concerning testing will be discussed this month, including types of testing (e.g. Unit Testing or Integration Testing). Jonathan Eaton will highlight these differences, sharing strengths and weaknesses and when to use which types. David Cornelius will demonstrate the DUnit test framework in Delphi. Join us online and share your experience with us. PRESENTER Jonathan Eaton is a Delphi programmer, an author, and an ASQ certified software quality engineer. He spent about three years implementing and maintaining an FDA-compliant QM process for the software development of what the FDA would consider a “software component of a medical device”–in this case, a Delphi application, and later a website, that patients and clinicians could use to download and analyze patient data recorded by blood glucose meters and insulin pumps.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Framed!';
  MeetingMonth = 2021.02 ;
  { tags: #Gene Juhos #2021 }
begin
  WriteLn('''
Frames in Delphi are a handy way of grouping controls together and then using them multiple places. You can attach code as well. This month, Gene Juhos will be demonstrating the uses and benefits of using frames in Delphi. Tune in to learn and share your experiences! PRESENTER Gene Juhos has been working with Delphi since version 3. Before that he used the Pascal language on the Apple Lisa. He started his programming career writing code for an IBM 3741.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Inaugural Meeting';
  MeetingMonth = 2021.01 ;
  { tags: #Homer Jones #2021 }
begin
  WriteLn('''
Inauguration Day, 2021. A new leader takes the helm of the U.S. amid a challenging pandemic and political upheaval. But technology has not stopped evolving and in fact has advanced faster than usual this last year to embrace the tremendous increase of people working from home but still needing to collaborate. What’s in store for you this year? Homer Jones has added some error checking and an SMS feature to his Windows software hosted in the cloud.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'December Holiday Chat';
  MeetingMonth = 2020.12 ;
  { tags: #2020 }
begin
  WriteLn('''
We don’t usually meet in December but since there are so few holiday events which would normally take us out of our homes we have more time. Plus, many of us need an excuse to see others, if only to verify we’re not alone. So we’ll take an hour or two online during our normally scheduled third Wednesday and wish each other happy holidays and best wishes for a prosperous new year!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'November Member Share';
  MeetingMonth = 2020.11 ;
  { tags: #2020 }
begin
  WriteLn('''
Thanksgiving is a time for thankfulness and sharing. For our November meeting, we’ll give each attendee an opportunity to share something they’ve done recently that might be interesting to the rest of the group and to mention something they’re thankful for. This has been a crazy year and the goal is we’ll encourage each other with cool technological feats or accomplishments. Hopefully, some of these activities will involve Delphi somehow but we’re going to leave it open.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'October Online!';
  MeetingMonth = 2020.10 ;
  { tags: #2020 }
begin
  WriteLn('''
With no end in sight to quarantine restrictions for indoor gatherings, we’re going to meet online in October. A link will be provided a week before the meeting, which will be back to our regular schedule: 6:00 PM the third Wednesday of the month. We won’t have a specific topic but will just have an open discussion of how this strange year has affected your business or career. We may also look at the new features of the latest version of Delphi, 10.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;