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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 06.10.2007, 17:21
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
Печаль Помогите если не трудно

Нужно написать небольшую программу, а как не знаю.

Условие:
На форме установлена метка Label1 и кнопка Button1. Вывести в метку растояние в мм. между курсором мыши и центром кнопки Butto1 в момент нажатия кнопки мыши.
Ответить с цитированием
  #2  
Старый 06.10.2007, 17:52
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Может быть и в пикселях сойдет?
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
  #3  
Старый 07.10.2007, 02:52
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var x: integer;
begin
x:= Form1.Left + Button1.Left + (Button1.Width div 2) +
    Form1.BorderWidth + (Form1.Width - Form1.ClientWidth) div 2;
x:= Mouse.CursorPos.X - x;
Label1.Caption:= IntToStr(x);
end;
Результат получишь в пикселях, а там делай че хошь, хоть в километры переводи но учти, что на разных мониторах пиксели разного размера (зависит от размера кинескопа).

З.Ы. Для визуального контроля создай Button2 и пропиши код:
Код:
procedure TForm1.Button2Click(Sender: TObject);
var TMP: TBitmap; x, y: integer;
begin
  x:= Button1.Left;
  y:= Button1.Top + Button1.Height;
  TMP:= TBitmap.Create;
  TMP.Height:= 10;
  TMP.Width:= Button1.Width;
  with TMP.Canvas do
    begin
    Brush.Style:= bsSolid;
    Brush.Color:= clRed;
    FillRect(Bounds(0,0,TMP.Width div 2,TMP.Height));
    Brush.Style:= bsSolid;
    Brush.Color:= clLime;
    FillRect(Bounds(TMP.Width div 2,0,TMP.Width,TMP.Height));
    end;
  Form1.Canvas.Draw(x,y,TMP);
  TMP.Free;
end;
Ответить с цитированием
  #4  
Старый 07.10.2007, 13:25
Аватар для Karsh
Karsh Karsh вне форума
Активный
 
Регистрация: 22.09.2007
Адрес: SPb
Сообщения: 228
Версия Delphi: 7, 2009, XE2
Репутация: 70
По умолчанию

Вот пример проги, кот. вычисляет координаты позиции курсора относительно центра кнопки (при нажатии на оную):
Вложения
Тип файла: zip Center_Button.zip (6.6 Кбайт, 9 просмотров)
Ответить с цитированием
  #5  
Старый 07.10.2007, 15:14
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию Спасибо

Спасибо что помогли!
Ответить с цитированием
  #6  
Старый 10.10.2007, 18:21
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Перерыл много информации а так и не нашол скольки пикселям будет равен 1 мм. Если не трудно может кто подскажет.
Ответить с цитированием
  #7  
Старый 10.10.2007, 18:29
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию Заработок

Если у Вас есть не много времени не откажите и помогите оплата правда символическая всего 300 р. Больше нету.

Необходимо решить ниже данные задачи и выслать их вместе с исходниками ко мне на E-mail: Comp-1984@yandex.ru

1. На форме установлена метка Label1 и кнопка Button1. Вывести в метку расстояние в мм. между курсором мыши и центром кнопки Button1 в момент нажатия кнопки мыши.
2. Написать программу для кодирования и декодирования текстового файла с помощью слова-пароля.
3. Создать проект, в котором моделируется траектории движения снаряда при различных начальных углах и скоростях выстрела, возможно с нелинейностью (сопротивление пропорционально квадрату скорости с некоторым коэффициентом). Траектория движения определяется из задачи Коши для системы обыкновенных дифференциальных уравнений (уравнения движения материальной точки в поле тяжести). Интерфейс проекта должен позволять менять начальный угол траектории, начальную скорость полета, позволять выбирать модель полета и параметры модели.
4. Компонент «Многогранник».
5. Автомобиль проезжает по выпуклому мосту с заданной скоростью. Составить программу, иллюстрирующую изменение силы давления автомобиля на полотно дороги моста в зависимости от радиуса кривизны моста. Использовать законы механики.

Оплату гарантирую. Расмотрю все предложения.
Ответить с цитированием
  #8  
Старый 10.10.2007, 18:29
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

И не найдешь, т.к. все зависит от
1) Типа монитора (ЖК, ЭЛТ, тип трубки, матрицы)
2) Разрешения
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #9  
Старый 10.10.2007, 18:32
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию

Ну есть наверное какието способы по поиску колличества пикселей. Ну типа формулы или функции!
Ответить с цитированием
  #10  
Старый 10.10.2007, 18:45
Аватар для zip000
zip000 zip000 вне форума
Начинающий
 
Регистрация: 24.07.2007
Сообщения: 194
Репутация: 25
По умолчанию

Дык количество пикселей найти не трудно, трудно перевести их в мм\см, т.к. пиксели бывают разные.
__________________
Не профи, но и не чайник . D6 - лучше не придумали. Пока.
Ответить с цитированием
  #11  
Старый 10.10.2007, 18:53
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Я знаю один тип - битые
__________________

Ответить с цитированием
  #12  
Старый 10.10.2007, 18:56
Аватар для moo2k
moo2k moo2k вне форума
Активный
 
Регистрация: 05.12.2006
Адрес: где-то там...
Сообщения: 321
Репутация: 35
По умолчанию

Посмотри на сайте там были исходники проги кодирования и декодирования текстового файла с помощью слова-пароля.
__________________
Программирование - это искусство и наш смысл жизни.
Ответить с цитированием
  #13  
Старый 11.10.2007, 12:22
AlexSku AlexSku вне форума
Специалист
 
Регистрация: 07.05.2007
Адрес: Москва
Сообщения: 884
Репутация: 21699
По умолчанию

У формы (TForm), а также у переменной Screen есть свойство PixelsPerInch (например, 120 или 96), т.е. пикселы делим на этот коэффициент и получаем размер в дюймах (25,4 мм). В справке, правда, говорится, что этот размер совпадает с вертикальным, но может отличаться от горизонтального. Вспоминая, как я менял размеры экрана и подкручивал настройку ЭЛТ-монитора для подгонки изображения под максимум, получается, что есть погрешность, поэтому в справке и написано, что это- логические дюймы. Но если это не принципиально, то такой погрешностью можно принебречь.
Ответить с цитированием
  #14  
Старый 11.10.2007, 19:54
Comp-1984 Comp-1984 вне форума
Прохожий
 
Регистрация: 06.10.2007
Сообщения: 22
Репутация: 10
По умолчанию Формула.

А формулу по поиску написать можешь? Если не трудно.
Ответить с цитированием
  #15  
Старый 12.10.2007, 11:59
Аватар для The Shadow
The Shadow The Shadow вне форума
Продвинутый
 
Регистрация: 11.06.2007
Адрес: Уфа, Россия
Сообщения: 793
Репутация: 35
По умолчанию

Как я понял:
Код:
Screen.Width/Screen.PixelsPerInch*25.4; //Ширина в мм
Screen.HeightWidth/Screen.PixelsPerInch*25.4; //Высота в мм
__________________
Что делать, когда сломался комп:
1. Если вы юзер - делать ноги.
2. Если ремонтник - делать деньги.
3. Если вы программист - делать вид, что так было задумано.
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter