
A mellékelt példaprogram használatához a SourceEditor.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 fog okozni, 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 mellékelt példaprogram ugyanaz, mint amit az előző részben használtunk. Az IOTAEditReader, valamint az IOTAEditWriter osztályok elérését az előző részben tárgyaltuk. Most nézzük meg a két osztály által kínált lehetőségeket.
IOTAEditReader
Ez az osztály a forráskód olvasására szolgál, mindössze egyetlen metódussal rendelkezik.

GetText
Osztály: IOTAEditReader
function GetText(
Position: Longint;
Buffer: PChar;
Count: Longint
): Longint;
A megadott pozíciótól kezdődően, megadott számú karaktert olvas ki a forráskódból.
Paraméterek
Position: Longint
Az első beolvasandó karakter pozíciója.
Buffer: PChar
Ebben a paraméterben kell megadnunk azt a változót, amelybe a kiolvasás eredménye kerül. A Buffer-nek legalább Count bájt méretűnek kell lennie, a méret kezeléséről nekünk kell gondoskodnunk.
Count: Longint
A kiolvasandó karakterek száma.
Visszatérési érték
A kiolvasott karakterek száma.
IOTAEditWriter
Az osztály segítségével, Stream-ként kezelhetjük és módosíthatjuk a betöltött forráskódot. A betöltött forráskódot a Delphi bufferként kezeli. Ha azon valamilyen módosítást hozunk létre, akkor az egy újabb bufferbe kerül. Ezt teszi lehetővé például a műveletek visszavonását.

CurrentPos
Osztály: IOTAEditWriter
property CurrentPos: TOTACharPos;
Csak olvasható property. Az aktuális pozíció a Stream-ben. A property típusa TOTACharPos. A TOTACharPos struktúra Line tagja a sort azonosítja, a CharIndex tag pedig a soron belüli karakterpozíciót.

CopyTo
Osztály: IOTAEditWriter
procedure CopyTo(
Pos: Longint
);
A régi bufferből bájtokat másol át az új bufferbe, az aktuális pozíciótól kezdődően.
Paraméterek
Pos: Longint
A másolandó bájtsorozat utolsó elemének pozíciója a régi bufferben.

DeleteTo
Osztály: IOTAEditWriter
procedure DeleteTo(
Pos: Longint
);
Bájtokat töröl a régi bufferből, az aktuális pozíciótól kezdődően.
Paraméterek
Pos: Longint
A törlendő bájtsorozat utolsó elemének pozíciója a régi bufferben.

Insert
Osztály: IOTAEditWriter
procedure Insert(
Text: PChar
);
Az új buffer aktuális pozíciójára beszúr egy karaktersorozatot.
Paraméterek
Text: PChar
A beszúrandó karaktersorozat.

Position
Osztály: IOTAEditWriter
function Position: Longint;
A régi buffer aktuális pozícióját adja vissza.