PDA

View Full Version : گفتگو: ایجاد ماکرو



ramzdar
جمعه 17 تیر 1390, 21:24 عصر
سلام دوستان

از امروز میخوام با هم همفکری کنیم و یه برنامه انجام ماکرو برای ویندوز طراحی کنیم.

فعلاً اگه در سطح ساده باشه خیلی خوبه. مثلاً کار جابجایی موس و کلیک رو در زمان مشخص انجام بده. یعنی انجام ماکرو رأس ساعتی که ما براش مشخص میکنیم.

اگه هستین بسم الله

محسن واژدی
جمعه 17 تیر 1390, 23:37 عصر
سلام علیکم
شروع کنین انشاء الله بتوانیم از تجربه های دوستان استفاده کنیم

ramzdar
شنبه 18 تیر 1390, 17:15 عصر
ایشالا که همه بچه ها همکاری کنن

returnx
شنبه 18 تیر 1390, 17:44 عصر
ایشالا که همه بچه ها همکاری کنن
همین!؟
خوب شروع کنید دیگه ، ببینیم روش کارتون به چه صورت قراره باشه اگه ما هم در حدی بودیم که بتونیم کمک کنیم ، حتما کمک می کنیم...

ali190
شنبه 18 تیر 1390, 19:19 عصر
سلام
یعنی میخواهید یه چیز تو مایه های AutoIt درست کنید؟
یاعلی

محسن واژدی
شنبه 18 تیر 1390, 22:27 عصر
سلام
سورس زیر مختصات کرسر موس را دریافت و همچنین رویدادهای موس را شبیه سازی میکند

موفق باشید

returnx
شنبه 18 تیر 1390, 23:05 عصر
با تشکر جناب mohsenvj (http://barnamenevis.org/member.php?104729-mohsenvj) بخاطر قرار دادن این سورس خوب ، کلاسی که در این سورس هست نسبتا کامله و با استفاده از اون میشه خیلی راحت با Curoser ارتباط برقرار کرد...
به طور مثال به همین راحتی میشه رو Start کلیک کرد...

m_cMouse.MoveTo 0, Screen.Height
m_cMouse.Click vbLeftButton

محسن واژدی
شنبه 18 تیر 1390, 23:25 عصر
بله، میتوانیم برای بسیاری از آبجکت های موجود در ویندوز استفاده کنیم نظیر کلیک بر روی Start که جناب ms2222 فرمودنداستتفاده کنیم، البته این سورس یک تابع کم داشت و آنهم گرفتن وضعیت فعلی کلیدهای فشرده شده موس است که آنهم با تابع GetAsyncKeyState قابل حل شدن است
انشاء الله توابع گرفتن مختصات اشیاء را هم یا بنده مینویسم و یا دوستان زحمتش را بکشند و قرار بدهند

موفق باشید

ramzdar
یک شنبه 19 تیر 1390, 11:26 صبح
خب مثل اینکه بحث کم کم داره میگیره
ببینید بهتره یه رکوردر بذاریم
یعنی تمام حرکات موس رو ذخیره کنه
بعد هر وقت که بهش گفتیم بره و با اون بانک ارتباط برقرار کنه و همه کارها رو یکی یکی انجام بده تا به مرحله آخر برسه

راستی اگه کسی کلاسی مثل کلاسی که دوست عزیزم آقا محسن قرار داده برای کیبرد داره بذاره که حتماً مورد نیازه

ramzdar
یک شنبه 19 تیر 1390, 13:17 عصر
من برنامه مادر رو نوشتم
البته در سطح خیلی مقدماتی
الان فقط حرکت موس رو شبیه سازی میکنه
فقط میمونه یه نکته اونم این که چجوری میشه رویداد کلیک رو تشخیص داد؟
مثلاً طرف یه جا کلیک میکنه ما میخوایم ببینیم کجا کلیک کرده تا برای اون مختصات، رویداد کلیک رو شبیه سازی کنیم

returnx
یک شنبه 19 تیر 1390, 13:53 عصر
خب مثل اینکه بحث کم کم داره میگیره
ببینید بهتره یه رکوردر بذاریم
یعنی تمام حرکات موس رو ذخیره کنه
بعد هر وقت که بهش گفتیم بره و با اون بانک ارتباط برقرار کنه و همه کارها رو یکی یکی انجام بده تا به مرحله آخر برسه

راستی اگه کسی کلاسی مثل کلاسی که دوست عزیزم آقا محسن قرار داده برای کیبرد داره بذاره که حتماً مورد نیازه
من اینکارو با یک فایل ترتیبی انجام دادم ، نسبتا خوب جواب داد براتون سورس رو ضمیمه کردم البته بعد هر باز Capture کردن ماوس باید فایل تولید شده رو پاک کنید تا حرکات قبلی ماوس انجام نوشه ، اگه این روش تایید شد این قسمتشم درست میکنم...
نحوه استفاده از برنامه هم مشخصه اما یکبار میگم ، اول دکمه Start رو میزنید بعد ماوس رو حرکت میدید برنامه شروع میکنه به گرفت Position های ماوس هر وقت خواستید Stop رو میزنید بعد Start Macro رو که بزنید حرکت ماوستون رو میبینید...

ramzdar
یک شنبه 19 تیر 1390, 14:56 عصر
ممنون از برنامه ای نوشتین
منم یکی نوشتم البته از بانک اطلاعاتی استفاده کردم.
مزیتش نسبت به برنامه این دوست عزیزمون اینه که نثل برنامه ایشون باگ نداره و علاوه بر ضبط حرکت موس میتونه رویداد کلیک رو هم انجام بده. البته این قسمتش یه ایراد هم داره اونم اینه که اگه دکمه چپ موس پایین باشه برنامه هر بار که کدها رو اجرا میکنه اونو به عنوان کلیک وارد بانک میکنه. یعنی MouseDown = Click.
حالا اگه یه قسمت Clicked به همون کلاس اضافه بشه که تشخیص بده کلیک صورت گرفته یا نه خیلی خوب میشه. اونوقت میشه گفت برنامه نوشته شده.
دوستان حتماً یه تست بکنید ببینید چطوره.
راستی BNG مخفف Barname Nevis Group هست و از نظر من بهترین اسم برای برنامه BNG Macro Recorder هست.

MP.C-Writer
یک شنبه 19 تیر 1390, 16:32 عصر
سلام دوستان. من خیلی تازه کارم. شاید روشی که می گم خیلی ابتدایی باشه. خودتون ببخشید

ولی می تونیم از تابع api به اسم getcursorpos استفاده کنیم و مختصات لحظه به لحظه موس بر حسب پیکسل رو داشته باشیم. بعد هر وقت که کلیک شد، آخرین مختصات تابع رو به عنوان مختصات کلیک در نظر می گیریم.

ramzdar
یک شنبه 19 تیر 1390, 16:40 عصر
ممنون دوست عزیز
ما هم دقیقاً همین کار رو انجام دادیم
اما من نمیدونم چجوری بفهمم کلیک شده. یعنی دقیقا در یه نقطه دکمه چپ فشرده و رها شده.فقط فشرده شدنش رو با API گیر آوردم

returnx
یک شنبه 19 تیر 1390, 16:58 عصر
سلام دوستان. من خیلی تازه کارم. شاید روشی که می گم خیلی ابتدایی باشه. خودتون ببخشید


مهم نیست که مبتدی هستید یا حرفه ای همین که قصد کمک داشتین ممنون ، روشی که گفتین به ذهن منم رسیده بود اما فکر کنم زمانی که کاربر Drag انجام میده دچار Bug میشه ، به هر حال بازم ممنون...

مزیتش نسبت به برنامه این دوست عزیزمون اینه که نثل برنامه ایشون باگ نداره و علاوه بر ضبط حرکت موس میتونه رویداد کلیک رو هم انجام بده. البته این قسمتش یه ایراد هم داره اونم اینه که اگه دکمه چپ موس پایین باشه برنامه هر بار که کدها رو اجرا میکنه اونو به عنوان کلیک وارد بانک میکنه. یعنی MouseDown = Click.


برنامتون رو دیدم ممنون ، خوب بود اما یک چتد تا نکته رو باید تذکر بدم:
کلا با استفاده از DB در این نوع برنامه ها مخالفم ، بخاطر بالا رفتن پیچیدگی برنامه ، بالا رفتن احتمال خطا و ... حتی من برای Save کردن username و پسورد هام در برنامه سعی میکنم از فایل استفاده کنم تا DB ...
در ضمن زمانی میرسه که شما باید چند ماکرو کاربر رو Save کنید ، که اون موقع شما برای هر ماکرو نمیتونین از یک table جدید استفاده کنید...
من نطرم این که برای ذخیره ماکرو ها از فایل استفاده بشه ، برای ذخیره آدرس محل نگه داری ماکرو مورد نظر و اسم و زمان اجرای اون از DB ستفاده بشه...
البته این نظر من بود میتونه اشتباه باشه و شما به عنوان باز کننده تاپیک اختیار دارین که از روشی صلاح میدونید برید...
همچنین Bug بر نامم رو بر طرف کردم باید متغیر Counter هر بار 0 میشد که من اینکارو نمیکردم و نیازی هم نبود فایل به صورت Append باز بشه...
در مورد Save کردن کلیک هنوز اقدامی نکردم اما یک چیزایی تو ذهنم هست...

ramzdar
یک شنبه 19 تیر 1390, 17:22 عصر
خیلی ممنون
برای اینکه کاربر بتونه چندتا ماکرو بسازه نیازی به ساختن table جدید نیست.
من یه بانک توی همون سورس گذاشتم که میشه ازش به عنوان یه دیتابیس جدید استفاده کرد. فقط کافیه مسیری که کاربر میخواد اکروی جدید رو ذخیره کنه از کاربر بگیره بعد این بانک توی اون مسیر ذخیره میشه و اطلاعات جدید وارد اون بانک میشه. بعد هم هروقت نیاز بشه کاربر میتونه از اون به عنوان منبع استفاده کنه.
نظر شما خوب بود اما من کلاً با استفاده از فایل بجای بانک مخالفم. چون کار با بانک ها ساده تره. از طرفی میشه هر کاری که بخوای سر بانک دربیاری
درسته که بانک حجمش بیشتره اما هیچ مشکلی نیست چون حجمش اونقدری نیست که قابل توجه باشه.

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

returnx
یک شنبه 19 تیر 1390, 17:39 عصر
نظر شما خوب بود اما من کلاً با استفاده از فایل بجای بانک مخالفم. چون کار با بانک ها ساده تره. از طرفی میشه هر کاری که بخوای سر بانک دربیاری

نظر من دقیقا بر عکس شماست:لبخند:
به هر حال ،

خودم گفتم که تشخیص کلیک ایراد داره و باید کلیک رو از درگ تشخیص داد اما چجوریشو نمیدونم
من درگ رو میگیرم اما می خوام اجرا کنم یکم مشکل دارم ، یعنی درگ با کلیلک فرق داره واسه ی من ...
این درگ چه داستانی شده ، تمام Menubarمن بخاطر تست درگ بهم ریخت!!:لبخند:
اگه میخواین سورس رو بزارم...

returnx
یک شنبه 19 تیر 1390, 17:55 عصر
تو API Guide دنبال یک سورس بودم که شاید بدردمون بخوره این سورس رو پیدا کردم!!
هر کی جراتش داره تست کنه...
البته یادتون نره تمام برنامه هاتون رو Save کنید...
هر وقت هم دیدید وضیعت دیگه خیلی داغون شده از Ctrl+Pause استفاده کنید...
در کل سورس باحالیه:


'Before you start this program, I suggest you save everything that wasn't saved yet.
PrivateDeclareSub mouse_event Lib"user32" (ByVal dwFlags AsLong, ByVal dx AsLong, ByVal dy AsLong, ByVal cButtons AsLong, ByVal dwExtraInfo AsLong)
Const MOUSEEVENTF_LEFTDOWN = &H2
Const MOUSEEVENTF_LEFTUP = &H4
Const MOUSEEVENTF_MIDDLEDOWN = &H20
Const MOUSEEVENTF_MIDDLEUP = &H40
Const MOUSEEVENTF_MOVE = &H1
Const MOUSEEVENTF_ABSOLUTE = &H8000
Const MOUSEEVENTF_RIGHTDOWN = &H8
Const MOUSEEVENTF_RIGHTUP = &H10
PrivateSub Form_Activate()
'KPD-Team 1998
'URL: http://www.allapi.net/
'E-Mail: KPDTeam@Allapi.net
Do
'Simulate a mouseclick on the cursor's position
mouse_event MOUSEEVENTF_LEFTDOWN Or MOUSEEVENTF_LEFTUP, 0&, 0&, cButt, dwEI
DoEvents
Loop
EndSub

MP.C-Writer
یک شنبه 19 تیر 1390, 18:16 عصر
مزیتش نسبت به برنامه این دوست عزیزمون اینه که نثل برنامه ایشون باگ نداره و علاوه بر ضبط حرکت موس میتونه رویداد کلیک رو هم انجام بده. البته این قسمتش یه ایراد هم داره اونم اینه که اگه دکمه چپ موس پایین باشه برنامه هر بار که کدها رو اجرا میکنه اونو به عنوان کلیک وارد بانک میکنه. یعنی MouseDown = Click.

می شه برای تشخیص درگ از کلیک این کارو انجام داد که توی موس آپ یه متغیر بولین رو true کنیم و توی موس داون همون متغیر رو false کنیم. حالا اگر این متغیر ما false باشه یعنی موس داون و اگر true باشه یعنی کلیک کامل(mousedown+mouseup)

MP.C-Writer
یک شنبه 19 تیر 1390, 18:21 عصر
البته باید این رو هم اضافه کنم که برای عملی شدن این پیشنهاد باید از یه تایمر استفاده کرد. یعنی به محض دریافت موس داون یا کلیک (که اول نمی دونیم کدوم هستش) یه تایمر با اینتروال مثلا 5 فعال بشه و دستورات توی اون نوشته بشه که اگر موس آپی اتفاق افتاده باشه قابل تشخیص باشه.

tiger333
یک شنبه 19 تیر 1390, 19:33 عصر
سلام دوستان عزیز-

بنده نیز همین برنامه رو اما در رابطه با کیبرد طراحی کردم- البته نواقصی داره مثل عدم پشتیانی کلیدهای ترکیبی فشرده شده و کلیدهای مثل شیفت و کنترل و... که اینم به خاطر این بود که با عجله نوشتم .
خواستم در حد خودم یه کمکی کرده باشم چون دیدم پروژه جالبی میشه که ادامه بدیمش.

موفق باشید.

returnx
دوشنبه 20 تیر 1390, 13:59 عصر
من تا اینجا درست کردم اگه میشه یک نگاهی کنید ، تشخیص کلیک و ثبت اون خیلی بهتر شده اما هنوز تو درگ مشکل داره بیشتر شبیه به دابل کلیک میشه:

ramzdar
سه شنبه 21 تیر 1390, 09:43 صبح
خب کس دیگه ای نمیخواد کمک کنه؟

returnx
سه شنبه 21 تیر 1390, 10:21 صبح
با رویداد کلیک این کلاس ساخت Drag غیر ممکن هست چرا !؟ به تکه کد زیر دقت کنید:

' A click = down then up
mouse_event lFlagDown Or MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0
mouse_event lFlagUp Or MOUSEEVENTF_ABSOLUTE, 0, 0, 0, 0
در هر صورت بعد از کلیک Mouse Up رخ میده برای همین درگ نمیشه حالا خط دوم رو غیر فعال کنید و یک کلیک کنید ببینید چه اتفاقی میفته...

MahmoodGH
سه شنبه 21 تیر 1390, 13:59 عصر
خب کس دیگه ای نمیخواد کمک کنه؟
بنده از امروز پی این قضیه رو میگیرم

ramzdar
سه شنبه 21 تیر 1390, 16:16 عصر
درسته که اگه خط دوم رو برداریم درگ انجام میشه اما در این صورت قابلیت کلیلک حذف میشه

ramzdar
سه شنبه 21 تیر 1390, 17:28 عصر
بچه ها فکر کنم موس رو تکمیل کردم
الان هم کلیکش درست شده هم درگش
توی کلاس یه دستکاری کردم که اگه یه نگاه بندازین میبینین چقد ضایعه
میذارمش شما هم یه تست بکنید ببینید ایرادی داره یا نه
اگه ایرادی توش نیست بریم سراغ کیبرد

ramzdar
چهارشنبه 22 تیر 1390, 14:57 عصر
نمیخواین بگین چکار کنیم؟
بریم سراغ کیبرد یا نه هنوز ایراد داره

returnx
چهارشنبه 22 تیر 1390, 15:37 عصر
نمیخواین بگین چکار کنیم؟
بریم سراغ کیبرد یا نه هنوز ایراد داره
والا پست قبلی که گذاشته بودید ، این تاپیک واسم Update نشده بود و من متوجه نشدم یک پست جدید دادید...
برنامه تست شد جواب داد...
من هم همراه شما نحوه ذخیره سازی رو فایل رو ایجاد میکنم...
تا ببینیم چی میشه...
اگه هم میخواین بریم برای ذخیره سازی کیبرد بریم...

returnx
چهارشنبه 22 تیر 1390, 16:33 عصر
البته همین الان متوجه یک مشکل دیگه هم شدم ، متاسفانه برنامه نمیتونه تفاوت دابل کلیک و درگ رو تشخیص بده...
یک بررسی کنید...

ramzdar
جمعه 24 تیر 1390, 16:56 عصر
دوست عزیز خودت نمیتونی یه فکری براش بکنی؟
من نتونستم این مشکل رو حل کنم
دوستان لطفاً بیشتر همکاری کنید

returnx
جمعه 24 تیر 1390, 19:31 عصر
دوست عزیز خودت نمیتونی یه فکری براش بکنی؟
من نتونستم این مشکل رو حل کنم
دوستان لطفاً بیشتر همکاری کنید
متا سفانه من درگیر یک پروژه دیگه ای هستم و کمتر میتونم رو این برنامه وقت بزارم ، اما سعی ام رو میکنم...
البته این پروژه ام اگه زودتر تموم شه وقت بیشتری برای این برنامه میزارم...
متاسفانه کاربرای دیگه ای در این تاپیک همکاری نمی کنند ، البته اگه جناب mohsenVj وقت میکردن که به فروم بیان قطعا تو این تاپیک کمک بیشتری میکردن ولی متاسفانه جناب mohsenVj هم این روزا به فروم نمیان....

mohandesirani
سه شنبه 28 تیر 1390, 16:37 عصر
با سلام به دوستان عزیز
وقتی این مبحثو دیدم خیلی خوشحال شدم لااقل در مورد ماکرو ها بود. پارسال بود که یکم وقت گذاشتم که برنامه ای با وی بی 6 بنویسم که بتونه از کاربرش امتحان عملی ورد اکسل و ... (icdl) رو بگیره مدتی هم روش کار کردم.با اون توی اکسل تونستم چند تا سوال رو طراحی و سیستم مقایسه رو انجام بده .اما تا یه جایی بود که کار خوب پیش رفت به بعضی از سوالا که رسیدم اصلا نتونستم طراحیش کنم یا توی کد برای تصحیحش به مشکل خوردم.از طرفی توی پاورپوینت یا اینترنت اکسپلورر یا اوتلاک یا محیط خود ویندوز که ماکرو رکوردری نداره که بتونیم باهاش ضبط و بعد مقایسه اش کنیم و خیلی مشکل دیگه. ممنون میشم از راهنمایی شما ماکرو کارای عزیز.

محسن واژدی
سه شنبه 28 تیر 1390, 16:58 عصر
سلام علیکم
برای ساختن ماکرو میتوانیم به روش های مختلفی این کار را انجام دهیم منتها اگر با یک زبان برنامه نویسی انجام شود هم حرفه ای تر و هم با امکانات بیشتری در این زمینه مواجه خواهیم بود
البته همانگونه که خودتان نیز فرمودین در برنامه هایی نظیر اکسل نیز میتوان به گونه ای این عمل را انجام داد و چون از وی بی نیز پشتیبانی میشود روند کار بهتر پیش میرود اما چون این برنامه به منظور دیگری نوشته شده است امکانات قابل قبولی را در اختیار کاربر قرار نمیدهد
انشاء الله اگر وقت اجازه دهد و مشکلی ایجاد نشود با یاری شما دوست عزیز و سایر دوستان پروژه ایجاد یک ماکروی ساده را در این تاپیک ادامه خواهیم داد

موفق باشید

ramzdar
سه شنبه 28 تیر 1390, 17:35 عصر
خب خدا رو شکر
مثل اینکه آقا محسن هم میخواد کار رو همراه ما ادامه بده
یه درخواست از شما دوستان
کسی میتونه آخرین مشکل برنامه در قسمت موس رو درست کنه؟

محسن واژدی
سه شنبه 28 تیر 1390, 18:29 عصر
سه تابع که رویدادهای RLM موس را دریافت میکنند را به سورس جناب ramzdar در پست 27 را اضافه کردم (البته چون آخرین ضمیمه را ایشون اضافه کرده اند فکر کنم کاملتر باشد)

راستی دوستان فکر میکنم بهتر باشد چند چیز را از همین الآن مشخص کنیم تا در ادامه به مشکل برخورد نکنیم:
1- از کدام روش برای ذخیره رکوردها استفاده کنیم: دستیابی ترتیبی یا بانک اطلاعاتی؟ پیشنهاد بنده این است که فرض را بر روی حداقل و ساده ترین روش یعنی دستیابی ترتیبی بگذاریم چون هم این یک پروژه ی ماکروی ساده است و هم ممکن است دوستانی تازه وارد در وی بی هم باشند که با پایگاه داده کار نکرده باشند که در این مورد به مشکل برمی خورند
2- بهتر نیست برای ذخیره و بازیابی یک کلاس بنویسیم که فقط لازم باشد یک تابع رویداد ها و گزارشات مختلف را ذخیره و تابع دیگر گزارشی را بارگذاری کند؟ فکر میکنم در اینصورت هم نظم بیشتری ایجاد شود و هم از شلوغی کار نیز کاسته شود

در مورد رویداد DblClick هم هنوز به نتیجه ای نرسیده ام امیدوارم دوستان راه حلی پیدا کرده باشند

موفق باشید

ramzdar
سه شنبه 28 تیر 1390, 19:34 عصر
خب این بهتره
اینم ادیت شده سورس قبلی که دیگه هم کلیکش جواب میده هم درگش هم دابل کلیکش
دوستان تست کنید و اگه جواب نداد یا ایرادی داشت بگین که برطرف کنیم
از جناب محسن و بقیه دوستان هم ممنونم
راستی ms2222 عزیز، لطفاً اینو برای کار با فایل ادیت کنید. من که همچنان بر کار با پایگاه پافشاری میکنم

returnx
سه شنبه 28 تیر 1390, 20:43 عصر
راستی ms2222 عزیز، لطفاً اینو برای کار با فایل ادیت کنید. من که همچنان بر کار با پایگاه پافشاری میکنم
خیلی دوست دارم کمک کنم اما متاسفانه هاردم دچار مشکل شد و الان من سیستم ندارم ، اون پروژه ام هم پرید ، همه چیز الان بهم ریخته ، من سعی میکنم یک سیستم تو این چند روز گیر بیارم و یک کمکی کنم...
اما چند نکته:(البته قبلا گفتم )
بهتره رویداد ها ی ماکرو در یک فایل ترتیبی ذخیره بشه ، نام و ادرس ماکرو در یک دیتابیس فکر میکنم اینجوری دسترسی به چند ماکرو خیلی آُسون تر میشه...
در ضمن اگه ممکن یا جناب ramzdar یا Mohsen vJ یا هر کسی که وقت داره ، اون آخرین سورس من و آخرین سورس جناب Ramzdar رو مطالعه کنند بعد از تلفیق این دو یک پروژه جدید درست کنند تا از این به بعد رو اون پروژه واحد کار کنیم تا کار منظم تر بشه...
البته بقول جناب MohsenVj اگه برای بعضی از قسمت هایی که نیاز ، کلاس ایجاد بشه ، از شلوغی کار هم کم میشه ، تغییرات هم راحت تر...
امیدوارم منم زودتر مشکلم حل بشه بتونم کمک کنم...

ramzdar
دوشنبه 03 مرداد 1390, 12:38 عصر
دوستان یکم دیگه روش کار کردم
الان تقریباً 95 درصد دقت داره. برای من که اینجوری بوده
تو ادیت قبلی کلیک و دابل کلیک( یا درگ ) رو خیلی درست تشخیص نمیداد که دیگه احتمالاً الان درست شده.
سعی کردم بهبود بدم بهش. راست کلیکش هم درست شده. شاید یه کمی دیگه کار داشته باشه که تقریباً میشه گفت یه جورایی صاف کاریشه.
شما هم تست کنید ببینید ایرادش رفع شده یا نه. یه کم هم لطف کنین فعالتر باشین.
ممنون

ramzdar
دوشنبه 10 مرداد 1390, 21:46 عصر
بچه ها این پروژه رو ول کردین؟
چرا کسی ادامه نمیده؟

m2011kh
سه شنبه 11 مرداد 1390, 08:34 صبح
من رو كار با موس هيچ چي بلد نيستم وقتي به كيبرد رسيدين من ميتونم كمك كنم شما بريد جلو منم هستم.

returnx
چهارشنبه 19 مرداد 1390, 12:01 عصر
بالاخره من مشکلاتم تقریبا حل شد و وقت آزاد بیشتری پیدا کردم ، اگه جناب Ramzdar و MohsenVJ موافق با شند این تاپیک رو ادامه بدیم...

ramzdar
چهارشنبه 19 مرداد 1390, 13:02 عصر
موافقم
ادامه بدیم
منم چندوقتی درگیر یه کاری بودم نتونستم سورس آخری که گذاشتم رو کاملتر کنم
اگه هستین پس ادامه میدیم

محسن واژدی
چهارشنبه 19 مرداد 1390, 13:25 عصر
سلام علیکم
فایلی است به نام EventVB.dll که میتواند رویدادهای مختلفی از ویندوز را رهگیری کنه، که در صورت استفاده امکانات متعددی به ماکرو میدهد
البته چون ماکرو ساده است فکر نکنم به استفاده از آن نیازمند باشیم،
فایلش رو در تاپیک زیر برای یکی از دوستان گذاشتم:
http://barnamenevis.org/showthread.php?299478-%D8%BA%DB%8C%D8%B1-%D9%81%D8%B9%D8%A7%D9%84-%DA%A9%D8%B1%D8%AF%D9%86-Alt-Shift-%D8%AF%D8%B1-Text

موفق باشید

returnx
چهارشنبه 19 مرداد 1390, 14:44 عصر
من می خوام پروژه رو از اول بازنویسی کنم تا کلا یک پروژه واحد داشته باشیم و کد ها سازمان یافته تر و بهینه تر بشه...
حالا برای اینکار اول باید بدونیم آخر به چه صورت ماکرو ها رو ذخیره کنیم !؟
با استفاده از Database یا فایل (حالا یا ترتیبی یا تصادفی)؟
من در پست های قبل نظرم گفته بودم اما یکبار دیگه میگم ، من نظر این بود که خود ماکرو در فایل ذخیره بشه ، و آدرس محل ذخیره شدن ماکرو و نام ماکرو در Database برای دسترسی راحت تر...
شما هم نظرتون رو بگید تا به یک جمع بندی کلی برسیم و پروژه رو شروع کنیم...

ramzdar
چهارشنبه 19 مرداد 1390, 15:04 عصر
از MohsenVJ خیلی ممنونم اما متأسفانه اون سورسی که گذاشتین برای کار نمیکنه. ارور 429 میده (همون اول اجرا و در هنگام بارگذاری فرم)

ms2222 عزیز! من میگم بهتره ماکرو توی دیتابیس باشه. نیازی هم به آدرس محل ذخیره ماکرو نیست چون بهتره اینجوری باشه که کاربر هرجا که خواست، دیتابیس ماکرو رو ذخیره کنه. اینجوری هر وقت خواست میتونه ماکرو رو دستی باز کنه و ازش استفاده کنه. به همین راحتی. مثلاً میره میگه این کارایی که میکنم توی درایو C ذخیره کن. برنامه هم یه دیتابیس اونجا ایجاد میکنه و تمام کارهای اون زمان رو اونجا انجام میده. بعدی رو میگه توی درایو D ذخیره کن و بعدی رو میگه دوباره توی همون درایو C و با همون اسم ذخیره کن(Overwrite کردن دیتابیس قبلی).
این نظر شخصی منه. اگه درست توضیح ندادم بگین بیشتر توضیح بدم که دقیقاً چه کاری میحوایم انجام بدیم(شیوه کار برنامه رو بیشتر توضیح بدم که ببینیم چطوره. خوبه یا بده.). در ضمن من زیاد از کار با فایل خوشم نمیاد چون کار با دیتابیس ساده تره (حداقل برای من که اینجوریه)

m2011kh
چهارشنبه 19 مرداد 1390, 15:27 عصر
به نظر من فایل بهتره.

محسن واژدی
چهارشنبه 19 مرداد 1390, 19:00 عصر
متأسفانه اون سورسی که گذاشتین برای کار نمیکنه. ارور 429 میده (همون اول اجرا و در هنگام بارگذاری فرم)

فکر کنم کامپوننت موجود هنوز ریجستر نشده است چون این خطا در این مواقع رخ میدهد، ریجسترش کنین انشاء الله برطرف میشود همچنین متدهای بسیار مفیدی دارد

در مورد ذخیره رکوردها بنظر بنده چون قصدمان ایجاد یک ماکرو ساده است ذخیره در یک فایل میتواند بهتر باشد

موفق باشید

returnx
چهارشنبه 19 مرداد 1390, 19:59 عصر
در مورد ذخیره رکوردها بنظر بنده چون قصدمان ایجاد یک ماکرو ساده است ذخیره در یک فایل میتواند بهتر باشد
بله طبق صحبتی که با جناب Ramzdar داشتم قرار شد از همون فایل استفاده کنیم که همه موافقیم...

ramzdar
یک شنبه 06 شهریور 1390, 01:52 صبح
انگار این تاپیک تخته شده. کسی نمیخواد ادامه بده؟

m2011kh
جمعه 25 شهریور 1390, 22:23 عصر
آره یکی این جا رو جون بهش بده خشک خشک شده.
تایپیک خوبی بود قدیما.

setroyd
شنبه 26 شهریور 1390, 01:52 صبح
قدیما !!!! اخه چیکارش کنیم ؟! برای کیبورد تاپیک زیاده نمیخواد دوباره وقت بزاریم !

m2011kh
شنبه 26 شهریور 1390, 10:09 صبح
خوب شما هر کاری دلت میخواد بکن تا این ماکرو تموم بشه.
درست نیست این برنامه رو که اینقدر سریع داشت پیشرفت میکرد رو همینجوری بسپورید به امان خدا.

ramzdar
شنبه 26 شهریور 1390, 10:26 صبح
حقیقتش منم خیلی دوست دارم این برنامه به نتیجه برسه ولی گویا دوستان نمیخوان همکاری کنن. اینجا باید گفتگو و همفکری بشه و بهترین گزینه برای هر حرکتی انتخاب بشه و راه حل های مناسبی ارائه بشه ولی دوستان ولش کردند.
به هر حال در صورت تمایل دوستان ادامه خواهیم داد.