Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.20;
Скачать: CL | DM;

Вниз

Процентное соотношение   Найти похожие ветки 

 
Bad mathematics   (2006-07-29 23:48) [0]

Привет всем! Чего-то несоображу никак, как расчитать позицию первого трэкбара...
Т.е. есть два трэк бара у одного (первый) максимальное значени всегда 255 у воторого оно может менятся. Мне нужно при смене позиции у второго, менять позицию первого относительно второго. Ну т.е. если у второго макс. значение 500(750)(два разных значения просто для примера) то
при положении второго на нуле - у первого тоже должно быть ноль
при положении второго на 500(750) - первый на 255(максимуме)
соответственно при положении второго на 250(375) - первый на 127...
Знаю что просто но чего то несоображу... да еще и математика хромает:(


 
Германн ©   (2006-07-30 00:42) [1]


> Bad mathematics   (29.07.06 23:48)


Ложись-ка ты спать. Завтра утром, на свежую голову сам автоматом напишешь. Ё-мое, просто глупо давать подсказки по вопросу, которому учат даже не в школе, а в подготовительной группе детского сада!

P.S.
Хотя на "выпускных" экзаменах в 9-том классе моей дщери половина учеников не справилась с элементарной задачей "о процентах"! К сожалению и моя "отпрыска" тоже. Посыпал голову пеплом. Но тут уже приходят мысли об "америниканизации" нашей школы. Увы. :-(
P.P.S.
Про "америниканизацию" навеяно одним из лучших, по моему мнению, романов Хайнлайна из серии для юношества - "Have spacesuit - will travel"


 
Bad mathematics   (2006-07-30 00:49) [2]

Это не ответ...
Говорю - с математикой туго....
Спать рано еще. Тем более завтра выходной, а у нас погода не ахти, так, что...
Будте добры, подскажите элементарную вещь...
Али тоже незнаем простого? :)
Ну несоображу никак, цифры путаются...


 
Bad mathematics   (2006-07-30 00:54) [3]

5$ "дам" :)


 
TForm   (2006-07-30 00:56) [4]

У меня получается это, только как то через жо.., длинно и некрасиво...
И НЕ правильно...


 
Германн ©   (2006-07-30 01:08) [5]

TrBar1.Position:=(TrBar1.Max-TrBar1.Min)*(TrBar2.Position/(TrBar2.Max-TrBar2.Min)))+TrBar1.Min;


 
Bad mathematics   (2006-07-30 01:09) [6]

Ну что, никто незнает? или вредничаете...


 
Bad mathematics   (2006-07-30 01:10) [7]

> [5] Германн ©   (30.07.06 01:08)

Спасибо Германн ©, сейчас попробую....


 
Германн ©   (2006-07-30 01:10) [8]

Блин! очепятка!
Правильно
TrBar1.Position:=(TrBar1.Max-TrBar1.Min)*(TrBar2.Position/(TrBar2.Max-TrBar2.Min))+TrBar1.Min;


 
Bad mathematics   (2006-07-30 01:26) [9]

> [5] Германн ©   (30.07.06 01:08)
> TrBar1.Position:=(TrBar1.Max-TrBar1.Min)*(TrBar2.Position/(TrBar2.Max-
> TrBar2.Min)))+TrBar1.Min;

Не правильно Германн...
Смысл (TrBar1.Max-TrBar1.Min)???? = TrBar1.Max так, как мин=0
А здесь (Trunc(TrBar2.Position/(TrBar2.Max-TrBar2.Min)))+TrBar1.Min; получается TrBar2.Position/TrBar2.Max ??????
в итоге TrBar1.Max*TrBar2.Position/TrBar2.Max ????????????
Не то....


 
TForm   (2006-07-30 01:26) [10]

> [8] Германн ©   (30.07.06 01:10)

Тоже самое


 
Bad mathematics   (2006-07-30 01:30) [11]

> [8] Германн ©   (30.07.06 01:10)
> Блин! очепятка!
> Правильно
> TrBar1.Position:=(TrBar1.Max-TrBar1.Min)*(TrBar2.Position/(TrBar2.Max-
> TrBar2.Min))+TrBar1.Min;

Здесь собственно ничего и не поменялось... скобка убралась:)) лишняя
а она и не лишняя, она для Trunc( :)))
Мож как просто формулу (расчета) привести... а там мож дапетрю.


 
Германн ©   (2006-07-30 01:42) [12]


> Здесь собственно ничего и не поменялось... скобка убралась:
> )) лишняя
> а она и не лишняя, она для Trunc( :)))
> Мож как просто формулу (расчета) привести... а там мож дапетрю.
>

Ну да. Скобка одна лишняя.
А чем эта строка отличается от "просто формулы"? Тем что нет обычных для "формул" XYZ ?
Или тем что нет Round? Что, кстати, более правильно в сей ситуации, чем Trunc!


 
Zeqfreed ©   (2006-07-30 01:49) [13]

Составляем пропорцию:
TrackBar1.Max = TrackBar2.Max
TrackBar1.Position = TrackBar2.Position

Отсюда:
TrackBar2.Position = (TrackBar1.Position * TrackBar2.Max) div TrackBar1.Max;

Пропорции, вроде, в шестом классе проходят.


 
Bad mathematics   (2006-07-30 01:56) [14]

> [13] Zeqfreed ©   (30.07.06 01:49)

Вот оно то самое что надо! СПАСИБО большое.
>Пропорции, вроде, в шестом классе проходят.
Ой... давно это было... забыл уже все.


 
Bad mathematics   (2006-07-30 01:59) [15]

> [12] Германн ©   (30.07.06 01:42)

Zeqfreed © (30.07.06 01:49) и XYZ"ов меньше (я имею ввиду код проще, короче и понятней) и объяснил немного... не в обиду:)


 
Германн ©   (2006-07-30 02:00) [16]


> Zeqfreed ©   (30.07.06 01:49) [13]
>
> Составляем пропорцию:
> TrackBar1.Max = TrackBar2.Max
> TrackBar1.Position = TrackBar2.Position
>

А TrackBar?.Min кто будет учитывать? Гоголь?


> Пропорции, вроде, в шестом классе проходят.
>

Не знаю про пропорции, а  про проценты я уже писАл.
См. [1]


 
Zeqfreed ©   (2006-07-30 02:04) [17]

> [16] Германн ©   (30.07.06 02:00)

Ну во-первых, я не вижу смысла устанавливать свойство Min трекбара в отличное от нуля значение.
Во-вторых, в [0] явно написано, что нижняя граница — нуль.
В-третьих, чем обязан такому тону? Да, действительно, в общем случае надо учитывать Min, но это оставим в качестве домашнего задания нашим читателям.


 
Германн ©   (2006-07-30 02:21) [18]


> Zeqfreed ©   (30.07.06 02:04) [17]
>
> > [16] Германн ©   (30.07.06 02:00)
>
> Ну во-первых, я не вижу смысла устанавливать свойство Min
> трекбара в отличное от нуля значение.
А вот я не хочу слушать первый трэк! Хочу начать со второго! И чтоб мне ТрэкБар правильно это отобразил.

> Во-вторых, в [0] явно написано, что нижняя граница — нуль.
>
Не. Там написано "при положении на нуле"! А про ТрэкБар.min = 0 ни слова.

> В-третьих, чем обязан такому тону? Да, действительно, в
> общем случае надо учитывать Min, но это оставим в качестве
> домашнего задания нашим читателям.


Плиз ещё раз помедленнее! Где именно и какой именно "тон" у Вас вызвал "неадекваную" реакцию?
Может быть "Гоголь"?


 
Zeqfreed ©   (2006-07-30 02:29) [19]

> [18] Германн ©   (30.07.06 02:21)


