What am I doing wrong? I can insert the date and time to a Label
component very easily (see first proc below), but not into a RichEdit component. I get
three errors as if Delphi is looking for more. Why? And what is missing?
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption := DateTimeToStr(Now);
end;
procedure TForm1.RichEdit1Enter(Sender: TObject);
begin
RichEdit1.Lines.Add := (DateTimeToStr(Now));
end;
In your code, you listed the following:
procedure TForm1.RichEdit1Enter(Sender: TObject);
begin
RichEdit1.Lines.Add := (DateTimeToStr(Now));
end;
Here's the problem. Add is a function - or more accurately, a
method of TStrings - and the string you want to add must be a parameter of
that method. So instead of what you wrote above, do the following:
procedure TForm1.RichEdit1Enter(Sender: TObject);
begin
RichEdit1.Lines.Add(DateTimeToStr(Now));
end;
Although this is a pretty simple fix, you'd be amazed at how even seasoned veterans
fall prey to this problem.
One thing that you should understand is that the Lines property of any object is
actually a TStrings descendant. What I've explained above does not only apply to
TRichEdit, but to TMemo, TListBox or any other component that has a Lines or Strings
property.
|