Hata Mesajı !!!

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Hata Mesajı !!!

Mesaj gönderen ozcank »

Arkadaşlar bu satırdaki mesajı bir türlü verdiremiyorum yardım ederseniz sevinirim.

[/code]
Raise Exception.Create('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!'); procedure TForm4.Button3Click(Sender: TObject);
Var
ForSil:Integer;
begin
ForSil:=Application.MessageBox('Silmek İstediğinizden Eminmisiniz ?','Kayıt Silme',
Mb_YesNo+Mb_IconQuestion);
If ForSil=IDYes Then
begin
If Table2.Locate('FIRMAKOD',Table1.FieldByName('FIRKODU').AsInteger,[]) Then
Raise Exception.Create('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!');
if not Table1.isempty then
Table1.Delete
else Showmessage('Silinecek Kayıt Yok');
end;
end;
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Kod: Tümünü seç

Raise Exception.Create('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!');
assoft

Mesaj gönderen assoft »

Raise Exception metodunu kullamana bir mâna veremedim ama bu işi (MessageDlg veya MessageBox) yapabilirsin. yapman gereken şey sadece kullanıcı no'sunu aratırsın ve dönen sonuca göre mesaj verdirir yada işlem yaparsın.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Kitap a göre yapmaya çalışıyorum ama birtürlü beceremedim eksik birşey mi var acaba bi el atarsanız sevinirim.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kitap a göre yapmaya çalışıyorum ama birtürlü beceremedim eksik birşey mi var acaba bi el atarsanız sevinirim
hangi kitaba gore ne yapmaya çalışıyon anlamadım

niye raise kullanıyon opnu hiç anlamadım

bu kodu şöyle çalıştırabilirsin

Kod: Tümünü seç

procedure TForm4.Button3Click(Sender: TObject); 
Var 
ForSil:Integer; 
begin 
ForSil:=Application.MessageBox('Silmek İstediğinizden Eminmisiniz ?','Kayıt Silme', 
Mb_YesNo+Mb_IconQuestion); 
If ForSil=IDYes Then 
begin 
If Table2.Locate('FIRMAKOD',Table1.FieldByName('FIRKODU').AsInteger,[]) Then 
showmessage('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!'); 
if not Table1.isempty then 
Table1.Delete 
else Showmessage('Silinecek Kayıt Yok'); 
end; 
end; 
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

ALUCARD Kardeşim senin dediğin şekilde denedim ama bu sefer her durumdada kaydı siliyor.Mesajı alıyorum ama silme işlemini yapmaması gerekiyor ama yapıyor raise exception create silmeden geri döndürüyor.
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

Kod: Tümünü seç

ForSil:=Application.MessageBox('Silmek İstediğinizden Eminmisiniz ?','Kayıt Silme', 
Mb_YesNo+Mb_IconQuestion); 
If ForSil=IDYes Then 
begin 
If Table2.Locate('FIRMAKOD',Table1.FieldByName('FIRKODU').AsInteger,[]) Then 
showmessage('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!'); 
end else begin
if not Table1.isempty then 
Table1.Delete 
else 
Showmessage('Silinecek Kayıt Yok'); 
end
şimdi tama olması lazım :lol:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

şimdide Hayır a basınca ne olursa olsun siliyor !!!
Kullanıcı avatarı
kadirkurtoglu
Üye
Mesajlar: 748
Kayıt: 22 May 2005 01:20
Konum: Uzakta Görünen Tepeden...

Mesaj gönderen kadirkurtoglu »

arkadaşlar yardımcı olmaya çalışmışlar. anladığım kadarıyla master bir kaydı kullanıcı silerken bu kayda ait (Hareket)detail kayıtlarıda silmek mi istiyorsunuz. bunu sql kodlarıyla çok kısa sürede silebilirsiniz. ancak siz table kullanmışsınız. o zaman arama işlemi için table bileşeni ekleyin ve aramayı bu bileşenle yapın. arama yaparken fielde değilde, o anki kaydın id sini gösterdiğiniz text ile yapın örnek vermek gerekirse.

Kod: Tümünü seç

if Table2.Locate('FIRMAKOD', DBEdit1.Text, []) then
veya

Kod: Tümünü seç

if Table2.Locate('FIRMAKOD', DBGrid1.Field[1].Text, []) then
daha sonra kodları işletirsiniz...

kolay gelsin...
Bir mum, yanındaki mumları tutuşturmakla,
ışığında hiç bir şey kaybetmez.

Mevlana

OS win.10, IDE Delphi 10.3, RDBMS Firebird and MSSQL, BROWSER Chrome
Kullanıcı avatarı
mnt
Üye
Mesajlar: 57
Kayıt: 30 Eki 2005 12:58
Konum: Kocaeli

Mesaj gönderen mnt »

Bence ilk yazdığınız kod en iyisi..
Exception üretilmediğine göre;

Kod: Tümünü seç

If Table2.Locate('FIRMAKOD',Table1.FieldByName('FIRKODU').AsInteger,[]) Then 
burada konumlanma olmuyor. Butona bastıktan sonra Table2 ilgili kayıda konumlanıyormu onu kontrol edin..
Mustafa
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Re: Hata Mesajı !!!

Mesaj gönderen ender_arslanturk »

Kod: Tümünü seç

procedure TForm4.Button3Click(Sender: TObject);
begin
      if Application.MessageBox('Silmek İstediğinizden Eminmisiniz ?','Kayıt Silme', Mb_YesNo+Mb_IconQuestion)=6 then
      begin
		If Table2.Locate('FIRMAKOD',Table1FirmaKodu.Text,[]) Then
		Raise Exception.Create('Firma Kodu Kullanılmış !!! Önce bu firmaya ait hareketleri Siliniz !!!');
		if not Table1.isempty then
		Table1.Delete
		else 
		Showmessage('Silinecek Kayıt Yok');
      end;
end;
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Selamlar.
Bir nokta gözüme çarptı;
Locate metodunun üçüncü parametresini cevap veren arkadaşlar da dahil olmak üzere boş geçmiş.Söz konusu parametrenin işlevinde benim bilmediğim birşeyler mi var :roll:
Kullanıcı avatarı
Kuri_YJ
Moderator
Mesajlar: 2248
Kayıt: 06 Ağu 2003 12:07
Konum: İstanbul
İletişim:

Mesaj gönderen Kuri_YJ »

Selamlar,

Locate'in helpine bakarsanız orada her şey yazıyor. Ama ön bilgi olması açısından söyleyeyim, loParitialKey gibi çeşitli methodları vardır. Yani arama yaparken Birebir aynısını mı bulayım yoksa benzerlerini de getireyim mi gibi (SQL'deki LIKE gibi)

Bu tür özellikler belirterek Locate etmesini sağlayabiliyorsunuz.

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Evet benim kasdettiğim de bu olay..
Kullanıcı avatarı
ender_arslanturk
Kıdemli Üye
Mesajlar: 709
Kayıt: 18 Şub 2005 03:38
Konum: İstanbul

Mesaj gönderen ender_arslanturk »

Eğer hassas lık istenmiyor ise [] şeklinde de kullanılabilir.
Cevapla