A9152210 = A9152211 Gibi Fatura No Artırımı.

Yazdığınız makaleleri ve üyelerimizin işine yarayacağını düşündüğünüz kodlarınızı gönderebilirsiniz. Bu foruma soru sormayın!
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen sabanakman »

Edit2.Text:= DegerArt(Edit1.Text);
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen akuyumcu63 »

şaban abi çok sağolasın, annemin benim için yaptığı duaları senin üzerine olsun.
İsteyen, yapabildiğinden daha fazlasını yapar.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen husonet »

Kendi yazdığım fonksiyonumla ShowMessage(Numarator('0009')); şu şekilde bir deneme yaptığım zaman 0010 yazıyor.

fonksiyonu senelerdir kullanıyorum çok şaşırdım

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
akuyumcu63
Üye
Mesajlar: 386
Kayıt: 02 Tem 2007 09:43

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen akuyumcu63 »

muhtemelen ben kullanamadım. çünkü iyi bir programcı sayılmam. sadece inadına bu işte belli bir noktaya gelmeye çalışıyorum.
belki de kullanmış olduğum veri tabanıyla alakalı olabilir. paradox veri tabanı kullanıyorum.
İsteyen, yapabildiğinden daha fazlasını yapar.
comeng07
Üye
Mesajlar: 22
Kayıt: 26 May 2018 11:35
Konum: Antalya

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen comeng07 »

husonet yazdı: 15 Mar 2004 03:59 Uzun Zamandır yazayım diyordum. Bugüne kısmet oldu. Hayırlı olsun!!!

Kod: Tümünü seç


//Husonet 
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('DZ9999'));
end;
Kodun Amacı String olarak verilen veriyi 1 arttırmak. AZ99999Z, B99999
, B21222 vb....


Arkadaşlar açıklamasını yapmıyorum. Seminerlerde Örnek olarak açıklayacağım.

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



İyi Çalışmalar.
Hüseyin ÖZDEMİR.

Merhaba sizin kodunuzu kullanmak istiyorum cari kartindaki carikodu artirmak icin ama nasil ve nerde cagirmam gerektigini bilmiyorum. Sql veritabani kullaniyorum cari kodunu dbedit1.text alanina geliyor. Dataset carikodunun on validate kismina dbedir1.text :=numarator(); seklinde parantez icine ne yazmam gerekiyor yoksa toptan yanlis yerdemiyim. Yardimci olurmusunuz lütfennn
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3077
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen sabanakman »

Arttırmak isdeğiniz değer ne (/nerede) ise onu yazmanız gerekecektir.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
comeng07
Üye
Mesajlar: 22
Kayıt: 26 May 2018 11:35
Konum: Antalya

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen comeng07 »

sabanakman yazdı: 25 Ara 2018 10:23 Arttırmak isdeğiniz değer ne (/nerede) ise onu yazmanız gerekecektir.
Artırmak istedigim deger carikoduna gelen son kod sorunda orda onu yazmam gerektigini biliyorum ama nerden cekmem gerektigini bilmiyorum. Ornegin 3 kaydim var C0001, C0002,C0003 son kaydim C0003 ondan sonra yeni eklemek istedigimde C0004 yazmasi gerek dbedi1.text e ama nasil
Kullanıcı avatarı
KoPilot
Üye
Mesajlar: 185
Kayıt: 05 Eki 2007 08:02

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen KoPilot »

comeng07 yazdı: 25 Ara 2018 02:16
sabanakman yazdı: 25 Ara 2018 10:23 Arttırmak isdeğiniz değer ne (/nerede) ise onu yazmanız gerekecektir.
Artırmak istedigim deger carikoduna gelen son kod sorunda orda onu yazmam gerektigini biliyorum ama nerden cekmem gerektigini bilmiyorum. Ornegin 3 kaydim var C0001, C0002,C0003 son kaydim C0003 ondan sonra yeni eklemek istedigimde C0004 yazmasi gerek dbedi1.text e ama nasil
Parantez içine artırmak istediğin değeri çekmelisin.
Mesela:
Çekmek istediğin değerin "alan1" de kayıtlı olduğunu varsayalım.

Kod: Tümünü seç

begin
	DataSet1.last;
	edit1.text:=numarator(DataSet1.fieldbyname('alan1').asstring;
end;
Artık buradan sonrasını yaparsın diye düşünüyorum.
Umarım bu kadar hazır kod vermiş olmamız seni rehavete itmez.
Dosyalarınızı kendi bulutunuza yedekleyin. Yandex Disk
Eyvallah..
comeng07
Üye
Mesajlar: 22
Kayıt: 26 May 2018 11:35
Konum: Antalya

Re: A9152210 = A9152211 Gibi Fatura No Artırımı.

Mesaj gönderen comeng07 »

KoPilot yazdı: 26 Ara 2018 09:09
Parantez içine artırmak istediğin değeri çekmelisin.
Mesela:
Çekmek istediğin değerin "alan1" de kayıtlı olduğunu varsayalım.

Kod: Tümünü seç

begin
	DataSet1.last;
	edit1.text:=numarator(DataSet1.fieldbyname('alan1').asstring;
end;
Artık buradan sonrasını yaparsın diye düşünüyorum.
Umarım bu kadar hazır kod vermiş olmamız seni rehavete itmez.

Yardımların için teşekkür ederim ama Bunu denedim denemedim değil ama kodu sql max yapmadan denemiştim.
Yinede rehavete düşmek falan hoş değil bu forum sonuçta bunun için var birbirimize yardım edelim diye...
Cevapla