DBGrid de DateTimePicker i gömme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

DBGrid de DateTimePicker i gömme

Mesaj gönderen dost »

Merhaba,

Kod: Tümünü seç

procedure TForm2.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdFocused in State) and (Column.FieldName = 'RAPOR_TARIHI') then
begin
DateTimePicker1.Left := Rect.Left + DBGrid2.Left;
DateTimePicker1.Top := Rect.Top + DBGrid2.Top;
DateTimePicker1.Width := Rect.Right - Rect.Left;
DateTimePicker1.Height := Rect.Bottom - Rect.Top;
if not DM.ADOQuery3.FieldByName('RAPOR_TARIHI').IsNull Then
DateTimePicker1.Date := DM.ADOQuery3.FieldByName('RAPOR_TARIHI').AsDateTime
else
DateTimePicker1.Date := Now;
DateTimePicker1.Visible := True;
end;
end;

procedure TForm2.DBGrid2ColExit(Sender: TObject);
begin
if DBGrid2.Columns[DBGrid2.SelectedIndex].FieldName='RAPOR_TARIHI' then
begin
DM.ADOQuery3.Edit;
DM.ADOQuery3.FieldByName('RAPOR_TARIHI').AsString := DateToStr(DateTimePicker1.Date);
DateTimePicker1.Visible := False;
DM.ADOQuery3.Post;
end;
end;
Satır güncelleştirme için bulunamıyor hatası veriyor.

Yardımcı olabilirmisiniz?
Teşekkürler.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Re: DBGrid de DateTimePicker i gömme

Mesaj gönderen husonet »

Exit eventini sil ve aşağıdaki gibi kodlamayı yapılandır.

Change Eventinde

Kod: Tümünü seç

procedure TCariHesapAcilisIslemFrm.DateTimePicker1Change(Sender: TObject);
var
    key:Char;
begin
    if DBGrid1.DataSource.State in [dsEdit, dsInsert] Then
        IBDataSet1TARIH.Value := DateTimePicker1.Date;
end;
DropDown eventinde

Kod: Tümünü seç

procedure TCariHesapAcilisIslemFrm.DateTimePicker1DropDown(
  Sender: TObject);
begin
    DBGrid1.DataSource.Edit;
end;

Keypress Eventinde

Kod: Tümünü seç

    if (DBGrid1.SelectedField.FieldName = 'TARIH') Then
    Begin
        DateTimePicker1.SetFocus;
        SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
    End;
                if (DBGrid1.SelectedField.FieldName = 'TARIH') Then
                Begin
                    DateTimePicker1.Visible := True;
                    DateTimePicker1.SetFocus;
                    SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
                End
                Else
                Begin
                    DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex + 1].Field.FocusControl;
                    DateTimePicker1.Visible := False;
                    Button3.Visible := False;
                End;
örnektir.

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.
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

Mesaj gönderen dost »

Hocam ilginize çok teşekkür ederim. Kodu dediğiniz şekilde yapılandırdım.

Kod: Tümünü seç

procedure TForm2.DBGrid2DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if (gdFocused in State) and (Column.FieldName = 'RAPOR_TARIHI') then
begin
DateTimePicker1.Left := Rect.Left + DBGrid2.Left;
DateTimePicker1.Top := Rect.Top + DBGrid2.Top;
DateTimePicker1.Width := Rect.Right - Rect.Left;
DateTimePicker1.Height := Rect.Bottom - Rect.Top;
if not DM.ADOQuery3.FieldByName('RAPOR_TARIHI').IsNull Then
DateTimePicker1.Date := DM.ADOQuery3.FieldByName('RAPOR_TARIHI').AsDateTime
else
DateTimePicker1.Date := Now;
DateTimePicker1.Visible := True;
end;
end;

