If you hadn't mentioned that lst part I would have!  And I find it
very annoying that Delphi suddenly reversed the order in which it's
interface section code is added anyway!  I liked it the old way where both
the interface and implementation were written top to bottom, now it's bottom
to top which can get confusing at times.

from: Robert Meek at: [EMAIL PROTECTED] 
dba "Tangentals Design" home of "PoBoy"
freeware Windows apps and utilities
located at: www.TangentalsDesign.com
Proud to be a moderotor for the
"Delphi Programming Lists" at: elists.org 


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of Stephen Posey
Sent: Thursday, September 29, 2005 10:26 AM
To: Borland's Delphi Discussion List
Subject: Re: Lesser Known IDE Features You Find Useful

Alan Colburn wrote:

> Hi all --
> 
> I thought it could be useful to all of us to get a thread
> going where we share IDE features (or even configurations)
> that we've found to boost our productivity. You might become
> more efficient or happy because of a feature you didn't know 
> was there--and you might be able to help others do the same :-)
> 
> In that spirit, I'll try to start ...
> 
> Code folding is a feature in D2005 that I find useful.
> However, the IDE also lets you define your own custom regions that
> can be folded and unfolded. If you've got a group of procedures, for
> example, that are similar and logically grouped together, you can
> fold and unfold the entire group as one.
> 
> At the beginning of the new region enter
> {$REGION 'Name of Region'}
> 
> followed by
> {$ENDREGION}
> at the region's endpoint.
> 
> What makes you more productive?

One of my personal favorites is the "Complete Class at Cursor" 
(Ctrl+Shift+C) function.

This function is context sensitive: If you're in the 
implementation section of a class, it adds any method headers 
you've added to the class declaration.

If you're in the class declaration, it will create skeleton 
method bodies in the implementation section. But more importantly 
(from my perspective) if you create a new property like so:

type
   Myclass = class
   published
     property MyProp : aType
       read FMyProp write SetMyProp;
   end;

And invoke the "Complete Class at Cursor" function, the IDE will 
add the Member variable, the setter method header, and the setter 
method body:

type
   Myclass = class
   private
     FMyProp: aType;
     procedure SetMyProp(const Value: aType);
   published
     property MyProp : aType
       read FMyProp write SetMyProp;
   end;

...
implementation

procedure Myclass.SetMyProp(const Value: aType);
begin
   FMyProp := Value;
end;


This action is smart enough to recognize whether the read and 
write refer to a Member variable or to getter and/or setter 
methods, or whether it's a read-only property; and behaves 
accordingly. It even handles array properties.

That's some mighty handy code generation when you're deep in 
class creation.

One caveat: if you add method bodies to the implementation 
section manually, it's worth the effort to keep them in 
alphabetical order.

If you don't it confuses the automatic code generation, and the 
IDE will simply start appending automatically generated methods 
at the end of the unit rather than contiguously with the class's 
other methods.

HTH

Stephen Posey
[EMAIL PROTECTED]

_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

_______________________________________________
Delphi mailing list -> [email protected]
http://www.elists.org/mailman/listinfo/delphi

Reply via email to