Anasayfa > Kodlar > Delphi ile fatura numarası artırımı (A9152210 = a9152211 gibi)

Delphi ile fatura numarası artırımı (A9152210 = a9152211 gibi)

String Türden veri artırımı özellikle (fatura No) gibi olaylarda hep problem olmuştur. Bu yazılan kod sayesinde bu problemi aşabileceksiniz.


Function TersCevir(no:String):String;
var
Cevrilen:String;
i:Integer;
Begin
i:= 0;
Cevrilen := “;
For i := length(no) DownTo 1 Do
Begin
Cevrilen := Cevrilen + no[i];
End;
Result := Cevrilen;
End;

Function Numarator(no:String):String;
var
Nmr, Temp, Temp1:String;
Temp2:Char;
i, Tmp:Integer;
Begin
nmr := TersCevir(no);
i:= 0;
while i < length(no) Do
Begin
i := i + 1;
if nmr[i] = ‘9’ Then
begin
nmr[i] := ‘0’;
continue;
End
Else
if (nmr[i] < ‘9’) and (nmr[i] >= ‘0’) Then
Begin
Temp := inttostr(StrToInt(nmr[i]) + 1);
Tmp := i;
Break;
end;
if nmr[i] = ‘Z’ Then
begin
nmr[i] := ‘A’;
continue;
End
Else
if (nmr[i] < ‘Z’) or (nmr[i] >= ‘A’) Then
Begin
Temp := inttostr(ord(nmr[i]));
Temp := intToStr(StrToInt(Temp) + 1);
Temp := Chr(StrToInt(Temp));
Tmp := i;
Break;
end;
End;
i:= 0;
while i < length(no) do
Begin
i := i + 1;
if tmp = i Then
if (temp[1] <= ‘9’) and (temp[1] >= ‘0’)  Then
nmr[i] := temp[1]
Else
Begin
nmr[i] := Temp[1];
End;
nmr[i] := nmr[i];
End;

result := TersCevir(nmr);
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage(Numarator(‘DZ9991Z’));
end;

Kodun Amacı String olarak verilen veriyi 1 arttırmak. B99999 = C00000 vb..

Kodu Testedip çalıştıran arkadaşlarımız olursa Fikirlerini yazarlarsa sevinirim.

Mail : huseyin@durmus.net
Hüseyin ÖZDEMİR


TD Software


Reklamlar
  1. osman
    22/10/2016, 08:54

    public string BlkoduVer(string sycAdi)
    {
    var blkod = “”;
    try
    {
    var expanse = _serviceRepository.GetAll().First(x => x.Sayacadi == sycAdi);
    expanse.Sayacno = expanse.Sayacno + 1;
    blkod = expanse.Sayacno.ToString();
    Uow.SaveChanges();
    return blkod;
    }
    catch
    {
    return blkod;
    }
    }

    public string YeniFaturaKoduGs()
    {
    var fatgsKodBasKar = “FT”;
    var fatgsKodUzunluk = 5;

    var numara = fatgsKodBasKar + BlkoduVer(“FaturanoGs_Syc”);
    numara = numara.Substring(fatgsKodBasKar.Length, numara.Length – fatgsKodBasKar.Length);
    var yeni = Convert.ToInt32(numara);
    var sifirlar = “”;
    var uz = fatgsKodUzunluk;
    var yeniUzunluk = yeni.ToString().Length;
    var sayac = uz – yeniUzunluk;
    for (var i = 0; i < sayac; i++)
    {
    sifirlar += "0";
    }
    return fatgsKodBasKar + sifirlar + (yeni);
    }

    Beğen

  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: