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

Помогите с двумя задачами для экзамена плиз

25.03.2008, 13:32. Показов 4384. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите с двумя задачами для экзамена плиз, 13 сделал осталось ещё две:

1. Создайте приложение, на форму которого помещены компоненты: Timer, Label и Edit. Напишите обработчик события OnTimer компонента Timer, который каждую секунду отображает с помощью компонента Label период времени (в формате ЧЧ:ММ:СС), прошедший с момента, указанного в компоненте Edit (также в формате ЧЧ:ММ:СС).[/FONT][/SIZE]

2.Создайте приложение, на форму которого помещены компоненты: Label —2 шт. Image — 1 шт. Напишите обработчик события OnMouseMove компонента Image, который отображает с помощью первого компонента Label координаты мыши, а с помощью второго компонента Label — цвет каждой составляющей (красной, синей, зелёной) пикселя в текущих координатах.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.03.2008, 13:32
Ответы с готовыми решениями:

ПОМОГИТЕ С ЗАДАЧАМИ
Я не в ладах с DELPHI, поэтому помогите чем можите 1)Известна длина окружности. Найти площадь...

Помогите с задачами!
1.06 Найти площадь равнобедренной трапеции с основаниями a и b и углом при большом осно-вании а....

Помогите с задачами в с++
1)даны вещественные положительные числа a,b,c. Если существует треугольник со сторонами a,b,c:...

Помогите с 2 задачами
Для меня они непонятны. 1)Найти элементы (и подсчитать их количество), которые не превосходят...

26
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 18:37 2
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
Label1.Caption:='x= '+IntTostr(x)+'y= ' +IntToStr(y);
end;
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 18:50 3
Вот тута все есть http://www.delphisources.ru/pa... games.html
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 19:36  [ТС] 4
А именно? Я первое задание сделал, как второе?
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 20:01 5
Ну координаты курсора ты получил. Теперь с цветом....

Вот такой вариант пробуй
Delphi
1
2
3
4
5
6
7
8
var
  DC: HDC;
  Color: Cardinal;
begin
  DC := CreateDC('MONITOR', nil, nil, nil);
  Color := GetPixel(DC, x, y);
  DeleteDC(DC);
end;
Вот про перевод цвета в RGB
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
begin
  case Variant of
    1:
      begin
        R := Lo(Color); {красный}
        G := Lo(Color shr 8); {зелёный}
        B := Lo((Color shr 8) shr 8); {синий}
      end;
    2:
      begin
        R := Color mod $100;
        G := Color div $100 mod $100;
        B := Color div $10000;
      end;
    3:
      begin
        R := Color and $FF;
        G := (Color and $FF00) shr 8;
        B := (Color and $FF0000) shr 16;
      end;
    4:
      begin
        R := GetRValue(ColorToRGB(Color));
        G := GetGValue(ColorToRGB(Color));
        B := GetBValue(ColorToRGB(Color));
      end;
  end;
end;
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 20:01 6
То есть выбирай из 3-х вариантов
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 20:05  [ТС] 7
Вот смотри у меня такой вот код:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
  Form1: TForm1;
  color:Tcolor;
  n,m,k:integer;
implementation
{$R *.dfm}
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin
If ssLeft in shift then
begin
Label1.Caption:=inttostr(x)+','+inttostr(y);
Color:=Image1.Canvas.Pixels[x,y];
Label2.Caption:=IntToStr(ColorToRGB(Image1.Canvas. Pixels[x,y]));
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Picture.LoadFromFile('6.bmp');
end;
end.
Что изменить? А то я запутался в том что ты написал, там вроде бы только в 16-ю систему цвет осталось перевести
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 21:08 8
Чтобы выделить составные RGB пишешь
Delphi
1
2
3
4
Label2.Caption:=
   IntToStr(GetRValue(ColorToRGB(Image1.Canvas. Pixels[x,y]))) +
   IntToStr(GetGValue(ColorToRGB(Image1.Canvas. Pixels[x,y]))) +
   IntToStr(GetBValue(ColorToRGB(Image1.Canvas. Pixels[x,y])));
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 21:10 9
И там пробелы поставь где плюсуется значение составляющих
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 21:13  [ТС] 10
Там число какоет-то странное получается. Так и должно быть?
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 21:16  [ТС] 11
В одном месте када тыкаешь 7 значное, в другом 9
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 21:19  [ТС] 12
Одно 7-значное, а другое- 9(когда тыкаешь в какое-нибудь место)
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 21:53 13
Там не число, а три числа показывают долю красного зеленого и синего, ты просто их раздели(пробелы поставь) или каждый в отдельный лебел выводи
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 21:53 14
Вообще имеешь представление об RGB??
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 21:59  [ТС] 15
Да, но не в программировании, а можно сделать наприме так:
Delphi
1
2
3
4
Label2.Caption:=
   'R' + IntToStr(GetRValue(ColorToRGB(Image1.Canvas. Pixels[x,y]))) +
   'G' + IntToStr(GetGValue(ColorToRGB(Image1.Canvas. Pixels[x,y]))) +
   'B' + IntToStr(GetBValue(ColorToRGB(Image1.Canvas. Pixels[x,y])));
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 21:59  [ТС] 16
??
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 22:02 17
А я тебе о чем?
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 22:04  [ТС] 18
Ну я просто поставил р г б перед выводом, и теперь пишет, например, р 255 г 255 и б 255, так и нужно да?
0
2 / 2 / 0
Регистрация: 26.03.2008
Сообщений: 40
26.03.2008, 22:10 19
Ну если курсор на чисто белом участке, то да. Для чисто черного будет 0 0 0
0
0 / 0 / 0
Регистрация: 25.03.2008
Сообщений: 15
26.03.2008, 22:12  [ТС] 20
Не ну так будет правильно да? Если да, то спасибо тебе за всё, а если нет, то что делать? И ещё раз БОЛЬШОЕ ТЕБЕ СПАСИБО
0
26.03.2008, 22:12
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.03.2008, 22:12
Помогаю со студенческими работами здесь

Помогите с задачами
1) Дано целое число, лежащие в диапазоне от -999 до 999. вывести строку-словесное описание данного...

Помогите с задачами
вот в увеличенном размере помогите решить задачи. буду благодарен

помогите с задачами
помогите пожалуйста решить две задачи по массивам я тут начал а дальше никак:( : 1 задача Даны...

Помогите с задачами
Здравствуйте, помогите пожалуйста написать программы. 1)составить программу обмена значениями двух...


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

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