DATAMATRIX ECC200

CTI13 Messages postés 6 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 15 juillet 2015 - 29 mars 2012 à 14:23
pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 - 31 mars 2012 à 21:43
Bonjour à tous,

Je cherche du code source pour imprimer sur une imprimante étiquette du type ZEBRA, DYMO ou autre un datamatrix avec police ECC200

Merci de votre aide

3 réponses

pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 3
29 mars 2012 à 21:48
Bonjour,
Du temps ou je travaillais, c'était en 2002 environ, j'avais écrit une application pour éditer des étiquettes sur imprimantes Zebra (Ref S600 je crois). Il y avait 2 formats d'étiquettes à imprimer, donc 2 imprimantes Zebra.
J' utilisais le langage ZPL. Je générais une TStrinList avec les codes zebra et les infos à imprimer. Les codes commencent tous par le chapeau '^' ^FD par exemple et ensuite j'envoyais la TStringList à la bonne imprimante.
Je dois avoir les sources de cette appli à la maison si tu es intéressé je regarderais


pierrot
0
CTI13 Messages postés 6 Date d'inscription lundi 15 février 2010 Statut Membre Dernière intervention 15 juillet 2015
30 mars 2012 à 17:34
OK pour les sources si elles sont toujours dispo
Mimidu13
0
pierrotk10d Messages postés 110 Date d'inscription mardi 13 novembre 2007 Statut Membre Dernière intervention 2 février 2024 3
31 mars 2012 à 21:43
Bonjour,
Voici les procédures avec Delphi 4:
Remplissage de la TStringList et son impression sur imprimante Zebra.
(Pour le langage ZPL voir chez Zebra).
Cette appli était bilingue c'est pour cette raison que les messages d'erreur sont dans un tableau.
La fonction Padr n'existait pas sous Delphi 4 j'avais écrit cette fonction pour formater le texte du code sur 15 caractères.
Les tables étaient en relation par le modèle

{$DEFINE FRANCE}
Const
{$IFDEF FRANCE} // Français
aMsg: Array[0..10] of string = ();
{$ELSE} // Anglais
aMsg: Array[0..10] of string = ();
{$ENDIF}

Procedure TfEtiquette.Imprime(ts: TStringList);
Var i: Integer;
Prt: TextFile;
begin
AssignPrn(Prt);
Try
Rewrite(Prt); // Création et ouverture d'un nouveau fichier
Try
For i := 0 To ts.Count-1 do
WriteLn(Prt, ts[i]);
Finally
System.CloseFile(Prt);
end;
Except // 'Erreur d''impression'
On EInOutError do MessageDlg(aMsg[2], mtError, [mbOk],0);
End;
end;


Procedure FillTs(ts: TStringList);
// Remplissage de la TStringList passée à la procédure
Var cModele, cRoot, cCodeSur15: string;
Begin
With fDM do begin // fDM + DataModule
// tCde = Table des commandes
cModele := tCde.FieldByName('Modele').AsString;
cCodeSur15 := fEtiquette.Padr(cModele + tCde.FieldByName('Opva').AsString, 15);
tEnsb.SetKey;
tEnsb.FieldByName('Modele').AsString := cModele;
tEnsb.GotoKey;
cRoot := cPathData + tInfo.FieldByName('Root').AsString;
// tInfo = Table contenant les infos à rechercher en fonction du modèle
With ts do begin
LoadFromFile(cRoot); // Partie fixe du programme d'impression
Add('^FO436,49^FD' + tCde.FieldByName('IT').AsString + '^FS');
If cModele = 'P500' then
Add('^FO70,49^FD' + tCde.FieldByName('IUn').AsString + '^FS');
Add('^FO28,20^FD' + cModele + '^FS'); // Modele grande étiquette
Add('^FO114,20^FD' + fEtiquette.CodeCR(cCodeSur15) + '^FS');
Add('^FO444,82^FD' + FormatNumCde(tCde.FieldByName('NumCde').AsString,
tCde.FieldByName('NumLig').AsString) + '^FS');
Add('^FO20,146^FD' + tInfo.FieldByName('Diagram').AsString + '-' +
tInfo.FieldByName('IndDiag').AsString);
Add('^FO448,181^FD' + FormatDateTime('mm.yy',Now) + '^FS');
Add('^FWB^FS'); // Modele dans la petite étiquette
Add('^CF0,35,31^FS'); // Changement de fonte
Add('^FO640,72^FD' + cModele + '^FS');
Add('^CFE,28,15^FS'); // Fonte standard
Add('^FWN^FS');
Add('^FO344,146^CFD^SN F dummy,1,Y^FS'); // N° de série
Add('^PQ3,0,3,Y^FS'); // ^PQ = Nb d'étiquettes identiques à imprimer
Add('^EG^XZ');
End;
End;
{* Pour info Syntaxe de SN: SNtexte,v,n,z ou v= N° de départ, n= increment,
z= Yes ou No complément avec des zéros si nécessaire *}
end;


pierrot
0
Rejoignez-nous