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+).
Eigenschaften
|
Eigenschaft |
Beschreibung |
|---|---|
|
BOMLength:N |
Länge der BOM-Zeichenfolge der Datei. Read-Only. |
|
Content:C |
Inhalt der Datei (nur lesend). Wird beim Auslesen immer neu ausgewertet. Ist vom gesetzten Encoding abhängig. Read-Only. |
|
Encoding:N |
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. |
|
Exists:L |
Gibt an, ob die Datei existiert. Read-Only. |
|
FileName:C |
Dateiname. Ohne dieser Eigenschaft sind alle Funktionen und Eigenschaften nicht bedienbar. |
|
Name:C |
|
|
Size:N |
Gibt die Dateigröße an. Read-Only. |
|
Tag:N |
|
Methoden
|
Methode |
Beschreibung |
|---|---|
|
CreateFile(aRaiseException:L):L |
Erstellt die Datei, falls sie nicht existiert. Result: boolean = Eine Datei wurde erstellt. |
|
AppendAnsi(aData:C) |
Fügt ANSI Text hinzu |
|
AppendUnicode(aData:C) |
Fügt Unicode Text hinzu |
|
AppendUnicodeBE(aData:C) |
Fügt Unicode (Big-Endian) Text hinzu |
|
AppendUTF8(aData:U) |
Fügt UTF8 Text hinzu |
|
Rename(aNewName:C) |
Benennt die Datei um |
|
Delete() |
Löscht die Datei |
|
Clear() |
Leert den Inhalt der Datei |
|
IsAttributeActive(aAttribute:N):L |
Gibt an, ob der Dateiattribut aktiv ist. Rückgabe: boolean |
Beispiel
|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,