Döngüler

For-to-step-next

Bu olay, istediğimiz bir şeyi, istediğimiz kere yaptırmakdır. Sonunu Next ile kapatırız, tıpkı endif gibi.

Hemen basit bir örnek;

For $i = 1 to 1 0 Step 1
MsgBox(0,"Sayalım", $i)
Next
Görüldüğü gibi değişkenimiz var :) for da bir değişken olmalıdır, değişkensiz for döngüsü kumsuz denize benzer diyim siz anlayın :P. Yaptığımız işkem 1 den 10 a kadar say ve bunu bana mesaj kutusunda gösterdir.


While-Wend

Hemen örnek;
While 1
$zaman = _nowtime()
Tooltip($zaman)
Wend
Yaptığımız şey, script açık olduğu süre tooltip ile saati gösterdir. While bir fonksiyon/komut içinde kullanılabilir, yani sadece scriptin ana işlevinde kullanılmaz. Örneğin bir fonksiyon içinde download yapıyoruz, bu durumda;
While @inetgetactive
tooltip(@inetgetbytesread)
Wend
burada, download yaparken tooltiple bana indirilen kadarını gösterdir, download bittikten sonra bu işlem sonlanacaktır. Son olarak Wend ile kapatmayı unutmayın.


Do-Until

Bunun olayının türkçesi ise, şu şöyle olana kadar şöyle yaptır. Basit Örnek;
$i = 0
Do
MsgBox(0, "Value of $i is:", $i)
$i = $i + 1
Until $i = 10
Buradaki işlem, $i 10 a eşitlenene kadar mesaj kutusunu bana gösterdir.
Biraz daha iyi örnek vermek gerekirse, bir macro oluşturursunuz, sürekli 1 tuşuna basar.

$baslama = 1
Do
Send("{1}")
until $baslama = 0
Buradaki atraksiyon, ben durdura basana kadar sen 1 e bas dır.


With-EndWith

Örnek;
$oExcel = ObjCreate("Excel.Application")
$oExcel.visible =1
$oExcel.workbooks.add

With $oExcel.activesheet
.cells(2,2).value = 1
.range("A1:B2").clear
EndWith
Burada kısaca, excel objesi aktif olduğunda şunları uygula diyoruz.


For-In-Next

örnek;
$oShell = ObjCreate("shell.application")
$oShellWindows=$oShell.windows

if Isobj($oShellWindows) then
$string=""

for $Window in $oShellWindows
$String = $String & $Window.LocationName & @CRLF
next
Buradada, açık pencereleri bul komutunu veriyoruz ve daha sonra, for-in ile açık pencerelerdeki, pencereleri tek tek alıyoruz.

1 yorum:

Adsız dedi ki...

selam senden bir yardım isteyebilirmiyim bu bilgine göre 5 dk bile almayacağına inanıyorum bana 122212221222... diye bir dizilim lazım ama hiç ingilizcem olmadığı için yapamadım yardım edermisin lütfen

Yorum Gönder