Autoit Dosya Açma Okuma Yazma

Autoit dosya açma [ FileOpen ]

bu komutun ikinci parametresi lise $FO_APPEND parametresi. bu parametre ile de dosyanın sonuna bilgi yazılır yani mevcut olan dosyanın içeriği değiştirilmeden dosya sonuna ilave edilir. FileOpen() [ Dosya açma ] komutunu üçüncü parametresi ise dosyayı overwrite $FO_OVERWRITE yani dosya içeriğinin silinerek en son girilen bilgilerin kalması sağlanacak şekilde ayarlanmalıdır. Bu modda dosya içeriğindeki bilgi göz ardı edilerek son girilen bilgi dosya yazılır bu ilave sisteminden farklıdır. 4üncü  Bir diğer mod iseFO_CREATEPATH [dosya yolu oluştur ] modu. Bu modda ise oluşturacak dosyanın yolu Yani hedef klasörler yoksa dosya oluşturulurken bu klasörlerde otomatik bir şekilde oluşturulur. diğer modlar da aşağıda notlar kısmında verilmiştir. bu komutla alakalı bir error parametre yani hata parametresi vardır. eğer dosya açılması sırasında bir hata oluşmuşsa ya da açılacak dosya mevcut değilse @error=1  olur. ileride değineceğiz ama yine de küçük bir hatırlatma yapmakta fayda var açtığımız dosyanın hangi satırına yazmak ya da hangi satırından veri almak istiyorsak FileSetPos() komutu ile dosyanın okunacak satır ya da pozisyonu işaretlenir ve daha sonraki komutla ise bu satır baz alınarak okuma ve yazma işlemi yapılır. bu komut kullanılırken include  dosyalarına ihtiyaç duyulabilir. Örneğin $FILE_BEGIN başı parametresi kullanılacaksa #include dosyası,Kütüphanesi komut satırları mısın başında olmalıdır. FileOpen() [ Dosya açma ] komutu ile ilgili birkaç örnek gösterdikten sonra dosya kapatma dosya yazma ve dosya okuma komutlarına da değineceğiz.

----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- 

FileOpen ("dosyaadı" [, modu = 0])

Parametreleri
Filename Açılacak dosyanın dosya adı.
Mode [isteğe bağlı] Dosyayı açmak için mod.
Aşağıdakilerin kombinasyonu olabilir:
    $ FO_READ (0) = Okuma modu (varsayılan)
    $ FO_APPEND (1) = Yazma modu (dosyanın sonuna eklenir)
    $ FO_OVERWRITE (2) = Yazma modu (önceki içerikleri sil)
    $ FO_CREATEPATH (8) = Dizin yapısı yoksa oluşturun (Bkz. Açıklamalar).

    $ FO_BINARY (16) = İkili modu zorla (Bkz. Açıklamalar).
    $ FO_UNICODE veya $ FO_UTF16_LE (32) = Unicode UTF16 Little Endian okuma ve yazma modunu kullan.
    $ FO_UTF16_BE (64) = Unicode UTF16 Big Endian okuma ve yazma modunu kullan.
    $ FO_UTF8 (128) = Unicode UTF8 (BOM ile) okuma ve yazma modunu kullan.
    $ FO_UTF8_NOBOM (256) = Unicode UTF8 (BOM olmadan) okuma ve yazma modunu kullan.
    $ FO_ANSI (512) = ANSI okuma ve yazma modunu kullanın.
    $ FO_UTF16_LE_NOBOM (1024) = Unicode UTF16 Little Endian (BOM'suz) okuma ve yazma modunu kullan.
    $ FO_UTF16_BE_NOBOM (2048) = Unicode UTF16 Big Endian (BOM olmadan) okuma ve yazma modunu kullan.
    $ FO_FULLFILE_DETECT (16384) = Okumak için açıldığında ve BOM mevcut değilse, UTF8 veya UTF16 olup olmadığını belirlemek için dosyanın tamamını kullanın. Bu kullanılmazsa, performans nedenleriyle dosyanın yalnızca başlangıç ​​kısmı (64KB'ye kadar) kontrol edilir.
Klasör yolu zaten olmalıdır ($ FO_CREATEPATH modu hariç - Açıklamalara bakın).

Sabitler, FileConstants.au3 içinde tanımlanır.

Dönüş Değeri
Başarı: sonraki dosya işlevleriyle kullanılmak üzere bir "tanıtıcı" dosyası.
Hata: Hata oluşması durumunda -1.

Uyarılar
Dosya tanıtıcısı FileClose () işlevi ile kapatılmalıdır.

Bir dosyanın erişim hakları veya öznitelikleri yüzünden açılması başarısız olabilir.

----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- ----------- o0o ----------- 

Autoit FileRead() [ Dosya Okuma ]

FileWrite("deneme.txt","Bu birinci satır"&@CRLF&"Bu 2. satır"&@CRLF&"Bu 3. satır"&@CRLF&"Bu 4. satır"&@CRLF)
$oku = FileOpen("deneme.txt")
$okuma = FileRead($oku)
MsgBox($MB_SYSTEMMODAL, "dosya içeriği", $okuma, 10)
FileClose($oku)
FileDelete("deneme.txt")

Yukarıdaki örnekte dosya Komutları ile ilgili bir çalışma yaptık. burada dosya kullanımına dair 3-4 komutu bir arada kullandık yaptığımız işlemi açıklayacak olursak sırasıyla önce FileWrite() [ Dosya Yazma ] komutu ile yeni bir text dosyası oluşturduk ve ikinci parametrede ise dosyaya ne yapacağımızı belirttik. " içerisinde dosya yazılacak satırları belirttikten sonra her satırı sonrasında return @CRLF yani enter komutu gönderdik ve bu şekilde dört satırımızı da dosyaya yazıldı. eğer dileseydik ikinci parametre bir değişken kullanıp bu şekilde de değişen içeriğindeki bilgiyi dosyaya kaydedebilir dik. ikinci satırda ise oluşturulan text dosyası $oku değişken ile hangi dosyayı açacağınızı belirttik dikkat edilirse burada dosyanın hangi moda açılacağı belirtilmedi. yani FileRead() [ Dosya Okuma ] komutunu diğer parametreler olmadan sadece dosya ismini vererek kullanmış olduk Eğer açtığımız bu dosyadan belli bir miktarda karakter okumak istiyorsak aşağıdaki gibi okunacak karakter değerini girebiliriz daha sonra ne okuduğumuzu görmek için bir mesaj kutusu ile FileRead() [ Dosya Okuma ] komutu ile aldığımız bilgiye ekranda gösterdik. bu mesaj kutusunu kapattıktan sonra ise FileClose() [ Dosya Kapatma ] komutu ile açtığımız text dosyasını kapattık ve son olarak sıfırdan oluşturduğumuz bu text dosyasını silmek için de dosya sil komutunu kullanarak programı tamamladık.

$okuma = FileRead($oku,500 ) ; dosyadan 500 karakter okur
$metin = "bu metin text dosyasına yazılacaktır"
FileWrite("text.txt", $metin )

Yukarıda görüldüğü gibi FileRead() [ Dosya Okuma ] komutunun ikinci parametresin de 500 rakamı ile dosyadan okunacak karakter miktarını gösterdik yani dosyamızdan 500 karakterlik bilgi okunarak $okuma değişkeni içerisinde atanacaktır. dilersek bu değişkendeki mevcut bilgiyi StringSplit komutunu kullanarak satır başlarında ayırıp Satır Satır görebiliriz Spring Split komutu kullanımına daha önceki konularda işlemiştir. bir sonraki örnekte ise bir metni bir değişkenin içerisine atayarak metni doğrudan dosya kaydetmek yerine değişkeni ya da değişkenin içerdiği değeri ya da bilgiyi dosyaya yazma işlemini görmüş olduk. tekrar belirtelim $Metin,$bilgi şeklindeki değişkenler hiçbir Autoit komutunda parametre de kullanıldıklarında " içinde yazılmazlar. yani "$Metin" şeklindeki bir yazılım yanlıştır.

Autoit dosya satır okuma [ FileReadLine ]

Autoit FileReadLine() [ Dosya Satır Okuma ] komutu 2 parametre ile kullanılmaktadır. Bunlardan ilki okunacak ya da satır okuma yapacağımız dosyanın yolu yani dosya nerede kaydedilmiş ise Tamam yolunu ve dosya adını buraya yazıyoruz.(Örn. C:\Documents and Settings\xp\Belgelerim\timer.txtAutoit dosya işlemlerinde dosya ismi verirken kullandığımız dosyanın uzantısını da giriyoruz yani sadece dosya ismini vermek yeterli değil Örneğin deneme.txt adlı bir metin belgesiyle işlem yapacaksak dosya ismini "deneme.txt "şeklinde giriyoruz. buradaki ikinci parametre dosyadan okunacak satır numarasıdır Yani dosyanın hangi satırını okumak ya da bir değişkenin içeriğini aktarmak istiyorsak o satır numarasını giriyoruz. tabii bu kullanım metodu dosyanın hangi satırında ne yazılı olduğunu biliyorsak geçerli. peki biz belli bir metni Ya da dosyanın satırlarında geçen "Autoit "kelimesini bulmak istiyorsak bu defa bir for Next döngüsü ile dosya sonuna ulaşana kadar okuduğumuz satırda belirlediğimiz kelime var mı yok mu diye String in string komutu ile kontrol ettirdikten sonra Eğer böyle bir kelime O anki satırda mevcutsa işlem yapıyoruz. bu komut kullanımı oldukça basittir. standart bir for Next döngüsü ile bütün satırları tek tek analiz edebiliyor ve bu analiz sırasında ise o an işlem yapmak istediğimiz ya da o anki satırda istediğimiz kelimenin varlığını kontrol edebiliyoruz. ve bu varoluşa göre koşullar sunup programımızın akış yönünü tayin edebiliyoruz. Autoit FileReadLine() [ Dosya Satır Okuma ] örnek inceleyelim.
 

$okunan_satir = FileReadLine("deneme.txt", 5) ; 5nci satırı oku.

Yukarıdaki örnekte $okunansatır değişkeni içeriğine deneme. txt dosyanın beşinci satırındaki bilgiyi aktardık. bu komutun sade bir kullanım şeklidir. eğer dosya satırları arasında özel bir kelime arıyorsan aşağıdaki örnekteki gibi bir for Next döngüsü ile bütün satırları Tek Tek taratıp oluşmasını istediğimiz koşulun varlığını if then komutu ile sorgulamaktan sonra bu sorgunun sonucuna göre bir işlem yaptıralım.

$okuma = FileRead($oku,500 ) ; dosyadan 500 karakter okur
$metin = "bu metin text dosyasına yazılacaktır"
FileWrite("text.txt", $metin )

Yukarıdaki örnekte $k değişkeni ile 500 Tur bir döngü başlattık ve ikinci satırda asıl can alıcı olay burada gerçekleşiyor,bu satırda ise okumak istediğiniz dosyanın Tam yolunu ve adını belirttikten sonra ikinci parametrede okunacak satır numarasını $k değişken girdik. bu değişken 1 den 500 e kadar her turda birer birer artacağı için FileReadLine() [ Dosya Satır Okuma ] komutu ile ikinci parametrede ki okunacak satır birer birer artmaktadır. yani dosyamızda önce birinci sonra ikinci üç dört beş satırları sırasıyla okuyacağız. dosyanın kaç satırdan ibaret olduğunu bilmediğimiz için 500 turluk bir döngü başlattık ve dosya sonuna geldiğinde komut hata verecek ve program çalışmayacaktır. bunu engellemek için de bir @error komutu ile dosya sonuna geldiğinde programın hata vermemesi için bu komutla programı sonlandırdık.Buradaki önemli ayrıntı ise @error koşulunun FileReadLine() [ Dosya Satır Okuma ] komutundan hemen sonra kullanılmasıdır. satır mevcutsa yani okunacak satır varsa @error = 0 durumundadır. ama dosya sonuna ulaşılmışssa @error -1 olacaktır bizde if komutu ile sürekli dosya sonuna geldi mi yani @error = -1 oldu mu diye sorduk. bu error onemlıdır. ve @error = -1 olduğunda ise programı kapat dedik. bu error satırını kullanmasaydık script hata verirdi. çalışmazdı

bir sonraki örneği biraz daha geliştirerek bu satırda bizim için özel olan bir kelimenin sorgulamasını yaptıralım. ve istedigimiz kelime varsa bunları satır numarası ile birlikte ekrana yazsın.

https://tr.wikipedia.org/wiki/Albert_Einstein adresinden alber einstein in hayatını kopyalayıp belgerim klasöründe bir deneme.txt adlı dosya oluşturalım ve içine kopyalayalım. 

for $k=1 to 500 ;dosya satırları 500den küçük olduğunu varsayarak bir döngü başlattık. 
$satir=FileReadLine(@MyDocumentsDir&"\deneme.txt",$k)  ;dosyadan 1 satır oku
if @error = -1 then Exit ;okunan satırlar bitip dosya sonuna geldyse programı kapat
   
   if StringInStr($satir,"bilim") Then ; okuduğun satırda "bilim" kelimesi varsa alt satırdaki işlemi yap
      FileWrite ("özet.txt",$satir & @CRLF ) ; özet adlı bir dosya oluştur ve $satir'in içeriğini buraya yaz
   EndIf
 
Next

Evet,Yukarıdaki örnekte programa neler ekleme yaptık bir inceleyelim. Öncelikle Yukarıdaki adresi açıp Albert Einstein hayatını belgelerim klasöründe ki deneme. txt dosyasının içine kaydedip kapatalım. ve programı başlatıp Autoit Script Editor konsolundaki takip edelim. burada Bir önceki örneğe ilave olarak iki yeni satır daha eklemiştir. okunan satırdan sonra Örneğin bir satır okunduktan sonra bu satırın içerdiği bilgi $satır içeriğine aktarılmıştır. if String in string komutu ile $satır değişkenin içinde bilim kelimesi var mı diye baktık Yani bir koşul sunmuş olduk. ve böyle bir koşulun varlığı mutlaksa,böyle bir durum varsa özet txt diye bir dosya oluşturup içinde bilim kelimesi geçen her satırı bu yeni dosyamızın içine yazmasını istedik. dikkat ederseniz ikinci parametrede $satır değişkenin den sonra @CRLF [Satırbaşı] kullanılmış ve topladığımız Bu satırları birbirine karışması engellenmiştir. yani her FileWrite() [ Dosya Yazma ] komutundan sonra yeni satıra geçmiştir ve bir sonraki satırdaki bilgiyi de bu yeni satıra yazacaktır. " içerisindeki bilim kelimesi bilimsel bilimde bilimdeki gibi kelimeleri de kapsamaktadır eğer biz sadece bilim kelimesinin geçtiği cümleleri istiyorsak yani kelimenin çekimini geçti cümleleri istemiyorsak " bilim "şeklinde bir koşulla istediğimiz kelimeleri daha net bir şekilde tespit edebiliriz. özetle,her defasında bir artacak olan dosya satırını içeriği içerdiği bilgi bir değişkene atandı ve daha sonra bu değişkenin içerisinde "bilim" kelimesi arandı Eğer yoksa bir koşul sunmadık. ama varsa yani o satırda böyle bir kelime varsa Bu koşul ile $satır değişkenin içerdiği bilgiyi FileWrite() [ Dosya Yazma ] komutu ile dosyamıza,yeni oluşturduğumuz Metin dosyasına kaydettik. işte bu komut grubu sizin kelime işlemlerinde sıklıkla kullanacağınız bir komut bloğu dur.

Autoit Dosya Satır sayısı [ _FileCountLines ]

 Autoit _FileCountLines() [ Dosya Satırları Say ]  komutu ile parametre girdiniz dosya adının yani toplam satır sayısını öğrenmek istediğiniz dosyanın kaç satırdan oluştuğunu öğrenmek için  _FileCountLines() [ Dosya Satırları Say ]  komutunu kullanıyoruz. bu komutun kullanımında Tek parametre vardır oda satır sayısı hesaplanacak olan dosyanın Yolu ve tam adıdır. yani dosya adı ve uzantısını birlikte giriyoruz Tıpkı  FileReadLine() [ Dosya Satır Okuma ]  veya  FileWriteLine() [ Dosya Satır Yazma ]  komutunda olduğu gibi. 
 bu komutu bir değişkene atandığında değişken içeriğine dosyanın toplam satır sayısı girilir. ve artık satır sayısını öğrendiğimize göre bu değişkeni koşul komutlarında kullanıp istediğimiz fonksiyonları gerçekleştirebiliriz. Örneğin bir dosyadaki satırları Tek Tek array komutu ile hafızaya almak istiyorsak for Next döngüsünü kullanarak birden toplam satır sayısına kadar bir döngü başlatıp bu döngüdeki her satırı panoya kopyalayabiliriz. ya da bir array oluşturabiliriz. 
 bu komut bir kütüphaneye ihtiyaç duyar o yüzden programın ilk satırında include komutu ile file.au3 kütüphanesini kullanacağımızı programa söylemiş olduk. 
  _FileCountLines() [ Dosya Satırları Say ]  komutunu Pek sık kullanmayacağınız ı düşünüyorum ama yine de bir yerlerde lazım olur diye kullanımı hakkında bilginiz olsun istedim.

#include <File.au3>
#include <MsgBoxConstants.au3>
$satirsayisi = _FileCountLines("test.au3") ;scriptin olduğu klasordeki test.au3 ün satır sayısını değişkene atadık
if $satirsayisi <30 then yeterlisatiryok()  ; satırların toplamı otuzdan küçükse fonksiyona gider
exit
 
func yeterlisatiryok() 
MsgBox($MB_SYSTEMMODAL, "", "Yalnızca  " & $satirsayisi & " satır bulundu "&@CRLF& "Progam kapatılıyor")
endfunc

Autoit dosya satır yaz [ FileWriteLine ]

Autoit FileWriteLine() [ Dosya Satır Yazma ] komutu ile FileWrite() [ Dosya Yazma ] komutu arasındaki tek fark,dosya satır yaz komutu kullanıldığında dosyaya yazılmak istenen metinden sonra gönderilen @CRLF [Satırbaşı] karakteridir. bu komut kullanıldığında @CRLF [Satırbaşı] komutu otomatik olarak gönderilir. FileWriteLine() [ Dosya Satır Yazma ] komutu ile ilgili birkaç örnekten sonra dosya Komutları mıza devam edelim.

FileWriteLine("test.txt","Bu satır dosyanın sonuna eklenecektir.")

Başka bir örnek.

for $t = 1 to 10
FileWriteLine("test.txt","Bu " &  $t & "nci satır")
next

Autoit Dosya Pozisyonu ayarla [ FileSetPos ]

Autoit FileSetPos [Dosya pozisyonu belirle ]  komutuyla işlem yapılacak dosyanın girişinden itibaren ya da sonundan itibaren kaç karakter sonra pozisyonun set edileceğini işaret edilir. Set edilmekle işaret koyuyoruz ve bundan sonra dosyaya birşey yazmak istersek o satır ve cümleden sonrasına yazıyor. örnek text dosyamızın içeri aşağıda görüldüğü gibi olsun ve dosyamızda istediğimiz bir noktaya kelime ya da veri girmek istersen işte bu FileSetPos [Dosya pozisyonu belirle ] komutunu kullanıyoruz.

Bu bir denemedir, virgül isaretli yere pointer [işaretçi ] set edilecektir.

Tıpkı Mouse komutuyla koordinat belirlendi gibi bu komutu kullanarak Yukarıdaki denemedir kelimesinden sonra dosyamıza giriş yapmak istiyorsak Yani Metin ya da veri kaydetmek istiyorsak aşağıdaki örnekte olduğu gibi FileSetPos [Dosya pozisyonu belirle ] komutu ile dosya giriş yerini işaret ettikten sonra dosyaya girilecek olan metni dosya yaz komutu ile giriyoruz.

Local $hFileOpen = FileOpen("ornek.txt", $FO_APPEND ) ;ilave kayıt modunda dosyayı aç 
FileSetPos($hFileOpen, 16, 0) ;ornek.txt dosyasından 16 karakter ilerisine işaret koy
FileWrite (hFileOpen,"xxxxxxx")

 

dosyamızı açıp baktığımızda satırın şu şekilde değiştiğiniz göreceğiz

 

Bu bir denemedirxxxxxxx isaretli yere pointer [işaretçi ] set edilecektir.

Yukarıda örnek adlı metin dosyamızı $FO_APPEND mod seçeneğinde açtık yani dosyaya ilave kelime ya da veri eklemek istediğimizi söyledik. FileSetPos komutuyla dosyanın girişinden 16 karakter sonrasına bir set yaptık Yani pointer 16 karakter sonrası için ayarlandı ve FileWrite() [ Dosya Yazma ] komutunu kullanarak dosyanın içeriğine "xxxxxxx" cümlesini gönderdik. ve görüldüğü gibi ilave etmeyi de etmek istediğimiz veri ya da cümle FileSetPos komutu ile işaretlediğimiz yere girildi.

FileSetPos($hFileOpen, 16, 0) ;dosya başından ileri set
FileSetPos($hFileOpen, -16, 2) ;dosya sonundan geriye doğru set

yukarıdaki ilk satırdaki komut dosyanın başından itibaren 16 karakter sonrası için set yaparken. ikinci satırdaki komut ise dosyanın sonundan geriye doğru 16 karakter sonrası için set yapar. 

Bu komuta hiç ihtiyaç duymadım. 

Autoit Dosya Pozisyonu al[ FileGetPos ]

FileSetPos komutuyla işaretlenen pointer dan sonrası yada öncesi için veri alır.

 

Autoit dosya yazma [ FileWrite ]

Autoit dosya kaydet
Daha önce açılmış bir dosyanın sonuna metin / veri yazar.

FileWrite ("filehandle / dosyaadı ve uzantısı", "metin / veri / değişken"))

Parametreleri
Filehandle / filename Önceki bir FileOpen () çağrısı tarafından döndürülen bir dosyanın işleyişi. Alternatif olarak, ilk parametre olarak bir dize dosya adı da kullanabilirsiniz.
Text / data Dosyaya yazılacak metin / veri. Metin olduğu gibi yazılır - @CR veya @LF karakterleri eklenmez. Veri türü için açıklamalara bakın.

Dönüş Değeri
Başarı oranı: 1.
Başarısızlık: 0 dosya yazma modunda açılmazsa, dosya salt okunur ise veya dosya aksi halde yazamazsa.

Uyarılar
Dosya yazma modunda açılmalıdır veya FileWrite () komutu başarısız olur.
 

 

Yukarıda Autoit yardım dosyasındaki FileWrite() [ Dosya Yazma ] komutu ile alakalı yardımcı bilgileri verdik. burada Bir kaç uyarı yapılmış. Öncelikle dosya yazacağımız Metin ya da değişkenin değeri yani veri,dosyadan sonuna yazılır ve ardından @CRLF [Satırbaşı] karakteri gönderilmez. eğer gönderdiğimiz Metin yada verinin ardından yeni bir satıra geçmek istiyorsak bu Metin'e @CRLF [Satırbaşı] karakterinde ilave etmemiz gerekiyor.

FileWrite("a.txt","@CRLF ile bu metnin sonunda satırbaşı karakteri gönderilecektir." & @CRLF )

Yukarıda görüldügü gibi & @CRLF  string yani kelimelere harflere ilave komutudur. buradaki & karakteri metin ve @CRLF karakterini birbirine ekler. hangi metnin sonunda satırbaşı yapmak istiyorsak & @CRLF karakterlerini de göndermeliyiz

FileWrite("a.txt","@CRLF bu metnin sonunda satırbaşı karakteri gönderilecektir." @CRLF ) ; yanlış kullanım & eksik
FileWrite("a.txt","beni satıra yaz" & @CRLF & "Beni de yaz" & @CRLF & "3. satır olarak benide yaz" & @CRLF) ; doğru kullanım

Görüldüğü gibi & işareti metinleri ya da değişkenleri birbirine eklemek için kullanılır. nasıl ki iki sayıyı birbirine toplarken artı yada eksi işaretleri kullanıyorsak Burada da iki harf yada metni Ya da veriyi yani string( kelime ) ihtiva eden içerik bu karakter ile birbirine eklenir. eğer iki metni birbirine beklemek istiyorsak metinler yada değişkenler arasında " " boşluk işareti kullanmamız gerekmektedir. örneği inceleyelim.

$metin_a = "Bugün hava"
$metin_b = "çok sıcak."
$sonuc = $metin_a & $metin_b

Yukaridaki örnekte $sonuc değişkeninde "Bugün havaçok sıcak." yazmaktadır.. neden ? çünkü iki değişkeni olduğu gibi ekledik

bir de şunu inceleyelim 

$sonuc = $metin_a &" "& $metin_b
$sonuc değişkeninde "Bugün hava çok sıcak." yazmaktadır.. çünkü değişkenler arasına & " "  eklentisi ile boşluk ekledik. bu önemlidir.
$sonuc = $metin_a & @CRLF & $metin_b

$sonuc değişkenini bir msgbox ile görüntülersek a ve b metinleri arasında satırbaşı karakteri olduğunu görürürüz. yani

Bugün hava çok sıcak

bu komutla alakalı çok fazla bir Detay yok komutlu kullanımı oldukça basittir. bu konuda benzer bir komut olarak FileWrite() [ Dosya Yazma ] ve FileWriteLine() [ Dosya Satır Yazma ] Komutları vardır. FileWriteLine() [ Dosya Satır Yazma ] komutu ile veriyi ya da metni hangi satıra yazmak istediğimizi belirtirken FileWrite() [ Dosya Yazma ] komutu ile veri ya da metni dosyanın En sonuna yazıyoruz. Autoit FileWrite() [ Dosya Yazma ] komutu ile ilgili Sayfamızın son kısmında Ve tabii ki diğer dosya işlem komutları da dahil olmak üzere geniş bir örnek yelpazesi sunacağız.

yine hatırlatalım satırbaşı yapmak için @CRLF karakterini & bağlacı ile göndermeyi unutmayın 

Autoit dosya satır değiştir, dosya satır üzerine yaz [ _FileWriteToLine ]

 

#include <File.au3>
_FileWriteToLine ( $sFilePath, $iLine, $sText [, $bOverWrite = False] )

Parameters

$sFilePath dosya yolu ve adı
$iLine satır numarası
$sText yazıklacak metin
$bOverWrite [optional]
    True - eski satırı sil ve üzerine yaz
    False - (default) satıra ekle
$sText = "beni ekle"
_FileWriteToLine ( "a.txt", 5, $sText ,False )  ;5nci satıra $sText içeriğini ekle
_FileWriteToLine ( "a.txt", 5, $sText ,True) ;5nci satırı sil veyerine $sText içeriğiniz yaz ( replace )

 

Autoit _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutu bizim dosya işlemlerinde dosya içerisindeki bir satır yada kelimeyi değiştirme ya da dosya satırına ilave etme anlamında kullanacağımız komutlardan biridir. _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutu ile FileWriteLine() [ Dosya Satır Yazma ] ve FileWrite() [ Dosya Yazma ] Komutları arasında belirgin bir fark görülmektedir. diğer iki dosya yazma komutunda giriş yapacağınız ya da değiştirmek istediğiniz satırı belirleyemiyor duk. ama bu Autoit _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutu ile ilave etmek istediğimiz satırı ya da üstüne yazmak istediğimiz satırı satır numarası kullanarak belirtiyoruz. _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutu parametreleri incelendiğinde ilk parametrede dosya Tamyolu ve adı gereklidir Yani işlem yapacağımız dosyanın adı ve yolunu gösteriyoruz. bir sonraki parametrede dosyanın hangi satırında değişiklik yapacaksak o satır numarasını giriyoruz ve yazılacak Metin ya da veri bir sonraki parametrede belirtilmek zorundadır. _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutu kullanımında bu üç parametre gereklidir. son parametrede ise True ve False değerlerimiz var bunlarda dosya satırının üzerine mi yoksa dosya satırına ilave veri yada Metin eklemek istediğimizi belirtiyoruz yani True girilmişse o satır silinir ve bizim belirttiğimiz satır yazılır,False modunda ise o satır kalır ve bizim eklemek istediğimiz Metin ya da veri satıra eklenir. _FileWriteToLine() [ Dosya Satıra yaz, Satır değiştir ] komutunu bir for Next döngüsü içerisinde kullanıp koşul komutlarıyla Dilediğiniz satırı değiştirip Dilediğiniz satıra ilave veri yada Metin girebilirsiniz. video dosyasında bütün dosya komutları örnek uygulamalarla işlenecektir.

#include <File.au3>
filedelete("test.txt")
for $t = 1 to 10
FileWriteLine("test.txt","Bu " &  $t & "nci satır")
next
 
_FileWriteToLine("test.txt",4,"bu metin dördüncü satırla değiştirildi",True)
_FileWriteToLine("test.txt",5,"bu metin beşinci satıra eklendi")  ; default ayar False olduğu için yazmadık

ekleme işlemini 5nci satırın öncesinde yapıyor. 

Kategoriler: 

Etiketler: 

2 Comments

dosyadan istedigin kısmı okuma

konu daha bitmedi. tüm dosya komutlarının sonunda ayrıntılı örnekler verecegiz. 

ilgi ve alakanıza teşekkürler

Sayfalar

Yeni yorum ekle

Filtered HTML

  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Satır ve paragraflar otomatik olarak bölünür.

Plain text

  • Hiç bir HTML etiketine izin verilmez
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Satır ve paragraflar otomatik olarak bölünür.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Resimli CAPTCHA
Resimde görünen karakterleri girin.