procedure TForm2.DateTimePicker1Change(Sender: TObject);
begin
  if DBGrid2.DataSource.State in [dsEdit, dsInsert] then
    DM.ADOQuery3.FieldByName('RAPOR_TARIHI').AsString := DateToStr(DateTimePicker1.Date);
end;

procedure TForm2.DateTimePicker1DropDown(Sender: TObject);
begin
  DBGrid2.DataSource.Edit;
end;

procedure TForm2.DateTimePicker1KeyPress(Sender: TObject; var Key: Char);
begin
  if (DBGrid2.SelectedField.FieldName = 'RAPOR_TARIHI') Then
  begin
    DateTimePicker1.SetFocus;
    SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
  end;
  if (DBGrid2.SelectedField.FieldName = 'RAPOR_TARIHI') Then
  begin
    DateTimePicker1.Visible := True;
    DateTimePicker1.SetFocus;
    SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
  end else
  begin
    DBGrid2.Columns[DBGrid2.Columns.grid.SelectedIndex + 1].Field.FocusControl;
    DateTimePicker1.Visible := False;
  end;
end;
Ancak DateTimePicker den tarih girdiğimde DBGrid den çıkıyor, yine ikinci satıra geçtiğimde tarih girerken birinci satıra geçiyor, içinden çıkamadım.

Not:Access detail tabloda
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

    if (gdFocused in State) Then
        if (Column.Field.FieldName = 'TARIH') Then
           with DateTimePicker1 do
           Begin
                left := Rect.Left + DBGrid1.Left + 1;
                Top := Rect.Top + DBGrid1.Top + 1;
                width := Rect.Right - Rect.Left + 2;
                Height := Rect.Bottom - Rect.Top + 2;
                if not IBDataSet1.FieldByName('Tarih').IsNull Then
                    DateTimePicker1.Date := IBDataSet1.FieldByName('Tarih').AsDateTime
                Else
                    DateTimePicker1.Date := Now;
                Visible := True;
            End;
Column Cell'i şu şekilde yapılandırırmısın?

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.
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

Mesaj gönderen dost »

Hocam yine aynı, DateTimePicker den tarih girerek tab ile diğer Column a geçmek istediğimde DBGrid den çıkıyor, ikinci satıra geçtiğimde append yapmadığından tarih girerken birinci satıra geçiyor.
DBGrid2ColExit de DateTimePicker1.Visible := False olmassa diğer hücreye geçtiğimde kapatmıyor.
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

DbGirid'de bu tip yapılandırma olayları biraz kasar Keypress ve Keydow nlarda sınırlama koyman gerekir ben tabda kayıt atlamasına izin vermiyorum sadece aynı kayıtta dolaştırıyorum çünkü bu şekilde kontrolü elime aldım aslında ben projem de benzer bir programın çalışma mantığını izlerim yazdığım kodu komple vericem birazdan. Ben projemde yeni kayıt ekleme olayını DBGrid de Enter tuşuna yükledim tabda ki olayı sınırladım sebebine gelince LKS bu mantıkda neden LKS sorusunu sorarsan algoritma çıkarmam kolay oluyor herneyse neyi neden yaptığımı anlaman için kodu komple incelersen mantığı kavrarsın. Bende bunu ilk yaptığım zaman çok kasmıştı açık konuşmak gerekirse Projem araya giren işlerim yüzünden 6 aydır dokunmuyordum sayen de baktım :P

Kod: Tümünü seç

implementation

uses AnaProgUni, CHTUni, Degiskenlerim, FonksiyonlarUni;

{$R *.dfm}

procedure TCariHesapAcilisIslemFrm.FormCreate(Sender: TObject);
begin
    with IBDataSet1 Do
    Begin
        Close;
        SelectSQL.Clear;
        SelectSQL.Add('Select * From NAKITISLEMLER Where ISLEMTURU = ''ACILIS'' Order By CARIKOD');
        Open;
    End;
