Delphi'de DataGrid Üzerinde Direkt Oynama

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

En son kod bu şekilde ama halen aynı hatayı alıyorum.

Kod: Tümünü seç

procedure Tform4.Table3TOPLAMChange(Sender: TField);
var
top: double;
begin
table3.First;
table7.Edit;
top:=0;

while not table3.Eof do
begin
top:= top+table3TOPLAM.Value;
table3.Next;
end;
table7TTUTAR.AsCurrency:=top;


end;


Resim

Uploaded with ImageShack.us[img]
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

conari hocam neredesin, reisi cumhur makamına oturalı 3 saat oldu, sen hala yoksun...:)) :))

Hocam hadi bi omuz daha atalım şuna.
zengin
Üye
Mesajlar: 233
Kayıt: 06 Ağu 2003 10:13

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen zengin »

s.a

edit modunu yanlış yerden acıyorsunuz birde bu şekilde deneyin?

Kod: Tümünü seç

var
top: double;
begin
top:=0;
table3.First;
while not table3.Eof do
begin
table7.Edit;
top:= top+table3TOPLAM.Value;
table7TTUTAR.AsCurrency:=top;
table3.Next;
end;
kolay gelsin
Zengin
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen conari »

Sabah ilk işimiz siteye bakmak olmuyor. Bizimde işlerimiz var. :)

Breakpoint koyup kontrol ettin mi? hata nerede.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

zengin yazdı:s.a

edit modunu yanlış yerden acıyorsunuz birde bu şekilde deneyin?

Kod: Tümünü seç

var
top: double;
begin
top:=0;
table3.First;
while not table3.Eof do
begin
table7.Edit;
top:= top+table3TOPLAM.Value;
table7TTUTAR.AsCurrency:=top;
table3.Next;
end;
kolay gelsin
A.Slm Zengin;

table3 için hata veriyor.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

conari yazdı:Sabah ilk işimiz siteye bakmak olmuyor. Bizimde işlerimiz var. :)

Breakpoint koyup kontrol ettin mi? hata nerede.
Hata TOPLAM'ın OnChange olayında hocam, TOPLAM Onchange'i kaldırırsam program çalışıyor ama grid colum larında oynama yaptığımda alttaki TOPLAM TUTAR değişmiyor...Onchange e yukarıdaki kodu yazdığımda da enteresan şekilde table3 için not in edit or insert mode hatası alıyorum, halbuki table7 ye yazdırıyoruz table3 e yazdırmıyoruz, anlamadım gitti ne biçim iştir bu. :evil:
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Geri dönüşlerim geç oluyor çünkü breakpoint ne demek onu araştırdım önceki yazılardan, malum yazılım mühendisi değiliz...

Değişik yerlere breakpoint atarak hatanın hangi satırda olduğunu bulmaya çalıştım. TOPLAM ın Onchange inde bir sıkıntı görünmüyor, oranın döngüsü kendi halinde devam ediyor, oradan sorunsuz çıktıktan sonra aşağıdaki satırda hata tespit ettim.

Resim

Uploaded with ImageShack.us

Burası edit1keypress, yani barkod okuttuğumuz edit'in event'i...
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen conari »

tabel3toplam.... satırını kaldır.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen orhancc »

Tablo3 başka yerde ya kapanıyor ya da insert edit modundan çıkıyor onu bir incele.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Slm, birkaç gündür yoktum bakamadım foruma...


conari hocam table3 satırını kaldırdım, gözümden kaçmış, onu table3 event inde halletmiştik..ama aynı sorun devam ediyor.

orhancc table3 başka yerde kapanıyor mu, şu an onu araştırıyorum ama henüz bulamadım f7 ile aramaya satır satır devam...
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

Resim

table3BARKOD.text satırına kadar sıkıntı görünmüyor, Bu satırdan itibaren f7 ile devam ediyorum.


Resim

table3CalcFields event'ini çalıştırdı, sorun görünmüyor f7 ile devam..

Resim

table3TOPLAM change i çalıştı sorun gözükmüyor, f7 ile devam...table3.first satırından sonra table3CalcFields eventine geri döndük..

Resim

Buradan da table3Afterpost a uğradık...

Resim

buradan tekrar table3CalcFields a ...

Resim

buradan da toplamchange'in while not ile başlayan satırına geçiyor...

Resim

ordan tekrar table3calcfields a geçiş var

Resim

Ve nihayet table3BARKOD satırı bitti ve table3MAL.text satırına geçtik...

Resim

Ve son f7 yapışımız ile birlikte program kilitlenip kalıyor...Hata satırı burası...

Resim
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen conari »

table3toplam.ascurrency...
satırını kaldırmamışsınız.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
orhancc
Üye
Mesajlar: 585
Kayıt: 24 Ağu 2010 02:14
Konum: İstanbul / Kadıköy
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen orhancc »

gridi direk tabloya bağlaycağına bir tane mem table kullanıyorum en sonunda kayıt ediyorsun asıl tablona öyle daha sağlıklı oluyor. ben öyle yapıyorum.
Kullanıcı avatarı
canset
Üye
Mesajlar: 151
Kayıt: 19 Haz 2005 12:38

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen canset »

conari hocam o satırı kaldırıp denedim yine olmadı çünkü o satıra gelmeden hatayı alıyorum zaten, kaldırdıktan sonra kaydetmemişim demekki ondan kalmıştır, o satırı sileriz sorun değil, yukarı satıra odaklandığımdan unutmuşum.

orhan hocam, memory table kullanmadım daha önce ama table3 ü zaten tampon table olarak tutuyorum, satış ekranında table1 stok tablosundan table3 tamponuna aktarıyorum, kayıt butonu ile de table3 den table7 ve table1 değişikliklerini yapıyorum. table3 üzerinde kayıt vs. hiçbirşey yok zaten, memory table dediğiniz böyle birşey ise zaten yapıyorum onu??
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Delphi'de DataGrid Üzerinde Direkt Oynama

Mesaj gönderen aslangeri »

s.a.
anladığım kadarı ile tablodaki bir alan değiştiği zaman o alana bağlı işlemler yaptırıyorsun.
tabloya kayıt insert ederkan calc fields da toplam alanına değer atıyorsun. toplama değeri değiştiği zaman da aynı tabloyu baştan aşağı tarıyorsun bu sırada tablonun insert modundan çıkıyor normal olarak. geri geldiğin zaman da tablo insert yada edit modunda değil diye hata alıyorsun.
tablo3 ün adının tablo3 olması zaten ayrı bir dert. iç içe girmiş bağlantılar arasında kaybolmuşsun.
en kısa önerim
table3.insert demeden önce tablonun oncalcfields eventina null ata post ettikten sonra tekrar ilgili eventi bağla.
şöyle bişi olacak.

Kod: Tümünü seç

table3.insert;
table3.oncalcfields:=null;
table3barkod....:=......
.......
table3.post;
tale3.oncalcfields:=oncalcfieldseventininadıneiseonuyaz;
tabloyu post etmeden first demişsin birde oda ayrı bir mevzu....
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Cevapla