Mega Code Archive

 
Categories / Delphi / Printing
 

Otomatik barkod yazdırma

// Bu kodla 12 karaktere sahip bir barkodun son 6 karakteri duzenli olarak degistirilerek // yeni bir barkod uretilmektedir. Degisen son 6 karakter,bir veri tabanında tutulmakta //ve her yeni barkod alındiginda bu en son deger kullanilarak degistirilmektedir. //Test etmek icin bir form yaratarak , bir edit box,bir Button ve bir Label olusturunuz. // Erdal Kilinc // ekilinc@netas.com.tr Procedure TForm1.GetNewBarcode; var a, b, c, d, e, f,j,k : Integer;//Loop Degiskenleri sChangeBar : String; //Degisecek Barkod tmp:Char; //Gecici degisken St: array [1..6] of integer; //Degisecek son 6 karakter icin dizi LastBar:string; //LastBar veri tabanından alınan ve en son kullanılan 6 karakter //Test etmek icin LastBar bir string degisken olark tanitilmis ve //degisecek barkod bir Edit Box 'tan alinarak bir Label'a aktarlmistir begin LastBar:=uppercase(edit1.text); if Length(LastBar) <> 6 Then Exit; for k := 1 To 6 do begin Tmp:=LastBar[k]; if tmp in ['0'..'9'] then St[k]:= ord(tmp) - 47; if tmp in ['A'..'Z'] then St[k] := ord(tmp) - 54; end; St[6]:= St[6]+1; for a:=St[1] To 36 do begin for b := St[2] To 36 do begin for c := St[3] To 36 do begin for d := St[4] To 36 do begin for e := St[5] To 36 do begin for f := St[6] To 36 do if Length(sChangeBar)=6 Then begin LastBar:=sChangeBar; Label1.Caption:=Lastbar; Exit; end else begin for j:= 1 To 6 do if St[j] < 11 Then begin tmp := Chr(St[j] + 47); sChangeBar := sChangeBar + tmp end else begin tmp := Chr(St[j] + 54); sChangeBar := sChangeBar + tmp; end; end; St[6] := 1; St[5] := St[5] + 1; end; // end e St[5] := 1; St[4] := St[4] + 1; end; //end d St[4] := 1; St[3] := St[3] + 1; end; //end c St[3] := 1; St[2] := St[2] + 1; end; // end b St[2] := 1; St[1] := St[1] + 1; end; // end a end; // end procedure