// Numarator tablosuna bak bakalım değer içeriyormu ?

    with NumaratorDataset Do
    Begin
        Close;
        SelectSQL.Clear;
        SelectSQL.Add('select * from NUMARATOR');
        Open;
    End;
    if NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').IsNull Then
    Begin
        NumaratorDataset.Edit;
        NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString := '0000000000';
        NumaratorDataset.Post;
    End;
//******************************

end;

procedure TCariHesapAcilisIslemFrm.IBDataSet1BORCChange(Sender: TField);
begin
    if (DBGrid1.Columns[3].FieldName = 'BORC') And ((IBDataSet1.FieldByName('BORC').AsFloat <> 0) And (not (IBDataSet1.FieldByName('BORC').IsNull))) Then
        IBDataSet1.FieldByName('ALACAK').AsFloat := 0;
end;

procedure TCariHesapAcilisIslemFrm.IBDataSet1ALACAKChange(Sender: TField);
begin
    if (DBGrid1.Columns[4].FieldName = 'ALACAK') And ((IBDataSet1.FieldByName('ALACAK').AsFloat <> 0) And (not (IBDataSet1.FieldByName('ALACAK').IsNull))) Then
        IBDataSet1.FieldByName('BORC').AsFloat := 0;
end;

procedure TCariHesapAcilisIslemFrm.Button1Click(Sender: TObject);
begin
{    if (IBDataSet1.State = dsInsert) Or (IBDataSet1.State = dsEdit) Then
        IBDataSet1.Post;
 }
//Toplu onayla koçum
//UpdateRecord;
    Try
        Screen.cursor:= crhourglass;
        IbDataSet1.DisableControls;
        //Boş Kayıt Kontrolü
        IbDataSet1.First;
        While Not IbDataSet1.Eof do
        Begin
            if IbDataSet1.FieldByName('CARIKOD').IsNull Then
                IbDataSet1.Delete
            Else
            Begin
{               IbDataSet1.Edit;
                IbDataSet1.FieldByName('SAAT').AsDateTime := Now;
                IbDataSet1.Post;}
                IbDataSet1.Next;
            End;
        End;
        IBDataset1.ApplyUpdates;
        AnaProgFrm.IBTransaction1.CommitRetaining;
        Close;
    Finally;
        IbDataSet1.EnableControls;
        screen.cursor:=crdefault;
     End;
end;

procedure TCariHesapAcilisIslemFrm.DBGrid1DrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
    if (gdFocused in State) Then
    Begin
        if (Column.Field.FieldName = 'CARIKOD') Then
            with Button3 do
            Begin
                left := Rect.Right + DBGrid1.Left + 1;
                Top := Rect.Top + DBGrid1.Top + 1;
                width := Rect.Right + Rect.Left - 125;
                Height := Rect.Bottom - Rect.Top + 2;

                Visible := True;
            End
        Else
        if (Column.Field.FieldName = 'TARIH') Then
           with DateTimePicker1 do
           Begin
                left := Rect.Left + DBGrid1.Left + 1;
                Top := Rect.Top + DBGrid1.Top + 1;
                width := Rect.Right - Rect.Left + 2;
                Height := Rect.Bottom - Rect.Top + 2;
                if not IBDataSet1.FieldByName('Tarih').IsNull Then
                    DateTimePicker1.Date := IBDataSet1.FieldByName('Tarih').AsDateTime
                Else
                    DateTimePicker1.Date := Now;
                Visible := True;
            End;
    End;
end;

procedure TCariHesapAcilisIslemFrm.BORC(Sender: TObject);
begin
    if DBGrid1.SelectedField.FieldName = 'CARIKOD' Then
        Button3.Visible := False
    Else
    if DBGrid1.SelectedField.FieldName = 'TARIH' Then
        DateTimePicker1.Visible := False;
end;

procedure TCariHesapAcilisIslemFrm.DBGrid1KeyPress(Sender: TObject;
  var Key: Char);
