|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны | 
|  | 
|  | Опции темы | Поиск в этой теме | Опции просмотра | 
| 
			 
			#1  
			
			
			
			
		 | ||||
| 
 | ||||
|  Ошибка с полем 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  
			
			
			
			
		 | ||||
| 
 | ||||
|   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; | 
| 
			 
			#3  
			
			
			
			
		 | ||||
| 
 | ||||
|   Спасибо =( а можно ещё вопросик, у меня ещё в одной программке ошибку выдает, пишет пера нет...ну в общем странная ошибка ( я не знаю пока как она исправляется Код: 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  
			
			
			
			
		 | ||||
| 
 | ||||
|   Бо ты за пределами with Image1.Canvas do... |