İşlem sonunda editi temizleme - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: İşlem sonunda editi temizleme (/showthread.php?tid=1054) |
İşlem sonunda editi temizleme - hido - 09-06-2017 Merhaba; listviewde ürün daha önce ekliyse adeti ve toplam fiyatı değişecek. Buraya kadar sorun yok fakak ürün olsada olmasada işlem sonunda editin temizlenmesini istiyorum ama bir türlü edit temizlenmiyor, nedenini anlayamadım Sorun nereden kaynaklanıyor olabilir? procedure TForm2.EditUrunKeyPress(Sender: TObject; var Key: Char); var Itm: TListItem; I: Integer; Urunbuldum: Boolean; begin if SplitViewSatis.Opened then begin try Urunbuldum := False; With QueryUrun, LVSatis do begin Connection := FDConnecMain; Close; SQL.Clear; SQL.Add('Select * From URUNLER'); SQL.Add('Where BARKOD LIKE ' + QuotedStr('%' + EditUrun.Text + '%')); Prepared := True; Open; if Not IsEmpty then begin for I := Items.Count - 1 downto 0 do begin if Pos(EditUrun.Text, Items[I].SubItems[0]) > 0 then begin EditUrun.Clear; Form2.EditUrun.Text := ''; Form2.Caption := 'var mış bu ürün'; Urunbuldum := True; Break; end; end; if Not Urunbuldum then // Ürün yoksa ekle begin Itm := LVSatis.Items.Add; Itm.Caption := FieldByName('ID').AsString; Itm.SubItems.Add(FieldByName('BARKOD').AsString); Itm.SubItems.Add(FieldByName('URUN').AsString); Itm.SubItems.Add(FieldByName('SATIS').AsString); Itm.SubItems.Add('1'); Itm.SubItems.Add(FieldByName('SATIS').AsString); EditUrun.Clear; Form2.EditUrun.Text := ''; Form2.Caption := 'Yokmuş bu ürün'; end; end; end; except end; end; EditUrun.Clear; Form2.EditUrun.Text := ''; Form1.FDQueryUrun.Close; end; Cvp: İşlem sonunda editi temizleme - TescilsizUzman - 09-06-2017 Merhaba, except-end yerine finally-end kullanın. Edit clear işleminizi de Finally kısmına yazın. Örn; if SplitViewSatis.Opened then begin try //... //... finally EditUrun.Clear; Form2.EditUrun.Text := ''; Form1.FDQueryUrun.Close; end; //... //... Böylece işlem sonucu ne olursa olsa, son işlem olarak finally kod bölümü tamamlanacaktır. İşlem sonunda editi temizleme - hido - 09-06-2017 (09-06-2017, Saat: 15:46)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba, Değişen birşey olmadı Cvp: İşlem sonunda editi temizleme - TescilsizUzman - 09-06-2017 (09-06-2017, Saat: 16:51)hido Adlı Kullanıcıdan Alıntı:(09-06-2017, Saat: 15:46)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba, Kodun son halini (finally bölümü eklenmiş hali) paylaşabilir misiniz? İşlem sonunda editi temizleme - esistem - 09-06-2017 Birde neden KeyPress, herhangibir tuşa her bastığınızda bu işlemi yapar ? Cvp: İşlem sonunda editi temizleme - hido - 09-06-2017 (09-06-2017, Saat: 16:58)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:(09-06-2017, Saat: 16:51)hido Adlı Kullanıcıdan Alıntı: Değişen birşey olmadı Son hali bu hocam fakat değişen bir şey yok, edit işlem sonunda temizlenmiyor. procedure TForm2.EditSatisKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin UrunSat(EditSatis.Text); end; function TForm2.UrunSat(SatilanUrunBarkodu: String): String; var I: Integer; Itm: TListItem; Urunbuldum: Boolean; begin try Urunbuldum := False; With QueryUrun, LVSatis do begin Connection := FDConnecMain; Close; SQL.Clear; SQL.Add('Select * From URUNLER Where BARKOD=:BR'); ParamByName('BR').AsString := SatilanUrunBarkodu; Prepared := True; Open; if Not IsEmpty then begin for I := Items.Count - 1 downto 0 do begin if Pos(SatilanUrunBarkodu, Items[I].SubItems[0]) > 0 then begin Items[I].SubItems[3] := IntToStr(StrToInt(Items[I].SubItems[3]) + 1); Urunbuldum := True; Break; end; end; if Not Urunbuldum then // Ürün yoksa ekle begin Itm := LVSatis.Items.Add; Itm.Caption := ''; Itm.SubItems.Add(FieldByName('BARKOD').AsString); Itm.SubItems.Add(FieldByName('URUN').AsString); Itm.SubItems.Add(FieldByName('SATIS').AsString); Itm.SubItems.Add('1'); Itm.SubItems.Add(FieldByName('SATIS').AsString); end; end; end; finally EditUrun.Clear; Form2.EditUrun.Text := ''; SatisiHesapla(Self); QueryUrun.Close; end; end; İşlem sonunda editi temizleme - SimaWB - 10-06-2017 SatisiHesapla içinde EditUrun'e birşeyler yazılıyor olmasın? İşlem sonunda editi temizleme - witalihakko - 10-06-2017 Pointbreak koyup kodu f8 ile takip edip nerede kod bloğunun dışına çıkıp geri dönmediğine bakman gerekiyor. Bu şekilde çok sağlıklı ilerlemiyor malesef. Çünkü kodda pek hata görünmüyor. Belki bir yerde hataya düşüyor fakat ekrana patlamıyor olabilir. İşlem sonunda editi temizleme - hido - 11-06-2017 Bir çok değişiklik yaptım sonunda bitti; Emeği geçen herkese teşekkür ederim; function TForm2.SatisIslemleri(IdNumber: Integer; UBarkod, Urun, Satis: String; Adet: Integer; USatis: String): Integer; var I: Integer; Itm: TListItem; Urunbuldum: Boolean; begin try Urunbuldum := False; With LVSatis do begin for I := Items.Count - 1 downto 0 do begin if Pos(UBarkod, Items[I].SubItems[0]) > 0 then begin Items[I].SubItems[3] := IntToStr(StrToInt(Items[I].SubItems[3]) + 1); SatisAlert('Fiyat ve adet değişikliği yapıldı ', 2); Urunbuldum := True; Break; end; end; if Not Urunbuldum then // Ürün yoksa ekle begin Itm := LVSatis.Items.Add; Itm.Caption := IntToStr(IdNumber); Itm.SubItems.Add(UBarkod); Itm.SubItems.Add(Urun); Itm.SubItems.Add(Satis); Itm.SubItems.Add(IntToStr(Adet)); Itm.SubItems.Add(USatis); SatisAlert('Yeni ürün girişi yapıldı ', 2); end; end; finally SatisBarkod.Clear; SatisiHesapla(Self); end; end; procedure TForm2.SatisBarkodChange(Sender: TObject); var ID, AD: Integer; BR, UR, ST, US: String; begin try With QueryUrun, LVSatis do begin Connection := FDConnecMain; Close; SQL.Clear; SQL.Add('Select * From URUNLER Where BARKOD=:BR'); ParamByName('BR').AsString := SatisBarkod.Text; Prepared := True; Open; if Not IsEmpty then begin ID := FieldByName('ID').AsInteger; BR := FieldByName('BARKOD').AsString; UR := FieldByName('URUN').AsString; ST := FieldByName('SATIS').AsString; AD := StrToInt('1'); US := FieldByName('SATIS').AsString; SatisIslemleri(ID, BR, UR, ST, AD, US); end; end; finally FDQueryUrun.Close; end; end; |