Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.94/50: Рейтинг темы: голосов - 50, средняя оценка - 4.94
 Аватар для Pol Shon
13 / 13 / 6
Регистрация: 20.05.2011
Сообщений: 60

Курсовая по Делфи

20.05.2011, 21:14. Показов 10358. Ответов 59
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте,Форумчане!!!! Обращаюсь к вам в критический момент. Через несколько дней защищать курсовую,а у меня запарка с некоторыми функциями. Курсовая по Делфи. В общем задание курсовой,чтобы было легче ориентироваться в моих каракулях. ПРограмма должна осуществлять:
1) вывод титульного листа
2)перемещение объекта по экрану
3)масштабирование с использованием векторной графики
4)добавление новых копий объекта и удаление существующих с выводом их номера
5)изменение стиля объекта
6)контроль выхода объекта за пределы границы экрана
7)возможность управления объектом с клавиатуры,мышью
8)запись состояния в файл и возможность восстановить состояние по желаю пользователя.

это в кратком изложении. Далее будет представлен мой код программы.

вот в каких пунктах у МЕНЯ проблема.
1)когда объект следует за мышью, он каждый раз отдалется от курсора все дальше и дальше.
2)когда добавляешь новую копию,предыдущие пропадают с экрана. не знаю как их вернуть обратно. и чтобы ВСЕ копии были на экране одновременно
3)контроль выхода за пределы экрана - вообще без понятья.
4)клава почему то не всегда срабатывает при перемещении
5) запись в файл. это с помощью Assign??? я умею только в определенное место определенный файл....
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, Menus,ShellAPI, StdCtrls,Unit2;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Panel1: TPanel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    MainMenu1: TMainMenu;
    N1: TMenuItem;
    N2: TMenuItem;
    Button5: TButton;
    Panel2: TPanel;
    N4: TMenuItem;
    N5: TMenuItem;
    N6: TMenuItem;
    N7: TMenuItem;
    N8: TMenuItem;
    N9: TMenuItem;
    N10: TMenuItem;
    N11: TMenuItem;
    N12: TMenuItem;
    N3: TMenuItem;
    N13: TMenuItem;
    N14: TMenuItem;
    N15: TMenuItem;
 
    procedure Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
      Y: Integer);
    procedure Button1Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure FormKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
    procedure N6Click(Sender: TObject);
    procedure N8Click(Sender: TObject);
    procedure N9Click(Sender: TObject);
    procedure N10Click(Sender: TObject);
    procedure N11Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  masx,masy: integer;
  x,y,i,cur,vsego: integer;
  koef:real;
  flag:bool;
 
implementation
 
{$R *.dfm}
 
    procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
     masx:=x+10;
masy:=y+10;
     Image1.Canvas.FillRect(rect(0, 0, image1.width,image1.height));
   Image1.Canvas.MoveTo(masx+round(koef*(50+x)),masy+round(koef*(10+y))); // стержень
    Image1.Canvas.LineTo(masx+round(koef*(50+x)),masy+round(koef*(100+y)));  // стержень
      Image1.Canvas.MoveTo(masx+round(koef*(30+x)),masy+round(koef*(30+y))); //  верхняя палочка
    Image1.Canvas.LineTo(masx+round(koef*(70+x)),masy+round(koef*(30+y)));  // верхняя палочка
     Image1.Canvas.MoveTo(masx+round(koef*(30+x)),masy+round(koef*(30+y)));  //  левая веточка
    Image1.Canvas.LineTo(masx+round(koef*(50+x)),masy+round(koef*(50+y)));    //  левая веточка
     Image1.Canvas.MoveTo(masx+round(koef*(70+x)),masy+round(koef*(30+y)));   //  правая веточка
     Image1.Canvas.LineTo(masx+round(koef*(50+x)),masy+round(koef*(50+y)));   //    правая веточка
       Image1.Canvas.MoveTo(masx+round(koef*(30+x)),masy+round(koef*(50+y))); //  нижняя палочка
    Image1.Canvas.LineTo(masx+round(koef*(70+x)),masy+round(koef*(50+y)));    // нижняя палочка
      Image1.Canvas.MoveTo(masx+round(koef*(75+x)),masy+round(koef*(50+y))); // стрелочка 1
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(40+y)));  //  стрелочка 1
       Image1.Canvas.MoveTo(masx+round(koef*(80+x)),masy+round(koef*(40+y))); // стрелочка  1
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(40+y)));  //  стрелочка  1
      Image1.Canvas.MoveTo(masx+round(koef*(90+x)),masy+round(koef*(47+y))); // стрелочка 1
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(40+y)));  //  стрелочка 1
     Image1.Canvas.MoveTo(masx+round(koef*(75+x)),masy+round(koef*(30+y))); // стрелочка  2
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(20+y)));  //  стрелочка  2
       Image1.Canvas.MoveTo(masx+round(koef*(80+x)),masy+round(koef*(20+y))); // стрелочка  2
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(20+y)));  //  стрелочка  2
      Image1.Canvas.MoveTo(masx+round(koef*(90+x)),masy+round(koef*(27+y))); // стрелочка  2
    Image1.Canvas.LineTo(masx+round(koef*(90+x)),masy+round(koef*(20+y)));  //  стрелочка  2
    Image1.Canvas.TextOut(masx+round(koef*(70+x)),masy+round(koef*(80+y)),'VD'+IntToStr(vsego));
