Commit 180b792e authored by Jucelino Fonseca's avatar Jucelino Fonseca

ajustes e testes

parent 37ef70c6
...@@ -181,7 +181,7 @@ type ...@@ -181,7 +181,7 @@ type
// //
function RetirarPalavraChaveOLQ(piSynEdit :TSynEdit;opEve: TFaOpenEvent):string; function RetirarPalavraChaveOLQ(piSynEdit :TSynEdit;opEve: TFaOpenEvent):string;
function IsKeyword(piItem : string): boolean; function IsKeyword(piItem : string): boolean;
function GetTextBetweenWord(piSynEdit :TSynEdit;piWord : string) : string; function GetTextBetweenWord(piSynEdit :TSynEdit;piWordPos: TPoint;piWord : string) : string;
protected protected
procedure CreateParams(var Params : TCreateParams); override; procedure CreateParams(var Params : TCreateParams); override;
...@@ -1220,11 +1220,13 @@ var lWord, ...@@ -1220,11 +1220,13 @@ var lWord,
ls_espaco, ls_espaco,
ls_aux : string; ls_aux : string;
li_Pos : integer; li_Pos : integer;
p2,
p1,zeroPoint : TPoint; p1,zeroPoint : TPoint;
begin begin
result := ''; result := '';
lWord := trim(piSynEdit.GetWordAtRowCol(piSynEdit.PrevWordPos)); p2 := piSynEdit.PrevWordPos;
lText := GetTextBetweenWord(piSynEdit,lWord); lWord := trim(piSynEdit.GetWordAtRowCol(p2));
lText := GetTextBetweenWord(piSynEdit,p2,lWord);
if not IsKeyword(lWord) then if not IsKeyword(lWord) then
begin begin
if (opEve = fopEvenSelectCompleto) or if (opEve = fopEvenSelectCompleto) or
...@@ -1344,18 +1346,39 @@ begin ...@@ -1344,18 +1346,39 @@ begin
end; end;
function TExplorerV2.GetTextBetweenWord(piSynEdit :TSynEdit;piWord: string): string; function TExplorerV2.GetTextBetweenWord(piSynEdit :TSynEdit;piWordPos: TPoint;piWord: string): string;
var p1: TPoint; var p1,p2: TPoint;
li_Pos : integer; //li_Pos : integer;
begin begin
li_Pos := Pos(piWord,piSynEdit.LineText); if trim(piWord) = '' then
begin
p1 := piWordPos;
p2 := piSynEdit.CaretXY;
result := '';
while (result = '') and (p1.Y > 0) do
begin
p1.Y := p1.Y - 1;
result := piSynEdit.TextBetweenPoints[p1,p2];
end;
end
else
begin
p1 := piWordPos;
p2 := piSynEdit.CaretXY;
if p2.Y <> p1.Y then
begin
p1.X := p1.X - Length(piWord);
end;
result := piSynEdit.TextBetweenPoints[p1,p2];
end;
{li_Pos := Pos(piWord,piSynEdit.LineText);
p1 := piSynEdit.CaretXY; p1 := piSynEdit.CaretXY;
if li_pos > 0 then if li_pos > 0 then
begin begin
p1.X:= li_Pos; p1.X:= li_Pos;
end; end;
result := piSynEdit.TextBetweenPoints[p1, piSynEdit.CaretXY]; result := piSynEdit.TextBetweenPoints[p1, piSynEdit.CaretXY]; }
end; end;
procedure TExplorerV2.CreateParams(var Params: TCreateParams); procedure TExplorerV2.CreateParams(var Params: TCreateParams);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment