Jump to content

Autoit _Arrayadd Foksiyonu


ArdaDemir
 Share

Recommended Posts

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).
 
L2gW5j.png
 
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 by ArdaDemir
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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 by ArdaDemir
Link to comment
Share on other sites

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)
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...