powerbasic - سریع کم حجم Standalone

saalek110

Well-Known Member
بنام خدا و با سلام.

این تاپیک را ببینید:
PowerBasic

قسمتهایی را نقل می کنم:

من امروز یهو اسم این برنامه رو دیدم و فهمیدم تقریبا شبیه ویبی می شه باهاش برنامه نوشت

ولی کاملا Stand Alone است
به تازگی یه شرکت آمده و یه کامپایلر خفن درست کرده به اسم powerbasic که شما برنامت را به زبان بیسیک در ide اون مینویسی و بعد کامپایل میکنید .. اونم با کامپایلر c مایکروسافت....
اینجوری حجم فایل exe بسیار کم میشه و نیازی هم به فایل ران تایم نخواهد داشت ... از هیچ نوع ..
(برای اطلاعات بیشتر در این مورد به http://www.powerbasic.com مراجعه کنید)
نه داداش توی سایتش گفته نسخه ویندوز اونم هست
فکرشو بکنید برنامه های بیسیک با قدرت C!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

البته 100 درصد شبیه بیسیک نیست و بعضی از ویژگی های C رو هم داره که یه چیز قدرتمند می شه باهاش نوشت

اینطور که من فهمیدم

مثل بیسیک بزرگ یعنی همون قدیمیه باید برنامه رو توی یک فایل Bas بنویسیم و بعد کامپایل کنیم شبیه نوشتن برنامه

توی اسمبلی

ما می تونیم توی این زبان برنامه هایی بنویسیم که پرسرعتتر و با کیفیت تر و کارا تر از ویبی بنیویسیم چون همین طور که کفته شد

یحتمل کدهای ما به وسیله کامپایلر C به کدماشین تبدیل می شه و همه از قدرت کامپایلر سی آگاهی دارند

در کل به نظر می رسه زبان باحالیه

اگه اینطوری باشه دیگه لازم نیست دنبال زبانهای Stand Alone بریم

راستی اینم بگم که نسخه 8 اون کاملا ماله ویندوزه و همین طور می شه

با هاش حتی DLL هم بنویسیم و در برنامه های دیگه به کار ببریم
اینا که ببینید دیگه توی قدرت این زبان شک نمی کنید

این لیست شرکتهایی است که برنامه PowerBasic رو خریدن

توی این لسیت این گزینه ها دیده می شه

مایکروسافت - ناسا - موتورولا و خیلی غوله دیگه

لیست شرکتهای خریدار PowerBasic

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

می شد دید به راحتی با این زبان پیاده می شه

به گفته سایت این نرم افزار با این زبان یک سیستم پدافند موشکی طراحی شده
ورژن 8 اون کاملا Visual است یعنی می تونیم شی گرا هم کار کنیم

یعنی برنامه های Application بسازیم

و یکم توضیح بیشتر :

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

بنویسیم و اونو رو جابجا یا کوچیک و بزرگ کنیم

قلبم داره از جاش می زنه بیرون

واقعا من دنبال یه همچین زبانی بودم چون یک ضعف توی ویبی احساس می کردم

حالا بدون یادگیری زبانهای دیگه با همین زبان می تونیم برنامه هایی با قدرت

++VC بنویسیم

این دیگه چه زبونیه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
فرم اون 20 برابر سریعتر از ویبی لود می شه

سایز برنامه های اون اگه با فایل های مورد نیاز ویبی مقایسه کنیم 23000 برابر کوچکتره

یعنی به گفته خود سایتش یک برنامه Application نوشتن که یک STMP است و برای هرکسی ایمیل می فرسته

تنها حجمش 30 کیلوبایته!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

ولی فقط نوشتن یک پیغام Hello توی بعضی کامپایلر ها برنامه ای میسازه به حجم

40 کیلو بایت

قابلیت اضافه کردن پلاگین برای Debug رو هم داره
اگه این چیزی که من فهمیدم درست باشه

می شه تمامی پروژه هایی رو که توی ویبی داریم توی PowerBasic باز کرد

می دونید چی می شه!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!​!!!!!!!!!!!!!!!!!!!!!!

کنترل های استاندارد PowerBasic

Image/Picture
Stretchable Image
Label/Static Text
Text/Edit Box
Frame/Group Box
Button
Image Button
Stretchable Image Button
Check Box
Check 3 State Box
Option/Radio Button
Combo Box
List Box
Horizontal Scroll Bar
Status Bar



List View Control
Tree View Control
Tab Control
Animate Control
Rich Edit Control
Date Time Picker Control
Month Calendar Control
IP Address Control
Line Control
Spin/Up-down Control
Progress Bar
Slider/Track Bar Control
Hot Key Control
Vertical Scroll Bar
من از بس هیجان زده شدم دیگه نمی تونم صبر کنم

هرچی از مزایای PowerBasic بگم کم گفتم اصلا اینقدر خوبی داره که بدیاش گمه

از نظر ریسورس ها هم کم نداره :

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

قابلیت های مانند String Table را به راحتی هرچه تمام تر در اختیار ما می ذاره

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

و همون طور که در پست قبلی گفتم نزدیک به 30 کنترل استاندارد داره که

توی ویژوال بیسیک فقط 20 کنترل در اختیار داریم

PowerBasic تکنولوژی COM رو هم با قدرت تمام پشتیبانی می کننه

API ها رو کاملا پشتیبانی و حتی راهنمای آنها رو هم داره

به قول سایتش : ما قدرت را در بیسیک قرار دادیم

و ما هم به اونا می گیم دمتون گرم دستتون درد نکنه
اینا بگم که خیلی با حاله :

توی PowerBasic نوشتن برنامه های چند وظیفه ای یا چند ریسمانی به راحتی امکان پذیره

می شه برنامه نوشت که در یک زمان از یکی دو سه کار تا پنج هزار کارو انجام بده

توجه کردین 5000 کار
من گفتم بازم به معرفی پاوربیسک بپردازم :

1-پاوربیسیک مانند کتابخانه های نت کارما رو ساده تر کرده و توابع API که خیلی پراستفاده هستند رو به صورت توابع داخلی درآورده و برنامه را نیازمند توابع API نمی کند

2-با پاور بیسیک کار ساخت فایل برنامه(EXE یا DLL) به آسانی فراهم شده و تمامی مشخصه های فایل را می شود با استفاده از دستورات پیش پردازنده ای تعریف کرد(یعنی بدون نیاز به محیطهای ویژوال)

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

البته استفاده از اسمبلی در زبانهای دیگه نظیر ++C/C و دلفی و ... هم مشکلاتی از قبیل :

1-کم کردن خوانایی برنامه

2-برنامه های دیگر کاملا Stand Alone نیستند(به دلیل وجود پردازنده های مختلف)

3-عدم قابلیت حل آن در زبانهای سطح بالا

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

حالا PowerBASIC نه تنها ضعف Visual BASIC را رفع کرده بلکه رقبای خود مثل سی ++ در این کار کنار زده است

مثلا در سی ++ نمی توانیم از دستورات db یا dw و خیلی چیزهای دیگه استفاده کنیم

این مشکل دیگر در پاور بیسیک نیست

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

حالا به بررسی استفاده از دستورات اسمبلی در پاور بیسیک می پردازیم :

دستورات اسمبلی باید با Asm یا ! شروع شود

یعنی اینطوری :

دستورات اسمبلی Asm

دستورات اسمبلی !

توضیحات اسمبلی با ; شروع می شود

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

کد:
8086/8088, 80286, 80386, 80486, Pentium

یعنی دیگه نباید نگران مشکل برنامه با پردازنده داشته باشیم چون تقریبا تمامی پردازنده ها را پوشش می ده

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

کد:
BYTE
DB, DD, DW, DWD, DWORD
FAR
NEAR
POINTER, PTR
QWD, QWORD
SHORT
TBY, TBYTE`
WORD, WRD

یعنی دیگه مشکل ++C با تعریف نوع ها را ندارید

در پاور بیسیک می توانید از دستورات زیر استفاده کنید :

کد:
AAA, AAD, AAM, AAS, ADC, ADD, AND
BOUND, BSF, BSR, BSWAP, BT, BTC, BTR, BTS
CALL, CBW, CCWD, CDQ, CLC, CLD, CLI, CMC, CMP, CMPSB, CMPSD, CMPSW, CMPXCHG, CPUID, CWDE
DAA, DAS, DEC, DIV
EMMS
F2XM1, FABS, FADD, FADDP, FCHS, FCLEX, FCOM, FCOMP, FCOMPP, FCOS, FDECSTP, FDIV, FDIVP, FDIVR, FDIVRP, FFREE, FIADD, FICOM, FICOMP, FIDIV, FIDIVR, FILD, FIMUL, FINCSTP, FINIT, FIST, FISTP, FISUB, FISUBR, FLD, FLD1, FLDCW, FLDENV, FLDL2E, FLDL2T, FLDLG2, FLDLN2, FLDPI, FLDZ, FMUL, FMULP, FNCLEX, FNINIT, FNLDCW, FNOP, FNSAVE, FNSTCW, FNSTENV, FNSTSW, FPATAN, FPREM, FPREM1, FPTAN, FRNDINT, FRSTOR, FSAVE, FSCALE, FSIN, FSINCOS, FSQRT, FST, FSTCW, FSTENV, FSTP, FSTSW, FSUB, FSUBP, FSUBR, FSUBRP, FTST, FUCOM, FUCOMP, FUCOMPP, FWAIT, FXAM, FXCH, FXTRACT, FYL2X, FYL2XP1

HLT
IDIV, IMUL, IN, INC, INSB, INSD, INSW, INT, INTO, IRET, IRETD
JA, JAE, JB, JBE, JC, JE, JECXZ, JG, JGE, JL, JLE, JMP, JNA, JNAE, JNB, JNBE, JNC, JNE, JNG, JNGE, JNL, JNLE, JNO, JNP, JNS, JNZ, JO, JP, JPE, JPO, JS, JZ
LAHF, LAR, LDS, LEA, LEAVE, LES, LFS, LGS, LOCK, LODSB, LODSD, LODSW, LOOP, LOOPE, LOOPNE, LOOPNZ, LOOPZ, LSL, LSS
MOV, MOVD, MOVQ, MOVSB, MOVSD, MOVSW, MOVSX, MOVZX, MUL
NEG, NOP, NOT
OR, OUT, OUTSB, OUTSD, OUTSW
PACKSSDW, PACKSSWB, PACKUSWB, PADDB, PADDD, PADDSB, PADDSW, PADDUSB, PADDUSW, PADDW, PAND, PANDN, PCMPEQB, PCMPEQD, PCMPEQW, PCMPGTB, PCMPGTD, PCMPGTW, PMADDWD, PMULHW, PMULLW, POP, POPA, POPAD, POPF, POPFD, POR, PSLLD, PSLLQ, PSLLW, PSRAD, PSRAW, PSRLD, PSRLQ, PSRLW, PSUBB, PSUBD, PSUBSB, PSUBSW, PSUBUSB, PSUBUSW, PSUBW, PUNPCKHBW, PUNPCKHDQ, PUNPCKHWD, PUNPCKLBW, PUNPCKLDQ, PUNPCKLWD, PUSH, PUSHA, PUSHAD, PUSHF, PUSHFD, PXOR

RCL, RCR, REP, REPE, REPNE, REPNZ, REPZ, RET, RETF, RETN, ROL, ROR
SAHF, SAL, SAR, SBB, SCASB, SCASD, SCASW, SETA, SETAE, SETB, SETBE, SETC, SETE, SETG, SETGE, SETL, SETLE, SETNA, SETNAE, SETNB, SETNBE, SETNC, SETNE, SETNG, SETNGE, SETNL, SETNLE, SETNO, SETNP, SETNS, SETNZ, SETO, SETP, SETPE, SETPO, SETS, SETZ, SHL, SHLD, SHR, SHRD, STC, STD, STI, STOSB, STOSD, STOSW, SUB
TEST
VERR, VERW
WAIT
XCHG, XLAT, XLATB, XOR


اسمبلر پاور بیسیک از ثباتهای زیر پشتیبانی می کند :

کد:
EAX AX AH AL
EBX BX BH BL
ECX CX CH CL
EDX DX DH DL
ESI SI
EDI DI
ESP SP
EBP BP

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

کد:
CS, DS, ES, SS, FS, GS

می بینید که می شه از سگمنت های کد و دیتا و پشته و .. استفاده کنید

و همچنین اسمبلر پاوربیسیک از ثباتهای MMX و Floating Point

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

و به نظر من حیفه یه بخش برای پاور بیسیک توی این انجمن نباشه

چون حالا دیگه نوشتن برنامه هایی که فقط با اسمبلی و ++C/C قابل نوشتن بود

با بیسیک نیز غیرممکن و سخت نیست

البته دیگه نباید بگیم این زبان با C برابره است چون در نه تنها از این زبان کم نمی یاره

بلکه در بعضی از مواقع قدرتمند تر از C خودنمایی می کنه

اگه یکم حرفه ای با این زبان کار کنید می فهمید چرا
 

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

بالا