Delphi Tips&Tricks News   Tips   .NET Software   VCL Software   Search   Contacts
Ultimate Pack - special offer!

Ultimate Pack  hot!
Image Editor  new!
Runtime Fusion
Form Designer
Object Inspector
Print Suite Pro
Commented Image
Delphi Toys
WinDowse
Delphi Bonus
TMS Scripter Studio
Form Designer VB
Form Designer .NET

...get more...
for Delphi.NET, C#, VB.NET
for Delphi VCL, BCB 3-6

WinAPI Online
Unix Manual Pages
MegaDetailed.NET
in3steps.com
cdtrrracks.com new!

Blogspot  greatis.blogspot.com

Text positioning in Memo - Components - Tips & Tricks - Greatis Delphi Pages

We will find spaces and tab symbols, when somebody press Enter-key. And we will add this symbols to the new string in Memo.


procedure TForm1.Memo1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  LineNum: Integer;
  Str: string;
  i: Integer;
begin
  StrDop:='';
  if Key=13 then
  begin
    LineNum:=Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
    Str:=Memo1.Lines[LineNum];
    i:=1;
    if Str<>'' then
    begin
      while (Str[i]=' ')or(Str[i]=#9) do
        Inc(i);
      StrDop:=Copy(Str,1,i-1);
    end;
  end;
end;

procedure TForm1.Memo1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  LineNum: Integer;
begin
  if StrDop<>'' then
  begin
    LineNum:=Memo1.Perform(EM_LINEFROMCHAR, Memo1.SelStart, 0);
    Memo1.Lines[LineNum]:=Memo1.Lines[LineNum]+StrDop;
  end;
end;
Related topics
Set caret position in RichEdit
Get Memo current line

For more
Delphi Help

Download source