We help IT Professionals succeed at work.

We've partnered with Certified Experts, Carl Webster and Richard Faulkner, to bring you two Citrix podcasts. Learn about 2020 trends and get answers to your biggest Citrix questions!Listen Now

x

Delphi Programming question

ecastle
ecastle asked
on
Medium Priority
162 Views
Last Modified: 2010-04-04
Hi,

I want to copy the text selected in one memo (memo1 on form2) and paste it into another memo1 (on form1) using a button on form2. I only want the text to be added to the memo on form1, not replace the text currently in there. How would I do that? I can email you the program if you want.

Thanks for your help.
Comment
Watch Question

Commented:
Use the AddStrings method if the target memo:

MemoTarget.Lines.AddStrings( MemoSource.Lines );

The lines of a memo are of type TStrings, so you can work with the properties and methods of TStrings.  You also can use  SelText etc. as they are in the Memo's ancestry.

Cheers,
Ian C.

Author

Commented:
I'm not sure I understand. I gave you the name and places of all the components, so if you give me exactly the code to use you can have 100 points :)

Author

Commented:
I've worked it out now with the help of people on IRC. Thanks anyway Ian, but your answer was no help :P
this is an example with 2 memos on the same form, it is suppossed to work also with different forms:

procedure TForm1.Button1Click(Sender: TObject);
begin
  memo1.copytoclipboard;
  memo2.setfocus;
  memo2.pastefromclipboard;
end;

Author

Commented:
As I said, I have solved it. My problem was that I had to include the unit call in a second 'uses' after 'implementation', instead of the one at the top of the source.

Commented:
I have absolutely no comments.

Commented:
You must to include the second unit in the implementation uses clause to have access to its objects.
If you are done with this question accept an answer and quit.

Author

Commented:
Isn't there a way to cancel my question? I worked it out with the help of someone on irc. Nobody here provided me with a satisfactory answer. Why should I pay the points?

Commented:
The question was not well formulated. The problem you described make people think about especific methods of TMemo and so on. I advise you to learn the basics of Delphi programming (or anything else) before submiting your questions in a expertise site. You have the news and chats to go. At least you can remove your question following the instructions on:

http://www.experts-exchange.com/info/DelQuestion.htm

Author

Commented:
When you are learning something as complex as Delphi with just the program and no documentation or tutorials to help you it's hard to know everything... sorry I'm not as skilled as you.

Commented:
No documentation?? Are you using a illegal copy of Delphi??
Commented:
This is seceond unit
unit memo1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
 Show;
end;

end.

and this is first unit

unit memo2;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls ;

type
  TForm2 = class(TForm)
    Memo1: TMemo;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;

implementation
uses memo1;

{$R *.DFM}

procedure TForm2.Button1Click(Sender: TObject);
begin
  memo1.copytoclipboard;
  Form1.memo1.setfocus;
  Form1.memo1.pastefromclipboard;
end;

end.

and project

program memo;

uses
  Forms,
  memo1 in 'memo1.pas' {Form1},
  memo2 in 'memo2.pas' {Form2};

{$R *.RES}

begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

Maybe this

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

Ask the Experts
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.