
A mellékelt példaprogram használatához a BufferOptions.dpk Package állomány tartalmát telepítenie kell.
Delphi 5 feletti verziók használata esetében a Package fordítása hibát okoz, hiányzó unit-ok miatt. A fordításhoz szükséges unit-ok megtalálhatóak a delphiX\Source\ToolsAPI könyvtárban.
A Tools – Editor Options menü tartalmazza a kódszerkesztő alapbeállításait. Amikor betöltünk egy forráskódot, ezek az alapbeállítások lesznek hatással rá. Ameddig a kód a memóriában van, lehetőségünk van minden egyes forráskódhoz külön beállításokat megadni, de ezek nem menthetőek el a kóddal együtt.
Az előző részekben szó volt arról, hogy minden megnyitott forráskód egy külön bufferben helyezkedik el. Ezeknek a buffereknek külön szabályozhatjuk a beállításait, az IOTABufferOptions interfészen keresztül.
Hasonló módon az eddigiekhez, ennek az interfésznek az eléréséhez is készítettünk egy függvényt.
function GetBufferOptions: IOTABufferOptions;
Az interfészt az alábbi úton érhetjük el, az IOTASourceEditor interfészből kiindulva.
Result:=Editor.EditViews[0].Buffer.BufferOptions;
Property-k

AutoIndent
Osztály: IOTABufferOptions
property AutoIndent: Boolean;
Ennek a funkciónak akkor van jelentősége, ha a kódszerkesztőben egy sor végén Enter-t nyomunk. Igaz érték esetén a kurzor a következő üres sor legelső olyan pozíciójára kerül, ahol az előző sor nem fehér karaktert tartalmaz. Hamis érték esetén a kurzor mindig az új sor legelső karakterpozíciójára kerül.

BackspaceUnindents
Osztály: IOTABufferOptions
property BackspaceUnindents: Boolean;
Akkor van jelentősége, amikor a kódszerkesztőben egy sor legelső, nem fehér karakterén állunk és megnyomjuk a BackSpace billentyűt. Igaz érték esetén a kurzor abba az oszlopba kerül, ahol az előző sor legelső nem fehér karaktere található. Hamis érték esetén a BackSpace normálisan működik, azaz csak egyetlen karaktert töröl.

CreateBackupFile
Osztály: IOTABufferOptions
property CreateBackupFile: Boolean;
Igaz érték esetén a szerkesztett forráskód előző állapotáról backup állomány készül. Hamis érték esetén ez a funkció nem működik.

CursorThroughTabs
Osztály: IOTABufferOptions
property CursorThroughTabs: Boolean;
Igaz érték esetén a kurzor egy Tab karakter helyén is bárhová pozícionálható. Hamis érték megadásakor a Tab méretének megfelelően ugrik.

GroupUndo
Osztály: IOTABufferOptions
property GroupUndo: Boolean;
Igaz érték esetén az egymás után végrehajtott, azonos típusú műveletek egyszerre kerülnek visszavonásra.

InsertMode
Osztály: IOTABufferOptions
property InsertMode: Boolean;
Ugyanaz a hatása, mint az INSERT billentyűnek. Igaz érték esetén a kódszerkesztőbe írt szöveg beszúrásra kerül, hamis érték esetén pedig felülírja a már ott lévő kódot.

KeepTrailingBlanks
Osztály: IOTABufferOptions
property KeepTrailingBlanks: Boolean;
Igaz érték esetén, a sor végén lévő fehér karakterek megmaradnak. Ha hamis értéket adunk meg, akkor ezek a karakterek automatikusan törlésre kerülnek.

LeftGutterWidth
Osztály: IOTABufferOptions
property LeftGutterWidth: Integer;
A kódszerkesztő bal oldalán látható egy függőleges szürke sáv. Ide kerülnek a könyvjelzők, töréspontok, stb. Ez a property ennek a szürke sávnak a vastagságát határozza meg pixelekben.

OverwriteBlocks
Osztály: IOTABufferOptions
property OverwriteBlocks: Boolean;
Akkor van jelentősége, amikor kijelölünk egy blokkot, és gépelni kezdünk fölötte. Igaz érték esetén, ilyenkor a kijelölt szöveg felülírásra kerül.

PersistentBlocks
Osztály: IOTABufferOptions
property PersistentBlocks: Boolean;
Azt szabályozza, hogy mi történjen akkor, ha kijelölünk egy blokkot, majd elmozdítjuk a kurzort. Igaz érték esetén a kijelölés megmarad, míg hamis érték esetén megszűnik.

PreserveLineEnds
Osztály: IOTABufferOptions
property PreserveLineEnds: Boolean;
Igaz érték esetén a kódszerkesztő megőrzi a sorvége pozíciókat.

RightMargin
Osztály: IOTABufferOptions
property RightMargin: Integer;
Értéke azt határozza meg, hogy a kódszerkesztő jobb oldalán elhelyezkedő margó hányadik karakteroszlopban jelenjen meg.

ShowSpace
Osztály: IOTABufferOptions
property ShowSpace: Boolean;
Csak Delphi 7-től. Igaz érték esetén a kódszerkesztő megjeleníti a szóközöket is.

ShowTab
Osztály: IOTABufferOptions
property ShowTab: Boolean;
Csak Delphi 7-től. Igaz érték esetén a kódszerkesztő megjeleníti a Tab karaktereket is.

SmartTab
Osztály: IOTABufferOptions
property SmartTab: Boolean;
A Tab billentyű használatára van hatással. Ha hamis értéket adunk meg, akkor a Tab billentyű normál módon működik. Igaz érték esetén a Tab mérete az előző sor szavaihoz igazodik. Mindig a következő szó elejére ugrik.

SyntaxHighlight
Osztály: IOTABufferOptions
property SyntaxHighlight: Boolean;
Igaz érték esetén a szintaxis kiemelő be van kapcsolva. Hamis érték esetén pedig ki van kapcsolva.

TabStops
Osztály: IOTABufferOptions
property TabStops: string;
Lista, amely a Tab Stop pozíciókat határozza meg.

UndoAfterSave
Osztály: IOTABufferOptions
property UndoAfterSave: Boolean;
Alapértelmezés szerint, ha elmentünk valamit a Delphi-ben, akkor az Undo opció megszűnik. Ha ezt a property-t igazra állítjuk, akkor az Undo lehetőség a kód elmentése után is megmarad.

UndoLimit
Osztály: IOTABufferOptions
property UndoLimit: Integer;
Az Undo művelethez felhasználható memória maximális méretét határozza meg.

UseTabCharacter
Osztály: IOTABufferOptions
property UseTabCharacter: Boolean;
A Tab karakterre van hatással. Igaz érték esetén, ha lenyomjuk a Tab billentyűt, akkor az a forráskódba, Tab karakterként kerül bejegyzésre. Ha ezt az értéket hamisra állítjuk, akkor a Tab karakterek helyett szóköz kerül a kódba.