Accès fichiers
unsigned char *Buffer = newunsigned char[nbOctets]; // déclaration et allocation mémoire de Bufferint HandleFichierR = FileOpen(NomFichier, fmOpenRead); // ouvrir fichier
TailleFichier = FileSeek(HandleFichierR, 0, 2); // récupérer taille du fichier
FileSeek(HandleFichierR, 0, 0); // positionner pointeur au début
int HandleFichierW = FileCreate(NomFichier); // créer fichier
FileSeek(HandleFichierW, 0, 0); // positionner pointeur au début
FileRead(HandleFichierR, Buffer, nbOctets); // lire nbOctets et les placer dans Buffer
FileWrite(HandleFichierW, Buffer, nbOctets); // écrire nbOctets depuis Buffer
Pointeurs, références, adresses, tableaux
int X;
int *pX = &X; // Crée un pointeur vers int initialisé avec adresse de X
int &rX = X; // Crée une référence de int initialisé avec X (obligatoire)
// &X = pX = &rX = &(*pX) = adresse de X
// X = rX = *pX = contenu de X
char X[7] // Déclare une variable tableau X de sept éléments char
char *Y = new char[7] // Déclare un pointeur vers char Y pointant vers un tableau sans nom
// X = &X[0] = &(*X) = &X = adresse de début du tableau X
// Y = &Y[0] = &(*Y) = adresse de début du tableau sans nom
// &Y = adresse du pointeur Y
// *X = X[0], *Y = Y[0], = valeur 1° élément du tableau
Exceptions
class NomException{}; // Déclare une classe d'exception utilisateurtry
{
int *X = new int[10]; // Crée un tableau dynamique
try
{
throw NomException(); // Lève l'exception utilisateur
}
catch (EDivByZero&) { ShowMessage("Division par zéro"); } // Intercepte les exceptions EDivByZero
catch (NomException) { ShowMessage("Erreur spéciale"); } // Intercepte l'exception utilisateur
catch (...) { ShowMessage("Erreur quelquonque"); } // Intercepte toutes les autres exceptions
}
__finally { delete X; } // Libère tableau X quoi qu'il se passe
Registre
#include <registry.hpp>TRegistry *Registre; // déclaration
Registre = new TRegistry; // création
Registre->RootKey = HKEY_CURRENT_USER; // spécifier la clé racine
Registre->OpenKey(nomClé, Créer?); // ouvrir les clés une à une
Registre->CloseKey(); // ferme toutes les clés sauf racine
delete Registre; // libérer
Fichiers .ini
#include <inifiles.hpp>TIniFile *Fichier; // déclaration
Fichier = new TIniFile(nomFichier); // création
delete Fichier; // libérer
TStatusBar, TMemo
StatusBar1->Panels->Items[x]->Text = ""; // écrire dans un panel
Memo1->Lines->Add(""); // ajouter une ligne à un memo
Memo1->Lines->Strings[x] = ""; // accéder à une ligne de memo