Sorgulama !!!

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

Mesaj gönderen ozcank »

Bu şekilde değiştirdim ama aynı hata alıyorum ;

[Error] ISILGIRIS2.pas(357): Statement expected, but expression of type 'Integer' found

procedure TForm5.Button2Click(Sender: TObject);
begin
if DBEdit1.Text<>'' then
begin
if DBEdit30.Text<>'' then
begin
//Table1BFIYAT.AsString:=Cedit1.Text;
//Table1ADET.AsString:=Cedit2.Text;
//Table1TOPTUTAR.AsString:=Cedit3.Text;

table1.FieldByName('BFIYAT').AsInteger:=StrToInt(Cedit1.Text);
table1.FieldByName('ADET').AsInteger:=StrToInt(Cedit2.Text);
table1.FieldByName('TOPTUTAR').AsInteger:=StrToInt(Cedit3.Text);
Table1.Post;
end
else
begin
ShowMessage('Lütfen İşlem Kodunu Boş Geçmeyiniz !!!');
DBEdit30.SetFocus;
Abort;
end;
end
else
begin
ShowMessage('Lütfen Firma Kodunu Boş Geçmeyiniz !!!');
DBEdit1.SetFocus;
//Abort;
end;
end;
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

merhaba

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
begin
    if DBEdit1.Text<>'' then
    begin
      if DBEdit2.Text<>'' then
      begin
        ibdataset1.FieldByName('MUSTERI_KODU').AsInteger:=StrToInt(dbedit1.Text);
        ibdataset1.FieldByName('ISLEM_KODU').AsInteger:=StrToInt(dbedit2.Text);
        ibdataset1.FieldByName('TUTAR').asfloat:=StrTofloat(dbedit3.Text);
        ibdataset1.FieldByName('TOPLAM_TUTAR').asfloat:=StrTofloat(dbedit4.Text);
        ibdataset1.Post;
      end
      else
      begin
        ShowMessage('Lütfen İşlem Kodunu Boş Geçmeyiniz !!!');
        DBEdit2.SetFocus;
        Abort;
      end;
      end
      else
      begin
        ShowMessage('Lütfen Müşteri Kodunu Boş Geçmeyiniz !!!');
        DBEdit1.SetFocus;
      end;
    end;
ozcank ustam senin çalışmandaki tabloya benzemese de sen uyarlarsın kendi çalışmana menderes ustamın verdiği örneği uyarladım sadece ve sorunsuz çalışıyor. sizde verdiği hata belki müşteri kodu ve firma kodu veya işlem kodundaki integer alanlardadır. çünki son verdiğiniz hata örneği kodunda bu alanların post durumu geçmiyor oraları inceleyebelirsiniz. bizim verdiğimiz kod bizde çalışıyor gerekli yerlerde mesajı veriyor ve şartlar uyduğunda kaydediyor.

koya gelsin

nod:bu örneği hata vermeyen çalışan kodları uygulayabilmek için yeni tablo oluşturarak yaptım kafanızı karıştırmasın siz kendi tablonuza göre sadece tablo adı, alan adları ve dbedit pozisyonlarını düzenlersiniz.
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
Kullanıcı avatarı
spoke25
Üye
Mesajlar: 434
Kayıt: 16 May 2005 04:06
Konum: Bolu

Mesaj gönderen spoke25 »

bosluk degeri '' alfasayısal Bir degerdir Onun yerine

if dbedit1 isnull then dersen sorun haledilir. Kolay gelsin
Başlayan Herşey Birgün Bitmek Zorundadır.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

nasıl ekleyeceğimi yazabilirmisin?
aLonE CoDeR
Kıdemli Üye
Mesajlar: 1223
Kayıt: 26 Nis 2005 04:08

Mesaj gönderen aLonE CoDeR »

Ek olarak, string karşılaştırmalarda ='' yöntemi her zaman doğru sonucu döndürmeyebilir, o nedenle SameText fonksiyonunu kullanmanızı tavsiye ederim.
Kolay gelsin.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

İnceledim ama birşey bulamadım.Abort yerine başka birşey koyabilirmiyiz?
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

@ozcank bu başlığı izledim de. Milleti kıvrandıracağına biraz temel pascal ve DB bileşenleri üzerine önce biraz çalışsan ve fikir sahibi olsan. ne dersin?

Bilgin yetersiz olduğu için verilen yanıtları uygulayamıyor, ufak bir hatada takılıyorsun.

Böyle zamanlarda kodunu ufak parçalara bölerek ayrı projeler halinde çalışmak çok faydalıdır.

Bileşenler üzerinde de yeterince hakim olmalısın. Internette biraz arama yapsan hem bilgini geliştirmiş, hem de burada anlatılan şeylere daha hakim olmuş olursun.

Kolay gelsin.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Ben burda kimseyi kıvrandırmıyorum ayrıca arkadaşlar sağolsun hepside elinden geldiğince yardım ettiler ve hepsine ayrı ayrı teşekkür ediyorum.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

Elinden geldiğince yardım etmişler ancak sen söylenenleri anlamamışsın. Onu demek istiyorum. Yoksa:
Bu şekilde kullanıyorum ama Abort da hata veriyor;
[Error] ISILGIRIS2.pas(352): Statement expected, but expression of type 'Integer' found
gibi birşey veya
İnceledim ama birşey bulamadım.Abort yerine başka birşey koyabilirmiyiz?
veya
nasıl ekleyeceğimi yazabilirmisin?
demezdin.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

AMA SORUNU NE SİZ NEDE BEN HALA ÇÖZMÜŞ DURUMDA DEĞİLİZ !!!!
Kullanıcı avatarı
hbahadir
Kıdemli Üye
Mesajlar: 544
Kayıt: 06 Ara 2004 05:03
Konum: BURSA idi artık İST.
İletişim:

Mesaj gönderen hbahadir »

Kod: Tümünü seç

if (DBEdit1.Text <> '') and (DBEdit1.Text <> '') then
 begin
// buraya kayıt işlemi
 end else begin
// burayada kayıt gerçekleşmedi mesajı
 end; 
Ek olarak;
AMA SORUNU NE SİZ NEDE BEN HALA ÇÖZMÜŞ DURUMDA DEĞİLİZ !!!!
forum kuralları büyük harfle yazılmaması gerektiğini ve burada kimsenin yardım etmek gibi zorunluluğu olmadığını söyler.
fduman
Moderator
Mesajlar: 2749
Kayıt: 17 Ara 2004 12:02
Konum: Ankara

Mesaj gönderen fduman »

ozcank yazdı:AMA SORUNU NE SİZ NEDE BEN HALA ÇÖZMÜŞ DURUMDA DEĞİLİZ !!!!
Bağırman da sorunu çözmez. Bağıracağına gidip araştır.
ozcank
Üye
Mesajlar: 937
Kayıt: 28 Nis 2005 05:29

Mesaj gönderen ozcank »

Arkadaşlar bu şekilde sorunum cözüldü.

procedure TForm5.Button2Click(Sender: TObject);
begin
if DBEdit1.Text='' then
begin
ShowMessage('Lütfen Firma Kodunu Boş Geçmeyiniz !!!');
DBEdit1.SetFocus;
exit;
end;

if DBEdit30.Text='' then
begin
ShowMessage('Lütfen İşlem Kodunu Boş Geçmeyiniz !!!');
DBEdit30.SetFocus;
exit;
end;
Table1BFIYAT.AsString:=Cedit1.Text;
Table1ADET.AsString:=Cedit2.Text;
Table1TOPTUTAR.AsString:=Cedit3.Text;
Table1.Post;
end;
Kullanıcı avatarı
bobasturk
Kıdemli Üye
Mesajlar: 1387
Kayıt: 20 May 2004 08:39
Konum: Düzce

Mesaj gönderen bobasturk »

Allaha şükür ne mutlu sana ve bizlere
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Resim
BOGACHAN
Üye
Mesajlar: 38
Kayıt: 12 May 2004 02:37
Konum: istanbbul

table ile kullanıyorsan

Mesaj gönderen BOGACHAN »

Kod: Tümünü seç

procedure Tkayit.suiButton8Click(Sender: TObject);
begin
if (Table1.FieldByName('Ad').isNull) or (Table1.FieldByName('Soyad').isNull) then
 begin
  showmessage('Ad veya Soyad alanlarını boş geçemezsiniz.');
  abort;
 end
else
table1.append;
end;
Cevapla