ArdaDemir Posted February 1, 2015 Share Posted February 1, 2015 (edited) Local $default = _FileListToArray(@DesktopDir, "*.lnk", 1, 1) Local $ekle= _FileListToArray(@DesktopCommonDir, "*.lnk" , 1, 1) _ArrayAdd($default , $ekle) $default değişkenine $ekle değerinden dönen array'ı ekletiyorum fakat bu Autoit array'ın 0 indexsine toplam değerini yazıyor. bunu nasıl silerim? _ArrayDelete() foksiyonunu denedim hata verdi böyle : _ArrayDelete() called with Const or expression on ByRef-param(s). Ben böyle saçma bir programlama dili görmedim... Array'ın toplamını almak için UBound() foksiyon yapmışlar ama genede array'ın içersinde 0 indexine toplamı yazdıyorlar!!! Autoit ile yazdığım proje bitsin sonra elvada dicem Autoit'e! C++ yada Delphi seçerim. Sinir yaptı resmen ya... Edited February 1, 2015 by ArdaDemir Quote Link to comment Share on other sites More sharing options...
blue_life Posted February 1, 2015 Share Posted February 1, 2015 Kütüphanelerdeki fonksiyonları kendine göre özeleştirip kullanabilirsin. Misal aşağıdaki _FileListToArray fonksiyonunun değiştirilmiş hali... #include <Array.au3> ;Dosya listemiizi alalım. Local $GetFileList = _GetFileList(@DesktopDir, "*.lnk", 1) & _GetFileList(@DesktopCommonDir, "*.lnk", 1) ;Alınan bilgide dosya varsa array olarak listeleyelim If StringLen($GetFileList) > 0 Then $GetFileList = StringSplit(StringTrimLeft($GetFileList, 1), "|", 2) _ArrayDisplay($GetFileList) ;Listelenmiş bilgiye bakalım. Func _GetFileList($sPath, $sFilter = "*", $iFlag = 0) Local $hSearch, $sFile, $sFileList, $sDelim = "|" $sPath = StringRegExpReplace($sPath, "[\\/]+\z", "") & "\" ; ensure single trailing backslash If Not FileExists($sPath) Then Return SetError(1, 1, "") If StringRegExp($sFilter, "[\\/:><\|]|(?s)\A\s*\z") Then Return SetError(2, 2, "") If Not ($iFlag = 0 Or $iFlag = 1 Or $iFlag = 2) Then Return SetError(3, 3, "") $hSearch = FileFindFirstFile($sPath & $sFilter) If @error Then Return SetError(4, 4, "") While 1 $sFile = FileFindNextFile($hSearch) If @error Then ExitLoop If ($iFlag + @extended = 2) Then ContinueLoop $sFileList &= $sDelim & $sFile WEnd FileClose($hSearch) Return $sFileList EndFunc ;==>_GetFileList Quote Link to comment Share on other sites More sharing options...
ArdaDemir Posted February 1, 2015 Author Share Posted February 1, 2015 (edited) Teşekkür ederim. Array a for döngüsü içersinde nasıl veri ekleyebilirim hocam? Düzenleme: Eklenecek veriler değişkeni dongu dışında olcak. For $i = 1 To UBound($GetFileList) -1 Local $shortcut = FileGetShortcut($GetFileList[$i]) If @error Then ContinueLoop If Not($shortcut[0] = "") Then Local $delim = StringSplit($shortcut[0], "\") If $delim[UBound($delim)-1] = "ArdaDemir.exe" Then // array a veri ekleme işlemi EndIf ElseIf Not($shortcut[1] = "") Then If FileExists($shortcut[1] & "\ArdaDemir.exe") Then // array a veri ekleme işlemi EndIf EndIf Next Edited February 1, 2015 by ArdaDemir Quote Link to comment Share on other sites More sharing options...
blue_life Posted February 2, 2015 Share Posted February 2, 2015 Redim komutu ile yapıyoruz genelde. Ben basit bir örnek vereyim daha iyi anlarsın. Ayrıca yardım dosyasından ilgili komuta da bakarsın. Unutmadan ben eski bir autoit versiyonu kullanıyorum ve dün kütüphaneden alıp, ufak düzenleme yaparak verdiğim örnek güncel olmayabilir... #include <Array.au3> ;Bir array oluşturalım Local $Array[10] = [0,1,2,3,4,5,6,7,8,9] ;Arraydakli listenin sayısını alalım Local $Ubound = UBound($Array,1) ;Arrayımıza bakalım _ArrayDisplay($Array,$Ubound) ;Arrayı 2 arttıralım. Redim $Array[$Ubound + 2] $Array[$Ubound] = 10 ;değer atayalım $Array[$Ubound +1] = 11 ;değer atayalım ;Arrayımıza bakalım _ArrayDisplay($Array,$Ubound) Quote Link to comment Share on other sites More sharing options...
ArdaDemir Posted February 4, 2015 Author Share Posted February 4, 2015 @blue_life çok teşekkürler hocam. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.