Skip to main content
Skip table of contents

TbeCbFileControlObject

TbeCbFileControlObject()

Klasse zur Steuerung von Dateien und deren Inhalt.

Diese Klasse ist nur in Delphi 11 Versionen von be verfügbar (8.0.1.9+).

Funktionen und Methoden

Methode

Beschreibung

CreateFile

Erstellt die Datei, falls sie nicht existiert.

Result: boolean = Eine Datei wurde erstellt.

Parameter

Beschreibung

aRaiseException:L

Sollen die Exceptions durchgereicht werden?

Rename

Benennt die Datei um

Parameter

Beschreibung

aNewName:C

Neuer Dateiname

Delete

Löscht die Datei

Clear

Leert den Inhalt der Datei

IsAttributeActive

Gibt an, ob der Dateiattribut aktiv ist.

Rückgabe: boolean

Parameter

Beschreibung

aAttribute:TFileAttributeMap

Attribut

AppendAnsi

Fügt ANSI Text hinzu

Parameter

Beschreibung

aData:AnsiString

Text

AppendUTF8

Fügt UTF8 Text hinzu

Parameter

Beschreibung

aData:UTF8String

Text

AppendUnicode

Fügt Unicode Text hinzu

Parameter

Beschreibung

aData:C

Text

AppendUnicodeBE

Fügt Unicode (Big-Endian) Text hinzu

Parameter

Beschreibung

aData:C

Text

Eigenschaft

Beschreibung

FileName:C

Dateiname. Ohne dieser Eigenschaft sind alle Funktionen und Eigenschaften nicht bedienbar.

Encoding:TbeFileEncoding

Dateikodierung. Diese wird beim Setzen der Dateiname automatisch auf die Kodierung der Datei gesetzt. Wenn diese Eigenschaft geändert wird, dann wird auch der Inhalt konvertiert, welches durch die Append-Funktionen geschrieben wird.

Content:C

Inhalt der Datei (nur lesend). Wird beim Auslesen immer neu ausgewertet. Ist vom gesetzten Encoding abhängig. Read-Only.

BOMLength:N

Länge der BOM-Zeichenfolge der Datei. Read-Only.

Exists:L

Gibt an, ob die Datei existiert. Read-Only.

Size:N

Gibt die Dateigröße an. Read-Only.

Beispiel

Beispiel
CODE
|oFile, cDir, aFiles, xFileName, xEncoding, bWaitToDelete|

xFileName := 1,
xEncoding := 2,

bWaitToDelete := false,

cDir := 'C:\Temp\FileTest\',
aFiles := {
{cDir + 'ANSI_File.txt',    bfeANSI},
{cDir + 'UTF8_File.txt',    bfeUTF8},
{cDir + 'Unicode_File.txt', bfeUnicode},
{cDir + 'UTF16LE_File.txt', bfeUTF16LE}, // = bfeUnicode
{cDir + 'UTF16BE_File.txt', bfeUTF16BE}
},

//******************************************************************************
function WriteString(oFile, cString)
|i, oFileObj|
   for i := 1 to ALen(aFiles) do
      oFileObj := oFile.GetFile(aFiles[i, xFileName]),
      oFileObj.Encoding := aFiles[i, xEncoding],
      oFileObj.AppendAnsi('A[' + cString + ']' + CRLF),
      oFileObj.AppendUnicode('U[' + cString + ']' + CRLF),
      oFileObj.AppendUnicodeBE('B[' + cString + ']' + CRLF),
      oFileObj.AppendUTF8('8[' + cString + ']' + CRLF),
   next,
end,

//******************************************************************************
function ReadContent(oFile)
|i, oFileObj|

   for i := 1 to ALen(aFiles) do
      oFileObj := oFile.GetFile(aFiles[i, xFileName]),
      writeln('Filename [' + oFileObj.FileName + ']' + CRLF +
              'Encoding [' + Str(oFileObj.Encoding) + ' (Expected ' + Str(aFiles[i, xEncoding]) + ')]' + CRLF +
              'Size: ' + Str(oFileObj.Size) + CRLF +
              'Content: ----------------' + CRLF +
              oFileObj.Content + CRLF +
              '-------------------------'),
   next,
end,

//******************************************************************************
function DeleteAllFiles(oFile)
|i, oFileObj|
   for i := 1 to ALen(aFiles) do
      oFileObj := oFile.GetFile(aFiles[i, xFileName]),
      if oFileObj.Exists then
         oFileObj.Delete(),
      endif,
   next,
end,

//******************************************************************************
// HAUPTPROGRAMM
//******************************************************************************
ForceDirectories(cDir),
oFile := CreateObject('TbeCbFile'),
startseq
   startseq
      WriteString(oFile, 'Hello ' + CodepointToChar('U+4F80') + ' world! €' + CodePointToChar('U+221E')),
      ReadContent(oFile),
      oFile.WriteAllFileContent(cDir + 'AllText.txt', bfeUnicode,
                                'bla ' + CodePointToChar('U+2398'), bfeUnicode),
      writeln(oFile.ReadAllFileContent(cDir + 'AllText.txt', bfeUnicode)),
   always
      if bWaitToDelete then
         Meld('Dialog schließen, um Dateien zu löschen'),
      endif,
      DeleteAllFiles(oFile),
   stopseq,
always
   DestroyObject(oFile),
stopseq,

Weitere Verknüpfungen

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.