sadık özdoğan Moderatör
ÜYELİK TARİHİ : 12/09/09 YER : ANKARA Yaş : 33 MESAJLAR : 872 Rep Gücü : 22 Tecrübe Puan'ı : 2546 Doğum tarihi : 10/04/91 RUH HALİ : Hangi Takımlı : galata saray İş/Hobiler : bilgisayarla ilgilenmek, şiir yazmak. Lakap : efsane Hakkımda : ben sadık özdoğan: lise 3 öğrencisiyim 18 yaşındayım.
| Konu: çevirmeli ağ komut dosyası yazma desteği Ptsi Ocak 31, 2011 4:35 pm | |
| Çevirmeli Að Komut Dosyasý Yazma Desteði için Çevirmeli Eriþim Komut Dosyasý Yazma Komut Dili
Telif Hakký (c) 1995 Microsoft Corp.
Ýçindekiler
1.0 Giriþ 2.0 Bir Komut Dosyasýnýn Temel Yapýsý 3.0 Deðiþkenler 3.1 Sistem Deðiþkenleri 4.0 Dizi Hazýr Bilgileri 5.0 Deyimler 6.0 Açýklamalar 7.0 Anahtar Sözcükler 8.0 Komutlar 9.0 Ayrýlmýþ Sözcükler
1.0 Giriþ
Birçok Internet hizmet saðlayýcý ve çevrimiçi hizmetler bir baðlantý kurmak için, kullanýcý adýnýz ve parolanýz gibi bilgileri girmenizi ister. Çevirmeli Að Eriþimi için Komut Dosyasý Yazma desteði ile bu iþlemi otomatik hale getirecek bir komut dosyasý yazabilirsiniz.
Bir komut dosyasý, Internet hizmet saðlayýcýsýnýn ya da çevrimiçi hizmetinin bu baðlantýyý kurmasý ve bu hizmeti kullanmasý için gereken bir dizi komutu, parametreyi ve deyimi içeren bir metin dosyasýdýr. Bir komut dosyasý yaratmak için, Microsoft Not Defteri gibi herhangi bir düzenleyici kullanabilirsiniz. Komut dosyanýzý bir defa yarattýktan sonra, Çevirmeli Eriþim için Komut Dosyasý Yazma Aracý'ný çalýþtýrarak bu dosyayý özel bir Çevirmeli Að baðlantýsýna atayabilirsiniz.
2.0 Bir Komut Dosyasýnýn Temel Yapýsý
Komut, komut yazma dosyasýnýn içerdiði temel yönergedir. Bazý komutlar, komutun ne yapmasý gerektiðini tanýmlayan parametrelere gereksinim duyarlar. Deyim, bir sonuç oluþturan baðýmsýz deðiþkenlerin ve iþleçlerin birleþimidir. Deyimler, herhangi bir komutun içinde deðer olarak kullanýlabilirler. Deyimlere örnek olarak, aritmetik ve iliþkisel karþýlaþtýrmalar ve dizi bitiþtirmeler verilebilir.
Çevirmeli Að için komut dosyasýnýn temel biçimi aþaðýdaki gibidir:
; ; Açýklama, noktalý virgülle baþlar ve satýrýn sonuna kadar ; gider. ;
proc main ; Bir komut dosyasýnda bulunabilecek deðiþken ve ; komut sayýsýnýn sýnýrý yoktur
deðiþken bildirimleri
komut bloðu
endproc
Bir komut dosyasýnýn, proc anahtar sözcüðü ve bu sözcükle eþleþen ve yordamýn sonunu gösteren endproc anahtar sözcüðü ile belirtilen bir ana yordamý mutlaka olmalýdýr.
Deðiþken bildirimlerini, komutlarý eklemeden önce yapmalýsýnýz. Önce ana yordamdaki ilk komut yürütülür ve sonra onu izleyen komutlar, komut dosyasýnda göründükleri sýra ile yürütülür. Ana yordamýn sonuna gelindiðinde komut dosyasý da biter.
3.0 Deðiþkenler
Komut dosyalarý deðiþkenler içerebilir. Deðiþken adlarý bir harfle ya da bir altçizgi ('_') ile baþlar ve herhangi bir þekilde sýralanmýþ büyük ya da küçük harfler, sayýlar ya da altçizgiler içerebilir. Ayrýlmýþ bir sözcüðü bir deðiþken adý olarak kullanamazsýnýz. Daha fazla bilgi için, bu belgenin sonunda yer alan ayrýlmýþ sözcükler listesine bakýn.
Deðiþkenleri kullanmadan önce bildirimlerini yapmanýz gerekir. Bir deðiþken bildirimi yaptýðýnýzda, o deðiþkenin türünü de belirtmeniz gerekir. Belli bir türdeki deðiþken ancak yine bu türdeki deðerleri içerebilir. Aþaðýdaki üç deðiþken türü desteklenmektedir:
Tür Açýklama
integer Bir negatif ya da pozitif sayý, örneðin: 7, -12, ya da 5698.
string Çift týrnak iþareti içine alýnmýþ bir karakter dizisi; örneðin, "Merhaba!" ya da "Parolanýzý girin:".
boolean Mantýksal bir boolean deðeri, TRUE (DOÐRU) ya da FALSE (YANLIÞ).
Aþaðýdaki atama ifadesi kullanýlarak deðiþkenlere deðerler atanýr:
deðiþken = deyim
Deðiþken eþitlenen deyimi alýr.
Örnekler:
integer count = 5 integer timeout = (4 * 3) integer i
boolean bDone = FALSE
string szIP = "getip 2"
set ipaddr szIP
3.1 Sistem Deðiþkenleri
Sistem deðiþkenleri komut dosyalarý komutlarýyla ayarlanýr ya da Çevirmeli Að baðlantýsý kurarken verdiðiniz bilgiler tarafýndan belirlenir. Sistem deðiþkenleri salt okunurdur, bu da komut dosyasý içinde deðiþtirilemeyecekleri anlamýna gelir. Sistem deðiþkenleri þunlardýr:
Ad Tür Açýklama $USERID String Geçerli baðlantý için kullanýcý kimliði. Bu deðiþken, Çevirmeli Að Baðlantý Yeri iletiþim kutusunda belirtilmiþ olan kullanýcý adýnýn deðeridir. $PASSWORD String Geçerli baðlantý için parola. Bu deðiþken, Çevirmeli Að Baðlantý Yeri iletiþim kutusunda belirtilmiþ olan kullanýcý parolasýnýn deðeridir.
$SUCCESS Boolean Bu deðiþken, komutun baþarýlý olup olmadýðýný belirtmek için bazý komutlar tarafýndan ayarlanýr. Komut dosyası, bu deðiþkenin deðerine göre karar verebilir. $FAILURE Boolean Bu deðiþken, komutun baþarýsýz olup olmadýðýný belirtmek için bazý komutlar tarafýndan ayarlanýr. Komut dosyası, bu deðiþkenin deðerine göre karar verebilir.
Bu deðiþkenler, benzer türde bir deyimin kullanýldýðý herhangi bir yerde kullanýlabilir. Örneðin,
transmit $USERID
geçerli bir komuttur çünkü $USERID, "string" türünde bir deðiþkendir.
4.0 Dizi Hazýr Bilgileri
Çevirmeli Að için Komut Dosyasý Yazma, aþaðýda açýklandýðý gibi, kaçýþ tuþu dizisi ve kontrol dizisini destekler.
Dizi Hazýr Bilgileri Açýklama
^char Kontrol dizisi
char, '@' ile '_' arasýnda bir deðerse karakter sýrasý, 0 ile 31 arasýnda olan bir tek-bayt deðere çevrilir. Örneðin, ^M bir satýrbaþý deðerine dönüþtürülür.
char, a ile z arasýnda bir deðerse karakter sýrasý, 1 ile 26 arasýnda olan bir tek-bayt deðere çevrilir.
char herhangi baþka bir deðerse, karakter sýrasýna özel bir iþlem uygulanmaz.
<cr> Satýrbaþý <lf> Satýr atlama " Çift týrnak \^ Tek kontrol dizisi \< Tek '<' \\ Ters eðik çizgi
Örnekler:
transmit "^M" transmit "Gamze^M" transmit "<cr><lf>" waitfor "<cr><lf>"
5.0 Deyimler
Deyim, bir sonucun deðerlendirilmesini saðlayan iþleç ve baðýmsýz deðiþkenlerin birleþimidir. Deyimler, herhangi bir komut içinde deðer olarak kullanýlabilir.
Bir deyim, herhangi bir deðiþkeni ya da integer, string ya da boolean deðerleri, aþaðýdaki tablolarda görüleceði gibi herhangi birli ya da ikili iþleç ile birleþtirebilir. Tüm birli iþleçler en yüksek önceliði alýrlar. Ýkili iþleçlerin önceliði tablodaki konumlarý ile belirtilmiþtir.
Birli iþleçler þunlardýr:
Ýþleç Ýþlem Türü - Birli eksi ! Bir'in tümleyeni Ýkili iþleçler öncelik sýralarýna göre aþaðýdaki tabloda listelenmiþtir. Yüksek öncelikli iþleçler listede önce yer alýr:
Ýþleçler Ýþlem Türü Tür Sýnýrlamalarý * / Çarpma Integers + - Toplama Integers, Strings (yalnýz + ) < > <= >= Ýliþkisel Integers == != Eþitlik Integers, strings, booleans and Mantýksal VE Booleans or Mantýksal VEYA Booleans Örnekler:
count = 3 + 5 * 40 transmit "Merhaba" + " dünya" delay 24 / (7 - 1)
6.0 Açýklamalar
Noktalý virgülü izleyen tüm satýr yoksayýlýr.
Örnekler:
; bu bir açýklamadýr
transmit "merhaba" ; string "merhaba" aktarýmý
7.0 Anahtar Sözcükler
Anahtar sözcükler komut dosyasýnýn yapýsýný belirler. Komutlarýn aksine, bir eylem gerçekleþtirmezler. Anahtar sözcükler aþaðýda listelenmiþtir.
proc ad
Yordamýn baþlangýcýný belirtir. Tüm komut dosyalarýnýn bir ana yordamý olmasý gerekir (proc ana). Komut dosyasýnýn yürütülmesi ana yordamdan baþlar ve ana yordamýn bitiminde sona erer. endproc
Yordamýn sonunu belirtir. Komut dosyasý ana yordamýn endproc ifadesine kadar yürütüldüðünde, Çevirmeli Að PPP ya da SLIP'e baþlayacaktýr.
integer ad [ = deðer ]
Integer türünde bir deðiþken bildirimi yapar. Deðiþkenin ilk deðeri için herhangi bir sayýsal deyim ya da deðiþken kullanabilirsiniz.
string ad [ = deðer ]
String türünde bir deðiþken bildirimi yapar. Deðiþkenin ilk deðeri için herhangi bir dizi hazýr bilgisi ya da deðiþken kullanabilirsiniz.
boolean ad [ = deðer ]
Boolean türünde bir deðiþken bildirimi yapar. Deðiþkenin ilk deðeri için herhangi bir boolean deyimi ya da deðiþken kullanabilirsiniz.
8.0 Komutlar
Tüm komutlar ayrýlmýþ sözcüklerdir, bundan ötürü komutlarla ayný ada sahip deðiþken bildirimi yapamazsýnýz. Komutlar aþaðýda listelenmiþtir:
delay nSaniye
Komut dosyasýndaki bir sonraki komutu yürütmeden önce nSaniye ile belirtilen saniye kadar duraklar.
Örnekler:
delay 2 ; 2 saniye duraklar delay x * 3 ; x * 3 saniye duraklar
getip deðer
Uzak bilgisayardan alýnacak IP adresini bekler. Internet hizmet saðlayýcýnýz bir dize içinde birden fazla IP adresi döndürüyorsa, komut dosyasýnýn kullanmasý gereken IP adresini belirtmek için deðer parametresini kullanýn. Örnekler:
; ikinci IP adresini alýr set ipaddr getip 2
; ilk alýnan IP adresini bir deðiþkene atar szAddress = getip
goto etiket
Komut dosyasýnda etiket ile belirtilen konuma atlar ve onu izleyen komutlarý yürütmeye devam eder.
Örnekler:
waitfor "Prompt>" until 10 if !$SUCCESS then goto BailOut ; BailOut'a atlar ve onu izleyen komutlarý ; yürütmeye baþlar endif
transmit "bbs^M" goto End
BailOut: transmit "^M"
halt
Komut dosyasýný durdurur. Bu komut uçbirim iletiþim penceresini kaldýrmaz. Baðlantýyý kurmak için Devam'ý týklatmanýz gerekir. Komut dosyasýný yeniden baþlatamazsýnýz.
if durum then komutlar endif
Eðer durum DOÐRU ise bir komutlar serisi yürütür.
Örnek:
if $USERID == "John" then transmit "Johnny^M" endif
etiket : Komut dosyasýnda atlanýlacak yeri belirtir. Etiketin benzersiz bir adý olmalý ve deðiþkenlerin adlandýrýlma düzenlerine de uygun olmalýdýr.
set port databits 5 | 6 | 7 | 8
Bir oturum sýrasýnda gönderilen ve alýnan baytlarýn içindeki bit sayýsýný deðiþtirir. Bit sayýsý 5 ve 8 arasýnda olabilir. Komut dosyasýnda bu komutu kullanmadýysanýz Çevirmeli Að, baðlantý için özellikler ayarlarýný kullanacaktýr.
Örnek:
set port databits 7
set port parity none | odd | even | mark | space
Oturum sýrasýnda baðlantý noktasý için parite þemasýný deðiþtirir. Komut dosyasýnda bu komutu kullanmadýysanýz Çevirmeli Að, baðlantý için özellikler ayarlarýný kullanacaktýr.
Örnek:
set port parity even
set port stopbits 1 | 2
Oturum sýrasýnda baðlantý noktasý için dur biti sayýsýný deðiþtirir. Bu sayý 1 ya da 2 olabilir. Komut dosyasýnda bu komutu kullanmadýysanýz Çevirmeli Að, baðlantý için özellikler ayarlarýný kullanacaktýr.
Örnek:
set port stopbits 2
set screen keyboard on | off
Komut dosyasý yazma uçbirim terminalinden yapýlacak klavye girdisini etkinleþtirir ya da etkinliðini kaldýrýr.
Örnek:
set screen keyboard on
set ipaddr dize
Oturum için iþ istasyonunun IP adresini belirtir. Dize IP adresi biçiminde olmalýdýr.
Örnekler:
szIPAddress = "11.543.23.13" set ipaddr szIPAddress
set ipaddr "11.543.23.13"
set ipaddr getip
transmit dize [ , raw ]
Uzak bilgisayara dize ile belirtilen karakterler gönderir.
Komut içinde raw parametresini kullanmadýðýnýz sürece, uzak bilgisayar kaçýþ tuþu dizisi ve kontrol dizisini algýlayacaktýr. $USERID ve $PASSWORD sistem deðiþkenleri aktarýldýðýnda kullanýcý adý ya da parola karakter sýralarý içeriyorsa, raw parametresini kullanmak yararlýdýr, raw parametresi yoksa, kaçýþ tuþu dizisi ya da kontrol dizisi olarak algýlanabilecektir.
Örnekler:
transmit "slip" + "^M" transmit $USERID, raw
waitfor dize [ , matchcase ] [ then etiket { , dize [ , matchcase ] then etiket } ] [ until zaman ]
Bilgisayarýnýz, uzak bilgisayardan belirtilmiþ olan dizelerden bir ya da daha fazlasýný alana kadar bekler. matchcase parametresi kullanýlmazsa, dize parametresi küçük ve büyük harf duyarlýdýr.
Eþleþen bir dize alýnýrsa ve then etiket parametresi kullanýlýrsa, bu komut, komut dosyasýnda etiket ile belirtilen yere atlayacaktýr.
Seçime baðlý until zaman parametresi, bilgisayarýnýzýn bir sonraki komutu yürütmeden önce, dizeyi almak için bekleyeceði saniye sayýsýnýn üst sýnýrýný belirtir. Bu parametre yoksa, bilgisayar sonsuza kadar bekleyecektir.
Bilgisayarýnýz, belirtilmiþ dizelerden birini alýrsa, $SUCCESS sistem deðiþkeni TRUE'ya (DOÐRU) eþitlenir. Aksi takdirde, zaman ile belirtilen saniye sayýsý dize alýnmadan önce aþýlmýþsa, FALSE!a (YANLIÞ) eþitlenir.
Örnekler:
waitfor "Login:"
waitfor "Password?", matchcase
waitfor "prompt>" until 10
waitfor "Login:" then DoLogin, "Password:" then DoPassword, "BBS:" then DoBBS, "Other:" then DoOther until 10
while durum do komutlar endwhile
durum YANLIÞ olana kadar komutlar serisini yürütür.
Örnek:
integer count = 0
while count < 4 do transmit "^M" waitfor "Login:" until 10 if $SUCCESS then goto DoLogin endif count = count + 1 endwhile ...
9.0 Ayrýlmýþ Sözcükler
Aþaðýdaki sözcükler ayrýlmýþ sözcüklerdir ve deðiþken adý olarak kullanýlamazlar.
and boolean databits delay do endif endproc endwhile even FALSE getip goto halt if integer ipaddr keyboard mark matchcase none odd off on or parity port proc raw screen set space stopbits string then transmit TRUE until waitfor while
| |
|