Форум программистов, компьютерный форум, киберфорум
Наши страницы

Delphi: графика, звук, видео

Войти
Регистрация
Восстановить пароль
 
kruyk95
0 / 0 / 0
Регистрация: 14.01.2011
Сообщений: 3
#1

Подскажите, не знаю, как исправить ошибку - Delphi

19.01.2011, 17:15. Просмотров 762. Ответов 0
Метки нет (Все метки)

Короче, написал я программу: графический редактор, начал запускать его а он мне выдал ошибку
Вот текст программы:
unit unit1;

interface

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

type
TForm1 = class (TForm)
Panel1: TPanel;
ScrollBox1: TScrollBox;
PaintBox1: TPaintBox;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
SpeedButton1: TSpeedButton;
ColorBox1: TColorBox;
ColorBox2: TColorBox;
Label1: TLabel;
Label2: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
SpeedButton5: TSpeedButton;
PaintBox2: TPaintBox;
procedure PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
procedure FormCreate(Sender: TObject);
procedure PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
procedure PaintBox1Paint(Sender: TObject);
procedure PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
private
{ Private declarations }
public
{ Public declarations }
end;

TShape=(sPen, sRect, sEllipse, sPoly, sFill);

var
Form1: TForm1;
nowdrawing:TShape;
img, buffer:TBitmap;
x0,y0:integer;
dwn:boolean;

implementation

{$R *.dfm}

procedure TForm1.PaintBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button=mbLeft then begin
img.assign(buffer);
x0:=x; y0:=y;
if SpeedButton1.Down then
begin
nowdrawing:=sPen;
img.canvas.MoveTo(x,y);
end else
if SpeedButton2.Down then
nowdrawing:=sEllipse else
if SpeedButton3.Down then
nowdrawing:=sRect else
if SpeedButton4.Down then
nowdrawing:=sPoly else
if SpeedButton5.Down then
nowdrawing:=sFill;
dwn:=true;
img.Canvas.Pen.Color:=ColorBox1.Selected;
img.Canvas.Brush.Color:=ColorBox2.Selected;

if nowdrawing=sFill then
begin
img.Canvas.FloodFill(x0,y0,img.Canvas.Pixels[x,y],fsSurface);
buffer.Assign(img);
dwn:=false;
end
end else
begin
if (dwn)and(nowdrawing=sPoly) then begin
x0:=x;
y0:=y;
buffer.Assign(img);
end;
end;
paintbox1.Canvas.CopyRect(bounds(0,0,img.Width,img.Height),img.Canvas,bounds(0,0,img.Width,img.Height));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
Img:=TBitmap.Create;
buffer:=TBitmap.Create;
img.Width:=PaintBox1.ClientWidth;
buffer.Width:=PaintBox1.ClientWidth;
img.Height:=PaintBox1.ClientHeight;
buffer.Height:=PaintBox1.ClientHeight;
nowdrawing:=sPen;
dwn:=false;
end;

procedure TForm1.PaintBox1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if not dwn then exit;
img.assign(buffer);
case nowdrawing of
sPen:begin
img.Canvas.LineTo(x,y);
buffer.Assign(img);
end;
sRect:begin
img.Canvas.Rectangle(x0,y0,x,y);
end;
sEllipse:begin
img.Canvas.Ellipse(x0,y0,x,y);
end;
sPoly:begin
img.Canvas.MoveTo(x0,y0);
img.Canvas.LineTo(x,y);
end;
sFill:begin
//nothing.
end;
end;
paintbox1.Canvas.CopyRect(bounds(0,0,img.Width,img.Height),img.Canvas,bounds(0,0,img.Width,img.Height));
end;

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
paintbox1.Canvas.CopyRect(bounds(0,0,img.Width,img.Height),buffer.Canvas,bounds(0,0,img.Width,img.Height));
end;

procedure TForm1.PaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if button=mbLeft then dwn:=false;
buffer.Assign(img);
end;

end.


а вот сами ошибки, в файле
0
Миниатюры
Подскажите, не знаю, как исправить ошибку  
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.01.2011, 17:15
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Подскажите, не знаю, как исправить ошибку (Delphi):

исправить ошибку - Delphi
нужно сделать так,стобы линейка scrolbar перемещалась при нажатии на кнопку да (button1) unit Unit1; interface uses ...

Исправить ошибку в программе - Delphi
uses SysUtils; var i,n,a,b: integer; begin writeln('Skolko chisel bydem proverat? '); readln(n); a:=5; a:=2; ...

Исправить ошибку в проекте - Delphi
ПРОБЛЕМА С ПРОГРАММОЙ ПОСТРОЕНИЯ ЭЛЛИПСОВ. ПРИ ЧАСТОТЕ БОЛЬШЕ ЕДИНИЦЫ ВЫДАЕТ ОШИБКУ

Найти и исправить ошибку в программе - Delphi
Всем привет! Дали такое задание: создать программу, которая автоматизирует процесс перевода градусной меры угла в радианную и наоборот, в...

Изменение яркости картинки, помогите исправить ошибку! - Delphi
У меня есть код procedure TForm1.TrackBar1Change(Sender: TObject); var i,j,trackPos: integer; r,g,b: byte; rc,gc,bc: byte; ...

Исправить ошибку в приведенном коде (ошибка выдается на первое else) - Delphi
if y1=0 then y3:=1 and Edit11.Text:=IntToStr(z1)+IntToStr(x1)+IntToStr(c1)+IntToStr(v1)+IntToStr(b1)+IntToStr(n1)...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.01.2011, 17:15
Привет! Вот еще темы с ответами:

Не знаю как исправить ошибку - C++
при выводе всего списка не выдает верную информацию. Не могу понять что не так, помогите. Заранее спасибо. #include <stdio.h> ...

Не знаю как исправить ошибку - XNA
Решил поюзать XNA 3.1 и сталкнулся с такой проблемой using System; using System.Collections.Generic; using...

Не знаю как исправить ошибку - C++
Всем привет! В общем делал задание на перегрузку операторов, вот код: #include "stdafx.h" #include <iostream> using...

Не знаю, как исправить ошибку - Fortran
program ZNV implicit none real*8 f(100),k(100),t(100),h,x,s,L,kk,tk integer i,j,n,m,z open(11,file='k.txt') ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru