1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102
|
procedure TLabels.ImprimerDirectClick(Sender: TObject);
var i,n,k : Word;
WString : String; // chaine de travail
WPointure : String;
WNom_Complet : String;
WNom_Partiel : String;
Lpt2: TextFile;
Image_Existe : Boolean;
nF : TextFile;
FileTxt : String;
CodeFile : String;
LDessin: String;
begin
if (not Standard.Checked) AND (Commande='') then
begin
MessageDlg('Pour un Article non Standard'+#13+
'Le N° Commande/Lot doit être renseigné',mtError,[mbOk],0);
Annee.SetFocus;
Exit;
end;
// verifier si Fichier Image Existe
FileTxt:=ChangeFileExt(VarImage,'.TXT');
Image_Existe:=FileExists(FileTxt);
if not Image_Existe then
ShowMessage('Fichier Image XLT '+FileTxt+' Inexistant');
AssignFile(Lpt2,'LPT1');
Rewrite(Lpt2);
for i:=0 to 23 do
begin
try
n:=StrToInt(Grille.Cells[i,1]);
if n>0 then
begin
Writeln(Lpt2,'^XA^EG^XZ^XA^MCY^XZ^XA^IDLABSOFT^FS^XZ');
Writeln(Lpt2,'^XA^LRN^FWN^CFD,24^LH0,0^CI0^PR2^MNY^MTT^MMT^MD4^PON^PMN');
if Image_Existe then
begin
{Charger le texte du dessin}
AssignFile(nF,FileTxt);
Reset(nF);
repeat
Readln(nF,LDessin);
if (Pos('~DG',LDessin)>0) then
CodeFile:=Copy(LDessin,Pos('~DG',LDessin)+3,8);
if (Pos('^XG',LDessin)=0) then WriteLn(Lpt2,LDessin);
until EOF(nF);
CloseFile(nF);
end;
// prepare le code barre
if EStd then WString:='*'
else WString:='?';
WString:=WString+Modele.Text+'-'+Assortiment.text;
try
k:=StrToInt(Grille.Cells[i,0]);
WPointure:=IntToStr(k div 10);
if (k mod 10 > 0) then WPointure:=WPointure+'«';
except
WPointure:=Grille.Cells[i,0];
end;
WNom_Complet:=WString+Grille.Cells[i,0];
WNom_Partiel:='*'+ClientNom.Text+'-'+ClientAssCode.Text;
// code barre avec libelle si noms différents
if (CompareStr(ClientNom.Text,Modele.Text)<>0)
OR (CompareStr(ClientAssCode.Text,Assortiment.Text)<>0)
then Writeln(Lpt2,'^BY2^FO8,17^BCN,80,Y,N,Y^FD>:>8'+WNom_Complet+'^FS') // nom_partiel
else Writeln(Lpt2,'^BY2^FO8,17^BCN,80,N,N,Y^FD>:>8'+WNom_Complet+'^FS');
if BarCode2.Visible then
begin
Writeln(Lpt2,'^BY2^FO8,297^BCN,80,N,N,Y^FD>:>8-'+Commande+'^FS');
Writeln(Lpt2,'^A0N,31,46^FO30,381^FD-'+Commande+'^FS');
end;
Writeln(Lpt2,'^ADN,36,30^FO8,120^FD'+WNom_Partiel+'^FS'); // Nom_Partiel
Writeln(Lpt2,'^ABN,22,14^FO8,169^FD'+ClientAssort.Text+'^FS');
Writeln(Lpt2,'^ABN,22,14^FO8,213^FD'+ClientDessus.Text+'^FS');
Writeln(Lpt2,'^ABN,22,14^FO8,255^FD'+ClientTalon.Text+'^FS');
Writeln(Lpt2,'^ADN,90,50^FO600,304^FD'+WPointure+'^FS');
if Image_Existe then Writeln(Lpt2,'^FO450,120^XG'+CodeFile+',1,1^FS');
Writeln(Lpt2,'^PQ'+IntToStr(n)+',1,0,Y');
Writeln(Lpt2,'^XZ');
end;
except
on EConvertError do n:=0;
end;
end; {next i}
CloseFile(Lpt2);
// Reinitialiser-------------
Modele.Text:='';
Assortiment.Text:='';
Standard.Checked:=true;
Annee.Text:='';
// Saison.Text:='';
Numero.Text:='';
Ligne.Text:='';
ClientDessus.text:='';
ClientTalon.text:='';
BarCode2.Bar_Caption:='+';
EffacerGrille1Click(Sender);
Lancement.SelectAll;
Lancement.Text:='';
SelectNext(Sender as TwinControl,True,True);
end; |
Partager