Hi Martin.
Yes, Harbour *is* your answer. Your application will work on your laptop with Windows 64 bit. It is good to say that Harbour can be used on Linux and some other OS. Harbour is 100% compatible with Clipper.
Your code will work in Harbour almost same as it is now. May be you will need to do some small, small changes in some particular parts of your code, if any. You will see it when compiling and linking existing application.
Main effort will be to find Harbour counterparts for library functions you used. Also may be you will do some changes in printing parts of your application, but it depends on how you realized printing in existing application.
Best place to start is to visit next link:
https://github.com/harbour/core
Also, great source of knowledge is this Harbour user forum. Just search and you will find answer on most of your questions.
First you must install Harbour on your laptop. You can do it in two ways (see section "3.How to Get" in upper link):
1.Download and install binary version of Harbour. This means that you will not bother with building Harbour binaries on your laptop but use already prepared (binaries-windows).
2.Download Harbour source and build Harbour on your laptop. If you decide to build Harbour it is important to choose compiler you prefer to use. See section with lucky number "13.Supported Platforms and C Compilers" J .
Search this forum to see experiences and opinions on what way of Harbour installing to use.
You can visit next interesting links:
https://kresin.ru/en/hrbfaq.html
https://harbour.github.io/doc/
https://www.fivetechsoft.com/harbour-docs/harbour.html
http://www.elektrosoft.it/tutorials.asp
There are several other good links on interenet, you will find it reading and searching this forum.
At the end: When using Harbour you will replace your .LNK project file with Harbor .HBP file.
Best Regards,
Simo.--
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/84eb1aed-49c7-42df-98a1-0c25f651aa46%40gmail.com.
--
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/f7a7acda-85e0-4bda-ae4c-faa6d1b0d92dn%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/4f1091f7-c4fb-45bf-b8be-8399b80ca194n%40googlegroups.com.
Hi,
the line \Harbour\hb32\contrib\hbct\hbct.hbc in your
.hbp file is correct. It instructs the linker to use the
definitions in hbct.hbc to link the hbct library.
I confirm that AFAIK duplicate functions name are not allowed, also when in a library, and that in Clipper the second one prevails on the previous with no errors.
I seem to remember anyway that once I had two libraries with a function with the same name and the solution was to change the order of libraries in the link script, so that the "right" function was called. No errors anyway was given, I only noticed that the function was behaving strangely... it was the "wrong" one.
Anyway, post your .hbp file here if the compilation fails.
HTH
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/4f1091f7-c4fb-45bf-b8be-8399b80ca194n%40googlegroups.com.
3/
As I remember Blinker allows to have duplicate function names when processing .LNK file. I had such situation in CLipper times. I am not sure, in such situation (several functions with same name) the winner was last one in list of PRGs in .LNK file. It was not considered as error, just warning.
When I start to use Harbour, it was not allowed. I had to rename functions, or to delete redundant functions with same name.
I do not put mylib.a inside \harbour folder. My lib PRGs I keep in separate folder, say on D disk in \Myfunc, and in that folder I make mylib.a Then in main applicaton .HBP I only put next lines:
-L\Myfunc\
-lmylib
In this way I have less job when installing new version of Harbour. Do not need to think what my libs I must to refresh in \harbour folder.
Shameless plug... have a look at this blog series I wrote years ago...
http://www.mozzarellaincarrozza.it/harbour/converting-a-clipper-87-application-to-harbour/
Start from A Christmas gift
--
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/d9c680e9-b9e2-43ea-13ca-c35efaf28924%40engwall.com.
Hi Martin,
you'll find the main debugger source at:
https://github.com/harbour/core/blob/master/src%2Fdebug%2Fdebugger.prg
You can try modifying DEBUGGER_MAXROW and DEBUGGER_MAXCOL ( at rows 78-79) recompile Harbour and hope that the further display is relative to this constants.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/eaac12a7-bfa5-4c00-997a-0f6c7e10bec6n%40googlegroups.com.
|
|
Warning: The sender harbour-users@googlegroups.com might be a spam sender.
|
|
powered by Graphus®
|
1/ SETMODE( 50,80) To make better use of visible screen available to see more code and variables, etc. on view.
Are you sure your printer accepts ESC codes? In other words, can it print outside Windows ?
Just an idea...
Dan
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/4e2641df-9c70-455f-af96-a92948464644n%40googlegroups.com.
This can be useful (maybe):
function prn_info()
// get printers
aPlst:=win_printerList(.t.)
actPrn:=win_printerGetDefault()
nPrn:=ASCAN(aPlst,{|x|x[1]==actPrn})
if nPrn>0
cPort:=aPlst[nPrn,2]
else
// This should NOT happen
alert("error: printer not found")
quit
endif
alert("Default printer:"+win_printerGetDefault()+" On port:"
+cPort)
ALERT(cPort +" mapped to "+win_printerPortToName(cPort) )
return nil
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/99964acb-0276-4bad-bafe-cb03afbdf275n%40googlegroups.com.
HI Martn,
To my understanding, win_PrintFileRaw() is used to print to dot matrix printers.
For other printers which are GDI in nature (Including Laserjet printers) you may have to adjust the font. Please try with the generic txt2gdi program which you can download the from the link below:
Call the function Txt2Gdi(cFile,cPrinter) with the text file and Printer name. (You may have to adjust the ESC code definitions to you requirements).
Just FYI, the following function has been working flawlessly over many years for printing on dot matrix printers
FUNCTION WinPrintRaw( cPrinter, cFileName, cDocName )
// This function prints the entire file in one call to PrintFileRaw()
LOCAL nPrn := - 1, cMess := "WinPrintRaw(): "
cDocName := iif(cDocName # NIL, cDocName,cFileName)
if ! EMPTY( cFileName )
#ifdef __XHARBOUR__
if ( nPrn := PrintFileRaw( cPrinter, cFileName, cDocName ) ) < 0
#else
if ( nPrn := win_PrintFileRaw( cPrinter, cFileName, cDocName ) ) < 0
#endif
do CASE
CASE nPrn = - 1
Hb_Alert( cMess + "Incorrect parameters passed to function" )
CASE nPrn = - 2
Hb_Alert( cMess + "WINAPI OpenPrinter() call failed" )
CASE nPrn = - 3
Hb_Alert( cMess + "WINAPI StartDocPrinter() call failed" )
CASE nPrn = - 4
Hb_Alert( cMess + "WINAPI StartPagePrinter() call failed" )
CASE nPrn = - 5
Hb_Alert( cMess + "WINAPI malloc() of memory failed" )
CASE nPrn = - 6
Hb_Alert( cMess + "WINAPI CreateFile() call failed - File " + cFileName + " no" + ;
" found??" )
ENDCASE
ENDIF
ENDIF
RETURN( nPrn )
HTH,
Wbr,
Jayadev
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/19e72e89-2819-4cea-a0f0-0b06348fefa6n%40googlegroups.com.
I'm not sure that an IP address is a valid PORT name when
printing in raw (DOS) mode.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/009c01db5ad0%2412a62f60%2437f28e20%24%40gmail.com.
|
|
Warning: The sender @harbour-users@googlegroups.com might be a spam sender.
|
Hi Martin
Well done.
As far as encryption goes Harbour has your back. I hacked this out of my own code and it is untested in this form:
HTH
--
Regards
Alex
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/1651fa58-00d7-4880-94b3-d2cfb153c6f3n%40googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/harbour-users/39e1c9e4-750d-4e36-8167-174c3b2e9a5fn%40googlegroups.com.