4 işlem

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

4 işlem

Mesaj gönderen muhittin_turmus »

herkese hayırlı akşamlar mustafa abi biliyorum basit bir soru olacak ama
daha önce hiç denemedim.mantığını bilmiyorum...
1)
dbase kullanıyorum örneğin ;
toplam miktar (dbeditim var,)
fire (dbediim var),
brut miktar(dbeditim var)
yapmak istediğim toplam mıktara sayı giriyorum fire ye sayı giriyorum
otomatik bunları çıkarsın brut miktara yazsın

2. sorum fıyata parasal değer yazarken otomatik aralarına . işareti koymasını istiyorum yardımcı olursanız sevinirim

(not:belki arkadaslar yine arama yapın diyecekler yaptım ama bulamadım çokta aramak için zamanım olmadı)

allaha emanet olun
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

2 nci sorunu viewtopic.php?t=1130&highlight=edit bu linkte bir incele yazmış olduğum mesaj işine yarayabilir.

1.nci soruna gelince DBEdit lerin exit olayında veya dataser kısmında bunu yapabilirsin.

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ı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

Muhittin sorunun zoru kolayı olmaz. Nerede takıldıysan sorabilirsin ;) Ancak forum kurallarına uyalım lütfen. Başlıklarda acil, hemen lazım türü ibareler hoş olmuyor.

Sorularına gelince :

1. Eğer brut miktar diye bir alanın yoksa bunu calculated alan ekleyerek yapabilirsin. Eğer varsa, BeforePost olayına bu hesapları yaparak hesaplat ve yazdır. Yani şuna benzer birşey olacak :

Dataset.FieldByName('BRUT').AsFloat := Dataset.FieldByName('TOPLAM_MIKTAR').AsFloat - Dataset.FieldByName('FIRE').AsFloat;

2. Datasetine (table, query vs.) sağ tıkla ve fields'ı seç. Add All fields ile tüm alanları ekle ve ve noktali göstermek istedigin alana displaymask olarak #,### yaz. Forumda displaymask diye aratırsan daha çok detaya ulaşabilirsin.

Kolay gelsin.
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

tesekkürler

Mesaj gönderen muhittin_turmus »

allah hepinizden razı olsun mustafa abi kurallara uymaya çalışacağım teşekkürler
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

olmadı mustafa abi

Mesaj gönderen muhittin_turmus »

mustafa abi denedim tamam guzel çalıştı ama bana gore mantık hatası var
örneğin toplam kutusuna 100 yazdım fire kutusuna 10 yazdım brut kutusu 90 olması gerekir ama toplma kutusuna ne yazarsam onu brut kutusuna yazıyor
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

kodunu gönderir misin? Bir bakalım Muhittin.

Kolay gelsin.
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

düzelttim okey

Mesaj gönderen muhittin_turmus »

mustafa abi duzelttim benim hatammıs oldu ama toplama 100 fıre ye 50 yazdım brute tab tusuyla gecince hemen yazmıyo kaydettikten sonra yazıyor ben istiyorumki kaydet butonuna tıklama yapmadan öncede yazsın yani toplam mı yazacam fıreyi yazacam otomatik brute kendisi hemen yazsın istiyorum onu beceremedim
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

Hesaplama değişiklik yaptığın bdedit in onchange ında yaptır.
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

denedim olmuyor

Mesaj gönderen muhittin_turmus »

recep abi sağol denedimde mustafa abini verdiğikomutu dediğin yerde yapıyorum olmuyor hata veriyor....
ben sadece toplam la fireyi çıkarsın sonucunu brut alanına yazsın istiyorum mustafa abinin vediği komutla oluyor ama hemen yazmıyor kaydettikten sonra yazıyor.....
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Merhaba,

Kodunuzu gönderirmisiniz?

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ı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

nasıl gonderecem

Mesaj gönderen muhittin_turmus »

husonet abi nasıl kodu yollaycam anlamdım biraz yabancıyımda
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
ASE
Kıdemli Üye
Mesajlar: 518
Kayıt: 28 Ağu 2003 03:17
Konum: samsun
İletişim:

Mesaj gönderen ASE »

Kardeş copy yapıp burda

