تبليغاتX
دنیای مجازی

استخاره با قرآن
استخاره با قرآن

+ نوشته شده توسط امین حاجی علیزاده در شنبه بیست و نهم بهمن 1390 و ساعت 11:32 |

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

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

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

گناهانم را به شیطان و روحم را به خدا بسپارید و اگر گاهی دوست داشتید یادم کنید. عمل خیری انجام دهید، یا به کسی که نیازمند شماست، کلام محبت آمیزی بگویید.
 

اگر آنچه را که گفتم برایم انجام دهید، همیشه زنده خواهم ماند... 


 

+ نوشته شده توسط امین حاجی علیزاده در شنبه بیست و نهم بهمن 1390 و ساعت 9:16 |

Dim ds As New DataSet()

    Dim strSql As String

    Dim strCon As String

    Dim da As OleDbDataAdapter

    Dim con As OleDbConnection

    Dim newRow As DataRow

    Dim cb As OleDbCommandBuilder

strCon = "Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = /inetpub/wwwroot/db/student.mdb"

        strSql = "Select * from StTable"

        con = New OleDbConnection(strCon)

        con.Open()

        da = New OleDbDataAdapter(strSql, con)

       a.Fill(ds, "stTable")

newRow = ds.Tables("StTable").NewRow()

        newRow("StNo") = Val(StNo.Text)

        newRow("Name") = FirstName.Text

        newRow("Course") = Course.Text

        newRow("Ave") = Val(Ave.Text)

        newRow("NumUnit") = Val(NumUnit.Text)

        ds.Tables("stTable").Rows.Add(newRow)

        cb = New OleDbCommandBuilder(da)

        da.InsertCommand = cb.GetInsertCommand()

        da.Update(ds, "stTable")

        con.Close()

        StNo.Text = ""

        FirstName.Text = ""

        Course.Text = ""

        Ave.Text = ""

        NumUnit.Text = ""


+ نوشته شده توسط امین حاجی علیزاده در دوشنبه هفتم آذر 1390 و ساعت 11:2 |

بعد از اینکه فایل مورد نظر رو دانلود کردین ویژوال بیسیک رو باز کنین و از منوی Project گزینه Refrences رو بزننین و در پنجره باز شده دکمه فرمان Browse رو بزنین و آدرس فایل vbogl.tlb (همون فایلی که دانلود کردین) رو باز کنین و بعد از انتخاب کردن فایل vbogl.tlb روی دکمه فرمان Open کلیک کنید. بعد در داخل کادری که لیست DLL های شناسایی شده است به دنبال VB OpenGL API 1.2 بگردین و تیک کنار اون رو فعال کنین. برای اینکه کدهایی که ما مینویسیم با استفاده از روتین های OpenGL هست در داخل فرم ما نمایش داده نمیشه و ما برای اینکه کدهایی که مینویسیم اجرا بشه باید تغیراتی در برنامه ایجاد کنیم برای اینکار:در ویژوال بیسیک از منوی Project روی Project Properties کلیک کنید تا جعبه تنظیم خواص پروژه باز بشه.بعد از لیست باز شو Startup Object گزینه Sub Main را انتخاب کنید و OK را بزنید. حالا میریم سراغ کد نویسی: از منوی Project گزینه Add Module را بزنید تا برای شما یک ماژول جدید بسازد.بعد خاصیت Name ماجول رو برابر با OpenGLMain قرار دهید. حالا ما کدهای اصلی که موتور گرافیکی ۳ بعدی ما رو میسازه مینویسیم. روی ماجول جدید خود دابل کلیک کنید تا پنجره View Code باز بشه.و بعد کدهای زیر رو بنویسید: Sub Main()    Dim Done As Boolean    Dim frm As Form    Done = False    Set frm = New Form1    If Not CreateGLWindow(frm, 640, 480, 16) Then Done = True       Do While Done = False    If (DrawGLScene = False) Then    Unload frm    Else SwapBuffers (frm.hDC)    DoEvents    End If    Done = frm.Visible = False    Loop    Set frm = Nothing    End End Sub در قطعه کد بالا ابتدا یک متغیر از نوع بولین تعریف میکنیم . تا وقتی که متغیر Done مقدار False داشته باشد برنامه ما ادامه پیدا میکند ولی هر گاه که متغیر Done برابر با True شود برنامه خاتمه پیدا میکند. در خط بعدی ما یک متغیر به نام frm از نوع Form تعریف میکنیم و در خط پنجم نیز متغیر frm را به فرم برنامه مرتبط میکنیم.در خط ششم نیز از یک دستور شرطی استفاده کردیم که هرگاه CreateGLWindow (که در ادامه آن را میسازیم و کار آن ساخت پنجره ای است که اشیا دو بعدی و چند بعدی ما در آن نمایش داده شوند) برابر با مقداری خلاف قوانین ما شد برنامه خاتمه پیدا کند و باعث هنگ کردن سیستم نشود. در ادامه ما باید پنجره نمایش اشیا را که نام آن CreateGLWindow است بسایم. برای این کار کدهای زیر را در ماجول بنویسید: Public Function CreateGLWindow(frm As Form, Width As Integer, Height As Integer, Bits As Integer) As Boolean    Dim PixelFormat As GLuint    Dim PFD As PIXELFORMATDESCRIPTOR        PFD.cColorBits = Bits    PFD.cDepthBits = 16    PFD.dwFlags = PFD_DRAW_TO_WINDOW Or PFD_SUPPORT_OPENGL Or PFD_DOUBLEBUFFER    PFD.iLayerType = PFD_MAIN_PLANE    PFD.iPixelType = PFD_TYPE_RGBA    PFD.nSize = Len(PFD)                         'X    PFD.nVersion = 1            PixelFormat = ChoosePixelFormat(frm.hDC, PFD)                         'X    If PixelFormat = 0 Then    KillGLWindow    MsgBox "Can't set the:", 16    CreateGLWindow = False    End If        If SetPixelFormat(frm.hDC, PixelFormat, PFD) = 0 Then    KillGLWindow    MsgBox ""                     'X    CreateGLWindow = False    End If       hrc = wglCreateContext(frm.hDC(    If hrc = 0 Then    KillGLWindow    MsgBox "Can't rendering Context:", vbExclamation, "ERROR    CreateGLWindow = False    End If        If wglMakeCurrent(frm.hDC, hrc) = 0 Then    KillGLWindow    MsgBox "Can't Active rendering Context:", vbExclamation, "ERROR    CreateGLWindow = False    End If    frm.Show    If Not InitGL() Then    KillGLWindow MsgBox "Initialize Failed!",vbExclamation,"Error    CreateGLWindow = False    End If        CreateGLWindow = True         End Function در داخل روتین بالا دو تابع دیگر به نام های KillGLWindow و InitGL فراخوانی شده اند که ما باید اونها رو در داخل ماجولمون بنویسیم. کار تابع CreateGLWindow در اصل ساخت Engin (موتور) گرافیکی است و توابع دیگر مانند KillGL و InitGL کارهایی از قبیل خطا زدایی انجام میدهند بنابر این تابع CreateGLWindow مهمترین تابع برنامه ماست چون که موتور گرافیکی ما رو میسازه. برای نوشتی تابع KillGLWindow کدهای زیر رو به ماجولتون اضافه کنین: Public Sub KillGLWindow()                                  If hrc Then    If wglMakeCurrent(0, 0) = 0 Then    MsgBox "Rilase DC and RC Failed.", vbInformation, "ShutDownError"                         End If    If wglDeleteContext(hrc) = 0 Then    MsgBox "Failed", vbInformation, "ERROR"                       '    End If    hrc = 0    End If     End Sub حالا باید تابع InitGL رو بنویسیم که کار این تابع پاک کردن صفحه نمایش و آماده سازی آن برای رسم اشکال سه بعدی است. برای نوشتن تابع InitGL کدهای زیر رو به ماجول برنامتون اضافه کنین: Public Function InitGL() As Boolean    glClearColor 0.5, 0.5, 1, 0    InitGL = True End Function. برای ادامه کار شما باید یک ماجول دیگه با نام DrawShape بسازین . برای این کار از منوی Project روی منوی Add Module کلیک کنید و خاصیت Name ماجول جدید خود را برابر با DrawShape کنید. حالا باید تابعی رو بنویسیم که کار رسم اشکال دو بعدی و سه بعدی رو برعهده داره.اسم این تابع DrawGLScene است که برای نوشتن آن کدهای زیر را به ماجول DrawShape اضافه کنین: Publice Function DrawGLScene() as Boolean glClear clrcolorbufferbit  DrawGLScene = True End Function حالا برنامه ای رو که ساختین اجرا کنین اگه کارها رو درست انجام داده باشین باید رنگ پشت زمینه فرم شما آبی رنگ بشه . قسمت 2 ما در این جلسه تمام سروکارمون با ماجول DrawShape است و در داخل تابع DrawGLScene باید کدهای مربوط به رسم اشکال را بنویسیم. برای رسم اشکال ما باید از تابع glBegin استفاده کنیم. تابع glBegin به OpenGL میگوید که ما آماده رسم اشکال هستیم. برای رسم اشکال بعد از فراخوانی تابع glBegin با کمک تابع glVertex و glColor ما مختصات راس های شکل مورد نظر و رنگ مورد نظر که به شکل پاشیده میشود را رسم میکنیم. در پایان نیز با تابع glEnd به OpenGL میگوییم که کار رسم کردن شکل ها به پایان رسیده است. تابع glBegin پارامتری به نام Mode دارد که به کمک پارامتر Mode ما میتوانیم اشکال هندسی مختلفی رسم کنیم . مثل : مربع و مستطیل و مثلث و چندضلعی های دیگر. پارامتر Mode مقادیریرا میتواند بگیرد که تعدادی از آنها در زیر آمده است: مقادیر توضیحات                   bmPoints رسم نقاط جدا از هم bmLines رسم خط که دو راس دارد bmLineStrip رسم خط های به هم پیوسته bmLineLoop رسم خط های به هم پیوسته bmTriangles رسم مثلث با دادن سه راس bmTriangleStrip رسم مثلث های به هم پیوسته bmTriangleFan رسم مثلث های به هم پیوسته با یک راس مشترک bmQuads رسم چهار ضلعی هایی که دارای یک راس مشترک هستند bmQuadStrip رسم چهار ضلعی های به هم پیوسته bmPolygon رسم چند ضلعی که ضلع های آن به تعداد دلخواه است رسم دایره در جلسات بعد توضیح خواهم داد این مقادیری که در جدول نوشتم توضیح خواهم داد ۱- bmPoints رسم نقطه: برای اینکه ما بتونیم یک نقطه روی فرممون رسم کنیم باید مقدار Mode رو به bmPoints ست کنیم. برای رسم یک نقطه در ماجول DrawShape و در تابع DrawGLScene  کدهای زیر رو بنویسید: Publice Function DrawGLScene() as Boolean glClear clrColorBufferBit   glBegin bmPoints glVertex2f  0,0 glEnd   DrawGLScene = True End Function در مثال بالا کدهایی که کمرنگ تر هستند رو برای یادآوری نوشتم. شما دیگه لازم نیست که یک تابع جدید DrawGLScene تعریف کنید چون این کار باعث ایجاد مشکل در برنامه میشه. در مثال بالا در خط سوم به کمک تابع glBegin به OpenGL فرمان دادیم که برایمانPoint(نقطه) رسم کند. در خط چهارم نیز به کمک تابع glVertex2f (که یکی از توابع بسیار مهم OpenGL هست) مختصات نقطه ای که باید رسم شود را نوشتیم.در خط پنجم نیز به رسم نقطه پایان دادیم. با اجرا کردن برنامه باید در وسط فرم شما یک نقطه رسم شده باشد. شما میتوانید هرچه قدر که نقطه دوست دارین رسم کنین با تابع glBegin bmPoints / glEnd رسم کنین. شاید شما بخواین که نقطه ای رو که رسم میکنین بزرگتر بشه و نقاطی رو رسم کنین که جای بیشتری میگیرن برای این کار از تابع glPointSize استفاده کنین. برای مثال شما در نمونه برنامه ای که در بالا آمده شد این تابع رو اضافه کنین و مقدار اون رو به 50 ست کنین به این صورت: glPointSize  50 با این کار نقطه شما ۵۰ برابر بزرگتر میشه. توجه : تابع glPointSize را حتما باید قبل از تابع glBegin  bmPoints تعریف کنین. گاهی وقت ها برای شما پیش میاد که  چرا وقتی نقطه ای رو بزرگ میکنیم دقت گرافیکی اون نقطه کم میشه و به شکل مربع در میاد برای برطرف کردن این مشکل و به عبارتی دندانه زدایی تابعی وجود دارد که از پر کاربردترین توابع openGL است. تابع glEnable : تابع glEnable مقادیری را میگیرد که در زیر فقط به مقدار glcPointSmooth اشاره میکنیم. مقدار glcPointSmooth برای افزایش دقت گرافیکی اشیا و همچنین دندانه زدایی آنهاست. برای اینکه بهتر با این تابع و مقدار تابع آشنا بشین بعد از تعریف کردن تابع glPointSize در خط بعد از آن تابع glEnable را تعریف کنید. به این صورت: glEnable  glcPointSmooth   ۲- bmLines  رسم خط : برای رسم خطوط در OpenGL از تابع glBegin و با ثابت bmLines استفاده میکنیم. در این تابع به جای اینکه یکبار تابع glVertex2f را فراخوانی کنیم باید دو تا تابع glVertex2f فراخوانی کنیم چراکه برای رسم خط به دو مختصات ( مختصات نقطه اول پاره خط و مختصات پایان رسم پاره خط) احتیاج داریم. glBegin  bmLines glVertex2f  -0.5 , 0 glVertex2f  0.5 , 0 glEnd در مثال بالا با دادن دو مختصات خطی برای ما رسم میشود. برای دندانه زدایی خطوط قبل از فراخوانی تابع glBegin تابع glEnable با  مقدار glcLineSmooth بنویسید. به صورت زیر: glEnable  glcLineSmooth تمرین جلسه دوم : ۱- نقطه ای رسم کنید که انداره اون ۲۵ برابر نقطه معمولی باشه و دندانه نداشته باشد. 0-    با رسم ۳ خط یک مثلث بسازین.             قسمت 3-------------------------------------------------------------------- ۳- bmTriangles  رسم مثلث: برای رسم مثلث های گوناگون ( متساوی ها و قائم الزاویه ها و ...) از تابع glBegin با دادن ثابت bmTriangles میتوانیم بعد از فراخوانی سه تابع glVertex2f (که رئوس اضلاع مثلث را شامل میشوند) مثلث مورد نظر را رسم کنیم. در مثال زیر یک مثلث با رنگ آبی در وسط فرم نمایش داده میشود. glBegin  bmTriangles glcolor3f  0, 0, 1 glvertex2f  0.5 , 0 glvertex2f  0 , 0.5 glvertex2f  -0.5 , 0 glEnd شاید با تابع glColor3f آشنا نباشید. تابع glColor3f باعث میشود که رنگ مورد نظر برای اشیا را مشخص کنیم. تابع glColor#f که # در آن از ۳ تا ۴ میباشد رنگ مورد نظر را تایین میکند. در ادامه درباره این تابع بیشتر صحبت میکنم.   ۴- bmQuads  رسم چهار ضلعی ها (از جمله لوزی / مربع / مستطیل / ذوزنقه و سایر چهار ضلعی ها: برای رسم چهار ضلعی ها مانند رسم سایر اشیا از تابع glBegin استفاده میکنیم و مقدار Mode تابع glBegin را برابر bmQuads می کنیم. در مثال زیر یک مستطیل در نیمه ی بالایی فرم رسم میکنیم: glBegin bmQuads glcolor4f  0,1,0 ,0 glVertex2f  0.5 , 0 glvertex2f  0.5 , 0.5 glvertex2f  -0.5 , 0.5 glvertex2f  -0.5 , 0 glEnd همان طور که در مثال بالا می بینید ما برای رسم مستطیل از چهار تابع glVertex2f استفاده کرده ایم. دلیل استفاده از تابع glVertex تایین رئوس اضلاع مستطیل است.   ۵- bmPolygon رسم چند ضلعی: برای رسم چند ضلعی باید بعد از فراخوانی تابع glBegin از ثابت bmPolygon استفاده کنیم . برای رسم چند ضلعی ها ما میتوانیم در داخل بلوک glBegin/glEnd به تعداد دلخواه تابع glVertex فراخوانی کنیم چرا که تعداد اضلاع به تعداد توابع glVertex بستگی دارد. در مثال زیر یک ۶ ضلعی بارنگ قرمز رسم میکنیم.    glBegin bmPolygon    glColor3f 1, 0, 0  glVertex2f 0.5, 0    glVertex2f 0.3, 0.5    glVertex2f -0.3, 0.5    glVertex2f -0.5, 0    glVertex2f -0.3, -0.5    glVertex2f 0.3, 0.5    glEnd   و اما رسم دایره: شما میتونین برای رسم دایره به کمک تابع glBegin و ثابت bmPolygon دایره رسم کنین ولی تعداد خطوطی که باید کد بنویسین خیلی زیاد میشه. Open GL برای رسم دایره از یک کتابخانه کمکی به نام glu استفاده میکند . در ادامه چگونگی رسم دایره. برای رسم دایره دیگر نمیتوانیم از تابع glBegin استفاده کنیم زیرا تابع glBegin ثابتی ندارد که بتواند دایره رسم کند. پس: برای رسم دایره شما ابتدا باید یک متغیر از نوع Variant تعریف کنید: Dim Q as Variant بعد از تعریف کردن متغیر باید اون رو برای رسم دایره آماده کنین به این صورت: Q = gluNewQuadric بعد باید رنگ مورد نظر خودتون رو به دایره بدین: glColor3f  0,0,1 بعد از اون هم باید چگونگی نمایش دایره رو مشخص کنیم( این موضوع برای استفاده سه بعدی کاربرد دارد و من در جلسه بعد به توضیح این تابع میپردازم اما بد نیست که بهتر با تابع آشنا بشین.) gluQuadricDrawStyle  Q , qdsLine در ادامه نیز به رسم دایره میپردازیم: gluSphere  Q , 0.5 , 20 , 20 بعد هم برنامه را اجرا میکنیم و نتیجه را می بینیم. مثال بالا در کل به این صورت است: Dim Q Q = gluNewQuadric glcolor3f 0 , 0 , 1 gluQuadricDrawStyle  Q , qdsLine gluSphere  Q , 0.5 , 20 , 20 تمرین ۱- چهار ضلعی رسم کنین که رنگ آن قرمز باشد. سپس در وسط آن چهار ضلعی یک مثلث به رنگ آبی رسم کنین. ۲- دایره ای رسم کنین که رنگ آن سبز باشد . قسمت 4-------------------------------------------------------------- در جلسه چهارم آموزش OpenGL یاد میگیرین که : ۱- اشیای خود را با چند رنگ مختلف رسم کنین. (برای مثال گوشه بالا سمت راست آبی و نیمه پایینی مربع قرمز باشد و وسط مربع نیز ترکیبی از این دو رنگ.) ۲- اشیای سه بعدی رسم کنین. 3-چگونگی متحرک سازی اشیای سه بعدی.       ۱- رنگ آمیزی اشیا: یکی از قابلیت های مهم OpenGL ترکیب رنگ های مختلف در یک شئ است. که در این کار هر راس از شئ رنگ متفاوتی میگیرد. برای این کار تابعی وجود دارد که نام آن glShadeModel است . این تابع به OpenGLمیگوید که اشیای ما فقط یک رنگ بگیرند یا  با چند رنگ مختلف رنگ آمیزی شوند. این تابع دو ثابت دارد: ۱: smFlat  فقط یک رنگ میتوانیم به شئ اختصاص دهیم. ۲: smSmooth  می توانیم ترکیبی از رنگها را به شی اختصاص دهیم. در حالت پیش فرض مقدار تابع glShadeModel برابر smFlat است که ما در این صورت فقط یک رنگ میتوانیم به شئ مان اختصاص دهیم. باید همیشه این نکته را توجه داشته باشید که تابع glShadeModel  قبل از بلوک glBegin / glEnd بیاید که در غیر این صورت خطا رخ میدهد. در مثال زیر یک مثلث با رنگ های قرمز و سبز و آبی رسم میکنیم: glShadeModel  smSmooth glBegin  bmTriangles glcolor3f  1,0,0 glVertex2f  0.5, 0 glColor3f  0 , 1 , 0 glVertex2f  0 , 0.5 glcolor3f  0 , 0 , 1 glVertex2f  -0.5 , 0 glEnd حالا برنامتون رو اجرا کنین و نتیجه رو مشاهده کنین. حالا برای تمرین مقدار تابع glShadeModel را برابر smFlat قرار دهید و نتیجه رو نگاه کنین.   ۲- رسم اشیای سه بعدی: برای رسم اشیای سه بعدی همانند رسم اشیای ۲ بعدی عمل میکنیم . یعنی اینکه با فراخوانی بلوکglBegin .../.../glEnd میتوانیم اشیای سه بعدی رسم کنیم. رسم اشیای سه بعدی بسیار بسیار ساده و آسان است و برای برنامه نویسان OpenGL لذت بخش ترین بخش برنامه نویسی است. ما برای رسم اشیای سه بعدی به جای استفاده از تابع glVertex2f از توابع glVertex3f و یا glVertex4f استفاده می کنیم . مطمئنم که فهمیدید . بله در تابع glVertex2f همان طور که از شماره ۲ آن معلوم است توانایی رسم اشیای ۲ بعدی را دارد اما توابع glVertex3f , glVertex4f بر اساس شماره آنها توانایی رسم اشیای سه بعدی را  دارند. شکل کلی تابع glVertex3f به صورت زیر است: glVertex3f  X , Y , Z که در این تابع x و y همان مختصات معمولی رئوس شئ هستند ولی z عمق شی را نشان می دهد. مختصات اشیای سه بعدی: کسانی که برنامه نویس هستند قطعا مختصات سه بعدی رو هم بلدند اما مختصات سه بعدی مختصاتی فرضی است و فقط با مغز انسان قابل درک است. در مثال بعد یک مثلث سه بعدی رسم میکنم: مثال: رسم مثلث ۳ بعدی: glShadeModel  smSmooth glBegin  bmTriangles glColor3f  1,0,0 glVertex3f  0.5 , 0, 0 glColor3f  0,1,0 glVertex3f  0 , 0.3 , 0 glColor3f  0,0,1 glVertex3f  -0.5 , 0 , 0 glEnd مثال بالا را اجرا کنین و نتیجه کدهایی که نوشتین رو نگاه کنین. ممکنه بعد از اجرای برنامه با خودتون بگین که ما یک مثلث سه بعدی رسم کردیم ولی چرا از یک بعد قابل روئیت بود ! برای اینکه از تمامی ابعاد و از همه طرف مثلث رو ببینین باید اون رو متحرک کنین.(یعنی حرکت بدین.)   ۳- متحرک کردن اشیای سه بعدی: برای متحرک کردن اشیای سه بعدی OpenGl تابعی دارد که نام آن glRotatef است . تابع glRotateF دارای ۴پارامتر است و شکل کلی آن به این صورت است: مختصات Z , مختصات Y , مختصات X , سرعت حرکت    glRotatef در این تابع هر چه مقدار سرعت حرکت بیشتر باشد شئ مورد نظر ما با سرعت بیشتری حرکت میکند . در مثال زیر یک مثلث سه بعدی با سه رنگ متفاوت را به حرکت در می آوریم: glRotatef  2 , 0.5 , 0.5 , 0.5 glShadeModel  smSmooth glBegin  bmTriangles glColor3f  1,0,0 glVertex3f  0.5,0,0 glColor3f  0,1,0 glVertex3f  0,0.3,0 glColor3f  0,0,1 glColor3f  -0.5,0,0 glEnd مثال بالا رو هم حتما اجرا کنین و نتیجه رو ببینین. همون طور که در مثال بالا مشاهده می کنین تابع glRotatef نیز باید در قبل و خارج از بلوک glBegin/glEndباشد قسمت 5 ------------------------------------------------------------ در این جلسه یاد میگیرین که: ۱- رسم مکعب: ۲- رسم کره: ۳- رسم منشور و اهرام( مکعب مثلث): ۴- رسم استوانه ( یا دیسک): در این جلسه چگونگی رسم مکعب و کره و اهرام را میدم و رسم استوانه را  برای جلسه بعد . چرا که رسم استوانه و دیسک کاملا با بقیه مکعب ها فرق داره و مستلزم اختصاص دادن وقت بیشتری برای آموزش آن داره پس برای رسم مکعب خودتون رو آماده کنین.   ۱- رسم مکعب (مکعب مربع و مستطیل): رسم مکعب های سه بعدی بسیار ساده است و ما با استفاده از بلوک glBegin/glEnd مکعب های سه بعدی خودمان را رسم می کنیم. برای اینکه چگونگی رسم مکعب های سه بعدی رو یاد بگیرین خطوط زیر را با دقت بخونین: می دونید که مربع دارای چهار راس است . همچنین از چهار پاره خط تشکیل شده است. یک مکعب مربع یا مستطیل از شش تا چهار ضلعی تشکیل شده است . همچنین این شش تا چهار ضلعی دارای ۱۲ پاره خط است . برای درک بهتر شما یک مثال میزنم تا بهتر بفهمین. در مثال زیر با استفاده از رسم شش تا مربع یک مکعب مستطیل میسازیم: glShadeModel smSmooth glRotatef  1,0.5,0.3,0.2     glBegin bmQuads         glColor3f 0#, 1#, 0#         glVertex3f 0.5, 0.5, -0.5         glVertex3f -0.5, 0.5, -0.5         glVertex3f -0.5, 0.5, 0.5         glVertex3f 0.5, 0.5, 0.5         glColor3f 1#, 0.5, 0#         glVertex3f 0.5, -0.5, 0.5         glVertex3f -0.5, -0.5, 0.5         glVertex3f -0.5, -0.5, -0.5         glVertex3f 0.5, -0.5, -0.5         glColor3f 1#, 0#, 0#         glVertex3f 0.5, 0.5, 0.5         glVertex3f -0.5, 0.5, 0.5         glVertex3f -0.5, -0.5, 0.5         glVertex3f 0.5, -0.5, 0.5         glColor3f 1#, 1#, 0#         glVertex3f 0.5, -0.5, -0.5         glVertex3f -0.5, -0.5, -0.5         glVertex3f -0.5, 0.5, -0.5         glVertex3f 0.5, 0.5, -0.5         glColor3f 0#, 0#, 1#         glVertex3f -0.5, 0.5, 0.5         glVertex3f -0.5, 0.5, -0.5         glVertex3f -0.5, -0.5, -0.5         glVertex3f -0.5, -0.5, 0.5         glColor3f 1#, 0#, 1#         glVertex3f 0.5, 0.5, -0.5         glVertex3f 0.5, 0.5, 0.5         glVertex3f 0.5, -0.5, 0.5         glVertex3f 0.5, -0.5, -0.5     glEnd مثال بالا رو اجرا کنین و نتیجه رو نگاه کنین.   ۲- رسم کره: رسم کره نیز همانند رسم دایره است و هیچ فرقی ندارد . دایره ای را که در جلسات پیش رسم کردیم سه بعدی بود اما به علت اینکه متحرک نبود از همه طرف قابل دیدن نبود . در مثال زیر یک کره به شعاع ۵/۰ رسم میکنیم. Dim Q Q = gluNewQuadric glColor4f  1 , 1 , 0 , 1 gluQuadricDrawStyle  Q , qdsLine glSphere  Q , 0.5 , 25 , 25 شاید برای شما این سوال پیش آید که آیا تابع glColor4f هم وجود دارد؟ باید در پاسخ شما بگم که بله البته که وجود داره. شکل کلی تابع glColor4f به صورت زیر است: مقدار آلفا , رنگ آبی , رنگ سبز , رنگ قرمز   glColor4f در تابع بالا مقدار آلفا رقیق یا غلیظ بودن سطح رو مشخص می کنه. به عبارت دیگه مقدار نوری که پاشیده می شود از سطح(شئ) بگذرد یا نگذرد. (در جلسات بعدی چگونگی نورپردازی نیز آموزش داده می شود.) تمرین ۱- سعی کنین که یک مکعب متوازی الاضلاع رسم کنین و اون رو متحرک کنین. ۲- قسمت های اصلی کره زمین ( پوسته و گوشته و هسته) را با رسم سه کره شبیه سازی کنین و سعی کنین هر قسمت یک رنگ داشته باشد.(مثلا پوسته آبی , گوشته نارنجی , هسته قرمز)     قسمت 6 ------------------------------------------------------- در این قسمت یاد میگیرین که دیسک رسم کنین و در ادامه نیز چگونگی چسباندن عکس به اشکال سه بعدی رو یاد میگیرین. ۱- رسم استوانه: ۲- رسم دیسک: ۳- رسم دیسک مجهول(مثلا دیسک نیم دایره)   برای رسم استوانه و دیسک و دایره ما از کلاس Quadric استفاده میکنیم.به طور کلی هر شئی که دایره در آن به کار رفته باشد وابسته به کلاس Quadric است. ۱ - رسم استوانه: برای رسم استوانه ما ابتدا یک متغیر از نوع Variant تعریف می کنیم . سپس متغیر را برابر کلاس Quadricقرار میدهیم بعد از آن هم با توابع کتابخانه glu اشکال مورد نظر خود را رسم میکنیم.کدهای زیر رو درDrawGLScene (مکان رسم اشکال) بنویسید: Public  Xrot , Yrot , Zrot  as GLfloat Public Function DrawGLScene() as Boolean glClear  clrColorBufferBit glLoadIdentity glRotatef  xrot , 1 , 0 , 0 glRotatef  yrot , 0 , 1 , 0 glRotatef  zrot , 0 , 0 , 1   Dim Q Q = gluNewQuadric gluQuadricDrawStyle  Q , qdsLine glColor4f  1,1,1,1 gluCylinder Q , 0.3 , 0.3 , 0.8 , 15 , 15   Xrot = Xrot + 0.3 Yrot = Yrot + 0.2 Zrot = Zrot + 0.4   DrawGLScene = True End Function کدهایی که کمرنگ هستند تکراری هستند و فقط برای یادآوری بود که کدهای مربوط به رسم اشیا باید در این فانکشن نوشته شوند. تحلیل کد برنامه: در خط اول ابتدا سه متغیر برای متحرک کردن شئ نوشتیم.در خط چهارم به کمک تابعglLoadIdentity شئ خود را ثابت و بدون حرکت کردیم تا حرکت را به عهده متغیر ها قرار دهیم. خط های ۸ و۹ و ۱۰ و ۱۱ و ۱۲ را برای رسم استوانه نوشتیم. خط های ۱۳ و ۱۴ و ۱۵ هم برای متحرک کردن شئ است. و اما شکل کلی تابع gluCylinder (تابع رسم استوانه): gluCylinder خطوط عمودی , خطوط افقی , ارتفاع استوانه , شعاع دایره بالایی استوانه , شعاع دایره پایینی  , متغیر به همین سادگی شما یک استوانه رسم کردید.   ۲ - رسم دیسک : رسم دیسک نیز مانند رسم استوانه است با این تفاوت که به جای استفاده از تابعgluCylinder باید از تابع gluDisk استفاده کنیم. کدهای زیر رو در فانکشن DrawGLScene بنویسید: Public Xrot , Yrot , Zrot  as  GLfloat Public Function DrawGLScene () as Boolean glClear  clrColorBufferBit glLoadIdentity glRotatef  xrot , 1 , 0 , 0 glRotatef  yrot , 0 , 1 , 0 glRotatef  zrot , 0 , 0 , 1   Dim Q Q = gluNewQuadric gluQuadricDrawStyle  Q , qdsLine glColor4f  1,0,0,1 gluDisk Q , 0.1 , 0.7 , 15 , 15   Xrot = Xrot + 0.3 Yrot = Yrot + 0.2 Zrot = Zrot + 0.4   DrawGLScene = True End Function   ۳ - رسم دیسک مجهول(مثل دیسک نیم دایره): برای رسم دیسک مجهول به جای استفاده از تابع gluDisk باید از تابع gluPartialDisk استفاده کرد. کدهای زیر رو هم امتحان کنین. Public Xrot , Yrot , Zrot as GLFloat Public Function DrawGLScene() as Boolean glClear  clrColorBufferBit glLoadIdentity glRotatef  xrot , 1 , 0 , 0 glRotatef  yrot , 0 , 1 , 0 glRotatef  zrot , 0 , 0 , 1   Dim Q Q = gluNewQuadric gluQuadricDrawStyle  Q , qdsLine glColor4f  1,0,0,1 gluPartialDisk  Q , 0.1 , 0.7 , 15 , 15 , 0 , 250   Xrot = Xrot + 0.3 Yrot = Yrot + 0.2 Zrot = Zrot + 0.4   DrawGLScene = True End Function شکل کلی تابع gluPartialDisk همانند تابع gluDisk است و فقط یک پارامتر بیشتر دارد(پارامتر آخر)  و این پارامتر مشخص کننده مقدار مجهولی دیسک است
+ نوشته شده توسط امین حاجی علیزاده در چهارشنبه دوم آذر 1390 و ساعت 13:33 |

Sub Button_Click( s As Object, e As EventArgs )
  Dim objCookie As HttpCookie

  objCookie = New HttpCookie( txtCookieName.Text, txtCookieValue.Text )
  Response.Cookies.Add( objCookie )
End Sub

Sub Page_PreRender( s As Object, e As EventArgs )
  Dim strKey As String

  For each strKey in Request.Cookies
  lblCookies.Text &= "

  • " & strKey & "=" & Request.Cookies( strKey ).Value
      Next
    End Sub

  • + نوشته شده توسط امین حاجی علیزاده در پنجشنبه پنجم آبان 1390 و ساعت 10:41 |
     
    •OpenGL بطور دقیق به عنوان ” واسط نرم افزاری برای سخت افزار گرافیکی“ شناخته می شود.
     
    •در حقیقت، یک کتابخانه گرافیک 3 بعدی و مدل سازی است که بسیار سریع و قابل انتقال است.
     
    •با استفاده از این کتابخانه می توان تصاویر گرافیکی بسیار زیبایی ساخت که دارای کیفیتی نزدیک به کیفیت بینایی انسان است. 
    + نوشته شده توسط امین حاجی علیزاده در پنجشنبه پنجم آبان 1390 و ساعت 10:36 |

    Sub Button_Click( s As Object, e As EventArgs )
       If ViewState("TotalCount") = Nothing Then
            ViewState("TotalCount") = 1
       Else
            ViewState("TotalCount") += 1
       End If
       Label1.Text = ViewState("TotalCount")
    End Sub

    + نوشته شده توسط امین حاجی علیزاده در پنجشنبه پنجم آبان 1390 و ساعت 10:33 |

    محتویات فایل global1.asax

    Sub Session_Start()
      If Application( "HitCount" ) Is Nothing Then
        Application( "HitCount" ) = 0
      End If
    End Sub

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

    Sub Page_Load()
         Dim count As Integer = Str(Application("HitCount"))
         count += 1
         Application("HitCount") = count
         Label1.Text = "Number of resquests is :" + count.ToString()
    End Sub

    + نوشته شده توسط امین حاجی علیزاده در پنجشنبه پنجم آبان 1390 و ساعت 10:21 |
    نقطه ی عطف صدا :: در ژرفای صدایت چیزی نهفته است... سری نهان است... در ژرفای صدایت دنیاییست پر از احساس در زلال بی کرانش ماهی های نقره ای می رقصند... در افق نگاهت خورشید طلوع می کند و پرندگان با هر کوچشان تازه می شوند... در ژرفای صدایت... انگار واژه ها خجالت می کشند...می خواهم از تو بنویسم، پس واژه های طلایی ام کو؟ دنبالشان می گردم...اما آنها در پس و پیش ذهنم قایم می شوند... در عوض هر کدام به نیابت از خودشان ترانه ی نابی را می فرستند در سردر ذهنم...انگار می خواهند بگویند:((بیا...این هم یک دنیا واژه ی طلایی...آن هم با صدا یک مرد نازنین...)) "ای تبلور حقیقت" نه، نمی شود... می خواهم به اندازه صد سال آرشیو وبلاگم، برای تو نوشته شود...می خواهم انقدر بگویم تا خوابم ببرد...مثل همیشه که شبها آنقدر گوش می دهم تا پلک هایم گرم می شود و...وقتی که بیدار می شوم انگار که چیزی را از دست داده باشم. خوب می دانم...این ناتوانی، این لکنت، این گم کردن واژه ها... می دانم امشب همه گرفتارش شدیم... این حال و روزآدمهایی ست که شیفته ی عشقی بی تعریف اند. شاید ساده ترین جمله ها بهترینها باشد... قبل از اینکه کسی رنگ و بوی مبالغه را به آنها داده باشد، اولین بار برای ناب تری معنیشان به کار رفتند. جملاتی مثل: "میلادت مبارک... ." سعی کردم به چشمانت خیره شوم و بفهمم در چه اندیشه ای هستی... شاید با آنها بشود چیزی نوشت برای امشب...اما نگاهت آنقدر عمیق بود که در آن غرق شدم... و چه پرسش های بی جوابی ... "تو منو از شب گرفتی" می دانم؛ چیزهایی که می گویم قابل فهم نیست! من احساساتم را می گویم... عمیق ترین هایشان را... سخت است؛ باور کن، نا جیه عاطفه ی من... "من آن موجم که بی تو آرامش ندارم..." "تو منو دادی به خورشید"
    + نوشته شده توسط امین حاجی علیزاده در شنبه سی ام مهر 1390 و ساعت 10:3 |

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

    به عنوان مثال با اجرای کدهایی که در ادامه ملاحظه خواهید کرد متن زیر را می توانید بسازید

     csharpcode

    SolidBrush br1 = new SolidBrush(Color.White);

    StringFormat fmt = new StringFormat();

    fmt.Alignment = StringAlignment.Center;

    fmt.LineAlignment = StringAlignment.Center;

    Font font = new Font("Freestyle Script", 24);

    Rectangle rc = new Rectangle(0, 0, 400, 200);

    LinearGradientBrush br2 = new LinearGradientBrush(rc, Color.Red, Color.DarkRed, 45, true);

    Bitmap bmp = new Bitmap(400, 200);

    Graphics g = Graphics.FromImage(bmp);

    g.FillRectangle(br2, rc);

    g.DrawString("http://www.csharpcode.blogfa.com", font, br1, rc, fmt);

    bmp.Save("csharpcode.bmp", System.Drawing.Imaging.ImageFormat.Bmp);

    g.Dispose();

    ولی در ابتدا باید فضای نام زیر را اضافه نمایید

    using System.Drawing.Drawing2D;

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه بیست و دوم اسفند 1389 و ساعت 11:41 |

     

    واژه رئالیسم از رئل(Real) که به معنای واقع است، مشتق شده و در واقع به معنای مکتب اصالت واقع است.

    مکتب رئالیسم نقطه مقابل مکتب ایده آلیسم است؛ یعنی مکتبی که وجود جهان خارجی را نفی کرده و همه چیز را تصورات و خیالات ذهنی می‌داند.

    رئالیسم یعنی اصالت واقعیت خارجی. این مکتب به وجود جهان خارج و مستقل از ادراک انسان، قائل است. ایده آلیست‌ها همه موجودات و آنچه را که در این جهان درک می‌کنیم، تصورات ذهنی و وابسته به ذهن شخص می‌دانند و معتقدند که اگر من که همه چیز را ادراک می‌کنم نباشم، دیگر نمی‌توانم بگویم که چیزی هست. در حالی که بنابر نظر و عقیده رئالیستی، اگر ما انسان‌ها از بین برویم، باز هم جهان خارج وجود خواهد داشت. به طور کلی یک رئالیست، موجودات جهان خارج را واقعی و دارای وجود مستقل از ذهن خود می‌داند.می داند.

    باید گفت در واقع همه انسانها رئالیست هستند، زیرا همه به وجود دنیای خارج اعتقاد دارند. حتی ایده آلیست‌ها نیز در زندگی و رفتار، رئالیست هستند، زیرا باید جهان خارج را موجود دانست تا بتوان کاری کرد و یا حتی سخنی گفت.

    کلمه رئالیسم در طول تاریخ به معانی مختلفی غیر از معنایی که گفته شد، استعمال شده‌است. مهمترین این استعمال‌ها و کاربردها، معنایی است که در فلسفه مدرسی یا اسکولاستیک(Scholastic) رواج داشته‌است.

    در میان فلاسفه مدرسی، جدال عظیمی بر پا بود که آیا کلی وجود خارجی دارد و یا اینکه وجودش فقط در ذهن است؟

    کسانی که برای کلی واقعیت مستقل از افراد قائل بودند، رئالیست و کسانی که کلی را تنها دارای وجودی ذهنی و در ضمن موجودات محسوس می‌دانستند و برای آن وجود جدا از جزئیات قائل نبودند، ، ایده آلیست خوانده می‌شدند.

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

    رئالیسم نوعی«واقع گرایی» است در رمان و نمایشنامه که خیال پردازی و فردگرایی رومانتیسم را از بین می‌برد و به مشاهدهٔ واقعیت‌های زندگی و تشخیص درست علل و عوامل و بیان تشریح و تجسم آنها می‌پردازد.

    هدف حقیقی رئالیسم تشخیص تأثیر محیط و اجتماع در واقعیت‌های زندگی و تحلیل و شناساندن دقیق "تیپهاً یی است که در اجتماع معینی به وجود آمده‌است.
    + نوشته شده توسط امین حاجی علیزاده در سه شنبه چهارم خرداد 1389 و ساعت 23:14 |
    امسال هم با تمام روز های خوب وبدش گذشت امیدوارم سال آینده تمام ۳۶۵ روزش برای همه خوب باشه همیشه به طلوع خورشید امیدوار باش عزیزم  !!!!!!
    + نوشته شده توسط امین حاجی علیزاده در دوشنبه نوزدهم اسفند 1387 و ساعت 11:10 |

    شناخت عبارت INSERT

    ساختار دستور عبارت Insert شبيه به عبارت Select می باشد، بيشترين شکل مبنای آن عبارت است از:

    INSERT [INTO] Table-or-View [(Column-List)]

    VALUES (Value-List)

    هر عبارت Insert می تواند يک جدول يا نما منفرد را به هنگام سازد. زمانی که شما از عبارت Insert برای به هنگام سازی يک نما استفاده می کنيد شما بايد آگاه باشيد از محدوديتهای زير:

    View نبايد شامل يک تابع به هم پيوسته مانند COUNT يا AVG باشد.

    View نبايد شامل Top ، GROUP BY ، UNION يا DISTINCT باشد.

    View نبايد شامل يک ستون محاسبه شده باشد.

    View بايد يک جدول را در شرط From باز گرداند.

    عبارت Insert ستونهاي يک جدول منفرد را فقط به هنگام می سازد.

    ليست ستون در عبارت Insert اختياری می باشد. اگر آن فراهم نگردد عبارت Insert بايد شامل مقاديری برای همه ستونها در جدول يا نما باشد و آنها بايد به همان ترتيب به عنوان ستونهايی در جدول يا نما فراهم شوند. اگر چه شما می توانيد از کليدهای ويژه DEFAULT برای مشخص کردن مقادير پيش فرض برای يک سطر استفاده کنيد. زمانی که ليست ستون گنجانده می شود. آن يک فرمت شبيه از ليست ستون در عبارت Select  می گيرد: يک ليستی از نامهای ستون که با کاما جدا شده است. از زمانی که يک عبارت Insert می تواند يک سطر را فقط برای يک جدول اضافه کند، شما معمولاً نياز به استفاده کردن مشخصه نام جدول برای نام ستون نخواهيد داشت.

    استفاده کردن از عبارت INSERT

    يک عبارت Insert می تواند با استفاده کردن از قاب Grid برای مشخص کردن ستونها يا با استفاده کردن قاب SQL برای وارد کردن مستقيم عبارت ايجاد گردد.  

    درج کردن سطرها با استفاده از قاب Grid

    قاب Grid احتمالاً آسانترين راه برای ايجاد يک عبارت Insert می باشد از زمانی که ياد آوردن هر ساختار دستور مورد درخواست شما نباشد.

    درج کردن يک سطر با استفاده از قاب Grid

    1- پوشه Tables را از پايگاه داده Aromatherapy راهبری کرده، جدول Oils را در قاب Details کليک راست می کنيم. در زير منوی Open Table رفته و Query را انتخاب می کنيم. Query Designer همه چهار قاب نشان داده شده را باز می کند.


    راهنمايی: فرمان Query در Open Table يا زير منوی Open View يک راه سريعی برای باز کردن  Query Designer با همه قابهای نشان داده شده می باشد. اگر چه حالت SQL پيش فرض SELECT*FROM می باشد Query اجرا نمی گردد بنابراين هيچ سطری باز نخواهد گشت.

    2- قاب SQL و قاب Results را پنهان می سازيم.


    3- دکمه Change Query Type را در نوار ابزار Query Designer کليک می کنيم و Insert را از ليست انتخاب می کنيم. Query Designer قاب Grid را تغيير می دهد بنابراين آن فقط ستون و سل ها با مقادير جديد را نشان می دهد.


    4- ستون OilName را برای قاب Grid اضافه کرده و مقدار جديدش را InsertFromGrid قرار می دهيم.


    5- دکمه Run را در نوار ابزار Query Designer برای اجرای Query کليک می کنيم. Query Designer يک متنی را نشان می دهد که سطر اضافه شده برای جدول را تأييد می کند.

     

    6- OK را برای بستن جعبه متن کليک می کنيم. بدون بستن Query Designer يک نمای جديد از جدول Oils با کليک راست کردن جدول Oils در قاب Details باز می کنيم. بر روی جدول Open رفته و همه سطرهای بازگشتی را انتخاب می کنيم. يک نمونه جديد از Query Designer باز می شود و همه سطرها در جدول Oils را نشان می دهد.

    7- پايين آوردن Scroll به آخر جدول اين موضوع را تأييد می کند که يک سطر جديد اضافه شده است.

    مهم: OilID در پايگاه داده تان احتمالاً با ID که خودمان وارد می کنيم تطابق ندارد. به ياد داشته باشيد که OilID به عنوان يک Identity Column تعريف می گردد. موجوديت ستونها SQL Server ضمانت  می کند که يکپارچه باشند اما آنها ضرورتاً پی در پی نمی باشند.

    + نوشته شده توسط امین حاجی علیزاده در دوشنبه نوزدهم اسفند 1387 و ساعت 11:7 |
    ظرفيت هارد ديسك
    ويندوزXPپس از نصب استاندارد ، فضايي بيش از 5 /1 گيگابايت از هارد را اشغال مي كند . شما با چند تغيير مي توانيد چند صد مگابايت از ظرفيت درايو را آزاد كنيد . براي اين كار بايد حالت Standby را غير فعال كنيد . اين عملكرد در ويندوزXP، فايل.sys Hiberfilدر فهرست اصلي را در پارتيشن سيستم قرار مي دهد . اگر به عملكرد Standby احتياجي نداريد ، آن را با دستور زير ، غير فعال كنيد :

    Start > settings > Control panrl > power Options
    درزبانه Power Schemesقسمت System Standby راروي Never تنظيم كنيد .


    پاك سازي و مرتب سازي هارد از فايل هاي زائد
    با استفاده از ابزار پاك سازي اطلاعات ، مي توانيد فايل هاي زائد و اضافي را پاك كنيد . درايوي را كه مي خواهيد مرتب سازي كنيد . انتخاب و دستور زير را اجرا كنيد :
    star / programs / Accessories / Tools / Disk Cleanup

    نمايش گروهي
    براي اين كه بتوانيد همه فايل هاي موجود را به صورت يك فهرست درWindows Explorerنمايان كنيد از طريق منويViewوارد قسمتArrange lcon Byشويد وTypeرا فعال كنيد .


    غير فعال كردن خاصيتwinzipدر ويندوز
    در كامپيوتر هاي با سرعت پايين ، عملZipبه عنوان ترمزي براي سرعت سيستم به حساب مي آييد . اگر با يكPCبا سرعت پايين كار مي كنيد . توصيه مي شود كه اين عملكرد را غير فعال كنيد . از طريقstart / Runخط فرمان را باز كنيد و در سطر فرمان دستورzipfldr .dllRegsvr32 /Uرا تايپ كنيد . پس از تاييد توسط كليدOK، پيغامي ظاهر مي شود كه عمل غير فعال ، در همان مسير قيد شده در سطر فرمان دستورRrgsvr32 zepfldr . dllرا وارد كنيد .

    ايجاد يك آيكون براي قفل كردن كامپيتر
    نحوه ايجاد آيكني كه مي توانيد با دو بار كليك سريع آن ، سيستم رت در وضعيتLockقرار دهيد . براي چنين كاري ابتدا در صفحهDesktipراست كليك كرده و سپس گزينهshortcutNew / راانتخاب كنيد . در كادر متنيType the Location of lte ltemدستور زير را وارد نماييد :
    rundll32 . exe user32 . dll . Lockworkstation
    سپس گزينهNextرا انتخاب كرده و يك نام دلخواه براي ميانبر مزبور انتخاب كنيد . پس ازاين مرحله مي توانيد با قرار دادن آيكون ميانبر در هر محل دلخواهي با دو بار كليك سريع در آن سيستم رت در وضعيت قفل قرار دهيد .

    My Document را جابجا كنيد
    روي آيكونMy Documentدر صفحه نمايشتان ، كليك راست كنيدpropertiesو از پنجره ظاهر شده دكمهMoveرا انتخاب كنيد ، پوشه اي را كه قرار است محتوايMy Documentخود را به آن ، انتقال دهيد . اگر پوشه مورد نظرتان وجود ندارد مي توانيد از طريق گزينهMake New folderپوشه جديدي براي خود انتخاب كنيد .

    نحوه استفادهRemote Desktop
    شركت ماكروسافت با قرار دادن برنامهRemote Desktopدر نسخهXp professionalخود اين امكان را براي كار بران فراهم ساخت تا از راه دور به كامپيوتري در محل ديگر دسترسي يابند . در واقع شيوه كار اين برنامه به نحوي است كه به نحوه برقراري ارتباط ، سيستم راه دور به طور اتوماتيكLockمي شود و مادامي كه به آن مرتبط هستيد هيچ شخص ديگري نمي توتند به برنامه ها ، فايل ها و ساير منابع آن دسترسي داشته باشيد و هنگامي كه به محل كارتان باز گرديد مي توانيد آن را با فشار دادن كليد هاي Alt+CTRl+DEL از حالتLock خارج نماييد . از ديگر ويژگي هاي اين برنامه امكانloginدر يك زمان بر روي چند سيستم مي باشد ، حتي در حالتي كه ديگران نيز به آن سيستمLog inكرده باشند ، كار بر مي تواند برنامه هاي آن ها را بطور همزمان اجرا كند . براي دسترسي به امكانات و اجراي اين برنامه بايد موارد زير را در نظر داشته باشيد :
    - يك كامپيوتر كه در آن ويندوزXP professional نصب شده و دسترسي به محيط اينترنت و يا شبكه را دارد .
    - يك كامپيوتر ديگر در منزل و يا در همان محل شركت ( كه از طريق شبكه داخلي با هم مرتبط هستند ) با امكان دسترسي به اينتربت و مودم .
    - نام كاربري، كلمه رمز عبور و مجوز هاي مناسب


    نصب فكس
    براي فعال كردن اين ويژگي در ويندوزتان ( البته در ويندوزXP) كافي است از پنجره Add / remove program panelControlو سپسComponenents Add / Remove Windowsرا انتخاب كنيد و از پنجره ظاهر شده گزينهFax Servicesرا برگزينيد دكمهNextرا انتخاب كنيد . پس از اين از شما براي نصب ، سي دي ويندوزتان را مي خواهيد كه با گذاشتن آن ، اين برنامه نصب مي شود .


    فكس بفرستيد
    براي اين كارDocumentمورد نظر را كه مي خواهيدFaxكنيد ، باز كرده و از منويfileگزينهprintرا انتخاب و در پنجرهprinter Boxبر روي گزينهFaxكليك كنيد تا ويزاد SendFaxباز شود ( توجه داشته باشيد در برنامه هايOfficeبراي اين كار بايد از منويfileگزينهSendو سپسFax Recipientرا انتخاب كنيد . ويزاردي با همان صورت ظاهر مي شود ) در مرحله بعد نوبت به اضافه كردن نام فردي مي شود كه مي خواهيد به ويFaxبزنيد . پس از طي اين مرحله ، آماده ايدDocumentخود را از طريقFaxبفرستيد .

    فشرده كردن فايل ها
    براي فشرده كردن يك فولدرXPياMeروي صفحهDesktopيا درون يك فولدر راست كليك كرده ، از منوي ظاهر شدهNewراانتخاب كنيد و سپس روي گزينهCompressed ( zipped ) folderكليك كنيد . يك فولدر جديد از ن.ع فشرده
    ( Compressed )در آن محل ايجاد مي شود كه نام پيش فرض آن( Ziped ) Folder New Compressedاست .
    فولدر هاو فايل ها يي كه مي خواهيد روي آنها پسورد بگذاريد انتخاب كنيد و با استفاده ازCutوPasteبه اين فولدر فشرده انتقال دهيد .


    رمز گذاري روي فايل ها
    فولدر فشرده را باز كنيد و از منوي فايل گزينهAdd a password( در ويندوزMeگزينهEncrypt) را انتخاب كنيد . كلمه عبور دلخواه خود را در قسمتPasswordوارد كنيد و دوباره آن را در قسمتConfirm Passwordتايپ كنيد و دكمهOKرا بزنيد . از حالا به بعد تنها كاربراني كه كلمه عبور را بدانند قادر به باز كردن ، كپي يا انتقال محتويات اين فولدر هستند .


    منويFavoriteرا رويDesktopقرار دهيد
    از منويStartگزينهRunرا انتخاب كنيد . حال در قسمتOpenاز اين پنجره ، عبارت زير را تايپ كنيد :
    iexplore- Channelband
    توجه داشته باشيد كه ميان عبارتiexploreو علامت – يك فاصله قرار دهيد .
    پس از تاييد پنجرهOpenمنويFavoritesرا روي صفحه نمايشتان خواهيد ديد .

    + نوشته شده توسط امین حاجی علیزاده در چهارشنبه نهم مرداد 1387 و ساعت 9:23 |

     

    طراحي سایتهای صنعتي


    چگونه يك مشتري جنس مورد نظر خود را شناسايي و رديابي ميكند، و احتمالا پيشنهادات خوبي را براي فروش بر روي صفحه وب ارائه ميدهد؟ اين مبارزه طلبي طراحي صفحات تجاري وب ميباشد
    بيشترين توليد كنندگان صنعتي با جديت به سمت مشتريانشان جهت گيري كرده و صفحات طراحي شده براي كمپانيهاي صنعتي، ميبايست تعصبات مشتري گرايانه قوي داشته باشند.
    گرايش به مشتري در روشي كه صفحات صنعتي، مشتري را چه از لحاظ تصويري و چه از لحاظ تعاملي درگير ميكنند، ديده ميشود. صفحات صنعتي غالبا معموليتر از صفحات ديگر به نظر ميدهند.
    صفحات صنعتي در كل داراي سه عنصر ميباشند
    خصوصيات محصول: هر مشتري ميبايست بتواند يك محصول خاص را از ميان مجموعه اي از محصولات مشخص كند. اين كار ميتواند به صورت تصويري، با استفاده از يك ليست انتخابي يا با استفاده از يك برنامه جستجو انجام شود.

    مشخصات محصول: بيشتر محصولات صنعتي همراه با اطلاعاتي عرضه ميشوند كه صفحه مشخصات ناميده ميشود يك صفحه مشخصات تركيبي از متن، تصوير و توصيفاتي در مورد كارايي محصول در يك ورق كاغذ ميباشد. خصوصيات كارايي يا تصوير توصيف كننده ساختار كالا، اغلب عامل فروش يك محصول ميباشند.
    البته با توجه به قابليتهاي وب، ايجاد صفحه مشخصات كالا در وب به روش سنتي، محدود كننده به نظر ميرسد. مشخصات كارايي كالا ميتواند به صورت سه بعدي و همراه با حركت ايجاد شود، همچنين خود محصول در حال انجام عمل، قابل نمايش باشد.

    ارتباط با مشتري: ‏‏‏كارتهاي جالبي را كه در آنها از شما سئوال ميشود «آيا مايليد كه نمايندگي سرويسهاي مشتري در مورد كالايي خاص با شما تماس بگيرد؟» را بخاطر بياوريد. با استفاده از وب سئوالات تقريبا پس از پرسيده شدن جواب داده خواهند شد.

     

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه پانزدهم اردیبهشت 1387 و ساعت 9:35 |

    کدهای مربوط به Upload کردن فايل به سرور را بايد به دو قسمت تقسيم نمود. قسمت اول شامل کدهايی است که نحوه نمايش در مرورگر را شامل می شوند و اساس آن بر HTML است. و قسمت دوم مربوط به طرف سرور است که شامل کدهايی است که با ASP.NET نوشته می شوند. برنامه زير حاوی کدهای مربوطه برای انجام اين کار به صورات خيلی ساده و ابتدايی می باشد. همانطور که ملاحظه می کنيد برخلاف ASP کلاسيک، نياز به وجود component خاصی نمی باشد و اين کار در ASP.NET بصورت خيلی ساده انجام پذير است.

    Upload.aspx:
    <
    HTML>
    <
    HEAD>
    <
    TITLE>Uploading File...TITLE>
    <
    Script language="vb" runat="server">
    sub page_load(s as object,e as EventArgs)
       
    If Not (MyInputFile.PostedFile Is Nothing) Then
           
    MyInputFile.PostedFile.SaveAs("c:\filename.ext")
           
    Response.write("Your File was saved on the server...")
       End If 
    endscript>
    HEAD>
    <
    BODY>
        <
    FORM method="post" encType="multipart/form-data">
            <
    input id="MyInputFile" type="file" name="MyInputFile" runat="server"> 
            <
    input type="submit" value="Submit">
        FORM>
    BODY>
    HTML>

    در زير به شرح و توضيح برنامه بالا می پردازيم:

    کدهای مربوط به طرف Client
    به دليل آنکه در اين قسمت، ارسال اطلاعات به سرور را داريم، بايد کدهای مربوطه درون يک فرم قرار گيرند. اما لازم است که ويژگی
    encType آن فرم را به صورت زير مقدار دهی کنيم، زيرا در غير اينصورت فايل انتخاب شده توسط کاربر به سرور ارسال نخواهد شد:

    encType="multipart/form-data"

    در HTML کنترلی وجود دارد که وظيفه دريافت نام فايل و ارسال آن به سرور را عهده دار می باشد:

    <input id="MyInputFile" type="file" name="MyInputFile" runat="server">

    توجه کنيد که اين کنترل را به صورت يک سرور کنترل در می آوريم تا بتوانيم در ASP.NET از توانايی های آن استفاده نماييم و به همين دليل ويژگی runat="server" را به کنترل مربوطه اضافه کرده ايم. بنابراين کد مربوط به قسمت Client به صورت زير خواهد بود:

    <body>
    <
    form method="post" encType="multipart/form-data">
    <
    INPUT id="MyInputFile" type="file" name="MyInputFile" runat="server">
    <
    input type="submit" value="Submit">
    form>
    body>

     

    + نوشته شده توسط امین حاجی علیزاده در دوشنبه دوم اردیبهشت 1387 و ساعت 9:0 |
    - معايب روش فايلينگ چيست؟ 2 نمره
    2- كليد را تعريف كنيد و انواع آن را با مثال توضيح دهيد. 3 نمره

    3- شرايط ايجاد يكپارچگی ارتباط در جدول چيست؟ 3 نمره

    4- تفاوت انتقال جدول از بانك ديگر به كمك Import , Link چيست؟ 3 نمره

    5- ابتدا اشكالات دستور زير را پيدا كرده، سپس علاوه بر نوشتن برنامه ی درست، عملكرد آن را شرح دهيد. INSERT IN List(Id,Name,Famili, Address,Tel
    VALUES (‘123456’,Sara,’Asadi’, ‘ Rasht , Golsar’0131-7222222); 3 نمره
    6- با مثال رابطه يك به چند را شرح دهيد. 2 نمره
    7- جداول زير با فرض ارتباط بين فيلد Code بين دو جدول ايجاد شده است:
    جدول List:
    نوع فيلد نام فيلد توضيح
    Number Code شماره كارمندی
    Text Name نام كارمند
    Text Family نام خانوادگی كارمند
    Number Sh شماره شناسنامه
    Text St محل تولد
    Date B_date تاريخ تولد
    جدول Salary :
    نوع فيلد نام فيلد توضيح
    Number Code شماره كارمندی
    Number E_year سنوات خدمت
    Currency ُSalary حقوق دريافتی

    با زبان پرس و جوی ساخت يافته SQL دستورات خواسته شده را بنويسيد. هرمورد 1 نمره
    1. ويرايش نام كارمندی كه به اشتباه "ممريم" ثبت شده است.
    2. نمايش اطلاعات كارمندانی كه حقوق دريافتی آنها كمتر از 300000 ريال وسنوات خدمت آنها 30 سال است.
    3. نمايش شماره كارمندی، نام خانوادگی و حقوق دريافتی كارمندان به طوري كه ستون نام خانوادگی به ترتيب صعودی مرتب شود.
    4. حذف ركوردهايی از جدول salary كه سنوات خدمت آنها كمتر از يكسال باشد.
    موفق باشيد. 


    + نوشته شده توسط امین حاجی علیزاده در یکشنبه بیست و پنجم فروردین 1387 و ساعت 9:5 |
    نقطه ی عطف صدا
    در ژرفای صدایت چیزی نهفته است...

    سری نهان است...

    در ژرفای صدایت دنیاییست پر از احساس

    در زلال بی کرانش ماهی های نقره ای می رقصند...

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

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

    در ژرفای صدایت...

    انگار واژه ها خجالت می کشند...می خواهم از تو بنویسم، پس واژه های طلایی ام کو؟
    دنبالشان می گردم...اما آنها در پس و پیش ذهنم قایم می شوند...
    در عوض هر کدام به نیابت از خودشان ترانه ی نابی را می فرستند در سردر ذهنم...انگار می خواهند بگویند:((بیا...این هم یک دنیا واژه ی طلایی...آن هم با صدا یک مرد نازنین...))


    "ای تبلور حقیقت"

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

    شاید ساده ترین جمله ها بهترینها باشد... قبل از اینکه کسی رنگ و بوی مبالغه را به آنها داده باشد، اولین بار برای ناب تری معنیشان به کار رفتند.
    جملاتی مثل: "میلادت مبارک... ."
    سعی کردم به چشمانت خیره شوم و بفهمم در چه اندیشه ای هستی... شاید با آنها بشود چیزی نوشت برای امشب...اما نگاهت آنقدر عمیق بود که در آن غرق شدم... و چه پرسش های بی جوابی ...


    "تو منو از شب گرفتی"

    می دانم؛ چیزهایی که می گویم قابل فهم نیست! من احساساتم را می گویم... عمیق ترین هایشان را... سخت است؛ باور کن، نا جیه عاطفه ی من...

    "من آن موجم که بی تو آرامش ندارم..."

    "تو منو دادی به خورشید"
    + نوشته شده توسط امین حاجی علیزاده در شنبه بیستم بهمن 1386 و ساعت 12:39 |

     

    فرق بین   Multi Program   و Multi Task   چیست؟

     

    سئوال 1: در   multi program  چه  موقع عمل  switching    انجام می گیرد؟  وقت I/O

     

    سئوال 2: در   multi task   چه  موقع عمل  switching    انجام می گیرد؟  در یک برهه زمانی  یعنی فقط منتظر عمل I/O   

     

      نمی ماند  اگر به I/O   بر خورد کند switch   می کند.  ولی اگر به I/O   بر خورد نکند و آن برهه زمانی بگذرد بازهم switch می کند. یعنی پردازنده از آن گرفته می شود.

     

    نکته1: یک سیستم   عامل  میتواند چند برنام ه(Multi program)  باشد ولی  چند  وظیفه ای(Multi  Task) نباشد. مثل ویندوز 1و2و3

    چون فقط به I/O   برخورد می کردند پردازنده Switch  می کرد.

     

    نکته2: یک سیستم   عامل  که هم  چند برنامه(Multi program) و هم  چند  وظیفه ای(Multi  Task) باشد. مثل ویندوز 95و98

     

     چون اگر چند پنجره را باز کنید می بینید همه پنجره ها در حال فعلیت هستند. یعنی پردازنده ما بین آنها Switch   می کند .

     

    نکته 3: اشتراک زمانی (Time Sharing ) وقتی است که سیستم چند کاربره(Multi User) باشد.

     

     

    مثال :  وینوز 2000  و time sharing  و multi task است.  N   تا کاربر بتوانند از طریق شبکه به  یک سیستم وصل شوند و کاملا منابع اش را به اشتراک بگذارد. در ویندوز NT - n  تا کاربر به آن سیستم می یابند و از منابع سیستم استفاده می کنند.

     

    نکته 4:  در وینروز95و 98 همه منابع غیر از حافظه و پردازنده را می توانیم به اشتراک بگذاریم.ولی در وینروز NT  و ویندوز 2000و یونیکس همه منابع را می توانیم به اشتراک بگذاریم.

     

     

     

    دو نکته  ضرورت چند وظیفه ای  بودن را روی کامپیوتر های شخصی موجب شده اند.{استالینگ    87}

    1- با افزایش سرعت و ظرفیت ریز پردازند ه ها و با حمایت از حافظه مجازی ، کاربر ده پیچیده تر و مرتبتر  شده اند .

     

    برای مثال ممکن است کاربران بخواهند یک برنامه ، word    ، یک برنامه Excel    ، یک برنامه Autocad

     

     را به طور همزمان  برای ایجاد یک سند به کار برند.

    1-       باز کردن برنامه Autocad

    2-       رسم شکل و ذخیره آن

    3-       بستن برنامه Autocad

    4-       بازکردن Word

    5-       درج شکل در محل مناسب

     

    در محیط چند وظیفه ای کاربر هر یک  از کاربرد های مورد نیاز خود را باز کرده و به صورت باز رها می کند . و

    اطلا عات به سادگی می تواند بین  چند کاربرد حرکت کند.

    ولی در تک وظیفه ای  اگر تغییری در شکل لازم باشد کاربر باید برنامهWord   را ببندد، برنامه Autocad را باز کند ، شکل را ویرایش و ذخیره نماید ، برنامه Autocad راببندد، برنامه  Wordرا باز کند ودر نهایت شکل  ویرایش شده را درج کند . که خیلی ملال آور است.

     

    1-       برای عملکر چند وظیفه ای ، رشد به کار گیری کامپیوتر به صورت مشتری / خدمتگزار(Client/Server) می باشد.  در این دید گاه یک کامپیوتر شخصی (Client ) و یک سیستم میزبان(Server) مشتر کا، برای انجام یک کاربرد،خاص، بک کار گرفته شده اند. این تر تیب در یک کاربرد ممکن است یک یا چند کامپیوتر شخصی و یک یا چند دستگاه خدمتگزار (Client ) در گیر باشند.

     

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

     

    + نوشته شده توسط امین حاجی علیزاده در شنبه ششم بهمن 1386 و ساعت 12:9 |

    1-بافر کردن (  Buffering)، امکان همپوشانی  ( همزمانی )  عمل I/O   یک کار  را با عملیات پردازش   همان کار  بوجود   می آورد.در حالیکه      spooling   امکان همزمانی پردازش ورودی –خروجی چندین کار رابا یکدیگر  فراهم می کند.

      2- هر  Spooling  الزاما   بافر دارد ولی  بافر Spooling   ندارد. .

    سیستم Spooling راه حلی برای کار کرد ن با دستگاه های  I/O  انحصاری ، در یک سیستم چند برنامگی است. یک دستگاه Spool  شده نوعی را در نظر بگیرید: یک  چاپگر هر  چند از نظر تکنیکی آسان خواهد بود که به هر فرآیند کاربر اجازه دهیم که فایل مخصوص کاراکتر ی را برای چاپگر  باز کند، ولی فرض کنید که فرآیند آن را باز کند و برای ساعت ها کار نکند، در این حالت  هیچ یک از دیگر فرآیند ها نیز قادر به چاپ کردن نخواهند بود.به جای این روش کاری که انجام گرفته است ،  ایجاد یک فرآیند ویژ ه می باشد که شبح (Deamon)نامیده  می شود و یک فهرست مخصوص که فهرست Spooling   نامیده  می شود.

    برای چاپ کردن یک فایل ، ابتدا یک فرآیند تمامی فایل را برای چاپ شدن ایجاد می نماید  وآن را در فهرست Spooling   قرار می دهد. چاپ فایل های درون این  فهرست بر عهده شبح است  که تنها فرآیندی است که اجازه استفاده از فایل مخصوص  چاپگر را دارد . با حفاظت فایل مخصوص از دسترسی مستقیم کاربر، مسئله باز نگهداشتن  طو لانی و بیهوده آن نیز حل می شود.

     

    Spooling: تنها در چاپگر به کار نمی رود ، بلکه در وضعیت های دیگری نیز استفاده می شود . برای مثال ، انتقال فایل از طریق یک شبکه معمولاً توسط یک شبح شبکه ای  انجام می شود .برای ارسال فایل به مقصد ی مشخص ، کاربر  آن را در فهرست Spooling   شبکه قرار می دهد. سپس شبح شبکه آن را خارج ساخته و منتقل می کند.

     

     

    نکته:

    یک کاربرد و استفاده ویژه از انتقال فایل Spool   شده ، سیستم پست الکترونیکی (Email) اینترنت می باشد. این شبکه شامل میلیونها  ماشین در سراسر جهان است که با استفاده از شبکه های کامیوتری با یکدیگر ارتباط بر قار می کنند. برای ارسال  Mail به شخصی ، باید برنامه ای مانند را صدا بزنید که نامه را جهت ارسال شدن می پذیرد و سپس آن را به صورت امانت در فهرست Spooling   قرار می دهد تا بعداً  ار سال شود. تمام سیستم Mail  در خارج از سیستم عامل  اجرا می شود

    Spooling در تمام سیستم عامل ها قابل استفاده است.



    + نوشته شده توسط امین حاجی علیزاده در شنبه سوم آذر 1386 و ساعت 11:11 |

    حال وقت آن است كه در سيستم عامل خود تنظيماتي را انجام دهيد تا كامپيوتر شما بتواند جستجو براي كامپيوترهاي ديگر و گفتگو با آنها را آغاز كند.نحوه پيكربندي تنظيمات مربوط به ويندوز در كامپيوتر شما، توسط اين مسأله تعيين مي‌شود كه آيا در شبكه شما Internet sharing وجود دارد يا خير. در ادامه بر حسب اين مسأله دستورالعمل‌هاي لازم آورده مي‌شود:Non-Internet Sharing Windows Settingsدر مورد هر كامپيوتر مراحل زير را طي كنيد:1. بر روي آيكن Network Neighborhood بر روي desktop راست كليك كنيد.2. Properties را انتخاب كنيد.3. بر روي Access Control tab كليك كرده و Share level access را انتخاب كنيد.4. Identification tab را انتخاب كنيد.در اينجا مي‌توانيد نامي را براي كامپيوتر خود انتخاب كنيد.5. Configuration tab را انتخاب كنيد. از Primary Network Logon، Client for Microsoft Networks را انتخاب كنيد.6. سپس يك آدرس IP را به كامپيوتر اختصاص دهيد، مثلاً 192.168.O.X. X در هر كامپيوتر منحصر به فرد است و عددي بين 1 تا 254 مي‌باشد. در اين قسمت عدد Subnet mask را، 255.255.255.0 بنويسيد.Internet Sharing Windows Settingدر مورد هر كامپيوتر مراحل زير را اجرا كنيد:- در Control Panel، بر روي آيكن Add/Remove Program دو بار كليك كنيد. بر روي Windows setup tab كليك كنيد.- پس از گذشت چند لحظه از ليست اجزاء، Internet tools را انتخاب كنيد.- سپس Internet Connection Sharing را انتخاب كنيد.- در اينجا CD مربوط به ويندوز مورد نياز است. آنگاه Internet Connection Sharing Wizard اجرا مي‌گردد كه پس از پايان آن، كامپيوتر را Restart نماييد.- مي‌توانيد از فلاپي ديسكي كه در طي مراحل Wizard ايجاد مي‌كنيد، در مورد كامپيوترهاي ديگر شبكه استفاده كنيد (در منوي Run در هر يك از آنها و پس از گذاشتن فلاپي در كامپيوتر اينگونه تايپ كنيد: a:\icsclset.exe و سپس Enter را فشار دهيد)لازم به ذكر است در صورتيكه بخواهيد شبكه خود را از طريق يك Proxy Server به اينترنت متصل كنيد مي‌بايست آن را خريداري كرده و تنظيمات مربوطه را انجام دهيد. فراهم كننده خدمات اينترنت (ISP) شما بايد در مورد استفاده از dynamic IP و يا static IP شما را آگاه سازد. در صورت استفاده از static IP، ISP بايد در اختصاص IP به شما كمك كند.

    + نوشته شده توسط امین حاجی علیزاده در شنبه دوازدهم آبان 1386 و ساعت 10:32 |

    در ارتباطاتinfrared  (مادون قرمز) از فركانسهاي بالا دقيقا زير طيف نور مرئي- استفاده مي‌شود. در اين روش سيگنالها نمي‌توانند از اشياء و ديوارها عبور كنند. اين امر بكارگيري تكنولوژي مادون قرمز را محدود مي‌سازد. در فناوري مادون قرمز ارسال كننده و دريافت كننده بايد يكديگر را ببينند(در خط ديد يكديگر باشند) همانند يك كنترل كننده راه دور دستگاه تلويزيون. بطور كلي در ارتباطات داخل ساختمان كه فاصله ايستگاهها كم باشد از اين روش استفاده مي‌شود. در اينجا بجاي سيم يا فيبر نوري كه رسانه‌هاي انتقال هستند، از امواج راديويي يا نور مادون قرمز بعنوان رسانه انتقال استفاده مي‌شود. امواج راديويي بخاطر برد، پهناي باند و پوشش مكاني بيشتر، از نور مادون قرمز كاربرد بيشتري دارند

    سيستم‌هاي كنترل از راه دور كه در وسايلي چون تلويزيون و استريو‌ها به كار مي‌روند با انتقال زير قرمز كار مي‌كنند. زير‌قرمز به يك محيط كوچك محدود مي‌شود (مثلا يك اتاق) و معمولاً نياز دارد فرستنده در جهت گيرنده باشد. سخت افزار زير قرمز در مقايسه با مكانيسم‌هاي ديگر ارزانتر است و به آنتن نيازي ندارد.

    شبكه‌هاي كامپيوتري مي‌توانند براي انتقال داده‌ها از تكنولوژي مادون قرمز استفاده كنند. مثلاً يك اتاق بزرگ مي‌تواند به يك ارتباط زير قرمز مجهز شود و دسترسي به شبكه براي تمام كامپيوتر‌هاي اطاق امكان‌پذير شود. كامپيوتر‌ها مي‌توانند هنگام ‌جابجا شدن در اتاق ارتباط خود را با شبكه حفظ نمايند. شبكه‌هاي مادون قرمز خصوصاً براي كامپيوتر‌هاي قابل حمل مناسب‌اند. زيرا مادون قرمز امكان ارتباط بي‌سيم را بدون نياز به آنتن فراهم مي‌كند. بنابراين همه‌ي سخت‌افزار ارتباطي مي‌تواند در يك كامپيوتر قابل‌ حمل كه از زير قرمز استفاده مي‌كند، قرار گيرد.

     

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه ششم آبان 1386 و ساعت 17:43 |
    اسلحه های 1 - اسلحه برای آدم کشی LXGIWYL
    اسلحه های 2 - ابزار حرفه ای KJKSZPJ
    اسلحه های 3 - ابزار نمیدونم چی چی؟ UZUMYMW
    سلامتی و ضد گلوله و 250K$ HESOYAM
    اضافه کردن دو ستاره برای وقتی که پلیسها میخوان بگیرنت! OSRBLHH
    دیگه پلیسها دست از سرت برمیدارن ASNAEB
    تیرهات تمومی ندارن، درضمن لازم نیست پرشون کنی! WANRLTW
    داشتن اسلحه کامل به هنگام رانندگی OUIQDMW
    پرش میلیونی! LFGMHAL
    مشروب (منگنه) میلیونی! IAVENJQ
    سلامتت تمومی نداره!! BAGUVIX
    اکسیژنت پایانی نداره!! CVWKXAM
    هیچوقت پلیسها به دنبالت نمیزارن! AEZAKMI
    شش تا ستاره واسه اینکه پلیسها بگیرنت! (هر ستاره معرف یک نو نیروی پلیسی هست مثلا اگه ستاره ها زیاد باشه، حتی پلیسهای دریایی و هوایی هم میزارن دنبالت تا ...!) LJSPQK
    هیچوقت گرسنه ات نمیشه! AEDUWNV
    موقعیت تمام اسلحه هات بصورت Hitman ایی میشه! NCSGDAG
    موقعیت Skill انواع رانندگی رو ماگزیمم میکنه! VQIMAHA
    هیکلت رو تا آخر میبره! JYSDSOD
    لاغر و پوستی و استخوانی KVGYZQK
    چاق!! (اگر خواستی که بعد از انجام این کد، لاغر شی، باید بری بدن سازی کنی) BTCDBCB
    یه اعانه رو سرت میزاره BAGOWPG
    آهنربای زنان هرزه!!! (شرمنده، ترجمه اش همین بود) BEKKNQV
    نوع غده ی فشار خونی! MUNASEF
    جذبه رو تا آخر میبره. EHIBXQS
    احترامش رو تا آخر میبره. OGXSDAG
    هر شخص سرباز مانند (9mm) SJMAHPE
    هر شخص سرباز مانند (موشک) ZSOXFSQ
    خودکشی!!!!!!!!!!!!! SZCMAWO
    + نوشته شده توسط امین حاجی علیزاده در جمعه پانزدهم تیر 1386 و ساعت 16:53 |

    در اين مثال با استفاده از مجموعه Server Variables وابسته به شی Request، نوع مرورگر، سيستم عامل و IP ملاقات كننده سايت تشخيص داده می شود. ( در مثال می توان برخی از مقايسه ها را در صورت ضرورت حذف نمود و برنامه را برای موارد خاص نوشت)

     

     

    <%
    ua = Request.ServerVariables("HTTP_USER_AGENT")
    os = Request.ServerVariables("HTTP_UA_OS")
    If Instr(ua, "MSIE") Then
     If Instr(ua, "MSIE 5.") Then
      Browser = "Microsoft Internet Explorer 5.x"
     Else

    if Instr(ua, "MSIE 4.") Then
      Browser = "Microsoft Internet Explorer 4.x"
     Elseif Instr(ua, "MSIE 3.") Then
      Browser = "Microsoft Internet Explorer 3.x"
      If Instr(ua, "MSIE 3.02") Then
        Browser = "Microsoft Internet Explorer 3.02"
      End If
     Else
      Browser = "Microsoft Internet Explorer"
     End If
    ElseIf Instr(ua, "Mozilla") and Instr(ua, "compatible") = 0 Then
     If Instr(ua, "Mozilla/4") Then
      Browser = "Netscape Navigator 4.x"
     Elseif Instr(ua, "Mozilla/3") Then
      Browser = "Netscape Navigator 3.x"
     Else
      Browser = "Netscape Navigator"
     End If
    End If
    If Instr(ua, "Windows 95") or Instr(ua, "Win95") Then
     System = "Windows 95"
    Elseif Instr(ua, "Windows 98") or Instr(ua, "Win98") Then
     System = "Windows 98"
    Elseif Instr(ua, "Windows 3.1") or Instr(os, "Win16") Then
     System = "Windows 3.x/Windows NT 3.x"
    Elseif Instr(ua, "NT") or Instr(ua, "NT") Then
     System = "Windows NT"
    Elseif Instr(ua, "Mac") Then
     System = "Mac"
     If Instr(ua, "PowerPC") or Instr(ua, "PPC") Then
      System = "Mac PPC"
     Elseif Instr(ua, "68000") or Instr(ua, "68K") Then
      System = "Mac 68K"
     End If
    Elseif Instr(ua, "X11") Then
     System = "UNIX"
    End If
    %>
    You are using <%=Browser%><br>
    You are using : <%=System%> operating system<br>
    Your IP is: <%=Request.ServerVariables("Remote_Addr")%>

     

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه شانزدهم اردیبهشت 1386 و ساعت 9:2 |

    در فايل Global.asa، می توان اسكريپت هائی را تعريف نمود كه همزمان با بروز يك رويداد ( Event ) فعال شده و يا اقدام به تعريف اشياء Session و Application نمود. امكانات تعريف شده در فايل فوق برای تمامی صفحات تشكيل دهنده يك برنامه ASP قابل دستيابی و استفاده خواهند بود. ضرورت وجود فايل فوق اختياری بوده و در صورت تعريف می بايست در فهرست ريشه ای كه برنامه ASP در آن قرار دارد، استقرار يابد. هر برنامه ASP صرفا می تواند دارای يك فايل Global.asa باشد.

    رويدادهای استاندارد در فايل Global.asa
    در فايل فوق می توان به اشياء Application و Session گفت كه در زمان آغاز و خاتمه عمليات مربوط به خود چه كارهائی را انجام دهند. در مجموع در فايل فوق چهار نوع رويداد را می توان قرار داد :

    • Application_OnStart: رويداد فوق زمانيكه اولين كاربر به اولين صفحه يك برنامه ASP دستيابی پيدا می كند، فعال می گردد.
    • Session_OnStart:
    رويداد فوق هر دفعه كه يك كاربر جديد درخواست اولين صفحه يك برنامه ASP را داشته باشد، فعال می گردد
    • Session_OnEnd:
    رويداد فوق هر بار كه كاربری به جلسه كاری خود خاتمه می دهد فعال می گردد. در صورتيكه در يك مدت زمان مشخص و محدود ( پيش فرض بيست دقيقه ) در خواست صفحه ای توسط كاربر واصل نگردد، به جلسه كاری وی خاتمه داد می شود
    • Application_OnEnd:
    رويداد فوق پس از اينكه آخرين كاربر به كار خود خاتمه می دهد، فعال می گردد. معمولا رويداد فوق زمانيكه سرويس دهنده وب متوقف می گردد نيز فعال می گردد.

    برای هر يك از رويدادهای فوق می توان روال هائی را نوشت كه مسئول برخورد با رويداد مربوطه باشند. اين روال ها درفايل Global.asa قرار می گيرند. چهارچوب كلی فايل فوق كه متضمن خواسته های چهارگانه فوق باشد می تواند بصورت زير باشد:

    <script language="vbscript" runat="server">
    sub Application_OnStart
        . . .
    end sub
    sub Application_OnEnd
         . . .
    end sub
    sub Session_OnStart
        . . .
    end sub
    sub Session_OnEnd
        . . .
    end sub

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه نهم اردیبهشت 1386 و ساعت 19:26 |
    private sub image 1_mousedown() randomize if button=1 then image1.top=int(rnd()*1920)+1 image1.left=int(rnd()*3000)+1 end if end sub
    + نوشته شده توسط امین حاجی علیزاده در چهارشنبه بیست و نهم فروردین 1386 و ساعت 17:27 |

       سال نو را به همه شما عزیزان تبریک می گویم آرزوی سالی با نشاط برای همه شما

    + نوشته شده توسط امین حاجی علیزاده در چهارشنبه بیست و سوم اسفند 1385 و ساعت 17:48 |
    وقتی‌ تو لینوکس conection conectin ساختید و با مودم شروع به شماره گیری کردید، در مرحله‌ای که user name و password شما چک میشود اما وقتی‌ که چک کردنش تموم شد اpppp ز pppp error میگیره و ارتباط قطع میشه.
    این اشکال مربوط میشه به activative نبودن connection تو لینوکس.
    برای active کردنش باید برین تو menu/system tools/internet configuration wizard
    از لیست سمت چپ نوع اتصالتون رو مشخص کنید. که من modem connection رو انتخاب کردم.
    وقتی زدین ممکنه پیام بیاد که مودم شما شناسایی‌ نشده که زیاد مهم نیست.
    اگه قبلا این قسمت رو تنظیم کردین نیازی به تغییر نیست وForward رو بزنید.
    تو این قسمت مشخصات accountaconteton رو واردکنید و واسه connection تون یه اسم در نظر بگیرید و forward رو بزنید.
    این قسمت مربوط به این هست که به شما چه ip اختصاص داده بشه که خودش به طور پیش فرض روauto هست.
    forward رو بزنید به قسمت بعد برید.
    تو این قسمت مشخصاتی‌ که وارد کردین رو به شما نشون میده و اگه صحیح بود رو بزنید.
    حالا باید به طور اتوماتیک پنجره configuration device بیاد و شما باید connectionکه ساختین رو اکتیو کنید.
    اگه این پنجره نیومد شما میتونین از menu/system tools/network device controlرو اجرا کنین و از اونجا connection رو active کنید.

    + نوشته شده توسط امین حاجی علیزاده در یکشنبه بیستم اسفند 1385 و ساعت 18:34 |
    براي شبيه سازي رفتارسيستم هاي انطباقي از مدل سازي رايانه اي استفاده كنيم. اين تــــوانمندي در سالهاي اخير رشد شگفت انگيزي داشته است. ماشينهاي خودكار سلولي و محاسبات عددي ژنتيك دو ابزاري هستند كه امروزه به صورتهاي مختلف در اين امر كاربرد دارند. اين مدل سازي به تركيب كاربري جمعيتهاي نامتجانس عامل، قوانين ساده، محيط (مانند توزيع منابع)، تعاملات و بازخورد كه براساس اطلاعات موجود براي هر عامل فراهــــم آمده است، مي پردازد. مقاله اي در سال 1999 در مجله »تي.اف.اس.سي« در رابطه بـــــا رشد سيستم هاي انطباقي از مراحل اوليه رشد چاپ شد كه از طريق شبيه سازي رايانه اي ايجاد شده بود. اين مقاله همچنين به ارايه شيوه هاي متعددي مي پرداخت و بيانگر نظراتي در رابطه با برنامه ريزي و مديريت فناوري بود. كاربري اين اطلاعات در جهت شبيه سازي خلاقيت از طريق تغييردادن يك سيستم راكد و ثابت به يك سيستم مغشوش (دگرگوني خلاق، بررسي وجود تناسب بين تمركزگرايي و تمركززدايـــــي و مابين جهاني سازي و منطقه سازي است. از آن زمان به بعد در »تي.اف.اس.سي« مقاله هاي فراواني با موضوع به كارگيري ماشين هاي شبيه ساز خودكار سلولي نوآورانه، همين طور با موضوع مدل سازي ساده عامل به عنوان يك اپيدمي، به چاپ رسيد. در كار جديدي كه توسط »گولدن برگ« انجام شد از مدل ماشين خودكار سلولي براي شناخت حيات مجدد نوآوريهاي خاموش بهره جسته است. علاوه بر آن و طبق نظر »كــوف من« شبيه سازي رايانه اي عاملي براي انجام بررسي مقايسه اي بين تحول فناورانه و بيولوژيك است. در حال حاضر، رايانه همچنين قادر است تا بر محدوديتها غلبه كند و از اين طريق امكان پيش بيني فراهم شود. اين پروسه در برگيرنده الف: مدل سازي اكتشافي رايانه اي در جهت خلق سناريوهاي كلي مـــربوط به آينده است و ب : تجسم رايانه اي و مراحل تحقيقي به منظور استخراج اطلاعات از اين كليات كه براي وزن دهي به گزينه هاي انتخابي و در نتيجه تصميم گيري صحيح به كار مي رود. ما حتي مي توانيم با كمك آن تازه ها را در فناوري معرفي كرده و تاثير آنها را ارزيابي كنيم. در كليه موارد بالا از رايانه براي حل پيچيدگي اين سيستم ها استفاده كرده و شرايط عدم اطمينان را بااستفاده از روشهايي كه بيشتر شبيه به معجزه است برطرف مي سازيم. اين توانمندي بايد بتواند ما را به سمت پيش بيني و آينده نگري سوق دهد.
    + نوشته شده توسط امین حاجی علیزاده در یکشنبه ششم اسفند 1385 و ساعت 9:28 |
    برای برقراری ارتباط با پايگاه معمولا از عبارت زير استفاده می شود:

    Dim ObjConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=e:\db\users.mdb")
    که قسمت DataSource آدرس فايل پايگاه داده است که در اينجا يک بانک Access است. همانگونه که ملاحظه می کنيد از رشته ارتباطی يا Connection String بعنوان پارامتر استفاده شده است و بوسيله متد Open ارتباط باز می شود:

    objConn.Open()
    لازم به توضيح است که در پايان کار بوسيله متد Close ارتباط را خاتمه می دهيم.

    بمحض ارتباط با پايگاه داده می توان دستورات را به آن فرستاد. اين کار معمولا بوسيله شی OleDbCommand انجام می شود. جهت انجام اين کار می توان يک دستور SQL يا نام يک روال ذخيره شده (Stored Procedure) را مشخص نمود و بنا به مقتضيات می توان اعمال مختلفی را روی پايگاه پياده نمود:

    Dim objCommand As New OleDbCommand ( "Select * From users", objConn )
    ملاحظه می کنيد که کلاس Command از دو پارامتر رشته SQL و نام رشته ارتباطی برای فرستادن دستورات به پايگاه داده استفاده می کند. برای مثال آنچه را که در عبارت فوق ديديد می توان به بخشهای کوچکتر زير تقسيم کرد.

    ابتدا تعريف شي:

    Dim objCommand As New OleDbCommand()
    سپس نسبت دادن آن به رشته ارتباطی جهت برقراری ارتباط پايگاه:

    objCommand.Connection= objConn
    مشخص کردن عمليات مورد نظر بوسيله دستورات SQL:

    objCommand.CommandText="Select * From Users"
    + نوشته شده توسط امین حاجی علیزاده در شنبه بیست و یکم بهمن 1385 و ساعت 11:41 |