Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
15 / 16 / 15
Регистрация: 10.11.2017
Сообщений: 187
1

Сократить код программы Delphi

11.11.2017, 14:43. Показов 1000. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Я новичок в программировании, учусь писать программы на Дэлфи. Подскажите как можно сократить код моей программы?

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
181
182
183
184
185
186
187
188
189
unit Form_test;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, jpeg;
 
type
  TForm1 = class(TForm)
    ScrollBox1: TScrollBox;
    Image1: TImage;
    RadioGroup1: TRadioGroup;
    Image2: TImage;
    RadioGroup2: TRadioGroup;
    Image3: TImage;
    RadioGroup3: TRadioGroup;
    Image4: TImage;
    RadioGroup4: TRadioGroup;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Image5: TImage;
    RadioGroup5: TRadioGroup;
    Button4: TButton;
    Panel1: TPanel;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState;
      WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  ball:integer;
  type answers=array[1..5,0..2] of byte;
  const otv:answers=((0,1,0),(0,0,1),(0,1,0),(0,0,1),(0,1,0));
 
implementation
 
{$R *.dfm}
procedure TForm1.ScrollBox1MouseWheel(Sender: TObject; Shift: TShiftState;
  WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
begin
  with ScrollBox1.VertScrollBar do
   Position := Position - WheelDelta div 4;
 Handled := True;
end;
 
 
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if (RadioGroup1.ItemIndex=-1) or (RadioGroup2.ItemIndex=-1) or (RadioGroup3.ItemIndex=-1) or (RadioGroup4.ItemIndex=-1) or (RadioGroup5.ItemIndex=-1)
then
begin
showmessage('Ответьте на все вопросы!');
end
else
Panel1.Visible:=false;
ball:=otv[1,radiogroup1.ItemIndex]+
otv[2,radiogroup2.ItemIndex]+
otv[3,radiogroup3.ItemIndex]+
otv[4,radiogroup4.ItemIndex]+
otv[5,radiogroup5.ItemIndex];
label1.Caption:='Правильно ответил(а) на '+IntToStr(ball)+' из 5-ти вопросов.';
if ball=5 then
label2.Caption:='Молодец! Ты отлично разбираешь в этой сфере!'
else
if (ball=3) or (ball=4)
then
label2.Caption:='Неплохо! Ты достаточно опытный пользователь компьютера!'
else
if (ball=2) or (ball=1)
then
label2.Caption:='Новичок! У тебя все еще впереди и есть к чему стремиться!'
else
label2.Caption:='Чайник! Ты ответил неправильно на все вопросы, попробуй еще раз!';
 
end;
 
 
 
 
procedure TForm1.Button4Click(Sender: TObject);
begin
Image1.Picture.Graphic:= nil;
Image1.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/word.jpg');
Image1.Hint:='Microsoft Word';
RadioGroup1.Caption:='1) Microsoft Word это...';
RadioGroup1.Items.Clear;
RadioGroup1.Items.Add('Графический редактор');
RadioGroup1.Items.Add('Текстовый редактор');
RadioGroup1.Items.Add('Видео редактор');
Image2.Picture.Graphic:= nil;
Image2.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/5browser.jpg');
Image2.Hint:='Самые популярные браузеры';
RadioGroup2.Caption:='2) Что такое "браузер"?';
RadioGroup2.Items.Clear;
RadioGroup2.Items.Add('Антивирусная программа');
RadioGroup2.Items.Add('Сервер в Интернете');
RadioGroup2.Items.Add('Средство просмотра веб-страниц');
Image3.Picture.Graphic:= nil;
Image3.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/computer.jpg');
Image3.Hint:='Персональный компьютер';
RadioGroup3.Caption:='3) От чего зависит производительность ПК?';
RadioGroup3.Items.Clear;
RadioGroup3.Items.Add('От размера экрана');
RadioGroup3.Items.Add('От частоты процессора');
RadioGroup3.Items.Add('От скорости нажатия клавиш');
Image4.Picture.Graphic:= nil;
Image4.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/Internett.jpg');
RadioGroup4.Caption:='4) Какой тип подключения Internet работает быстрее?';
RadioGroup4.Items.Clear;
RadioGroup4.Items.Add('Беспроводной (Wi-fi)');
RadioGroup4.Items.Add('По телефонному каналу через модем');
RadioGroup4.Items.Add('Подключение по оптоволоконному каналу');
Image4.Hint:='Интернет';
Image5.Picture.Graphic:= nil;
Image5.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/virus.jpg');
Image5.Hint:='Компьютерный вирус';
RadioGroup5.Caption:='5) Как может произойти заражение ПК вирусом?';
RadioGroup5.Items.Clear;
RadioGroup5.Items.Add('При перезагрузке компьютера');
RadioGroup5.Items.Add('При скачивании музыки из интернета');
RadioGroup5.Items.Add('При печати на принтере');
Panel1.Visible:=true;
RadioGroup1.ItemIndex:=-1;
RadioGroup2.ItemIndex:=-1;
RadioGroup3.ItemIndex:=-1;
RadioGroup4.ItemIndex:=-1;
RadioGroup5.ItemIndex:=-1;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Image1.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/egipet.jpg');
Image1.Hint:='Египетские пирамиды';
RadioGroup1.Caption:='1) Где расположен Древний Египет:?';
RadioGroup1.Items.Clear;
RadioGroup1.Items.Add('Восток Африки');
RadioGroup1.Items.Add('Север Африки');
RadioGroup1.Items.Add('Юго-запад Африки');
Image2.Picture.Graphic:= nil;
Image2.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/marafon_b.jpg');
Image2.Hint:='Марафонская битва';
RadioGroup2.Caption:='2) Марафонская битва состоялась в:';
RadioGroup2.Items.Clear;
RadioGroup2.Items.Add('650 году до нашей эры');
RadioGroup2.Items.Add('900 году до нашей эры');
RadioGroup2.Items.Add('490 году до нашей эры');
Image3.Picture.Graphic:= nil;
Image3.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/Makedonskiy.jpg');
Image3.Hint:='Александр Македонский';
RadioGroup3.Caption:='3) Кто из  греческих ученых был воспитателем А. Македонского?';
RadioGroup3.Items.Clear;
RadioGroup3.Items.Add('Анаксагор');
RadioGroup3.Items.Add('Аристотель');
RadioGroup3.Items.Add('Геродот');
Image4.Picture.Graphic:= nil;
Image4.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/Rim.jpg');
Image4.Hint:='Древний Рим';
RadioGroup4.Caption:='4) Согласно легенде Рим был основан в:';
RadioGroup4.Items.Clear;
RadioGroup4.Items.Add('525 году до нашей эры');
RadioGroup4.Items.Add('776 году до нашей эры');
RadioGroup4.Items.Add('753 году до нашей эры');
Image5.Picture.Graphic:= nil;
Image5.Picture.LoadFromFile(ExtractFilePath(Application.Exename) + 'images/Spartak.jpeg');
Image5.Hint:='Гладиатор Спартак';
RadioGroup5.Caption:='5) Спартак был родом из:';
RadioGroup5.Items.Clear;
RadioGroup5.Items.Add('Дакии');
RadioGroup5.Items.Add('Фракии');
RadioGroup5.Items.Add('Галлии');
end;
 
end.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.11.2017, 14:43
Ответы с готовыми решениями:

Как сократить код программы?
Здравствуйте. Подскажите пожалуйста, как сократить код программы, чтобы не писать кучу...

Преобразовать код программы на Delphi
Subroutine PrintScreen(PaletC) ! 3 Implicit Integer *2 (A-Z) Character *1 PaletC(17)...

Есть код программы delphi, как запустить?
доброго времени суток. Есть два кода программы, написанных на дельфи (код программы я нашел в одном...

Типизированные файлы Delphi 7. Исправить код программы
Помогите пожалуйста разобраться с типизированными файлами! Есть программа: Я в ней использовал...

4
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
11.11.2017, 14:52 2
сохранить вопросы\ответы в текстовый файл
загружать только 1 вопрос
после ответа, загружать следующий

этот код "исправить" нельзя, его нужно весь переписать
0
15 / 16 / 15
Регистрация: 10.11.2017
Сообщений: 187
11.11.2017, 14:54  [ТС] 3
Если сделать в текстовый файл, самые хитрые ребята смогут узнать правильные ответы же.
0
4 / 4 / 1
Регистрация: 04.10.2014
Сообщений: 33
11.11.2017, 15:15 4
Лучший ответ Сообщение было отмечено Vyacheslav99 как решение

Решение

Тогда загружай с сервера и обрабатывай их, или записывай в БД, но при таком раскладе если хитрейшие захотят схитрить, они полезут в гугл, если даже исходник будет защищен или обработка будет на сервере, нету ограничения по времени
1
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
11.11.2017, 17:30 5
Vyacheslav99,
тогда шифруй файлы (txt,xml,json)
или
используй типизированные файлы
или
шару, а прогу запускай с правами
или
БД
или
из инета грузи или локального сервера
0
11.11.2017, 17:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2017, 17:30
Помогаю со студенческими работами здесь

Нужен код программы в Delphi (Console Application)
Нужен код программы в Delphi (Console Application) Написать программу вычисления функции:...

обращение к функции (есть код программы) Delphi 7
привет всем, участникам этого замечательного форума. помогите, пожалуйста, обратится к функции...

Двумерные массивы. Помогите исправить код программы Delphi.Консольный режим
Условие задачи: Поменяйте местами четные и нечетные колонки данного двумерного массива. выдает...

Сократить код
Приветствую всех) Помогите сократить код) if...

Сократить код
Сократите пожалуйста код, если это возможно, заранее спасибо! unit Unit1; interface uses ...

Сократить код
Есть кусок кода, он рабочий, хотелось бы сделать его компактнее. Вероятно case и массивы, но чёсь...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru