Sürükle bırak editten düşüş yap edit kadar miktarı aktar anc

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Misafir

Sürükle bırak editten düşüş yap edit kadar miktarı aktar anc

Mesaj gönderen Misafir »

Öncelikle kandiliniz mübarek olsun..............

Söle bir yapısı var tablelaların

Master-Detail Yapı

1. Sipariş Database
2. İş Emirleri Database
3. Stok Database
4. Üretim sonu Kaydı Database
5. Sevkiyat Database

Sipariş No'ya göre iş emirleri, iş emirlerine göre üretim sonu kaydı miktarı ve stok da stok_adları, müşteri stok adları için ayrıca siparişe bağlı...Sevkiyat'da son kayıtların tutulacağı table onunda kendisi ile alakalı table'lar var ama problem değil....

Şimdi nerden başlasam bilmiyorum...Sürükle bırak...önce bunu bir söyleyim...Kullanıcı sipariş noyu girdiği zaman sipariş içindeki stok_kodlarını ve özelliklerini yani sipariş özelliklerini 1. gridde görüyor...ve bu sipariş numarasındaki stok_kodlarına iş emirleri verilmişse o iş emirlerini 2. gridde görebiliyor...Bu iş emirlerine tıkladıktan sonra ancak hangisinin üretim sonu kayıdı yapıldıysa onu 3. gridde gösterebiliyorum...Acaba otomatik bu üretim sonu kaydı yapılanları nasıl tarayıp otomatik atabiliriz veya nasıl bağlayabiliriz...

2. Sorum daha karışık ve ben bu tip bir şey hiç yapmadım...Sürükle bırak..Neyi sürükle bırak....Üretim sonu kayıdı miktarını yani...Peki sürükleyecek ama nereye Palet1, Palet2, Palet3 gibisinden sevkiyat ile birbirine bağlı tablelarda bu kayıtlar tutuluyor Kullanıcı üretim sonu kayıdı miktarı belli olan örneğin 50...bir edit kutusu içinde 50 yazıyor diyelim bunu 30 yapacak sürükleyecek ve palet1, veya 2ye gönderecek geride 20 kaldığını tutuyor tabi alıp onuda başka bir yere koyuyor...Ama koyacağım toplam üretim sonu kayıdı miktarı kadar paletlere koyabilir ne 1 eksikiği ne 1 fazlası...

Bu konuda yardımcı olurmusunuz....İnşallah düzgün açıklayabilmişimdir...
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,

Yazdıklarınızı okuduktan sonra aklıma gelen tek soru oldu, "Hangi Yıldayız?" :)

İşin esprisi bir yana eğer sorularınızı (özellikle yazılarınız yazarken biraz paragraflara bölerseniz daha okunaklı olur ve bizlerin soruyu okuması daha kolayolur.

Sürükle bırak mişlemine gelince, kullanıcı bu verileri girerken nereye gireceğini biliyor ise, sürükleyip bırakırken kullanacağınız ve yapacağınız işlemler de onun gibi olacaktır. Yani bilinen işlemlere sadece daha kolay yapılabilecek bir işlem eklemiş olacaksınız.

Sürükle ve bırakta (Drag & Drop) için neyi nasıl yaparım diye soruyorsanız, Delphi Demo'larında bu iş için uygulamalı bir örnek var ve gayet güzel anlaşılıyor.

Ama sürükle bırak işleminin nasıl yapıldığını biliyorum ama elimdekileri nasıl böyle yaparım diye soruyorsanız, yazdıklarınızı ben anlayamadım.

Bilemiyorum biraz daha açıklamalı veya örnekleyerek yazarsanız iyi olur. Çünkü yazdığınız programı biz görmüyoruz ve bilmiyoruz, siz bazı kabulleri yaparak anlatıyorsunuz ama biz o kabulleri de bilmeden saçma yanıtlar da veriyor olabiliriz. :)

Umarım açıklayabilmişimdir.

Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Misafir

en basit şekli ile şu

Mesaj gönderen Misafir »

Belli bir miktar var 50, 100, neyse bu üretim sonu kaydı miktarı....Bu üretim sonu kaydı miktarı yukarıda yazıyor....örneğin 100 yazıyor...

bir edit kutusu veya içine değer girilebilecek bir şey artık benzer sürüklenip bırakılabilecek......

bu boşluğa örneğin 20 yazacak sürükleyip palet1 e bırakacak ve palete bu değer girecek yani stok_kodu, paletno, vs. bilgilerde palete girmiş olacak...geride kalan miktar ne 30....bu sefer 30 yazacak onu da alıp palet2 ye sürükleyip gidecek ve miktar 0 kalacak ve üretim sonu kaydı miktarı ile karşılaştırıp işleminiz gerçekleştirilmiştir ibaresi gelecek eğer değil ise yani eksik bir şey yaptıysa örneğin bu sürükle işlemlerini yaptıktan sonra son üretim sonu kaydı miktarı ile tutmuyorsa 1 eksiği veya 1 eksiği hiç önemli değil birebir üretim sonu kaydı miktarı ile tutması lazım...Palete koyamayacak işleminiz yanlış üretim sonu kaydı miktarı tutmuyor diyecek böyle bir şey....
Misafir

diğer 1. yazıda yazdığım ama yapamadığım şey de şu

Mesaj gönderen Misafir »

en basit şekli ile yine .........3 tane grid olduğunu düşün ve

bu 3 tane grid master-detail bağlı 2. 1. ye bağlı, 3. de 2. ye bağlı ben 2 gridde bir şey seçtiğimde onun detailinde varsa yani 3.de işlemi yapılmışsa buna üretim sonu kaydı diyorum üretim sonu kaydı miktarında çıkıyor...Yani 2. table da olan verilerin üzerine geldiğim zaman hangisinin kayıdı yapılmışsa üretim sonu kayıdı 3. gridde çıkıyor...Ama ben 2. girid bir şeyler yapıp gridde hangilerinin üretim sonu kayıdı yapıldıysa onların ben seçmeden aşağı düşmesini istiyorum...Yapamadım...Bunu
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,

Yazdıklarınızda bir nevi algoritma kurmuşsunuz zaten, bu kurduğunuz algoritmayı koda dökün.

Yani ekrana bir buton koyun ve o butona bastığınızda Griddeki seçili kayıtlara bahsettiğiniz işlemi yaptırın. Yani editteki değeri alın diğer griddeki yerlere ekleyin(Palet'e) sonra Editteki değeri düşürün.

Böyle bir kod yazın, sonra Drag Drop'ta Bu yazdığınız rutini kullanın.

Drag Drop yaparken sadece gelen nesnenin ne olduğuna yani gönderen (Source'una bakarsınız) DragOver eventinde bu kontrolu yaparsınız. Eğer gelen şey beklediğiniz şey ise (Örneğin editten gride'e gönderiyorsunuz)

DragOver eventinde

Kod: Tümünü seç

  If Source Is TEdit Then Accept := True ;
Sonra OnDragDrop işleminde de, örnek olsun diye söylediğim Buton'un içindeki kodu aynen uygulayabilirsiniz.

Farklı bir metod yok. Bence Drag Drop olayını daha iyi anlayabilmeniz için Delphi'nin demolarına bir göz atın. Ben oradan öğrenmiştim.

Kolay Gelsin.
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Misafir

ya bu demoları aradım ama bende drag drop yok

Mesaj gönderen Misafir »

öle bir örnek yok adı tam nedir örneğin ben mi bulamıyorum acaba
Misafir

üzgünüm yapamadım...

Mesaj gönderen Misafir »

valla yapamadim...Yani Edit kutusunu listboxa atabildim ama dbgride atamadım...:(....Yani sürükel bırak olarak listbox ok ama grid değil....Napcam ben şincik
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,

Griddeyken ne diyor? Veya yazdığın ancak çalışmayan kodunu göstersen bakalım bakalım nerde problem var...

Ok?

Kolay Gelsin
Kuri Yalnız Jedi
Harbi Özgürlük İçin Pisi http://www.pisilinux.org/
Cevapla