Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 26.09.2012, 23:36
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию Вставить код

Здравствуйте, помогите заставить работать программу, все есть осталось вставить код, не хватает ума запустить готовое Курсовая с программой расположена по ссылке http://knowledge.allbest.ru/programm...421216c27.html
Ответить с цитированием
  #2  
Старый 26.09.2012, 23:41
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

У как запущено. Сюда выложить не судьба?
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #3  
Старый 27.09.2012, 00:02
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию

Документ много весит
Ответить с цитированием
  #4  
Старый 27.09.2012, 00:04
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

"Выдирайте" код и выкладывайте.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #5  
Старый 27.09.2012, 00:41
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию

Код:
Листинг программы создания главного окна

unit mag2;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Buttons, StdCtrls, Mask, ExtCtrls, Menus;
type
TForm1 = class(TForm)
Panel1: TPanel; //Панель, на которой размещены кнопки
Lb1: TLabel; //Метка, для вывода комментариев к программе
MEd1: TMaskEdit; //Поля с маской ввода - для заполнения квадрата
MEd2: TMaskEdit;
MEd3: TMaskEdit;
MEd4: TMaskEdit;
MEd5: TMaskEdit;
MEd6: TMaskEdit;
MEd7: TMaskEdit;
MEd8: TMaskEdit;
MEd9: TMaskEdit;
Button1: TButton; //Кнопка "Проверить"
BitBtn1: TBitBtn; //Кнопка "Close"
Button2: TButton; //Кнопка "Начать"
MainMenu1: TMainMenu; //Главное меню формы
Help1: TMenuItem; //Один пункт меню "Help"
N1: TMenuItem; //Пункт подменю "Магический квадрат"
N2: TMenuItem; //Пункт подменю "Правила игры"
procedure FormActivate(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCanResize(Sender: TObject; var NewWidth,
NewHeight: Integer; var Resize: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Bitmap:TBitmap; //фоновая картинка
implementation
uses dialog_mag, dialog_pravila;
var
x,y:integer; //х - начальное число, с которого заполняем таблицу,
//у - номер способа очистки клеток
z:boolean; //Индикатор правильности заполнения пользователем пустых клеток
{$R *.dfm}
procedure TForm1.FormPaint(Sender: TObject); //Процедура рисования фона формы
begin
Bitmap:=TBitmap.Create; //Создание объекта-битового образа
Bitmap.LoadFromFile('ris.bmp'); //Загрузка битового изображения из файла
Canvas.StretchDraw(Rect(0, 0, Form1.clientWidth, Form1.clientHeight),Bitmap);
//Рисование и заполнение формы рисунком Bitmap
end;
procedure TForm1.FormCanResize(Sender: TObject; var NewWidth, //Процедура,
 NewHeight: Integer; var Resize: Boolean); //запрещающая изменение размеров формы
begin
Resize:=false;
end;
procedure TForm1.FormActivate(Sender: TObject); //Активизация формы
begin
Caption:='Магический квадрат'; //Установить заголовок формы "Магический квадрат"
Button2.Show; //Показать кнопку "Начать"
Button1.Hide; //Спрятать кнопку "Проверить"
end;
procedure TForm1.Button2Click(Sender: TObject); //Обработка нажатия кнопки "Начать"
procedure zapolnenie(x,y:integer);//Процедура заполнения
begin
MEd1.ReadOnly:=false; //Очищаем поля ввода
MEd2.ReadOnly:=false;
MEd3.ReadOnly:=false;
MEd4.ReadOnly:=false;
MEd5.ReadOnly:=false;
MEd6.ReadOnly:=false;
MEd7.ReadOnly:=false;
MEd8.ReadOnly:=false;
MEd9.ReadOnly:=false;
MEd2.Text:=IntToStr(x); //Заполняем поля ввода числами,
MEd9.Text:=IntToStr(x+1); //которые преобразовываем
MEd4.Text:=IntToStr(x+2); //к строковому представлению
MEd7.Text:=IntToStr(x+3);
MEd5.Text:=IntToStr(x+4);
MEd3.Text:=IntToStr(x+5);
MEd6.Text:=IntToStr(x+6);
MEd1.Text:=IntToStr(x+7);
MEd8.Text:=IntToStr(x+8);
Case y of //Выбираем способ удаления значений некоторых клеток
0:begin
MEd4.Text:=''; MEd4.SetFocus; //Удаляем число из поля
MEd5.Text:=''; MEd5.SetFocus; //и передаем ему фокус ввода
MEd8.Text:=''; MEd8.SetFocus;
MEd9.Text:=''; MEd9.SetFocus;
MEd1.ReadOnly:=true; //Запрещаем ввод чисел и изменение остальных полей
MEd2.ReadOnly:=true;
MEd3.ReadOnly:=true;
MEd6.ReadOnly:=true;
MEd7.ReadOnly:=true;
end;
1:begin
MEd2.Text:=''; MEd2.SetFocus;
MEd5.Text:=''; MEd5.SetFocus;
MEd6.Text:=''; MEd6.SetFocus;
MEd8.Text:=''; MEd8.SetFocus;
MEd1.ReadOnly:=true;
MEd3.ReadOnly:=true;
MEd4.ReadOnly:=true;
MEd7.ReadOnly:=true;
MEd9.ReadOnly:=true;
end;
2:begin
MEd1.Text:=''; MEd1.SetFocus;
MEd2.Text:=''; MEd2.SetFocus;
MEd4.Text:=''; MEd4.SetFocus;
MEd6.Text:=''; MEd6.SetFocus;
MEd9.Text:=''; MEd9.SetFocus;
MEd3.ReadOnly:=true;
MEd5.ReadOnly:=true;
MEd7.ReadOnly:=true;
MEd8.ReadOnly:=true;
end;
3:begin
MEd3.Text:=''; MEd3.SetFocus;
MEd4.Text:=''; MEd4.SetFocus;
MEd6.Text:=''; MEd6.SetFocus;
MEd7.Text:=''; MEd7.SetFocus;
MEd8.Text:=''; MEd8.SetFocus;
MEd1.ReadOnly:=true;
MEd2.ReadOnly:=true;
MEd5.ReadOnly:=true;
MEd9.ReadOnly:=true;
end;
end;
Lb1.Caption:='Заполни пустые клетки магического квадрата';
//Появление соответствующей надписи в метке
Button1.Show; //Показать кнопку "Проверить"
Button2.Hide; //Спрятать кнопку "Начать"
end;
BEGIN
if z then //Проверка правильности вввода недостающих чисел
zapolnenie(x,y) //Заполнение "Попробуй еще раз" старыми значениями х и у
else //Заполняем в первый раз и при каждом правильном решении
begin
y:=random(4); //Выбираем случайным образом способ удаления значений полей
x:=Random(100); //Выбираем число, которым начинаем заполнение полей
zapolnenie(x,y); //заполняем квадрат
end;
end;
procedure TForm1.Button1Click(Sender: TObject); //Обработка нажатия кнопки "Проверить"
var s1,s2,s3,s4,s5,s6,s7,s8:integer; //Суммы в строках, столбцах, диагоналях
begin
try //Пробуем преобразовать в числовое представление значения полей
//и находим соответствующие суммы
s1:=StrToInt(Trim(MEd1.Text))+ StrToInt(Trim(MEd2.Text))+ StrToInt(Trim(MEd3.Text));
s2:=StrToInt(Trim(MEd4.Text))+ StrToInt(Trim(MEd5.Text))+ StrToInt(Trim(MEd6.Text));
s3:=StrToInt(Trim(MEd7.Text))+ StrToInt(Trim(MEd8.Text))+ StrToInt(Trim(MEd9.Text));
s4:=StrToInt(Trim(MEd1.Text))+ StrToInt(Trim(MEd4.Text))+ StrToInt(Trim(MEd7.Text));
s5:=StrToInt(Trim(MEd2.Text))+ StrToInt(Trim(MEd5.Text))+ StrToInt(Trim(MEd8.Text));
s6:=StrToInt(Trim(MEd3.Text))+ StrToInt(Trim(MEd6.Text))+ StrToInt(Trim(MEd9.Text));
s7:=StrToInt(Trim(MEd3.Text))+ StrToInt(Trim(MEd5.Text))+ StrToInt(Trim(MEd7.Text));
s8:=StrToInt(Trim(MEd1.Text))+ StrToInt(Trim(MEd5.Text))+ StrToInt(Trim(MEd9.Text));
If (s1=s2) and (s2=s3) and (s3=s4) and (s4=s5) and (s5=s6) and (s6=s7) and (s7=s8)
then //Если все суммы равны
begin Lb1.Caption:='Молодец! Все верно!' ; //Выводим в метке 
//соответствующую надпись
z:=false; //z определяет, что заполнение следующих значений квадрата
//нужно начать с новой генерации начального значения х и способа удаления у
Button2.Show; //Показать кнопку "Начать"
Button1.Hide; //Спрятать кнопку "Проверить"
end
else //Если хоть одна сумма отлична от других
begin
Lb1.Caption:='Попробуй еще раз'; //Выводим в метке соответствующую надпись
z:=true; //z определяет, что заполнение квадрата 
//нужно произвести старыми значениями х и у
Button2.Show; //Показать кнопку "Начать"
Button1.Hide; //Спрятать кнопку "Проверить"
end;
Except //Если преобразовать в числовое представление значения полей
// не удалось (какое-то поле осталось не заполнено)
MessageBeep(mb_Ok); //Звуковой сигнал
ShowMessage('Не все клетки заполнены!'); //Вывод окна сообщения
Exit; //Выход из процедуры
end;
end;
procedure TForm1.N1Click(Sender: TObject); //Выбор меню "Магический квадрат"
begin
OKBottomDlg.Show; //Показ диалогового окна "Магический квадрат"
end;
procedure TForm1.N2Click(Sender: TObject); //Выбор меню "Правила игры"
begin
OKBottomDlg1.Show; //Показ диалогового окна "Правила игры"
end;
end.

 
Листинг модуля вызова диалогового окна «Магический квадрат»

unit dialog_mag;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
Buttons, ExtCtrls, Grids;
type
TOKBottomDlg = class(TForm)
OKBtn: TButton; //Кнопка "ОК"
Bevel1: TBevel; //Кромка
Memo1: TMemo; //Текстовое поле
StringGrid1: TStringGrid; //Текстовая таблица
procedure OKBtnClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
OKBottomDlg: TOKBottomDlg;
Bitmap1:TBitmap; //фоновая картинка
StringGrid1:TStringGrid;
implementation
{$R *.dfm}
procedure TOKBottomDlg.FormPaint(Sender: TObject);//Процедура рисования фона формы
procedure zapoln;
begin
StringGrid1.Cells[0,0]:='8'; //Заполнение таблицы числами
StringGrid1.Cells[0,1]:='1';
StringGrid1.Cells[0,2]:='6';
StringGrid1.Cells[1,0]:='3';
StringGrid1.Cells[1,1]:='5';
StringGrid1.Cells[1,2]:='7';
StringGrid1.Cells[2,0]:='4';
StringGrid1.Cells[2,1]:='9';
StringGrid1.Cells[2,2]:='2';
end;
BEGIN
Bitmap1:=TBitmap.Create; //создание объекта-битового образа
Bitmap1.LoadFromFile('fon.bmp'); //Загрузка битового изображения из файла
Canvas.StretchDraw(Rect(0, 0, OKBottomDlg.clientWidth, OKBottomDlg.clientHeight),Bitmap1);
//Рисование и заполнение формы рисунком Bitmap
zapoln; //Вызов процедуры заполнения таблицы числами
end;
procedure TOKBottomDlg.OKBtnClick(Sender: TObject);
begin
OKBottomDlg.Close; //Закрытие окна по щелчку кнопки "OK"
end;
end.

 
Листинг модуля вызова диалогового окна «Правила игры»

unit dialog_pravila;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls, 
Buttons, ExtCtrls;
type
TOKBottomDlg1 = class(TForm)
OKBtn: TButton; //Кнопка "ОК"
Bevel1: TBevel; //Кромка
Memo1: TMemo; //Текстовое поле
procedure OKBtnClick(Sender: TObject);
procedure FormPaint(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
OKBottomDlg1: TOKBottomDlg1;
Bitmap2:TBitmap; //фоновая картинка
implementation
{$R *.dfm}
procedure TOKBottomDlg1.FormPaint(Sender: TObject);//Процедура рисования фона формы
begin
Bitmap2:=TBitmap.Create; //создание объекта-битового образа
//Загрузка битового изображения из файла
Bitmap2.LoadFromFile('fon.bmp');
Canvas.StretchDraw(Rect(0, 0, OKBottomDlg1.clientWidth, OKBottomDlg1.clientHeight),Bitmap2);
//Рисование и заполнение формы рисунком Bitmap
end;
procedure TOKBottomDlg1.OKBtnClick(Sender: TObject);
begin
OKBottomDlg1.Close; //Закрытие окна по щелчку кнопки "OK"
end;
end.
Ответить с цитированием
  #6  
Старый 27.09.2012, 00:55
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

И чего? Создаёте новый проект, кидаете на форму те контролы, что перечислены в коде, создаёте те события, что нужны для контролов и вставляете нужный код из приведённого здесь. Повторяете для второй формы. Не торопясь, за полчаса справитесь.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #7  
Старый 27.09.2012, 02:21
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,035
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

За такой код руки надо отрывать.
Ответить с цитированием
  #8  
Старый 27.09.2012, 02:23
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию

Это ещё что, а вот это просто "шедевр".
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием
  #9  
Старый 27.09.2012, 05:26
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Цитата:
Сообщение от lmikle
За такой код руки надо отрывать.
Ну а что же вы хотите от ученицы 8-го класса

Были бы dfm-файлы - восстановление проекта было бы тривиальной задачей. Впрочем и так никаких сложностей нет, да ещё и комментарии сильно помогают.
Ответить с цитированием
  #10  
Старый 27.09.2012, 11:50
robt robt вне форума
Активный
 
Регистрация: 17.02.2011
Сообщения: 298
Репутация: -1806
По умолчанию

Цитата:
Сообщение от poli-smen
Ну а что же вы хотите от ученицы 8-го класса
н г
Ответить с цитированием
  #11  
Старый 01.10.2012, 21:26
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию

что то у меня не получается ошибки всякие выдает
Ответить с цитированием
  #12  
Старый 01.10.2012, 21:42
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Экстрасенсы в отпуске.
Какие ошибки то?
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #13  
Старый 01.10.2012, 21:48
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию

Создала 3 формы, вставила код на ждую форму пытаюсь делать по инструкции, вылазит ошибка: Error in module dialog_mag: Declaration of class TForm2 is missing or incorect.
Ответить с цитированием
  #14  
Старый 01.10.2012, 22:18
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию

Теперь пишет [Error] mag2.pas(188): Undeclared identifier: 'Show'
Ответить с цитированием
  #15  
Старый 01.10.2012, 23:07
lenochka lenochka вне форума
Прохожий
 
Регистрация: 26.09.2012
Сообщения: 8
Репутация: 10
По умолчанию Файл

Приложила файл может кто поможет
Вложения
Тип файла: rar 1.rar (18.9 Кбайт, 3 просмотров)
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 13:48.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter