نرم افزار آپادانا 2 (آریانگار): پیشرفت ساخت لحظه به لحظه

evil_gates

اين نيز بگذرد ...
سلام دوست عزیز و سال جدیدتون مبارک

چون تو پست های قبلی گفته بودید که این نسخه از آپادانا امکان اینکه چند تا پروژه رو همزمان با هم اجرا کنه رو داره جسارتا میخواستم برای نمایش وضعیت باز بودن پروژه ها این قالب یا چیزی شبیه به این رو پیشنهاد کنم.
 

پیوست ها

  • apadana2.JPG
    apadana2.JPG
    74.9 کیلوبایت · بازدیدها: 14

JavidX

Apadana Developer
سال جدید همگی پیشاپیش مبارک باد
سلام evil_gates عزیز :rose:
از پیشنهادتون خیلی متشکرم.

لطفا همه ی دوستان در مورد ظاهر برنامه نظر بدهند. تا اینجای برنامه:
 

پیوست ها

  • apadana2.JPG
    apadana2.JPG
    57.7 کیلوبایت · بازدیدها: 19

Free Man

کاربر متخصص مولتی مدیا بیلدر
با سلام ،



PopUp Menu Assistant
-همان منو ای که به برنامه نویس هنگام کدنویسی کمک می کند.


Gutter (Line Conter)
در کنار کدها سمت راست "شماره خط" می زند.


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

-نوار استاندارد و نوار ابزار، متحرک باشند تا کاربر بتواند آنها را به دلخواه جابجا کند

-گزینه ی Customize را در منو قرار داده تا به وسیله ی آن پنجره ای باز شود جهت تنظیم گزینه ها و نوارهای ابزار در برنامه
(اضافه ، حذف و یا تغییر مکان یک Option)

-چون این برنامه قرار است ساده تر از CodeGare و Visual Studio باشد ، پس بهتر است سایز آیکون ها را کمی بزرگتر کنید(24*24)
یا حتی بزرگتر ... کلا سعی کنید از نماد و شکل زیاد استفاده نمایید (اما منطقی و بجا)
(برای کاربر پسندتر شدن و ساده به نظر آمدن برنامه موثر می باشد)

-بیشتر سعی کنید برنامه را مانند نرم افزارهای کاربردی و کاربرپسند نمایید ، مانند Convertor ها وبرنامه های ساخت Setup و ...

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

--------------------------------------------------------------------------------------
و در انتها یک نکته ی غیر ظاهری :

برنامه را به صورت Modular و چند قسمتی ایجاد کنید.

به طور مثال قسمتی از کامپایلر در درون یک DLL و کنار EXE ی اصلی برنامه باشد ، همین طور یک DLL برای

Component های صوتی و تصویری و ...

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

بالاتر خواهید برد و هم حجم EXE ی اصلی برنامه کمتر می شود و هم سرعت اجرای این EXE بالا میرود.


اکثر برنامه های حرفه ای به این نکته کاملا عمل می کنند.


راستی در آغاز اجرای برنامه از یک Splash Form استفاده کنید و در پشت صحنه وقتی تمام اجزای برنامه لود شدن

اسپلش را حذف کنید و فرم اصلی را نمایش بدهید.


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



موفق باشید.
 

JavidX

Apadana Developer
با سلام ،



popup menu assistant
-همان منو ای که به برنامه نویس هنگام کدنویسی کمک می کند.


Gutter (line conter)
در کنار کدها سمت راست "شماره خط" می زند.


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

-نوار استاندارد و نوار ابزار، متحرک باشند تا کاربر بتواند آنها را به دلخواه جابجا کند

-گزینه ی customize را در منو قرار داده تا به وسیله ی آن پنجره ای باز شود جهت تنظیم گزینه ها و نوارهای ابزار در برنامه
(اضافه ، حذف و یا تغییر مکان یک option)

-چون این برنامه قرار است ساده تر از codegare و visual studio باشد ، پس بهتر است سایز آیکون ها را کمی بزرگتر کنید(24*24)
یا حتی بزرگتر ... کلا سعی کنید از نماد و شکل زیاد استفاده نمایید (اما منطقی و بجا)
(برای کاربر پسندتر شدن و ساده به نظر آمدن برنامه موثر می باشد)

-بیشتر سعی کنید برنامه را مانند نرم افزارهای کاربردی و کاربرپسند نمایید ، مانند convertor ها وبرنامه های ساخت setup و ...

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

--------------------------------------------------------------------------------------
و در انتها یک نکته ی غیر ظاهری :

برنامه را به صورت modular و چند قسمتی ایجاد کنید.

به طور مثال قسمتی از کامپایلر در درون یک dll و کنار exe ی اصلی برنامه باشد ، همین طور یک dll برای

component های صوتی و تصویری و ...

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

بالاتر خواهید برد و هم حجم exe ی اصلی برنامه کمتر می شود و هم سرعت اجرای این exe بالا میرود.


اکثر برنامه های حرفه ای به این نکته کاملا عمل می کنند.


راستی در آغاز اجرای برنامه از یک splash form استفاده کنید و در پشت صحنه وقتی تمام اجزای برنامه لود شدن

اسپلش را حذف کنید و فرم اصلی را نمایش بدهید.


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



موفق باشید.
آقای فرهادی
از نظرتون سپاسگزارم
امکانش هست که چند تا کامپوننت برای gui معرفی کنید تا سریعتر برنامه درست بشه؟
 

Free Man

کاربر متخصص مولتی مدیا بیلدر
با سلام ،

کامپوننت برای پنل های پیشرفته بسیار کم است .

اما TMS یک کامپوننت بسیار کامل در این زمینه ارائه نموده : لینک اینجا

موفق باشید.
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
بنده نسخه ی بتای 5 رو که بتازگی منتشر کردید رو تست کردم
همینطور مثالهاش رو نگاهی انداختم بهشون

یه چندتا نکته به نظرم رسید که بد ندیدم مطرحشون کنم

اول اینکه من از Function ها خوشم اومد و البته قابلیت Multi Threading که خیلی مفید واقع خواهد شد.
بنابراین پیشنهادهایی درمورد توابع دارم، اینکه در پنجره ی اسکریپت نویسی بشه بهشون دسترسی داشت، و نیاز نباشه اسمشون رو از اونجا کپی کرد تو پنجره ی اسکریپت نویسی
فکر کنم این مورد رو برای متغیرها هم قبلاً ذکر کردم

و اینکه بنظرم بهتره بشه برای تابع مقدار برگشتی رو هم مشخص کرد
یعنی جایی که تابع رو تعریف میکنیم بشه تعیین کرد که تابع مقدار برگشتی داشته باشه یا نه، و اگر داره مثلاً از نوع String یا Integer یا Boolean باشه...

و مثلاً بشه در اسکریپت به این شکل ازشون استفاده بشه:
کد:
If (MyFunc(Param1,Param2))
  **Do Something
End

و اگر امکانش باشه که Threadها و Functionها در زمان اجرا هم قابل ایجاد شدن باشن خیلی عالی خواهد بود.

مورد دیگه اینکه من احساس میکنم برنامه های ایجاد شده با آپادانا کمی کند هستن، مثلاً هنگام Resize فرم، احساس میشه که اینکار به نرمی انجام نمیشه
در مورد فرمها هم به همین شکل هست (در یکی از مثالها) انگار کل فرم برنامه Destroy میشه و فرم جدید ساخته و نمایش داده میشه ( تو ویندوز 7 افکتی داره که انگار پنجره میره به سمت عقب و پنجره ی جدید جاش رو میگیره)

نکته ی دیگه اینکه بنظرم بهتره در قسمت Eventها، کنار هرکدوم از رویدادها یک نشانگری باشه که نشون بده مثلاً در رویداد OnClick یک اسکریپت نوشته شده، اینجوری در پروژه های بزرگ کاربر دچار سردرگمی نمیشه

والبته یه سری چیزای دیگه که فعلاً حضور ذهن ندارم، در بررسی های بعدی اگر چیزی به ذهنم رسید مطرحش میکنم

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

ضمن اینکه نوروز و سال نو رو به تمام کاربران گرامی و محترم انجمن تبریک میگم.
 

JavidX

Apadana Developer
سلام دوستان. من هم عید رو تبریک میگم.
عجله دارم لطفا help انگلیسی رو ببینید و نظر بدید قبل از اینکه در سایت خارجی منتشرش کنم.
قسمت Compile هنوز نوشته نشده. شرمنده nevercom عزیز نظرتون رو خوندم ولی عجله دارم و بعداً بهتون پاسخ میدم نظر خوبی بود مخصوصا قسمت وین7 خیلی مهم بود.
باتشکر
 
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
- شما هنوز نحوه ی انتشار برنامتون رو بطور واضح مشخص نکردید، استفاده از عبارت Cheaper than Others کمی نامفهوم بنظر میرسه
- بنظرم بهتر هست در بخش "چرا آپادانا ؟" بطور مشخص تری به این موضوع که آپادانا درحال توسعه هست و روند توسعه ش ادامه داره اشاره کنید
این راهنما برای معرفی اجمالی مناسب هست، ولی اگر قرار باشه راهنمایی باشه که بهمراه برنامه عرضه میشه، یکسری تغییراتی نیاز داره:
- از تصاویر بیشتر استفاده کنید، بخصوص برای معرفی محیط برنامه
- سعی کنید در راهنما کدهای زیادی قرار بدید، مثلاً برای هر تابع یک کد برای نشون دادن نحوه ی استفاده هم قرار بدید.
- سعی کنید کدهایی رو که در راهنما قرار میدید رنگبندی در اون رعایت شده باشه تا واضح تر باشه
- سعی کنید در مورد مکانیزم بخش هایی از برنامه توضیحات بیشتری قرار بدید، مثلاً بخش Embedded Files اینکه چقدر قابل دسترس هست فایلها و غیره (البته توضیحاتی که ارائه دادید به نسبت شفاف بود، منظورم توضیحات تکمیلی تر برای مشخص شدن بیشتر تفاوت با MMB هست) و همچنین قابلیت Multi Threading
- در بخشی که اشاره کردید که باگ و پیشنهادها رو بهتون اطلاع بدن، بهتر هست نحوه ی ارتباط و آدرس ایمیل و غیره رو قرار بدید

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

silvercover

کاربر متخصص
معنی
Authorized by: Javid Shoaie (Nick)​

در راهنمای برنامه چی هست؟ من میدونم منظور چی هست اما...؟
 

silvercover

کاربر متخصص
گزارش مشکل:

- ستون سمت راست که حاوی اشیا هست در ابتدا دارای یک نوار خط چین دار هست برای تغییر سایز و میشه باهاش تغییر سایز رو انجام داد. اما اگر این تغییر سایز کلی باشه و ستون کاملا محو بشه برگردوندنش با موس با مشکل مواجه میشه و حتی وقتی از منوی View اقدام به بازسازیش می کنم مشکلاتی رخ میده.

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

- کادر درخواست ورود نام فرم جدید هم کماکان راست به چپ هست جهتش.


پیشنهاد:

- همانند بیلدر کاری کنید که اگر کاربر در حال کار بر روی یک پروژه سیو نشده بود، در نوار عنوان برنامه و در کنار عنوان کار یک ستاره به نشانه سیو نشدن نمایش داده بشه و به محض سیو شدن این ستاره از بین بره.
 

silvercover

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

با پیشنهادات بنده در مورد اون نوع خاص رابط کاربری که عرض کردم چه کردید؟
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
- در قسمت تنظیمات پروژه، در قسمت گزینه ی Resize بخشی رو بصورت اختیاری تعبیه کنید که کاربر بتونه حداکثر و حداقل اندازه فرم رو هنگام Resize مشخص کنه.
- در فرمهای برنامه دکمه ی Help رو تعبیه کنید تا کاربر بتونه با زدن اون دکمه به بخش مربوط به توضیحات اون فرم در راهنمای برنامه منتقل بشه
- در بین اشیاء آپادانا بنده شئ ی با کاربرد شئ Script در MMB مشاهده نکردم، بنظرم وجود این شئ خیلی ضروری هست
- دیباگر برنامه هنوز به زبان فارسی هست
- در مورد کادر دستورات که بهنگام فشردن کلیدهای Ctrl+Space ظاهر میشه، بنظرم بهتر هست که دسته بندی داشته باشه، یعنی این کادر حاوی تمامی دستورات و توابع موجود بهمراه متغیرها و توابع تعریف شده باشه که هرکدوم از این ها آیکن مخصوص بخودشون رو داشته باشن تا بشه از هم تشخیص داده بشن و همچنین شامل چند Tab باشه مثل: Commands, Functions, Variables, UDFs و All که شامل تمامی اینها میشه (مثل Visual Studio)

- بنده امروز سعی کردم تا یک تابع رو در یک Thread جداگانه ایجاد کنم و با پارامترهایی تابع رو صدا بزنم، این تابع شامل یک حلقه بود که تعدادی شئ رو از یک کلاس ایجاد میکرد
دو پارامتر به تابع ارسال میشه که اولی تعداد شئ هست (تعداد دفعات تکرار حلقه) و پارامتر دوم نام کلاس شئ هست
با هر دردسری بود موفق شدم از تابع استفاده کنم (گرچه الان که این مطلب رو مینویسم به دلایل نامعلومی دوباره موفق به راه اندازی دوباره اون تابع نشدم)، مسئله ای که بهش برخورد کردم این بود که اگه تابع در یک thread جداگانه ایجاد و اجرا میشد، عمل نمیکرد و برنامه هنگ میکرد، ولی اگر از Main Thread اجرا میشد بدرستی عمل میکرد
در کل استفاده از Threadها و UDFها کمی مشکلدار هست...

نکته ی دیگه اینکه بنظرم نیاز هست که تعدادی از توابع خروجی متفاوتی داشته باشند، مثلاً دستور download بهتر هست که یک خروجی (مثلاً بصورت آرایه) داشته باشه که بشه درصد پیشرفت رو محاسبه کرد
ضمناً بنده نتونستم از تابع ShamsiDate استفاده کنم، من این تابع رو به یک متغیر رشته ای نسبت دادم و اون متغیر رو توسط دستور Msg سعی کردم نشون بدم، اما هیچ خروجی ای دریافت نکردم (محتویات این متغیر یک رشته ی خالی بود)
 

JavidX

Apadana Developer
ضمنا اکیدا پیشنهاد میدم که گزینه ای در پنجره استارت آپ آپادانا (همون که حاوی ایجاد، بازگشایی و... هست) تعبیه کنید که اگر کسی مایل نبود در دفعات بعدی این پنجره رو ببینه بتونه انتخابش کنه.

با پیشنهادات بنده در مورد اون نوع خاص رابط کاربری که عرض کردم چه کردید؟
چشم. پیشنهاد راجع به آپادانا 2 بود؟ یه نشونی بدید من بدونم کدوم پیشنهاد رو میفرمایید.
 

JavidX

Apadana Developer
- در فرمهای برنامه دکمه ی Help رو تعبیه کنید تا کاربر بتونه با زدن اون دکمه به بخش مربوط به توضیحات اون فرم در راهنمای برنامه منتقل بشه
حتماً
- در بین اشیاء آپادانا بنده شئ ی با کاربرد شئ Script در MMB مشاهده نکردم، بنظرم وجود این شئ خیلی ضروری هست
امکانات آپادانا خیلی بهتر از Script در MMB هست! اگه کسی بخواد یه اسکریپت چندین بار اجرا بشه (مثل ScriptTimer) خیلی راحت از Timer استفاده میکنه اگه هم نخواست از توابع استفاده میکنه اینطوری سردرگم هم نمیشه.
- دیباگر برنامه هنوز به زبان فارسی هست
بله کم کم انگلیسیش میکنم
- بنده امروز سعی کردم تا یک تابع رو در یک Thread جداگانه ایجاد کنم و با پارامترهایی تابع رو صدا بزنم، این تابع شامل یک حلقه بود که تعدادی شئ رو از یک کلاس ایجاد میکرد
دو پارامتر به تابع ارسال میشه که اولی تعداد شئ هست (تعداد دفعات تکرار حلقه) و پارامتر دوم نام کلاس شئ هست
با هر دردسری بود موفق شدم از تابع استفاده کنم (گرچه الان که این مطلب رو مینویسم به دلایل نامعلومی دوباره موفق به راه اندازی دوباره اون تابع نشدم)، مسئله ای که بهش برخورد کردم این بود که اگه تابع در یک thread جداگانه ایجاد و اجرا میشد، عمل نمیکرد و برنامه هنگ میکرد، ولی اگر از Main Thread اجرا میشد بدرستی عمل میکرد
در کل استفاده از Threadها و UDFها کمی مشکلدار هست...
دلیل این است که در Help هم ذکر کرده ام. تنها دستوری که در Thread ها نمیشه اجراش کرد دستور Create هست!!
نکته ی دیگه اینکه بنظرم نیاز هست که تعدادی از توابع خروجی متفاوتی داشته باشند، مثلاً دستور download بهتر هست که یک خروجی (مثلاً بصورت آرایه) داشته باشه که بشه درصد پیشرفت رو محاسبه کرد
حق با شماست.
ضمناً بنده نتونستم از تابع ShamsiDate استفاده کنم، من این تابع رو به یک متغیر رشته ای نسبت دادم و اون متغیر رو توسط دستور Msg سعی کردم نشون بدم، اما هیچ خروجی ای دریافت نکردم (محتویات این متغیر یک رشته ی خالی بود)
اوه یه باگ دیگه! درستش میکنم! خیلی ممنون از نظرتون!
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
یه سری پیشنهاد و گزارش مشکلات:

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

- در مثال Dialogs مشخصات فرم Page 2 تغییر دادم و امکان Resize و HScroll و VScroll رو در اون فعال کردم (درحالی که این تنظیمات برای فرم اول یعنی Page1 اعمال نشده بود)، ولی وقتی پروژه رو اجرا میکردم، امکان Resize در Page 2 وجود نداشت، اما اگه Page 1 هم همین تنظیمات رو داشت، در هردو فرم این قابلیت فعال بود.

- در قسمت تنظیمات فرم گزینه ای بنام Help وجود داره، ولی با فعال کردنش دکمه ی مربوطه در Caption Bar ظاهر نشد.

- از اونجایی که اگر فرم System Menu نباشه، هیچ دکمه ای در Caption Bar نمایش داده نمیشه، بهتره با غیرفعال شدن اون گزینه، گزینه های Minimize, Maximize و Help هم غیرفعال بشن (اگر چیزی که بنده عرض کردم صحت داره)

- هر فرم Event مربوط به OnResize رو داره، ولی بنظرم بهتر هست Event مربوط به OnMinimize و OnMaximize رو در برنامه بگنجونید یا بنحوی این امکان رو برای کاربر فراهم کنید که از Maximize و Minimize شدن فرم اطلاع پیدا کنه.

- قابلیت Custom Shape کردن هر فرم رو فراموش نکنید، خیلی مهم هست؛ اگر قرار هست اینکار رو انجام بدید بهتر هست که کامل باشه یعنی اگر امکانش باشه بشه از تصاویر با Alpha Channel استفاده کرد، یعنی ظاهر فرم علاوه بر Custom Shape بودن، دارای Transparency Map هم باشه (درست مثل قابلیت Alpha Blending در SmallPlugin)

- در تنظیمات پروژه گزینه ای رو هم برای Allow only one Instance در نظر بگیرید.

- بهتر هست در هر فرم گزینه ای رو تعبیه کنید که در صورتی که بصورت Dialog نمایش داده شد، آیا تا قبل از بسته شدن Dialog فرم Parent قابل دسترسی باشه یا نه ( نه اینکه برای این قابلیت مجبور باشه فرم رو بصورت ToolBox نمایش بده)

- سعی کنید تمامی تغییراتی که میشه در هر فرم، آبجکت و تنظیمات کلی پروژه میشه داد، در هنگام اجرای برنامه و توسط کدنویسی هم قابل تغییر باشن.

- از اونجایی که هر فرم تنظیمات خاص خودش رو داره، بنظرم بهتر هست که بشه برای هر فرم آیکن خاصی رو نیز تعبیه کرد.

- در آپادانا این امکان وجود نداره که فقط یک Page (فرم) خاص رو اجرا کرد (با توجه به رویه مبتنی بر Page آپادانا در کنار رویه ی مبتنی بر فرم) و با فشردن کلید F5 کل پروژه از صفحه ی اول اجرا میشه (فرض کنید هنوز دکمه ای برای ورود به اون فرم خاص در پروژه قرار داده نشده).

- ظاهرا شئ ویدئو ی آپادانا مشکلاتی داره، چون پس از لود ویدئو برای ایجاد شئ، آبجکت بدرستی جابجا نمیشد و بعد از ایجاد این شئ در ویندوز 7 تم سیستم عامل از حالت Aero خارج شد و رفت به حالت Basic و تا زمانی که آپادانا بسته نشد به حالت سابق برنگشت !

- وجود Master Layer و Master Top Layer همانند MMB هم میتونه گزینه ی مفیدی باشه.

- امکان ارتباط با برنامه (کامپایل شده ی آپادانا) از طریق Command-Line رو هم فرهم کنید.

- قابلیت Auto Completion رو برای قسمت کدنویسی آپادانا فراهم کنید، مثلاً با نوشتن کلمه ی کلیدی For و فشردن مثلاً Space فرم کلی این عبارت ظاهر بشه، یا مثلاً عبارت شرطی If و ...

- در قسمت تنظیمات شئ Text گزینه ای وجود داره بنام Enable/Disable که با فعال یا غیرفعال کردنش هیچ تغییری احساس نمیشه.

- وجود اشیاء Menu Bar و Popup Menu با توجه به امکان استفاده از اونها در MMB درحال حاظر، ضروری بنظر میرسه.
ابزاری رو برای ایجاد این منوها در برنامه بگنجونید و در هر فرم قسمتی رو تعبیه کنید که بشه این اشیاء (منوها) رو به فرم نسبت داد.

- در آپادانا اگر فرمی از نوع Sytem Menu نباشه، دکمه ی Close هم طبعاً وجود نخواهد داشت، در این وضعیت راهی برای خروج از برنامه نیست (در حال تست عرض میکنم نه وقتی که پروژه کامپایل شد)، بهتر هست هنگامی که پروژه از طریق آپادانا اجرا میشه مثل MMB یک Popup Menu برای خروج وجود داشته باشه (گرچه بنظر میرسه در آپادانا برای اجرای هر پروژه، اون پروژه کامپایل و سپس اجرا میشه و روالش مثل MMB نیست که از طریق یک Player داخلی اجرا بشه).

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

- با اجرای برنامه فایلهای مربوط AND مربوط به پروژه های آپادانا به برنامه Associate نمیشن، حتی اگه از گزینه ی Associate for Files استفاده بشه (در ویندوز 7)

- در راهنمای برنامه ذکر کردید که تا 5 پارامتر رو میشه به هر تابع ارسال کرد که این پارامترها در حافظه با نامهای 1$ تا 5$ ذخیره میشن، بنده سعی کردم در یک کد یک متغیر با نام 1$ تعریف کنم و مقداری رو بهش نسبت بدم، در این مورد آپادانا هیچ ایرادی نگرفت و این متغیر بدرستی تعریف شد...
بنظرم بهتر هست از متغیرهای خاصی برای این پارامترها استفاده کنید که نشه در کدها اونها رو تعریف کرد و به نوعی رزرو شده باشن تا تداخلی ایجاد نشه.


ممنون از زحماتتون
امیدوارم همیشه موفق و پیروز باشید.
 

JavidX

Apadana Developer
جناب nevercom عزیز دستتون درد نکنه! نکات خیلی خوبی گفتید. (مشخصه ادم دقیقی هستین)
تعدادی از مشکلاتی که فرمودید رو همین چند روز پیش فهمیدم و حل کردم برای بتا 6 ولی اکثرش حل نشده بود.
دو مورد از چیزایی که گفتید رو متوجه نشدم این قسمت:
- بهتر هست در هر فرم گزینه ای رو تعبیه کنید که در صورتی که بصورت Dialog نمایش داده شد، آیا تا قبل از بسته شدن Dialog فرم Parent قابل دسترسی باشه یا نه ( نه اینکه برای این قابلیت مجبور باشه فرم رو بصورت ToolBox نمایش بده)
- از اونجایی که هر فرم تنظیمات خاص خودش رو داره، بنظرم بهتر هست که بشه برای هر فرم آیکن خاصی رو نیز تعبیه کرد.
یه چیز دیگه ای هم که میخوام بگم بعضی از نظرات شما که امکان جدید به برنامه اضافه میکنه میفته برای ورژن بعد مگه اینکه Design Time باشه. چیزی که بعدا در ذخیره ی فایل تاثیر داشته باشه رو (مثل اضافه کردن event جدید) شرمنده نمیتونم چون واقعا کار میبره. اما ورژن بعد از پایه با این ورژن فرق میکنه همونطوری که قبلا هم گفتم از اول دارم طراحی میکنم ولی کدهای مشابه رو کپی میکنم. سر فرصت راجع به تک تک پیشنهادات و باگها حرف میزنیم. (راستش الان عجله دارم)
اینم یه تصویر از آپادانا 2 (به محو بودن خط کش ها توجه کنید! :green:)
 

پیوست ها

  • apadana2.jpg
    apadana2.jpg
    55.3 کیلوبایت · بازدیدها: 14
آخرین ویرایش:

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
خواهش میکنم جاوید جان

- بهتر هست در هر فرم گزینه ای رو تعبیه کنید که در صورتی که بصورت Dialog نمایش داده شد، آیا تا قبل از بسته شدن Dialog فرم Parent قابل دسترسی باشه یا نه ( نه اینکه برای این قابلیت مجبور باشه فرم رو بصورت ToolBox نمایش بده)
اشتباه از بنده بود، به توابع ShowForm و ShowFormModal و تفاوتشون دقت نکرده بود، عذرخواهی بنده رو بپذیرید.
ولی باز هم بنظرم این توابع نیاز دارند که یک پارامتر اضافه که نشان دهنده ی فرم Parent هست رو داشته باشند (درصورت عدم وجود!)، چون مثلاً تو مثال Dialogs اگه فرم ToolBox رو در Page 1 نمایش بدیم (دکمه ی Set ToolBox Title) با بسته شدم فرم اصلی فرم ToolBox هم بسته میشه، اما اگه همین فرم ToolBox رو در Page 2 باز کنیم (با دکمه ی ShowToolBox) با بسته شدن فرم اصلی (Page 2) فرم ToolBox به تبع اون بسته نمیشه.
یجورایی انگار کنترل دقیقی روی فرمها وجود نداره (منظور کلی بنده رعایت رویه ی Parent و Child در فرمها هست).

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

موفق و پیروز باشید.
 

JavidX

Apadana Developer
دوستان این یه عکس از ورژن 2 وقتی که ماوس از روی صفحات عبور میکنه!! :rose:
 

پیوست ها

  • apadana2.jpg
    apadana2.jpg
    59.1 کیلوبایت · بازدیدها: 13

جدیدترین ارسال ها

بالا