begin
    if (DBGrid1.SelectedField.FieldName = 'CARIKOD') Then
        Case key Of
            'a' : Key := 'A';
            'b' : Key := 'B';
            'c' : Key := 'C';
            'ç' : Key := 'Ç';
            'd' : Key := 'D';
            'e' : Key := 'E';
            'f' : Key := 'F';
            'g' : Key := 'G';
            'ğ' : Key := 'Ğ';
            'ı' : Key := 'I';
            'i' : Key := 'İ';
            'j' : Key := 'J';
            'k' : Key := 'K';
            'l' : Key := 'L';
            'm' : Key := 'M';
            'n' : Key := 'N';
            'o' : Key := 'O';
            'ö' : Key := 'Ö';
            'p' : Key := 'P';
            'r' : Key := 'R';
            's' : Key := 'S';
            'ş' : Key := 'Ş';
            't' : Key := 'T';
            'u' : Key := 'U';
            'ü' : Key := 'Ü';
            'v' : Key := 'V';
            'y' : Key := 'Y';
            'z' : Key := 'Z';
            'x' : Key := 'X';
        End
    Else
    if (DBGrid1.SelectedField.FieldName = 'BORC') or (DBGrid1.SelectedField.FieldName = 'ALACAK') Then
        if not (key in ['0'..'9',#8, #13]) then
            key := #0;
    if (key = Chr(9)) Then
        Exit;

    if (DBGrid1.SelectedField.FieldName = 'TARIH') Then
    Begin
        DateTimePicker1.SetFocus;
        SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
    End;

  if Key = #13 then { Eğer Enter basılmışsa}
      if (ActiveControl is TDBGrid) then // TDBGridd ise
        with TDBGrid(ActiveControl) do
            if selectedindex < (fieldcount - 1) then// Alanı bir arttır
            Begin
                if (DBGrid1.SelectedField.FieldName = 'TARIH') Then
                Begin
                    DateTimePicker1.Visible := True;
                    DateTimePicker1.SetFocus;
                    SendMessage(DateTimePicker1.Handle, WM_Char, Word(Key), 0);
                End
                Else
                Begin
                    DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex + 1].Field.FocusControl;
                    DateTimePicker1.Visible := False;
                    Button3.Visible := False;
                End;
            end
            else
            Begin
                IBDataSet1.Next;
                if IBDataSet1.Eof Then
                Begin
                    IBDataSet1.Append;
                    IBDataSet1.FieldByName('CARIKOD').AsString := '';
                    IBDataSet1.Post;
                End;
                DBGrid1.Columns[0].field.FocusControl;
            End
      Else
        DBGrid1.Columns[DBGrid1.Columns.grid.SelectedIndex + 1].Field.FocusControl;
    if key = #40 Then
    Begin
        key := #0;
        IbDataSet1.next;
        if IbDataSet1.Eof Then
        Begin
            IbDataSet1.Append;
            IbDataSet1.FieldByName('CariKod').AsString := '';
            IbDataSet1.Post;
        End;
    End;
end;
procedure TCariHesapAcilisIslemFrm.DateTimePicker1Change(Sender: TObject);
var
    key:Char;
begin
    if DBGrid1.DataSource.State in [dsEdit, dsInsert] Then
        IBDataSet1TARIH.Value := DateTimePicker1.Date;
end;

procedure TCariHesapAcilisIslemFrm.DateTimePicker1DropDown(
  Sender: TObject);
begin
    DBGrid1.DataSource.Edit;
end;

procedure TCariHesapAcilisIslemFrm.FormShow(Sender: TObject);
begin
    DateTimePicker1.Date := Now;
    DBGrid1.SelectedIndex := 0;
end;

procedure TCariHesapAcilisIslemFrm.Button3Click(Sender: TObject);
begin
    FormBul := 'ACILIS';
    CHTFrm.Button9.Visible := True;
    CHTFrm.ShowModal;
    DBGrid1.DataSource.Edit;
    if KapanisSorgula = True Then
    Begin
        DBGrid1.Fields[0].Text := CHTFrm.IBDataSet1.fieldByName('CARIKOD').AsString;
        DBGrid1.Fields[1].Text := CHTFrm.IBDataSet1.fieldByName('CARIUNVAN').AsString;
        DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1;
    End;
    Dbgrid1.SetFocus;
    CHTFrm.Button9.Visible := False;
end;

procedure TCariHesapAcilisIslemFrm.DBGrid1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
Var
    CariKodu:String;
begin
{    if (Key = VK_DOWN) or ((Key = VK_TAB) and (DBGrid1.SelectedIndex = DbGrid1.Columns.Count-1)) then
    begin
        IbDataSet1.DisableControls;
        IbDataSet1.Next;
        if IbDataSet1.EOF then
            Key := 0
        else
            IbDataSet1.Prior;
        IbDataSet1.EnableControls;
    end
    Else   }
    if key = VK_DOWN Then
    Begin
        key := 0;
        IbDataSet1.next;
        if IbDataSet1.Eof Then
        Begin
            IbDataSet1.Append;
            IbDataSet1.FieldByName('CariKod').AsString := '';
            IbDataSet1.Post;
        End;
    End
    Else
    if (Key = VK_TAB) and (DBGrid1.SelectedIndex = DbGrid1.Columns.Count-1) Then
    Begin
        Key := 0;
        DBGrid1.SelectedIndex := 0;
    End
    Else
    if (Key = VK_INSERT) Then
    Begin
        Key:= 0;
    End
    Else
    if (Key = VK_ESCAPE) Then
    Begin
        if DBGrid1.SelectedField.FieldName  = 'CARIKOD' Then
        Begin
            IBDataSet1.Edit;
            IBDataSet1.FieldByName('CARIKOD').AsString := '';
            IBDataSet1.Post;
        End;
        Key := 0;
    End
    Else
// F10 Formları bul
    if (Key = VK_F10) Then
        if DBGrid1.SelectedField.FieldName  = 'CARIKOD' Then
        Begin
            if (DBGrid1.DataSource.State = dsInsert) or (DBGrid1.DataSource.State = dsEdit) Then
                DBGrid1.DataSource.DataSet.Post;
            FormBul := 'ACILIS';
            CHTFrm.Button9.Visible := True;
            CHTFrm.ShowModal;
            DBGrid1.DataSource.DataSet.Edit;
            if KapanisSorgula = True Then
            Begin
                DBGrid1.Fields[0].Text := CHTFrm.IBDataSet1.fieldByName('CARIKOD').AsString;
                DBGrid1.Fields[1].Text := CHTFrm.IBDataSet1.fieldByName('CARIUNVAN').AsString;
                DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1;
            End;
            CHTFrm.Button9.Visible := False;
        End
        Else
        if DBGrid1.SelectedField.FieldName  = 'CARIUNVAN' Then
        Begin
            if (DBGrid1.DataSource.State = dsInsert) or (DBGrid1.DataSource.State = dsEdit) Then
                DBGrid1.DataSource.DataSet.Post;
            FormBul := 'ACILIS1';
            CHTFrm.Button9.Visible := True;
            CHTFrm.ShowModal;
            DBGrid1.DataSource.DataSet.Edit;
            if KapanisSorgula = True Then
            Begin
                DBGrid1.Fields[0].Text := CHTFrm.IBDataSet1.fieldByName('CARIKOD').AsString;
                DBGrid1.Fields[1].Text := CHTFrm.IBDataSet1.fieldByName('CARIUNVAN').AsString;
                DBGrid1.SelectedIndex := DBGrid1.SelectedIndex + 1;
            End;
            CHTFrm.Button9.Visible := False;
        End;
end;

procedure TCariHesapAcilisIslemFrm.Button2Click(Sender: TObject);
begin
    IBDataset1.Close;
    IBDataset1.CancelUpdates;
    Close;
end;

procedure TCariHesapAcilisIslemFrm.DBGrid1ColEnter(Sender: TObject);
var
    DateTime : TDateTime;
    CariKodu:String;
    CariUnvan:String;
begin
    //0 İNDEX ÇIKIŞINDA KONTROL ET
    if DBGrid1.SelectedIndex = 1 Then
    Begin
    //CariKod işlemleri
        CariKodu := DBGrid1.Columns[0].Field.Text;
        if CariKodu = '' Then
        Begin
            IBDataSet1.Edit;
            IBDataSet1.FieldByName('CARIUNVAN').AsString := '';
            IBDataSet1.Post;
        End
        Else
        Begin
            with IBQuery1 do
            Begin
                Close;
                Sql.Clear;
                Sql.Add('Select * From CARIKART Where CARIKOD = '''+cariKodu+'''');
                Open;
            End;
            if IBQuery1.RecordCount < 1 Then
            Begin
                ShowMessage('Cari Hesap Kodu Yanlış');
                DBGrid1.SelectedIndex := 0;
            End
            Else
            Begin
               IBDataSet1.Edit;
               IBDataSet1.FieldByName('CARIUNVAN').AsString := IBQuery1.fieldByName('CARIUNVAN').AsString;
               IBDataSet1.Post;
            End;
        End;
    End
    Else
    //1 İNDEX ÇIKIŞINDA KONTROL ET
    if DBGrid1.SelectedIndex = 2 Then
    Begin
        if DBGrid1.Columns[0].Field.Text = '' Then
            CariUnvan := DBGrid1.Columns[1].Field.Text;
            if CariUnvan <> '' Then
            Begin
                with IBQuery1 do
                Begin
                    Close;
                    Sql.Clear;
                    Sql.Add('Select * From CARIKART Where CARIUNVAN = '''+CariUnvan+'''');
                    Open;
                End;
                if IBQuery1.RecordCount > 0 Then
                Begin
                   IBDataSet1.Edit;
                   IBDataSet1.FieldByName('CARIKOD').AsString := IBQuery1.fieldByName('CARIKOD').AsString;
                   IBDataSet1.Post;
                End
                Else
                Begin
                    ShowMessage('CARİ ÜNVAN YANLIŞ');
                    DBGrid1.SelectedIndex := 1;
                End;
            End;
        End;
end;

procedure TCariHesapAcilisIslemFrm.DateTimePicker1Exit(Sender: TObject);
begin
    DBGrid1.DataSource.Edit;
    IBDataSet1TARIH.AsDateTime := DateOf(DateTimePicker1.Date);
    DateTimePicker1.Visible := False;
end;

procedure TCariHesapAcilisIslemFrm.IBDataSet1BeforeScroll(
  DataSet: TDataSet);
var
    DateTime : TDateTime;
    CariKodu:String;
begin
    CariKodu := DBGrid1.Columns[0].Field.Text;
    if CariKodu <> '' Then
    Begin
        with IBQuery1 do
        Begin
            Close;
            Sql.Clear;
            Sql.Add('Select * From CARIKART Where CARIKOD = '''+cariKodu+'''');
            Open;
        End;
        if IBQuery1.RecordCount > 0 Then
        Begin
            IBDataSet1.Edit;
            IBDataSet1ISLEMTURU.AsString := 'ACILIS';
            IBDataSet1.Post;
        End
        Else
        Begin
            ShowMessage('Cari Hesap Kodu Yanlış');
            Abort;
            DBGrid1.SelectedIndex := 0;
        End;
    End;
end;

procedure TCariHesapAcilisIslemFrm.DateTimePicker1KeyDown(Sender: TObject;
  var Key: Word; Shift: TShiftState);
begin
    if Key = VK_RETURN Then
        DBGrid1.SetFocus;
end;

procedure TCariHesapAcilisIslemFrm.IBDataSet1AfterDelete(
  DataSet: TDataSet);
begin
{
    with ibQuery2 do
    begin
        close;
        sql.Clear;
        sql.Add('Select max(ISLEM_NO ) From NAKITISLEMLER Where ISLEMTURU = ''ACILIS''');
        open;
    End;
    if IbQuery2.Eof = False Then
    Begin
        ShowMessage(IbQuery2.Fields[0].AsString);
            if NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString >= ibQuery2.Fields[0].AsString Then
            Begin
                NUMARATORDATASET.Edit;
                NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString := ibQuery2.Fields[0].AsString;
                NUMARATORDATASET.Post;
            End;
            NUMARATORDATASET.Edit;
            NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString := '';
            NUMARATORDATASET.Post;
   End;
}
end;

