The three-month structured training plan for Harbour MiniGUI

240 views
Skip to first unread message

Grigory Filatov

unread,
Aug 2, 2025, 1:27:31 PMAug 2
to Harbour Minigui
Hi Friends,

Here is a 3-month structured study plan to go from beginner to advanced with Harbour MiniGUI (assuming you're new to both Harbour and MiniGUI). This plan is weekly, progressively building your understanding and skills.

This study plan is well-organized and aligns with reasonable learning progression for an individual starting as a beginner and aspiring to reach an advanced level. Here is an assessment of its correctness and achievability:

Structure & Coverage

- Sequential Progression: The plan moves systematically from the basics (syntax, simple console, and GUI applications) toward more complex topics (modularization, advanced controls, external APIs, and final projects). This mirrors a typical curriculum and helps build foundational knowledge before tackling advanced subjects.
- Balanced Focus: The schedule addresses both core Harbour concepts (e.g., arrays, control structures, DBF handling, modularity) and MiniGUI-specific development (creating GUIs, event handling, controls, grids). Practical projects, like a notepad or contact manager, reinforce each learning phase.

Realistic Timing

- Daily Objectives: Each session focuses on one topic, which is realistic for both self-study and guided instruction, assuming the learner dedicates a few hours each day.
- Weekly Mini-Projects: Capstone exercises at the end of each week consolidate skills, helping learners create functioning applications regularly—a critical factor in retention and confidence.
- Advanced Topics: DLL creation, API integration, and report generation are introduced in the final month after sufficient groundwork, following adult learning best practices.

Potential Challenges

- Prerequisites: Some familiarity with basic programming concepts helps, but the plan *does* start from scratch. Learners completely new to coding may need slightly more time, especially in the first two weeks.
- Depth vs. Breadth: The plan covers a lot in three months. While achievable for motivated learners, those who wish to truly *master* every subject (especially advanced API, modularization, or DBF indexing) may need a bit of extra time for experimentation and troubleshooting.
- Pacing: The content is ambitious, especially if one is learning part-time or encounters challenging bugs. It remains achievable for someone able to dedicate consistent daily or near-daily effort.

Conclusion

- Correctness: The curriculum is technically correct and follows a logical order for learning Harbour MiniGUI from beginner to advanced[1].
- Achievability: It is possible to achieve the objectives in three months with regular effort (suggested: at least 1–2 hours/day). Complete mastery of advanced topics, however, may require follow-up learning or project work after the formal training is complete.

Summary:  
This three-month Harbour MiniGUI training plan is well-conceived, realistic for dedicated learners, and has been structured to maximize retention and skill development through hands-on practice and progressively complex topics[1]. For those completely new to programming, expect to adjust the first weeks for a slower start; otherwise, it is a sound guide for self-driven skill building.

I have also the needed example templates for the above plan.

Your feedback is welcome.

Regards,
Grigory
---
Reference: Detailed plan structure and timing as outlined in the provided attachment.

Harbour_MiniGUI_3_Month_Study_Plan.pdf

Marcos Jarrin

unread,
Aug 3, 2025, 2:00:41 AMAug 3
to Harbour Minigui
Hi Grigory,  

The curriculum is well-structured and effectively guides learners from beginner to advanced levels. However, I recommend developing a dedicated learning path for those who are already beyond the beginner stage. Some key advanced topics are currently underdeveloped or lack sufficient coverage, including:  

- Regular Expressions (Regex) Handling  
  The Complete Guide to Regular Expressions (Regex)
  https://coderpad.io/blog/development/the-complete-guide-to-regular-expressions-regex/  
- Data Encryption for securing passwords and stored information  
  SHA-1, SHA-2, SHA-256, and SHA-512 Explained
  https://www.ssldragon.com/blog/sha1-sha2-sha256-sha-512/
- Object-Oriented Programming (OOP)
  Harbour OOP Manual https://github.com/marcosjarrin/Harbour_oop_manual  
- Database Server Usage (e.g., LetoDBF)  
  LetoDBf   https://github.com/elchs/LetoDBf
- SQL Integration (e.g., SQLRDD)  
- Unit Testing Implementation  
  HBUnit  https://github.com/endersonmaia/hbunit
- Native cURL Integration  
  cURL https://curl.se/
- Async/Await Implementation  
- Hash Usage  
- ORM Implementation  
  HB_ORM  https://github.com/VictorCasajuanaMas/HB_ORM
- Designer for Minigui Extend
  https://github.com/ivanilmarcelino/designer
- C integration with Harbour
- Harbour for web backend
  https://mod-harbour.github.io/mod_harbour.v2/index_en.html

Additionally, it would be beneficial to develop a framework similar to Laravel, leveraging the Model-View-Controller (MVC) architecture. While no such framework currently exists for this environment, it could significantly enhance development efficiency.  
Laravel Official Site  https://laravel.com/

Best regards,  
Marcos  

Grigory Filatov

unread,
Aug 3, 2025, 5:59:24 AMAug 3
to Harbour Minigui
Hi Marcos,

Thanks a lot for your feedback!

I reaaly appreciate your suggestions.

Please note that I do not have the necessary knowledge/experience in these areas.
Another point is that not all of these areas are related to the graphical interface.

Anyway thank you for your attention.

Regards,
Grigory

воскресенье, 3 августа 2025 г. в 08:00:41 UTC+2, marcos...@gmail.com:

José Quintas

unread,
Aug 4, 2025, 12:18:55 PMAug 4
to Harbour Minigui

It is a training, not a showroom.
To show ADORDD, hbMySQL, SQLMIX, SQLRDD, Letodb, this will cause confusion, and will be like a showroom.
They are to code like DBF and array? 
Then, training do not need to show them, it is needed to show DBF and array only.
To SQL, not sure, perhaps ADO, using SQL commands only, to show that SQL is not DBF, and may have values not needed on DBF as NULL.
Once HMG is windows, and ADO is a windows feature, why not ?

cn := win_OleCreateObject( "ADODB.Connection" )
oRec := cn:Execute( "SELECT ...." )
DO WHILE ! oRec:Eof()
   ? oRec:Fields("name"):value
ENDDO
oRec:Close()

Seems that it will be 1 minute about ADO, and rest of time about SQL.
And without to confuse about DBF use.

Error if value is NULL, this is part of SQL, why user can't to know about this?

José M. C. Quintas

Grigory Filatov

unread,
Aug 4, 2025, 2:51:42 PMAug 4
to Harbour Minigui
Hi Friends,

Please review the attached test and answers for the first week of the course.

Your feedback is welcome.

Regards,
Grigory

суббота, 2 августа 2025 г. в 19:27:31 UTC+2, Grigory Filatov:
Week1_Harbour_Quiz.docx
Week1_Harbour_Quiz_Answers.docx

José Quintas

unread,
Aug 5, 2025, 12:41:51 PMAug 5
to Harbour Minigui
Interesting test, I answer wrong on some questions that need attention.

Comment:
Age: may be better >= 18
Not sure about FOR I := , FOR/NEXT already initializes the value and ":=" seems a not needed operation

May be for advanced:
string options, as alternative or special use:  "test", 'test', [test]
STATIC, on source code top or inside a function
PRIVATE is more complex, visible from definition to next, but it is a new one if already exists

José M. C. Quintas

Marcos Jarrin

unread,
Aug 6, 2025, 9:54:18 PMAug 6
to Harbour Minigui
Hello

Interesting test, I’ve attached a file with my answers.

Best regards,

Marcos
answers.txt

Grigory Filatov

unread,
Aug 7, 2025, 2:27:56 AMAug 7
to Harbour Minigui
Hello Marcos,

Thanks a lot for your feedback!

Of course, you gave the correct answers.

BTW I have already prepared the test quizzes for all the others weeks.

Regards,
Grigory

четверг, 7 августа 2025 г. в 03:54:18 UTC+2, marcos...@gmail.com:
Reply all
Reply to author
Forward
0 new messages