A Huge Market is Waiting – Harbour + FiveWin Can Take It

614 views
Skip to first unread message

berg...@gmail.com

unread,
Sep 7, 2025, 9:15:02 AM (13 days ago) Sep 7
to Harbour Users
Hello friends,

We are facing a unique opportunity. The established standard server for professional DBF applications is expensive, hard to license, and yet countless systems worldwide still rely on DBF. These businesses urgently need a successor – and Harbour, together with FiveWin, is perfectly positioned to provide it.

What’s missing? A solid admin interface, a flexible microservice layer, and modern web service integration. Harbour delivers exactly that: open-source, lightweight, and with the power to integrate AI and new technologies without breaking legacy systems.

And now there is a real game changer: with ChatGPT-5, Harbour and FiveWin receive outstanding support. Through #pragma BEGINDUMP, C functions can easily be embedded – and with AI assistance, every experienced Clipper-head can extend applications in ways that no other Clipper successor can.

SQL is not a real alternative for many companies – database conversions are costly, risky, and disruptive. With Harbour, we can preserve existing DBF structures, modernize step by step, and move applications into the web era safely and efficiently.

This is an open goal. A huge market is waiting – and because our community embraces AI-assisted development (unlike many other Clipper-derivative forums), we have the chance to take the lead and set the standard for the next decade.


Best regards,
Otto

Francesco Perillo

unread,
Sep 8, 2025, 6:13:19 AM (12 days ago) Sep 8
to harbou...@googlegroups.com
Hi Otto,
which is the platform you have in mind when you say "The established standard server for professional DBF applications is expensive, hard to license" ?



--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/90646ce4-73bf-4c27-b0c9-c0c808a873d6n%40googlegroups.com.

Daniel Lopes Filho

unread,
Sep 8, 2025, 9:31:34 AM (12 days ago) Sep 8
to harbou...@googlegroups.com
ja estou subtituindo o dbf usando xharbour com fivewin apenas como front-end

é uma solução que os mesmos dados poderão ser exibidos no navegador web e no aplicativo mobile


I'm already replacing the DBF using xharbour with FiveWin only as a front-end.

It's a solution that allows the same data to be displayed in the web browser and the mobile app.



--
Lopes Informática
67-9-9202-9422 (tim)
67-9-9676-8637 (vivo/whatsapp)

john s wolter

unread,
Sep 8, 2025, 12:09:49 PM (12 days ago) Sep 8
to harbou...@googlegroups.com
Interesting.  I wonder about Zig's multiplatform & builtin C/C++ would allow AI & many other useful additions to open markets?

Cheers, John S Wolter

Message has been deleted
Message has been deleted

berg...@gmail.com

unread,
Sep 8, 2025, 2:49:27 PM (11 days ago) Sep 8
to Harbour Users
Francesco – I think most people are using Windows, myself included.
Daniel Lopes Filho – which database are you using then?
John – the way I’m using it right now, I can practically integrate anything. I have the socket server and the router embedded with #pragma and C functions. The routes then call regular Harbour functions. 

berg...@gmail.com

unread,
Sep 8, 2025, 5:55:37 PM (11 days ago) Sep 8
to Harbour Users
  @Francesco – I think most people are using Windows, myself included.
@Daniel Lopes Filho – which database are you using then?
@John – the way I’m using it right now, I can practically integrate anything. I have the socket server and the router embedded with #pragma and C functions. The routes then call regular Harbour functions.  

Gerald Drouillard

unread,
Sep 8, 2025, 9:07:20 PM (11 days ago) Sep 8
to harbou...@googlegroups.com
I am doing almost all web/cgi with harbour.  Mostly with dbfcdx (with m6/comix) functionality.  Just converted a large app from DBFCDX to postgres 17 using a modified SQLRDD.
Most of the apps in production are Ubuntu/Deb Linux.  Dev work is on windows using Msys2.

john s wolter

unread,
Sep 8, 2025, 11:41:21 PM (11 days ago) Sep 8
to harbou...@googlegroups.com

@John – the way I’m using it right now, I can practically integrate anything.... 

..."I have the socket server and the router embedded"...  

...causes me to remember "Ruby on Rails"  which had a router for dispatching based on fancy objects.

Object routers have become a common piece of servers, like a demon of some kind usually as a dynamic object. 

Cheers, John S Wolter


Steve Litt

unread,
Sep 9, 2025, 9:05:48 PM (10 days ago) Sep 9
to harbou...@googlegroups.com
berg...@gmail.com said on Sun, 7 Sep 2025 06:15:02 -0700 (PDT)

>SQL is not a real alternative for many companies – database
>conversions are costly, risky, and disruptive. With Harbour, we can
>preserve existing DBF structures, modernize step by step, and move
>applications into the web era safely and efficiently.

I'm curious. How well does Clipper with DBF files perform, both in
terms of speed and in terms of lack of data corruption, in situations
where it's being simultaneously hit by many users?

Thanks,

SteveT

Steve Litt

http://444domains.com

Steve Litt

unread,
Sep 9, 2025, 9:15:46 PM (10 days ago) Sep 9
to harbou...@googlegroups.com
berg...@gmail.com said on Sun, 7 Sep 2025 06:15:02 -0700 (PDT)

