PDA

View Full Version : سوال: مشکل با enter



soft-c
شنبه 26 تیر 1389, 00:35 صبح
سلام .
من می خواهم وقتی کاربر روی enter کلیک کرد کار انجام بشه .
وقتی جستجو کردم به این کد رسیدم که :

if key=#13
ولی وقتی در برنامه می نویسم اصلا متدی به نام key نمیشناسه .
لطفا راهنمایی کنید .
تشکر.

nader883388
شنبه 26 تیر 1389, 02:59 صبح
if key=char(13) then ed_father.SetFocus;

nader883388
شنبه 26 تیر 1389, 03:02 صبح
کد بالا را در رویداد on key press بنویسید

ahmadi3d_ali
یک شنبه 27 تیر 1389, 00:01 صبح
شما باید کد را یا توی on key press یا on key down یا on key up بنوبیسی!
on key press وقتی که کاربر دکمه را نگه داشته
on key down وقتی دکمه را فشار داده !
on key up وقتی دکمه را رها کرده !
توجه داشته باش توی on key press باید کاراکتر استفاده بشه و کد نمیشه یعنی کد بالا اشتباه هست!!!! تو انجا یا اینکه از دستور تبدیل کد به کاراکتر استفاده کنید (کاراکتر یعنی حروف مثل a,b,c و... )
و توی on key down , on key up باید از کد استفاده کرد مثل کد enter که 13 هست!
پس شما باید از کد 13 تو on key down یا on key up استفاده کنی!
موفق باشی اگه سوالی پیش اومد بپرس!

nader883388
یک شنبه 27 تیر 1389, 03:34 صبح
با سلام خدمت آقای احمدی عزیز
اولا لازمه به اطلاعتون برسونم که بنده در امر برنامه نویسی بسیار مبتدی هستم ولی کدی که نوشتم بارها برحسب تجربه قبلی و آموزشهای گذاشته شده در همین سایت به اطلاع دوستمون رسوندم لذا از شما خواهش میکنم کد مورد نظر را یکبار امتحان کنید و اینجانب رو راهنمائی فرمائید
ثانیا تا اونجائی که من اطلاع دارم شما با زدن هر کلیدی یک کد تولید میکنی که بر اساس کد تولید شده فرایندی رو اجرا میکنی حالا این کد میتونه از فشردن یک کلید و یا ترکیبی از کلیدها باشه که با به دست آوردن کد موردنظر و گذاشتن اون در رویداد مورد نظر بر اساس آون دستوری رو به پروسسور جهت اجرای فرامین مرتبط میدی
از شما و دیگر دوستان خواهش میکنم اگر اشتباه میکنم مرا راهنمائی کنن
باتشکر

mofrad
یک شنبه 27 تیر 1389, 10:49 صبح
میتونی از این کد هم در رویداد مثلا on key down استفاده کنی:

if key = VK_RETURN then

ahmadi3d_ali
یک شنبه 27 تیر 1389, 16:22 عصر
با سلام خدمت آقای احمدی عزیز
اولا لازمه به اطلاعتون برسونم که بنده در امر برنامه نویسی بسیار مبتدی هستم ولی کدی که نوشتم بارها برحسب تجربه قبلی و آموزشهای گذاشته شده در همین سایت به اطلاع دوستمون رسوندم لذا از شما خواهش میکنم کد مورد نظر را یکبار امتحان کنید و اینجانب رو راهنمائی فرمائید
ثانیا تا اونجائی که من اطلاع دارم شما با زدن هر کلیدی یک کد تولید میکنی که بر اساس کد تولید شده فرایندی رو اجرا میکنی حالا این کد میتونه از فشردن یک کلید و یا ترکیبی از کلیدها باشه که با به دست آوردن کد موردنظر و گذاشتن اون در رویداد مورد نظر بر اساس آون دستوری رو به پروسسور جهت اجرای فرامین مرتبط میدی
از شما و دیگر دوستان خواهش میکنم اگر اشتباه میکنم مرا راهنمائی کنن
باتشکر

خسته نباشی!
من م همین را گفتم ببین تو کدت
if key=char(13) then ed_father.SetFocus;
گفتی char(13) یعنی کد را داری به کاراکتر تبدیل می کنی!!!!!!
این یعنی توی on key down نمیشه از کد استفاده کرد و باید کاراکتر گذاشت!
شما از کد استفاده کردی بعد با دستور char به کاراکتر تبدیل کردی!
همون طور که من در بالا گفتم اگه می خواهید از کد استفاده کنید در on key down باید از مبدل کد به کاراکتر استفاده کرد!
پس حرف من درسته
کد شما هم با استفاده از این دستور درسته !
موفق باشید!

مائده 100
دوشنبه 06 دی 1389, 08:21 صبح
با سلام اما if key=char(13) then edit6.SetFocus; در on key own خطا مي ده ؟ در on key press هم كه اين كد if key=#13 then edit6.SetFocus; در on key press از لحاظ دستوري خطا نمي ده ولي موقع اجراي برنامه با زدن كليد اينتر به اديت 6 نمي ره؟ كسي مي تونه راهنمائيم كنه

BORHAN TEC
دوشنبه 06 دی 1389, 09:14 صبح
با سلام اما if key=char(13) then edit6.SetFocus; در on key own خطا مي ده ؟
در این رویداد کد رو به صورت if key=13 then edit6.SetFocus به کار ببرید.

در on key press هم كه اين كد if key=#13 then edit6.SetFocus; در on key press از لحاظ دستوري خطا نمي ده ولي موقع اجراي برنامه با زدن كليد اينتر به اديت 6 نمي ره؟ كسي مي تونه راهنمائيم كنه
به خاطر این که کلید فشرده شده به کنترلی به غیر از فرم ارسال می شود. برای این که کلید فشرده شده ابتدا به فرم فرستاده شود باید خاصیت KeyPreview مربوط به فرم را به True ست کنید و بعد کد مورد نظر را در OnKeyPress بنویسید.

مائده 100
دوشنبه 06 دی 1389, 09:36 صبح
با تشكر از جواب شما ولي اين كدها هم كار نكردند من اين اديت ها رو در يك پنل جايگذاري كردم ؟شايد به خاطر پنله؟مي شه اينطور باشه

Felony
دوشنبه 06 دی 1389, 10:21 صبح
نمونه ضمیمه رو ببینید !

مائده 100
دوشنبه 06 دی 1389, 10:28 صبح
نمونه ضمیمه رو ببینید !
اگه چند تا اديت داشته باشيم چه جوري مي شه؟

Felony
دوشنبه 06 دی 1389, 11:12 صبح
اگه چند تا اديت داشته باشيم چه جوري مي شه؟
چیش چه جوری میشه ؟! شما مگه نمیخواستی فکوس به Edit مورد نظرت بره ، خوب رفت دیگه ...

اگر میخوای با هر بار زدن کلید Enter فکوس به Edit بعدی بره بارها تو همین بخش در موردش بحث شده .

مائده 100
دوشنبه 06 دی 1389, 11:38 صبح
اگر میخوای با هر بار زدن کلید Enter فکوس به Edit بعدی بره بارها تو همین بخش در موردش بحث شده .[/QUOTE]
جستجو كرده ام كه اين تايپكم يكي از اون تايپكهايي كه تو جستجو پيداكردم اما هيچ كدوم مشكلا حل نكرده!!!!!!!!!!!

مائده 100
سه شنبه 07 دی 1389, 14:12 عصر
اگر میخوای با هر بار زدن کلید Enter فکوس به Edit بعدی بره بارها تو همین بخش در موردش بحث شده .
من چيزي در اين مورد پيدا نكردم حداقل آدرسشو بذارين يا بگين با چه عنواني سرچ كنم مرسي

Felony
سه شنبه 07 دی 1389, 15:21 عصر
یک نمونه براتون نوشتم ، از ضمیمه دریافت کنید .