Otomatik artan sayıyı dfelphiden vermek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Otomatik artan sayıyı dfelphiden vermek

Mesaj gönderen yuksel2004 »

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.
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

veri tabanını yaz bizde cevabı yazalım hiç zor değil aslında
access te veri tabanından yapabilirsin bunu. Diğer veri tabanları için @hüsonet in yazdığı bi fonsiyon var. Kullanabilirsin. Forumda daha önce yayınlandı...
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
yuksel2004
Üye
Mesajlar: 61
Kayıt: 26 May 2005 08:55
Konum: Bursa

Mesaj gönderen yuksel2004 »

Veritabanım access bunu mdb den nasıl yaparım.Ayrıca kodla yapmakta mümkünmü?
Unutmayalım ki bu hayat bir demodur ve tam sürüm kullanabilmek için lisans ücreti ödemememiz düşünülemez.
Kullanıcı avatarı
vedatkaba
Kıdemli Üye
Mesajlar: 866
Kayıt: 06 Oca 2004 06:50
Konum: DARICA/GEBZE

Mesaj gönderen vedatkaba »

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.

***********************************
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

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
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Berdem
Üye
Mesajlar: 431
Kayıt: 28 Tem 2003 12:28

Mesaj gönderen Berdem »

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;
Cevapla