- Dosya Açma Bayrakları
- Dosya Özellikleri
- Dosya içi Konumu
- Kod Sayfasının Kullanımı
- MessageBox
Dosya Açma Bayrakları
Dosya açma bayrakları, dosya erişim modunu belirler. Bayraklar şu şekilde tanımlanır:
Tanımlayıcı |
Değer |
Açıklama |
---|---|---|
FILE_READ |
1 |
Dosya okuma amaçlı açılır. Bu bayrak FileOpen()fonksiyonunda kullanılır. Bir dosya açarken, FILE_WRITE ve/veya FILE_READ bayraklarının belirtilmesi gerekir. |
FILE_WRITE |
2 |
Dosya, yazma amacıyla açılır. Bu bayrak FileOpen()fonksiyonunda kullanılır. Bir dosya açarken, FILE_WRITE ve/veya FILE_READ bayraklarının belirtilmesi gerekir. |
FILE_BIN |
4 |
İkili oku/yaz modu (dizgiden dizgiye dönüşüm olmaksızın). Bu bayrak, FileOpen() fonksiyonunda kullanılır |
FILE_CSV |
8 |
CSV dosyası (tüm elemanları uygun tipte dizgilere dönüştürülür, unicode veya ansi ve bir ayraç ile ayrılır). Bu bayrak, FileOpen() fonksiyonunda kullanılır |
FILE_TXT |
16 |
Basit metin dosyası (csv dosyasına benzer ama ayraçlar yoktur). Bu bayrak, FileOpen() fonksiyonunda kullanılır |
FILE_ANSI |
32 |
ANSI tipli dizgiler (bir baytlık semboller). Bu bayrak, FileOpen() fonksiyonunda kullanılır |
FILE_UNICODE |
64 |
UNICODE tipi dizgiler (iki baytlık semboller). Bu bayrak, FileOpen() fonksiyonunda kullanılır |
FILE_SHARE_READ |
128 |
Birkaç programdan okunma amacıyla paylaşımlı erişim. Bu bayrak, FileOpen() fonksiyonunda kullanılır ama dosya açılması sırasında yine de FILE_WRITE ve/veya FILE_READ bayraklarının belirtilmesi gerekir. |
FILE_SHARE_WRITE |
256 |
Birkaç programdan yazma amaçlı paylaşımlı erişim. Bu bayrak, FileOpen() fonksiyonunda kullanılır ama dosya açılması sırasında yine de FILE_WRITE ve/veya FILE_READ bayraklarının belirtilmesi gerekir. |
FILE_REWRITE |
512 |
FileCopy() ve FileMove()fonksiyonları kullanılarak dosyanın yeniden yazılması olasılığı. Dosya mevcut olmalı veya yazma amaçlı açılmış olmalıdır, aksi durumda dosya açılmaz. |
FILE_COMMON |
4096 |
Tüm müşteri terminalleri için olan genel klasörün dosya yolu \Terminal\Common\Files. Bu bayrak, FileOpen(), FileCopy(), FileMove() ve FileIsExist() fonksiyonlarında kullanılır. |
Dosya açılırken bir veya daha fazla bayrak belirtilebilir. Bu, bir bayrak kombinasyonu şeklinde olabilir. Bayrak kombinasyonu, listelenmiş bayraklar arasında mantıksal VEYA (|) işlemi kullanılarak yazılır. Örneğin, CSV biçimindeki bir dosyayı aynı anda hem okumak hem de yazmak amaçlı açmak için, FILE_READ|FILE_WRITE|FILE_CSV kombinasyonunu belirlenir.
Örnek:
int filehandle=FileOpen(filename,FILE_READ|FILE_WRITE|FILE_CSV); |
Okuma ve yazma bayraklarını belirtirken, bazı belirli nitelikler bulunmaktadır:
- Eğer FILE_READ belirtilmişse, mevcut bir dosyayı açma girişimi gerçekleştirilir. Dosya mevcut değilse, açma işlemi başarısız olur; yeni bir dosya oluşturulmaz.
- FILE_READ|FILE_WRITE – Dosya mevcut değilse, belirtilen isimde yeni bir dosya oluşturulur.
- FILE_WRITE – Dosya, sıfır boyutlu olarak yeniden oluşturulur.
Bir dosya açılırken FILE_WRITE ve/veya FILE_READ bayraklarının belirtilmesi gerekir.
Açık bir dosyanın okuma tipini tanımlayan bayraklar öncelik sahibidir. FILE_CSV, önceliği en yüksek bayraktır, sonrasında FILE_BIN yer alır, en düşük öncelikli olan ise FILE_TXT bayrağıdır. Böylece, aynı anda birden çok bayrak belirlendiğinde (FILE_TXT|FILE_CSV veya FILE_TXT|FILE_BIN veya FILE_BIN|FILE_CSV), en yüksek öncelikli olan kullanılır.
Kodlama tipini belirten bayraklar da öncelik sahibidir. FILE_UNICODE, FILE_ANSI'den daha yüksek önceliğe sahiptir. Bu yüzden FILE_UNICODE|FILE_ANSI kombinasyonunu belirlerseniz, FILE_UNICODE bayrağı kullanılır.
FILE_UNICODE veya FILE_ANSI bayraklarından hiçbiri belirtilmemişse, FILE_UNICODE uygulanacaktır. FILE_CSV veya FILE_BIN veya FILE_TXT bayraklarından hiçbiri belirtilmemişse, FILE_CSV uygulanır.
Eğer bir dosya, metin dosyası şeklinde okuma amacıyla açılmışsa (FILE_TXT veya FILE_CSV) ve dosya başında 0xff,0xfe şeklinde iki baytlık özel bir gösterim bulunuyorsa; kodlama bayrağı FILE_ANSI olarak belirtilmiş olsa bile FILE_UNICODE kullanılır.
Ayrıca Bakınız