~117 files · 20 independent examples · MIT license · Windows + HMG Extended + Borland C++ 5.8 only
https://hmgextended.com/files/CONTRIB/HMGEE-Sample-Library-1.0.0.zip---
Top-level layout
HMGEE-Sample-Library/
├── .gitignore # Build artifacts, generated DBFs, notes.txt, IDE clutter
├── VERSION # 1.0.0
├── LICENSE.txt # MIT
├── README.md # Project overview, learning path, quick start
├── CHANGELOG.md
├── CONTRIBUTING.md
├── SECURITY.md
├── SUPPORT.md
│
├── STYLE_GUIDE.md # Coding standard (section order, naming, formatting)
├── REPOSITORY_SPECIFICATION.md
├── DESIGN_GUIDE.md # How to design an example
├── REVIEW_CHECKLIST.md # Quality gate before merge
├── ROADMAP.md
├── REFERENCE_MATRIX.md # Example ↔ original HMG SAMPLES mapping
├── CONTROL_CATALOG.md # First introduction of each control
│
├── docs/
│ └── RELEASE_NOTES_1.0.0.md
│
├── common/
│ └── VerifyEnvironment.bat # Optional Harbour/BCC path check
│
└── examples/
├── 01_HelloWorld/ … 20_CompleteSQLApplication/
---
Every example folder (fixed shape)
examples/NN_Name/
├── README.md # 12 sections (Purpose → Repository Version)
├── VERSION # 1.0.0
├── Build.bat # Calls %MG_ROOT%\batch\Compile.bat
├── Clean.bat # Removes .exe/.obj/.map/.tds/.ppo/.c
└── Name.prg # Self-contained source (no cross-example source deps)
Optional extras only when needed (e.g. DBF created at runtime, not committed).
---
Learning path (5 milestones)| Milestone | Examples | Theme |
|-----------|----------|--------|
| 1 Foundation | 01–05 | Window, Msg*, Label/Button, Menus, Toolbar/StatusBar |
| 2 Core controls | 06–10 | Input, Frame/Tab/Panel, List/Combo, Grid, Browse |
| 3 Advanced + DBF | 11–15 | TSBrowse, Tree, RichEdit, DRAW, form-centric DBF |
| 4 Data & reporting | 16–18 | SQLRDD (offline+sketch), EasySQL (offline+sketch), MiniPrint |
| 5 Complete apps | 19–20 | Full DBF maintenance; SQL-pattern app (swappable DataLoad) |Conceptual progression only — no shared source between examples.
---
Documentation roles| Document | Role |
|----------|------|
| STYLE_GUIDE | Header, includes, metadata, constants, short Main(), naming, 3-space indent, UPPERCASE HMG commands |
| REPOSITORY_SPECIFICATION | Mission, platform rules, directory rules, quality gates |
| DESIGN_GUIDE | One concept per example; README template; complexity budget |
| REVIEW_CHECKLIST | A–I checklist before accepting an example |
| REFERENCE_MATRIX | Primary HMG sample, simplifications, deviations, API status |
| CONTROL_CATALOG | Control → primary example index |
| ROADMAP | Milestone status and post-1.0 ideas |---
Source conventions (every .prg)1. Header comment block
2. #include "
minigui.ch" (+ extras only if needed, e.g.
miniprint.ch,
tsbrowse.ch)
3. Metadata (APP_TITLE, APP_VERSION, …)
4. Layout constants
5. Short Main() → CreateMainWindow()
6. Window definition
7. Event handlers (On…)
8. Helpers
---
Notable content details-
16 / 17 / 20 READMEs include live SQL sketches (educational; verify against local samples\SQLRDD / Source\HMG_EasySQL).
- SQL examples run offline by default so they always compile without a server.
- .gitignore excludes *.exe, *.obj, *.ppo, generated CUSTOMER/EMPLOYEE/PRODUCT DBF indexes, notes.txt, IDE folders.
---
How to navigate as a learner
1. Read root README.md + STYLE_GUIDE.md
2. Start at examples/01_HelloWorld → Build.bat → run .exe
3. Advance by number; use each README’s Related Examples and Reference HMG Samples
4. Use CONTROL_CATALOG to jump to the first example that introduces a control
5. Use REFERENCE_MATRIX to compare with classic SAMPLES\ demos
That is the full structural map of the library as it stands in the current workspace.Regards,
Grigory