-
نقل قول: یا بی خیال VB6 بشید یا ...
به جای این پست های الکی هر کدومتون یه تابع اسمبلی رو قبول می کردین نصف کار کامپایلر حل شده بود چرا الکی شور میدید نمیخواید کار کنید بگید آقا ما نیستیم الکی جو سازی نکنید اصلا ما سه نفر میخوایم یه چیزی درست کنیم که دوست داریم هر کی پایس بسم الله هر کی نمی خواد صدق الله .... واسلام .
-
نقل قول: یا بی خیال VB6 بشید یا ...
m.4.r.m جان واقعا راست می گی...
اگه این حرفه ای ها به جاش می اومدن نفری یه Type رو تو Assembly پیاده سازی می کردن کار بهتر پیش می رفت و الان ما رفته بودیم سراغ مسائل دیگه...
یعنی حداقل جلبک کاربردش اینه که می تونه یه اسم فانتزی واسه زبان برنامه نویسیت باشه!!!
-
نقل قول: یا بی خیال VB6 بشید یا ...
گزارش کار:
۱. این توابع هم پیاده سازی شده:
internal._cvt >> برای round کردن float با دادن تعداد ارقام اعشاری
internal._itoa >> تبدیل integer به string
internal._memcpy_fast >> کپی سریع حافظه که در انتساب رشته ها و متغیر ها کاربرد داره
۲. یه کد ساده ی Allocate و ReAllocate کردن حافظه هم نوشتم که بعدا قراره با روش Dynamic Allocation طول رشته هامون رو تغییر بدیم و کم و زیاد کنیم، آرایه های پویا رو پیاده سازی کنیم و ...
برای پیاده سازی آرایه ها نمی دونم دقیقا VB6 چی کار می کنه... وقتی ابعاد آرایه رو در زمان اجرا تعیین می کنی یه تابع دیگه می تونه طول آرایه رو بفهمه، حد پایین، حد بالا، حتی اگه اطلاعات ابعاد آرایه رو نداشته باشید چه طور می تونید مکان عنصر مورد نظر رو محاسبه کنید؟ یعنی در شرایطی که حتی آرایه های چند بعدی هم به صورت یه آرایه ی ۱ بعدی در نظر گرفته می شن، بدون داشتن اطلاعات ابعاد در زمان اجرا به مشکل می خوریم...
اما این روش به ذهنم رسید که بعد اول رو به صورت یه آرایه از اشاره گر ها به آرایه ای دیگه که اونا هم می تونن مثل بعد اول اشاره گر باشن و ... در نظر بگیریم... این طوری بدون داشتن اندازه ی ابعاد هم می شه به خونه ی مورد نظر رفت... ولی هم چنان یه مشکلی باقی می مونه... این که LBound و UBound رو باید بشه در زمان اجرا مشخص کرد... برای مشخص کردن اندازه ی ابعاد که فهمیدم می تونیم از تابع HeapSize کمک بگیریم... ولی برای Lbound به نظرم می شه مقدار LBound های هر بعد رو به ترتیب در انتهای آرایه ی اشاره گر ها یا داده ها در بعد اول بنویسیم. بعد برای مشخص کردن اندازه ی واقعی بعد اول می تونیم تعداد اعداد ورودی برای هر بعد رو از مقداری که به کمک HeapSize برای بعد اول دست می آریم کم کنیم... LBound هر بعد به صورت یه مقدار Integer از نوع ۳۲ بیتی مشخص می شه. تغییر نوع آرایه هم که ممکن نیست، البته اگه آرایه ای با نوع نامشخص داریم می تونیم از نوع Variant که بعدا باید پیاده سازی بشه استفاده کنیم که در واقع اون هم یه نوع مشخص هست و نباید تغییرش داد در ReDim... به خاطر این که آرایه ها می تونن ReDim بشن پس به صورت پویا با تابع HeapAlloc در بخش Heap ساخته می شن و آدرسشون تو متغیر Static مربوطشون در Data Section ریخته می شه... البته آرایه های محلی آدرسشون تو مکان مربوطشون در Stack ریخته می شه...
-
نقل قول: یا بی خیال VB6 بشید یا ...
من یک پیشنهادی برای شما دارم!!
اولا نوشتن یک کامپایلر کاری ساده نیست هر چقدر جلو تر که برید بیشتر متوجه خواهید شد!!
در واقع شما نیاز دارید که سینتکس VB6 رو زنده نگه دارید!!
من به شما پیشنهاد می کنم زبان برنامه نویسی رو روی FrameWrok Qt درست کنید تا از کتابخانه های Qt استفاده کنه اما با سینتکس VB6...
این کار چه فایده ای داره!؟
همونطور که میدونید Qt یک چارچوب کاری Cross-Platfom هست و کاملا رایگان و Open Source در نتیجه،
زبان برنامه نویسی شما Cross-Platfom خواهد شد ، Open Source خواهد شد (در صورت نیاز) این عامل باعث میشه پروژتون با سرعت بیشتری توسعه پیدا کنه...
و از همه مهم تر دیگر نیاز نیست شما در گیر مسائلی مثل Multi Threading یا کار با فایل یا شبکه بشین...
چون تمام این کتابخانه از قبل نوشته شده و آمادست و در نتیجه حجم کد نویسیتون خیلی کم خواهد شد...
اما نکته ای که اینجاست نمیتونین بگین اینکه یک زبان برنامه نویسی ساختید...
اما پروژه ی جالبی انجام خواهید داد...
در واقع چیزی شبیه PyQt که امکان میده با زبان برنامه نویسی Pythone از کتابخانه های Qt استفاده کنیم... (البته چیزی شبیه PyQt)
در واقع شما IDE خواهید ساخت که به شما کمک می کنه با سینتکس VB6 تحت FrameWork Qt بتونید کد بزنید و نرم افزارتون رو با سادگی بیشتر و سریع تر توسعه بدید...
نظرتون چیه!؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
IamOverlord
حداقل جلبک کاربردش اینه که می تونه یه اسم فانتزی واسه زبان برنامه نویسیت باشه!!!
:تشویق::تشویق: آفرین! جمله قشنگ و حکیمانه ای بود ...
درسته من فعلا وقت ندارم باهاتون همکاری کنم:ناراحت: ولی پیگیر پستتاتون تو این قسمت هستم ... هرچند که از خیلیاش چیزی نمیفهمم
(به نظرم این پست، دقیقا مصداق بارز پستهای بی محتوا و غیر کاربردی و به درد نخور باشه!:لبخند:)
-
نقل قول: یا بی خیال VB6 بشید یا ...
پست شما بوی توطئه نمی ده! همچنین پست جناب returnx...!
واقعا بالاخره یکی به جای انتقاد/پیشنهاد های تکراری، جواب داده شده و ... یه انتقاد/پیشنهاد مفید و جالب کرد!
می دونستم Qt یه Framework هست ولی تا جایی که فهمیدم، مثل این که یه کتابخونه برای ++C و البته زبان دیگه ای که بخواد ازش استفاده کنه هست؟ درست؟ و قابلیت تولید فایل های Standalone و Native رو داره؟ اگه از هر زبانی می شه از کتابخونه های Qt استفاده کرد چه طور که مثلا از DLL های مختلف استفاده می کنیم، پس نمی شه گفت زبانی که از Qt استفاده کنه حتما کامپایلر نیست؟ مگر این که کدمون رو به زبان ++C تبدیل کنیم و از طریق ++C از Qt استفاده کنیم که در این صورت Interpreter نوشتیم نه Compiler...
حالا نمی دونم اگه دوستان Qt کار توضیحات بیش تری بدن ممنون می شم...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نمیدونم باید از کجا شروع کنم تا جواباتون رو بدم ، اما بزارید اول یکم کلی تر در مورد Qt توضیح بدم شاید در بین توضیح هام به جوابتون برسید...
Qt یک فریم ورک برنامه نویسی هست که با C++ توسعه داده شده اما میشه باز چندین زبان تحتش کد نوشت ، مثلا خود ِ C++ که بهترین انتخاب هست ، Java ، Python و حتی C#!!
اما نکته ای که باید بهش دقت بشه اینکه که Qt کد محلی سیستم عامل تولید میکنه در نتیجه نیاز به ماشین مجازی برای ترجمه کد ها نیست !! و فقط کافیه کد تولید شده را به یک کامپایلر بدید...
و نکته جالب تر اینجاست که با اینکه کد محلی تولید میشه ، اما باز هم برنامه شما Cross-Platform خواهد بود و شما در واقع فقط باید چند فایل چند MB را در سیستم مقصد انتقال بدید ، بر خلاف .net که باید کل .net چند صد MB را در سیستم مقصد نصب کنید...
در واقع خود Qt یکسری فایل سرایند و کتابخانه ها و کلاس های نوشته شده به زبان C++ هست و کامپایلر خاصی نداره ، اما کد هایی که نوشتید رو میتونید با یک کامپایلر ، کامپایل کنید مثل gcc یا حتی MSVC (Microsoft Visual C) ...
کدی که تحت Qt مینویسید خیلی سادست دقیقا مثل کدی که در فریم ورک دات نت مینویسید با کمی تفاوت برای مثال:
voidMainWindow::on_pushButton_clicked()
{
//QDialogi_dialog;
QStringext_list="*.txt;*.log";
QStringfile_address=QFileDialog::getOpenFileName(this,"OpenFile",QDir::currentPath(),ext_list);
ui->lineEdit->setText(file_address);
if(!file_address.isEmpty())
{
QFilei_file(file_address);
i_file.open(QIODevice::ReadOnly);
QTextStreami_read_stream(&i_file);
ui->textEdit->setText(i_read_stream.readAll());
i_file.close();
\
}
با چند خط بالا می تونید محتویات یک فایل را بخوانید (البته فایل سرایند ، کلاس QFile بالا فراخوانی شده)...در واقع چیزی که شما نیاز خواهید داشت یک کامپایلر VB هست (که نمونه آمادشم اگه اشتباه نکنم میشه گیر آورد) اما اگر هم نشد میشه کد تون رو به C++ ترجمه کنید و بقیه کار را بسپارید به کامپایلر C++ و Qt...
اگر یادتان باشد ، چند سال قبل پروژه ای به اسم فارسی دات نت انجام شده بود که دقیقا یک همچین کاری می کرد یعنی کدتون رو به فارسی می نوشتید و یک لایه کد را به C# تبدیل می کرد و بعد هم کامپایل!!(ولی این پروژه خیلی موفق نبود!!)
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوست عزیز...
نقل قول:
اما نکته ای که باید بهش دقت بشه اینکه که Qt کد محلی سیستم عامل تولید میکنه در نتیجه نیاز به ماشین مجازی برای ترجمه کد ها نیست !! و فقط کافیه کد تولید شده را به یک کامپایلر بدید...
و نکته جالب تر اینجاست که با اینکه کد محلی تولید میشه ، اما باز هم برنامه شما Cross-Platform خواهد بود و شما در واقع فقط باید چند فایل چند MB را در سیستم مقصد انتقال بدید ، بر خلاف .net که باید کل .net چند صد MB را در سیستم مقصد نصب کنید...
این قسمت خیلی به دردم خورد... پس با این اوصاف همچنان می تونیم با استفاده از FASM از DLL های Qt استفاده کنیم؟
این تاپیک رو نگاه کنید: Qt & fasm
نظرتون چیه که کد اسمبلی رو تولید کنیم مثل قبل ولی از DLL های Qt استفاده کنیم؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
به نظر من اگر کاری میکنین هم باید Native باشه و هم قابل پیاده سازی در JVM و CLI
مثل جاوا
تو لینوکس میتونی کاملا کامپایلش کنی
رو JVM هم هست اصلش
به لطف مایکروسافت نسخه CLI هم داره
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
پس با این اوصاف همچنان می تونیم با استفاده از FASM از DLL های Qt استفاده کنیم؟
به دلیل اینکه خیلی رو Assembely کار نکردم ، در این مورد اطلاعات خاصی ندارم...
نقل قول:
نظرتون چیه که کد اسمبلی رو تولید کنیم مثل قبل ولی از DLL های Qt استفاده کنیم؟
فکر می کنم اینطوری کار سخت تر بشه ، فکر کنم اگر کد C++ تولید کنیم و با کامپایلری مثل Mingw کامپایل کنید راحت تر باشه...
من چون ، خیلی رو مسائل مثل کامپایلر نویسی و برنامه نویسی سطح پایین تسلط ندارم ، ترجیح میدم تصمیم گیری را به عهده خودتون بزارم...
-
1 ضمیمه
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوست عزیز!
اگه از FASM استفاده کنیم همون برنامه های ++C رو همچنان می تونیم به زبان Assembly و برای Platform های مختلف بنویسیم.
در هر Platform ای از Qt می تونیم کمک بگیریم تا خیلی جاها کار راحت تر شه.
به عنوان مثال نمونه برنامه ای که از Qt استفاده می کنه و با FASM نوشته شده رو ضمیمه کردم. توجه کنید که DLL های Qt رو اگه ندارید می تونید به صورت جداگانه دانلود کنید و در کنار فایل exe بذارید.
این mingw که DLL اش هم هست چیه؟ ضمنا منبع خوبی هست که بتونیم در مورد توابع داخل DLL های Qt ازش مطلب استخراج کنیم؟ یه چیزی شبیه MSDN که در مورد API های Windows توضیح می ده...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
mr AHR
به نظر من اگر کاری میکنین هم باید Native باشه و هم قابل پیاده سازی در JVM و CLI
مثل جاوا
تو لینوکس میتونی کاملا کامپایلش کنی
رو JVM هم هست اصلش
به لطف مایکروسافت نسخه CLI هم داره
سلام دوست عزیز...
می خوایم Native باشه ولی در مورد پیاده سازی در JVM و CLI نمی دونم...
اگه مسئله ی Cross-Platform بودن هست، می شه در آینده برای Platform های مختلف فایل اجرایی تولید کرد...
ولی فعلا اول برای Windows تولید می کنیم...
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام من کاربر جدیدم و تازه وارد دنیای برنامه نویسی شدم درسته که چیز زیادی بلد نیستم ولی هر کاری از دستم بیاد میکنم با تشکر
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
اگه از FASM استفاده کنیم همون برنامه های ++C رو همچنان می تونیم به زبان Assembly و برای Platform های مختلف بنویسیم
بله ، مشکل اینجا نیست ، مشکل تولید کد های اسمبلی هست ، که کار رو سخت میکنه ، مثلا تولید کد اسمبلی برای ایجاد آرایه پویا و...
نقل قول:
در هر Platform ای از Qt می تونیم کمک بگیریم تا تا خیلی جاها کار راحت تر شه.
من نمیدونم منظورم دقیقا متوجه شدین یا نه؟ اما منظور من اینکه کار بر بتونه با کمک زبان VB تحت Qt کد بزنه حالا ما میتونیم این IDE که قرار به کاربر کمک کنه رو با هر زبانی بنویسیم ما اگر مطمئنا با Qt باشه خیلی بهتر و راحت تر میشه و همچنین Cross-platfom...
نقل قول:
این mingw که DLL اش هم هست چیه؟
mingw در واقع یک کامپایلر C++ هست که یکی از چند کامپایلر خانواده gcc محسوب میشه...
برای اینکه برنامه رو که با Qt نوشتید رو کامپایل کنید باید از یک کامپایلر C++ استفاده کنید ، من چون رو سیستمم Visual Studio از قبل نصب بود از msvc ماکروسافت استفاده میکنم ، ولی میشه از gcc هم استفاده کنم...
نقل قول:
ضمنا منبع خوبی هست که بتونیم در مورد توابع داخل DLL های Qt ازش مطلب استخراج کنیم؟
ببنید ما برای کد نویسی به این DLL ها اصلا نیازی نداریم و فقط موقع اجرا به اونها نیاز پیدا می کنیم و چند تا بشتر هم نیستد ، که با انتقال رو سیستم مقصد برنامتون به درستی کار میکنه ...
برای کسب اطلاعات هم میتونید به http://doc.qt.digia.com/ برید که خیلی بهتر و قشنگ تر از MSDN مستند سازی شده....
من بهتون توصیع می کنم حتما کتابخونه های Qt و QtCreator که یک IDE برای نوشتن برنامه تحت Qt هست را دانلود کنید و تجربه کد نویسی با Qt رو ببینید...
بعد از مدتی با تکنولوژی های جدیدی آشنا میشید که اصلا با ورتون نمیشه مثلا :
QML (که یک زبان برنامه نویسی هست برای نوشتن سریع برنامه ها برای گوشی های هوشمند و تبلت ) ، Qt +HTML5 که میتونید UI برنامه رو با HTML5 طراحی کنید و کد اصلی برنامه رو با Java Script + C++ بنویسید که خیلی جالب هست و....
به همین دلیل است که میگم اگه بشه در تحت Qt با زبان VB کد زد یکبار دیگه این زبان زنده میشه...
-
نقل قول: یا بی خیال VB6 بشید یا ...
پس کدی که تولید خواهیم کرد، برای پروژه ی اولمون، Qt در ++C خواهد بود؟ خوب کار نسبتا سریع تر انجام می شه و این نکته ی خوبی هست چون بعدا هم می تونیم به این فکر کنیم که به جای کد ++C کد مثلا Assembly رو تولید کنیم...
اما اگه شما و بقیه دوستان Qt کار هم در طول پروژه همکاری کنین خیلی خوب می شه... فعلا که Qt رو از Assembly هم کم تر بلدم!
-
نقل قول: یا بی خیال VB6 بشید یا ...
بنده تا جایی که وقتم اجازه بده کمک خواهم کرد ، اما بهتر این مسئله رو در تالار Qt هم مطرح کنید و نظر دوستان دیگری مثل جناب حامد مصافی که مدیر بخش Qt هستند رو هم بپرسید...
-
نقل قول: یا بی خیال VB6 بشید یا ...
دوستان می خوام باتون همکاری کنم یه فایل اموزشی یا ... هر چیزی که بدرد میخوره بدین اگه خدا خواست و حجم درسم کم شد بتون کمک می کنم
همه برای وی بی وی بی برای همه
-
نقل قول: یا بی خیال VB6 بشید یا ...
-
نقل قول: یا بی خیال VB6 بشید یا ...
این IDE که مد نظر من هست شاید چند لایه داره به این صورت:
1- محیط طراحی ویژوال
2- مترجم VB به C++ (برای تولید فایل کد C++)
3- Linker برای لینک کردن فایل به کامپایلر و نمایش خروجی
برای لایه اول میشه از Qt Desiner که همراه پکیج QtCreator هست استفاده بشه...
برای لایه دوم باید یک مفسر کوچیک بنویسیم که فقط کد های VB رو به C++ بر گردونه...
برای لایه سوم هم باید یکسری کد بنویسیم که فایل کد C++ را به Compiler لینک کنه تا خروجی رو بگیره و برنامه رو اجرا کنه...
تا اونجا که من میدونستم گفتم ، بقیش با شما !!!
البته ساختن این محیطی که م نظر ماست مثل گفتنش آسون نیست!!!
تمام این مراحل این بالا را باید با جزئیاتشون انجام بدیم!!!
آیا میشه یک همچین کاری کرد!؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام.
مراحل تقریبا از هم مستقل هستن و می شه به طور موازی روشون کار کرد...
محیط طراحی ویژوال که تا حالا طراحی نکردم و اگه دوستانی که تجربه دارن انجام بدن بهتره...
قسمت ۲ مسئله ی اصلی ماست و قسمت ۳ هم که پیچیدگی خاصی نداره...
قسمت ۲ رو باید console مانند بنویسیم که از خط فرمان ورودی بگیره و ضمنا باید خیلی تروتمیز بنویسیمش که بعدا در توسعه، برای تولید کد های غیر Qt، به مشکل نخوریم...
الان دوستانی که روی ASM کار می کردن فکر می کنم بهتر باشه فعلا روی مفاهیم مربوط به کامپایلر مطالعه داشته باشن... ایده ها، روش های مرسوم، مشکلات و راه حل هاشون،... که در قسمت ۲ به کار می آد... همون سورس Libry Compiler رو هم نگاه بندازن باعث می شه یه مقدار کار دستشون بیاد...
-
1 ضمیمه
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
محیط طراحی ویژوال که تا حالا طراحی نکردم و اگه دوستانی که تجربه دارن انجام بدن بهتره...
به جای ساخت چنین محیطی میشه ، از همون Qt Designer که نوکیا عرضه کرده استفاده کرد...
نقل قول:
قسمت ۲ رو باید console مانند بنویسیم که از خط فرمان ورودی بگیره و ضمنا باید خیلی تروتمیز بنویسیمش که بعدا در توسعه، برای تولید کد های غیر Qt، به مشکل نخوریم...
الان دوستانی که روی ASM کار می کردن فکر می کنم بهتر باشه فعلا روی مفاهیم مربوط به کامپایلر مطالعه داشته باشن... ایده ها، روش های مرسوم، مشکلات و راه حل هاشون،... که در قسمت ۲ به کار می آد... همون سورس Libry Compiler رو هم نگاه بندازن باعث می شه یه مقدار کار دستشون بیاد...
برای این کار هم خیلی نیاز به زوم کردن رو جزیئیات نیست ، فقط کافیه فایل کد VB رو به فایل کد C++ ترجمه کینم ، یعنی دقیقا کاری که این سایت :http://www.developerfusion.com/tools...#convert-again
و نرم افزار های مشابه انجام میدن....
البته برای اینکه یک ایده برای ساخت چنین چیزی بگیرید میتونید فصل 18 کتاب C جعفر نژاد قمی رو مطالعه کنید که یک مفسر Basic نوشته شده....
یعنی اگر یه همچین چیزی داشتیم :
if x>5 then
//Condition
باید داشته باشیم :
if (x>5)
{
//ToDo
}
البته من یک نمونه نوشتم که فقط برای شرط هست (البته خیلی اصولی کار نکردم فقط برا تست بود) :
ضمیمه 93307
اینم کدش:
QTextDocument*i_document=ui->vb_txt->document();
QStringAll_vb_code=i_document->toPlainText();
//split("\tr",QString::SkipEmptyParts);
QStringListi_code_list=All_vb_code.split("\tr",QString::SkipEmptyParts);
QStringtemp_cpp_code;
QStringtemp_vb_code;
QStringcondition_txt;
QStringblock_test;
for(intcounter=0;counter<i_code_list.count();counter++)
{
//temp_cpp_code=temp_cpp_code+i_code_list.at(counter )+"\r\n";
temp_vb_code=i_code_list.at(counter);
intchk_if=temp_vb_code.indexOf("if");
intchk_then=temp_vb_code.indexOf("then");
if(chk_if>-1)
{
//temp_cpp_code=temp_cpp_code+if_block;
condition_txt=temp_vb_code.mid(chk_if+2,chk_then-2);
temp_cpp_code=temp_cpp_code+if_block+condition_open+condition_txt+condition_close+block_open;
}
}
ui->cpp_text->setText(temp_cpp_code);
البته یکسری ثابت هایی هم از قبل تعریف شده اند://KeyWord&&Token#defineif_block"if"#defineblock_open"{"#defineblock_close"}"#definecondition_open"("#definecondition_close")"
-
نقل قول: یا بی خیال VB6 بشید یا ...
نیازی هست کامپایلر رو حتما با Qt بنویسیم؟
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نیازی هست کامپایلر رو حتما با Qt بنویسیم؟
100 % بله!! چون اینجوری شما با C++ کد خواهید زد ، انعطاف پذیری بیشتر و سرعت بیشتری خواهید داشت و همچنین چون از خود Qt استفاده می کنید ، IDE چند سکویی خواهد شد...
در ضمن همونطور که گفتم نیاز به نوشتن کامپایلر نیست ، فقط یک مترجم VB به C++ کافیه + ابزار های یک IDE ...
برای کامپایل از کامپایلر Mingw میشه استفاده کرد....
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام . فقط میخواستم بگم اگه دو نفر دیگه آشنا با گرامرها و زبان برنامه نویسی مورد استفاده پروژه جور بشه , منم حاضرم تا جایی که وقتم اجازه میده همکاری کنم. به نظرم این اینکار برخلاف نظر خیلیهای دیگه نیاز به نیروی کار آنچنانی نداره .ولی خوب به تنهایی هم واقعآ مشکل میشه. در اینجور پروژه ها کیفیت افراد از کمیتشون مهمتره. فکر میکنم نهایتآ 6 نفر آدم فعال که 3 نفرشون با گرامر ها و زبان مورد استفاده آشنا باشن و 3 نفر دیگه به اسمبلی تسلط داشته باشن برای این پروژه کفایت کنه. ولی اگه نتونستید شرایط و افراد رو پیدا کنید به نظرم اصلآ شروع نکنید!
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام amin32 عزیز.
در مورد افراد آشنا با گرامر موافقم. در مورد افراد آشنا با Assembly فعلا که با نظر جناب returnx یه Interpreter می سازیم که کد C++/Qt تولید کنه. پس کار نسبتا ساده تر هست. و این که بعدا می تونیم آروم آروم گسترش بدیمش و مثلا یه کامپایلر هم در کنار مفسر بهش اضافه کنیم...
ولی فعلا باید افراد پایه برن با Qt آشنایی پیدا کنن و کار رو شروع کنیم.
اما یه مشکلی که هست اینه که وضعیت افرادی که می خوان همکاری کنن معلوم نیست...
-
نقل قول: یا بی خیال VB6 بشید یا ...
امیدوارم ناراحت نشی از انتقادم ولی به نظرم شما تاپیک رو بد شروع کردید . شما میخواید با آوردن دلایل مختلف , افرادی رو که آشنایی زیادی با مسائل مربوط به پیاده سازی ندارند مجاب کنید که همکاری کنند. شما اول باید با نیازمندیهای پروژتون آشنا بشید که در این مورد میشه گرامرها , زبان پیاده سازی و زبان اسمبلی ( یا هر زبان مقصد دیگر ) . بعد در یک تاپیک از افراد آشنا به این مسائل دعوت به همکاری کنید . اینکه مثلا افراد ناآشنا با گرامرها بخوان در حین انجام پروژه مساله به این مهمی رو یاد بگیرن واقعآ غیر ممکنه.
-
نقل قول: یا بی خیال VB6 بشید یا ...
فکر کنم راست می گی! D:
چون هدف من انجام این پروژه بود در صورتی که هدف تاپیک بیش تر کردن تعداد افراد برای راحتی کار... و خواستم به هر قیمتی شده افراد رو جمع کنم!
بهتر بگم، به جای این که به دنبال افرادی که کار رو بلدن بگردم (دیدم کسی نبود!)، دنبال افرادی گشتم که بخوان کار رو بلد بشن...
راستش فکر کردم حداقل دسته ی دوم تعدادشون بزرگ تر از صفر هست! ولی بعدا به شک افتادم!
ولی هر چی به عنوان تاپیک فکر می کنم می بینم اگه نخوایم بی خیال VB6 بشیم باید ... !
...
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام.
همچنان دنبال انجام این پروژه هستم...
من Qt رو دارم دانلود می کنم. کدوم رو باید انتخاب بکنم و باید چه تنظیماتی رو انجام بدم؟
سریال رو هم دریافت کردم.
Qt 4.8.2 for Windows (Src and VS2008 32bit Binary)
http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.3-vs2008.exe
Qt Visual Studio Addin 1.1.11 (Binary)
http://dist.qt.digia.com/developer/download/qt-vs-addin-1.1.11.exe
Qt 4.8.3 for Windows (Src and VS2010 32bit Binary)
http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.3-vs2010.exe
Qt 4.8.3 for Windows (Src and MinGW 32bit Binary)
http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.3-mingw.exe
Qt Creator 2.5.2 for Windows (32bit Binary)
http://dist.qt.digia.com/developer/download_creator/qt-creator-win-commercial-2.5.2.exe
Qt 4.8.3 for Windows (Src and VS2010 64bit Binary)
http://dist.qt.digia.com/developer/download/qt-win-commercial-4.8.3-vs2010-64bit.exe
Qt Commercial SDK for Windows
http://dist.qt.digia.com/developer/download_sdk/QtCommercialSDK-online-win-x86-v1.0.2.exe
Qt Commercial Charts 1.1.0
http://dist.qt.digia.com/developer/download_charts/qt-commercial-charts-src-1.1.0.zip
Qt Commercial 3D 1.0.0 Sources
http://dist.qt.digia.com/developer/download/qt-commercial-3d-src-1.0.0.tar.gz
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام
من تمام پستهای این تاپیک را نخوانده ام ولی پیشنهاد می کنم که به عنوان کامپایلر از PaxCompiler استفاده کنید که از 64 بیت هم پشتیبانی می کند. به هر حال توصیه می کنم که به لینک زیر نگاهی بیاندازید:
http://www.paxcompiler.com/
یک مورد دیگر هم هست که در تفسیر کد خیلی کمکتان میکند و آن هم Regular Expression است که حتماً باید کتابی در این خصوص بخوانید. به نظر من برای تفسیر کد ها استفاده از if و ... اصلاً کار درستی نخواهد بود چرا که با این روش های سنتی کار بسیار پیچیده خواهد شد.
به نظر من بهتر است که فعلاً فقط بر روی مکانیزم کار تفسیر و کامپایل وقت بگذارید و کار بر روی IDE را فعلاً رها کنید.من که چیز زیادی بلد نیستم ولی اگر سرم خلوت تر بشه(انشاالله) من هم سعی می کنم تا جایی که می توانم شما را برای انجام این پروژه راهنمایی کنم.
اگر میتونستی یک اسپانسر خوب پیدا کنی من همین الان به صورت جدی به گروه شما می پیوستم. نمی خواهم بگویم که خیلی انسان مادی گرایی هستم ولی قبول کن که انجام این کار خیلی هزینه بر است (هم از لحاظ بودجه مالی و هم از لحاظ زمانی).
موفق و سربلند باشید...
-
نقل قول: یا بی خیال VB6 بشید یا ...
جالب است بدانید که PaxCompiler از زبان Basic ، Pascal و C++ هم پشتیبانی می کند و قرار است که پشتیبانی از Java Script و C هم به این موارد اضافه شود که فکر می کنم که یکی از بهترین گزینه ها برای کار شما است به گونه ای که دیگر به تبدیل کد از یک زبان به زبان دیگر نیازی نیست.
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوست عزیز.
نقل قول:
من تمام پستهای این تاپیک را نخوانده ام ولی پیشنهاد می کنم که به عنوان کامپایلر از PaxCompiler استفاده کنید که از 64 بیت هم پشتیبانی می کند. به هر حال توصیه می کنم که به لینک زیر نگاهی بیاندازید:
http://www.paxcompiler.com/
اون سایت رو دیدم و خوندم، اما لطفا یه توضیحی هم در این مورد بدید... ممنون...
نقل قول:
یک مورد دیگر هم هست که در تفسیر کد خیلی کمکتان میکند و آن هم Regular Expression است که حتماً باید کتابی در این خصوص بخوانید. به نظر من برای تفسیر کد ها استفاده از if و ... اصلاً کار درستی نخواهد بود چرا که با این روش های سنتی کار بسیار پیچیده خواهد شد.
قطعا! من در این مورد کتاب هایی تهیه کردم و در مورد اصول طراحی کامپایلر و روش ها و مسائل مختلفش مطالبی خوندم... استفاده از if به صورت عادی یه چیزی از سنتی هم عقب تره!
نقل قول:
به نظر من بهتر است که فعلاً فقط بر روی مکانیزم کار تفسیر و کامپایل وقت بگذارید و کار بر روی IDE را فعلاً رها کنید.
این کار عاقلانه است و نظر من هم همینه... IDE چیزیه که بعدا می شه با خیال راحت به عنوان Code Generator بهش پرداخت...
نقل قول:
اگر میتونستی یک اسپانسر خوب پیدا کنی من همین الان به صورت جدی به گروه شما می پیوستم. نمی خواهم بگویم که خیلی انسان مادی گرایی هستم ولی قبول کن که انجام این کار خیلی هزینه بر است (هم از لحاظ بودجه مالی و هم از لحاظ زمانی).
در مورد تهیه ی اسپانسر باید بیش تر فکر کنم... آخه واقعا نمی دونم تو این مراحل اولیه لازمه یا نه... :متفکر: اما از لحاظ زمانی واقعا باید روش وقت گذاشت به طور جدی... می تونم یه سایت براش راه بندازم و از اون طریق، اسپانسر، همکار و کاربر گیر بیاریم...
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
اون سایت رو دیدم و خوندم، اما لطفا یه توضیحی هم در این مورد بدید... ممنون...
توضیحات در موردش زیاده ولی برای این که بهتر در موردش بدونید فایل راهنمای اون رو از قسمت Download مربوط به سایت مذکور دانلود کنید:
http://www.paxcompiler.com/downloads/paxcomp_chm.zip
با تحقیقاتی که من بر روی این کامپایلز داشتم متوجه شدم که شاید برای پروژه شما بهترین گزینه باشید.
نقل قول:
قطعا! من در این مورد کتاب هایی تهیه کردم و در مورد اصول طراحی کامپایلر و روش ها و مسائل مختلفش مطالبی خوندم... استفاده از if به صورت عادی یه چیزی از سنتی هم عقب تره!
اگر می خواهید که به صورت دقیقتری در مورد ساخت کامپایلر تحقیق کنید و از روش های مدرن امروزی بهره ببرید می توانید در مورد LLVM هم تحقیق کنید. خوشبختانه مجله "شبکه" از شماره 137 که مربوط به مهرماه سال 91 است شروع به نوشتن یکسری مقالات در این مورد کرده که خواندنش رو به شما توصیه می کنم.
نقل قول:
این کار عاقلانه است و نظر من هم همینه... IDE چیزیه که بعدا می شه با خیال راحت به عنوان Code Generator بهش پرداخت...
این تصمیم واقعاً عاقلانه است، چرا که ساخت برنامه ای که ظاهر گرافیکی هم ندارد ولی می تواند کدی را کامپایل کند نسبت به یک محیط گرافیکی که کدی را نمی تواند کامپایل کند انگیزه بیشتری به انسان می دهد.
نقل قول:
در مورد تهیه ی اسپانسر باید بیش تر فکر کنم... آخه واقعا نمی دونم تو این مراحل اولیه لازمه یا نه... اما از لحاظ زمانی واقعا باید روش وقت گذاشت به طور جدی... می تونم یه سایت براش راه بندازم و از اون طریق، اسپانسر، همکار و کاربر گیر بیاریم...
به هر حال دوستان زیادی هستند که اطلاعات فنی زیادی دارند. خود بنده حقیر هم اکنون پروژه بزرگی را در دست دارم و خوشبختانه در طول ساخت این پروژه اطلاعات زیادی را کسب کرده ام ولی قبول کنید که ول کردن این پروژه بزرگ و وقت گذاشتن برای پروژه ای که اسپانسری ندارد برای من و امثال من اصلاً عاقلانه نیست.
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام.
اگه می شه یه تخمینی در مورد هزینه های مربوط به اسپانسر بزنید... :متفکر:
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام
بستگی داره که چقدر قابلیت بخواهید به این پروژه اضافه کنید ولی در نظر داشته باشید که برای ساخت این برنامه حداقل باید 4 میلیون خط کد که اکثراً هم الگوریتمیک هستند نوشته شود و کلاً فکر می کنم برای طراحی یک زبان برنامه نویسی + یک IDE + یک Compiler + مستندات + فریم ورک، بابت هزینه پایه حدود 100 میلیون تومان نیاز باشد و طبیعی است که برای شروع کار به یک اسپانسر قوی و یک تیم حدوداً 10 نفره نیاز است. البته این نظر شخصی بنده حقیر است و همانطور که می دانید در ایران اشخاصی پیدا می شوند که بگویند ما این پروژه را با مبلغ 200 هزار تومان هم شروع می کنیم ولی این ارقام برای چنین پروژه ای اصلاً واقع بینانه نیست و اگر اسپانسر قدرتمندی نباشد که بتواند این هزینه ها را تامین کند بعید می دانم انجام این پروژه دوامی داشته باشد. البته توجه داشته باشید که اگر این زبان برنامه نویسی تحت دات نت باشد از آنجایی که بابت ساخت فریم ورک و IDE زحمتی کشیده نمی شود هزینه پایین تر خواهد بود.
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام.
من به نظرم پروژه رو با هزینه های پایین تر شروع کنیم و طی گسترش مبلغ رو بالا ببریم.
چون ریسکش بالا هست اون هزینه. و از طرفی اشخاصی که می شناسم و باهاشون صحبت کردم فکر نمی کنم که فقط با حرف با همچین هزینه هایی موافقت بکنن.
منظورم اینه که مثل بعضی پروژه ها اول کار رو تا یه مرحله ای انجام بدیم و با نشون دادن یه نمونه ی موفق که حالا قصد گسترشش رو داریم دنبال یه اسپانسر با قابلیت تامین هزینه های بالاتر بگردیم.
اگه کار رو تو مسیر صحیح بندازیم خود به خود افراد زیادی راغب به حمایت از پروژه می شن.
حالا این نظر منه با توجه به این که خودم به تنهایی توانایی تامین اون هزینه رو برای پروژه ندارم...
-
نقل قول: یا بی خیال VB6 بشید یا ...
من کاملا با حرف اقای iamoverlord موافقم با وجود اینکه خیلی وقته وی بی را ول کردم ولی می خوام بدونم کا تا کجا پیش رفته
با وجود حودا120 نظر و ........... اقای iamoverlord امیدی برای ادام هاین پروژه دارن یا نه
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوستان.
من یه مدتی کلا از این انجمن و این جور کارا فاصله داشتم.
ولی همچنان امیدوار هستم.
اگه دوستان می خوان کار رو ادامه بدیم من پیشنهاد می کنم قضیه رو غیر مالی شروع کنیم!
تو این مدت داشتم یه سری برنامه ی محاسباتی می نوشتم به این فکر افتادم که چه خوب می شد VB6 یه سری چیزا رو به صورت پیش فرض داشت... مثلا قابلیت تعریف دقت متغیرت و سایز عدد داخل متغیرت که برنامه های محاسباتی رو سریع تر و بهتر بشه نوشت... می دونم Matlab اختراع شده!
می شه اهداف و ویژگی های پروژه رو در ابتدا چیزای ساده تری تعیین کرد. مثلا: VB7 بهینه شده برای برنامه های محاسباتی... ؛ و کم کم بریم بهش شاخ و برگ بدیم و از VB6 هم بزنیم جلوتر...
وقتتون رو تلف نکنید!
من به انجام این پروژه امید دارم...
من مثل مورفیوس هستم و VB7 هم مثل نیو، بقیه هم مامور اسمیت! :بامزه: البته اگه ماتریکس رو دیده باشید!
-
نقل قول: یا بی خیال VB6 بشید یا ...
نقل قول:
نوشته شده توسط
N30TheM4TRIX
سلام
فکرهای خوب و بزرگی در سر دارید اما فکر نمی کنید استفاده از زبانهایی مثل دلفی یا سی بهتر باشه؟
احتمالاً (حتماً) یادگیری این زبان ها کمتر از ساخت (گسترش) یک زبان هستش.
موفق باشید.
دوست عزیز هدف ما خود کفا بودنه نه اینکه مثل هزار چیز دیگه هر روز مارو تحریم کنند. یا مجبور به پرداختن هزار برابر از قیمت واقعی باشیم.
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوستان
من تا3 صفحه از پست ها رو خوندم طرح جالبی هست
نمیخاوم نا امیدتون کنم یا هر چیز دیگه ای ولی 5 سال پیش ی سورس دیدم ک یکی ب تنهایی اینکارو توی ویبی 6 کرده بود و ی زبان برنامه نویسی فارسی درست کرده بود
و میخواست این تیم رو درست کنه و انگار نشده
البته اینطوری ک از تایپک و پست هاش پیداست انشالله این یکی میشه
من پیشنهادم اینکه بجای اینکه ی زبان برنامه نویسی جدید درست کنید همین ویبی 6 رو با کامپونت ساختن ارتقاع بدید
مثلا کامپونت هایی ک بتونه از مترو ویندوز استفاده کنه و ارتباط بر قرار کنه یا با استانداردهای جدید ویندوز پلت فرم و Silverlight ارتباط برقرار کنه
من چند تایی کامپونت نوشتم ک از زبان فارسی پشتیابنی میکنه یعنی دستورات و فراخوانی توابع فارسی نوشته میشه انشالله اگر مشکلی پیش نیاد میخوام توی فروم بذارم
ک از وقتی ک این پروژه رو شروع کردم انواع و اقسام اتفاق افتاده ک وقت نشده انجام بدم و عقب تر بیافته.
چون کم کم واقعا باید بی یخال ویبی 6 شد هر روز داره ب استاندارد های ویندوز و تغییر در هسته اون زیاد میشه
هر چند هنوز ک هنوزه ماکروسافت نتونسته از شر ویبی 6 خلاص بشه این تنها مربوز به کشور های جهان سوم و یا ما ایرانی ها نیست
هنزو ک هنوزه توی تاپیک ها و سایت های خارجی زیادی بری دارن از ویبی 6 استفاده میکنن
و همونطور هم ک مشخص هست ماکروسافت هم غیر مستقیم داره پشتیبانی میکنه همونطور وقتی ک ویندوز7 امد گفتن ویبی 6 ور باید بی خیال بشید و اینا ولی دیر نگذشت ک ماکروسافت اپدیت هایی برای این زبان داد
ک ایراد هاش برطرف بشه.
زبان رو ساختیت من حاضرم کامپونت برای زبان بسازم ب صورت پیش فرض با این زبان نصب بشه.
ی چیزی مثل دات نت
باور کنید دات نت همینه مجموعه ای از کامپونت هست ک باید نصب بشه.
موفق باشید
-
نقل قول: یا بی خیال VB6 بشید یا ...
سلام دوستان.
بالاخره تابستون شد و یه مقدار وقت آزاد پیدا کردم که رو پروژه کار کنم.
یه Parsing System خفن پیدا کردم که باید ببینید! اسمش GOLD هست و رایگان هم هست!
که البته اول نتونستم وارد سایتش بشم، شاید ایران رو تحریم کرده باشه، اما از این راه رفتم...
یه Parser Generator هست که تو یکی از صفحات Wikipedia در مورد مقایسه ی Parser Generator ها پیداش کردم:
دیدم برای Output Language نوشته از x86 assembly language, ANSI C, C#, D, Java, Pascal, Object Pascal, Python, Visual Basic 6, Visual Basic .NET, Visual C++
پشتیبانی می کنه.
این هم یه عکس از محیط برنامه: