![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
![]() помогите пожалуйста исправить ошибки =(, тут самую превую выдает на 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; — Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#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...
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |