
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.
Hasonlóan az előző részekhez, most is szükségünk van egy DataModule-ra és egy Form-ra. Ne feledkezzünk meg arról, hogy nem használhatunk olyan unit és objektum neveket, amelyeket az előző részekben.
Minden egyes megnyitott állományhoz külön kódszerkesztő tartozik.
Az IOTASourceEditor interfész eléréséhez elkészítettük a GetEditor függvényt.
function GetEditor: IOTASourceEditor;
Az interfész eléréséhez több lépés szükséges.
Hozzá kell férnünk az IOTAModuleServices interfészhez.
ModuleServices:=BorlandIDEServices as IOTAModuleServices;
Ezután az aktuális állomány modulját kell lekérdeznünk.
Module:=ModuleServices.CurrentModule;
Végül az IOTAEditor osztályon keresztül el tudjuk érni az IOTASourceEditor-t.
for i:=0 to Module.GetModuleFileCount-1 do begin
Intf:=Module.GetModuleFileEditor(i);
if Intf.QueryInterface(IOTASourceEditor,Result)=S_OK then
Break;
end;

BlockAfter
Osztály: IOTASourceEditor
property BlockAfter: TOTACharPos;
A kijelölés utolsó karakterének pozícióját adja meg, a forráskódon belül. A TOTACharPos struktúra két tagból áll. A Line tag értéke a sort azonosítja, a CharPos pedig a soron belüli karaktert.

BlockStart
Osztály: IOTASourceEditor
property BlockStart: TOTACharPos;
A kijelölés első karakterének pozícióját határozza meg.

BlockType
Osztály: IOTASourceEditor
property BlockType: TOTABlockType;
A kijelölt blokkról szolgáltat információkat. Értékei a következők lehetnek: btInclusive, btLine, btColumn, btNonInclusive, btUnknown.

BlockVisible
Osztály: IOTASourceEditor
property BlockVisible: Boolean;
A kijelölés láthatóságát állíthatjuk vele. Hamis érték megadása esetén a kijelölést megszüntethetjük.

EditViewCount
Osztály: IOTASourceEditor
property EditViewCount: Integer;
Egy forráskódhoz többféle nézet tartozhat. Ez a property a kódhoz rendelt nézetek számát adja vissza.

EditViews
Osztály: IOTASourceEditor
property EditViews[Index: Integer]: IOTAEditView;
A property a kódhoz rendelt nézeteket tartalmazza. Az eredményül kapott IOTAEditView interfész felelős az adott nézet kezeléséért.

FileName
Osztály: IOTASourceEditor
property FileName: string;
A megnyitott állomány elérési útja és neve.

Modified
Osztály: IOTASourceEditor
property Modified: Boolean;
Azt jelzi, hogy a megnyitott állomány tartalmán történt-e módosítás.

CreateReader
Osztály: IOTASourceEditor
function CreateReader: IOTAEditReader;
Létrehoz egy újabb interfészt, amely segítségével a forráskód részeit olvashatjuk.
Visszatérési érték
Az interfész.

CreateUndoableWriter
Osztály: IOTASourceEditor
function CreateUndoableWriter: IOTAEditWriter;
Létrehoz egy újabb interfészt, amely segítségével a megnyitott forráskódba írhatunk. Az interfészen keresztül végzett módosítások visszavonhatóak.
Visszatérési érték
Az interfész.

CreateWriter
Osztály: IOTASourceEditor
function CreateWriter: IOTAEditWriter;
Ugyanaz, mint a CreateUndoableWriter metódus, csak a módosításokat nem lehet visszavonni.

GetLinesInBuffer
Osztály: IOTASourceEditor
function GetLinesInBuffer: Longint;
A forráskód sorainak számát adja vissza.
Visszatérési érték
A sorok száma.

SetSyntaxHighlighter
Osztály: IOTASourceEditor
function SetSyntaxHighlighter(
SyntaxHighlighter: TOTASyntaxHighlighter
): TOTASyntaxHighlighter;
A kódszerkesztő által használt kódkiemelés típusát állítja be, vagy kérdezi le.
Paraméterek
SyntaxHighlighter: TOTASyntaxHighlighter
| Érték |
Jelentése |
| shNone |
Nincs kiemelés. |
| shQuery |
Lekérdezéshez használható, nem módosítja az előző értéket. |
| shPascal |
Pascal, ez az alapértelmezett. |
| shC |
C nyelvhez használt kiemelés. |
| shSQL |
SQL nyelvhez használt kiemelés. |
| shIDL |
IDL-hez (Interface Definition Language) használt kiemelés. |
Visszatérési érték
Az előző állapot.

Show
Osztály: IOTASourceEditor
procedure Show;
Megjeleníti a kódszerkesztő ablakot.