AIDE Services for Delphi3 1.0 


AIDE Services for Delphi3 1.0 (AIDE).
AIDE is an powerful tool for high perfomance programming in IDE of Delphi3. AIDE means Advanced 
IDE. AIDE is aimed for programming in Delphi 3.0 . Soon will be available versions for C++ Builder, 
Delphi 2.0 and Delphi 1.0.</P> 
AIDE is a set of following services :</P> 
  AIDE Case/2 Services - Service for working with source code of Delphi programs. 
  AIDE SourceSafe Services - Service supports COM-integration with SourceSafe strightly into 
Delphi's IDE. 
  AIDE Help Services - Service for writing help. Ready. 
  AIDE Project Tree Services - Project tree inside Delphi IDE. Ready. 


AIDE SourceSafe Services 
If you use in your work Microsoft Visual SourceSafe 5.0 you can intergrate it inside Delphi IDE like in 
Microsoft Developer Studio's - you should install AIDE SourceSafe Services. AIDE SourceSafe Services 
is an add-in expert which thought Delphi's Open Tools API integrates main features of SourceSafe inside 
Delphi IDE. On installing AIDE SourceSafe Services a new menu SourceSafe appears among Component 
and Tools menus. It contains following menu items:
  Add Files ... - use it to add files into SourceSafe (default shortcut Shift+Ctrl+A) 
  Check In ... - use it to check in files or entire projects (Shift+Ctrl+I) 
  Check Out ... - ... to check out (Shift+Ctrl+K)
  Get Latest Version ... - ... to get latest version of files or projects (Shift+Ctrl+L) 
  Undo Check Out ... - ... to undo previous checking out of files (Shift+Ctrl+U) 
  Refresh File Location Cashe - to refresh cashing information of files locations 
  Options ... - here you can customize shortcuts and any other options 
  Logon ... - to logon into SourceSafe Database
  Run Visual SourceSafe Explorer - use it for quick launching SourceSafe Explorer. 

Using of AIDE SourceSafe

Suppose we have Unit1.PAS somewhere in SourceSafe. We have already opened it in IDE and we want to 
checkout it. Simply by clicking Shift+Ctrl+K or throught the menu Check Out appears form for Checking 
Out with analogous functionality to SourceSafe Explorer's.
The main advatage of AIDE SourceSafe Services is that it automatically maintains SourceSafe location of 
file (Unit1.PAS) using cashed information of SourceSafe file locations. This information is stored in file 
FileLocationCashe.AIDE. AIDE wouldn't need to use it if you organized your SourceSafe project twin to 
real, like this : D:\Projects\AIDE\SourceSafe\File1.PAS = $/D/Projects/AIDE/SourceSafe/File1.PAS. AIDE 
would always know where file is situated in SourceSafe.
Before checking file out, AIDE closes it in IDE, checks it out, and opens it again. Automatically file name 
is expanded to wildcard, like this Unit1.* - to check out automatically .DFM or .RES files with .PAS files. 
You don't need to check out it twice. 
Besides this, you don't need to launch SourceSafe Explorer and always keep it in background mode ( until 
next check out or check in) - there will be a much more free memory on your computer.</P>
So that, as explained before AIDE SourceSafe Services makes your operations with SourceSafe three-four 
times faster. You don't need to close file, switch into SourceSafe Explorer, find that file in SourceSafe what 
could be not easy if there are a lot of files in SourceSafe, check it out or something else, switch back in 
Delphi, and open file again. </P>
Also there are a lot of options in AIDE SourceSafe Services for greatest perfomace. You can adjust AIDE 
to ask for checking out (checking in) files before opening (closing), or do not ask, or check out (check in) it 
automatically. By default these is not set. If you have SourceSafe lower version, < 5.0 there are option Use 
COM Integration, it is switched on by default, but if you switch it off AIDE would not use COM 
integration - would be used SourceSafe Command-Line Utility SS.EXE for checking out, checking in and 
other SourceSafe's operation.</P> 
Besides this SourceSafe's tree is intergrated into AIDE Project Tree Services as separate tab sheet 
'SourceSafe'


