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

Dosya Fonksiyonları