1. مهمان گرامی، جهت ارسال پست، دانلود و سایر امکانات ویژه کاربران عضو، ثبت نام کنید.
    بستن اطلاعیه

چگونه می توان در محیط گرافیك زبان c یك شكل پیچیده را حركت داد؟

شروع موضوع توسط minaaa ‏28/1/11 در انجمن C #C++

  1. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    [​IMG]

    در محیط گرافیك در زبانهای برنامه نویسی تحت DOS اشكال ساده مثل مستطیل و دایره را می توان با پاك كردن و كشیدن مجدد براحتی جابجا نمود اما حركت اشكال پیچیده با این روش بسیار وقت گیر می باشد بطوریكه پاك كردن و كشیدن دوباره شكل كاملا به چشم می آید. در چنین مواقعی می بایست شكل مورد نظر را كه در داخل یك مستطیل فرضی قرار دارد , وارد یك حافظه كمكی نمود و محتویات این حافظه را در نقطه ای دلخواه در صفحه چاپ كرد .

    در ابتدای كار یك متغیر از نوع int تعریف كنید كه اندازه شكل محاسبه شود و در آن قرار گیرد. یك متغیر نیز از نوع *void تعریف كنید كه در واقع بافری است كه رنگ پیكسل های مستطیل در آن به ترتیب قرار می گیرند تا در موقع لزوم به همان ترتیب چاپ شوند :





    int size;
    void* buffer;
    حال می بایست اندازه مستطیل را با تابع imagesize محاسبه و در متغیر size بریزید :

    size=imagesize(x1,y1,x2,y2);
    كه پارامتر های آن به ترتیب مختصات گوشه بالای سمت چپ مستطیل و گوشه پایین سمت راست آن می باشند .
    حال حافظه ای را با تابع malloc به اندازه size به buffer اختصاص دهید :

    buffer=malloc(size);
    الگوی این تابع در سر فایل alloc.h قرار دارد.(الگوی سایر توابع گفته شده در graphics.h می باشد)
    حال نوبت به خواندن پیكسلهای مستطیل می باشد. این كار را با تابع getimage انجام دهید كه پیكسلها را خوانده و در بافر قرار می دهد :

    getimage(x1,y1,x2,y2,buffer);
    كار ما برای خواندن مستطیل به پایان رسیده است . فقط كافیست بافر خوانده شده را با تابع putimage در نقطه دلخواه چاپ كنیم :

    putimage(x,y,buffer,COPY_PUT);
    دو پارامتر اول این تابع مختصات نقطه مقصد می باشند .(گوشه بالای سمت چپ مستطیل در مقصد) پارامتر دوم بافر محتوی شكل و پارامتر سوم تعیین كننده نوع چاپ شدن شكل می باشد كه دارای حالات زیر است :

    Constant Value Meaning
    ----------------------------------------------------------------------------------------------------------
    COPY_PUT 0 Copies source bitmap onto screen
    XOR_PUT 1 Exclusive ORs source image with that already onscreen
    OR_PUT 2 Inclusive ORs image with that already onscreen
    AND_PUT 3 ANDs image with that already onscreen
    NOT_PUT 4 Copy the inverse of the source
    دقت كنید كه در پایان برنامه حتما حافظه گرفته شده با دستور malloc را آزاد كنید :

    free(buffer);
    توجه كنید كه شكل لزوما یك مستطیل نیست بلكه برای ذخیره سازی شكل در حافظه یك مستطیل فرضی دور شكل در نظر گرفته می شود . برای مثال میتوانید كد زیر را كپی كرده و در محیط TC اجرا كنید :

    #include
    #include
    #include
    int main()
    {
    int driver=DETECT,mode=0,size,column,row,horiz,vert;
    void* buffer;
    initgraph(&driver,&mode,"c:tcbgi");
    setcolor(LIGHTBLUE);
    rectangle(2,2,200,40);
    setfillstyle(SOLID_FILL,BLUE);
    floodfill(100,20,LIGHTBLUE);
    settextstyle(SMALL_FONT,HORIZ_DIR,7);
    setcolor(WHITE);
    outtextxy(12,10,"www.PooyeshR.com");
    rectangle(0,0,600,400);
    size=imagesize(1,1,201,41);
    buffer=malloc(size);
    getimage(1,1,201,41,buffer);
    column=1;
    row=1;
    horiz=1;
    vert=1;
    while(!bioskey(1))
    {
    putimage(column,row,buffer,COPY_PUT);
    column+=vert;
    row+=horiz;
    if(column==399 || column==1)
    vert=-vert;
    if(row==359 || row==1)
    horiz=-horiz;
    }
    free(buffer);
    closegraph();
    restorecrtmode();
    return 0;
    }
     
    یک شخص از این تشکر کرد.
  2. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : چگونه می توان در محیط گرافیك زبان c یك شكل پیچیده را حركت داد؟

    آموزش HTML
    مخصوص وبلاگ نویسان
    برای اینکه تگها رو درست ببینید حتما این نوشته رو در نوت پد کپی کنید و در حالت چپ به راست آن را مشاهده کنید
    گذاشتن لینک:
    برای قرار داد لینک در وبلاگ (یا هر جای دیگری) باید از تگ a استفاده کرده که به صورت زیر خواهد بود.
    <a href="URL">Name</a>
    به جای URL باید آدرس صفحه ای که میخواهید به آن لینک دهید استفاده کنید و به جای Name نامی است که شما آنرا نوشته تا بازدیدکننده با کلیک بروی این نوشته به صفحه مورد نظر منتقل شود. :
    حال اگر بخواهید این لینک در صفحه ای جدید باز شود می توانید از کد زیر استفاده کنید:
    <a target="_blank" href="URL">Name</a>
    برای لینک ایمیل می توانید از تگ زیر استفاده کنید:
    <A href="mailto:E-mail Address">Name</a>

    گذاشتن عکس و لوگو:
    شما عکسی رو بروی انترنت دارید و میخواهید آنرا در وبلاگ قرار دهید. می توانید با کلیک راست بروی عکس به گزینه Properties رفته و آدرس عکس رو گرفته و در کد زیر قرار دهید:
    <img border="0" src="آدرس عکس">
    و اگر بخواهید برای عکس خود طول و عرضی, و شرحی بنویسید می توانید از تگ زیر استفاده کنید:
    <img src="آدرس عکس" width=عرض عکس HEIGHT=طول عکس BORDER=0 ALT="شرح عکس">
    برای مثال:
    حال اگر بخواهید بروی عکس خود لینک بگذارید می توانید از تگ زیر استفاده کنید.:
    <a href="URL"><img border="0" src="آدرس عکس"></a>

    قرار دادن لوگو در وبلاگ:

    قرار دادن لوگو هم مانند عکس می باشد. حال اگر بخواهید به خواننده این اختیار را بدهید که به سادگی به وبلاگ شما بلینکند شما می توانید تگهای لوگوی خود را درون کادری قرار دهید. برای اینکار می توانید از تگ زیر استفاده کنید.
    <input name="هر نامی که دوست دارید" size="اندازه کادر" value="متن تگها">
    اگر بخواهید برای این کادری که گذاشته اید استایلی مشخص کنید می توانید از کد زیر استفاده کنید:

    <input name="for logo" size="اندازه کادر" class="mbx7-fsp" value="نوشته ها و کدها">
    برای مثال:
    <input type="text" name="T1" size="20" class="mbx8-fsp">

    اگه نباشه جاش خالی می مونه

    در محیط وب، صفحات اچتمل با کمک پیوندها به یکدیگر متصل میشوند. اصطلاح ابرمتن(Hyper
    Text) در مقابل متن خطی قرار دارد. در یک متن معمولی خواندن به شکل خطی و از ابتدا به انتها
    میباشد و در مقابل در یک متن مختلط با کمک پیوندها میتوان از یک متن به هر صفحه دیگر در وب
    متصل شد.این کار با کمک عنصری معلوم الحال! به نامA یاAnchor میسر میگردد.
    تگ Anchor و شناسه href
    اگه نباشه جاش خالی می مونه

    توضیحاتی در مورد تگهایی که در زیر گذاشتم مینویسم کسانی که دوست دارند تغییراتی در وبلاگشون بدهند اول در یک ویرایشگر مثل نوت پد انجام بدهند بعد تغییراتشونو در قالب اعمال کنند.

    [<br>] [<p></p>] [<center></center>] [<pre></pre>]
    [<h1></h1>] [<hr>] [<div></div>] [<span></span>]
    [<marquee></marquee>] [<--!...-->] [<bdo></bdo>]

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

    <br>
    برای خط بندی از این تگ استفاده میشود و متن بعد از آن به یک خط پایین تر منتقل میشود که نیازی به تگ پایان دهنده هم ندارد.
    مثال
    <p></p>
    پاراگراف بندی متن را به عهده دارد و فاصله بیشتری را نسبت به <br> بین خطوط ایجاد میکند. این تگ دارای خصوصیت align= " " میباشد که محل قرارگیری پاراگراف را در یک سطر کنترل میکند و با کلمات "left", "center", "right", "justify"مقداردهی میشود. مثال
    <p align="left">...</p>
    <center></center>
    همانطور که از اسمش پیداست متن بین این دو تگ در وسط یک سطر قرار خواهد گرفت، البته این تگ را برای عناصر دیگر وب نیز میتوان بکار برد.مثال
    <pre></pre>
    مرورگرها فاصله هر کلمه را در حد استاندارد نشان میدهند و اگر شما بخواهید که یک متن با فاصله های زیادی نمایش داده شود یعنی آنطور که میخواهید نشان داده شود از این تگ استفاده میکنید.مثال
    <h1></h1>
    به این تگHeading می گویند و برای مشخص کردن سرفصلها و تیترها بکار میرود. این تگ از عدد یک تا شش درجه بندی دارد که عدد یک بزرگترین حد و شش کوچکترین حد حروف را نمایش میدهند. در ضمن دارای خصوصیت " "=align میباشند و با left, center , right مقداردهی میشود.مثال
    <hr>
    این تگ روی خود متن کاری صورت نمیدهد و فقط با ترسیم یک خط افقی آنها را از هم جدا میکند که دارای خصوصیات زیر میباشد.
    width=" "طول خط را کنترل میکند که هم با عدد در مقیاس پیکسل و هم با درصد میتوان مقدار دهی کرد.
    align=" " که محل قرار گیری خط در یک سطر را کنترل میکند.
    color=" "رنگ خط که میتوانید اسم رنگ یا کد هگز رنگ را بنویسید.
    size=" " این خصوصیت ضخامت خط را تعیین میکند که هرچه عدد بزرگتر باشد ، ضخامت بیشتر است. بصورت پیش فرض خط دارای سایه میباشد و اگر خصوصیت noshade را به تگ اضافه کنید دیگر سایه را نشان نمیدهد.
    <div></div>
    این تگ کاربرد فراوانی برای مدل دادن به متن دارد و مانند تگ <br> آن قسمت از متن را جدا میکند وبه خط بعد منتقل میکند . خصوصیت class="mbx7-fsp" در این تگ توانایی اعمال یک الگوی خاص در آن قسمت از متن را میدهد. بطور مثال هر گاه کاربر نشانگر موس را روی آن متن برد ، نوشته های ما خط دار شود، البته هر نوع Style که تعریف شود همان را بکار میبرد.
    <span></span>
    این تگ هم مانند تگ بالا میباشد با این تفاوت که مخصوص یک کلمه یا حتی یک حرف میباشد چون مانند div متن را از بقیه جدا نمیکند و دارای خصوصیت class="mbx7-fsp" میباشد که بر فرض هنگام قرار گرفتن موس روی یک کلمه زمینه آن رنگی شود. مثال

    <marquee></marquee>
    متن بین این دو تگ متحرک خواهد شد و دارای خصوصیات زیر میباشد، البته این تگ ممکن است در همه مرورگرها عمل نکند ولی در مرورگر اینترنت اکسپلورر (IE) مشکلی برای نمایش ندارد. خصوصیات این تگ عبارتند از :
    align=" "محل قرار گرفتن متن را تعیین میکند که با کلمات top, middle, bottom مقدار دهی میشود.
    behavior=" "این خصوصیت نحوه حرکت متن را کنترل میکند که آنرا برابر با scroll اگر قرار دهیم، متن بصورت متناوب از یکطرف صفحه وارد و از طرف دیگر خارج میشود و اگر برابر با alternate قرار دهیم ، متن از صفحه خارج نمیشود و در عرض مرورگر حرکت میکند، همچنین اگر برابر با slide باشد ، متن از یکطرف وارد صفحه شده و در طرف دیگرمیایستد.
    bgcolor=" " رنگ زمینه آن تگ را مشخص میکند که یا نام رنگ یا کد هگز آنرا مینویسید.
    direction=" "جهت ورود متن به صفحه را کنترل میکند و با کلمات left, right, top, down که از چپ ، راست، بالا و پایین میتواند وارد شود.
    height=" "ارتفاع کادر marquee را به عدد در مقیاس پیکسل یا به درصد تعیین میکند.
    hspace=" " حاشیه چپ و راست را کم وزیاد میکند.
    loop=" "تعداد چرخش متن را کنترل میکند.
    scrolldelay=" " سرعت حرکت متن را تعیین میکند.
    vspace=" " حاشیه بالا و پایین متن را مشخص میکند.
    width=" " عرض کادر را کنترل میکند.
    <-- !.....-->
    از این تگ برای افزودن نظریه یا هر نوشته دیگری که نمیخواهید در مرورگر نمایش داده شود و یا عملی را انجام دهد استفاده میکنید که بجای نقطه چین هر متنی را میتوانید وارد کنید .
    <bdo></bdo>
    این تگ فقط مخصوص مشخص کردن متن ازطرف چپ یا راست که دارای خصوصیت dir=” “ میباشد و با ltr یعنی از چپ به راست و rtl یعنی از راست به چپ مقدار دهی میشود.
     
    2 نفر از این پست تشکر کرده اند.
  3. کاربر پیشرفته

    تاریخ عضویت:
    ‏9/12/10
    ارسال ها:
    19,795
    تشکر شده:
    6,456
    امتیاز دستاورد:
    113
    پاسخ : چگونه می توان در محیط گرافیك زبان c یك شكل پیچیده را حركت داد؟

    مقدمه ای HTML
    در این درس با ویژگیهای فایلهای HTML یا اچتمل و نحوه ایجاد یک فایل ساده و نمایش آن در صفحه مرورگرتان آشنا خواهید شد.
    یک فایل HTML چیست؟
    HTML برگرفته از حروف اول Hyper Text Markup Language
    میباشد. یک فایل HTML فایلی از نوع text میباشد که متشکل از markup tag ها میباشد.
    مرورگر یا Browser از روی markup tag ها می فهمد که چگونه باید صفحه را نمایش بدهد.
    یک فایل HTML باید دارای انشعاب htm و یا html باشدو با هر ادیتور ساده ای قابل ایجاد است.
    وظیفه اصلی تگ های اچتمل ( markup tags ) بیان چگونگی نمایش اطلاعات میباشد.
    میخواهید که یک فایل اچتمل بسازید؟

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





    This is my first html page. This text is bold



    سپس فایل را با نام مثلا test.html ذخیره کنید.
    توضیح مثال بالا

    اولین تگ مثال بالا تگ میباشد. از روی این تگ، مرورگر نوع متن یعنی اچتمل بودنش را یافته و از روی انتهای متن اچتمل را میبابد.

    متن بین تگ و تگ اطلاعات شناسنامه ای یا "Header information" متن اچتمل بوده و نمایش داده نخواهند شد.
     
    2 نفر از این پست تشکر کرده اند.