Otomatik artan sayıyı dfelphiden vermek
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- yuksel2004
- Üye
- Mesajlar: 61
- Kayıt: 26 May 2005 08:55
- Konum: Bursa
Otomatik artan sayıyı dfelphiden vermek
Arkadaşlar bir programımda otomatik artan sayıyı içinde bulunulan yıl + olarak verdirmek istiyorum.Mesela 2005 yılında ilk kayıt 2005/1 diye başlayacak ve her kayıt açıldığında bu numarayı otomatik olarak verecek.Db den değil de delphiden bunu kodla yapabilirmiyim.Bu konuda bilgisi olan arkadaşlardan yardım rica ediyorum.Herkese kolay gelsin.
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
- yuksel2004
- Üye
- Mesajlar: 61
- Kayıt: 26 May 2005 08:55
- Konum: Bursa
Kodlada yapman mümkün bunun için fonksiyon yazsan olur gibi me geliyor.ASE arkadaşımızda sölemiş zaten araştır soruştur,yapman gereken özetlenirse 2005 sabit olduğunua göre bunun / dan sonrasını artıracak bir fonksiyon yazacaksın,sonrada oraya yapıştıracaksın.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
viewtopic.php?t=451&highlight=fatura+nosu
viewtopic.php?t=2060&highlight=fatura
bunalri bi incele
özellikle ikincisini çevirirsen işine yarar umt ediyorum ki
viewtopic.php?t=2060&highlight=fatura
bunalri bi incele
özellikle ikincisini çevirirsen işine yarar umt ediyorum ki
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz
Erkan ÇAĞLAR
Benim kendi projem için hazırlamış olduğum bir fonksiyonum var.Fonksiyonu delphi tarafında kullanmanın bence bir takım sıkıntıları olabilir.Önerim bunu firebird+UDF veye SP ile çözmen daha mantıklı olur.
Kod: Tümünü seç
function birles(max: string): integer;
var //mevcut bulunan sıranodaki en büyük sayı string olarak verin.
tar, ayril, y, kisatar: string;
hes, x, z, t, s, kisaay, kisagun: integer;
begin //Bu satırdaki leftStr eklenince implementation altındaki uses satırına StrUtils ekleyin...
kisatar := FormatDateTime('yy', Date); //güncel tarihin yılını son iki degerini almak için
kisaay := StrToInt(FormatDateTime('mm', Date));
kisagun := StrToInt(FormatDateTime('dd', Date));
x := StrToInt(kisatar); //Günün tarihini sayıya cevir içindeki 0 yok et
y := IntToStr(x);
z := length(y); // son iki karakter 2010 dan sonra 2 olacagı için z deger vermek gerekiyor.
ayril := MidStr(max, z + 1, 10); //max degerindeki z sayısından sonraki karakterler bu sayının en fazle 10 olabileceğini düşündüm.
tar := LeftStr(max, z); //max degerindeki z sayısından önceki karakterler.
t := StrToInt(tar); //
hes := StrToInt(ayril);
s := x - t;
if (s > 1) or (s < 0) then //bilgisayarın tarih ayarlarıyla oynayarak
begin //sıra numarasında düzensizlik yaratmak isteyen sahtekar kullanıcılar için önlem
ShowMessage('Dostum ben eski bir memurum ben de EVRAK kaybolmaz..!' + #10#13 + 'GÜLE GÜLE..;)');
halt; // Amaç server emniyetini sağlamak.
end;
if y = tar then //mevcut tarih ile güncel tarih eşit ise
begin
birles := StrToInt(kisatar + IntToStr(hes + 1)); //sayı olarak bir ekle
end
else
begin
if (kisaay = 1) and (kisagun < 7) then //Ocak ayının 7 sinden önce mutlaka işlem yapılması gerekir.
begin //kodu burda kırmak için kullanıcı ocak 7 sinden önce giriş yapması gerektiğini belirttin.
birles := StrToInt(kisatar + '1'); //yılı bir artır.
end
else
begin
ShowMessage('Dostum ben eski bir memurum biz de EVRAK kaybolmaz..!' + #10#13 + 'GÜLE GÜLE..:)');
halt;
end;
end;
end;