Для тех ,кто решил зарегистрироваться на форуме «Беседка» !
Категорически запрещена регистрация  с одноразового и временного e-mail !Такие пользователи будут отправляться в бан без объяснения причин.
После регистрации необходимо активировать свою учетную запись .Если Вы в почте не обнаружили письмо с активацией рекомендуется проверить папку «Спам».
С уважением
 Администрация форума

Автор Тема: Язык Pascal в среде Delphi  (Прочитано 41833 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Язык Pascal в среде Delphi
« : 28 Декабря 2012, 14:12 »
Меня попросили помочь с лабораторными работами по информатике.
Однако сам я Делфи почти не знаю. Буду разбираться сам и выкладывать в этой теме - вдруг ещё кому понадобится...

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


Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #1 : 28 Декабря 2012, 14:17 »
Создаем простейший калькулятор...

(открыть/скрыть)

Код программы...

procedure TForm1.Button1Click(Sender: TObject);

 var              // объявляем переменные
  var1 : integer; // содержимое первого поля
  var2 : integer; // содержимое второго поля
  var3 : integer; // содержимое третьего поля

  begin

  // Получаем исходные данные из полей ввода
  var1 := StrToint(Edit1.Text);
  var2 := StrToint(Edit2.Text);

  // Вычисляем
  var3 := var1 + var2;

  // Выдаем результат
  Edit3.Text := IntToStr(var3);

end;

Проверил - работает. :yu:

(открыть/скрыть)

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #2 : 28 Декабря 2012, 14:22 »
Закончил разбираться с лабораторками... Не всё до конца получилось, но чем смог, тем помог.
Теперь решил разобрать каждую лабу по пунктам.

Вот первое задание:

Цитата
1. Создайте новый проект и сохраните его в отдельной папке с названием «Лаб. раб.1» .
2. Используя Обозреватель объектов (Object Inspector):
 - Изменить Заголовок формы с помощью свойства Caption ( Заголовок должен содержать номер лабораторной работы и вариант задания.)
 - Установить размер клиентской области Формы (согласно варианту задания), используя свойства ClientWidth и  ClientHeight.
 - Изменить цвет формы (свойство Color).
3. На вкладке События (Events) выбрать нужное событие, сделать в его поле двойной клик мышью и вписать в обработчик события соответствующую команду:
 - Событие OnCreate: добавить в заголовок формы  №группы и ФИО студента;
 - Запрограммируйте событие OnMouseMove: при движении мыши форма перекрашивается в другой цвет.
 - Событие OnClick: изменить положение формы на экране (свойства Left и Top).
 - Поставить на форму кнопку Button1 и используя  событие OnClick  изменить размеры  формы (свойства Width и  Height).

С созданием нового проекта особых сложностей быть не должно. Для этого создаем папку и соответственно её обзываем (например, как требуют в задании «Лаб. раб.1») Затем запускаем среду Delphi 7.  При старте она создаст новый пустой проект. Не сделав ни единого движения сразу сохраняем наш проект в предварительно подготовленную папку.
(открыть/скрыть)
Далее нам требуется изменить заголовок формы. Нет ничего проще. Выделяем в инспекторе объектов форму, ищем её свойство Caption и меняем значение на нужное нам. Результат сразу видим - название формы сменилось.
(открыть/скрыть)
Затем нас просят сменить размеры клиентской области и цвет формы. Всё это делается аналогично через правку свойств формы ClientWidth  ClientHeight и Color
(открыть/скрыть)
С этого момента становтся веселее. До этого мы сами меняли свойства - теперь заставим это делать программу. Нас просят в обработчик события OnCreate вписать команду, дописывающую к названию формы имя студента. Тут нужно пояснить, что такое обработчик события OnCreate. Когда программа запускается, она создает форму (говоря по простому видимую часть интерфейса). Как только форма создана - генерируется событие OnCreate. Для реакции на это событие может быть записан обработчик - набор команд, которые будут выполняться. Вот именно это нам и предстоит сделать - записать команду, изменяющую заголовок формы сразу после её создания. Сначала покажу как это делается а потом ещё немного поясню.
(открыть/скрыть)
Для пояснения что мы сделали приведу как читается эта команда и что означают её компоненты:

гости не могут видеть изображения , пожалуйста зарегистрируйтесь или авторизуйтесь


Продолжение следует...

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #3 : 30 Декабря 2012, 22:16 »
Я говорила о калькуляторе,так,думаю,что надо делать текстовое поле-Edit и метку-Label,а также придется вводить функционал,а вот как это осуществить,надо думать.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #4 : 30 Декабря 2012, 23:01 »
Вот, выдрал с прошлого форума.

Для реализации сложения двух чисел нам нужно где-то эти числа сначала ввести. Но так как мы решили приближаться к функционалу привычных калькуляторов, то поле для ввода у нас будет только одно.

На самом деле это не страшно. Поступим следующим образом. Для хранения второго числа просто объявим в программе переменную, например registr Таким образом операция сложения у нас будет выполняться между содержимым поля Edit1 и переменной registr

Далее... Поле Edit1 мы заполняем без проблем, а вот как заполнять данными переменную registr вопрос интересный. Первое что приходит на ум - вводим первое число, нажимаем кнопку действия и потом вводим второе число, после чего жмем равно. Т.е. по факту нажатия на кнопку действия мы должны скопировать данные из поля Edit1 и сохранить их в переменной registr после чего поле Edit1 очистить, записав туда пустую строку. После этого вводим второе число и нажимаем кнопку равно - функция считает результат и выводит его в поле Edit1

Я сделал такую программу для простоты пока только для целых чисел. Она умеет только складывать и сбрасывать данные. Причем она будет складывать всегда, а кнопка минус вообще пока не задействована.

гости не могут видеть изображения , пожалуйста зарегистрируйтесь или авторизуйтесь



Вот код программы
(открыть/скрыть)

Файл проекта приложил к посту.

Попробуйте доработать проект научив её ещё и вычитать.

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #5 : 30 Декабря 2012, 23:47 »
технарь, я хочу Label,где бы было отображено число и конечный результат.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #6 : 31 Декабря 2012, 00:14 »
Вот что получилось...

гости не могут видеть изображения , пожалуйста зарегистрируйтесь или авторизуйтесь



Изменения коснулись двух функций

(открыть/скрыть)

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #7 : 03 Января 2013, 01:12 »
Olga
Продолжать то будем, или надоело?

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #8 : 03 Января 2013, 02:16 »
После праздников.Т.е. завтра.  :smile:

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #9 : 03 Января 2013, 20:14 »
Вот пытаюсь создать свой калькулятор

[attach=1]

(открыть/скрыть)

Выдает ошибку.Я не знаю,могу ли я все арифметические действия вывести в одной строчке через запятую?

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #10 : 03 Января 2013, 21:57 »
В последней строке сразу вижу совершенно неверную запись.
Label1.Caption:=FloatToStr(Registr +,-,*,/ StrToFloat(Edit1.Text));

Olga, я же не просто так предложил вам доработать мой проект добавив туда только возможность  вычитания и не более. :n:
Задача не так тривиальна, как вам кажется.
И я чувствую что с одним окном ввода у нас пока ничего не получится.

Упростим задачу. Делаем на форме два объекта Edit и один объект Label - первые два для ввода чисел, а последнее для вывода результата. Кнопку "Равно" убираем.
Объявление переменной Registr то же убираем - при таком раскладе оно нам не нужно. Но для максимального упрощения программы добавим три новых переменных X1, X2 и Y для хранения чисел ввода и результата соответственно.

Получилось как то так...

гости не могут видеть изображения , пожалуйста зарегистрируйтесь или авторизуйтесь



Исходный код:
(открыть/скрыть)

Файлы проекта во вложении. Скачайте и попробуйте дописать обработку остальных арифметических функций. Сложностей вызвать не  должно...

Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #11 : 04 Января 2013, 01:57 »
Я немного даже не так хотела.Например складываем два числа 12+13,причем чтобы при вводе первого числа-оно отображалось в LabelА поле ввода-Edit1.Text-очищалось,дальше -сложение и результат тоже отображался в этом же Label,и этот результат сделать промежуточным,чтобы делать другие арифметические действия. И только конечный результат должен выводиться при нажатии кнопки "=",все промежуточные результаты и окончательный результат выводились в Label.Но вот думаю,что без функционала не обойтись.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #12 : 04 Января 2013, 02:04 »
Да бога ради - можно и так как вы предложили, но давайте пока начнем с малого.
Я хочу убедиться, что вы действительно понимаете, что делаете.

Скачайте мой архив и сделайте, что бы работали все кнопки.

гости не могут видеть изображения , пожалуйста зарегистрируйтесь или авторизуйтесь


Оффлайн Olga

  • *
  • Сообщений: 236
  • Пол: Женский
  • Имя : Ольга

Re: Язык Pascal в среде Delphi 7
« Ответ #13 : 04 Января 2013, 03:03 »
Да вот со сложением работает без проблем

[attach=1]

(открыть/скрыть)

Правда вместо Label сделала Edit2.Text,но это в принципе и не критично.Можно сделать сброс и отдельно сделать вычитание.Надо пожалуй попробовать по другому сделать.

Оффлайн технарь

  • *
  • Сообщений: 12704
  • Пол: Мужской
  • Имя : Владимир

Re: Язык Pascal в среде Delphi 7
« Ответ #14 : 04 Января 2013, 03:16 »
Надо пожалуй попробовать по другому сделать.
Да подождите вы пробовать. Не получится у вас ничего - сложно это пока.
Мой проект поправьте! Заставьте все кнопки работать!