Clipper 5.2 and Printing Logo

Fórum sobre a linguagem CA-Clipper.

Moderador: Moderadores

marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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!!
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Clipper 5.2 and Printing Logo

Mensagem por alxsts »

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
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Clipper 5.2 and Printing Logo

Mensagem por alxsts »

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.
[]´s
Alexandre Santos (AlxSts)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

It is a single .prg and may be too large to post but I'm going to try anyway and see what happens.

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
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Clipper 5.2 and Printing Logo

Mensagem por Jairo Maia »

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.
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)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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!!!
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Clipper 5.2 and Printing Logo

Mensagem por alxsts »

Hi,

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)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Clipper 5.2 and Printing Logo

Mensagem por alxsts »

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.
marge0512 escreveu:The word "Return" is showing as "Retu" instead. I know the compiler will not recognize "Retu"
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 words

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)
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2785
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP

Clipper 5.2 and Printing Logo

Mensagem por Jairo Maia »

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.
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)
marge0512
Usuário Nível 3
Usuário Nível 3
Mensagens: 121
Registrado em: 20 Mai 2011 12:42
Localização: United States

Clipper 5.2 and Printing Logo

Mensagem por marge0512 »

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.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Clipper 5.2 and Printing Logo

Mensagem por alxsts »

Hi!

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)
Responder