سه شنبه 23 مرداد 1397 | Tuesday 14 th of August 2018 صفحه اصلی گروه الکترونیکی کامپیوتر
- صفحه شناسنامه استاندارد

 

  • ،جهت ثبت ،ویرایش ،حذف ،جستجو ،فیلتر و گزارش اطلاعات استاندارد می باشد. (پیوست 1 شکل 1-8را ببینید)

کد زیرهنگام ورود داده،برای انتقال از یک ادیت به ادیت دیگر از طریق اینتر می باشد.

procedure Tformstd.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if key=char(vk_return) then

  begin

  key:=char(0);

   SendMessage(Handle,WM_NEXTDLGCTL,0,0);

end;end;

کد زیر باعث ورود داده بصورت لاتین می شود بدون انکه از کلیدهای ShiftوAltاستفاده شود.

procedure Tformstd.Edit1Enter(Sender: TObject);

begin

 LoadKeyboardLayout('00000409',KLF_ACTIVATE);

 Edit1.CharCase:=ecUpperCase;

end;

کد زیر باعث بستن جدول استاندارد و معادل وسپس بستن فرم می شود.

procedure Tformstd.SpeedtcancelClick(Sender: TObject);

begin

DM.ADOTablestd.Close;

DM.ADOTableequal.Close;

formstd.Close;

end;

کد زیر برای استفاده از کلیدهای کمکیF2وESC می باشد.

procedure Tformstd.FormKeyDown(Sender: TObject; var Key: Word;

  Shift: TShiftState);

begin

 if  key=(vk_F2) then

    SpeedsaveClick(sender);

 if  key=(VK_ESCAPE) then

    SpeedtcancelClick(sender);

end;

با روال زیر هنگام باز شدن فرم تمام باکس ها[1]خالی می باشدوجدول استاندارد باز می شود.

procedure Tformstd.FormShow(Sender: TObject);

begin

 Edit1.Text:=''; Edit2.Text:='';

 Edit3.Text:=''; MaskEdit1.Text:='';

 Edit4.Text:=''; ComboBox1.Text:=' ';

 ComboBox2.Text:=' '; Edit5.Text:='';

 Edit6.Text:=''; Edit7.Text:='';

 Memo1.Text:=''; Edit8.Text:='';

 DM.ADOTablestd.Open; Edit1.SetFocus;

 ComboBox1.ItemIndex:=-1; ComboBox2.ItemIndex:=-1;

 DM.ADOTablestd.First; DBGrid1.ReadOnly:=True;

 DBGrid2.ReadOnly:=True;  DBGrid1.Visible:=True;

 DBGrid2.Visible:=false; RadioGroup1.ItemIndex:=0;

DM.ADOTablestd.IndexFieldNames:='stdnum';

end;

کد زیر باعث می شودهنگام باز کردن فرم جداول فقط خواندنی باشند و جدول یک قابل مشاهده باشد.

procedure Tformstd.FormCreate(Sender: TObject);

begin

DBGrid1.ReadOnly:=true;DBGrid2.ReadOnly:=true;

DBGrid1.Visible:=True;DBGrid2.Visible:=false;

end;

کد زیر باعث ورود داده بصورت فارسیمی شود بدون انکه از کلیدهای ALTو SHIFTاستفاده شود.

procedure Tformstd.ComboBox1Enter(Sender: TObject);

begin

LoadKeyboardLayout('00000401',KLF_ACTIVATE);end;

کد زیر با زدن کلید ثبت برای ثبت اطلاعات جدید در جدول می باشد.

procedure Tformstd.SpeedsaveClick(Sender: TObject);

begin

 DM.ADOTablestd.Open;

if (DM.ADOTablestd.Locate('stdnum;indexs',vararrayof([(trim(Edit1.text)),(trim(edit2.text))]),[loPartialKey])) then

  begin

;(این شماره استاندارد تکراری است)ShowMessage

  Edit1.SetFocus;  Edit1.Text:='';

  Edit2.Text:='';  Edit3.Text:='';

  MaskEdit1.Text:='';  Edit4.Clear;

  ComboBox1.Text:='';  ComboBox2.Text:='';

  Edit5.Clear;  Edit6.Clear;

  Edit7.Clear;  Memo1.Clear;

  exit;  end;