>Hello friends,
>
>We are facing a unique opportunity. The established standard server
>for professional DBF applications is expensive, hard to license, and
>yet countless systems worldwide still rely on DBF. These businesses
>urgently need a successor – and Harbour, together with FiveWin, is
>perfectly positioned to provide it.

If you're deploying on Linux, what do you use instead of FiveWin?

berg...@gmail.com

unread,
Sep 10, 2025, 2:02:22 AM (10 days ago) Sep 10
to Harbour Users

Right now I don’t want to get lost in too many directions, so my focus is clearly on Windows first – also because the socket protocol is already in place there.

From my point of view, my microservice is already heading the same way the classic DBF database servers went – just in a slimmer and more customized form. In the end it’s all about three simple things: centralized locking, doing the queries server-side, and having proper logging/transactions.

Gerald Drouillard

unread,
Sep 10, 2025, 5:38:24 AM (10 days ago) Sep 10
to harbou...@googlegroups.com

I'm curious. How well does Clipper with DBF files perform, both in
terms of speed and in terms of lack of data corruption, in situations
where it's being simultaneously hit by many users?

Harbour with DBF with less than 30 (more if it is web based) concurrent users, depending on the hardware, is going to be faster if you use bitmap filters. If your application is web based, then there is little chance of corruption, almost as little as a SQL table or index going bad.
But SQL provides some things that you may need now or in the future
  • more concurrent users
  • Realtime duplication of data across servers and locations
  • being able to have more than one database server to spread the load
  • reduces the chance of data corruption if your app is not web based with the app and data on the same server.
A DBF backend that is not web based has the overhead of:
  • network tuning and security
  • networking protocol tuning and security ( Samba, Windows Server, Windows Clients)
  • networking protocol changes.  Example Windows is changing network and file protocols over the years (Oplocks, SMB1, 2, 3, etc)
  • antivirus config (server and client)
  • backups

Gerald Drouillard

unread,
Sep 10, 2025, 5:40:34 AM (10 days ago) Sep 10
to harbou...@googlegroups.com

If you're deploying on Linux, what do you use instead of FiveWin?

I have never opted to go down the GUI frontend.  For me it has always been console mode or in the majority of cases a web front end.

Francesco Perillo

unread,
Sep 10, 2025, 6:03:33 AM (10 days ago) Sep 10
to harbou...@googlegroups.com
Hi Gerald,
I imagine that when you say "web based" and then say you write console programs you mean a program that interacts via HTTP(s) queries using XML or json "language". This has the pro that you can write a program in any language that can use sockets....

Others here are using Harbour programs to be used directly from a web browser, the programs generate HTML...

Both these cases need to rewrite parts of the code

As you know for sure there are some RDD (netio, letodb, letodbf to name a few) whose server application runs on the server and uses the DBFs on its local disks. They use standard harbour syntax.
The pros using those RDDs are very nice:
- you don't have to publish the DBFs on a shared folder (clients can't see the dbf files, so no malware, no people opening dbf with excel, no people moving directories inside other directories.....)
- you may call functions present in the server application that can read lots of data without moving records over the lan
- you don't care about locking records and may mix windows, linux, mac clients without turning mad
- if I remember correctly, letodbf added the feature to have the server application do some work directly on the server for standard harbour dbf operations, avoiding moving records on the lan

All are valid solutions.


Daniel Lopes Filho

unread,
Sep 10, 2025, 7:01:00 AM (10 days ago) Sep 10
to harbou...@googlegroups.com
Daniel Lopes Filho – which database are you using then?

com api o front-end não sabe e nem precisa saber qual é o banco de dados porque o ela (aplicação) estará consumindo uma api com GET e POST e sempre vai receber um retorno JSON por exemplo
pode se usar bancos de dados relacionais e/ou noSQL com isso temos a flexibilidade se o cliente final exigir um banco de dados específico
estou estou estudando go (go lang)  que é muito parecido com c inclusive parecido com xharbour/harbour e c#

e em breve quero substituir o fivewin pelo projeto xharbour/harbour usando QT (https://github.com/marcosgambeta/qt5xhb-v1)

o marcelo lombardo e outros criaram um produto web que você escreve em xharbour (CoreBuilder)... mas ainda não abriram o código desse produto e não comercializam mais

hoje utilizo gtwvw+fivewin no mesmo exe usando dll como recursos muito parecido com qt ( essa gtwvw ajuda e muito quem veio do console e consigo trabalhar com monitores de 20" ou maiores mas o produto não funciona mesmo com o harbour porque o programador não atualizou e não vai atualizar)
e uso o fivewin 805 porque com uma atualização do GT do xharbour/harbour virei refém da versão 1.1.0 na versões mais novas ou na última 1.2.3 compila, mas a tela em fivewin fica completamente maluca

segue a tela usando gtwvw inclusive com o debug está preparado para trabalhar com gtwvw e um pequeno vídeo com gtwvw e fivewin no mesmo .exe


With an API, the front-end doesn't know and doesn't need to know what the database is because the application will be consuming an API with GET and POST and will always receive a JSON return, for example.
You can use relational and/or NoSQL databases. This gives us flexibility if the end client requires a specific database.
I'm studying Go (Go Language), which is very similar to C, including Xharbour/Harbour and C#.

And soon I want to replace Fivewin with the Xharbour/Harbour project using QT (https://github.com/marcosgambeta/qt5xhb-v1).

Marcelo Lombardo and others created a web product that you write in Xharbour (CoreBuilder)... but they haven't yet open-sourced the product and no longer sell it.

Today, I use GTWVW + Fivewin in the same EXE, using DLLs as resources, very similar to QT (this GTWVW is very helpful for those who came from consoles, and I can do it). (I'm working with 20" or larger monitors, but the product doesn't work with Harbor because the developer hasn't updated it and won't update it.)
And I use FiveWin 805 because with an update to the XHarbour/Harbour GT, I'm stuck with version 1.1.0. In newer versions, or in the latest 1.2.3, it compiles, but the screen in FiveWin goes completely crazy.

Here's a screenshot using gtwvw, including debug, which is ready to work with gtwvw, and a short video with gtwvw and FiveWin in the same .exe.


image.png

--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
vokoscreenNG-2025-09-10_06-57-52.mp4

Gerald Drouillard

unread,
Sep 10, 2025, 11:47:08 AM (10 days ago) Sep 10
to harbou...@googlegroups.com
On Wed, Sep 10, 2025 at 6:03 AM Francesco Perillo <fper...@gmail.com> wrote:
Hi Gerald,
I imagine that when you say "web based" and then say you write console programs you mean a program that interacts via HTTP(s) queries using XML or json "language".
Yes to the above but complete cgi html applications written in harbour.  A good approach when doing this is to write a class for each html object ( Example:  <table>, <tr>, <td> etc).  That way it is as easy as oRow:=oTable:addtr()

Daniele Campagna

unread,
Sep 11, 2025, 3:32:47 AM (9 days ago) Sep 11
to harbou...@googlegroups.com

+1 web/CGI with Harbour. (dbf + CDX). Very solid and complete applications.

Dan

Jayadev U

unread,
Sep 11, 2025, 6:08:28 AM (9 days ago) Sep 11
to harbou...@googlegroups.com

Hi Gerald,

 

>>I am doing almost all web/cgi with harbour.  Mostly with dbfcdx (with m6/comix) functionality.  Just >>converted a large app from DBFCDX to postgres 17 using a modified SQLRDD.

 

You have mentioned “modified SQLRDD”.

 

What modifications have you made ?

 

Best regards,

 

Jayadev

Francesco Perillo

unread,
Sep 11, 2025, 8:46:10 AM (9 days ago) Sep 11
to harbou...@googlegroups.com
@Gerald, it would be nice if you can start a new thread and explain what you did for the conversion and the benefits of using m6/comix functionality

Thanks

Gerald Drouillard

unread,
Sep 11, 2025, 9:39:34 AM (9 days ago) Sep 11
to harbou...@googlegroups.com
Bitmap filters are almost a necessity when working with large tables.  

Gerald Drouillard

unread,
Sep 11, 2025, 9:44:08 AM (9 days ago) Sep 11
to harbou...@googlegroups.com

What modifications have you made ?


The initial SQLRDD was really good.  Changes have been made to the DBF filter => SQL query functionality.  Optimization tweaks and extended functionality mainly for PG 17 have been added. 
Just finishing up converting a large 25 yr old, actively developed, application with 250+ tables and many over 20 million rows.

marcop...@gmail.com

unread,
Sep 12, 2025, 9:02:49 AM (8 days ago) Sep 12
to Harbour Users
Dear Gerald, could you submit these improvements on SQLRDD to Marcos Gambeta's repository?

Maurício Faria

unread,
Sep 15, 2025, 1:37:54 PM (4 days ago) Sep 15
to harbou...@googlegroups.com
Hi Gerald.
 
I am in the first stages of migrating from DBF to PostgreSQL for an old app with hundreds of tables, just like yours.
Do you mind to share some of your expertise during the process ?
 
Regards,
Maurício Faria 

Gerald Drouillard

unread,
Sep 15, 2025, 8:54:38 PM (4 days ago) Sep 15
to harbou...@googlegroups.com
I plan to make my changes to sqlrdd public in Oct.
I have a utility program dbf2pg.prg  that analyses all tables and creates them in PG their indexes and partitions where needed.  It then creates the CSV files that are uploaded into the PG tables.  In my case, I usually have "foreign keys" that have the name of {parent.dbf}_id that is usually a N,7 field that represents the recno in the parent database.  Anyway a lot of time was spent creating this utility so that we could migrate the tables from DBF to PG in batches while the application was able to operate with some tables in PG and some as DBF.  By the end of this month we should have all the tables switched over.

There are some configurations for postgres and pgbouncer that I can share if needed.



--
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
Unsubscribe: harbour-user...@googlegroups.com
Web: https://groups.google.com/group/harbour-users
---
You received this message because you are subscribed to the Google Groups "Harbour Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to harbour-user...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages