تبليغاتX
دانلود نرم افزار و بازی و مقاله
دانلود
Untitled 2

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

فایل notepad ویندوز را باز کنید و کدهای زیر را به آن منتقل کنید آنگاه با یک نام دلخواه و پسوند .php ذخیره کنید و فایل را فراخوانی کنید:

php

/******************

Rapidshare search script from rapidshare1.com *******************/

//

If you have a question about this script contact us: script@rapidshare1.com

//

To use this script you need to upload it into your server, that’s all !

?>

<

html>

<

head>

<

title> Rapidshare search>

<

style type=”text/css”>

a

{

color: #4C4C4C

;

text-decoration:none

;

font-family:arial

;

font-size:11px

;

}

a:hover

{

text-decoration:underline

;

font-family:arial

;

font-size:11px

;

}

–>

style>

head>

<

body>

<

form method=”post” action=”">

<

table align=”center” width=”600″ >>

<

h1>Your Logo here>

<

input type=”text” size=”40″ name=”search” id=”search” />

<

input type=”submit” name=”button” id=”button” value=”Rapidshare Search” />

td>>

php if(isset($_POST["button"])) {

$

search=str_replace(” “, “+”, $_POST["search"]);

echo implode(”", file(”http://www.rapidshare1.com/script.php?search=”.$search

.”"));

} ?>

td>>

body>

html>
+ نوشته شده در  چهارشنبه 1387/10/04ساعت   توسط   | 

Untitled 1

این دستور که با سویچ های دیگری هم استفاده میشه یکی از دستورایی هست که همه هکر ها اول باهاش آشنا میشن که با تايپ اين دستور شما متوجه آي پي سيستمها و پورتهايي که با آنها در ارتباط هستيد میشوید و مشاهده ميکنيد که چه پورتهايي Listening و يا Established هستن . اين باعث ميشود اگر پورتي مخصوص يک تروجان مثل 27374 که پورت اصلي Sub7 هست در سيستم شما باز بود شما متوجه اين پورت باز بر روي سيستمتان بشويد. اگر در قسمت Foreign Address هم يک آي پي بوسيله پورتي به سيستم شما وصل بود شما به سرعت متوجه مي شويد که يک نفر با آن آي پي در سيستم شماست ، پس اين راهيست که متوجه گرديد سيستمتان آسيب پذير است يا نه ، براي مثال من با تايپ دستور Netstat در Ms-Dos پس از اتصال به اينتر نت نتايج زير را گرفتم :

C:\WINDOWS>netstat 

Active Connections 

Proto Local Address Foreign Address State

TCP 

Midia:1454 cs33.msg.sc5.yahoo.com:5050 

ESTABLISHED

TCP Midia:1488 63.123.44.222:80 

ESTABLISHED

TCP Midia:1491 opi1.vip.sc5.yahoo.com:80 

TIME_WAIُT

TCP Midia:1497 64.187.54.23:80 

ESTABLISHED

TCP Midia:1498 64.187.54.23:80 

ESTABLISHED 

همانطور که ملاحظه ميکنيد اين دستور گاهي اوقات اسم صاحب سيستم کلاينتي که شما با آن در ارتباط هستيد را نيز ميدهد و چون اينجا من با کسي در PM نبودم اسم کسي را نميبينيد ولي اگر کسي با من چت کند و دستور Netstat را اجرا كند اسم را ميبيند و متوجه ميشود کهMidia صاحب آن سيستم کلاينتي مي باشد که در حال چت كردن با آن است و همچنين در اين قسمت مشخص است که من با پورت 5050 با ياهو مسنجر ارتباط برقرار کرده ام و نيز نتايجي که در زير Local Address مشخص است اطلاعاتي درباره خود من مي باشد . و نتايجي که در Foreign Address بدست مياد مشخص ميکند که ما با چه سرور يا کلاينتي در ارتباط هستيم . که در سطر پنجم مثال بالا يعني 63.123.44.222:80 آيپي سايت ياهو ميباشد و مشخص ميكند كه من در سايت ياهو بوده و به وسيله پورت 80 که پورت Http ميباشد با اين وب سرور ارتباط برقرار کرده ام و در قسمت Status هم مشخص ميشود که شما با چه پورتهايي Established هستيد يعني ارتباط برقرار کرده و وصل هستيد و چه پورتهايي Listening يا منتظر Request و در حال شنيدن مي باشيد ، بنابراين با دستور Netstat مي شود يک عمل مانيتورينگ از تمام آي پي ها - پورتها و ماشينهايي که شما با آنها در ارتباط هستيد گرفت .

 

دستور Netstat/? :

Help برنامه Netstat را معرفی میکند و سویچ های که ازش میتوان استفاده کرد و در مقابل هر سویچ در مورد کار آن توضیح مختصری میدهد.

 

دستور Netstat -n :

با این دستور میتوان آي پي و پورت سيستمي که شما با آن در ارتباط هستيد را بدست آورد .برای مثال وقتی شما با یک نفر در یاهو مسنجر چت میکنید پورت ۵۰۵۰ روی سیستم open هست چون یاهو از پورت ۵۰۵۰ استفاده میکند پس با تایپ Netstat –n خواهید داشت:

Active Connections

Proto Local 

Address Foreign Address State

TCP 217.219.223.21:1425 

216.136.175.226:5050 TIME_WAIT

TCP 

217.219.223.21:1431 64.242.248.15:80 ESTABLISHED

TCP 

217.219.223.21:1437 217.218.255.196:5101

ESTABLISHED

همانطور که ملاحظه ميکنيد من در اين لحظه با آي پي 217.218.255.196 در حال چت کردن بودم و آي پي خود نيز پروتکلي که ما بوسيله آن با يک سيستم ارتباط برقرار کرديم Proto مشخص ميشود در قسمت Local Address من هم TCPارتباط برقرار شده است.

 

دستور Netstat -na :

با تايپ کردن اين دستور در MS-DOS Prompt تمام پورتهايي که داده ها و بسته ها را ميفرستند مشخص ميشود ، نشان " na " در تمام دستورات به معني نمايش همه پورتها و ليست کردن آدرسهاي شبکه و شماره فرمها در يک قالب عددي مي باشد ، براي مثال من با تايپ اين فرمان در MS-DOS اين نتايج را گرفتم :

C:\WINDOWS>netstat -na

Active 

Connections

Proto Local Address Foreign Address 

State

TCP 0.0.0.0:1954 0.0.0.0:0 LISTENING

TCP 

0.0.0.0:5101 0.0.0.0:0 LISTENING

TCP 

217.219.223.21:1954 207.46.106.21:1863

ESTABLISHED

TCP 217.219.223.21:1971 

216.136.225.36:5050 ESTABLISHED

TCP 

217.219.223.21:2031 63.121.106.74:80 TIME_WAIT

TCP 

127.0.0.1:1025 0.0.0.0:0 LISTENING

*:* UDP 

0.0.0.0:1958

*:* UDP 64.110.148.59:9 

*:* UDP 

64.110.148.59:137

*:* UDP 64.110.148.59:138 

خب ميبينيد که پورتهاي باز روي سيستم من ليست شده است. مثل 1954-1971-2031

 

دستور Netstat -a :

اين دستور نيز مثل دستور Netstat -an يا -na عمل ميکنه فقط فرقش در اينه که اين دستور پورتها را با معادل اسميشان نشان ميدهد ، براي مثال پورت 139 را با معادل اسميش يعني Netbios نشان ميدهد و همچنين مانند دستور Netstat اسم صاحب سيستم را پرينت ميكند .(اين دستور براي تست کردن نقطه ضعفها و پورتهاي باز در سيستم هاي خودمان بسيار مفيد ميباشد و اگر سيستم آلوده به تروجن بود ميشود از اين دستورها و کلاً برنامه Netstat اين موضوع را فهميد ، پس آنهايي که سوال ميکنند ما چگونه بفهميم سيستم خودمان آلوده به تروجن هست يا نه ، استفاده از اين دستور و کلاً

دستورات Netstat ميتواند خيلي به آنها کمک کند)

 

دستور Netstat -p xxx :

منظور از xxx يعني آن پروتکلي که شما در نظر داريد که ميتواند TCP و UDP باشد.

 

دستور Netstat -e :

اين دستور نيز يکي از دستورات Netstat است که آماري از ارتباطها و بسته ها و شماره هاي ارسال و ذخيره بسته ها و داده ها را نشان ميدهد .(اين دستور بيشتر براي ويندوزهاي 98 , me و همينطور مودمهايي که آمار بسته ها را نميدهند خوب و مفيد است چون در ويندوز 2000 – XP- قسمتي از اين آمار براحتي در اختيار User قرار ميگيرد ، و شما ميتونيد با استفاده از اين دستور ترافيک ISP و شبکه را ببينيد و همينطور برنامه هايي که در حال دانلود هستند را چک کنيد و يا اگر بسته اي در ارسالش مشکلي پيش بياد ميتوانيد در قسمت Errors مشاهده کنيد ، ...)

 

دستور Netstat -r :

اين دستور توسط کاربران معمولي اينترنت زياد بکار گرفته نميشود چون درک بعضي از گزينه هاش براي کاربران عادي دشوار ، بحرحال اين دستور جزييات دقيقي مثل آدرس Gateway - Interface Metric -Netmask , ... درباره آدرس آي پي شما در شبکه ميدهد ، همچنين در ويندوزهاي8 9 - ME کار دستور Netstat -a را هم انجام ميدهد.

+ نوشته شده در  دوشنبه 1387/09/04ساعت   توسط   | 

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

خب من آموزشي که ميخوام بدم برنامه نويسي و توايع سوکت هست تحت ويندوز و نه لينوکس ( که در واقع پلتفرم مادر سوکتها هست ) و به زبان دلفي. برخلاف همه آموزشها و سورسهاي ديگه که اکثرا به زبان سي هستند.

خب اينم يه مقدمه کوچولو ... بي مقدمه اگه ميگفتم ميگفتن به دستور زبان و نگارش فارسي توهين کردي : )

خب بريم سر آموزش قدم به قدم ايجاد يک سوکت و اتصال به سرور و ارسال ديتا...

براي اين کار اول يه فرم معمولي دلفي ايجاد کنيد
و در قسمت
Uses
بايد يونيت زير را اضافه کنيد
WinSock
اين کار براي اين است که بتوانيد از توابعي که شرکت بورلند قبلا  زحمتشو کشيده بتونيد استفاده کند

بعد يک Button روي فرم بزاريد و روي آن دوبار کليک کنيد و شروع کنيد به برنامه نويسي سوکت
توجه داشته باشين که اين الفباي سوکت پروگرامينيگ هست و ميتونه تا مطالب خيلي پيشرفته تر مثل Thread (ريسمانها) و چند پردازشي هم زمان سوکتها و نوشتن سرورهاي اختصاصي ادامه پيدا کنه ..

خب بعد از اينکه يونيت فوق را اضافه کرديد بايد يک سوکت بسازيد
قبل از هر کاري بايد به قول معروف بارگزاري اصلي را انجام بديد که با دستور زير اين کار انجام ميشه

err:= WSAStartup(MakeWord(1,1),WSAData;(

اينجا تابع WsaStartup اين عمل را براي ما انجام ميده و يک عدد از نوع Integer بر ميگردونه که اگه
0 باشه يعني تابع با موفقيت عمل خودشو انجام داده و اگه -1 برگردونه يعني سيستم عامل سوکتها را پشتيباني نميکنه .
البته منم سوکت پروگرامينيگ ور‍ژن 1 را انتخاب کردم و ورژن 2 اون هم هست ولي 1 را چون اکثرا ساپورت ميکنن استفاده کردم .
اما پارامتر دوم يک استراکچر از نوع TWSADATA هست که در قسمت تعريف متغيير ها ميتونيم اونو به صورت زير تعريف کنيم

Var
WSAData :TWSAData ;
Err : Integer;
SOCK : Tsocket

بر عکس اين تابع WSACleanup هست که معمولا در پايان برنامه استفاده ميشه ... که بعد راجع بهش توضيحات لازمه را ميدم .
خب بعد از اينکه اين تابع عدد 0 را با موفقيت برگردوند ميريم سراغ اصل قسمت يعني ايجاد يک سوکت
که به وسيله تايعي به نام Socket() انجام ميشه

( SOCK :=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP

در اينجا بايد يک متغير از نوع Integer داشته باشيم که من اونو SOCK نامگذاري کردم و همانطور که در بالا مشاهده ميکنيد من اون از نوع TSOCKET تعريف کردم که در واقع فرقي زيادي با نوع Integer نميکنه و خود TSOCKET از نوع u_int ميباشد ( هرکدوم که عشقتون ميکشه تعريف کنيد ما که فرقي بينشون نديديم ) و ما بقي کارهامون با اين متغيير انجام ميشه و در واقع هندل اصلي ما براي ارسال و دريافت اطلاعات روي سوکت ساخته شده ميباشد .
اين تابع يکسري متغيير هم ميگيره که به مثلا AF_INET هميشه براي پروتکلهاي اينترنت بکار ميره
يا به قول معروف کلا براي خانواده اينترنت : )
البته پروتکلهاي ديگه مثل AF_IRDA هم هست که ما کاري باشون نداريم ....

دومين پارامتر يا ارگومان نوع اتصال را مشخص ميکنه که من نوع TCP يا را انتخاب کردم که با مشخه SOCK_STRAM مشخص ميشه ..
و اگه اتصال از نوع UDP ميخواستم بايد به جاي اون SOCK_DGRAM قرار ميدادم و.....

و پارامتر سوم هم نوعش بستگي دار به نوعي که در پارامتر دوم انتخاب کردم و چون حالا ما نوع tcp يا Sock_Stram انتخاب کرديم به طبع بايد پارامتر سوم را IPPROTO_TCP انتخاب کنيم
اگر هم نوع UDP بود ميتونستيم پارامتر سوم را IPPROTO_UDP انتخاب کنيم
خب ...
چنانچه اين تابع با موفقيت انجام بگيره مقدار SOCK يه عدد غير 0 خواهد شد .
امتحان کنيد ببنيد مثلا با استفاده از دستور زير
ShowMessage(InttoStr(SOCK));
ميتونيد مقدارشو ببينيد.
معمولا يه عدد زوج بالاي 100 هست ... ولي هر عددي در کل ميتونه باشه .

خب اين تا اللان فقط 2 خط برنامه نويسي بود : )

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

مرحله بعدي اتصال به سرور هست با استفاده از سوکتي که ساختيم
تابعي که به سرور ما را متصل ميکنه اسمش هست
Connect
اين تابع 3 تا پارامتر ميگره که اولي همان سوکتي هست که قبلا ساختيمش
SOCK
دومين پارامتر مشخصات سروري هست که بايد به اون متصل بشيم
خب
اينجا بايد به اين صورت عمل کنيم
يه متغيير مثلا به نام
SinServer
از نوع
sockaddr_in
به صورت زير
var
SinServer : SockAddr_in ;

تعريف ميکنيم و قبل از اينه در تابع کانکت از اون استفاده کنيم به صورت زير مشخصات سرور را توي اون مينويسيم
; (ZeroMemory(@sinServer, sizeof(SinServer

sinServer.sin_family := AF_INET;
;(80 sinServer.sin_port := htons(
sinServer.sin_addr.s_addr:=inet_addr('192.168.100. 1’);

خب در 4 خط بالا 3 تابع که تاحالا توضيح نداده بودم مبينيد
اولي کارش اينه که محتويات پوينتري که قراره مشخصات سرور توش قرار بگيره ر را خالي ميکنه
البته توي دلفي اين عمل فکر ميکنم به صورت اتوماتيک توسط کامپايلر بورلند انجام بگيره ولي خب کار از محکم کاري عيب نميکنه : )
دومين تابع
HTONS
هست که مياد آدرس پورتي که ميخوايم را تبديل به نوع خاصي ميکنه _ ميشه گفت تابع تبديل کلمات دوبايتي به حال BE هست
Big Ending
اگه در مورد نوعش سوالي دارين بفرمائين تا جداگونه توضيح بدم دقيقا کار اين تابع چيه ولي شما فعلا همينطور باش کار کنيد ( دونستنش زياد فايده کاربردي نداره )
و تابع
Inet_addr
که کار اين تابع اينه که يک رشته کاراکتري آدرس آي پي را ميگيره و به يک عدد چهاربايتي قالب
BE
تبديل ميکنه
( اين نوع
BE
را اگه خواستين جداگونه توضيح بدم ولي بازم دونستنش زياد فايده کاربردي نداره : )


بعد که مشخصات سرور را پر کردين با تابع کانکت به صورت زير به سرور متصل بشين
; )(SOCK2 := Connect( SOCK,SinServer,sizeof(SinServer
اينجا بازگشتي تابع به
SOCK2
هست که عينا از نوع همون SOCK
قبلي هست و يک عدد هست
مقدارش را هم براي اينکه مطمئن بشين درست به سرور متصل شدين حتما چک کنيد
اگر مقدار صفر نشون داد يعني درست وصل شدين و اگه -1 بود يعني اتصال با مشکل مواجه شده و بايد ببينيد روي اون آدرس سرور اصلا چنين پورتي باز هست يا خير...
خب بعد از اين مرحله اگه با موفقيت به سرور متصل شده بودين ميريم سر اصل مطب يعني ارسال اطلاعات به سرور

براي اين کار من به تابع نوشتم که پيشنهاد ميکنم شما هم از همين تابع استفاده کنيد تا راحتتر هر پکتي با هر شکلي ( اللخصوص از نوع اکسپلويتيشا ) به سرور ارسال کنيد

تابع زير را کپي کنيد داشته باشين
ک(procedure Mys(str: String
var
; I: Integer
begin
for I:=1 to Length(str) do
begin
; Err :=send(sock,str[i],1,0)
end;
End;


اگه نگاه کنيد متوجه ميشين که من از تابعي به نام
SEND
استفاده کردم
اين تابع کارش ارسال اطلاعات توسط سوکت هست !
فکر کنم متوجه شدين چرا من يه تابع براش نوشتم : )

حالا مثلا يه خط از نوع رشته اي ميخوايم ارسال کنيد
بعد از تابع
Connect
از تابع بالا به صورت زير استفاده ميکنيم
Mys(‘SALAm ‘);
اگه يه برنامه سمت سرور داشته باشين که هرچي مياد را بهتون نشون بده متوجه ميشين که پيغام سلام براش ارسال شده .
---------------------
اما اگه توجه داشته باشين ما در سورسهاي اکسپلويتها جملات معمولي به کار نبرديم مثلا
0XAB,0X22
و.....
خب اينجا ميتونيد از علامت
$
و تابع
Char
مثلا به صورت زير
Char($AF)+Char($24) S :=
MyS(S);

استفاده کنيد و يک رشته اکسپلويت را آماده کنيد به با تابع بالا به سمت سرور ارسال کنيد
$22,$AB

بعد از ارسال هم ميتونيد ارتباط را با تابع
(closesocket(Sock
قطع کنيد ...
err := WSACleanup
و با تابع بالا هم کلا شر حافظه اي که براي اين کار اختصاص داديم را بکنيم
کمبود
Ram
ادمو به چه کاراي کثيفي که وادار نميکنه : )
تابع
Recv را هم چون زياد ربطي به ارسال رشته هاي اکسپلويت نداشت توضيح ندادم
در بعضي از سورسها البته استفاده ميشه ..... شکل و قيافش هم تقريبا شبيه به شکل و قيانه همون تابع SEND هست زياد فرقي نداره .
+ نوشته شده در  دوشنبه 1387/07/22ساعت   توسط   | 

شی پرينتر ، شیي است که پرينتر پيش فرض سيستم را کنترل می کند . استفاده از شی پرينتر در ويژوال بيسيک 6 مانند کار با ساير اشيا است و بايستی از خواص و متدهای آن استفاده کرد . در ادامه با برخی از اين خواص و متدها آشنا خواهيد شد .

چاپ متن توسط شی پرينتر

برای چاپ متن توسط شی پرينتر کافيست خواص
CurrentX و CurrentY که محل قرار گرفتن کرسر می باشد را تنظيم نوده و سپس با استفاده از متد Print متن مورد نظر را چاپ نموده و در پايان با استفاده از متد EndDoc صفحه چاپی را از پرينتر بيرون بدهيم . مثال :


Printer.CurrentX=150
Printer.CurrentY=200
Printer.Print "Visual Basic Printer Object Test"
Printer.EndDoc


در مثال فوق فرض شده که ScaleMode برابر Pixel قرار داده شده است . توجه داشته باشيد که تا قبل از اجرای متد EndDoc عمل چاپ انجام نمی شود و فقط بعد از اين متد است که چاپ انجام شده و کاغذ بيرون می آيد .

اگر پس از يک دستور Print ، دستور Print ديگری را استفاده کنيم متن روی خط بعدی چاپ خواهد شد . اگر بخواهيم متن بلافاصله بعد از متن اول چاپ شود بايد بعد از دستور Print اول از علامت ; استفاده کنيم .

نکته : برای کنترل دقيق محل چاپ از CurrentX و CurrentY استفاده نمائيد .

چاپ گرافيک توسط شی پرينتر

به 4 روش می توان اشکال گرافيکی را توسط شی پرينتر چاپ کنيد :
1 – چاپ دايره : با استفاده از متد
Circle می توان يک دايره ، قوس و يا بيضی را در صفحه چاپ کرد . فرمت کلی اين متد بصورت زير است :

Circle (x,y),radius,[color],[start],[end],[aspect]

که x و y مختصات مرکز دايره و radius شعاع آن می باشد .
پارامترهای
color ، start ، end و aspect اختياری هستند و بترتيب رنگ ، محل شروع قوس ، محل خاتمه قوس و نسبت شعاع بيضی را نشان می دهند .

2 – چاپ خط : با استفاده از متد Line می توان يک خط و مستطيل را در صفحه چاپ کرد . فرمت کلی اين متد بصورت زير است :

Line (x1,y1)-(x2,y2),[color],[B[F]]

که x1 و y1 مختصات شروع خط ( يا مستطيل ) و x2 و y2 مختصات انتهای خط ( يا مستطيل ) هستند .
پارامتر
color اختياری بوده و رنگ خط ( يا مستتطيل ) را نشان می دهد .
پارامتر
B اختياری بوده و نشان می دهد يک مستيل رسم  شود .
پارامتر
F اختياری بوده و بهمراه B می آيد و نشان می دهد يک مستطيل توپر رسم شود .

3 – چاپ نقطه : با استفاده از متد PSet می توان نقطه ای روی صفحه چاپ کرد و فرمت کلی آن بصورت زير است :

PSet (x,y),[color]

که x و y مختصات نقطه می باشند .
پارامتر
color اختياری بوده و رنگ نقطه را نشان می دهد .

4 – چاپ تصوير : با استفاده از متد PaintPicture می توان محتويات يک فايل گرافيکی را چاپ کرد . فرمت کلی اين متد بصورت زير است :

Printer.PaintPicture picture, x1, y1, [width1], [height1], [x2], [y2], [width2], [height2], [opcode]

x1 و y1 مختصات قرارگرفتن تصوير در صفحه بوده و picture يک شی از کلاس IPictureDisp است . اين شی را می توان از يک PictureBox يا از خاصيت Picture فرم گرفت و يا از دستور LoadPicture استفاده کرد .

مثال 1 :


Printer.PaintPicture Picture1.Picture, 100, 100

مثال 2 :

PaintPicture LoadPicture("C:\sample.jpg"), 100, 100

width1 و height1 طول و عرض تصوير چاپی  می باشند . x2 و y2 نيز بهمراه width2 و height2 می توانند ميزان برش از تصوير اصلی برای چاپ را مشخص کنند .

ساير خواص مهم شی پرينتر

ColorMode : اگر پرينتر رنگی باشد ، رنگی يا تک رنگ بودن چاپ را تعيين می کند .
Copies : تعداد چاپ را مشخص می کند .
Font : نوع فونت چاپ متن را مشخص می کند .
FontSize : سايز فونت چاپ متن را مشخص می کند .
PrintQuality : کيفيت چاپ را مشخص می کند .

ساير متدهای مهم شی پرينتر

KillDoc : پرينت در حال چاپ را از صف چاپ حذف می کند .
NewPage : صفحه جاری را به پايان برده و صفحه جديدی را برای چاپ آماده می کند .
Scale : سيستم مختصات کاربر را تعيين می کند .
TextHeight : ارتفاع متن پس از چاپ شدن در مختصات Scale را تعيين می کند .
TextWidth : عرض متن پس از چاپ شدن در مختصات Scale را تعيين می کند

+ نوشته شده در  شنبه 1387/07/20ساعت   توسط   | 

 

ايجاد پروسيجر

 

در VB، علاوه بر Event Procedureها که به ازای رويداد (Event) های مشخصی انجام می شوند، می توانيم تعدادی پروسيجر را نيز خودمان تعريف کنيم که به اين نوع پروسيجر، General Procedure (پروسيجر عمومی) گفته می شود که برای اجرای آنها می بايست نام آنها در جايی از برنامه، فراخوانی شود.
در VB (مشابه Basic) دو نوع پروسيجر داريم:

 

1- تابع  (Function)

 

2-  روال (Sub) .
توابع قطعه برنامه هايی هستند که هرگاه نام آنها در برنامه فراخوانی شود، لزوماً يک و فقط يک مقدار را به عنوان خروجی برمی گرداند در حالی که روال (ساب روتين) ها، قطعه برنامه هايی هستند که ممکن است به تناسب دارای يک يا چند خروجی و يا حتی بدون خروجی باشند.
توابع و روالها می توانند شامل تعدادی آرگومان (پارامتر) باشند که پارامترها در توابع فقط نقش ورود اطلاعاتی از برنامه به تابع را ايفا می کنند و نام خود تابع به عنوان خروجی تابع استفاده می شود در حالی که در روالها ورود و خروج داده ها، هر دو توسط همين پارامترها انجام می شود.
شکل کلی توابع به شکل زير است:

 

 

 Function functionName (Parameters) As variableType

 
  Commands


End Function

 

 

و همچنين شکل کلی روال ها:

 

 Sub subName (Parameters)
 
   Commands

End Sub

 

 

 

 


+ نوشته شده در  یکشنبه 1387/07/14ساعت   توسط   |