دوستان نظرتون در مورد سایت پشتیبانی واسه vb7 classic چیه ؟؟
میتونیم تو رزبلاگ یکی بزنیم در ضمن یه دامنه ی خوب هم هست رایگانه :
cydots.com
مثلا vb7-classic.au.ms
حتی میتونیم خودمون سایت رو طراحی کنیم بعد رو هاست بریزیم و به رزبلاگ وصلش کنیم
با تشکر
Printable View
دوستان نظرتون در مورد سایت پشتیبانی واسه vb7 classic چیه ؟؟
میتونیم تو رزبلاگ یکی بزنیم در ضمن یه دامنه ی خوب هم هست رایگانه :
cydots.com
مثلا vb7-classic.au.ms
حتی میتونیم خودمون سایت رو طراحی کنیم بعد رو هاست بریزیم و به رزبلاگ وصلش کنیم
با تشکر
دوستان اگه بخواین هم یه چت روم اختصاصی دارم هم انجمن که اونجا بحث رو ادامه بدیم
تصمیم با خودتونه
با تشکر
به نظر بنده وب سایت موقعی باید تاسیس بشه که کار واقعا راه افتاده و 50 درصد کار رو انجام دادیم . در مورد انجمن هم همینجا خوبه فقط یه قسمت باید درخواست کنیم برامون درست کنن و خصوصی باشه اینطوری خوب نیست ؟
انجمن که همین جا خوبه، RaidCall هم که هست،
در مورد کمک گرفتن از بخش Assembly هم موافقم،
یه وقتی قرار بذارید با هم بریم RaidCall... من که هر وقت باشه پایم...
سایت و دامین و این کاراش با من...
من قبلا برای خودم از ModiranHost گرفتم... با توجه به قیمتش و امکاناتش سرویس خیلی خوب و مناسبیه... اما همون طور که دوستون m.4.r.m گفت طراحی سایتو بذاریم یه کم بگذره بعد...
قبلا گفتم که یه مثال می زنم...
خوب برنامه ی Hello World که ۱۶ بیتی باشه در FASM به این شکل هست که احتمالا اکثرتون دیده باشین:
format MZ
entry .code:start
segment .code
start:
mov ax, .data ; put data segment into ax
mov ds, ax ; there, I setup the DS for you
mov dx, msg ; now I give you the offset in DX. DS:DX now completed.
mov ah, 9h
int 21h
mov ah, 4ch
int 21h
segment .data
msg db 'Hello World', '$'
format mz مشخص می کنه که برنامه ی ما فایل exe ی ویندوزی نیست و از نوع MZ Executable در Dos هست و از وقفه ها استفاده می کنه...
entry .code:start مشخص می کنه که نقطه ی ورودی برنامه ی ما برچسب start در سگمنت code هست...
segment .code مشخص می کنه که داریم سگمنت کد رو می نویسیم...
start: برچسب start برنامه هست...
segment .data سگمنت data رو تعریف می کنه که اطلاعاتمون اون جا هست... که آرایه ی msg از نوع byte حاوی رشته ی پیاممون که با $ خاتمه پیدا کرده هست...
int 21h هم وقفه ی ۲۱ در مبنای ۱۶ رو صدا می زنه که وقفه ی DOS هست با یه عالمه سرویس که ثبات ah مشخص می کنه کدوم سرویس رو می خوایم... مثلا سرویس 9 در مبنای ۱۶ سرویس چاپ پیامی هست که آدرس متغیر مربوط به پیام در dx قرار می گیره... و سرویس 4c در مبنای ۱۶ برنامه رو خاتمه می ده...
اما برنامه ی Hello World که Win32 ای باشه در FASM به این شکل هست:
format PE GUI
include 'include\win32a.inc'
invoke MessageBox,0,hellomsg,hellolb,MB_OK
invoke ExitProcess,0
hellomsg db 'Hello World',0
hellolb db 'Test Of FASM',0
data import
library user32,'user32.dll',kernel32,'kernel32.dll'
include 'include\apia\user32.inc'
include 'include\apia\kernel32.inc'
end data
که البته فایل win32a.inc رو include کرده که برنامه خلاصه تر نوشته بشه...
این قسمت توابع API مورد نظر رو از کتاب خانه های مورد نیاز import می کنه:
data import
library user32,'user32.dll',kernel32,'kernel32.dll'
include 'include\apia\user32.inc'
include 'include\apia\kernel32.inc'
end data
این قسمت دو رشته ی پیاممون رو تعریف می کنه و آدرسشون در hellomsg و hellolb نگه داری می شه:
hellomsg db 'Hello World',0
hellolb db 'Test Of FASM',0
این قسمت هم دو تابع API مورد نظر رو فراخوانی می کنه:
invoke MessageBox,0,hellomsg,hellolb,MB_OK
invoke ExitProcess,0
درود به همه
من بلدم.:لبخند:نقل قول:
نوشتنش با Delphi که هم کار با رشته ها ساده هست، هم بهتره IDE رو تو Delphi طراحی کنیم، اما کیا Delphi بلدن؟ ...
بی ادبی نباشه دهنمون سرویس میشه تا این کارو بکنیم!!:کف:نقل قول:
کیا موافقن که اول با VB6 شروع کنیم بعد که کارمون راه افتاد کد رو ترجمه کنیم به دلفی؟
موفق باشید
این طور که به نظر می رسه Delphi بهترین گزینه هست...
زیادم باید مزاحم آقا بهروز بشیم!
FASM نسخه ی جدیدش رو دانلود کردم... و به قدرت نامتناهیش پی بردم!!! کافیه ۲ ۳ تا example اش رو نیگا بندازید...
خوب الان یه کاری واسه گروه دارم که مهم نیست Delphi کار باشیم یا VB کار یا ...
این که باید شروع کنیم به ساخت vbclassic7.inc برای FASM... کاربرد این ماکرو چیه؟ اینه که تمام توابع و چیزای اساسی زبانمون رو باید توش تعریف کنیم. مثلا یه روال برای پیوند ۲ رشته، یه روال برای به توان رساندن دو float یا همون Currency/Decimal خودمون، یه روال برای تبدیل integer به رشته،... برای مقایسه ها و عبارت های شرطی و ... خلاصه چیزای اساسی که لازممون می شه رو به صورت جزء به جزء تعریف می کنیم بعد فایل رو include می کنیم برای کدی که به Assembly تبدیل کردیم و بعد کد Assembly نهایی رو می دیم FASM کامپایل می کنه به exe... این جوری خیلی از شلوغی و درهم و برهمی کار کاسته می شه و قبل از ساخت کامپایلر چیزایی که لازم داریم رو نوشتیم... خوبیش هم اینه که روال هایی که باید توش تعزیف کنیم از هم جدا هستن پس خیلی راحت هر کس می تونه رو یه چیزی کار کنه، یکی رو تبدیل integer به string یکی رو تبدیل string به integer... پس فعلا یه چند تا از فایل های inc. رو نگاه بندازید... حتما هم FASM رو دانلود کنید پشیمون نمی شید!
ضمنا بچه ها قرار بذارید یه وقتی رو تعیین کنید که بریم RaidCall، جناب Mohammad Gh که اومد... جناب بهروز عباسی هم همین طور...
ضمنا باید از چند تا از کاربرای شاخ سایت هم کمک بگیریم، مثلا آقای xman_1365_x مدیر بخش اسمبلی... یا آقایون دیگه...
برای دانلود سورس ها و نمونه ها سایت سایت delphi.about.com
sourceforge.com
رو پیشنهاد میدم
با تشکر
_______________
if i=n+1 then
boom
else
goto 1
end if
خیلی جالبه زمانی که من برنامه نویسی تجاری رو شروع کردم (حدود 12 -13 پیش) باید همه جا ثابت میکردم که برنامه نویسی با وی بی (اون موقع 5 بود ) از همه بهتره
الان هم دارم همین کار رو می کنم
هر برنامه یا کامپوننتی که فکرش رو هم بگنید نوشتم و میدونم با استفاده از یکسری کتابخانه ها (البته اگه کلا پروژه رو بر پایه Open Source بنا کنیم ) حتما به نتیجه خواهد رسید .
آقا منم هستم و اگه کمکی ازم بربیاد حتما انجام میدم
دوستان عزیز به نظر من از اول پروژه رو جوری پایه ریزی کنیم که محیطIDE مخصوص بخودش ، کامپایلر مخصوص خودش ، SDK های مخصوص خودش از همه مهمتر دستورات و توابع خاص خودش و ... داشته باشه ، من قبلا تو کار مشابهی همکاری داشتم و از اونجایی اون دوستان عزیز از زبان php واسه نوشتن برنامه استفاده کردن زحمت دوسال و نیمه همه به باد رفت ، به نظر من یا اصلا بیخیال همچین ایده ای بشیم و به کار وزندگی مون برسیم یا کاملا حساب شده باشه
یه چیز دیگه رو هم توضیح بدم
اصل موفقیت برنامه اینه که Open Source باشه
و بتونه انگیزه واسه دولوپر ها ایجاد کنه
اگر خدا خواست موفق شد یکی مثل من باید برم ساندویچی باز کنم
اما بازم راضیم که این انجام بشه
و هر جور کمکی میکنم
سلام جناب hamed_basic...
IDE رو از پایه با Delphi می نویسیم
کامپایلر رو هم همین طور و هیچ ربطی به VB6 قدیمی نداره کد هامون و از ۰ تا ۱۰۰ رو از اول انجام می دیم
یعنی قرار نیست که VB6 قدیمی رو گسترش بدیم، می خوایم دوباره نویسی کنیم
ضمنا پروژه Open Source هست فعلا
اگه می خواید همکاری داشته باشید، اکانت RaidCall بسازید...
Let's Build a Compiler, by Jack Crenshaw
کسایی که با Pascal ویا Delphi کار می کنن بهتر متوجه می شن...
سلام ؛
اصولا در این نوع تاپیک ها پست نمیدم چون 99.99% این نوع تاپیک ها تو این سایت فقط از سر شور و هیجان جوانی و تازه کاری هست ، نه بیشتر ( انگشت اشارم به سمت این تاپیک نیست )
چند تا نکته :
- چیزی که میخواین بنویسین کامپایلر نیست ، مفسره ...
- اگر واقعا تو فکرتون نوشتن کامپایلر هست بیخیالش بشید و با نوشتن یک مفسر ساده شروع کنید ، کامپایلر بحث فوق العاده پیچیده ای داره و خیلی زود پشیمونتون میکنه .
- الکی جو ندید ما میتونیم و ... ، آدم باید اول توانایی های خودشو رو بسنجه ، نیاز های کاری که میخواد انجام بده رو بسنجه ، ابزارها و امکاناتی که داره رو بررسی کنه و سعی کنه به یک حداقل هایی برسه و بعد شروع کنه به انجام اون کار ، چیزی که من تو این تاپیک ندیدم حرفی ازش زده بشه ؛ همین جوری که که نمیشه اومد وسط گفت ما میتونیم و رفت سراغ کار ، بله ما استعدادهای زیادی برای این کارها داریم ولی اکثرا یا تجربه کار ( مخصوصا از نوع گروهی ) رو ندارن ، یا علمش رو ندارن یا وقتش .
- لطفا با هم تعارف نکنید ، الان کی تو این جمع که اعلام آمادگی کردن با مباحث طراحی کامپایلر آشنایی داره ؟ کی با مباحث مدیریت یک تیم نرم افزاری و مهندسی نرم افزار اون آشنایی داره ؟ کی به زبون برنامه نویسی مورد نظرتون مسلط هست ؟ این 3 موردی که نام بردم اگر پیدا نکردید کارتون رو شروع نکنید که خیلی زودتر از اون چیزی که فکر میکنید به بن بست میخوره ، اینها حداقل های مورد نیاز برای شروع یک کار ساده گروهی هست .
امیدوارم دوستان این حرف ها رو به عنوان انتقاد بپدیرن ، نه قصد توهینی بود ، نه خرد کردن کسی یا زیر سوال بردن ایده ای ...
موفق باشید .
این همه زبان که از یه Assembler ای مثل NASM یا FASM یا ... در قسمت پایانی استفاده می کنن، Interpreter هستن؟نقل قول:
- چیزی که میخواین بنویسین کامپایلر نیست ، مفسره ...
به خاطر همین هم گفتم برای دفعه اول یه سری ماکرو تو FASM تعریف کنیم. می شه Assembly رو هم آسون کرد. مثلا HLA رو نگاه کنید... ما هم می خوایم ماکروی مورد نیاز خودمون رو بنویسیم فعلا...نقل قول:
- اگر واقعا تو فکرتون نوشتن کامپایلر هست بیخیالش بشید و با نوشتن یک مفسر ساده شروع کنید ، کامپایلر بحث فوق العاده پیچیده ای داره و خیلی زود پشیمونتون میکنه .
من که دیدم می خوام خودم تنهایی کار کنم گفتم چرا چند نفر کدزن کمکی نگیرم... این که می شه رو بررسی کردم و مطمئنم... مشکل سواد بچه هاست که منم نگفتم یه ضرب بریم سراغ کار گفتم اول یاد بگیرید بعد... چون یه نفره آدم حوصله اش سر می ره...نقل قول:
الکی جو ندید ما میتونیم و ... ، آدم باید اول توانایی های خودشو رو بسنجه ، نیاز های کاری که میخواد انجام بده رو بسنجه ، ابزارها و امکاناتی که داره رو بررسی کنه و سعی کنه به یک حداقل هایی برسه و بعد شروع کنه به انجام اون کار ، چیزی که من تو این تاپیک ندیدم حرفی ازش زده بشه ؛ همین جوری که که نمیشه اومد وسط گفت ما میتونیم و رفت سراغ کار ، بله ما استعدادهای زیادی برای این کارها داریم ولی اکثرا یا تجربه کار ( مخصوصا از نوع گروهی ) رو ندارن ، یا علمش رو ندارن یا وقتش .
باور کنید اگه این افراد بودن که مشکلی نبود... ما می خوایم آروم آروم بریم جلو یاد بگیریم کارو انجام بدیم... نمی خوایم پروژه ی تجاری انجام بدیم که نگران زمانش باشیم... اصلا هم دنبال متخصص نیستم چون پیدا نکردم! همین که یه سری باشن که بخوان با این مباحث آشنا بشن و تازه بعدا شروع کنیم به کدنویسی کافیه... بهتر از تک نفره کار کردنه...نقل قول:
- لطفا با هم تعارف نکنید ، الان کی تو این جمع که اعلام آمادگی کردن با مباحث طراحی کامپایلر آشنایی داره ؟ کی با مباحث مدیریت یک تیم نرم افزاری و مهندسی نرم افزار اون آشنایی داره ؟
خیلی ممنون دوست عزیز...
نظرات و انتقادات و پیشنهاداتتون رو هم بگید بد نیست...!
سلام . اولین جلسه بین اعضای گروه در تاریخ جمعه 24/6/91 ساعت 22:00 برگزار میشه . کسانی که علاقه مند به همکاری با اعضای گروه و شرکت در جلسات هستند آی دی یاهو زیر رو ادد کنند .
ID : Ho3ein.3ven
آخه بیخیال شدن که نمیشه به قول دوستمون از یه جایی شروع می کنیم یاد میگیریم رفته رفته کد هم مینویسیم جلو میریم چند تا مغز بهتر از یه مغز کار می کنه حتی اگه بیهوده باشه شاید تو همین بیهودگی حرفی زده بشه که با منطق درست باشه . من که تا آخرش هستم حتی اگه قرار باشه بن بستی توش باشه
گزارش:
خوب امشب که من و فقط ۲ نفر دیگه رفتیم Yahoo Messenger:
m.4.r.m
ho3ein.3ven
ظاهرا که پست های ناامید کننده بیش تر طرف دار داره! به نظرم یه تاپیک با عنوان بی خیال همه چیز ... راه بندازیم بیش تر تشکر و فعالیت داشته باشه!!!
امروز تازه فهمیدم که برای اعداد اعشاری (Floating Point) می تونیم از FPU کمک بگیریم... و خیلی احساس آرامش بیش تری می کنم!
در رابطه با vbclassic7.inc این قابلیت اضافه شده که می تونیم اعداد اعشاری رو به string تبدیل کنیم که بتونیم نمایش بدیم. ضمنا یه example نوشتم که با fsqrt رادیکال یه عدد رو به دست می آره و بعد نمایشش می ده. لیستی از instruction های FPU رو این جا ببینید:
en.wikipedia.org/wiki/X86_instruction_listings
دستوراتی هستن که حتی فکرشم نمی کردم وجود داشته باشن!: FCOS - FSIN - F2XM1 - ...
ما می توانیم حتی اگر 50 % راه رفته باشیم می گویم رفتیم اما شما که در خواب غفلت مانده اید چیزی برای گفتن ندارید ما رفتیم هر کی پایس سوار بشه بر ماشین زمان کامپایلر
دیگه حوصلم نمی گیره بیام توی این تاپیک:چشمک:
چند نفر میگن میشه چند نفر میگن نمیشه
اگه شد که شد خوش به حالتان
اگه نشد هم باز خوش به حالتان چون بالا خره یه چیزی یاد گرفتید خود من هیچی از اسمبلی نمی دونستم ولی بخاطر این تاپیک یه چیز هایی ازش فهمیدم و یه تجربه ی دیگر اینکه یادم میمونه که از این راه رفته برای نوشتن یه کامپیلر یا مفسر استفاده نکنم ( ارزش سواد اموزیشیش بالاست)
الان هم میگم خیلی دوست دارم با شما همکاری کنم و لی سوادش ندارم شاید هم در اینده وقتش چون این یه کار فوق حساس توی زندگی دیگران
سلام دوستان.
اگه واقعا کسی قصد همکاری داره باید بیاد RaidCall یا Yahoo Messenger یا ... که با هم صحبت کنیم.
اونایی که می گن نمی شه یا اون قدر سخته که در حد نشدنه، به این دلیل می گن که واقعا باید وقت گذاشت، جست و جو کرد، مطالعه کرد، ... که ظاهرا بعضی ها حوصله ی این کارارو ندارن، یا می گن که نوشتن کامپایلر یه بحث فوق العاده پیچیده هست که این حرف ها جز نا امید کردن تو این شرایط تاثیر دیگه ای نداره، کامپایلر داریم تا کامپایلر...
ببینید من که این کار رو بالاخره خودم هم که شده می خوام انجام بدم ولی گفتم بد نمی شه تو این راه با چند نفر همکاری کرد... اتفاقا خیلی هم خوب می شه حتی اگه اونا هنوز چیزای لازم رو بلد نباشن...
منابعی که چند نفر همزمان دسترسی دارن بیش تر از یه نفره... همچنین حوصله ای که دارن... وقتی که دارن...
هنوز بچه ها نیومدن بپرسن چی بخونیم چی نخونیم چه جوری انجام می شه مشکلات یا موانع چیا هستن ... بعد انتقاد می شه که ما نمی تونیم... آخه چیو بررسی کردن که به این نتیجه رسیدن... لااقل بذارید ببینیم چه مشکلی هست که این پروژه نمی تونه به انجام برسه؟ نگید دانش بچه ها چون از اول هم قرار بود که همزمان یاد هم بگیریم...
واضحه که این جوری هیچ ماشین حساب هم نمی شه نوشت... باور کنید... حتی اون پروژه ی گروهی هم شکست می خوره وقتی هیچ کس پیگیر قضیه نباشه و اعضا دور هم جمع نشن... بعد میان می گن تا حالا تو این انجمن پروژه ی Open Source به ثمر نرسیده.
باز دم اون ۲ تا دوستمون گرم که اومدن یاهو حداقل تونستیم ۳ تایی با هم صحبت کنیم.
الان هم پروژه داره انجام می شه ولی با سرعتی کم تر از اون چیزی که انتظار می رفت...
من توابع سیستمی اسمبلی رو از رفیقم گرفتم کاملا به فارسی آموزش داده شده مسعود برات پیام خصوصی می زارم دانلود کن ببین چقدر بدردبخور هستن اینا کی میگه نمیشه ما میتوانیم من و مسعود و هر کی هم هست بیاد . مسعود بیخیال برا چی خودتو اذیت می کنی چرا بحث می کنی بریم خودمون بنویسیم با اینا چیکار داریم . وقتی نصف پروژه به صورت عکس در این پست قرار گرفت می فهمن که میشه یا نمیشه . وا لسلام
هر کی هم نا امیده امضای بنده رو بخونه همین
سلام m.4.r.m عزیز.
کتاب واقعا جالبی بود بین کتاب های فارسی...
ضمنا یه جاییش نوشته بود:
IAMOverload عزیز, با سلام
ببخشید چند روزی نبودم اینترنتم داره تموم میشه دلیل اینه :خجالت:
خوب آخرین پستتو خوندم جالب بود یعنی اینکه :
hex ( step1) & "," & hex (step2) & "," & "," hex (step3(
یعنی اینجوری ترجمه میکنه
در ضمن پیشنهاد میکنم اسمشو vb7 نزاریم چون تو نت دیدمش (vb7(
میتونیم بزاریم IR-Basic یا حتی یه زبان جدید حتی اینکه زبان برنامه نویسی فارسی باشه :
message "متن پیام"
پیغام.نمایش "ساخته شده توسط BRBBTKMM"و هشدار
البته نمیدونم میشه یا نه
سلام دوست عزیز...
البته VB7 همون اولین نسخه ی VB.net هست... ما اسم اصلی محصولمون VB Classic هست... ولی خوب باشه بعدا باهم صحبت می کنیم در این مورد...
ضمنا ایده ی زبان برنامه نویسی فارسی واقعا ایده ی جالبی هست اما فعلا باید بی خیالش شد چون یه زمانی پروژه ام همین بوده و خیلی هم روش فکر کردم که ادامه بدم یا نه...
منم فعلا به علت اینترنتم نمی تونم بیام Yahoo! Messenger یا RaidCall... پس شما اگه می تونی بالاخره با m.4.r.m ویا ho3ein.3ven در تماس باش ...
سلام.
گزارش کار:
فعلا نوع داده ی Single و Double و Ansi String رو می تونیم به هم تبدیل کنیم و مقدار گرد شدن اعداد float رو برای نمایش مشخص کنیم و توابع sin، cos و sqr برای نوع float یعنی single یا double نوشته شدن. که کسایی که می خوان می تونم براشون بذارم. الان باید بریم سراغ تخصیص حافظه ی Dynamic برای نوع String. همچنین یه تحقیقی باید در مورد نوع Currency و Decimal بزنم. FPU از نوع 80 بیتی Extended Precision هم پشتیبانی می کنه که هنوز نمی دونم دقیقا چه جوریه و فعلا کاری باهاش ندارم. در مورد پیاده سازی آرایه ها هم اول فکر می کردم که آرایه هر چند بعدی که بود به جاش یه آرایه ی یه بعدی به اندازه ی مجموع اعضای اون چند بعدی در نظر بگیریم و مکان هر عنصر رو با یه فرمولی بر حسب اندازه ی ابعاد محاسبه کنیم. بعد دیدم یه مشکلی پیش می آد این که اگه اندازه ی ابعاد آرایه یه عبارتی باشه که در زمان اجرا تعیین می شه کامپایلر نمی تونه محاسبه کنه که مثل عنصر (1,1,1) کجا هست چون مشخصات ابعاد رو نداره. بعد این راه به ذهنم رسید که برای رفع مشکل آدرس دهی به عنصری خاص، از اشاره گر ها استفاده کنیم. یعنی مثلا یه آرایه ای از اشاره گر ها داشته باشیم که هر عنصر به یه آرایه ی دیگه اشاره می کنه. این طوری مثلا می شه آرایه ی دوبعدی رو پیاده سازی کرد. فعلا نمی دونم VB6 چه طوری UBound و LBound رو به دست می آره...
سلام دوست عزیز.
خیلی ممنون که انتقاد هاتون رو می کنید. این باعث می شه که حواسم جمع تر بشه. امیدوارم شما هم مثل من انتقاد پذیر باشید. ولی بد نیست به چند تا چیز توجه کنید:
نه دوست عزیز برام یه پروژه پیش اومده!نقل قول:
نسخه Native با نسخه net. چه فرقی می کند؟
ساختار زبان که همان است.
مشکل شما نسخه 6 یا نسخه Net. نیست.
برای شما سوءتفاهمی پیش آمده است.
جمله ی اولتون رو توی گوگل جست و جو کنید فرقش رو متوجه می شید...
در مورد جمله ی دومتون، گل گفتین! ساختار تمام زبان های Basic، همون Basic هست. اما اصلا عین هم نیستن. اسماشون یکیه! شاید فرق VB با VB.net برای شما فقط ۴ حرف باشه... ولی این طور نیست.
نمی دونم مجبور به تفاهم با چه کسی هستم که برام سوء تفاهم پیش اومده!
چون خودم از ملالغتی بازی و جدا کردن قسمت هایی از حرف و ... خوشم نمی آد، همون کاری که شما در جمله های بعدی من کردید، از این جمله ایراد نمی گیرم. فرض می کنم منظورتون همون VB6 بوده از واژه ی کلی Basic.نقل قول:
آینده زبان بیسیک VB.Net است.
پس به عنوان تاپیک نگاه کنید.نقل قول:
محدوده فکر خود را از VB6 فراتر ببرید.
با قسمتی از حرفتون موافقم. البته من این انجمن رو بازار نرم افزاری در نظر نگرفتم. گفتم شاید چند نفر جوون بیان با هم با خیالاتمون حال کنیم، گرچه خیالاتی که سورس کدش موجود باشه دیگه خیالات نیست! همون طور که گفتم من فعلا از دید تجاری به این پروژه نگاه نمی کنم.نقل قول:
بازار نرم افزاری ایران که هیچ حتی در هر جای دنیا طرح چنین مسئله ای خطاست*.
احتمالا به نفر-سال حساب کردید که در یک سال با ۲۶۰۰ نفر می شه این پروژه رو انجام داد. داداش منو از پروژه ی خودم نترسون! این نفر-سال ها رو در مورد زبان های دیگه هم خوندم. اصلا شما متوجه شدید چی در حال ساخته که تخمین زدید؟! نکنه شما هنوز فکر می کنید ما قراره با ۲۶۰۰ نفر-سال کار، همون پروژه ی مایکروسافت رو دقیقا انجام بدیم؟ خواهشا توجه کنید که ما یه چیز ساده می سازیم. بعد در مرحله ی بعد گسترشش می دیم. و آروم آروم بهش شاخ و برگ می دیم...نقل قول:
مدت زمان تکمیل این پروژه برای 100 نفر نیروی کار زبده 26 سال است.
در دید وسیع هیچ شرکتی توان رقابت با مایکروسافت را ندارد.
مایکروسافت از هر شاخه ای وارد شود در آن شاخه پیروز است.
تو این فروم که هیچ شرکتی مشاهده نکردم! دوست عزیز چرا شما فکر می کنید ما توهم رقابت با مایکروسافت و زمین زدنش و ... رو داریم؟
خود مایکروسافت با جمله ی آخرتون موافق نیست!
ای کاش این جمله ی بالا رو از بعد از ویرگول تا علامت تعجبش رو هم می ذاشتید، تا از حرفام برداشت اشتباه نشه...نقل قول:
ببینید نوشتن زبان برنامه نویسی کاری نداره،
دوست عزیز من که کار رو شروع کردم و خیلی از مسائل خودشون رو نشون دادن! هنوز به "غیرممکن" نرسیدم! ولی با خیلی از مسائل دیگه مواجه شدم و جواب هاش رو هم گرفتم.نقل قول:
زمانی که شما کار را شروع کنید ، بعضی از مسائل خودشان را نشان می دهند.
اون دوستمون هدفش این بود که یه مثال بیاره تا یه تصور اشتباه و وحشتناک رو از ذهن بچه ها بیرون بیاره، شاید مثال خوبی گیر نیاورده. ولی خیلی از پروژه های دیگه هم به عنوان نمونه، هستن که شما حتی فکرش رو هم نمی کردی به اون صورت انجام بشه. نمونه دارم...نقل قول:
اگر شما یک زبان فوق شی گرایی جدید ایجاد کنید بله حق با شماست.
حتماً نخستین عکس های سیستم عاملی که توسط این شخص نوشته شد را ببینید.
مقایسه کردن یک پروژه دانشجویی با توضیع های Fedora , ubuntu , knopix و .. که خیلی مضحک به نظر می رسد.
در مورد لینوکس بیشتر تحقیق کنید.
در مورد پروژه گنو بیشتر تحقیق کنید.
در مورد یونیکس بیشتر تحقیق کنید.
اگه منظورتون از تکنولوژی جدید net. هست برا من که قدیمی شده... نیازی نیست کسی رو متقاعد کنم که با این محصول کار کنه. چون برای کسانی نوشته می شه که با VB6 کار می کردن. یه زبان با سینتکس جدید و عجیب و غریب نیست.نقل قول:
اشخاصی که نمی توانند با تکنولوژی جدید کنار بیان چه طور می توانند دیگران رو متقاعد کنند با تکنولوژی من درآوردی خودشان کار کنند!
هر تکنولوژی جدیدی که بخواد بیاد ما خودمونو باهاش تطبیق می دیم. وگرنه باید برنامه نویسی رو گذاشت کنار! اصلا ما این پروژه رو راه انداختیم که خودمون رو با تکنولوژی های جدید مطابق کنیم نه این که دوباره عینا همون VB6 رو بسازیم!نقل قول:
بله حق با شماست ولی با این تفاوت که اتفاقی که در آینده ذهن شماست هم اکنون به واقعیت پیوسته است.
لطفاً در مورد تکنولوژی WPF تحقیق کنید.
این که نظراتتون رو بگید برام جالبه، اما بعضی نظرات بوی توطئه و ناامیدی می ده!نقل قول:
البته از حرف های بنده خرده نگیرید.بالاخره نظر بنده بود.
برنامه نویسای واقعی، با روحیه ی مناسب حرفه شون، کارشون رو با علاقه انجام می دن و ناامید نمی شن. اگه چیز کاربردی ای می سازن که به ملت هدیه کنن، کارشون رو می کنن و حتی نگران اسم محصول یا این که فلان شرکت چه قدر پول داره و ... هم نیستن! مثل لینوس تروالدز که لینوکس رو ساخت و از اسم اشتباه GNU Linux خوشش نمی اومد ولی کارشو کرد چون کارشو دوست داشت...
سلام...
پیشنهاد جالبیه! :متفکر: اما واسه این که فعلا خودمونو گم نکنیم، اول با سینتکس VB6 می نویسیم، که اصل کار انجام بشه بعد در مرحله گسترش به این پیشنهاد هم فکر می کنیم...نقل قول:
خیلی برای بنده جالب میشه شما در مورد تفاوت سینتکس های PicBasicPro و VB6 و VB.net و Basic4Android صحبت کنید.
البته تطابق با هر تکنولوژی ای که مربوط باشه...نقل قول:
چه طور WPF را به مجموعه VB6 که قرار بر گسترش آن دارید را اظافه می کنید.
ببینید برای ما مهم نیست که مایکروسافت WPF داده یا همون Silverlight یا هزارتا چیز دیگه... برای ما این مهمه که نهایتا Assembly کار چی هست؟ مایکروسافت گفته کد مقصدمون باید چه Format ای داشته باشه؟ مثلا الان ما کد مقصد رو مطابق با Win32/64 API در نظر گرفتیم. همچنین بعدا قراره طوری توسعه بدیم زبان رو که کد مقصد برای Platform های مختلف تولید بشه. برای Linux همون طور که Linux می خواد، برای MacOS همون طور که MacOS می خواد، و برای Windows همون طور که مایکروسافت در آینده می خواد. اصلا اگه من بگم می خوایم Cross-Platform بسازیمش کی به چه طریقی می خواد انتقاد کنه که نمی شه کرد؟ آیا Linux هم برنامه نویسا رو مجبور به استفاده از استاندارد های Windows کرده، یا Windows مجبور به استفاده از استانداردهای یه محیط دیگه ... ؟ اصلا یه زبان مستقل از Platform رو شما چه طور می خواید با نقشه های مایکروسافت مورد انتقاد قرار بدید؟ مهم اینه که تا سیستم عامل هست یه ساختاری هست که یه کامپایلر کد هاش رو با اون ساختار تولید کنه... دیگه نمی فهمم این مدل انتقاد هایی که دوستان در این مورد کردن چی بود؟!
کلش رو جدی گرفتید :چشمک:نقل قول:
توطئه؟
البته خود VB6 رو گسترش نمی دیم، چون خودش غیر قابل گسترشه باید یه چیز به روز و از پایه ساخت ولی با برخی ویژگی های مشابه... من هم برای شما، خودمون، برنامه نویسای ایرانی آرزوی موفقیت می کنم...نقل قول:
برای گسترش VB6 توسط شما آرزوی موفقیت می کنم.
با سلام ! دو تا سوال داشتم !!
کار شروع شده !؟ کیا شرکت میکنن !؟؟
بعد به طور تقریبی چقد طول داره تا کل کارتون تموم شه ؟
موفق باشید !!
سلام دوست عزیز.
کار شروع شده.
الان دو نفر دارن مشارکت می کنن:
m.4.r.m
ho3ein.3ven
یه نفر دیگه هم با این Yahoo Id احتمالا مشارکت بکنه: brpalove
زمان تموم شدن کار هم معلوم نیست. ولی این معلومه که هنوز سرعتمون با این تعدادمون کمه!
اگه می خواید به هر نحوی تو کار مشارکت داشته باشید، پیام خصوصی بدید...
شما هم موفق باشید!
به جای این پست های الکی هر کدومتون یه تابع اسمبلی رو قبول می کردین نصف کار کامپایلر حل شده بود چرا الکی شور میدید نمیخواید کار کنید بگید آقا ما نیستیم الکی جو سازی نکنید اصلا ما سه نفر میخوایم یه چیزی درست کنیم که دوست داریم هر کی پایس بسم الله هر کی نمی خواد صدق الله .... واسلام .
m.4.r.m جان واقعا راست می گی...
اگه این حرفه ای ها به جاش می اومدن نفری یه Type رو تو Assembly پیاده سازی می کردن کار بهتر پیش می رفت و الان ما رفته بودیم سراغ مسائل دیگه...
یعنی حداقل جلبک کاربردش اینه که می تونه یه اسم فانتزی واسه زبان برنامه نویسیت باشه!!!
گزارش کار:
۱. این توابع هم پیاده سازی شده:
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 رو زنده نگه دارید!!
من به شما پیشنهاد می کنم زبان برنامه نویسی رو روی FrameWrok Qt درست کنید تا از کتابخانه های Qt استفاده کنه اما با سینتکس VB6...
این کار چه فایده ای داره!؟
همونطور که میدونید Qt یک چارچوب کاری Cross-Platfom هست و کاملا رایگان و Open Source در نتیجه،
زبان برنامه نویسی شما Cross-Platfom خواهد شد ، Open Source خواهد شد (در صورت نیاز) این عامل باعث میشه پروژتون با سرعت بیشتری توسعه پیدا کنه...
و از همه مهم تر دیگر نیاز نیست شما در گیر مسائلی مثل Multi Threading یا کار با فایل یا شبکه بشین...
چون تمام این کتابخانه از قبل نوشته شده و آمادست و در نتیجه حجم کد نویسیتون خیلی کم خواهد شد...
اما نکته ای که اینجاست نمیتونین بگین اینکه یک زبان برنامه نویسی ساختید...
اما پروژه ی جالبی انجام خواهید داد...
در واقع چیزی شبیه PyQt که امکان میده با زبان برنامه نویسی Pythone از کتابخانه های Qt استفاده کنیم... (البته چیزی شبیه PyQt)
در واقع شما IDE خواهید ساخت که به شما کمک می کنه با سینتکس VB6 تحت FrameWork Qt بتونید کد بزنید و نرم افزارتون رو با سادگی بیشتر و سریع تر توسعه بدید...
نظرتون چیه!؟
:تشویق::تشویق: آفرین! جمله قشنگ و حکیمانه ای بود ...
درسته من فعلا وقت ندارم باهاتون همکاری کنم:ناراحت: ولی پیگیر پستتاتون تو این قسمت هستم ... هرچند که از خیلیاش چیزی نمیفهمم
(به نظرم این پست، دقیقا مصداق بارز پستهای بی محتوا و غیر کاربردی و به درد نخور باشه!:لبخند:)
پست شما بوی توطئه نمی ده! همچنین پست جناب returnx...!
واقعا بالاخره یکی به جای انتقاد/پیشنهاد های تکراری، جواب داده شده و ... یه انتقاد/پیشنهاد مفید و جالب کرد!
می دونستم Qt یه Framework هست ولی تا جایی که فهمیدم، مثل این که یه کتابخونه برای ++C و البته زبان دیگه ای که بخواد ازش استفاده کنه هست؟ درست؟ و قابلیت تولید فایل های Standalone و Native رو داره؟ اگه از هر زبانی می شه از کتابخونه های Qt استفاده کرد چه طور که مثلا از DLL های مختلف استفاده می کنیم، پس نمی شه گفت زبانی که از Qt استفاده کنه حتما کامپایلر نیست؟ مگر این که کدمون رو به زبان ++C تبدیل کنیم و از طریق ++C از Qt استفاده کنیم که در این صورت Interpreter نوشتیم نه Compiler...
حالا نمی دونم اگه دوستان Qt کار توضیحات بیش تری بدن ممنون می شم...
نمیدونم باید از کجا شروع کنم تا جواباتون رو بدم ، اما بزارید اول یکم کلی تر در مورد 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()با چند خط بالا می تونید محتویات یک فایل را بخوانید (البته فایل سرایند ، کلاس QFile بالا فراخوانی شده)...در واقع چیزی که شما نیاز خواهید داشت یک کامپایلر VB هست (که نمونه آمادشم اگه اشتباه نکنم میشه گیر آورد) اما اگر هم نشد میشه کد تون رو به C++ ترجمه کنید و بقیه کار را بسپارید به کامپایلر C++ و Qt...
{
//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();
\
}
اگر یادتان باشد ، چند سال قبل پروژه ای به اسم فارسی دات نت انجام شده بود که دقیقا یک همچین کاری می کرد یعنی کدتون رو به فارسی می نوشتید و یک لایه کد را به C# تبدیل می کرد و بعد هم کامپایل!!(ولی این پروژه خیلی موفق نبود!!)
سلام دوست عزیز...
این قسمت خیلی به دردم خورد... پس با این اوصاف همچنان می تونیم با استفاده از FASM از DLL های Qt استفاده کنیم؟نقل قول:
اما نکته ای که باید بهش دقت بشه اینکه که Qt کد محلی سیستم عامل تولید میکنه در نتیجه نیاز به ماشین مجازی برای ترجمه کد ها نیست !! و فقط کافیه کد تولید شده را به یک کامپایلر بدید...
و نکته جالب تر اینجاست که با اینکه کد محلی تولید میشه ، اما باز هم برنامه شما Cross-Platform خواهد بود و شما در واقع فقط باید چند فایل چند MB را در سیستم مقصد انتقال بدید ، بر خلاف .net که باید کل .net چند صد MB را در سیستم مقصد نصب کنید...
این تاپیک رو نگاه کنید: Qt & fasm
نظرتون چیه که کد اسمبلی رو تولید کنیم مثل قبل ولی از DLL های Qt استفاده کنیم؟
به نظر من اگر کاری میکنین هم باید Native باشه و هم قابل پیاده سازی در JVM و CLI
مثل جاوا
تو لینوکس میتونی کاملا کامپایلش کنی
رو JVM هم هست اصلش
به لطف مایکروسافت نسخه CLI هم داره
به دلیل اینکه خیلی رو Assembely کار نکردم ، در این مورد اطلاعات خاصی ندارم...نقل قول:
پس با این اوصاف همچنان می تونیم با استفاده از FASM از DLL های Qt استفاده کنیم؟
فکر می کنم اینطوری کار سخت تر بشه ، فکر کنم اگر کد C++ تولید کنیم و با کامپایلری مثل Mingw کامپایل کنید راحت تر باشه...نقل قول:
نظرتون چیه که کد اسمبلی رو تولید کنیم مثل قبل ولی از DLL های Qt استفاده کنیم؟
من چون ، خیلی رو مسائل مثل کامپایلر نویسی و برنامه نویسی سطح پایین تسلط ندارم ، ترجیح میدم تصمیم گیری را به عهده خودتون بزارم...
سلام دوست عزیز!
اگه از FASM استفاده کنیم همون برنامه های ++C رو همچنان می تونیم به زبان Assembly و برای Platform های مختلف بنویسیم.
در هر Platform ای از Qt می تونیم کمک بگیریم تا خیلی جاها کار راحت تر شه.
به عنوان مثال نمونه برنامه ای که از Qt استفاده می کنه و با FASM نوشته شده رو ضمیمه کردم. توجه کنید که DLL های Qt رو اگه ندارید می تونید به صورت جداگانه دانلود کنید و در کنار فایل exe بذارید.
این mingw که DLL اش هم هست چیه؟ ضمنا منبع خوبی هست که بتونیم در مورد توابع داخل DLL های Qt ازش مطلب استخراج کنیم؟ یه چیزی شبیه MSDN که در مورد API های Windows توضیح می ده...
سلام من کاربر جدیدم و تازه وارد دنیای برنامه نویسی شدم درسته که چیز زیادی بلد نیستم ولی هر کاری از دستم بیاد میکنم با تشکر
بله ، مشکل اینجا نیست ، مشکل تولید کد های اسمبلی هست ، که کار رو سخت میکنه ، مثلا تولید کد اسمبلی برای ایجاد آرایه پویا و...نقل قول:
اگه از FASM استفاده کنیم همون برنامه های ++C رو همچنان می تونیم به زبان Assembly و برای Platform های مختلف بنویسیم
من نمیدونم منظورم دقیقا متوجه شدین یا نه؟ اما منظور من اینکه کار بر بتونه با کمک زبان VB تحت Qt کد بزنه حالا ما میتونیم این IDE که قرار به کاربر کمک کنه رو با هر زبانی بنویسیم ما اگر مطمئنا با Qt باشه خیلی بهتر و راحت تر میشه و همچنین Cross-platfom...نقل قول:
در هر Platform ای از Qt می تونیم کمک بگیریم تا تا خیلی جاها کار راحت تر شه.
mingw در واقع یک کامپایلر C++ هست که یکی از چند کامپایلر خانواده gcc محسوب میشه...نقل قول:
این mingw که DLL اش هم هست چیه؟
برای اینکه برنامه رو که با Qt نوشتید رو کامپایل کنید باید از یک کامپایلر C++ استفاده کنید ، من چون رو سیستمم Visual Studio از قبل نصب بود از msvc ماکروسافت استفاده میکنم ، ولی میشه از gcc هم استفاده کنم...
ببنید ما برای کد نویسی به این DLL ها اصلا نیازی نداریم و فقط موقع اجرا به اونها نیاز پیدا می کنیم و چند تا بشتر هم نیستد ، که با انتقال رو سیستم مقصد برنامتون به درستی کار میکنه ...نقل قول:
ضمنا منبع خوبی هست که بتونیم در مورد توابع داخل DLL های Qt ازش مطلب استخراج کنیم؟
برای کسب اطلاعات هم میتونید به http://doc.qt.digia.com/ برید که خیلی بهتر و قشنگ تر از MSDN مستند سازی شده....
من بهتون توصیع می کنم حتما کتابخونه های Qt و QtCreator که یک IDE برای نوشتن برنامه تحت Qt هست را دانلود کنید و تجربه کد نویسی با Qt رو ببینید...
بعد از مدتی با تکنولوژی های جدیدی آشنا میشید که اصلا با ورتون نمیشه مثلا :
QML (که یک زبان برنامه نویسی هست برای نوشتن سریع برنامه ها برای گوشی های هوشمند و تبلت ) ، Qt +HTML5 که میتونید UI برنامه رو با HTML5 طراحی کنید و کد اصلی برنامه رو با Java Script + C++ بنویسید که خیلی جالب هست و....
به همین دلیل است که میگم اگه بشه در تحت Qt با زبان VB کد زد یکبار دیگه این زبان زنده میشه...
پس کدی که تولید خواهیم کرد، برای پروژه ی اولمون، Qt در ++C خواهد بود؟ خوب کار نسبتا سریع تر انجام می شه و این نکته ی خوبی هست چون بعدا هم می تونیم به این فکر کنیم که به جای کد ++C کد مثلا Assembly رو تولید کنیم...
اما اگه شما و بقیه دوستان Qt کار هم در طول پروژه همکاری کنین خیلی خوب می شه... فعلا که Qt رو از Assembly هم کم تر بلدم!
بنده تا جایی که وقتم اجازه بده کمک خواهم کرد ، اما بهتر این مسئله رو در تالار Qt هم مطرح کنید و نظر دوستان دیگری مثل جناب حامد مصافی که مدیر بخش Qt هستند رو هم بپرسید...
دوستان می خوام باتون همکاری کنم یه فایل اموزشی یا ... هر چیزی که بدرد میخوره بدین اگه خدا خواست و حجم درسم کم شد بتون کمک می کنم
همه برای وی بی وی بی برای همه
این IDE که مد نظر من هست شاید چند لایه داره به این صورت:
1- محیط طراحی ویژوال
2- مترجم VB به C++ (برای تولید فایل کد C++)
3- Linker برای لینک کردن فایل به کامپایلر و نمایش خروجی
برای لایه اول میشه از Qt Desiner که همراه پکیج QtCreator هست استفاده بشه...
برای لایه دوم باید یک مفسر کوچیک بنویسیم که فقط کد های VB رو به C++ بر گردونه...
برای لایه سوم هم باید یکسری کد بنویسیم که فایل کد C++ را به Compiler لینک کنه تا خروجی رو بگیره و برنامه رو اجرا کنه...
تا اونجا که من میدونستم گفتم ، بقیش با شما !!!
البته ساختن این محیطی که م نظر ماست مثل گفتنش آسون نیست!!!
تمام این مراحل این بالا را باید با جزئیاتشون انجام بدیم!!!
آیا میشه یک همچین کاری کرد!؟
سلام.
مراحل تقریبا از هم مستقل هستن و می شه به طور موازی روشون کار کرد...
محیط طراحی ویژوال که تا حالا طراحی نکردم و اگه دوستانی که تجربه دارن انجام بدن بهتره...
قسمت ۲ مسئله ی اصلی ماست و قسمت ۳ هم که پیچیدگی خاصی نداره...
قسمت ۲ رو باید console مانند بنویسیم که از خط فرمان ورودی بگیره و ضمنا باید خیلی تروتمیز بنویسیمش که بعدا در توسعه، برای تولید کد های غیر Qt، به مشکل نخوریم...
الان دوستانی که روی ASM کار می کردن فکر می کنم بهتر باشه فعلا روی مفاهیم مربوط به کامپایلر مطالعه داشته باشن... ایده ها، روش های مرسوم، مشکلات و راه حل هاشون،... که در قسمت ۲ به کار می آد... همون سورس Libry Compiler رو هم نگاه بندازن باعث می شه یه مقدار کار دستشون بیاد...