PDA

Ver la Versión Completa : de codigo VB a codigo Delphi


ingel
19-07-2004, 20:38:14
HOla .. les comento mi problemita
Este es codigo VBasic para la impresion de una etiqueta en una impresora Eltron (de codigos de barras)
El problemita es que lo tengo que transcribir a delphi.. y si apenas se algo de
delphi mucho menos de VB ..
Hasta ahora saque las comillas doble por simples y cambie el & por + aunque no se si sera correcto, asumo que no porque no me imprimio nada ...
GRACIAS
Ingel

CODIGO VBasic
------------
Private Sub Etiq_GrandeEAN13_Click()
Open "LPT1" For Output As #1
Print #1, Chr$(13)
Print #1, "O"
Print #1, "D8"
Print #1, "S2"
Print #1, "ZT"
Print #1, "JF"
Print #1, "I8,1"
Print #1, Chr$(13)
Print #1, "FK" & Chr$(34) & "FIXEDAT0" & Chr$(34)
Print #1, "FS" & Chr$(34) & "FIXEDAT0" & Chr$(34)
Print #1, "Q480,24"
Print #1, "q448"
Print #1, "A30,10,0,4,1,3,N," & Chr$(34) & "Bicicleta Marca OLMO LS" & Chr$(34)
Print #1, "A30,90,0,4,1,3,N," & Chr$(34) & "Modelo CGS24242W RDFGSJ" & Chr$(34)
Print #1, "A30,170,0,4,1,3,N," & Chr$(34) & "Linea de Texto numero 3" & Chr$(34)
Print #1, "B48,250,0,E30,3,9,180,B," & Chr$(34) & "779123456789" & Chr$(34)
Print #1, "FE"
Print #1, Chr$(13)
Print #1, "FR" & Chr$(34) & "FIXEDAT0" & Chr$(34)
Print #1, "?"
Print #1, "P1"
Close #1
End Sub


Mi codigo Delphi cuasimodificado
--------------------------------

procedure TFEtiquetas.BitBtn1Click(Sender: TObject);
var Impresora: TextFile;
begin
with Printer do begin
AssignPrn(Impresora);
Title:=' EAN-13 Grande '; // titulo de la cola de impresión....
Rewrite(Impresora);
Writeln(Impresora,chr(13));
Writeln(Impresora,'O' );
Writeln(Impresora,'D8' );
Writeln(Impresora,'S2' );
Writeln(Impresora,'ZT' );
Writeln(Impresora,'JF' );
Writeln(Impresora,'I8,1' );
Writeln(Impresora,Chr(13) );
Writeln(Impresora,'FK' + Chr(34) + 'FIXEDAT0' + Chr(34) );
Writeln(Impresora,'FS' + Chr(34) + 'FIXEDAT0' + Chr(34) );
Writeln(Impresora,'Q480,24' );
Writeln(Impresora,'q448' );
Writeln(Impresora,'A30,10,0,4,1,3,N,' + Chr(34) + 'Bicicleta Marca OLMO LS' + Chr(34) );
Writeln(Impresora,'FE' );
Writeln(Impresora,Chr(13) );
Writeln(Impresora,'FR' + Chr(34) + 'FIXEDAT0' + Chr(34) );
Writeln(Impresora,'?' );
Writeln(Impresora,'P1' );

CloseFile(Impresora);
end;
end;

jachguate
19-07-2004, 21:01:11
Hola.

En primer lugar, te recomiendo usar las etiquetas [delphi], [sql] y [code] para publicar trozos de código correctamente indentado y con la sintaxis resaltada, que es mucho mas legible.

Luego, cambiá el writeln por write, pues el writeln enviará un cr/lf a la impresora y me parece (solo me parece) que no ocurre asi desde vb.

Hasta luego.

;)

Gydba
20-07-2004, 14:15:44
Buenas,

Como dato completamente adicional, casualmente el sábado pasado estuve realizando pruebas con una etiqueteadora Zebra LP 2824 que tenía el gran problema que era USB :(

La gran realidad es que no es normal el uso del puerto USB desde cualquier app., puesto que Window$ parece manejarlo como un puerto COM virtual cuando la impresora lo precisa.

Bueno, basta de chacharas que sino me voy a extender demasiado. En torry encontré este componente (http://www.torry.net/quicksearchd.php?SID=b6a00d1a159c8dac86d5fde29c5562d2&String=raw+print&Title=Yes) con código fuente que manda caracteres a la impresora por default. Y colorín colorado problema solucionado :)

Espero que te sirva, es muy simple de utilizar.