ايران ويج

نسخه‌ی کامل: PowerBasic
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
صفحه‌ها: 1 2 3 4 5
حالا می خوام یکم درباره محیط های ویژوال برای این کامپایلر صحبت کنم :

بهترین محیط به نظر من خوده PB Form Editor ه ولی phoenix Visual Desiger هم محیط جالبی داره

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

البته با کامپایلر PowerBASIC حتی بدون محیط ویژوال هم تمامی کارهایی که محیط های ویژوال می کنند

را می توان انجان داد

و محیطهای ویژوال فقط کدها را برای صرفه جویی در وقت تولید می کنند

حالا چندتا عکس از این محیط گذاشتم :

[attachment=1303]

[attachment=1304]

[attachment=1305]

[attachment=1306]

[attachment=1307]

اینها عکسهایی در هنگام ساخت یک پروژه است

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

دیگه نمی شه عکس آپلود کرد.تا پستهای بعدی
:exclamation: ((استفاده از اسمبلی در پاوربیسیک)) Exclamation

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

البته استفاده از اسمبلی در زبانهای دیگه نظیر ++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 خودنمایی می کنه

اگه یکم حرفه ای با این زبان کار کنید می فهمید چرا
چقدر روش داري مانور ميدي يكه تاز!
مايكروسافت مياد شخصا تحريمت مي كنه ها! از ما گفتن بود :d
سلام.
اينم دوتکه (همون 7تايي رو دوتا کردم):
قسمت اول
قسمت دوم

موفق باشي.
از همه دوستان به خاظر همکاریشون تشکر می کنم

می خواستم بگم عجب زبانی یاد می گرفتیم و نمی دونستیم چیه

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

حالا یک کامپایلر دیگه پیدا کردم به نام PureBASIC

که قدرت PowerBASIC رو نداره ولی از ویژوال بیسیک هم قویتره :

1-از دستورهای داخلی زیادی استفاده می کنه (بیشتر از 800 دستور) که کار ساخت برنامه را راحت می کنه

2-تمام کلمات کلیدی بیسیک را پوشش می ده

3-برنامه های ساخته شده توسط آن بسیار سریع اجرا شده

4-برنامه های کاملا Stand Alone و با حجم پایین

5-برای ساخت بازی های 2 بعدی بسیار مناسب و راحت و برای بازی های 3 بعدی از کیفیت بالایی برخوردار است

6-تمامی سیستم عامل ها را پوشش می دهد

7-برای کار با سخت افزار ها نیز مناسب است

8-قابلیت نوشتن کدهای اسمبلی

9-از خطایاب بسیار قدرتمند بهره گرفته و با قدرت جلوی ایجاد باگها را می گیرد

نکته :

درست است که برنامه های ساخته شده با آن Stand Alone است ولی در صورت استفاده از API های مخصوص

یک سیستم عامل برنامه دیگر Stand Alone نیست و در سیستم عامل های دیگر در صورت نبودن فایل

مورد نیاز برنامه اجرا نخواهد شد
اینم لینک دانلود PureBASIC البته آزمایشی است :

1-Windows
دانلود

Linux-2
دانلود

البته برای اجرا صحیح این کامپایلر باید از چند بسته دیگه هم استفاده کنید

از سایتهای زیر دانلود کنید :

http://www.gtk.org/

http://www.libsdl.org/
Mac-3
دانلود

Amiga-4
دانلود

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

مراجعه شود به پست بالا
((معرفی خانواده بزرگ BASIC))

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

ولی من می خوام تقریبا تمامی ورژن های BASIC رو با شرح بسیار کوتاهی بنویسم :

حالا اصلا می خوایم ببینیم این BASIC از کجا اومده :

BASIC مخفف عبارت زیر است :

Beginner's All-purpose Symbolic Instruction Code

اولین BASIC در سال 1964 یعنی در حدود 44 سال پیش توسط جان کمنی و توماس کارتز ساخته شد که به دارتموث بیسیک معروف شد

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

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

1-برای شروع برنامه نویسی بسیار مناسب بود

2-یک ربان همه منظوره بود

3-اجازه کارکرد حرفه ای اما ساده به خبرگان را می داد

4-یک زبان محاوره ای بود(یعنی به زبان محاوره ای انسان ها نزدیک بود)

5-دارای خطایاب کاربرپسند و واضحی بود

6-برای برنامه های کوچک بسیار مناسب بود

7-نیاز به کامپیوتری قوی (از نظر سخت افزاری)نداشت

8-کاربر را در برابر سیستم عامل محافطت می کرد (یعنی کاربر را مستقل از سیستم عامل قرار می داد)

BASIC تا حدی بر پایه FORTRAN II و ALGOL60 بود

از بیسیک کلاسیک تا VB.Net2008 کدنویسی این زبان تغییر چشم گیری کرده است

در بیسیک های اولیه :

کد:
10 INPUT "What is your name: ", U$
20 PRINT "Hello "; U$
30 INPUT "How many stars do you want: ", N
40 S$ = ""
50 FOR I = 1 TO N
60 S$ = S$ + "*"
70 NEXT I
80 PRINT S$
90 INPUT "Do you want more stars? ", A$
100 IF LEN(A$) = 0 THEN 90
110 A$ = LEFT$(A$, 1)
120 IF A$ = "Y" OR A$ = "y" THEN 30
130 PRINT "Goodbye ";U$
140 END

که به روش عیرساخت یافته معروفه.سپس به روش ساخت یافته معروف شد :

کد:
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
  INPUT "How many stars do you want: ", NumStars
  Stars$ = STRING$(NumStars, "*")
  PRINT Stars$
  DO
    INPUT "Do you want more stars? ", Answer$
  LOOP UNTIL Answer$ <> ""
  Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$

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

کد:
Public Class stars
    Public Sub Main()
        Dim UserName, Answer, stars As String
        Dim NumStars, I As Integer
        Console.Write("What is your name: ")
        UserName = Console.ReadLine()
        Console.WriteLine("Hello {0}", UserName)
        Do
            Console.Write("How many stars do you want: ")
            NumStars = CInt(Console.ReadLine())
            stars = New String("*", NumStars)
            Console.WriteLine(stars)
            Do
                Console.Write("Do you want more stars? ")
                Answer = Console.ReadLine()
            Loop Until Answer <> ""
            Answer = Answer.Substring(0, 1)
        Loop While Answer.ToUpper() = "Y"
        Console.WriteLine("Goodbye {0}", UserName)
    End Sub
End Class
-------------------------------------------------------------------------------------

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

1-کلاسیک

2-رویداد گرا

3-رویداد گرا + کمی از قابلیت های شی گرا

4-شی گرا

-------------------------------------------------------------------------------------

1-بیسیک کلاسیک :

نقل قول:
Atari BASIC · Atari ST BASIC · Dartmouth BASIC · GW-BASIC · Microsoft BASICA · MSX BASIC · Turbo-Basic XL · UBasic · Vilnius BASIC · HP BASIC for OpenVMS

2-بیسیک رویداد گرا:

نقل قول: BBC BASIC · Liberty BASIC · PowerBASIC · PureBasic · QBasic · QuickBASIC · True BASIC · Turbo Basic · XBasic

3-بیسیک رویدادگرا + دارای قابلیتهای شی گرا :

نقل قول: FreeBASIC · Gambas · RapidQ · REALbasic · StarOffice Basic · Visual Basic

4- بیسیک شی گرا :

نقل قول: Vusal BASIC.Net

منبع : ویکی پدیا
yeketaz نوشته است:8-کاربر را در برابر سیستم عامل محافطت می کرد (یعنی کاربر را مستقل از سیستم عامل قرار می داد)
؟؟؟؟؟
اگه منظورتون cross platform باشه
فکر نمیکنم ویژوال بیسیک cross platform باشه
ميگم يكه تاز جان، همچين يه نمور فعال شدي ها :d (سو تفاهم نشه ها شوخي مي كنم)

من كه از رابط اين پاوربيسيك همچين خوشم نيومد (شايد چون به وي بي 6 عادت كردم!) ولي خب اين فرم اديتورش جالب و خوب بود. (خوشمان آمد!)

واسه يه بخش جداگانه براي اين پاوربيسيك هم شديدا ً موافقم و خودم هم پشتيباني مي كنم از طرحتون.
حالا يه آموزش كوچولو ميشه بذارين واسه اين پاور؟! آخه يكم كد نويسيش شبيه سي + + بود اگه اشتباه نكنم؟!Amaze
اول جواب آقای لرد :

نه ویژوال بیسیک این قابلیت رو نداره.البته منم بهتر بود می گفتم اکثر بیسیکها دارای اون قابلیت ها هستند

چون همون طور که گفتم نسخ متفاوت بیسیک دارای مزایا و معایب مختلفی بود

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

---------------------------------------------------------------------------------------------------------------------------------------------

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

انشاالله اگه این انجمن راه بیفته حتما یه آموزش از پاور بیسیک می ذارم

تقریبا همه اول فکر می کنند PowerBASIC شکل ++C. درصورتی که شباهتش خیلی خیلی نا چیزه که اونم قابله حله

من محیط Phoenix Visual Designer رو توصیه می کنم:

چون همون جا فرم را طراحی رویداد ها را ساخته و کدنویسی می کنید.خطاها را می بینید و از کار با خیلی از توابع بی نیاز می شوید
تکامل از BASICA تا Visual BASIC.Net

BASICA>>GW-BASIC>>QuickBASIC(QB,QBASIC)>>Visual BASIC>>Visual BASIC.Net

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

مثلا خوده QBASIC پایه ساخت FreeBASIC شد البته FreeBASIC نه تنها برپایه QB بلکه بر پایه C نیز سوار است
صفحه‌ها: 1 2 3 4 5