Clipper 5.2 and Printing Logo
Moderador: Moderadores
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
Hello everyone! Please help, I am going crazy over this!! I am VERY new to Clipper. I do not normally program with this language but was asked to make a change in a very old system. I am using Clipper 5.2. I have outfile letters that are already created and stored in my working directory. When the user selects a specific letter, the letter is created in another directory with all the output information.
Here is the problem........the user would like the letter to print a logo at the top so she does not have to change plain paper with paper that has the logo. How can I do this? I researched and found this Ferns Graphics Library but I cannot get it to work. I found a GBMPLOAD() and GBMPDISP() function but it seems that only works for Clipper 5.3. Is there any other way???
Thanks in advance!!
Here is the problem........the user would like the letter to print a logo at the top so she does not have to change plain paper with paper that has the logo. How can I do this? I researched and found this Ferns Graphics Library but I cannot get it to work. I found a GBMPLOAD() and GBMPDISP() function but it seems that only works for Clipper 5.3. Is there any other way???
Thanks in advance!!
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Clipper 5.2 and Printing Logo
Hello!
Welcome to this forum!
In Clipper´s golden years, It's was not an usual task to print logos because printers were generally dot-matrix printers.
If you search this URL, you´ll find an old routine to print logos, written in Clipper. Restrictions are: the file to print must be a .BMP type and the image it contains must be in black and white. I haven't tested it.
If this is not enough to suit your needs, there is a possibility: migrating your program to a 32 bits Windows application in console mode or GUI. To achieve this you should compile it with Harbour or xHarbour compilers (they're both open source). To get visual appearance you´ll need an extra library such MiniGui, HMG, HwGui, FiveWin, etc...
Don't hesitate to post new doubts.
Regards
Welcome to this forum!
In Clipper´s golden years, It's was not an usual task to print logos because printers were generally dot-matrix printers.
If you search this URL, you´ll find an old routine to print logos, written in Clipper. Restrictions are: the file to print must be a .BMP type and the image it contains must be in black and white. I haven't tested it.
If this is not enough to suit your needs, there is a possibility: migrating your program to a 32 bits Windows application in console mode or GUI. To achieve this you should compile it with Harbour or xHarbour compilers (they're both open source). To get visual appearance you´ll need an extra library such MiniGui, HMG, HwGui, FiveWin, etc...
Don't hesitate to post new doubts.
Regards
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
Thank you so much for responding!! I will research this information on Monday. I'm getting ready to leave work for the day. I'm sure I will have more questions.
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
Hello, I went to the site and downloaded the program. When I compile though I am getting a lot of errors as in "Set" is not recognized, a lot of the Returns have no return values, is does not accept ++ or }. I am making some changes and am now getting 26 errors instead of 32. LOL!
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Clipper 5.2 and Printing Logo
Hi!
I can't download the program due to access restrictions here in the office. I'll do it home, at night, if necessary.
Is it a single prg file? If so and not too large, post it enclosed in the Code tags (buttons on top of the posting page). Post some error messages you've got.
I can't download the program due to access restrictions here in the office. I'll do it home, at night, if necessary.
Is it a single prg file? If so and not too large, post it enclosed in the Code tags (buttons on top of the posting page). Post some error messages you've got.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
It is a single .prg and may be too large to post but I'm going to try anyway and see what happens.
Here are some errors that I'm getting also......
Compiling IMPRBMP.PRG
line 3: operand expected
Pixels = ()
^
line 7: SET not recognized
Set(_SET_PRINTER, .t.)
^
line 17: operand expected
Pixels = Iif(Pixels == Nil, (), Pixels)
^
line 17: unbalanced parenthesis
Pixels = Iif(Pixels == Nil, ()
^
line 60: unbalanced parenthesis
P5_ = ("", "", "", "")
^
line 85: SET not recognized
Set(17, Exit)
^
line 97: no return value
Return
^
line 102: no return value
Return
^
line 127: no return value
Return
^
line 135: no return value
Return
^
line 139: no return value
Return
^
line 147: no return value
Return
^
line 166: operand expected
Pixels = ()
^
line 185: no return value
Return
^
line 192: unbalanced parenthesis
Bit2Conv = (("F", "F", "F", "F"), ("F", "E", "7", "F"), ("F", ;
^
line 192: unbalanced parenthesis
Bit2Conv = (("F"
^
line 193: verb not recognized
"E", "7", "B"), ("D", "E", "7", "B"), ("D", "E", "6", "B"), ;
^
line 194: verb not recognized
("D", "6", "6", "B"), ("D", "6", "6", "9"), ("9", "6", "6", ;
^
line 195: verb not recognized
"9"), ("9", "4", "6", "9"), ("9", "4", "2", "9"), ("9", ;
^
line 196: verb not recognized
"4", "0", "9"), ("9", "0", "0", "9"), ("9", "0", "0", "1"), ;
^
line 197: verb not recognized
("8", "0", "0", "1"), ("8", "0", "0", "0"), ("0", "0", "0", ;
^
line 198: verb not recognized
"0"))
^
line 200: unbalanced parenthesis
Exit= ("", "", "", "")
^
line 206: rest of line ignored
Exit[Loop4]= Exit[Loop4] + Chr(cton(P1_, 16))
^
line 209: no return value
Return
^
line 242: ASSIGNMENT error
P2_++
^
26 errors
Code Pass 1
Code Pass 2
Code size 3122, Symbols 1136, Constants 398
Código: Selecionar todos
Printer = "LPT1"
BitmapF = "DORLetterHead.BMP"
Pixels = " "
DecBMP(BitmapF, @Pixels)
Set Printer to &Port
Set _SET_PRINTER to .t.
PrintBMP(BitmapF, Pixels, 00, 00)
Eject
Break
********************************************************
Function PrintBMP
Parameter BitmapF, Pixels, Filas_, Columnas_
* Programado por Diego D'Onofrio * Email: near@lycos.com
********************************************************
Pixels = Iif(Pixels == Nil, " ", Pixels)
Filas_ = Iif(Filas_ == Nil, 0, Filas_)
Columnas_ = Iif(Columnas_ == Nil, 0, Columnas_)
P1_ = 0
P2_ = 0
P3_ = 300
P4_ = .F.
Exit = set(17, .F.)
P11_ = Len(Pixels) - 1
P12_ = Len(Pixels[1]) + Iif(P4_, 2, 0)
P6_ = Pixels[P11_ + 1]
If (P3_ == 0 .AND. P1_ == 0 .AND. P2_ == 0)
P3_ = Iif(P6_ == 1, 150, 300)
EndI
If (P3_ == 0)
P3_ = AjustTam(P12_ * 8, P11_ + Iif(P4_, 16, 0), P1_, P2_)
EndI
P3_ = Iif(!(P3_ == 75) .AND. !(P3_ == 100) .AND. !(P3_ == ;
150) .AND. !(P3_ == 300) .AND. !(P3_ == 600), 75, P3_)
PosiTemp = Filas_
PosiTemp = PosiTemp - 0.25
PosiTemp = Iif(PosiTemp < 0, 0, PosiTemp)
Filas_ = Int(PosiTemp * 300)
PosiTemp = Columnas_
PosiTemp = PosiTemp - 0.50
PosiTemp = Iif(PosiTemp < 0, 0, PosiTemp)
Columnas_ = Int(PosiTemp * 300)
P13_ = AllTrim(Tran(Filas_, "9999999999"))
P14_ = AllTrim(Tran(Columnas_, "9999999999"))
P15_ = AllTrim(Tran(P3_, "9999"))
P16_ = AllTrim(Tran(P12_, "9999999999"))
qqOut(Chr(27) + "*p" + P13_ + "x" + P14_ + "Y")
qqOut(Chr(27) + "*t" + P15_ + "R")
qqOut(Chr(27) + "*r0F")
qqOut(Chr(27) + "*r1A")
If P4_
For P10_ = 1 To 8
qqOut(Chr(27) + "*b0m" + P16_ + "W" + Iif(P10_ <= 2, ;
Repl("ÿ", P12_), "À" + Repl(Chr(0), P12_ - 2) + Chr(03)))
Next
EndI
PosiTemp = 0
Pix2 = " "
P5_ = (" ", " ", " ", " ")
For P10_ = P11_ To 1 Step -1
If (P6_ == 1)
qqOut(Chr(27) + "*b0m" + P16_ + "W" + Iif(P4_, "À", "") ;
+ Pixels[P10_] + Iif(P4_, Chr(03), ""))
Else
If (!(Pixels[P10_] == Pix2))
BITConvert(Pixels[P10_], @P5_)
EndI
Pix2 = Pixels[P10_]
For Loop1 = 1 To 4
P16_ = AllTrim(Tran(Len(P5_[Loop1]) + ;
Iif(P4_, 2, 0), "999999"))
qqOut(Chr(27) + "*b0m" + P16_ + "W" + Iif(P4_, "À", ;
"") + P5_[Loop1] + Iif(P4_, Chr(03), ""))
Next
EndI
Next
If P4_
For P10_ = 1 To 8
qqOut(Chr(27) + "*b0m" + P16_ + "W" + Iif(P10_ > 6, ;
Repl("ÿ", P12_), "À" + Repl(Chr(0), P12_ - 2) + Chr(03)))
Next
EndI
qqOut(Chr(27) + "*rB")
Set 17 to Exit
Return 0
********************************************************
Function DecBMP
Parameter BitmapF, Pixels
* Programado por Diego D'Onofrio * Email: near@lycos.com
********************************************************
BitmapF = Uppe(AllTrim(BitmapF))
ManeArch = FOpen(BitmapF)
If (FError() != 0)
FClose(ManeArch)
Return
EndI
Cadena = FReadStr(ManeArch, 2)
If (!(Cadena == "BM"))
FClose(ManeArch)
Return
EndI
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
FSeek(ManeArch, 4, 1)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BuscaB_ = bin2l(Cadena)
Cadena = Spac(2)
FRead(ManeArch, @Cadena, 2)
Cadena = Cadena + Chr(0) + Chr(0)
FSeek(ManeArch, 2, 1)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
P2_ = bin2l(Cadena)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
TLargo = bin2l(Cadena)
Cadena = Spac(2)
FRead(ManeArch, @Cadena, 2)
Cadena = Cadena + Chr(0) + Chr(0)
BmpLay = bin2l(Cadena)
If (BmpLay != 1)
FClose(ManeArch)
Return
EndI
Cadena = Spac(2)
FRead(ManeArch, @Cadena, 2)
Cadena = Cadena + Chr(0) + Chr(0)
P1_ = bin2l(Cadena)
If (P1_ != 1 .AND. P1_ != 4)
FClose(ManeArch)
Return
EndI
If (P2_ * P1_ > 2000)
FClose(ManeArch)
Return
EndI
Cadena = Spac(2)
FRead(ManeArch, @Cadena, 2)
Cadena = Cadena + Chr(0) + Chr(0)
BmpLay = bin2l(Cadena)
If (BmpLay != 0)
FClose(ManeArch)
Return
EndI
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
FSeek(ManeArch, 4, 1)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
Cadena = Spac(4)
FRead(ManeArch, @Cadena, 4)
BmpLay = bin2l(Cadena)
FSeek(ManeArch, BuscaB_, 0)
Pixels = ""
Cadena = ""
BmpLay = P2_ / IIf(P1_ == 1, 32, 16)
If (!(Int(BmpLay) == BmpLay))
P3_ = (Int(BmpLay) + 1) * IIf(P1_ == 1, 32, 16)
EndI
BmpLay = 0
For Loop = 1 To TLargo
P4_ = Spac(P3_ / IIf(P1_ == 1, 8, 2))
FRead(ManeArch, @P4_, P3_ / IIf(P1_ == 1, 8, 2))
If (P1_ == 1)
FragBMP = BMP2cConv(P4_, P2_)
Else
FragBMP = BMP16cConv(P4_, P2_)
EndI
AAdd(Pixels, FragBMP)
Next
AAdd(Pixels, P1_)
FClose(ManeArch)
Return
********************************************************
Function BITConvert
Parameter Pixels, exit
* Programado por Diego D'Onofrio * Email: near@lycos.com
********************************************************
Bit2Conv = (("F", "F", "F", "F"), ("F", "E", "7", "F"), ("F", -
"E", "7", "B"), ("D", "E", "7", "B"), ("D", "E", "6", "B"), -
("D", "6", "6", "B"), ("D", "6", "6", "9"), ("9", "6", "6", -
"9"), ("9", "4", "6", "9"), ("9", "4", "2", "9"), ("9", -
"4", "0", "9"), ("9", "0", "0", "9"), ("9", "0", "0", "1"), -
("8", "0", "0", "1"), ("8", "0", "0", "0"), ("0", "0", "0", -
"0"))
Largo = Len(Pixels)
Exit= ("", "", "", "")
For Loop = 1 To Largo
P2_= NToc(Asc(SubStr(Pixels, Loop, 1)), 16, 2, "0")
For Loop4 = 1 To 4
P1_ = Bit2Conv[cton(Left(P2_, 1), 16) + 1][Loop4] + ;
Bit2Conv[cton(right(P2_, 1), 16) + 1][Loop4]
Exit[Loop4]= Exit[Loop4] + Chr(cton(P1_, 16))
Next
Next
Return
********************************************************
Function AjustTam
Parameter Param1, Param2, Param3, Param4
* Programado por Diego D'Onofrio * Email: near@lycos.com
********************************************************
Res = 75
If (Param1 / Res <= Param3 .AND. Param2 / Res <= Param4)
Return Res
EndI
Res = 100
If (Param1 / Res <= Param3 .AND. Param2 / Res <= Param4)
Return Res
EndI
Res = 150
If (Param1 / Res <= Param3 .AND. Param2 / Res <= Param4)
Return Res
EndI
Res = 300
If (Param1 / Res <= Param3 .AND. Param2 / Res <= Param4)
Return Res
EndI
Retu 600
********************************************************
Function BMP16cConv
Parameter Byte1, Byte2
* Programado por Diego D'Onofrio * Email: near@lycos.com
********************************************************
If (Len(Byte1) > Byte2 / 2)
P2_ = Int(Byte2 / 2)
If (P2_ * 2 < Byte2)
P2_++
EndIf
Byte1 = Left(Byte1, P2_)
If (P2_ * 2 > Byte2)
P1_ = right(Byte1, 1)
Byte1 = Left(Byte1, Len(Byte1) - 1)
P3_ = NToc(Asc(P1_), 16, 2, "0")
P3_ = Left(P3_, 1) + "F"
P1_ = Chr(cton(P3_, 16))
Byte1 = Byte1 + P1_
EndI
EndI
Return Byte1
Here are some errors that I'm getting also......
Compiling IMPRBMP.PRG
line 3: operand expected
Pixels = ()
^
line 7: SET not recognized
Set(_SET_PRINTER, .t.)
^
line 17: operand expected
Pixels = Iif(Pixels == Nil, (), Pixels)
^
line 17: unbalanced parenthesis
Pixels = Iif(Pixels == Nil, ()
^
line 60: unbalanced parenthesis
P5_ = ("", "", "", "")
^
line 85: SET not recognized
Set(17, Exit)
^
line 97: no return value
Return
^
line 102: no return value
Return
^
line 127: no return value
Return
^
line 135: no return value
Return
^
line 139: no return value
Return
^
line 147: no return value
Return
^
line 166: operand expected
Pixels = ()
^
line 185: no return value
Return
^
line 192: unbalanced parenthesis
Bit2Conv = (("F", "F", "F", "F"), ("F", "E", "7", "F"), ("F", ;
^
line 192: unbalanced parenthesis
Bit2Conv = (("F"
^
line 193: verb not recognized
"E", "7", "B"), ("D", "E", "7", "B"), ("D", "E", "6", "B"), ;
^
line 194: verb not recognized
("D", "6", "6", "B"), ("D", "6", "6", "9"), ("9", "6", "6", ;
^
line 195: verb not recognized
"9"), ("9", "4", "6", "9"), ("9", "4", "2", "9"), ("9", ;
^
line 196: verb not recognized
"4", "0", "9"), ("9", "0", "0", "9"), ("9", "0", "0", "1"), ;
^
line 197: verb not recognized
("8", "0", "0", "1"), ("8", "0", "0", "0"), ("0", "0", "0", ;
^
line 198: verb not recognized
"0"))
^
line 200: unbalanced parenthesis
Exit= ("", "", "", "")
^
line 206: rest of line ignored
Exit[Loop4]= Exit[Loop4] + Chr(cton(P1_, 16))
^
line 209: no return value
Return
^
line 242: ASSIGNMENT error
P2_++
^
26 errors
Code Pass 1
Code Pass 2
Code size 3122, Symbols 1136, Constants 398
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Clipper 5.2 and Printing Logo
Hi All,
I do not want to be an intruder, but only trying to help, though never printed logo on clipper, it seems that the code used has several errors.
Marge0512, please, download the routine below, which is the same, and try again. I hope this help the continuity of the thread.
Best Regards.
I do not want to be an intruder, but only trying to help, though never printed logo on clipper, it seems that the code used has several errors.
Marge0512, please, download the routine below, which is the same, and try again. I hope this help the continuity of the thread.
Best Regards.
- Anexos
-
imprbmp.zip- (2.87 KiB) Baixado 338 vezes
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
No intrusion at all!!! Thanks!!
This is my fault. I failed to mention that the code I posted previously is the same one you have. The difference is my changes. For some reason it will not compile { }, so I changed those to ( ), I changed some of the wording from Spanish to English for my own understanding when I read the code, for example, from Salida to Exit......Pixeles to Pixels. I changed Function ImprimeBMP(BitmapF, Pixeles, Filas_, Columnas_) to:
Function PrintBMP
Paramater BitmapF, Pixeles, Filas_, Columnas_ because I was getting an error from that line and noticed that my programs have it the second way. Those errors disappeared. I was getting 36 errors with the original. Maybe my changes are also wrong since I do not know Clipper.
I noticed that the Endifs were showing as Endi instead. I thought by adding the f it would get rid of the "Return" errors but it did not. The word "Return" is showing as "Retu" instead. I know the compiler will not recognize "Retu" and assumed "Return" was the word it was meant to be.
I'm very sorry for the confusion. Hopefully, I didn't make the program worse!!!
This is my fault. I failed to mention that the code I posted previously is the same one you have. The difference is my changes. For some reason it will not compile { }, so I changed those to ( ), I changed some of the wording from Spanish to English for my own understanding when I read the code, for example, from Salida to Exit......Pixeles to Pixels. I changed Function ImprimeBMP(BitmapF, Pixeles, Filas_, Columnas_) to:
Function PrintBMP
Paramater BitmapF, Pixeles, Filas_, Columnas_ because I was getting an error from that line and noticed that my programs have it the second way. Those errors disappeared. I was getting 36 errors with the original. Maybe my changes are also wrong since I do not know Clipper.
I noticed that the Endifs were showing as Endi instead. I thought by adding the f it would get rid of the "Return" errors but it did not. The word "Return" is showing as "Retu" instead. I know the compiler will not recognize "Retu" and assumed "Return" was the word it was meant to be.
I'm very sorry for the confusion. Hopefully, I didn't make the program worse!!!
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
I just compiled with the original and these are the errors I am getting:
Compiling IMPRBMP.PRG
line 3: ASSIGNMENT error
Pixeles = {}
^
line 7: SET not recognized
Set( _SET_PRINTER, .t.)
^
line 13: rest of line ignored
Function ImprimeBMP(BitmapF, Pixeles, Filas_, Columnas_)
^
line 16: unbalanced parenthesis
Pixeles = Iif(Pixeles == Nil, {}, Pixeles)
^
line 16: operand expected
Pixeles = Iif(Pixeles == Nil,
^
line 16: ASSIGNMENT error
Pixeles = Iif(Pixeles == Nil,
^
line 59: ASSIGNMENT error
P5_ = {"", "", "", ""}
^
line 84: SET not recognized
Set(17, Salida)
^
line 88: rest of line ignored
Function DecBMP(BitmapF, Pixeles)
^
line 95: no return value
Retu
^
line 100: no return value
Retu
^
line 125: no return value
Retu
^
line 133: no return value
Retu
^
line 137: no return value
Retu
^
line 145: no return value
Retu
^
line 164: ASSIGNMENT error
Pixeles = {}
^
line 183: no return value
Retu
^
line 186: rest of line ignored
Function BITConvert(Pixeles, Salida)
^
line 189: ASSIGNMENT error
Bit2Conv = {{"F", "F", "F", "F"}, {"F", "E", "7", "F"}, {"F", ;
^
line 190: verb not recognized
"E", "7", "B"}, {"D", "E", "7", "B"}, {"D", "E", "6", "B"}, ;
^
line 191: verb not recognized
{"D", "6", "6", "B"}, {"D", "6", "6", "9"}, {"9", "6", "6", ;
^
line 192: verb not recognized
"9"}, {"9", "4", "6", "9"}, {"9", "4", "2", "9"}, {"9", ;
^
line 193: verb not recognized
"4", "0", "9"}, {"9", "0", "0", "9"}, {"9", "0", "0", "1"}, ;
^
line 194: verb not recognized
{"8", "0", "0", "1"}, {"8", "0", "0", "0"}, {"0", "0", "0", ;
^
line 195: verb not recognized
"0"}}
^
line 197: ASSIGNMENT error
Salida:= {"", "", "", ""}
^
line 199: ASSIGNMENT error
P2_:= NToc(Asc(SubStr(Pixeles, Loop, 1)), 16, 2, "0")
^
line 200: FOR error
For Loop4:= 1 To 4
^
line 201: ASSIGNMENT error
P1_:= Bit2Conv[cton(Left(P2_, 1), 16) + 1][Loop4] + ;
^
line 202: ASSIGNMENT error
Bit2Conv[cton(right(P2_, 1), 16) + 1][Loop4]
^
line 203: ASSIGNMENT error
Salida[Loop4]:= Salida[Loop4] + Chr(cton(P1_, 16))
^
line 206: no return value
Retu
^
line 209: rest of line ignored
Function AjustTam(Param1, Param2, Param3, Param4)
^
line 231: rest of line ignored
Function BMP16cConv(Byte1, Byte2)
^
line 237: ASSIGNMENT error
P2_++
^
line 252: rest of line ignored
Function BMP2cConv(Byte1, Byte2)
^
36 errors
Code Pass 1
Code Pass 2
Code size 2917, Symbols 1136, Constants 379
Compiling IMPRBMP.PRG
line 3: ASSIGNMENT error
Pixeles = {}
^
line 7: SET not recognized
Set( _SET_PRINTER, .t.)
^
line 13: rest of line ignored
Function ImprimeBMP(BitmapF, Pixeles, Filas_, Columnas_)
^
line 16: unbalanced parenthesis
Pixeles = Iif(Pixeles == Nil, {}, Pixeles)
^
line 16: operand expected
Pixeles = Iif(Pixeles == Nil,
^
line 16: ASSIGNMENT error
Pixeles = Iif(Pixeles == Nil,
^
line 59: ASSIGNMENT error
P5_ = {"", "", "", ""}
^
line 84: SET not recognized
Set(17, Salida)
^
line 88: rest of line ignored
Function DecBMP(BitmapF, Pixeles)
^
line 95: no return value
Retu
^
line 100: no return value
Retu
^
line 125: no return value
Retu
^
line 133: no return value
Retu
^
line 137: no return value
Retu
^
line 145: no return value
Retu
^
line 164: ASSIGNMENT error
Pixeles = {}
^
line 183: no return value
Retu
^
line 186: rest of line ignored
Function BITConvert(Pixeles, Salida)
^
line 189: ASSIGNMENT error
Bit2Conv = {{"F", "F", "F", "F"}, {"F", "E", "7", "F"}, {"F", ;
^
line 190: verb not recognized
"E", "7", "B"}, {"D", "E", "7", "B"}, {"D", "E", "6", "B"}, ;
^
line 191: verb not recognized
{"D", "6", "6", "B"}, {"D", "6", "6", "9"}, {"9", "6", "6", ;
^
line 192: verb not recognized
"9"}, {"9", "4", "6", "9"}, {"9", "4", "2", "9"}, {"9", ;
^
line 193: verb not recognized
"4", "0", "9"}, {"9", "0", "0", "9"}, {"9", "0", "0", "1"}, ;
^
line 194: verb not recognized
{"8", "0", "0", "1"}, {"8", "0", "0", "0"}, {"0", "0", "0", ;
^
line 195: verb not recognized
"0"}}
^
line 197: ASSIGNMENT error
Salida:= {"", "", "", ""}
^
line 199: ASSIGNMENT error
P2_:= NToc(Asc(SubStr(Pixeles, Loop, 1)), 16, 2, "0")
^
line 200: FOR error
For Loop4:= 1 To 4
^
line 201: ASSIGNMENT error
P1_:= Bit2Conv[cton(Left(P2_, 1), 16) + 1][Loop4] + ;
^
line 202: ASSIGNMENT error
Bit2Conv[cton(right(P2_, 1), 16) + 1][Loop4]
^
line 203: ASSIGNMENT error
Salida[Loop4]:= Salida[Loop4] + Chr(cton(P1_, 16))
^
line 206: no return value
Retu
^
line 209: rest of line ignored
Function AjustTam(Param1, Param2, Param3, Param4)
^
line 231: rest of line ignored
Function BMP16cConv(Byte1, Byte2)
^
line 237: ASSIGNMENT error
P2_++
^
line 252: rest of line ignored
Function BMP2cConv(Byte1, Byte2)
^
36 errors
Code Pass 1
Code Pass 2
Code size 2917, Symbols 1136, Constants 379
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Clipper 5.2 and Printing Logo
Hi,
I dowloaded Jairos´s version and it compiles all right but there are two missing functions reported by the linker: NTOC and CTON.
I dowloaded Jairos´s version and it compiles all right but there are two missing functions reported by the linker: NTOC and CTON.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
Thanks! I wonder if it's the way I am compiling then. One if my co-workers told me how to compile since it was my first time. We use a .bat file to compile. Inside of the .bat file is this code:
clipper @confr -l
clipper co_main.prg -l -m
clipper co_index.prg -l -m
clipper co_rept.prg -m -l
clipper co_nod.prg -m -l
clipper co_sal.prg -m -l
clipper co_list.prg -m -l
clipper co_pend.prg -m -l
clipper co_proc.prg -m -l
clipper imprbmp.prg -m -l
plink86 @confr
He said I need to use (in my working directory) the .bat file, clipper.exe, clipper.lib, dgs_util.lib, dor_util.lib, overlay.lib and the linker we use which is PLink86.exe. The instructions to use the imprbmp.prg said to include bookstore CT.lib........of which he only uses 2 functions which may be why you are getting your error. I don't know what "bookstore" means but I do have a CT.lib in my working directory also.
clipper @confr -l
clipper co_main.prg -l -m
clipper co_index.prg -l -m
clipper co_rept.prg -m -l
clipper co_nod.prg -m -l
clipper co_sal.prg -m -l
clipper co_list.prg -m -l
clipper co_pend.prg -m -l
clipper co_proc.prg -m -l
clipper imprbmp.prg -m -l
plink86 @confr
He said I need to use (in my working directory) the .bat file, clipper.exe, clipper.lib, dgs_util.lib, dor_util.lib, overlay.lib and the linker we use which is PLink86.exe. The instructions to use the imprbmp.prg said to include bookstore CT.lib........of which he only uses 2 functions which may be why you are getting your error. I don't know what "bookstore" means but I do have a CT.lib in my working directory also.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Clipper 5.2 and Printing Logo
Hi,
I don't have CT.Lib here but I think you´re right. The missing functions are inside it and "bookstore" refers to the CT Library itself.
I think you´ll need a .LNK file which is read by the linker, where you place all the .OBJ and .LIB file names that will compose the .EXE file (you must include a line LIB CT.Lib in this file). As shown in your .BAT file ( line with the command plink86 @confr), its name must be confr.LNK.
PLink86 is a very old linker and I´m not so sure if it´s default extension is .LNK. Try it. It woud be better to upgrade your linker. The one shipped with Clipper 5.2 was Exospace. There is RTlink also but, the best is BLinker which manages memory above 640Kb.
I don't have CT.Lib here but I think you´re right. The missing functions are inside it and "bookstore" refers to the CT Library itself.
In all xBase language dialects, command names became unique with four letters. So, Retu is valid. It´s a lazy programming way. I prefer to use the complete wordsmarge0512 escreveu:The word "Return" is showing as "Retu" instead. I know the compiler will not recognize "Retu"
I think you´ll need a .LNK file which is read by the linker, where you place all the .OBJ and .LIB file names that will compose the .EXE file (you must include a line LIB CT.Lib in this file). As shown in your .BAT file ( line with the command plink86 @confr), its name must be confr.LNK.
PLink86 is a very old linker and I´m not so sure if it´s default extension is .LNK. Try it. It woud be better to upgrade your linker. The one shipped with Clipper 5.2 was Exospace. There is RTlink also but, the best is BLinker which manages memory above 640Kb.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Clipper 5.2 and Printing Logo
Hi Again,
Merge, your code is different from the original, see:
Line 3:
Your Code: Pixels = " " // You put space between the quotes
Original Code: Pixels = {} // must be an Array
line 7:
1- Set _SET_PRINTER to .t. // can't to be
2- Set(_SET_PRINTER, .t.) // this is the correct
Lines 189 to 194, in error because you removel the semicolon at the end of each line.
remove all the spaces between the quotes, and verify your changes with the original, they must be in conformity with the syntax of the Clipper
I suggest that you forget for now the translation, until you can make the function work properly.
Lib are auxiliary files containing functions that can be used for various applications. Alexandre Santos (alxsts) said that two functions are missing: NTOC and CTON. Respectively from what I understand, are: number to string and character to number. You need to add the Lib CT.LIB (Clipper Tools) in your script. Maybe these functions are there.
Merge, your code is different from the original, see:
Line 3:
Your Code: Pixels = " " // You put space between the quotes
Original Code: Pixels = {} // must be an Array
line 7:
1- Set _SET_PRINTER to .t. // can't to be
2- Set(_SET_PRINTER, .t.) // this is the correct
Lines 189 to 194, in error because you removel the semicolon at the end of each line.
remove all the spaces between the quotes, and verify your changes with the original, they must be in conformity with the syntax of the Clipper
I suggest that you forget for now the translation, until you can make the function work properly.
Lib are auxiliary files containing functions that can be used for various applications. Alexandre Santos (alxsts) said that two functions are missing: NTOC and CTON. Respectively from what I understand, are: number to string and character to number. You need to add the Lib CT.LIB (Clipper Tools) in your script. Maybe these functions are there.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
marge0512
- Usuário Nível 3

- Mensagens: 121
- Registrado em: 20 Mai 2011 12:42
- Localização: United States
Clipper 5.2 and Printing Logo
Ok, now I understand why so many words were chopped off! LOL! I like the whole words also.
Thank you both for this information. I'm going to play around a bit and see what I get. I'm not sure how to do a .lnk file but i should be able to figure that one out. I guess i needed to do more than just have these objects and libraries sitting in my working directory.
I'm sure i will have more questions but I will work with this information for now. I want to research this "blinker" also. I had a feeling the linker I was working with was old.
I really do appreciate the help!! I was TOTALLY lost!! Still there but not as bad. LOL Clipper is very different from what I am used to.
Thank you both for this information. I'm going to play around a bit and see what I get. I'm not sure how to do a .lnk file but i should be able to figure that one out. I guess i needed to do more than just have these objects and libraries sitting in my working directory.
I'm sure i will have more questions but I will work with this information for now. I want to research this "blinker" also. I had a feeling the linker I was working with was old.
I really do appreciate the help!! I was TOTALLY lost!! Still there but not as bad. LOL Clipper is very different from what I am used to.
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Clipper 5.2 and Printing Logo
Hi!
PLink86 scripts have the extension .LNK like Blinker or Exospace or RTlink scripts.
Sample .LNK´s for PLink86:
PLink86 scripts have the extension .LNK like Blinker or Exospace or RTlink scripts.
Sample .LNK´s for PLink86:
Código: Selecionar todos
1. MYLIST.LNK contains:
OUTPUT TEST.EXE
FI TEST @MYLIST2.LNK
MYLIST2.LNK contains:
FI TEST2
LIB CLIPPER, EXTEND
When you execute PLINK86-Plus by typing:
C> PLINK86 @MYLIST
The result is the same as if you had typed:
OUTPUT TEST.EXE
FI TEST.OBJ
FI TEST2.OBJ
LIB CLIPPER, EXTEND
2. .LNK files may also be mixed with other PLINK86-Plus commands.
For example:
C>PLINK86 @MYLIST VERBOSE
initiates the linking process and invokes the VERBOSE command.
3. Set DOS environment for subsequent linking
C>SET OBJ=\CLIPPER\PROGS
C>SET LIB=\CLIPPER\LIBS
Then sometime later
D>PLINK86 FI APP LIB EXTEND,NETLIB
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)