procedure TCariHesapAcilisIslemFrm.IBDataSet1BeforePost(DataSet: TDataSet);
begin
    if not IbDataSet1.FieldByName('CARIKOD').IsNull Then
        if IbDataSet1.FieldByName('ISLEM_NO').IsNull Then
        begin
            with ibQuery2 do
            begin
                close;
                sql.Clear;
                sql.Add('Select max(ISLEM_NO) From NAKITISLEMLER Where ISLEMTURU = ''ACILIS''');
                open;
            End;
            if IbQuery2.Eof = False Then
            Begin
                if NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString <= ibQuery2.Fields[0].AsString Then
                Begin
                    NUMARATORDATASET.Edit;
                    NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString := ibQuery2.Fields[0].AsString;
                    NUMARATORDATASET.Post;
                End;
               IbDataSet1.FieldByName('ISLEM_NO').AsString := Numarator(NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString);
               NUMARATORDATASET.Edit;
               NUMARATORDATASET.FieldByName('NAKIT_DEVIR_NO').AsString := IbDataSet1.FieldByName('ISLEM_NO').AsString;
               NUMARATORDATASET.Post;
             End;

        End;
end;

procedure TCariHesapAcilisIslemFrm.Button4Click(Sender: TObject);
begin
    with ibQuery2 do
    begin
        close;
        sql.Clear;
        sql.Add('Select max(ISLEM_NO ) From NAKITISLEMLER Where ISLEMTURU = ''ACILIS''');
        open;
    End;
    if IbQuery2.Eof = False Then
    Begin
        ShowMessage(IbQuery2.Fields[0].AsString);
    End;

end;

procedure TCariHesapAcilisIslemFrm.Button5Click(Sender: TObject);
var
     TextDosya:TextFile;
     Sayac : Integer;
     Satir : String;
begin
     Sayac := 0;
     Satir := '';
     AssignFile(TextDosya,'C:\HUSONET.TXT');
     ReWrite(TextDosya);
     IbDataSet1.First;
     While not IbDataSet1.Eof do
     begin
          Satir := '';
          For Sayac := 0 to IbDataSet1.Fields.Count -1 do
          begin
                Satir := Satir + IbDataSet1.Fields[Sayac].Text + ' ';
          End;
          IbDataSet1.Next;
          WriteLn(TextDosya, Satir);
     End;
     CloseFile(TextDosya);
end;
Son olarak birşey söyliyecem aklında olsun benim yaptığımı yapmak zorunda değilsin ve mantıklı bir akışla bütün kontrollere hakim olabilirsin unutma!

Kolay Gelsin.......
En son husonet tarafından 11 Eki 2004 10:41 tarihinde düzenlendi, toplamda 1 kere düzenlendi.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
dost
Üye
Mesajlar: 104
Kayıt: 08 Oca 2004 11:33

Mesaj gönderen dost »

Hocam yardımlarınız için tekrar teşekkür ederim.

Kodu inceleyeceğim.
Cevapla