Autoit Return global local nedir nasıl kullanılır? - Çözüldü
Autoit Return global local nedir nasıl kullanılır? - Çözüldü
Merhaba arkadaşlar öncelikle iyi sahurlar :)
autoit script de bazı terimleri bilmiyorum ve nasıl kullanılıyor şu terimler
basit bir biçimde anlatıp örnek verebilirmisiniz çünki ben başka bir programlama dili bilmiyorum.
Bu komutlar nedir nasıl kullanılıyor?
Global
Local
Return
SetExtended
ayrıca @CR @LF ve @CRLF bu üçü alt satıra geç demek değilmi ve aynı şey değillermi?
şimdiden teşekkür ediyorum iyi forumlar.
autoit script de bazı terimleri bilmiyorum ve nasıl kullanılıyor şu terimler
basit bir biçimde anlatıp örnek verebilirmisiniz çünki ben başka bir programlama dili bilmiyorum.
Bu komutlar nedir nasıl kullanılıyor?
Global
Local
Return
SetExtended
ayrıca @CR @LF ve @CRLF bu üçü alt satıra geç demek değilmi ve aynı şey değillermi?
şimdiden teşekkür ediyorum iyi forumlar.
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Autoit Return global local nedir nasıl kullanılır?
@anxious
Merhaba, kısaca global değişkeni tanıtıldıktan sonra script dosyasının her yerine kullanılabilir. Local ise genelde bir fonksiyon içinde kullanılır ve fonksiyondan çıkıldığından kullanılamaz. Kısaca örnek vereyim.
Return bir fonksiyondan hangi bilgi ile dönüleceğini belirler. Dönüşlerde SetExtended ve SetError ilede numara cinsinden bilgi ile dönüş yapılabilir.
Kısaca sana bir örnek vereyim.
@CR , @LF ve @CRLF konusuna gelirsek, kısaca sen notepadi açıp bir şeyler yazıp entara basınca @CRLF yapmış oluyorsun. Bizim entara basıp alt satıra geçtiğimizde iki karakter yazılır @CR ve @LF
Linux gibi bazı sistemler bu iki karakter yerine tek karakter kullanabiliyor. Kısaca windows için bir şeyler ayarlıyorsan çıktı dosyanda @crlf kullanmaya dikkat et.
Kolay gelsin....
Merhaba, kısaca global değişkeni tanıtıldıktan sonra script dosyasının her yerine kullanılabilir. Local ise genelde bir fonksiyon içinde kullanılır ve fonksiyondan çıkıldığından kullanılamaz. Kısaca örnek vereyim.
Kod: Tümünü seç
Global $BenMesurum = "Beni tüm ülke tanır" & @CRLF
;Global ile tanıttığımız değişken burda kullanılabilir
ConsoleWrite($BenMesurum)
;Local ile tanıttığımız değişken burda kullanılamaz.
_Fonksion()
Func _Fonksion()
Local $BenMesurumBolgemde = "Beni sadece kasabamdakinler tanır"& @CRLF
;Global ile tanıttığımız değişken burda kullanılabilir
ConsoleWrite($BenMesurum)
;Local ile tanıttığımız değişken burda kullanılabilir
ConsoleWrite($BenMesurumBolgemde)
EndFunc ;==>TogglePause
;Global ile tanıttığımız değişken burda kullanılabilir
ConsoleWrite($BenMesurum)
;Local ile tanıttığımız değişken burda kullanılamaz.
Kısaca sana bir örnek vereyim.
Kod: Tümünü seç
Global $Test = _Test()
Global $error = @error
Global $extended = @Extended
MsgBox(64,"","Dönen: " & $Test & @Crlf & "Error: " & $error & @Crlf & "Extended: " & $extended)
Func _Test()
Local $Computer = @ComputerName
;Diğer kodlar....
Return SetError(1,2,$Computer)
EndFunc
$Test = _Test2()
$error = @error ;fonksiyonda atama yapılmadığı için 0 olarak döner
$extended = @Extended
MsgBox(64,"","Dönen: " & $Test & @Crlf & "Error: " & $error & @Crlf & "Extended: " & $extended)
Func _Test2()
Local $Computer = @ComputerName
;Diğer kodlar....
Return SetExtended(7,$Computer)
EndFunc
Linux gibi bazı sistemler bu iki karakter yerine tek karakter kullanabiliyor. Kısaca windows için bir şeyler ayarlıyorsan çıktı dosyanda @crlf kullanmaya dikkat et.
Kolay gelsin....
Re: Autoit Return global local nedir nasıl kullanılır?
global için verdiğiniz örnek çok güzel Teşekkür ederim cevabınız için tümünü anladım ama local ı hala anlayamadım bu locala atanan değişken normaldede çalışıyor konsolda
yani başına local koymadanda problemsiz çalışıyor global olarak kullanılmayacaksa başına local koymamız gereksiz değilmi mazur görün anlamadığımdan soruyorum teşekkürler tekrardan
misal
ayrıca
@CRLF,@CR,@LF için benim örneğim doğrumudur?
yani başına local koymadanda problemsiz çalışıyor global olarak kullanılmayacaksa başına local koymamız gereksiz değilmi mazur görün anlamadığımdan soruyorum teşekkürler tekrardan
misal
Kod: Tümünü seç
_Fonksion()
Func _Fonksion()
$BenMesurumBolgemde = "Beni sadece kasabamdakinler tanır"& @CRLF
;Local ile tanıttığımız değişken burda kullanılabilir
ConsoleWrite($BenMesurumBolgemde)
EndFunc ;==>TogglePause
@CRLF,@CR,@LF için benim örneğim doğrumudur?
Kod: Tümünü seç
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
$Form1 = GUICreate("Form1", 252, 206)
$Edit1 = GUICtrlCreateEdit("", 32, 16, 185, 105)
GUICtrlSetData($Edit1, "Kelime1" & @CRLF & "Kelime2" & @CRLF & "Kelime3")
$Button1 = GUICtrlCreateButton("Button1", 48, 168, 155, 25)
$Label1 = GUICtrlCreateLabel("Label1", 48, 136, 156, 17)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$okuma = GUICtrlRead($Edit1)
$satir = StringSplit(StringReplace($okuma, @CR, ""), @LF)
For $var = 0 To UBound($satir) - 1
Sleep(500)
GUICtrlSetData($Label1, $satir[$var])
Next
EndSwitch
WEnd
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Autoit Return global local nedir nasıl kullanılır?
@anxious
Script dosyanın başında local ile tanımlama yapsanda bu global olarak tanımlanır. Fonksiyon içlerinde bir çok değişken olabiliyor. Haliyle bunlar local olarak tanıtılır ve fonksiyondaki işlem bitince bir nevi silinir ilgili değişkendeki bilgiler.
Kısaca verdiğin örnekte _Fonksion() satırı altına consleWrite satırın eklersen hata aldığını görürsün. Dediğim gibi local genellikle fonksiyon içinde kullanılıyor. Fonksiyon dan çıkılınca veyahut başka fonksiyonda bu değişkenler tanınmaz.
Diğer örnek koda gelirsek, sorun görünmüyor. Genelde @LF karakteri baz alınıyordu tabi kodlayana göre değişmekle beraber.
Script dosyanın başında local ile tanımlama yapsanda bu global olarak tanımlanır. Fonksiyon içlerinde bir çok değişken olabiliyor. Haliyle bunlar local olarak tanıtılır ve fonksiyondaki işlem bitince bir nevi silinir ilgili değişkendeki bilgiler.
Kısaca verdiğin örnekte _Fonksion() satırı altına consleWrite satırın eklersen hata aldığını görürsün. Dediğim gibi local genellikle fonksiyon içinde kullanılıyor. Fonksiyon dan çıkılınca veyahut başka fonksiyonda bu değişkenler tanınmaz.
Diğer örnek koda gelirsek, sorun görünmüyor. Genelde @LF karakteri baz alınıyordu tabi kodlayana göre değişmekle beraber.
Re: Autoit Return global local nedir nasıl kullanılır?
teşekkürler şöyle anlıyorum local fonksiyon içinde değişkenlerin başına eklenince fonksiyon içinde global olarak tanımlanıyor doğrumu anladım acaba :)
yani local de bir global sayılıyor ama fonksiyon içinde geçerli anlamışmıyım.
yani local de bir global sayılıyor ama fonksiyon içinde geçerli anlamışmıyım.
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Autoit Return global local nedir nasıl kullanılır?
@anxious
Evet fonksiyonda local ile kullanılan değişken sadece fonksiyon içinde geçerlidir. Değişkenler illa kodlamanın başında olacak diye bir şey yok. İstediğin yerde kurallara uyarak değişken atayabilirsin.
Ben bazı nedenlerden autoitin çok eski bir sürümünü kullanıyorum. Benim kullandığım sürümde global, local tanımlar yapılmadan direk değişken atanabiliyor. Lakin bu şekilde hiç kullanmadım. Bu şekile alışmak büyük kodlama dosyalarında hatalar yapılmasına neden olur.
Tanımlanmamış değikenlerda hata almak için script dosyasının başına aşağıdaki satırı eklerim genelde.
Opt("MustDeclareVars", 1)
....
Evet fonksiyonda local ile kullanılan değişken sadece fonksiyon içinde geçerlidir. Değişkenler illa kodlamanın başında olacak diye bir şey yok. İstediğin yerde kurallara uyarak değişken atayabilirsin.
Ben bazı nedenlerden autoitin çok eski bir sürümünü kullanıyorum. Benim kullandığım sürümde global, local tanımlar yapılmadan direk değişken atanabiliyor. Lakin bu şekilde hiç kullanmadım. Bu şekile alışmak büyük kodlama dosyalarında hatalar yapılmasına neden olur.
Tanımlanmamış değikenlerda hata almak için script dosyasının başına aşağıdaki satırı eklerim genelde.
Opt("MustDeclareVars", 1)
....
Re: Autoit Return global local nedir nasıl kullanılır?
BlueLife tekrar merhaba size tekrar bir soru sorabilirmiyim
Yukarıda verdiğiniz return örneğini anladım
Return Bazen fonksiyon dışında kullanıldığını görüyorum misal Return -1 burada eksi 1 nedir tam olarak neye göre belirliyorlar
birde Dim ve Redim var Dim'i biliyorum global ile aynı işi görüyor tabi buda tartışılır global varken Dim neden koyulmuş
ve Redim tam olarak nasıl kullanılıyor
Birde ContinueLoop var ContinueLoop genelde for döngüsünde kullanılıyor bana biraz gereksiz gibi görünüyor eğer döngü devam ediyor ise zaten eder ContinueLoop ile döngüyü tekrar etmenin ne anlamı var çözebilmiş değilim
Cevaplarsanız sevinirim
Teşekkürler
Yukarıda verdiğiniz return örneğini anladım
Return Bazen fonksiyon dışında kullanıldığını görüyorum misal Return -1 burada eksi 1 nedir tam olarak neye göre belirliyorlar
birde Dim ve Redim var Dim'i biliyorum global ile aynı işi görüyor tabi buda tartışılır global varken Dim neden koyulmuş
ve Redim tam olarak nasıl kullanılıyor
Birde ContinueLoop var ContinueLoop genelde for döngüsünde kullanılıyor bana biraz gereksiz gibi görünüyor eğer döngü devam ediyor ise zaten eder ContinueLoop ile döngüyü tekrar etmenin ne anlamı var çözebilmiş değilim
Cevaplarsanız sevinirim
Teşekkürler
- BlueLife
- Kilobyte1
- Mesajlar: 269
- Kayıt: 29 Ağu 2014, 20:42
- Teşekkür etti: 14 kez
- Teşekkür edildi: 24 kez
Re: Autoit Return global local nedir nasıl kullanılır?
@anxious
Return bir fonksiyon içinde kullanılır. Return ile fonksiyondan istenilen veri alınır. Bu bir yazı veayhut numara, array vs. gibi farklı değişken türleri olabilir. Return ile herangi bir atama yapılmazsa otomatik olarak 0 rakamı alınır.
Eksi 1 konusuna gelirsek autoitte sık kullanılan bir şey. Bir nevi varsayılan şeklindede algılanabilir. Misal guide oluşturulan son elemanın kimliğini ifade eder.
Ben dim ve redim komutlarını genelde array ile kullanıyorum. Misal bir arraya ekleme yapacağım zaman redim kullanıyorum. Arrayın içindeki tüm verileri silmek için dim (genelde farklı şekilde yapıyorum) kullanıyorum.
ContinueLoop; For-Next, While-WEnd,Do-Until ... vs. gibi döngülerde kullanılır. Bunu kullanınca döngü devam etmeden başa döner ve devam eder.
Misal yukarıda 2. döngüde mesaj çıkmıyor. Yani döngü başa dönüyor.
Return bir fonksiyon içinde kullanılır. Return ile fonksiyondan istenilen veri alınır. Bu bir yazı veayhut numara, array vs. gibi farklı değişken türleri olabilir. Return ile herangi bir atama yapılmazsa otomatik olarak 0 rakamı alınır.
Kod: Tümünü seç
MsgBox(64,"",_Test())
Func _Test()
Return -1
EndFunc
Ben dim ve redim komutlarını genelde array ile kullanıyorum. Misal bir arraya ekleme yapacağım zaman redim kullanıyorum. Arrayın içindeki tüm verileri silmek için dim (genelde farklı şekilde yapıyorum) kullanıyorum.
Kod: Tümünü seç
#include <Array.au3>
Local $Array[1]
$Array[0] = "Selam"
_ArrayDisplay($Array)
Redim $Array[2]
$Array[1] = "Millet"
_ArrayDisplay($Array)
Dim $Array[2]
_ArrayDisplay($Array)
Kod: Tümünü seç
For $i = 1 To 5
If $i = 2 Then ContinueLoop
MsgBox(0, "The value of $i is:", $i)
Next
Re: Autoit Return global local nedir nasıl kullanılır?
Gayet açık ve net cevaplar teşekkür ederim saolun :)