> А вот я не хочу слушать первый трэк! Хочу начать со второго!
> И чтоб мне ТрэкБар правильно это отобразил.

М-м… Количество рисок и положение бегунка на определенной риске достигается и при нулевой нижней границе. Мне кажется, что трекбар больше предназначен для управления, а не для отображения. Хотя, конечно, это сугубо моя точка зрения и я не настаиваю на её истинности.

> Не. Там написано "при положении на нуле"! А про ТрэкБар.min
> = 0 ни слова.

В общем-то да, но я это трактовал в 4 часа утра именно таким образом, и автор остался доволен :)

> Плиз ещё раз помедленнее! Где именно и какой именно "тон"
> у Вас вызвал "неадекваную" реакцию?
> Может быть "Гоголь"?

Угу, Гоголь меня больше всего смутил. Прошу прощения, если неправильно понял, просто это выражение почему-то трактовал как «наезд». И, думаю, не стоит ко мне обращаться на Вы, я это тоже могу неправильно понять :)


 
Германн ©   (2006-07-30 02:35) [20]


> Zeqfreed ©   (30.07.06 02:04) [17]
>
> > [16] Германн ©   (30.07.06 02:00)
>
> В-третьих, чем обязан такому тону?
Ну Если о Гоголе речь, извини. Не учёл, что не все на форуме знают "Республику ШКИД". :-(
Именно там Гоголь "ответственнен за всё" :-)


 
Германн ©   (2006-07-30 02:38) [21]


> Zeqfreed ©   (30.07.06 02:29) [19]
И, думаю, не стоит ко мне обращаться на Вы,
>  я это тоже могу неправильно понять :)

Учту Арём.


 
Германн ©   (2006-07-30 02:45) [22]

Извини.
Учту Артём.
Вот тут именно "очепятка". :-(
Хотя и не понимаю, что можно неправильно понять в обращении на Вы?


 
Zeqfreed ©   (2006-07-30 03:25) [23]

> [22] Германн ©   (30.07.06 02:45)


> Хотя и не понимаю, что можно неправильно понять в обращении
> на Вы?

Ну обычно когда начинаются «перепалки», то все друг друга на Вы называют, независимо от того, как называли до этого :)

P.S. Что-то связь с дельфимастером совсем барахлит :( Уже даже Google Web Accelerator не помогает.


 
Bad mathematics   (2006-07-30 03:39) [24]

> [16] Германн ©   (30.07.06 02:00)

Я рад что все мирно обошлось...
С Мин правильно заметил, хотя оно мне и всамом деле не надо, в 0 стоит.
Да и... не работает твоя "формула".... :(
TrBar1.Position:=(TrBar1.Max-TrBar1.Min)*(TrBar2.Position div (TrBar2.Max-TrBar2.Min))+TrBar1.Min;
Я вот тут поломал голову и вот че придумал:
TrBar1.Position:=(((TrBar2.Position-TrBar2.Min)*(TrBar1.Max-TrBar1.Min)) div (TrBar2.Max-TrBar2.Min))+TrBar1.Min;
Теперь и Мин учитывается :)....
P.S.: Полтора часа парился - хреново быть Bad mathematics :)))
СПАСИБО Zeqfreed © (30.07.06 01:49) и Германн © (30.07.06 02:00)



Страницы: 1 вся ветка

Текущий архив: 2006.08.20;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.043 c
2-1154335913
Destroyer
2006-07-31 12:51
2006.08.20
MS Outlook


3-1150283086
pooh
2006-06-14 15:04
2006.08.20
Ошибка при изменении записи в таблице


2-1153669159
AlexanderMS
2006-07-23 19:39
2006.08.20
Убрать отступ в Memo.


3-1150112567
Дмитрий_Б
2006-06-12 15:42
2006.08.20
Скрытие повторяющихся значений в Quick Report


2-1153952634
vain
2006-07-27 02:23
2006.08.20
Проект привык к dll