AIDE Case/2 Services 
If you are proffesional programmer on Delphi, and you want to increase your productivility of source code 
in Delphi IDE you must install AIDE Case/2 Services. AIDE Case/2 Services is an install add-in expert 
which thought Delphi's Open Tools API adds a lot of features inside Delphi IDE.On installing AIDE 
Case/2 Services appears new menu Case/2 among menus Tools and Help. Each feature in Case/2 Services is 
represented by its own menu item. So when menu Case/2 drops down it could hit your leg - there are realy a 
lot of features in AIDE Case/2 Services.</P> 
Features of AIDE Case/2 Services</P> 
The main feature of AIDE Case/2 Services is HyperJump (Alt+Enter).</P> 
Do :</P> 
1. Open any file from Source\VCL\*.PAS. 
2. Suppose that cursor is situated on the line of any method interface. On clicking Alt+Enter 
(HyperJump) we'll jump to it's implementation and vice versa. If unit source is very large (about 
thousands lines) visual finding any method implementation will take a lot of time (PgDn, PgDn, 
PgDn, ... until you'll find file on screen with the help of the keyboard), but if you use AIDE on 
clicking Alt+Enter you'll jump to implementation very fast, about quater of second. You could 
return back by pressing Alt+Enter again. 
3. Lets create a new method in a class. Type reserved word procedure, method name, parameters, 
find end of upper method implementation, and type declaration again with begin end;. Have you 
estimated the time? Such much ? Oooh! If HyperJump doesn't find the implementation of method 
AIDE supposes that you want to create it's implementation. It find end of upper method 
implementation or if it doesn't exist than lower's, and creates empty method implementation:
On clicking Alt+Enter on procedure Test(Param: integer); override; will be inserted such code:
procedure Test(Param: integer);
begin
inherited;
end;
As shown before if method is overriden, will be inserted inherited. And vice versa from 
implementation to interface. 
4. Anagously with fields and properties. Properties and fields HyperJump are used only for creating 
fields and properties. If cursor is situated on field FTest: integer; would be created property like 
this at the end of published section:
published
...
property Test: integer read FTest write FTest;
And vice versa. If property actions are like these:
property Test: integer read F write Set;
Would be created method SetTest at the end protected section, if it is not already exists, and field 
FTest in private section: 
private
...
FTest: integer;
...
protected
...
procedure SetTest(Value: integer); 
and will be created implementation of method SetTest :
...
procedure TTestClass.SetTest(Value: integer);
begin
FTest := Value;
end;
Anagously with Get-actions will be inserted code Result := FTest; 
5. Suppose we want to add parameter to method, we'll add parameter in interface header and repeat it 
again in implementation header. AIDE supports automatic header refreshing, if headers wouldn't 
be identical AIDE would offer you to choose corrent method header: if you jump from 
implementation to interface by default AIDE suppose that implementation's header are newer than 
interface's and offers you to refresh interface's header, and vise versa.<DIV align="center">
*
 
</DIV> 
</P>If you want to override some methods but do not know there's parameters you can use AIDE's 
InheritanceWizard (Alt+Insert). InheritanceWizard will scan parent classes for virtual methods and will 
offer you to choose methods you want to override. They would be created inside your class with directive 
override.</P>
AIDE contains build in macro language for writing your own macros - for this perpouce AIDE uses Forth as 
macro language. </P>
AIDE has analogous feature to Delphi's Code Templates (Forth Code Templates - Alt+J). In AIDE's Code 
Templates you can insert macro constructions inside template, which makes it more powerfull in functional 
sence. AIDE contains standard macros for generating new classes, ext. Example, macro TryVar inserts such 
code, Do type varName| then click Alt+J or Alt+Y then AIDE will insert such code := will ask about 
varName's type if its isnt declared as local var and otherwise declares it, then inserts text:</P> 

.Create;
try
|
finally
varName.Free;
end;</P> 
If varType is descendant from TForm will be inserted such code inside try and finally:</P> 

varName.ShowModal;
if varName.ModalResult = mrOk then
begin
|
end;</P> 
See file AIDE.dci.</P> 
Another powerfull feature is ClassesRegistry.
Attention ! If you want to use above features you must register source file.</P> 
GotoClassOnCursor - Ctrl+Alt+F1 Suppose cursor is situated on class TCustomGrid, click Ctrl+Alt+F1, 
and AIDE will open source with that class ..</P> 
Sorry ! Documentation is not ready yet ;-( .
