Discussing, Learning, and Using Delphi and related technologies to create Great Applications!
procedure Meeting;
const
  MeetingTitle = 'Skia4Delphi';
  MeetingMonth = 2022.06 ;
  { tags: #2022 }
begin
  WriteLn('''
Embarcadero has a contest going on right now for creating the most beautiful GUI with Skia for Delphi. Skia is a 2D graphics engine, sponsored by Google, that provides a common API across various hardware and software platforms, including all the major web browsers. A couple of smart guys in Brazil have created an open source library called, Skia4Delphi to make this API work in both VCL and Firemonkey applications. We’ll run their sample programs and perhaps even show some of our own creations at the June meeting.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Logging: Local and Remote';
  MeetingMonth = 2022.05 ;
  { tags: #2022 }
begin
  WriteLn('''
What kind of logging do you implement in your Delphi apps? Do you simply write out a few lines to a .LOG file? Or do you use a library that has detailed and highly structured logging for every action your users take? What about remote usage reporting? If you distribute a desktop app, how do you know how many people use it and how often? There’s no one true way for everyone or every application.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'April Meeting';
  MeetingMonth = 2022.04 ;
  { tags: #2022 }
begin
  WriteLn('''
We’re meeting in person this month–and at a new location! No specific topic planned but we will, as usual, catch up with what we’re doing with Delphi and technology in general, share pizza and laughs, and evaluate the new location.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 11.1 Alexandria';
  MeetingMonth = 2022.03 ;
  { tags: #2022 }
begin
  WriteLn('''
The latest version of our favorite development tool, Delphi 11.1 Alexandria has been announced! What are you looking forward to in this upgrade? We’ll chat about technology, avoid depressing world events topics, and think about where we want to meet next month.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi Turns 27 - A Look Back';
  MeetingMonth = 2022.02 ;
  { tags: #2022 }
begin
  WriteLn('''
February 14 marked the 27th anniversary of the release of Delphi. The meeting this month will focus on the history of Delphi, both reviewing products released over the years and how Delphi has impacted your life, career, or business. Please join us online and share your experience.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Metadata Extraction';
  MeetingMonth = 2022.01 ;
  { tags: #Homer Jones #2022 }
begin
  WriteLn('''
Our main topic for the first meeting of 2022 will be shared by Homer Jones: If you’ve ever right clicked a file in Windows Explorer and selected Properties, you may have noticed the Detail tab. Those details list the file’s metadata. Depending on the type of file, that metadata can have interesting information about the data in the file (the definition of metadata). Homer will show how to extract that metadata without displaying the actual contents of the file.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'December Meeting';
  MeetingMonth = 2021.11 ;
  { tags: #2021 }
begin
  WriteLn('''
We’ll meet in December at the same time and at the same place, but we’ll discuss moving our meeting location elsewhere because the live music that starts in the main room at 7:00 makes it difficult to hear each other. Join us for the last ODUG meeting of the year!
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Book Release Event!';
  MeetingMonth = 2021.11 ;
  { tags: #2021 }
begin
  WriteLn('''
With the release of the book, Fearless Cross-Platform Development for Delphi occurring in late October, the author will be at the meeting in November to talk about the writing process, example projects, and what he learned. Join David Cornelius and one of his technical reviewers, Jonathan Eaton, as they discuss the book and celebrate it’s release. PRESENTER David Cornelius is a full-time Delphi developer and has been programming since the 1980s.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Delphi 11 Alexandria';
  MeetingMonth = 2021.09 ;
  { tags: #Delphi Release #2021 }
begin
  WriteLn('''
The next major version of RAD Studio was released last week. We’ll take a look at Delphi 11 Alexandria and discuss what it means for you. PRESENTER David Cornelius is a full-time Delphi developer and has been programming since the 1980s.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

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;

procedure Meeting;
const
  MeetingTitle = 'MARCH MEETING CANCELED!';
  MeetingMonth = 2020.03 ;
  { tags: #2020 }
begin
  WriteLn('''
With the rapid spread of Corona virus, we will support the advice to limit interactions with others until the threat has abated. Furthermore, since all restaurants are closed for in-house dining, All future meetings are suspended until further notice.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;

procedure Meeting;
const
  MeetingTitle = 'Sysmatics App Demo';
  MeetingMonth = 2020.02 ;
  { tags: #2020 }
begin
  WriteLn('''
Demo of applications by Sysmatics and how minimizing apps on the desktop do not work the same in Windows 10 as previous versions. 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. He’s written useful code in COBOL, FORTRAN, C, C++, Assembler, and CADOL. Currently, his business, Sysmatics, converts proprietary character based business applications to Delphi for several customers.
  ''');
  MeetingDetails(MeetingTitle, MeetingMonth);
end;