DATAMATRIX ECC200

Signaler
Messages postés
7
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
15 juillet 2015
-
Messages postés
106
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
-
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
A voir également:

3 réponses

Messages postés
106
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
2
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
Messages postés
7
Date d'inscription
lundi 15 février 2010
Statut
Membre
Dernière intervention
15 juillet 2015

OK pour les sources si elles sont toujours dispo
Mimidu13
Messages postés
106
Date d'inscription
mardi 13 novembre 2007
Statut
Membre
Dernière intervention
25 octobre 2020
2
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