Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 01.05.2011, 18:15
Аватар для Antidelphik
Antidelphik Antidelphik вне форума
Новичок
 
Регистрация: 28.04.2011
Сообщения: 67
Репутация: 10
По умолчанию Ошибка с полем Memo =(

помогите пожалуйста исправить ошибки =(, тут самую превую выдает на 51 строке
Код:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    LabeledEdit1: TLabeledEdit;
    LabeledEdit2: TLabeledEdit;
    LabeledEdit3: TLabeledEdit;
    Memo1: TMemo;
    Button1: TButton;
    Image1: TImage;
    procedure LabeledEdit3Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
Xmin,Xmax,h,y:real;
cx,cy:real;
begin
try
Xmin:=StrToFloat(LabeledEdit1.Text);
Xmax:=StrToFloat(LabeledEdit2.Text);
h:=StrToFloat(LabeledEdit3.Text);
except
MessageDlg('неверные данные',mtError,[mbOK],0);
exit
end;
if Xmax<=Xmin then
begin
MessageDlg('Xmin>Xmax!',mtError,[mbOK],0);
exit
end;
end;
Memo1.Lines.Clear;
with Image1.Canvas do
 begin
  Brash.Color:=clBlue;
  FillRect(Image1.ClientRect);
  pen.color:=clWhite;
  moveto(0,Image1.Height div 2);
  lineto(Image1.Width,Image1.Height div 2);
  cx:=(Xmax-Xmin)/Image1.Width;
  cy:=2/Image1.Height;
  if cy>cx then
  cx:=cy;
  moveto(0,Image1.Height div 2);
While Xmin<=Xmax do
begin
y:=sin(Xmin);
Memo1.Lines.Add('sin('+FloatToStrF(Xmin,ffFixed,10,4)+')='+FloatToStrF(y,ffFixed,10,4));
lineto(trunc(Xmin/cx),Image1.Height div 2 - trunc(Xmin/cx));
Xmin:=Xmin+h;
end;
end;

end.
Ответить с цитированием
  #2  
Старый 01.05.2011, 18:29
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

End лишний.
И учитесь уже код нормально оформлять. читать же невозможно!
Код:
procedure TForm1.Button1Click(Sender: TObject);
  var
    Xmin, Xmax, h, y: real;
    cx, cy: real;
  begin
    try
      Xmin := StrToFloat(LabeledEdit1.Text);
      Xmax := StrToFloat(LabeledEdit2.Text);
      h := StrToFloat(LabeledEdit3.Text);
    except
      MessageDlg('неверные данные', mtError, [mbOK], 0);
      exit
    end;
    if Xmax <= Xmin then
    begin
      MessageDlg('Xmin>Xmax!', mtError, [mbOK], 0);
      exit
    end;

    Memo1.Lines.Clear;
    with Image1.Canvas do
    begin
      Brush.Color := clBlue;
      FillRect(Image1.ClientRect);
      pen.Color := clWhite;
      moveto(0, Image1.Height div 2);
      lineto(Image1.Width, Image1.Height div 2);
      cx := (Xmax - Xmin) / Image1.Width;
      cy := 2 / Image1.Height;
      if cy > cx then
        cx := cy;
      moveto(0, Image1.Height div 2);
      While Xmin <= Xmax do
      begin
        y := sin(Xmin);
        Memo1.Lines.Add('sin(' + FloatToStrF(Xmin, ffFixed, 10, 4) + ')=' +
          FloatToStrF(y, ffFixed, 10, 4));
        lineto(trunc(Xmin / cx), Image1.Height div 2 - trunc(Xmin / cx));
        Xmin := Xmin + h;
      end;
    end;
  end;
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
  #3  
Старый 01.05.2011, 19:40
Аватар для Antidelphik
Antidelphik Antidelphik вне форума
Новичок
 
Регистрация: 28.04.2011
Сообщения: 67
Репутация: 10
По умолчанию

Спасибо =( а можно ещё вопросик, у меня ещё в одной программке ошибку выдает, пишет пера нет...ну в общем странная ошибка ( я не знаю пока как она исправляется
Код:
procedure TForm1.Button1Click(Sender: TObject);
Procedure Ufo(x,y:integer);
 begin
  with Image1.Canvas do
  begin
   Pen.Color:=clBlue;
   pen.width:=3;
   ellipse(x,y,x+20,y+10);
  end;
 end;
var i:word;
begin
 with Image1.Canvas do
 begin
  Form1.DoubleBuffered:=True;
  Brush.Color:=clBlack;
  Fillrect(Image1.ClientRect);
  for i:=1 to 500 do
   Pixels[RANDOM(Image1.Width),RANDOM(Image1.Height)]:=clWhite;
 end;
 Pen.Mode:=pmNOTXOR;
 for i:=0 to Image1.Width do
  begin
   Ufo (i,i div 2);
   Application.ProcessMessages;
   Sleep(10);
   Ufo (i,i div 2);
  end;

end;

end.
Вот, на пен.мод выдает ошибку =(
Ответить с цитированием
  #4  
Старый 01.05.2011, 20:37
Аватар для M.A.D.M.A.N.
M.A.D.M.A.N. M.A.D.M.A.N. вне форума
Sir Richard Abramson
 
Регистрация: 05.04.2008
Сообщения: 5,505
Версия Delphi: XE10
Репутация: выкл
По умолчанию

Бо ты за пределами with Image1.Canvas do...
__________________
— Как тебя понимать?
— Понимать меня не обязательно. Обязательно меня любить и кормить вовремя.


На Delphi, увы, больше не программирую.
Рекомендуемая литература по программированию
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 02:20.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025