unit AddUnitComponent; interface uses SysUtils, Classes, Controls; type TAddUnitComponent = class(TControl) public constructor Create(AOwner: TComponent); override ; end; procedure Register; implementation uses ToolsAPI ; procedure Register; begin RegisterComponents('WhiteHippo', [TAddUnitComponent]); end; { TAddUnitComponent } constructor TAddUnitComponent.Create(AOwner: TComponent); const BUFFER_SIZE = 4096 ; var ModuleServices: IOTAModuleServices; Module: IOTAModule; Editor: IOTAEditor; SourceEditor: IOTASourceEditor; Reader: IOTAEditReader ; Writer: IOTAEditWriter ; Buffer:Array[0..BUFFER_SIZE-1] of char ; i : integer ; begin inherited ; ModuleServices := BorlandIDEServices as IOTAModuleServices; for i:=0 to ModuleServices.ModuleCount-1 do begin Module := ModuleServices.Modules[i] ; if Assigned(Module) then begin Editor := Module.ModuleFileEditors[i]; if Assigned(Editor) then begin if Editor.QueryInterface(IOTASourceEditor, SourceEditor)=S_OK then break ; end ; end ; end ; // Récupération du fichier Reader := SourceEditor.CreateReader ; if Assigned(Reader) then begin FillChar( Buffer, BUFFER_SIZE, 0 ) ; Reader.GetText(0, @Buffer, BUFFER_SIZE ); end ; Writer := SourceEditor.CreateWriter ; if Assigned(Writer) then begin Writer.Insert( '// Insertion d''un commentaire'#13#10 ); Writer.CopyTo(0); //Au début de l'unité end ; end; end.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question