We help IT Professionals succeed at work.

Delphi Programming question

rainbowsoftware
on
Medium Priority
230 Views
Last Modified: 2010-04-04
How can I search for a word in a Paradox Memo or Formatted Memo?
Comment
Watch Question

try this one, it's case sensitive:

procedure TForm1.Button1Click(Sender: TObject);
var FText: string;
size: integer;
Buffer, FindBuf: PChar;
A: array[0..255] of char;
begin
  if InputQuery('Find Text', 'Enter text to find:', FText) then
  with memo1 do begin
    setfocus;
    size:=gettextlen+1;
    GetMem(Buffer,Size);
    GetTextBuf(Buffer,Size);
    FindBuf:=StrPos(Buffer,strPCopy(A,FText));
    if FindBuf<>nil then
    begin
      selstart:=Size-StrLen(FindBuf)-1;
      sellength:=length(FText);
    end
    else
      showmessage('not found');
    FreeMem(Buffer,Size);
  end;
end;

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
This is a good code, but maybe I should learn to write exactly what I want to do. I want to search for 2 or more different words in a memo and in case not sensitive.
1. to make the search in case not sensitive write:
   FindBuf:=StrPos(strupper(Buffer),strupper(strPCopy(A,FText)));
   instead of
   FindBuf:=StrPos(Buffer,strPCopy(A,FText));
2. to find 2 words or more expand this basic procedure for your       own needs, say run this procedure a number of times as the       number of words you need to find.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.