Improve company productivity with a Business Account.Sign Up

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 148
  • Last Modified:

Delphi Programming question

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.
0
ecastle
Asked:
ecastle
1 Solution
 
icampbe1Commented:
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.
0
 
ecastleAuthor 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 :)
0
 
ecastleAuthor Commented:
I've worked it out now with the help of people on IRC. Thanks anyway Ian, but your answer was no help :P
0
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
ronit051397Commented:
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;
0
 
ecastleAuthor 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.
0
 
kriszCommented:
I have absolutely no comments.
0
 
itamarCommented:
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.
0
 
ecastleAuthor 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?
0
 
itamarCommented:
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
0
 
ecastleAuthor 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.
0
 
kimfriisCommented:
No documentation?? Are you using a illegal copy of Delphi??
0
 
WaldekCommented:
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

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now