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

JavidX

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

سلام به دوستان گلم
نرم افزار آپادانا 1 تموم شد. فرآیند ساخت ورژن 2 برنامه شروع شده. این برنامه قراره که به میل شما ساخته بشه! ورژن قبل هر چند بعضی از امکاناتش رو از نظرات دوستان داره ولی بازم بعضی از نظرات عملی نشد. در این برنامه هر چی زودتر نظر و پیشنهادتون رو اعلام کنید بهتره چون ممکنه پیشنهادتون بنیادین باشه و دیگه نشه کاریش کرد... نقشه هایی برای این برنامه کشیدم که الان براتون میگم. (غیر از نظراتی که دوستان دادند)
میدونید که در MMB یک شیء به اسم BitmapBTN وجود داره؛ تصمیم دارم یه چنین شیءی درست کنم که تصاویر رو با افکت نشون بده. به این معنا که شما می تونید مثلا یه دکمه درست کنید که Fade بشه با جابجا شدن ماوس روی اون.
مورد بعدی اینه که ظاهر برنامه طبق خواست شما ساخته میشه! پس هر چی زودتر با توجه به تصاویری که از برنامه میذارم نظر بدید!
امیدوارم به خواست خدا و یاری شما این برنامه به بهترین نحو ساخته بشه.

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

JavidX

Apadana Developer
دوستان یه چک بکنید ببینید تا حالاش خوبه یا نه. یه چیز دیگه هم میخواستم بگم. میدونید که اگه بخوام برای خاصیت اشیاء از propertyGrid استفاده کنم هم کار خودم راحت میشه هم کار کاربر. ولی پیدا کردن یک خاصیت اینطوری سخت میشه و اگر مثل نرم افزار DreamWeaver خواص رو پایین صفحه نشون بده بهتر نمیشه؟
 

پیوست ها

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

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
میدونید که اگه بخوام برای خاصیت اشیاء از propertyGrid استفاده کنم هم کار خودم راحت میشه هم کار کاربر. ولی پیدا کردن یک خاصیت اینطوری سخت میشه و اگر مثل نرم افزار DreamWeaver خواص رو پایین صفحه نشون بده بهتر نمیشه؟
منظورتون رو درست متوجه نشدم ، ولی اگر منظورتون این هست که پیدا کردن یک شئ برای نمایش تنضیمات کار سختی هست که اشتباه میکنید ، تو دلفی 2010 شئ جدیدی با نام ValueListEditor اضافه شده که میتونید باهاش دقیقا یک چیز مثل Object Inspector در دلفی پیاده سازی کنید ، مطمئن نیستم ولی فکر کنم این شئ در دلفی 2009 وجود نداشته باشه .
 

JavidX

Apadana Developer
منظورتون رو درست متوجه نشدم ، ولی اگر منظورتون این هست که پیدا کردن یک شئ برای نمایش تنضیمات کار سختی هست که اشتباه میکنید ، تو دلفی 2010 شئ جدیدی با نام ValueListEditor اضافه شده که میتونید باهاش دقیقا یک چیز مثل Object Inspector در دلفی پیاده سازی کنید ، مطمئن نیستم ولی فکر کنم این شئ در دلفی 2009 وجود نداشته باشه .
توی دلفی 2009 هم هست ولی مثل دلفی نیست اصلا دلفی خودش کلاس TInspListBox رو استفاده کرده ولی به هر حال شیءی رو که شما گفتید کارش سادست و فقط دو تا فیلد در اختیار میذاره و نمیشه CheckBox و اینها گذاشت. میشه؟! در مورد سخت بودن هم خودتون قضاوت کنید. پیدا کردن یک خاصیت توی دلفی راحت تره یا توی DreamWeaver ؟
 

JavidX

Apadana Developer
این یه عکس تا اینجای برنامه... با دقت ببینید و بگید که خوب شده یا نه
 

پیوست ها

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

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
ه و نمیشه CheckBox و اینها گذاشت. میشه؟!
میشه ولی من نمیدونم اطلاعات شما در چه حد هست ، ولی در کل در هنگام رسم این شئ میشه Checkbox رو روش رسم کرد ولی کار میبره ، در ضمن کامپونن آماده هم برای این کار هست ، تازه میتونید یه کامپوننت از کلاس TValueListEditor مشتق کنید و تغییرات دلخواه رو روش بدید و به عنوان یک کامپوننت شخصی ساز شده ازش استفاده کنید .

پیدا کردن یک خاصیت توی دلفی راحت تره یا توی DreamWeaver ؟
:wink:مقایسه دلفی و DreamWeaver مثل مقایسه لامبورگینی با زانتیا میمونه ! ، این مقایسه از پایه اشتباه هستش .
 

evil_gates

اين نيز بگذرد ...
دوست عزیز
ضمن خسته نباشید. پیشنهاد میکنم ابزارهای از یک خانواده و تقریبا شبیه به هم رو تو یک گروه قرار بدید تا هم فضای کافی برای ارائه سایر ابزارها داشته باشید و هم محیط برنامه شلوغ نشه.

-------------
میشه برای ابزارهای نوار ابزار اصلی که از هر ابزار دو تا آیکن (مثل آیکن دیسکت و آیکن ضربدر قرمز) گذاشتید یک tooltip هم تو تصویر بزارید تا مشخص کنه هر ابزار چه نقشی داره؟


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

پیوست ها

  • pic.jpg
    pic.jpg
    23.5 کیلوبایت · بازدیدها: 12
آخرین ویرایش:

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
برای چی اشیاء رو به 2 بخش Normal و Win تقسیم کردید ؟ فکر نمیکنم نیازی باشه ، مگه چقدر پیچیدگی نرم افزار شما زیاده ؟
 

evil_gates

اين نيز بگذرد ...
دوست عزیز

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

حتما این خاصیت رو تو نرم افزارهایی مثل FrontPage یا Dreamweaver دیدید که کاربر میتونه حالت نمایش صفحه خودش رو به صورت Design - Code یا Split تغییر بده.

میخواستم پیشنهاد کنم قابلیت نمایش در حالت Design و Splite رو برای آپادانا هم طراحی کنید به شکلی که کاربر در حالت split بتونه با انتخاب اشیا در صحنه کدهاشون رو هم ببینه و اصلاح کنه.

این کار به سرعت دیباگ کردن برنامه کاربران کمک میکنه.

:rose:
 

پیوست ها

  • 1.jpg
    1.jpg
    212.5 کیلوبایت · بازدیدها: 57
  • 2.jpg
    2.jpg
    248.2 کیلوبایت · بازدیدها: 58

JavidX

Apadana Developer
میشه ولی من نمیدونم اطلاعات شما در چه حد هست ، ولی در کل در هنگام رسم این شئ میشه Checkbox رو روش رسم کرد ولی کار میبره ، در ضمن کامپونن آماده هم برای این کار هست ، تازه میتونید یه کامپوننت از کلاس TValueListEditor مشتق کنید و تغییرات دلخواه رو روش بدید و به عنوان یک کامپوننت شخصی ساز شده ازش استفاده کنید .


:wink:مقایسه دلفی و DreamWeaver مثل مقایسه لامبورگینی با زانتیا میمونه ! ، این مقایسه از پایه اشتباه هستش .
عزیز دل من کی دلفی رو با دریم ویور مقایسه کردم؟! اصلا ربطی به هم ندارن! :shock: من قسمت تنظیمات Element ها یا اشیاء رو گفتم! تصویر پیوست رو ببینید!
دوست عزیز
ضمن خسته نباشید. پیشنهاد میکنم ابزارهای از یک خانواده و تقریبا شبیه به هم رو تو یک گروه قرار بدید تا هم فضای کافی برای ارائه سایر ابزارها داشته باشید و هم محیط برنامه شلوغ نشه.

-------------
میشه برای ابزارهای نوار ابزار اصلی که از هر ابزار دو تا آیکن (مثل آیکن دیسکت و آیکن ضربدر قرمز) گذاشتید یک tooltip هم تو تصویر بزارید تا مشخص کنه هر ابزار چه نقشی داره؟


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

برای چی اشیاء رو به 2 بخش Normal و Win تقسیم کردید ؟ فکر نمیکنم نیازی باشه ، مگه چقدر پیچیدگی نرم افزار شما زیاده ؟
عزیز به نظرم وجود اشیاء ویندوز یه امر ضروریه و نمیشه ازش به راحتی چشم پوشی کرد چون مسلما اکثر کاربران دوست دارند حتی اگه یه پلیر یا یه همچین چیزی طراحی کردن حداقل یه فرم مستقل طراحی کنند که مثلا قسمت تنظیمات برنامشون باشه و اونجا شاید دوست داشته باشن از دکمه های ویندوز و ادیت باکس ها و کلا کنترل های ویندوز استفاده کنند! و از طرف دیگه تصمیم دارم یک شیء WinEdit درست کنم و یک شیء Edit . فرقشون اینه که WinEdit همون TEdit خودمونه و Edit رو که یک Control هست (WinControl نیست) رو مثل mmb که سازندش خودش طراحی کرده درست کنم تا کاربران بتونن حالت مناسبتری به برنامشون بدن. و در این صورت حتی میتونن نوشته رو روی شی Edit بیارن و... حالا به نظرتون راه دیگه ای برام میمونه به جز تقسیم کردن لیست به دو بخش؟!
موفق باشید
 

پیوست ها

  • dream.JPG
    dream.JPG
    28.3 کیلوبایت · بازدیدها: 24

Silver Soft

کاربر متخصص مولتی مدیا بیلدر
من قسمت تنظیمات Element ها یا اشیاء رو گفتم! تصویر پیوست رو ببینید!
من هم همون رو گفتم ، دلفی ، دلفی هست و DreamWeaver هم چیز دیگه ...

عزیز به نظرم وجود اشیاء ویندوز یه امر ضروریه و نمیشه ازش به راحتی چشم پوشی کرد چون مسلما اکثر کاربران دوست دارند حتی اگه یه پلیر یا یه همچین چیزی طراحی کردن حداقل یه فرم مستقل طراحی کنند که مثلا قسمت تنظیمات برنامشون باشه و اونجا شاید دوست داشته باشن از دکمه های ویندوز و ادیت باکس ها و کلا کنترل های ویندوز استفاده کنند! و از طرف دیگه تصمیم دارم یک شیء WinEdit درست کنم و یک شیء Edit . فرقشون اینه که WinEdit همون TEdit خودمونه و Edit رو که یک Control هست (WinControl نیست) رو مثل mmb که سازندش خودش طراحی کرده درست کنم تا کاربران بتونن حالت مناسبتری به برنامشون بدن. و در این صورت حتی میتونن نوشته رو روی شی Edit بیارن و... حالا به نظرتون راه دیگه ای برام میمونه به جز تقسیم کردن لیست به دو بخش؟!
مگه کل اشیاء که طراحی کردید چند تا هستن ؟ باز هم میگم جالب نیست برای 20 یا 30 تا شی تقسیم برندی انجام بشه ، یا اشیاء روبا نام تفکیک کنید مثلا Aria Edit و Win Edit یا اگر هم میخواین تفکیک کنید با یک GroupBox این کار رو بکنید که 2 انتخاب به کاربر بده ، یکی Aria Controls و دیگری Win Controls .

موفق باشید .
 

JavidX

Apadana Developer
مگه کل اشیاء که طراحی کردید چند تا هستن ؟ باز هم میگم جالب نیست برای 20 یا 30 تا شی تقسیم برندی انجام بشه ، یا اشیاء روبا نام تفکیک کنید مثلا Aria Edit و Win Edit یا اگر هم میخواین تفکیک کنید با یک GroupBox این کار رو بکنید که 2 انتخاب به کاربر بده ، یکی Aria Controls و دیگری Win Controls .

موفق باشید .
باشه تقسیم بندی اشیاء رو رعایت میکنم طوری که کاربر هم راحت باشه
دوست عزیز

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

حتما این خاصیت رو تو نرم افزارهایی مثل FrontPage یا Dreamweaver دیدید که کاربر میتونه حالت نمایش صفحه خودش رو به صورت Design - Code یا Split تغییر بده.

میخواستم پیشنهاد کنم قابلیت نمایش در حالت Design و Splite رو برای آپادانا هم طراحی کنید به شکلی که کاربر در حالت split بتونه با انتخاب اشیا در صحنه کدهاشون رو هم ببینه و اصلاح کنه.

این کار به سرعت دیباگ کردن برنامه کاربران کمک میکنه.

:rose:
چشم دوست خوبم حتما این کار رو هم انجام میدم.
ممنون از نظرات تمام دوستان :rose:
موفق باشید
 

evil_gates

اين نيز بگذرد ...
.... میشه برای ابزارهای نوار ابزار اصلی که از هر ابزار دو تا آیکن (مثل آیکن دیسکت و آیکن ضربدر قرمز) گذاشتید یک tooltip هم تو تصویر بزارید تا مشخص کنه هر ابزار چه نقشی داره؟...
دوست عزیز

منظور من گذاشتن یک توضیح کوچک مثل tooltip برای آیکن هاتون تو همین تصاویری که برای نظرسنجی قرار میدید هست. شما یک تصویر از محیط برنامه قرار دادید که شامل دوتا آیکن شبیه به هم هست (مثلا اون ضربدر قرمز) بدون هیچ توضیحی که هر آیکن برای چی استفاده میشه و چه کاربردی داره. و دوستانی هم تصاویر برنامه رو میبینن نمیتونن منظورتون از کاربرد کلیدها دقیقا درک کنن.

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

موفق باشید
 

JavidX

Apadana Developer
دوست عزیز

منظور من گذاشتن یک توضیح کوچک مثل tooltip برای آیکن هاتون تو همین تصاویری که برای نظرسنجی قرار میدید هست. شما یک تصویر از محیط برنامه قرار دادید که شامل دوتا آیکن شبیه به هم هست (مثلا اون ضربدر قرمز) بدون هیچ توضیحی که هر آیکن برای چی استفاده میشه و چه کاربردی داره. و دوستانی هم تصاویر برنامه رو میبینن نمیتونن منظورتون از کاربرد کلیدها دقیقا درک کنن.

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

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

silvercover

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

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

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

l9zeyficqcqpj3znlcs.png


tvvm33pciahcaz1lr296.png
 

nevercom

کاربر متخصص انجمن مولتی مدیا بیلدر
دوستان در مورد اینترفیس برنامه نظراتی دادن، من هم یک پیشنهاد برای بخش کدنویسی دارم، البته اگر قبلاً گنجانده نشده باشه:

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

در آخرین نسخه ی بتا یک دکمه در بخش اسکریپت نویسی وجود داشت که توابع رو لیست میکرد، بنظرم اگر در کنار این مورد، بتونبد مثل MMB یک دسته بندی دیگه (که در MMB از طریق منوی راست کلیک قابل دسترسی هست) رو فراهم کنید بسیار عالی خواهد بود، و همچنین بشه که با انتخاب تابع (در این دسته بندی جدید)، تابع بهمراه تمام مقادیر ورودی و خروجی در قسمت اسکریپت نویسی ظاهر بشه، که کاربر راحت تر بتونه از نوع خروجی و ورودی های تابع موردنظر مطلع بشه (و نیاز نباشه مثلاً به راهنمای برنامه مراجعه کنه)
مثلاً در قسمت اسکریپت نویسی MMB اگر از منوی راست کلیک این مسیر رو دنبال کنید:
Predefiend functions => Strings => StrToLine
تابع StrToLine به شکل کامل در قسمت اسکریپت نویسی ظاهر میشه که کاربر رو در ورودی های تابع و نوعشون راهنمایی میکنه:
کد:
StrToLine(filename$,string$,toline,overwrite)
حالا این تابع یک خروجی از نوع Integer هم داره که در سبک اسکریپت نویسی MMB برای اینکه مشکل نحوی وجود نداشته باشه باید به شکل زیر استفاده بشه:
کد:
Output = StrToLine(filename$,string$,toline,overwrite)
همچین امکانی میتونه هم برای کاربران مبتدی و هم برای کاربران حرفه ای تر ابزار مناسبی باشه
 

JavidX

Apadana Developer
پیشنهاداتی به جاوید عزیز برای واسط کاربری برنامه:

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

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

l9zeyficqcqpj3znlcs.png


tvvm33pciahcaz1lr296.png
حامد جان تصویری که قرار دادی خیلی جذاب بود. خودتون درست کردید یا از یک برنامه هست؟ اگر اینطوره لسم برنامه چیه؟ خیلی خوب طراحی شده. اگه کار خودتون باشه خیلی بهتر میشه چون خیلی کنجکاو شدم بدونم که از چه کامپوننت هایی استفاده شده. احتمالاً یکیش dxBar هست.
دوستان در مورد اینترفیس برنامه نظراتی دادن، من هم یک پیشنهاد برای بخش کدنویسی دارم، البته اگر قبلاً گنجانده نشده باشه:

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

در آخرین نسخه ی بتا یک دکمه در بخش اسکریپت نویسی وجود داشت که توابع رو لیست میکرد، بنظرم اگر در کنار این مورد، بتونبد مثل MMB یک دسته بندی دیگه (که در MMB از طریق منوی راست کلیک قابل دسترسی هست) رو فراهم کنید بسیار عالی خواهد بود، و همچنین بشه که با انتخاب تابع (در این دسته بندی جدید)، تابع بهمراه تمام مقادیر ورودی و خروجی در قسمت اسکریپت نویسی ظاهر بشه، که کاربر راحت تر بتونه از نوع خروجی و ورودی های تابع موردنظر مطلع بشه (و نیاز نباشه مثلاً به راهنمای برنامه مراجعه کنه)
مثلاً در قسمت اسکریپت نویسی MMB اگر از منوی راست کلیک این مسیر رو دنبال کنید:
Predefiend functions => Strings => StrToLine
تابع StrToLine به شکل کامل در قسمت اسکریپت نویسی ظاهر میشه که کاربر رو در ورودی های تابع و نوعشون راهنمایی میکنه:
کد:
StrToLine(filename$,string$,toline,overwrite)
حالا این تابع یک خروجی از نوع Integer هم داره که در سبک اسکریپت نویسی MMB برای اینکه مشکل نحوی وجود نداشته باشه باید به شکل زیر استفاده بشه:
کد:
Output = StrToLine(filename$,string$,toline,overwrite)
همچین امکانی میتونه هم برای کاربران مبتدی و هم برای کاربران حرفه ای تر ابزار مناسبی باشه
nevercom عزیز در مورد راست کلیک این کار رو انجام میدم. در مورد اینکه ورودی ها رو نشون بده این کار رو میکنه! به محض اینکه شما پرانتز کد رو باز کردید ورودی ها رو خیلی بهتر از MMB نشون میده چون دیگه نیازی به پاک کردن و دوباره نوشتن محتویات ورودی ها نیست.
از پیشنهاداتت هر دو عزیز خیلی ممنونم. :rose:
 

JavidX

Apadana Developer
سلام دوستان
با خون دل این رو درست کردم ببینید بهتر شده یا نه. اول بار کامپوننت های DevExpressرو دانلود کردم با کلی مکافات، بعد نصب کردم و دیدم اصلا به کارمون نمیاد! مجبور شدم خودم همش رو نوشتم. بد نشد. مشکل کند شدنش رو Win7 هم حل شد! البته اون Tab Control بالای صفحه رو که نوشته شده روش Page 1 رو با DevExpress درست کردم. (به قسمت ایجاد شیء هم توجه کنید)
 

پیوست ها

  • apadana2.JPG
    apadana2.JPG
    57.4 کیلوبایت · بازدیدها: 24
آخرین ویرایش:

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

بالا