PDA

View Full Version : نوشتن كد براي دكمه هاي up و down



hentjanson
چهارشنبه 19 تیر 1387, 18:58 عصر
سلام چطور ميشه روي كليد هاي بالا و پايين صفحه كليد برنامه نوشت ؟

Hsimple11
چهارشنبه 19 تیر 1387, 20:26 عصر
VirtualKey را جستجو کنید.

اصغر (پآچ)
چهارشنبه 19 تیر 1387, 20:36 عصر
دوست من

می تونی توی هر کامپوننت در رویداد OnKeyUp کد های مربوط به VirtualKey که (VK_UP و VK_Down) می باشد را استفاده کنی.

قبلا هم در سایت بحث شده جستجو کن

موفق و موید باشی

SYNDROME
چهارشنبه 19 تیر 1387, 20:55 عصر
1-می توانی برای هر کامپونت جداگانه بنویسی.
2-می توانی در رویداد OnKeyDown مربوط به فرمتان بنویسید و KeyPreview را True کنید.
3-از ابزار Application استفاده کنید.
موفق باشید

hentjanson
چهارشنبه 19 تیر 1387, 22:00 عصر
سلام بچه ها من يك كد مثل اين دارم كه وقتي روي هر سطر جدول كليك بشه maskedit ها برابر با مقادير بانك قرار مي گيرند . در شرايط معموملي من بايد روي هر سطر كليل كنم ولي من مي خوام با زدن دكمه پايين هم به ركورد بعدي برم اين كد منه ؟


procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
with ADOTable1 do
begin
if FieldByName('lito').AsString = 'ÒÑÏ' then
Shape4.Brush.Color:=clyellow;
if FieldByName('lito').AsString = 'ÓÝíÏ' then
Shape4.Brush.Color:=clwhite;
if FieldByName('lito').AsString = 'ÓÈÒ' then
Shape4.Brush.Color:=clgreen;

if FieldByName('horof').AsString = 'ÒÑÏ' then
Shape6.Brush.Color:=clyellow;
if FieldByName('horof').AsString = 'ÓÝíÏ' then
Shape6.Brush.Color:=clwhite;
if FieldByName('horof').AsString = 'ÓÈÒ' then
Shape6.Brush.Color:=clgreen;

if FieldByName('jeld').AsString = 'ÒÑÏ' then
Shape5.Brush.Color:=clyellow;
if FieldByName('jeld').AsString = 'ÓÝíÏ' then
Shape5.Brush.Color:=clwhite;
if FieldByName('jeld').AsString = 'ÓÈÒ' then
Shape5.Brush.Color:=clgreen;

if FieldByName('chap').AsString = 'ÒÑÏ' then
Shape2.Brush.Color:=clyellow;
if FieldByName('chap').AsString = 'ÓÝíÏ' then
Shape2.Brush.Color:=clwhite;
if FieldByName('chap').AsString = 'ÓÈÒ' then
Shape2.Brush.Color:=clgreen;

if FieldByName('sahafi').AsString = 'ÒÑÏ' then
Shape3.Brush.Color:=clyellow;
if FieldByName('sahafi').AsString = 'ÓÝíÏ' then
Shape3.Brush.Color:=clwhite;
if FieldByName('sahafi').AsString = 'ÓÈÒ' then
Shape3.Brush.Color:=clgreen;

if FieldByName('matn').AsString = 'ÒÑÏ' then
Shape1.Brush.Color:=clyellow;
if FieldByName('matn').AsString = 'ÓÝíÏ' then
Shape1.Brush.Color:=clwhite;
if FieldByName('matn').AsString = 'ÓÈÒ' then
Shape1.Brush.Color:=clgreen;
end;
maskedit2.Text:=ADOTable1.fieldbyname('code').asst ring;
maskedit22.Text:=ADOTable1.fieldbyname('shabek').a sstring;
maskedit3.Text:=ADOTable1.fieldbyname('namketab'). asstring;
maskedit4.Text:=ADOTable1.fieldbyname('nammoalef') .asstring;
maskedit5.Text:=ADOTable1.fieldbyname('nammotrajem ').asstring;
maskedit6.Text:=ADOTable1.fieldbyname('namvirastar ').asstring;
maskedit7.Text:=ADOTable1.fieldbyname('tel').asstr ing;
maskedit8.Text:=ADOTable1.fieldbyname('address').a sstring;
ComboBoxEx7.Text:=ADOTable1.fieldbyname('vazeyat') .asstring;
ComboBox4.Text:=ADOTable1.fieldbyname('ghat').asst ring;
maskedit13.Text:=ADOTable1.fieldbyname('mobile').a sstring;
maskedit14.Text:=ADOTable1.fieldbyname('nobat').as string;
maskedit15.Text:=ADOTable1.fieldbyname('paper').as string;
ComboBox3.Text:=ADOTable1.fieldbyname('noee').asst ring;
maskedit16.Text:=ADOTable1.fieldbyname('tiraj').as string;
maskedit17.Text:=ADOTable1.fieldbyname('year').ass tring;
maskedit18.Text:=ADOTable1.fieldbyname('sefaresh') .asstring;
maskedit19.Text:=ADOTable1.fieldbyname('date1').as string;
maskedit20.Text:=ADOTable1.fieldbyname('vosol').as string;
maskedit23.Text:=ADOTable1.fieldbyname('gheymat'). asstring;
if ADOTable1file.Text <> '' then
Image1.Picture.LoadFromFile(AppPath+'\Pictures\'+A DOTable1file.Text)
else
Image1.Picture.LoadFromFile(AppPath+'\Pictures\Non e.jpg');
end;

babak_delphi
چهارشنبه 19 تیر 1387, 23:45 عصر
شما این shape ها و Maskedit ها رو کجا قرار دادید؟

hentjanson
پنج شنبه 20 تیر 1387, 15:53 عصر
تو يك فرم جاي گرفتن

SYNDROME
پنج شنبه 20 تیر 1387, 20:28 عصر
اگر می خواهید با بالا و پایین شدن در DBGrid اطلاعات رکورد مورد نظر را واکشی کنید بهتر است این کدها را در AfterScroll مربوط به ADO بنویسید که با جابجا شدن بر روی رکوردهای dBGrid چه با موس و چه با صفحه کلید ازلاعات رکورد مورد نظر در Box ها واکشی شود.
موفق باشید

babak_delphi
جمعه 21 تیر 1387, 15:13 عصر
استفاده از OfterScroll بعضی جاها مشکا ساز میشه
بهتره به جهی اون از یک DBEdit استفاده کنی و اون رو به یک فیلد کلیدی وصل کنی و خاصیت Visible اون رو False کنی و کد مورد نظر رو در رویداد OnChange اون بنویسی

SYNDROME
جمعه 21 تیر 1387, 18:04 عصر
استفاده از OfterScroll بعضی جاها مشکا ساز میشه
بهتره به جهی اون از یک DBEdit استفاده کنی و اون رو به یک فیلد کلیدی وصل کنی و خاصیت Visible اون رو False کنی و کد مورد نظر رو در رویداد OnChange اون بنویسی
می توانید بگویید چه مشکلی ممکن است پیش بیاید؟
در مواقعی هم که می خواهی در afterScroll دستورات اجرا نشود می توانی از Tagخود ADO استفاده کنید.


IF ADO.Tag = 1 Then
Begin

End;

اگر خواستید دستورات اجرا نشود Tag را 0 کنید
موفق باشید