[code [/code]

bloğunun arasına paste yapacaksın
Allah'ım!...
Yol boyunca bırakma elimi...
Düşerim sonra...


ASE YAZILIM
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

olmuyor

Mesaj gönderen muhittin_turmus »

abi benim istediğim :3 adet dbedit kutum var
1.toplam mıktar
2:fire
3.brut miktar
istediğim toplam miktarla fireyi birbirinden çıkarsın brut dbedit kutusuna yazsın...bu işlemi mustafa abini formdada vermiş olduğu kodla yapıyorum
toplama 100 fıreye 50 yazdıktan sonra hemen sonucu brut kutusuna yazmıyor..kaydet diyince kutuya yazıyor benim istediğim toplamı yazdın fıreyi yazdın sonucu hemen brut kutusuna yazsın bu kadar..
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
muhittin_turmus
Üye
Mesajlar: 27
Kayıt: 09 Ağu 2003 10:30
Konum: izmir

kod bu

Mesaj gönderen muhittin_turmus »

procedure TForm4.Table2BeforePost(DataSet: TDataSet);
begin
dataset.fieldbyname('BUR_MIKTAR').asfloat:=dataset.fieldbyname('TOP_MIKTAR').asfloat-dataset.fieldbyname('FIRE').asfloat;

dataset.fieldbyname('DKP_BIR_MI').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('DKP_Y_MIK').asfloat/100;
dataset.fieldbyname('EX_BIR_MIK').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('EX_Y_MIK').asfloat/100;
dataset.fieldbyname('KA_BIR_MIK').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('KA_Y_MIK').asfloat/100;
dataset.fieldbyname('OTO_BIR_MI').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('OTO_Y_MIK').asfloat/100;
dataset.fieldbyname('SAC_BIR_MI').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('SAC_Y_MIK').asfloat/100;
dataset.fieldbyname('TEN_BIR_MI').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('TEN_Y_MIK').asfloat/100;
dataset.fieldbyname('TAL_BIR_MI').asfloat:=dataset.fieldbyname('BUR_MIKTAR').asfloat*dataset.fieldbyname('TAL_Y_MIK').asfloat/100;

dataset.fieldbyname('DKP_TOP_FI').asfloat:=dataset.fieldbyname('DKP_BIR_MI').asfloat*dataset.fieldbyname('DKP_BIR_FI').asfloat;
dataset.fieldbyname('EX_TOP_FI').asfloat:=dataset.fieldbyname('EX_BIR_MIK').asfloat*dataset.fieldbyname('EX_BIR_FIY').asfloat;
dataset.fieldbyname('KA_TOP_FI').asfloat:=dataset.fieldbyname('KA_BIR_MIK').asfloat*dataset.fieldbyname('KA_BIR_FI').asfloat;
dataset.fieldbyname('OTO_TOP_FI').asfloat:=dataset.fieldbyname('OTO_BIR_MI').asfloat*dataset.fieldbyname('OTO_BIR_FI').asfloat;
dataset.fieldbyname('SAC_TOP_FI').asfloat:=dataset.fieldbyname('SAC_BIR_MI').asfloat*dataset.fieldbyname('SAC_BIR_FI').asfloat;
dataset.fieldbyname('TEN_TOP_FI').asfloat:=dataset.fieldbyname('TEN_BIR_MI').asfloat*dataset.fieldbyname('TEN_BIR_FI').asfloat;
dataset.fieldbyname('TAL_TOP_FI').asfloat:=dataset.fieldbyname('TAL_BIR_MI').asfloat*dataset.fieldbyname('TAL_BIR_FI').asfloat;

dataset.fieldbyname('TOPLAM_MIK').asfloat:=dataset.fieldbyname('DKP_BIR_MI').asfloat+dataset.fieldbyname('EX_BIR_MIK').asfloat+dataset.fieldbyname('KA_BIR_MIK').asfloat+dataset.fieldbyname('OTO_BIR_MI').asfloat+dataset.fieldbyname('SAC_BIR_MI').asfloat+dataset.fieldbyname('TEN_BIR_MI').asfloat+dataset.fieldbyname('TAL_BIR_MI').asfloat;
dataset.fieldbyname('GENEL_TOP_').asfloat:=dataset.fieldbyname('DKP_TOP_FI').asfloat+dataset.fieldbyname('EX_TOP_FI').asfloat+dataset.fieldbyname('KA_TOP_FI').asfloat+dataset.fieldbyname('OTO_TOP_FI').asfloat+dataset.fieldbyname('SAC_TOP_FI').asfloat+dataset.fieldbyname('TEN_TOP_FI').asfloat+dataset.fieldbyname('TAL_TOP_FI').asfloat;
dataset.fieldbyname('ORT_BIR_FI').asfloat:=dataset.fieldbyname('GENEL_TOP_').asfloat/dataset.fieldbyname('TOPLAM_MIK').asfloat;
dataset.fieldbyname('TOPLAM_YUZ').asfloat:=dataset.fieldbyname('DKP_Y_MIK').asfloat+dataset.fieldbyname('EX_Y_MIK').asfloat+dataset.fieldbyname('KA_Y_MIK').asfloat+dataset.fieldbyname('OTO_Y_MIK').asfloat+dataset.fieldbyname('SAC_Y_MIK').asfloat+Dataset.fieldbyname('TEN_Y_MIK').asfloat+dataset.fieldbyname('TAL_Y_MIK').asfloat;

end;

end.

kod bu ama bir sorun daha çıktı toplam 7 alanım var eğer bu alanlardan birisi bos olursa kaydet dediğim zaman (table1.post) hata veriyo
gençliğine güvenip
erken derken...
belki
elveda bile diyemessin
giderken...
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7603
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

Muhittin hata veriyor sözü tek başına hiçbir anlam ifade etmiyor. Hatayı ve varsa kodunu yaz.

Eğer anında Brut hesaplasın dersen, Top_miktar ve fire DB'editlerinin OnExit olaylarını aynı yere bağla ve aşağıdaki kodu yaz.

Kod: Tümünü seç

if (dataset.fieldbyname('TOP_MIKTAR').asfloat > 0) and (dataset.fieldbyname('FIRE').asfloat > 0) then
  dataset.fieldbyname('BUR_MIKTAR').asfloat:=dataset.fieldbyname('TOP_MIKTAR').asfloat-dataset.fieldbyname('FIRE').asfloat;
Tabi burda dataset kelimesi yerine, ismini yazman gerekir. Table1.Field... gibi yani.

Kolay gelsin.
Cevapla