end;
 
procedure TForm1.Button1Click(Sender: TObject); // увеличение объекта
begin
koef:=koef+0.1;
end;
 
procedure TForm1.N2Click(Sender: TObject); // открытие программы
begin
koef:=1;
vsego:=1;
 Image1.Canvas.FillRect(rect(0, 0, image1.width,image1.height));
   Image1.Canvas.MoveTo(50+x,10+y); // стержень
    Image1.Canvas.LineTo(50+x,100+y);  // стержень
      Image1.Canvas.MoveTo(30+x,30+y); //  верхняя палочка
    Image1.Canvas.LineTo(70+x,30+y);  // верхняя палочка
     Image1.Canvas.MoveTo(30+x,30+y);  //  левая веточка
    Image1.Canvas.LineTo(50+x,50+y);    //  левая веточка
     Image1.Canvas.MoveTo(70+x,30+y);   //  правая веточка
     Image1.Canvas.LineTo(50+x,50+y);   //    правая веточка
       Image1.Canvas.MoveTo(30+x,50+y); //  нижняя палочка
    Image1.Canvas.LineTo(70+x,50+y);    // нижняя палочка
      Image1.Canvas.MoveTo(75+x,50+y); // стрелочка 1
    Image1.Canvas.LineTo(90+x,40+y);  //  стрелочка 1
       Image1.Canvas.MoveTo(80+x,40+y); // стрелочка  1
    Image1.Canvas.LineTo(90+x,40+y);  //  стрелочка  1
      Image1.Canvas.MoveTo(90+x,47+y); // стрелочка 1
    Image1.Canvas.LineTo(90+x,40+y);  //  стрелочка 1
     Image1.Canvas.MoveTo(75+x,30+y); // стрелочка  2
    Image1.Canvas.LineTo(90+x,20+y);  //  стрелочка  2
       Image1.Canvas.MoveTo(80+x,20+y); // стрелочка  2
    Image1.Canvas.LineTo(90+x,20+y);  //  стрелочка  2
      Image1.Canvas.MoveTo(90+x,27+y); // стрелочка  2
    Image1.Canvas.LineTo(90+x,20+y);  //  стрелочка  2
    Image1.Canvas.TextOut(70+x,80+y,'VD'+IntToStr(vsego));
end;
 
procedure TForm1.Button2Click(Sender: TObject); // уменьшение
begin
 koef:=koef-0.1;
end;
 
procedure TForm1.Button3Click(Sender: TObject);  // добавление
begin
 vsego:=vsego+1;
end;
 
procedure TForm1.Button4Click(Sender: TObject); // удаление
begin
 vsego:=vsego-1;
end;
 
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);  // перемещение по форме
begin
if key=vk_Shift then begin  masx:=x+10;end;
if key=vk_Space then begin masy:=y+10; end;
end;
 
procedure TForm1.N6Click(Sender: TObject); // показ титульника
begin
Form2.Show;
end;
 
procedure TForm1.N8Click(Sender: TObject); //добавление
begin
  vsego:=vsego+1;
end;
 
procedure TForm1.N9Click(Sender: TObject); //удаление
begin
  vsego:=vsego-1;
end;
 
procedure TForm1.N10Click(Sender: TObject); //уменьшить
begin
 koef:=koef-0.1;
end;
 
procedure TForm1.N11Click(Sender: TObject);  //увеличить
begin
koef:=koef+0.1;
end;
 
end.
помогите пожалуйста, хоть в чем нибудь. не дайте убиться и завалить сессию.....
 Комментарий модератора 
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку "DELPHI".
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2011, 21:14
Ответы с готовыми решениями:

Мне нужна программа , завтра курсовая по Делфи( Аудио, Картинки
Сегодня я пойду спать потому что уже 4 часа ночи или утра не знаю , в общем я хотел сделать чтобы когда курсором нажимал на картинку или...

Как в Делфи выполнить код, написанный на Делфи, например в поле ввода?
Есть способ в Делфи выполнить код, написанный на Делфи, например в поле ввода?

У меня стоит Делфи 5, возможно еще поставить и Делфи 7, или будут проблемы?!
Где можно скачать Делфи 7, дайте ссылку! У меня стоит Делфи 5, возможно еще поставить и Делфи 7, или будут проблемы?!

59
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
22.05.2011, 11:25
Студворк — интернет-сервис помощи студентам
Не сложно. Просто мне виднее, что делать - я же проект начал писать!
В понедельник, обещаю, займусь твоей работой.

Не по теме:

А сегодня сам радиоэлектронику писать буду. А во вторник отгребать, за то что лабу пропустил!

0
 Аватар для Pol Shon
13 / 13 / 6
Регистрация: 20.05.2011
Сообщений: 60
22.05.2011, 11:31  [ТС]
спасибо спасибо спасибо.........
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 18:21
такие же проблемы...
0
 Аватар для Pol Shon
13 / 13 / 6
Регистрация: 20.05.2011
Сообщений: 60
23.05.2011, 20:17  [ТС]
и по моему я даже знаю кто ты)))) и даже точно уверена))))
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 20:19
ну где ещё можно встретить одногруппников))))
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
23.05.2011, 20:51
Татьяна_St., тебе то же самое делать надо?
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 20:53
да
только я представления не имею вообще как это всё делать
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
23.05.2011, 20:55
Насколько я понял, Pol Shon разбирается немного. Так что я сделаю ей работу с комментами, а она объяснит тебе, если сможет. Идёт?
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 20:57
да,конешно)
только вот ещё проблема, что это за объект такой динистор?
как его в Delphi создать?
0
22 / 7 / 0
Регистрация: 19.09.2009
Сообщений: 60
23.05.2011, 21:20
прочитав условия задачи, и просмотрев пример кода... понял, зачем так все усложнили такой большой писаниной ??? Не проще ли грузить картинки нарисованные, а куда грузить их например в имейдж, его создавать динамически при добавлении нового объекта, и в него грузить картинку подходящую, как перемещать динамически созданные объекты?? обработчика нету же на готовый компонент, компонента нет, так же создать процедуру обрабатывающую перемещение по экрану, и все в аналогичной последовательности

З.Ы. писать программу не буду ! Думайте сами
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 21:23
Elch, хорошо когда есть умные люди которые всё понимают а что делать если вообще не понимаешь?!)
0
22 / 7 / 0
Регистрация: 19.09.2009
Сообщений: 60
23.05.2011, 21:27
я наводку дал

на пиво не просите ...

Добавлено через 57 секунд
Цитата Сообщение от Татьяна_St. Посмотреть сообщение
хорошо когда есть умные люди которые всё понимают а что делать если вообще не понимаешь?!)
идти учиться туда - что понимаешь я думаю
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 21:30
слабовато)

Добавлено через 1 минуту
Elch, спасибо за совет...
но из-за трудностей в одном предмете бросать университет наверное всё таки не стоит
0
22 / 7 / 0
Регистрация: 19.09.2009
Сообщений: 60
23.05.2011, 21:33
Цитата Сообщение от Татьяна_St. Посмотреть сообщение
но из-за трудностей в одном предмете бросать университет наверное всё таки не стоит
а вы не на программисток учитесь? , если нет то не стоит конечно, если да то по любому, иначе зачем учиться если не понимаешь что ты делаешь
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 21:33
не программисты мы)))
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
23.05.2011, 21:59
Elch, а расскажи-ка мне, как ты растовое изображение масштабировать будешь? Неужели ты думаешь, что первокурсницы поймут методы параметрической сплайн интерполяции? Изображение в векторе увеличить надо...
0
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
23.05.2011, 22:07
Вот неполный вариант курсовой...
Вложения
Тип файла: rar Source.rar (23.5 Кб, 20 просмотров)
2
 Аватар для deathNC
1905 / 1016 / 123
Регистрация: 08.12.2009
Сообщений: 2,792
Записей в блоге: 2
23.05.2011, 22:08
Завтра утром доделаю и дооптимизирую... а то там и вправду громоздкий код...
Надеюсь, диоды линиями не надо соединять? Чтобы цепь образовалась (эл.схема)

Добавлено через 16 секунд
Если да, то сразу скажи...
0
 Аватар для Pol Shon
13 / 13 / 6
Регистрация: 20.05.2011
Сообщений: 60
23.05.2011, 22:10  [ТС]
мы не программисты. мы сисадмины. Татьяне я помогу. Спасибо большое еще раз DeаthNC
0
0 / 0 / 0
Регистрация: 23.05.2011
Сообщений: 14
23.05.2011, 22:10
прочитав всё и посмотрев чувствую себя самым тупым человеком на свете((((((((((
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.05.2011, 22:10

Здр, пожалуйста попробуйте запутсить .exe написанное на делфи 10 у себя, те у кого делфи 7
и скиньте скрин пожалуйста срочно http://www.fayloobmennik.net/4874373 перед тес как запустить, создайте файлы: 1.txt, 2.txt и key.txt...

Как открыть doc в делфи? Или как можно написать огромный текст в делфи?
Думаю поймете. Я решил сделать сборник книг. И в Delphi добавил список книг (в виде кнопок) и при выборе я бы хотел открыть форму где был...

То что работает в Делфи 7 - не работает в Делфи 2010
Здравствуйте есть прога создана в Delphi 7. Хочу теперь ее скомпилировать в Делфи 2010. Но выходят ошибки уже при открытии файла...

нужно делфи связать с аксесом, Таблица "Table1" работает в делфи, а мне нужно "Table2"
Вообщем нужно делфи связать с аксесом, Таблица "Table1" работает в делфи, а мне нужно "Table2" сможете помочь?? Думаю дело в...

"Делфи" vs. "Делфи для начинающих" )
Добрый день. Интересует такой вопрос: для чего разделение на "Делфи" и "Делфи для начинающих". В раздел "Делфи" по сути мало...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru