زنگ

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

مقاله بر اساس آنالیز برنامه هایی که توسط توسعه دهندگان جوان گروه ما نوشته شده است.

به ترتیب صحیح ترتیب ترتیب قطعات را تغییر دهید

بسیاری از کاربران ، به ویژه کسانی که قبلاً در DOS کار می کردند ، این عادت را دارند که بین زمینه های ورودی نه با ماوس بلکه با صفحه کلید با استفاده از کلید Tab تغییر کنند. علاوه بر این ، بسیار سریعتر از انتخاب هر فیلد با ماوس است. بنابراین ، ترتیب تعویض قطعات باید به درستی تنظیم شود. این امر در مورد هر دو مؤلفه موجود در تمام اجزای کانتینر (تابلوها ، GroupBox-s و مانند آنها) ، و خود اجزای کانتینر ، در صورت وجود چندین نوع از آنها در فرم ، کاربرد دارد.

ترتیب تعویض قطعات در داخل ظرف توسط ویژگی TabOrder تنظیم شده است. مؤلفه اول فعال می شود ، با TabOrder برابر با 0 ، دومی از 1 و غیره ، تا زمانی که همه مؤلفه ها شمرده شوند. علاوه بر این ، این مؤلفه خاصیت TabStop را دارد ، که نشان می دهد آیا هنگام تعویض با کلید Tab ، مؤلفه فوکوس دریافت خواهد کرد یا خیر. اگر نیاز به ممنوعیت تبدیل به هر مؤلفه را دارید ، آن را در TabStop \u003d false تنظیم کنید. در این حالت فقط با ماوس می توانید به این مؤلفه تغییر دهید.

مواقعی وجود دارد که کاربرانی که به تعویض یک کلید خاص در یک برنامه عادت دارند ، به حالت عادت ، در بقیه موارد همچنان از آن استفاده می کنند. اغلب این اتفاق در مورد کاربران 1C رخ می دهد ، جایی که می توان از کلید Enter برای حرکت در قسمت های ورودی استفاده کرد. خوب ، اگر از آنها سؤال كنند ، در برنامه های خود چنین امكانی به ما می دهیم. ویژگی KeyPreview فرم را روی درست تنظیم کرده و کنترل کننده رویداد OnKeyPress را بنویسید:

رویه TForm1.FormKeyPress (فرستنده: TObject؛ کلید اصلی: Char)؛
شروع
اگر دستور (کلید) \u003d vk_Return پس از آن
Form1.SelectNext (PriemForm.ActiveControl ، درست ، صحیح)؛
پایان؛

چنین دستی وقتی با فشار دادن Enter ، عنصر فرم را تغییر می دهد. لازم به ذکر است که این روش با دکمه ها کار نمی کند ، زیرا فشار دادن Enter روی دکمه باعث فشار آن می شود ، در حالی که فشار دادن Tab فوکوس ورودی را به دنباله بعدی در توالی سوئیچینگ تبدیل می کند.

دکمه های پیش فرض

همه همین کاربران به سرعت عادت می کنند که در دیالوگ های برنامه ، به عنوان یک قاعده ، می توانید انتخاب خود را با کلید Enter تأیید کرده و با کلید Esc لغو کنید. بیایید آنها را در برنامه های خود ناامید نکنیم ، به خصوص که انجام این کار بسیار ساده است. برای یک دکمه که به Enter پاسخ می دهد ، ویژگی پیش فرض را روی true تنظیم کنید. برای دکمه ای که به Esc پاسخ می دهد ، ویژگی Cancel را درست کنید. و این همه

آره یا نه

کلیه کادرهای گفتگوی درخواست کننده اقدامات کاربر باید حداقل دارای دو دکمه باشند: عملکرد را تأیید کرده و عملکرد را لغو کنید (بله / خیر ، ذخیره / لغو و غیره). رد عملکرد می تواند با بستن پنجره با دکمه [X] در عنوان پنجره انجام شود. اگر فقط یک دکمه برای تأیید عملکرد وجود داشته باشد ، غیرقابل قبول است و برای رد آن قرار است پنجره را با دکمه [X] در هدر ببندید ، یا اصلاً امکان رد وجود ندارد. این باعث سردرگمی کاربر می شود و یک سوال منطقی ایجاد می کند: چگونه امتناع کنیم؟

همچنین آنچه را که در بالا در بند "دکمه های پیش فرض" گفته شد فراموش نکنید.

همه دیالوگ ها باید در مرکز صفحه باز شوند.

در مرکز ، و نه جایی که در حالت طراحی ایجاد شده اند. اولا ، بیشتر بصری است و دوم اینکه ، به طور خودکار مشکل وضوح صفحه نمایش های مختلف را برای کاربران مختلف برطرف می کند.

در صورت عدم کارکرد کادر گفتگو ، حالت استثنائی ایجاد می شود و در نتیجه کار کاربر ، بلافاصله در این پنجره تغییراتی در پنجره اصلی ایجاد می شود (برای مثال ، فیلتر کردن یک مجموعه داده ، بازخوانی نمودارها و غیره).

اندازه پنجره نباید از اندازه صفحه نمایش تجاوز کند

در هیچ موردی این شرم آور است که بخشی از پنجره صفحه را خزش می کند. این نیاز به وضوح صفحه نمایش کاربر بستگی ندارد ، یعنی. بهانه\u200cهایی مانند "اجازه دهید وضوح بالاتری بگذارند" عملی نیست.

تغییر اندازه صحیح از عناصر پنجره

هنگام بزرگنمایی پنجره ، در هنگام بزرگنمایی پنجره و هنگام بازگرداندن پنجره پس از حداکثر ، عناصر پنجره باید به درستی تغییر اندازه یا حرکت دهند.

همه چیز همیشه قابل مشاهده است

کاهش اندازه پنجره نباید منجر به ناپدید شدن عناصر پنجره شود و ترجیحاً نباید باعث ظهور میله های پیمایش (اسکرولر) خود پنجره شود. می توانید حداقل اندازه پنجره را به گونه ای محدود کنید که همه عناصر قابل مشاهده و در دسترس باشند. اگر امکان قرار دادن قطعات به گونه ای وجود ندارد که همه در پنجره قابل مشاهده باشند ، می توانید از بوکمارک ها (مانند PageControl) برای تقسیم مؤلفه ها به گروه استفاده کنید. ما بهانه هایی درباره وضوح صفحه نمایش نیز از دست نمی دهیم.

نکات همه جا هستند ، نکات همیشه

برای دکمه ها ، به خصوص در نوارهای ابزار (مانند ToolBar) ، باید یک اشاره تنظیم شود تا همیشه مشخص شود که چرا این دکمه یا آن لازم است.

طیف رنگ

در تمام رنگ های رنگین کمان اجزای روی فرم را رنگ نکنید. این کار چشم ها را خسته کرده و توجه کاربر را به هم می ریزد. جالب به نظر نمی رسد در هنگام لزوم جلب توجه کاربر به یک عنصر خاص یا قسمت خاصی از پنجره ، از نورپردازی استفاده می شود. به عنوان مثال ، رکوردهایی را که خطاها در آنها وجود دارد به رنگ قرمز روشن یا برعکس ، رکورد هایی که تأیید آنها با رنگ سبز روشن انجام شده ، رنگ آمیزی کنید.

نتیجه

یک روش بسیار خوب وجود دارد که به شما امکان می دهد نقص برنامه را بطور کلی و رابط بطور خاص پیدا کنید. این ساده است: خود را در جای کاربر تصور کنید و به مدت نیم ساعت سعی کنید به روشی که کار می کند کار کنید. حتی اگر کاربر شما در دسترس باشد (مثلاً کار در همان سازمان) حتی بهتر است. در این حالت ، در کنار او بنشینید بلکه به جای او باشید و سعی کنید کار خود را انجام دهید. داده ها را وارد کنید ، آن را تغییر دهید ، گزارش های نمایش دهید و غیره اگر نمی دانید چگونه این کار را به درستی انجام دهید ، از کاربر خود سوال کنید. یک یا دو عملیات از یک نوع را انجام ندهید ، همانطور که در حالت اشکال زدایی است ، اما 20-30 یا حتی بیشتر عملیات متفاوت با ترتیب دیگری. فراموش کنید که چیزی را وارد کنید یا آن را نادرست وارد کنید و ببینید چگونه برنامه نسبت به آن واکنش نشان خواهد داد. به سرعت نقاط ضعف برنامه خود را مشاهده خواهید کرد.

نویسنده مقاله کار کمیته انتخاب در دانشگاه را به صورت خودکار انجام داده و روزانه 3-4 ساعت در کمیته انتخاب برای اولین سال معرفی برنامه ، ثبت نام متقاضیان ، پر کردن اطلاعات شخصی آنها و ارائه گزارش های امتحانی به آنها می پردازد. و در زمان کار باقی مانده ، وی خطاها و کاستی ها را اصلاح کرد. باور کنید سال آینده عملاً مشکلی وجود ندارد. با معرفی ماژول پرسنل هم همینطور بود.

بنابراین ، قابلیت استفاده کاربران را به خاطر بسپارید. بگذارید کار با برنامه های شما برای آنها آسان و دلپذیر باشد.

موجود رابط کاربر پایین می آید تا از پالت کامپوننت اجزای دلفی لازم برای کار ، خدمت را انتخاب کند رابط مدیریت نیز رابط اطلاعات را نمایش داده و با طرح بعدی آنها را به فرم منتقل کنید.

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

  1. این برنامه باید به تکمیل کار کمک کند و به این کار تبدیل نشود.
  2. هنگام کار با برنامه ، کاربر نباید مانند یک احمق احساس کند.
  3. این برنامه باید کار کند تا کاربر رایانه را احمق نپندارد.
اصل اول - این به اصطلاح "شفافیت" رابط است. رابط کاربری باید بصری ، آسان برای یادگیری باشد و مشکلی برای کاربر ایجاد نکند که باید در این روند مرتفع شود. از اجزای استاندارد استفاده کنید ، بدون تزئینات غیر ضروری ، از روشهای کنترل معمول استفاده شده توسط برنامه های مشابه استفاده کنید ، و به معیارهای عملکردی خواهید رسید اصل اول.

اصل دوم در غفلت از توانایی های فکری کاربران نهفته است. از تجربه خودم می دانم که اغلب کاربران نه تنها بلد نیستند که چگونه در یک کامپیوتر کار کنند ، بلکه به سادگی می ترسند که به تنهایی کاری انجام دهند. بنابراین رابط کاربری باید تا حد امکان دوستانه باشد.
علاوه بر این ، ترس کاربران اغلب توجیه می شود ، زیرا هزینه برنامه و خود کامپیوتر را نمی توان با هزینه مقایسه کرد ، به عنوان مثال ، با تلاش های طولانی مدت بانک اطلاعاتی ایجاد شده است. به همین دلیل است که برنامه نویس هنگام ایجاد رابط کاربری ، همیشه موظف است "محافظت در برابر احمق" را در برنامه - از اقدامات نادرست و وارد کردن کاربر به داده های نادرست - وارد کند. اما برخی از برنامه نویسان بیش از حد علاقه مند به چنین محافظتی هستند ، آن را بیش از حد سرزنده می کنند ، و در نتیجه ، این برنامه شبیه معروف "قدم به چپ ، قدم به راست" فرار در نظر گرفته می شود "! و آنچه برنامه نویس به عنوان راه حلی برای مسئله ایجاد می کند ، خود شروع به ایجاد مشکلات می کند.
برای رعایت اصل دوم نیازی نیست که اجازه دهید برنامه عملکردهای کاربر را "تصحیح" کند و مشخص کند که دقیقاً چه کاری با او انجام می شود و آنها را به یک چارچوب باریک سوق می دهد. همچنین ، نباید بیش از حد از پیامهای پیامهای اطلاع رسانی ، به ویژه نکات گفتگو ، دور شود ، این کار کاربر را از کار دور می کند. و بهتر است گزینه غیرفعال کردن دهید.

اصل سوم ایجاد برنامه ای با بیشترین توانایی های "ذهنی" ممکن است. علیرغم توسعه سریع فناوری رایانه ، حتی برنامه های گسترده ای که فقط با شرط داشتن هوش مصنوعی وجود دارند ، می توانند به طور مشروط خوانده شوند. آنها با نمایش کادرهای گفتگو با سؤالات احمقانه که حتی در ساده ترین شرایط گیج کننده هستند ، در کار کاربر تداخل می کنند. در نتیجه ، کاربران در قلب خود فریاد می زنند: "خوب ، این ماشین احمق!"
شخصاً ، من از سؤالات ثابت تقریباً همه ویرایشگران متن در مورد اینکه آیا متن تغییر یافته را ذخیره می کنم ، تحریک می شوم ، گرچه متن اصلی و فعلی با یک سمبل تفاوت ندارند. بله ، من چیزی را شماره گیری کردم ، اما بعد همه چیز را برگرداندم ، واقعاً غیرممکن است! من باید بررسی کنم که آیا من چیزی را خراب نکردم یا نه.

سعی کنید به قوانین زیر پایبند باشید:

عناصر رابط استاندارد
از عناصر استاندارد برای این عنصر رابط استفاده کنید. با رعایت برنامه شما ، کاربر وقت خود را برای آشنایی با او تلف نمی کند ، اما بلافاصله کار خود را آغاز می کند - این یکی از نشانه های یک برنامه حرفه ای است.
پالت ابزار کوچک
سعی کنید از اجزای مختلف زیاد استفاده نکنید. و البته با استفاده از جایی در یک مکان یک جزء استاندارد ، در یک مورد مشابه نیز از آن استفاده کنید.
فاصله بین کنترلها
عناصر رابط را در همان فاصله بین یکدیگر قرار دهید. اجزای پراکنده به طرز وحشتناکی احساس یک محصول غیر حرفه ای را ایجاد می کنند. برعکس ، قرار دادن دقیق در فرم دکمه ها ، سوئیچ ها ، جعبه های چک و سایر اجزای سازنده رابط با دقت تأیید شده ، نشانه ای از کار با کیفیت است.
TabOrder. دستور "صحیح"
تبریز - این روشی است که با فشار دادن کلید ، مکان نما روی صفحه از طریق کنترل حرکت می کند برگه. در یک برنامه صحیح نوشته شده ، مکان نما با پیروی از منطق کار کاربر با برنامه حرکت می کند. هنگام ایجاد یک برنامه ، یک برنامه نویس غالباً مؤلفه ها را تغییر می دهد ، برخی را حذف می کند ، دیگران را نیز در صورت لزوم اضافه می کند. در نتیجه ، در برنامه پایان یافته ، مکان نما به طور تصادفی در اطراف فرم میپرد. پس از اتمام برنامه ، پیکربندی را فراموش نکنید تبریز.
انتخاب قلم
فونت ها فقط به حال خود رها می شوند. قلم های پیش فرض دلفی برای هر سیستمی که برنامه شما قادر به اجرای آن باشد ، مناسب هستند. فقط برای برجسته کردن عناصر مهم ، جسورانه استفاده کنید. برنامه کاربردی است ایتالیایی و خصوصاً تأکیداینکه کاربر می تواند برای پیوند لینک استفاده کند ، طعم بدی است.
انتخاب رنگ
در مورد رنگ عناصر رابط و همچنین در مورد فونت ها ، بهتر است بصورت پیش فرض آنها را استاندارد بگذارید. دلفی از پالت سیستم ویندوز استفاده می کند و کاربر با تغییر آن ، به راحتی رنگ ها را برای خود تنظیم می کند.
مدیریت جایگزین
یک برنامه ساخته شده حرفه ای باید قادر باشد نه تنها با ماوس بلکه از صفحه کلید کنترل شود. نباید توابع فقط با اجرای ماوس قابل دسترسی باشند (طراحی در ویرایشگرهای گرافیکی حساب نمی شود!) برای بیشترین کارکردها ، برای دسترسی سریع آنها باید "کلیدهای داغ" را تهیه کنید.
آجرهای رابط
در مورد عناصر خاص رابط کاربری ، کیفیت تعامل کاربر با برنامه به این بستگی دارد: و اکنون می خواهم نشان دهم که دلفی چه ابزارهایی را برای مدیریت مؤلفه های موجود در فرم ، موقعیت نسبی و رفتار نشانگر در هنگام فشار دادن یک کلید ارائه می دهد برگه.

برای این که ابتدا قطعات را به ترتیب صحیح نسبت به یکدیگر مرتب کنید شما باید آنها را برجسته کنید. به سادگی می توانید ماوس را بر روی منطقه که روی اجزای انتخاب شده قرار دارد ، بکشید. یا با نگه داشتن " تغییر مکان"، هر مؤلفه ای را انتخاب کنید با همان ماوس نشان دهید. با کلیک بر روی مؤلفه انتخاب شده (هنگام فشردن") تغییر مکان") انتخاب را از آن حذف می کند.

مؤلفه های منتخب را می توان به عنوان یک کل مدیریت کرد - در اطراف فرم حرکت کنید ، مقادیر را به همان خصوصیات اختصاص دهید ، کپی کنید (برای نصب ، به عنوان مثال ، به یک فرم دیگر) ، حتی حذف کنید.

اکنون بر روی یکی از مؤلفه ها کلیک راست کرده و از فهرست "pop-up" را انتخاب کنید موقعیت -\u003e تراز ... کادر محاوره ای ظاهر می شود ، به شما امکان می دهد موقعیت اجزای موجود در گروه را به صورت افقی و عمودی تنظیم کنید. به عنوان مثال ، ما باید چهار دکمه خود را به سمت چپ تراز کنیم و مطمئن شویم که آنها همان فاصله عمودی یکسان را بین آنها دارند. برای انجام این کار ، دکمه های رادیویی را انتخاب کنید افقی: طرف های چپ و vertikal: فضای مساوی.

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

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

هنگام انتخاب یک مورد از فهرست کنترل -\u003e زیرمنو متشکل از دو مورد است:

  • به جلو
  • ارسال به عقب
اینها روشهای مؤلفه ای هستند که به صورت برنامه ای نیز در دسترس هستند. Button1.SendToBack دکمه را به "پس زمینه" منتقل می کند ، و Button1.BringToFront - آوردن به جبهه ". یعنی اگر یک مؤلفه در بالای دیگری قرار داشته باشد ، این روشها مکان خود را تغییر می دهند. مواردی که ممکن است در آن اعمال شود کاملاً مشهود است.

فقط برای نتیجه

مهلت های محکم

شفافیت

اجرای پروژه

پشتیبانی فنی به عنوان هدیه

برنامه نویسی ، پیشرفت های مشاوره 1C

چگونه کار می کنیم

1. ما از طریق تلفن درباره مشکل بحث می کنیم. اگر دسترسی از راه دور دارید - روی صفحه رایانه خود نشان دهید.

2. ما کار را به صورت روبل ارزیابی می کنیم ، اگر پروژه بزرگ باشد ، در غیر اینصورت ، تعداد تقریبی ساعت ها.

3. ما کارها را انجام می دهیم.

4- شما در برنامه خود کار را قبول می کنید ، اگر کاستی وجود داشته باشد ، ما آنها را اصلاح خواهیم کرد.

5. ما فاکتور شما پرداخت می کنید.

هزینه کار

1. کلیه آثار به 3 دسته تقسیم می شوند: مشاوره ، بروزرسانی یک پیکربندی استاندارد ، تهیه یا برنامه ریزی یک گزارش جدید ، پردازش ، دکمه ها و غیره.

3. برای کار بیش از 10 ساعت ، یک کار فنی با توضیحات و هزینه کار از پیش آماده شده است. کار پس از تصویب شرایط مرجع با شما شروع می شود.

پشتیبانی فنی

1. در صورت مشاهده هرگونه خطا در آثار قبلاً پذیرفته شده ، در مدت 3 ماه ، آنها را به صورت رایگان تصحیح می کنیم.

2. برای مشتریان عادی ، هرگونه نقص در کار خود را در طول سال به صورت رایگان اصلاح می کنیم.

برنامه هایی برای مدیریت شغل شما.

خرید 1C: تصدی

ما نماینده رسمی 1C هستیم ، شما می توانید محصولات و نرم افزارهای مختلف نرم افزاری را از ما خریداری کنید. علاوه بر خرید "جعبه" ، ما به شما کمک می کنیم تا برنامه را تنظیم کنید ، مشاوره کنید و تنظیمات اصلی را انجام دهید.

  • حسابداری
  • اتوماسیون فروشگاه
  • عمده فروشی
  • راهنما در مورد نصب و راه اندازی اولیه در بسته گنجانده شده است!
  • تنظیم دقیق تنظیمات به نیازهای مشتری ، ایجاد ماژولهای جدید در صورت عدم وجود توابع لازم در پیکربندی استاندارد.
حسابداری 1c 1C: مدیریت تجارت 1C: خرده فروشی 1C: حقوق و دستمزد و مدیریت منابع انسانی
از 3300 مالش. از 6700 مالش. از 3300 مالش. از 7400 مالش.

ارائه سرور.

سرور راه اندازی فوری + 1C.

سرور نیست؟ مهم نیست ، ما سرور را در ابر انتخاب و پیکربندی می کنیم. با پرداخت هزینه کم ، یک راه حل بسیار معتبر دریافت می کنید.

  • در دسترس بودن 24/7
  • دیگر نیازی به نگه داشتن سرپرست سیستم خود ندارید (صرفه جویی هزینه های سرور شما را تأمین می کند).
  • نصب سریع و نصب 1C بر روی سرور ، پس از 3 روز دیگر یک سیستم کاملاً کار خواهید داشت.
  • در هر زمان ، اگر راه حل کار نکند می توانید به سرور محلی بروید.

پیامک از 1C شما

آیا می خواهید مشتریان در مورد تبلیغات و تخفیف ها اطلاعات کسب کنند؟ مشتری ها برنمی گردند؟ ارسال پیامک را مستقیماً از 1C تنظیم کنید!

شرکت ما قادر خواهد بود در مدت زمان کوتاه ارسال پیام کوتاه به مشتریان خود را مستقیماً از 1C پیکربندی کند. نمونه هایی از رویدادهایی که می توانند خودکار شوند:

  • بلافاصله پس از خرید بعدی از خرید و جوایز تشکر می کنیم.
  • جایزه های جایزه در کارت به عنوان هدیه ای برای تولد شما به یک روز مهم یا جشن دیگر.
  • اطلاع از دریافت کالا در انبار.
  • انقضای پاداش هدیه.
  • اطلاع از دریافت پیش پرداخت و رزرو کالا.
  • آدرس با آدرس فروشگاه ، شماره تلفن.
  • و غیره.

تنظیم در 1C توسط متخصصان یا کارمندان ما قابل انجام است. می توانید در صفحه تعرفه پیامک با تعرفه ها آشنا شوید.

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

یكی از نقاط قوت محیط برنامه نویسی دلفی ، معماری باز آن است كه به لطف آن دلفی نوعی برنامه برنامه ریزی را فراهم می كند و به شما این امکان را می دهد كه "برنامه نویسی محیط برنامه نویسی" را انجام دهید. این روش دلفی را به سطح کاملاً جدیدی از سیستم های توسعه برنامه تبدیل می کند و به شما امکان می دهد ابزارهای اضافی را در این محصول قرار دهید که تقریباً تمام مراحل ایجاد سیستم های کاربردی را پشتیبانی می کند. چنین طیف وسیعی از فرصت ها به لطف مفهوم رابط های به اصطلاح باز که در دلفی اجرا می شوند ، باز می شوند که پیوند بین IDE (محیط توسعه یکپارچه توسعه) و ابزارهای خارجی است.

در این مقاله به رابط های باز دلفی پرداخته شده است و مروری بر قابلیت های آنها دارد. دلفی شش واسط باز تعریف می کند: رابط ابزار ، رابط طراحی ، رابط کاربری ، رابط پرونده ، ویرایش رابط و رابط کنترل نسخه. بعید به نظر می رسد که در چارچوب این مقاله بتوانیم به تفصیل پوشش داده و قابلیت های هر یک از آنها را نشان دهیم. کدهای منبع دلفی به شما کمک می کنند تا مسائل مورد بحث را بیشتر بفهمید ، زیرا توسعه دهندگان نظرات مفصلی را در اختیار آنها قرار دادند. اعلامیه های کلاس های نماینده رابط های باز در ماژول های مربوطه در فهرست موجود است ... \\ Delphi \\ Source \\ ToolsAPI. طراحی رابط (ماژول DsgnIntf.pas) ابزاری برای ایجاد ویرایشگرهای املاک و ویرایشگرهای مؤلفه فراهم می کند.

ویرایشگرهای ویژگی و جزء موضوعی است که شایسته بحث جداگانه است ، بنابراین ما فقط به یاد می آوریم که ویرایشگر املاک هنگام تلاش برای تغییر مقدار خاصیت مربوطه ، رفتار بازرس شی را کنترل می کند و ویرایشگر کامپوننت با دوبار کلیک کردن بر روی دکمه سمت چپ ماوس روی تصویر مؤلفه قرار داده شده در فرم فعال می شود. رابط کنترل نسخه (ماژول VCSIntf.pas) برای ایجاد سیستم های کنترل نسخه طراحی شده است. با شروع نسخه 2.0 ، Delphi از سیستم کنترل نسخه یکپارچه Intersolv PVCS پشتیبانی می کند ، بنابراین در بیشتر موارد نیازی به توسعه سیستم شخصی شما نیست. به همین دلیل ، ما همچنین از بحث رابط کاربری نسخه کنترل حذف خواهیم کرد. File Interface (ماژول FileIntf.pas) به شما امکان می دهد سیستم فایل IDE در حال کار را از نو تعریف کنید ، این امر باعث می شود روش خود را برای ذخیره سازی فایل ها انتخاب کنید (به عنوان مثال در زمینه های Memo در سرور پایگاه داده). ویرایش رابط (ماژول EditIntf.pas) امکان دسترسی به بافر کد منبع را فراهم می کند ، که به شما امکان می دهد کد را تجزیه و تحلیل کرده و آن را تولید کنید ، موقعیت مکان نما را در پنجره ویرایشگر کد تعیین کرده و تغییر دهید و همچنین کنترل نحوی متن را کنترل کنید.

کلاس های ویژه رابط هایی را برای مؤلفه های قرار داده شده در فرم (تعیین نوع مؤلفه ، بدست آوردن پیوند به مؤلفه های والدین و فرزند ، دسترسی به ویژگی ها ، گذر از تمرکز ، حذف و غیره) ، به خود فرم و فایل منبع پروژه ارائه می دهند. همچنین ویرایش رابط به شما امکان می دهد تا به اصطلاح مدولارهای مدولار را تعیین کنید که تعیین کننده واکنش نسبت به چنین حوادثی مانند تغییر متن منبع ماژول ، تغییر فرم ، تغییر نام یک مؤلفه ، صرفه جویی ، تغییر نام یا حذف یک ماژول ، تغییر پرونده منبع پروژه و غیره است. ابزار رابط (ماژول ToolIntf). pas) ابزارهایی را در اختیار برنامه نویسان قرار می دهد تا اطلاعات کلی در مورد وضعیت IDE را بدست آورند و اقداماتی مانند افتتاح ، صرفه جویی و بسته شدن پروژه ها و پرونده های فردی ، ایجاد ماژول ، دریافت اطلاعات در مورد پروژه فعلی (تعداد ماژول ها و فرم ها ، نام آنها و غیره) انجام دهند. ، ثبت نام فایل سیستم ، ساماندهی رابط ها به ماژول های فردی و غیره علاوه بر اعلان های مدولار ، ابزار واسط ابزار اعلان های اضافی را تعریف می کند که درباره رویدادهایی از قبیل باز کردن / بستن پرونده ها و پروژه ها ، بارگیری و ذخیره فایل دسک تاپ پروژه ، اضافه کردن / حذف ماژول های پروژه ، نصب / حذف بسته ها ، تدوین یک پروژه و برخلاف اعلام کننده های افزودنی ماژولار ، به شما امکان می دهد اجرای برخی رویدادها را لغو کنید.

علاوه بر این ، Tool Interface امکان دسترسی به منوی اصلی IDE Delphi را فراهم می کند و به شما امکان می دهد موارد اضافی را درون آن تعبیه کنید. The Expert Interface (ماژول ExptIntf.pas) پایه ای برای ایجاد متخصصان است - ماژول های نرم افزاری که در IDE تعبیه شده اند تا قابلیت های آن را گسترش دهند. نمونه ای از متخصص Delphi Database Form Wizard است که یک فرم برای مشاهده و تغییر محتویات جدول داده ایجاد می کند. با تعریف کلاس خبره ، باید اطمینان حاصل کنید که دلفی در مورد متخصص ما "می آموزد". برای انجام این کار ، باید با فراخوانی روش RegisterLibraryExpert ، آن را ثبت کنید و نمونه ای از کلاس خبره را به عنوان پارامتر منتقل کنید. به عنوان نمونه ، ما یک متخصص ساده به سبک esStandard ایجاد خواهیم کرد که ، هنگامی که مورد منوی مربوطه را انتخاب می کنید ، Delphi پیامی را که اجرا می کند ، نشان می دهد. همانطور که از جدول بالا مشاهده می کنید ، سبک esStandard از شما می خواهد که شش روش را نادیده بگیرید:

برای این که کارشناس از کار بیفتد ، می بایست مورد را انتخاب کنید. کامپوننت / نصب کامپوننت ... ، ماژول حاوی متخصص را در گفتگوی مرور (در مورد ما exmpl_01.pas) انتخاب کنید ، روی OK کلیک کنید ، و بعد از کامپایل کردن بسته dclusr30.dpk در منوی اصلی دلفی ، در بخش راهنما ، آیتم Simple Expert 1 باید ظاهر شود ، در صورت انتخاب ، پیام اطلاعاتی "Expert Standard filluar!" ظاهر می شود. چرا دلفی یک مورد از منوی متخصص را در بخش راهنما قرار می دهد یک راز باقی مانده است. اگر این واقعیت را دوست ندارید که مورد منو در هر کجا که دلفی باشد ، ظاهر شود و نه در جایی که می خواهید ، گزینه زیر امکان پذیر است: یک متخصص در سبک افزودنی ایجاد کنید ، که ایجاد خودکار آیتم منو را حذف می کند ، و مورد را "دستی" اضافه کنید. با استفاده از ابزارهای Interface Tool. این امر به شما امکان می دهد تا مکان مورد جدید را از طریق منوی اصلی به صورت دلخواه مشخص کنید.

برای افزودن یک مورد از منو ، از کلاس TIToolService - اساس Interface Tool - و کلاس های TIMainMenuIntf، TIMenuItemIntf استفاده کنید که رابط ها را در منوی اصلی IDE و موارد آن پیاده سازی می کنند. نمونه TIToolService ToolService هنگام تنظیم اولیه توسط خود IDE ایجاد می شود. لطفا توجه داشته باشید که مسئولیت انتشار رابط ها در منوی اصلی دلفی و موارد آن کاملاً مربوط به توسعه دهنده است. در طول راه ، ما حجم کار متخصص را کمی پیچیده خواهیم کرد: پس از فعال کردن آیتم منو ، وی اطلاعاتی در مورد نام پروژه ای که در حال حاضر در محیط باز است ارائه می دهد: در این مثال ، عملکرد AddIDEMenuItem به مرحله مرکز می انجامد و یک مورد از منو را به منوی اصلی IDE Delphi اضافه می کند. به عنوان پارامترها ، متن یک مورد از فهرست جدید ، شناسه آن ، شناسه موردی که قبل از آن آیتم جدیدی درج شده است ، نمایش نمادین کلید ، که به همراه کلید Ctrl می توانند برای دسترسی سریع به آیتم جدید استفاده شوند ، و یک کنترل کننده رویداد مربوط به انتخاب مورد جدید به آن منتقل می شود. ما یک مورد از فهرست جدید را در مقابل بخش مشاهده به بخش مشاهده اضافه کردیم.

حالا بیایید با اعلان ها آشنا شویم. نوتیفیکیشن افزودنی را تعریف کنید که زمان بسته شدن / افتتاح پروژه ها را ردیابی کرده و مطابق با آن فیلد را تنظیم می کند که نام پروژه فعال را ذخیره می کند (ما برای کوتاه بودن اجرای روش هایی که در مقایسه با مثال قبلی تغییر نکرده اند را حذف خواهیم کرد): برای اجرای آگهی دهنده ، کلاس TAddInNotifier را تعریف کردیم که نوادگان است. TIAddInNotifier ، و همپوشانی روش FileNotification. IDE هر بار که رویدادی رخ می دهد که اعلان افزودنی می تواند به آن پاسخ دهد ، IDE را فراخوانی خواهد کرد (هر رویدادی توسط ثابت مربوط به نوع TFileNotification نشان داده شده است). از قسمت Expert در کلاس TAddInNotifier برای بازخورد با کارشناس استفاده می شود (روش TAddInNotifier.FileNotification). در مخرب خبره ، آگاه شدن از طریق اعلام کننده حذف می شود ، و اعلام کننده از بین می رود. و اکنون ما استفاده از شناسه های مدولار را نشان می دهیم. بیایید یک متخصص افزودنی ایجاد کنیم که در مورد هر عمل پس انداز پرونده پروژه گزارش دهد (ما توضیح روشهایی را که از قبل می شناسیم توضیح نمی دهیم): در این مثال ، متخصص افزودنی رویدادهای مربوط به افتتاح و بسته شدن پروژه ها را نظارت می کند.

هر بار که یک پروژه افتتاح می شود ، یک اعلان مدولار مربوط به پرونده پروژه ثبت می شود. از نظر اجرای ، اعلان های مدولار شبیه به اعلان های اضافی هستند: ما کلاس TModuleNotifier را تعریف می کنیم ، که از فرزندان TIModuleNotifier است و روش های Notify و ComponentRenamed خود را نادیده می گیریم. IDE وقتی اتفاقات خاصی در رابطه با این ماژول رخ می دهد ، از روش Notify فراخوانی می کند. در این روش ، واکنش به یک رویداد خاص مشخص می شود. هنگامی که نام مؤلفه ای که بر روی فرم ماژول قرار دارد تغییر می کند ، روش ComponentRenamed گفته می شود. لطفا توجه داشته باشید که ما از این روش استفاده نمی کنیم ، اما باید آن را نادیده بگیریم ، در غیر این صورت ، هنگام تغییر نام مؤلفه ، از روش انتزاعی کلاس پایه فراخوانی می شود که منجر به پیامدهای غیرقابل پیش بینی خواهد شد.

ثبت یک اعلام کننده ماژولار کمی پیچیده تر از ثبت نام یک اعلان افزودنی است: ابتدا رابط ماژول (TIModuleInterface) را می گیریم ، و سپس با استفاده از رابط ماژول ، اعلام کننده را ثبت می کنیم. وقتی پروژه بسته شد ، ثبت نام نوتیفیکیشن مدولار برداشته می شود (دوباره با استفاده از TIModuleInterface) ، و اعلام کننده از بین می رود. در پایان ، ما نشان می دهیم که چگونه می توانید موقعیت مکان نما را در پنجره ویرایشگر کد تعیین کنید. بیایید یک متخصص را ایجاد کنیم که هنگام انتخاب آیتم منوی مناسب ، پیامی را بنویسید که حاوی نام پرونده فعال و موقعیت مکان نما در آن است (اجرای تنها روش های ضروری برای این مثال آورده شده است): برای تعیین موقعیت مکان نما ، باید دنباله زیر رابط ها را بدست آوریم: رابط مدولار (TIModuleInterface)؛ رابط ویرایشگر کد (TIEditorInterface)؛ رابط برای ارائه ماژول در پنجره ویرایشگر (TIEditView).

اگر یک پرونده با متن مبدأ (* .pas) هنگام انتخاب یک مورد از منوی متخصص فعال باشد ، پیامی حاوی نام پرونده فعال و موقعیت مکان نما فعلی در آن نمایش داده می شود. اگر پرونده غیر pas فعال باشد ، پیام نمایش داده نمی شود. برای به دست آوردن نام پرونده فعال ، از روش GetCurrentFile از کلاس TIToolService استفاده کنید. این نتیجه گیری بحث ما در مورد چگونگی استفاده از رابط های باز است. CD-ROM شامل کد منبع برای همه مثالهای فوق است. CD-ROM همچنین شامل یک مثال پیچیده تر و دقیق تر ، شامل یک متخصص برنامه افزودنی است که به کاربر اجازه می دهد تا کد منبع ماژول های دلفی را نشانه گذاری کند. راهنمای سریع برای نصب و استفاده از چوب الف مارک در پرونده bkmrks97.htm است. بنابراین ، این مقاله رابط های باز را تشریح می کند و نمونه هایی از کاربرد آنها را ارائه می دهد. بار دیگر به لطف در دسترس بودن کد منبع برای رابط های باز ، می توانید به راحتی جزئیاتی را که مورد علاقه شماست ، فهمید. ما امیدواریم که تنوع فرصت های ارائه شده توسط رابط های باز باعث ایجاد بیش از یک ایده جسورانه و مفید شود.

زنگ

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