3. yazıcı çıktısından sonra şifre...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

3. yazıcı çıktısından sonra şifre...

Mesaj gönderen ademiz »

Merhaba Arkadaşlar

Bir kuruma, Database ile çalışan üye kayıtlarını tutan ve raporlarını veren bir program yazdım.Program takır takır çalışıyor fakat bir yerde bir türlü önümdeki taşı atlayamadım.

Şimdi bu üyelere kurum bir belge veriyor.Bu belgeyi yazıcıdan her çıkardığında veritabanına verilen belgeyi kaydediyor.Buraya kadar sorun yok.

Bu belgeden aynı üyeye 3 defa verildiği zaman 4. ve yukarısı için belgeyi program vermeyecek. 4. belgenin verilmesi için yönetici devreye girecek ve kendi şifresiyle onay verirse program 4. belgeyi yazıcıdan verecek.

Bu mantık içerisinde programı hangi kodlarla tasarlayacağımı keşfedemedim.

Yardımlarınızı bekliyorum

Hepinize Saygılar
En son ademiz tarafından 08 May 2004 12:19 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Bastırılan değerleri Alan'a kaydet ve kullanıcı adına göre sınırlama yap mesala X kullanıcısı ise AlanDeğeri > 3 ten fazlaysa yazdırmasın Y kullanıcısı ise direk yazdırsın.

Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
idalan
Üye
Mesajlar: 58
Kayıt: 25 Şub 2004 02:14
Konum: Üsküdar
İletişim:

Mesaj gönderen idalan »

bence belgeyi yazdırdığın x kullanıcısına bir alan ekle (kaç) ve işlem gerçekleşmeden önce bu kişinin kaç alanını sorgula boş olan değerlere 0 ata if table1kaç.value<3 then
kac:=kac+1;
gibi küçük ise bir arttır sonra bu alanı kaydet eğer şart sağlanmıyor ise ekrana mesaj gönder ve ister parola sor ister başka bir şey onay gelirse yazdırsın ve istersen bunu kaydet. Başarılar
Kullanıcı avatarı
enalbant
Üye
Mesajlar: 22
Kayıt: 27 Eki 2003 05:51
Konum: Izmir
İletişim:

Mesaj gönderen enalbant »

Bence, once programda kullanici levellari olustur. Bu levellar icin yetkiler belirle. Falanca raporu bas, filanca islemi yap gibi programina ozgu isler bunlar. Sonra her kullaniciya level tanimla. Bu zorunlu olmasin, her kullanici default bir levela sahip olsun. Sonra databasede tutacagin raporun kullanici tarafindan basilma sayisini kullanicinin bulundugu leveldaki rapor basma sayisi ile karsilastirarak kontrol edebilirsin. Tavsiyem hic bir zaman kodun icerisinde 3 ten kucuk 5 ten buyuk gibi kontroller yapma. Bu degerler bir tanimlamadan gelmeli yada bir islem bu sonucu bu degerler olusmali, daha sonra o kodu acip baktiginda bu 3 nereden geliyordu :shock: durumu vakit kaybina yol acabilir. 3 Degeri degistigi zaman programi degistirip yeniden derlemen gerekir, tanimlama seklinde yaparsan buna gerek kalmaz.
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

bence Edit ile sorunun içeriğine uygun bir konu başlığı ver ve forum kurallarını lütfen tekrar oku.

Kolay gelsin.

dilinde tüy kalmayan Admin :?
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

Mesaj gönderen ademiz »

Emredersiniz Komutanım!...

Bir an kendimi sivilde zannettimde!..
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Lütfen bu tip taşlamalara gerek yok. Lüzumlu birşey olmasa bu kadar ısrar etmem :wink:

Kolay gelsin.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Arkadaş Asker galiba :lol: :lol: :lol:

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

Bu belgeyi yazıcıdan her çıkardığında veritabanına verilen belgeyi kaydediyor

bunun yanına belgeyi kaçıncı defa verdiğinide kaydet. yazdırma işleminden önce kontrol et. 3 den büyükse şifre iste. yazdıktan sonra da alanın değerini arttır.

kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

işlemi eğer qreport kullanıyorsan OnPrint Olayına yazarak Yaparsan Daha Sağlam olur diye düşünüyorum.

Tabi kaçıncı defa yazıldıgını data da tutman gerekıiyor..
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
ademiz
Üye
Mesajlar: 151
Kayıt: 30 Tem 2003 02:41
Konum: İstanbul
İletişim:

Mesaj gönderen ademiz »

Arkadaşlar Aşağıdaki kodla Problemimi çözdüm

procedure TGenelForm.btnYazdirClick(Sender: TObject);
var
yazdir : String;
begin
//RvProject1.Execute;
if Yazdir >= 4 then
begin
if Application.MessageBox('Bu belgeyi yazdırabilmeniz için Yönetici onayı almanız gerekiyor!..','Yönetici Onayı',
mb_Ok + mb_IconWarning + mb_DefButton1)= IDOK then
begin
TabControl_YonOny.BringToFront;
Login.SetFocus;
end
end
else
begin
if Yazdir <= 3 then
RvProject1.ExecuteReport('RpBelge');
end;
ToolBar2.Enabled := true;
begin
BelgeTable.Open;
BelgeTable.Edit;
BelgeTable.Insert;
BelgeTable.FieldByName('UyeNo').AsString := KisiselTable.Fields[0].AsString;
BelgeTable.FieldByName('Tarih').AsDateTime := Date;
BelgeTable.FieldByName('Yazdir').AsString := '1';
BelgeTable.Post;
end;
end;
Cevapla