if ((Edit1.Text<>'') and (Edit2.Text<>'') and

and (MessageBox(0,'ایا می خواهیداطلاعات را ذخیره کنید؟','confirm',MB_YESNO)=idyes)) then

begin

 DM.ADOTablestd.Open;

 DM.ADOTablestd.Insert;

 DM.ADOTablestd.FieldValues['stdnum']:=Trim(edit1.Text);

 DM.ADOTablestd.FieldValues['indexs']:=Trim(Edit2.Text);

 DM.ADOTablestd.FieldValues['salenteshar']:=Trim(Edit3.Text);

 DM.ADOTablestd.FieldValues['sdate']:=Trim(MaskEdit1.Text);

 DM.ADOTablestd.FieldValues['typelan']:=Trim(ComboBox1.Text);

  DM.ADOTablestd.FieldValues['tarjome']:=Trim(ComboBox2.Text);

 DM.ADOTablestd.FieldValues['typestd']:=trim(Edit4.Text);

 DM.ADOTablestd.FieldValues['masir']:=trim(Edit5.Text);

 DM.ADOTablestd.FieldValues['farsihead']:=Trim(Edit6.Text);

 DM.ADOTablestd.FieldValues['latinhead']:=Trim(Edit7.Text);

 DM.ADOTablestd.FieldValues['explain']:=trim(memo1.Text);

  DM.ADOTablestd.Post;

  Edit1.Text:='';  Edit2.Text:='';

  Edit3.Text:='';  MaskEdit1.Text:='';

  Edit4.Text:='';  ComboBox1.Text:=' ';

  ComboBox2.Text:=' ';  Edit5.Clear;

  Edit6.Clear;  Edit7.Clear;

  Memo1.Clear;  FocusControl(Edit1)

  end

 else

 begin

   ShowMessage('      ! اطلاعات ناقص است           '      );

   Edit1.Text:='';   Edit2.Text:='';

   Edit3.Clear;   MaskEdit1.Text:='';

   Edit4.Clear;   ComboBox1.Text:=' ';

   ComboBox2.Text:=' ';   Edit5.Clear;

   Edit6.Clear;   Edit7.Clear;

   Memo1.Clear;   FocusControl(edit1);

   end;

end;

کد زیرهنگام ورود داده،برای انتقال از یک ادیت به ادیت دیگر از طریق Enterمی باشد.

procedure Tformstd.ComboBox1KeyPress(Sender: TObject; var Key: Char);

begin

if key=char(vk_return) then

  begin

  key:=char(0);

   SendMessage(Handle,WM_NEXTDLGCTL,0,0);

  end;

end;

با کلیک فرم استاندارد معادل باز می شود.

procedure Tformstd.SpeedequalClick(Sender: TObject);

begin

formequal.ShowModal;

end;

کد زیربا زدن کلید ویرایش برای ویرایش اطلاعات مورد نظر می باشد.

procedure Tformstd.SpeedupdateClick(Sender: TObject);

begin

DM.ADOTablestd.Open;

if DM.ADOTablestd.Locate('stdnum;indexs',vararrayof([(trim (Edit1.text)),(trim(edit2.text))]),[loPartialKey]) then

begin

   if MessageBox(0,ایا می خواهید اطلاعات مورد نظر را ویرایش نمایید,'comfirm',MB_YESNO)=idyes then

   begin

   DM.ADOTablestd.Edit;

   DM.ADOTablestd.FieldValues['salenteshar']:=Trim(Edit3.Text);

   DM.ADOTablestd.FieldValues['sdate']:=Trim(MaskEdit1.Text);   

   DM.ADOTablestd.FieldValues['typelan']:=Trim(ComboBox1.Text);

   DM.ADOTablestd.FieldValues['tarjome']:=Trim(ComboBox2.Text);

   DM.ADOTablestd.FieldValues['typestd']:=trim(Edit4.Text);

   DM.ADOTablestd.FieldValues['masir']:=trim(Edit5.Text);

   DM.ADOTablestd.FieldValues['farsihead']:=Trim(Edit6.Text);

   DM.ADOTablestd.FieldValues['latinhead']:=Trim(Edit7.Text);

   DM.ADOTablestd.FieldValues['explain']:=trim(memo1.Text);

   DM.ADOTablestd.Post;

   ShowMessage('    .'ویرایش رکورد انجام شد');

   Edit1.SetFocus

end

else

     Edit1.SetFocus;

end;

end;

 

کد زیر با زدن کلید ایجاد برای خالی شدن همه باکسهاو قرار گرفتن در ابتدای جدول می باشد.

procedure Tformstd.SpeedcreatClick(Sender: TObject);

begin

Edit1.ReadOnly:=False;Edit2.ReadOnly:=False;

DM.ADOTablestd.First; DBGrid1.ReadOnly:=True;

 DBGrid2.ReadOnly:=True;DBGrid1.Visible:=True;

 DBGrid2.Visible:=False;Edit1.SetFocus;

  Edit1.Text:='';  Edit2.Text:='';

  Edit3.Text:='';   MaskEdit1.Text:='';

  Edit4.Clear;  ComboBox1.Text:='';

  ComboBox2.Text:='';  Edit5.Clear;

  Edit6.Clear;  Edit7.Clear;

  Memo1.Clear;  Edit8.Text:='';

  Edit10.Text:='';DM.ADOTablestd.Refresh;

  RadioGroup1.ItemIndex:=0;

end;

کد زیربا زدن کلید جستجو برای جستجوبر اساس شماره مورد نظر می باشد.

procedure Tformstd.SpeedsearchClick(Sender: TObject);

begin

 DM.ADOTablestd.First;

 DM.ADOTablestd.Locate('stdnum',(Edit8.Text),[loPartialKey]);

 Edit8.SetFocus;

end;

کد زیر با زدن کلید حذف برای حذف اطلاعات مورد نظر می باشد.

procedure Tformstd.SpeeddelClick(Sender: TObject);

begin

DM.ADOTablestd.Edit;

//DM.ADOTableequal.Edit;

if DM.ADOTablestd.Locate('stdnum;indexs',vararrayof([(trim (Edit1.text)),(trim(edit2.text))]),[loPartialKey]) then

begin

   if MessageBox(0,'ایا می خواهید اطلاعات مورد نظر را حذف کنید؟','comfirm',MB_YESNO)=idyes then

   begin

            DM.ADOTablestd.Delete;

        ShowMessage('   .رکورد حذف شد        ');

end

else

begin

    Edit1.SetFocus;

end;end;end;

روال زیربا زدن کلید فیلتر برای فیلتر کردن اطلاعات براساس شماره و نام با استفاده از دستورات sqlمیباشد.

procedure Tformstd.SpeedfilterClick(Sender: TObject);

begin

DBGrid1.Visible:=False;

DBGrid2.Visible:=True;

 case  RadioGroup1.ItemIndex of

 0:

 begin

 DM2.ADOQuery1.SQL.Clear;

 DM2.ADOQuery1.SQL.Add('select * from stdtable  where stdnum LIKE ''%' + edit10.text + '%''');

 DM2.ADOQuery1.Open;

 end;

 1:

 begin

 DM2.ADOQuery1.SQL.Clear;

 DM2.ADOQuery1.SQL.Add('select * from stdtable  where latinhead LIKE ''%' + edit10.text + '%''');

 DM2.ADOQuery1.Open;

end; end;end;

با کلیک کلید گزارش  فرم انتخاب نوع گزارش باز می شود.

procedure Tformstd.SpeedButton5Click(Sender: TObject);

 begin

freportselect.Show;

end;

با کلیک فرم تصویر استاندارد مرتبط باز می شود.

procedure Tformstd.SpeedpicClick(Sender: TObject);

begin

fpictures.ShowModal;

end;

با کلیک فرم استاندارد مرتبط باز می شود.

procedure Tformstd.SpeedrelationClick(Sender: TObject);

begin

Formrelation.ShowModal;

end;


[1]-  Edits

Compatability by:
آخرین به روز رسانی سایت: سه شنبه, 22 اسفند 1391 - 00:26