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;