1372826956:AAFe2Py65GSQkfGiRnXuOQ-eD9yXcwMv988

Örneklerle Fonksiyon Tanımları #15 – Dosyalar

 sekil-01


open    Bir dosyayı açar ve daha sonra input ve output fonksiyonlarında dosya belleğini tanımlamak için kullanılacak olan bir dosya tanımlayıcısı (adosya ile ilişkili ara belleği belirleyen işaretçi) geri döndürür.

(setq fw (open “dosya1.txt” “w”)) içerisine yazmak için, DOSYA1.TXT isimli dosyayı açar ve fw değişkenine bir dosya tanımlayıcısı atar. İfadedeki “w” argümanı küçük harf olmak zorundadır. İçerisine yazmak için, dosya açılacağı zaman, yeni bir dosya yaratılır.

Şayet aynı isimde mevcut bir dosya varsa, mevcut dosyanın üzerine yazılır.

(setq fa (open ” dosya2.txt” “a”)) İfadedeki “a” argümanı kullanılarak DOSYA2.TXT isimli hali hazırda mevcut olduğu belirtilmiş olup; bu dosyayı açar.

Şayet dosya hali hazırda mevcut değilse, yaratılır. İfadedeki “a” argümanı küçük harf olmak zorundadır.

(setq fr (open “dosya3.txt” “r”))  içerisine yazmak için, DOSYA3.TXT isimli dosyayı açar ve fr değişkenine bir dosya tanımlayıcısı atar. İfadedeki “r” argümanı küçük harf olmak zorundadır. Dosya okumak için açıldığı zaman,  o dosya hali hazırda mevcut olmak zorundadır; aksi halde open fonksiyonu boş olarak geri döner.

(setq f7 (open “d:\\sertan\\dosya7.txt” “w”)) içerisine yazmak için, D:\SERTAN dizinindeki DOSYA7.TXT isimli dosyayı açar.

(Çift ters bölü (\) işareti yerine tek bölü (/) işareti kullanılabilir. Bu yüzden, önceki örnekteki dosya ismi “d:/sertan/dosya7.txt” ifadesinin eşleniğidir.)


close   Bir dosyayı kapatır.

(close f4) f4 dosya tanımlayıcısı ile belirlenmiş olan dosyayı kapatır ve hiçbir şey geri döndürmez

Argüman open fonksiyonu ile açılan dosyanın tanımlayıcısını depolayan bir değişken olmak zorundadır. Şayet dosya içerisine yazma amacıyla açıldıysa, dosya belleğindeki herhangi bir içerik sabit diske gönderilmemiş olmalıdır.


read-line        Klavye belleğinden bir dizge veya bir dosya içerisinden sonraki satırı okur ve satırı dizge olarak geri döndürür. Bu dizge dosyanın içerisindeki satırın sonundan Enter tuşuna bas veya sonraki satıra geç karakterini içermez.

(read-line f9) (önceden okumak için açılmış olan), f9 değişkeninde depolanan dosya tanımlayıcısının tanımladığı dosyadan bir satır okur. Şayet dosyada okunması gereken satır yoksa, read-line fonksiyonu boş olarak geri döner.

(read-line) klavye belleğinden bir satır okur. Şayet bellekte okunması gereken satır yoksa, bekler.

Dosya işlemci imlecini ilk dizgenin başına getirmek için, dosya kapatılıp; okumak için tekrar açılmalıdır.


write-line       Ekrana veya dosya içerisine bir satır yazar. Her bir satırın sonuna Enter tuşuna basma karakteri (ASCII 13) ve alt satıra geçme karakteri (ASCII 10) koyar.

(write-line “ATATÜRK”) ekrana ATATÜRK yazar ve “ATATÜRK” olarak geri döner

(write-line “ATATÜRK” f8) (içerisine yazmak için daha önceden açılmış olan) f8 değişkeni tarafından depolanan dosya tanımlayıcısının tanımladığı dosyanın içerisine ATATÜRK yazar ve “ATATÜRK” olarak geri döner


read-char       Klavye belleğinden bir karakter veya dosyadan sonraki karakteri okur ve o karakterin ASCII  kodunu geri döndürür. read-char fonksiyonu satırın sonuna (yeni satıra) gelindiğini tespit ettiği zaman, 10 numaralı ASCII kodunu geri döndürür. Fakat fonksiyon dosyanın sonuna gelindiğini tespit ederse, hiçbir şey geri döndürmez. Dosya işlemci imlecini ilk karakterin başlangıcına getirmek için, dosya dosya kapatılıp; okumak için tekrar açılmalıdır.

(read-char f7) (okumak için daha önceden açılmış olan) f7 değişkeni tarafından depolanan dosya tanımlayıcısının tanımladığı dosyadan bir karakter okur

(read-char) klavye belleğinden bir karakter okur.  reads one character from the keyboard buffer. Şayet bellekte okunması gereken karakter yoksa, bekler.


write-char     Ekrana veya dosyaya bir karakter yazar.

(write-char 65) ekrana “A” yazar ve 65 olarak döner (write-char 65 f8) (içerisine yazmak için daha önceden açılmış olan) f8 değişkeni tarafından depolanan dos


ya tanımlayıcısının tanımladığı dosyanın içerisine “A” yazar ve 65 olarak döner

finddosya       Belirli bir dosyayı araştırır.

Şayet dosyanın aranacağı klasör yolu belirtilmezse, AutoLISP dosyayı AutoCAD’in araştırma yolunda arayacaktır. Şayet dosyanın aranacağı klasör yolu belirtilirse, dosya sadece belirtilen klasör yolunda aranır. AutoCAD araştırma klasör yolu “search path” o anki açık (aktif) olan çizimin bulunduğu klasörü ve AutoCAD’in Seçenekler “Preferences” iletişim kutusu altında Dosyalar “Files” sekmesinde Destek dosya araştırma klasör yolunda “Support file search path” listelenen klasörleri içerir.

Şayet belirtilen dosya bulunursa, dosyanın (bulunduğu klasör yolu da dahil) tam adını içeren bir dizge geri döner. Aksi durumda, hiçbir şey geri dönmez.

Örneğin, şayet Sertan.txt isimli dosya sadece(aradığımız dosya o anki geçerli çizimin bulunduğu klasör veya alt klasörlerinden bir olan) \Autocadbeyni klasöründe varsa,

(finddosya “Sertan.txt”) “C:\\Autocadbeyni\\Sertan.txt” olarak döner (finddosya “\\XX\\Sertan.txt”) hiçbir şey geri döndürmez

Bir dosyanın klasör yolunu tanımlayan çift ters bölü (\\) işaretinin tek bölü (/) işaretine eş değer olduğunu hatırlayın.


getdosyad      Dosya Seç “Select file” iletişim kutusunu görüntületir ve kullanıcının mevcut bir dosyayı seçmesine veya yeni bir dosya yaratmasına izin verir. Dosyanın ismini geri döndürür.

(getdosyad “Yerleştirilecek bloğu seçin:” “c:\\blok kütüphane\\Sertan.dwg” “dwg” 0)  c:\blok kütüphane klasörü açık halde ve üst kısmında “Yerleştirilecek bloğu seçin:” başlığı ile Dosya Seç “Select File” iletişim kutusunu görüntületirDördüncü argüman olan sıfır (0) kullanıcının yeni bir dosya yaratması yerine mevcut bir dosyayı seçmesine izin verir.

Dördüncü argüman için diğer ayarlar:

1 = Yeni bir dosya yaratır

2 = Tip “Type” seçim düğmesini etkisizleştirir

4 = Fonksiyonun üçüncü argümanı olarak belirlenen dosya uzantısından farklı bile, olsa kullanıcının herhangi bir dosya uzantısı girebilmesine olanak sağlar

8 = Dosyanın tam klasör yolu yerine sadece ismini geri döndürür

 

Hakkında Sertan Türkan

AutoCAD Beyni

Bunu da Kontrol edin

Revitte Bir Plan Görünüşü Oluşturma

Revit’te projenize başka bir görünüş ekleyebilir veya mevcut bir görünüşü çoğaltabilirsiniz. Bunun için: Görünüş “View” …

Bir cevap yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Yardıma mı ihtiyacınız var? Chat with us
Bir görüşme başlatmak için lütfen önce gizlilik politikamızı kabul edin.