Hi everyone.
I've been using QB64 in an accounting and warehouse management program for several years, and I print a lot of listings and invoices.
I think a lot of Qb64 users are currently focused on games and graphics, but I find it to be a great language for developing business applications with databases and reports. The versatility with respect to QB45 (which was the language I used in my programs) is enormous.
One limitation that I consider to be very great and would help a lot in the development of management programs is the printing options. Currently, to print an invoice or a list, I have to create a graphic page, load a template in JPG, fill it with the data and images of the company logo, etc. and then execute _PRINTIMAGE with each of the pages. The file that it sends to the printer, being graphic, is quite large and makes it not immediate, especially if what I want is to convert it into PDF with PDFCreator or some other similar program. A 20 page listing (very common) can take 30 minutes to generate, which is not operational.
Likewise, since there are 20 independent pages (although it is the same document) if I have the double-sided printer configured, it does not print double-sided because that only does it if it is a single document. I do not know if I explain myself very well.
A solution for large listings is the one Pete pointed me out, creating a text file and using WordPad in the background. With that method, converting the same 20-page listing to PDF takes 2-3 seconds. The problem that I see using an external program is that I do not trust that Windows 11, 12, 13 or 14 (to name them) removes WorPad, calls it something else or what do I know what Windows developers can do. Also with this method I cannot print images as it happens in the invoices in which the template and the logo are a JPG.
Anyway, after this roll, I think it would be interesting to include in the following versions another way of sending data to the printer, other than through images. I already know that LPRINT exists but it does not allow changing sizes or fonts, or anything like that.
Greetings