TFileStream - Exemples
| TFileStream = class (TObject) | Interface de TFileStream | Exemples de TFileStream |
uses System.IO;
var f : TFileStream;
// Création d'un nouveau fichier qui contient 5000 A
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.CreateNew, // on crée un nouveau fichier (qui ne doit pas exister)
FileAccessMode.Write, // on veut y accéder uniquement en écriture
FileShareMode.None); // on n'autorise pas les autres process à y accéder
f.Write(StringOfChar('A', 5000));
f.Free; // on libère le fichier
// Ouverture d'un fichier existant en laissant les autres process y accéder
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.OpenExisting, // on ouvre un fichier existant
FileAccessMode.Read or FileAccessMode.Write, // on veut y accéder en lecture/écriture
FileShareMode.Read); // on autorise les autres process uniquement à lire
if f.Size>4000 then begin
// on lit 1000 octets à partir du 3000ème octet
f.Position:=3000;
var s:=f.Read(1000);
PrintLn(s); // on a lu 1000 A
// On remplace ces 1000 octets par des espaces
f.Position:=3000; // on se repositionne car la lecture a déplacé la Position
f.Write(StringOfChar(' ', 1000));
end;
f.Free; // on libère le fichier
// Ouverture d'un fichier existant en laissant les autres process y accéder
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.OpenExisting, // on ouvre un fichier existant
FileAccessMode.Read, // on veut y accéder uniquement en lecture
FileShareMode.Read or FileShareMode.Write); // on autorise les autres process à lire et écrire
// on lit 2 octets à partir du 3999ème octet
f.Position:=3999;
PrintLn(f.Read(2)); // on a lu ' A'
var f : TFileStream;
// Création d'un nouveau fichier qui contient 5000 A
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.CreateNew, // on crée un nouveau fichier (qui ne doit pas exister)
FileAccessMode.Write, // on veut y accéder uniquement en écriture
FileShareMode.None); // on n'autorise pas les autres process à y accéder
f.Write(StringOfChar('A', 5000));
f.Free; // on libère le fichier
// Ouverture d'un fichier existant en laissant les autres process y accéder
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.OpenExisting, // on ouvre un fichier existant
FileAccessMode.Read or FileAccessMode.Write, // on veut y accéder en lecture/écriture
FileShareMode.Read); // on autorise les autres process uniquement à lire
if f.Size>4000 then begin
// on lit 1000 octets à partir du 3000ème octet
f.Position:=3000;
var s:=f.Read(1000);
PrintLn(s); // on a lu 1000 A
// On remplace ces 1000 octets par des espaces
f.Position:=3000; // on se repositionne car la lecture a déplacé la Position
f.Write(StringOfChar(' ', 1000));
end;
f.Free; // on libère le fichier
// Ouverture d'un fichier existant en laissant les autres process y accéder
f:=TFileStream.Create('D:\MonFichier.txt',
FileCreateDisposition.OpenExisting, // on ouvre un fichier existant
FileAccessMode.Read, // on veut y accéder uniquement en lecture
FileShareMode.Read or FileShareMode.Write); // on autorise les autres process à lire et écrire
// on lit 2 octets à partir du 3999ème octet
f.Position:=3999;
PrintLn(f.Read(2)); // on a lu ' A'