دوستان من میخوام توی یکی از سل های dbgrid ام ساعت قرار بگیره و هر ثانیه بروز بشه یعنی توی این سل ساعت کار کنه آیا همچین کاری میشه؟
من به فکرم زد که از timer استفاده کنم ولی نمیدونم چه جوری میشه dbgrid رو آپدیت کنم
دوستان من میخوام توی یکی از سل های dbgrid ام ساعت قرار بگیره و هر ثانیه بروز بشه یعنی توی این سل ساعت کار کنه آیا همچین کاری میشه؟
من به فکرم زد که از timer استفاده کنم ولی نمیدونم چه جوری میشه dbgrid رو آپدیت کنم
مثل اینکه نمیشه ؟؟؟؟؟؟؟؟؟
سلام
باید فیلدی داخل جدول از نوع datetime تعریف کنی آنگاه با تایمر آنرا Update کنی و سپس آن جدول را به Dbgrid وصل کنید.procedure TForm1.Timer1Timer(Sender: TObject);
begin
table1.First;
table1.Edit;
table1.FieldValues['tim']:=time;
table1.Post;
end;
البته من اینکارو میخوام روی dbgrid انجام بدم (با فیلدهای محاسباتی) نه روی جدول در ضمن اینکارو برای این میخوام که: یه جدولی دارم که کاربر وقتی کلید استارت رو میزنه شروع به ثبت زمان کنه و مدت زمان سپری شده رو ذخیره کنه بنابراین میخوام تا قبل از اینکه کاربر کلید استارت رو زد ساعت کار کنه ولی به محض اینکه کاربر کلید استارت رو زد فیلد startTime فریز بشه و فیلد endTime شروع به کار کنه
مثال زیر دقیقا این کاری را که میخواهی انجام میده یک فرم و دوتا تایمر و یک دکمه که با کلیک اون کار مورد نظر شما انجام میشه ضمنا باید یک جدول با دو تا فیلد از نوع datetime هم داشته باشید.
procedure TForm1.FormShow(Sender: TObject);
begin
Timer1.Enabled:=true;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
table1.First;
table1.Edit;
table1.FieldValues['tim1']:=time;
table1.Post;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
table1.Active:=true;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=false;
Timer2.Enabled:=true;
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
table1.Active:=false;
timer2.Enabled:=false;
Timer1.Enabled:=false;
end;
ام راحتتر اینه که توی دوتا edit کار ثبت زمانها را انجام بدی بعد به جدول منتقل کنی و اگر هم میخواهی حتما شکل جدولی داشته باشه از string grid استفاه کن.
ببخشید procedure تایمر دوم اینه.
procedure TForm1.Timer2Timer(Sender: TObject);
begin
table1.First;
table1.Edit;
table1.FieldValues['tim2']:=time;
table1.Post;
end;
ممنون از راهنمایی تون