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

Вниз

Нужна помощь!!!   Найти похожие ветки 

 
АлексЧерных   (2006-10-05 11:20) [0]

Люди, помогите! На лабах препод задал задачу. Сделать не возможно. Помогите. Вот текст условия: При нажатии на кнопку текст надписи на ней становится наклонным, при повторном нажатии - снова обычным. Можно пользоваться только присвоениемм. Использовать условный опрератор НЕЛЬЗЯ. Помогите.


 
clickmaker ©   (2006-10-05 11:21) [1]


> Использовать условный опрератор НЕЛЬЗЯ

а он тебе нужен там?


 
АлексЧерных   (2006-10-05 11:25) [2]

А как же сделать??? Можно привести пример кода, плиз


 
clickmaker ©   (2006-10-05 11:32) [3]

Ну а как бы ты сделал с условием?


 
TUser ©   (2006-10-05 11:32) [4]

Угол := 0;

При клике

Угол := (Угол + A) mod (A * 2); // наприм, А = 45 градусов
Нарисовать надписть под вычисленным углом


 
Плохиш ©   (2006-10-05 11:32) [5]

font.style + [fsItalic]
font.style - [fsItalic]


 
TUser ©   (2006-10-05 11:33) [6]

> Плохиш ©   (05.10.06 11:32) [5]

Опс, я думал, что текст надо на канве нарисовать по наклонной линии.


 
Плохиш ©   (2006-10-05 11:37) [7]


> TUser ©   (05.10.06 11:33) [6]
> > Плохиш ©   (05.10.06 11:32) [5]
>
> Опс, я думал, что текст надо на канве нарисовать по наклонной
> линии.

С такими знаниями и на лабе, я рыдал... :-)


 
ЮЮ ©   (2006-10-05 11:40) [8]


> Плохиш ©   (05.10.06 11:32) [5]
font.style + [fsItalic]
font.style - [fsItalic]

И что, это решит задачу?


 
clickmaker ©   (2006-10-05 11:42) [9]


> АлексЧерных   (05.10.06 11:20)

и можно только одно присваивание сделать? Или неограниченно?


 
Плохиш ©   (2006-10-05 11:42) [10]


> ЮЮ ©   (05.10.06 11:40) [8]

Всё зависит от того какую кнопку он выберет.


 
clickmaker ©   (2006-10-05 11:44) [11]

На самом деле задача решается с одной кнопкой и в 4 присваивания. Без единого if


 
ЮЮ ©   (2006-10-05 11:46) [12]


> clickmaker ©   (05.10.06 11:44) [11]


Вот решение и найдно. По окрнчании лабов, clickmaker, надеюсь, покажет решение :)


 
sniknik ©   (2006-10-05 11:51) [13]

> На самом деле задача решается с одной кнопкой и в 4 присваивания. Без единого if
в одно


 
sniknik ©   (2006-10-05 11:53) [14]

а когда лабы кончаются? не хочу учителю "воспитательный" процесс портить. ;о))


 
han_malign ©   (2006-10-05 11:53) [15]


> На самом деле задача решается с одной кнопкой и в 4 присваивания.
>  Без единого if

эээ - а операциями можно пользоваться? тогда (:=, -, +, -) - присваивание одно...


 
han_malign ©   (2006-10-05 11:58) [16]


> в одно

- без операций - три(и одно в самом начале - можно не считать, т.к. оговорена только реакция на кнопку)


 
han_malign ©   (2006-10-05 12:01) [17]

а еще можно классическим массивом с булевым индексом - хотя я бы, на месте преподавателя, посчитал это неявным if-ом...


 
clickmaker ©   (2006-10-05 12:09) [18]

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


 
Плохиш ©   (2006-10-05 12:09) [19]


> sniknik ©   (05.10.06 11:51) [13]

А мне твой вариант нравится :-)


 
Наиль ©   (2006-10-05 12:12) [20]

Очень часто использую:
procedure TForm1.Button1Click(Sender: TObject);
begin
 Button1.font.style:=Button1.font.style+[fsItalic]-Button1.font.style*[fsItalic];
end;


 
clickmaker ©   (2006-10-05 12:15) [21]


> [20] Наиль ©   (05.10.06 12:12)

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


 
oxffff ©   (2006-10-05 12:18) [22]

font.Style:=[fsItalic]-font.Style;


 
Наиль ©   (2006-10-05 12:18) [23]


> блин, всю малину испортил... надо было хоть дать подумать
> человеку

Возможно ещё придётся подумать.
Писал по памяти. Наверняка, не без ошибки.


 
oxffff ©   (2006-10-05 12:22) [24]

Я тоже подзабыл.
Возможно придется сделать через вентиль вызова(call gate) и бит гранулярности.
А также повысив свой IRQL с PASSIVE до DISPATCH.
Не забыв подкорректировать TSS.

:)


 
sniknik ©   (2006-10-05 12:29) [25]

oxffff ©   (05.10.06 12:18) [22]
все... препод поставит оценку незаслуженно...  ;о(

еще вариант
with TButton(Sender).Font do
 Style:= TFontStyles(Byte(Style) xor 2);


 
clickmaker ©   (2006-10-05 12:34) [26]

Однако здесь везде есть что-то кроме присваивания.
А кто скажет вариант ВООБЩЕ без любых операторов, кроме присвоения?


 
oxffff ©   (2006-10-05 12:41) [27]


> clickmaker ©   (05.10.06 12:34) [26]
> Однако здесь везде есть что-то кроме присваивания.
> А кто скажет вариант ВООБЩЕ без любых операторов, кроме
> присвоения?


Препод.


 
sniknik ©   (2006-10-05 12:42) [28]

> А кто скажет вариант ВООБЩЕ без любых операторов, кроме присвоения?
ты? ;о))


 
han_malign ©   (2006-10-05 12:43) [29]


> font.Style:=[fsItalic]-font.Style;

- а дотошный преподаватель поставит еще и, скажем, fsBold?

> А кто скажет вариант ВООБЩЕ без любых операторов, кроме присвоения?

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

Как вариант - вообще стили не трогать, а переключать флажок начинающийся на Parent... :)


 
clickmaker ©   (2006-10-05 12:43) [30]


> [28] sniknik ©   (05.10.06 12:42)

ну после [22], право, как-то неловко...


 
sniknik ©   (2006-10-05 12:49) [31]

с чего?

[22] кстати на 1 асемблерную команду больше чем [25] (их там 2! ;о)) а [25] одна хотя паскалевской писанины больше.


 
oxffff ©   (2006-10-05 12:49) [32]


> han_malign ©   (05.10.06 12:43) [29]
>
> > font.Style:=[fsItalic]-font.Style;
>
> - а дотошный преподаватель поставит еще и, скажем, fsBold?
>


Button1.Font.Style:=(Button1.Font.Style-[fsItalic])+([fsItalic]-Button1.Font.Style);


 
oxffff ©   (2006-10-05 12:55) [33]


> clickmaker ©   (05.10.06 12:34) [26]
> Однако здесь везде есть что-то кроме присваивания.
> А кто скажет вариант ВООБЩЕ без любых операторов, кроме
> присвоения?


Ждем вас Маэстро


 
clickmaker ©   (2006-10-05 12:59) [34]


> [33] oxffff ©   (05.10.06 12:55)

не, не буду позориться. Тем более, что так жестко наверно задача не стояла


 
han_malign ©   (2006-10-05 12:59) [35]


> Ждем вас Маэстро

- забава такая у гусаров была, не связанная с войной, вином и женщинами... :)


 
oxffff ©   (2006-10-05 13:06) [36]

han_malign ©  
> А кто скажет вариант ВООБЩЕ без любых операторов, кроме присвоения?
- тоже классически вариант, при этом альтернативный стиль может быть
произвольным, а не только одним флагом отличаться. Но т-с-сс...

Мне действительно сейчас в голову ничего не приходит.
Но очень интересно узнать как сделать исключительно одним оператором присваивания (без -,+,xor,not,and,or и ASM).

Прошу вас han_malign.


 
clickmaker ©   (2006-10-05 13:09) [37]


> одним оператором присваивания

четырьмя


 
han_malign ©   (2006-10-05 13:11) [38]

помимо гусаров, этим еще сверхзвуковые самолеты меряются... :)


 
oxffff ©   (2006-10-05 13:12) [39]

Ого. Прошу вас код в студию.


 
han_malign ©   (2006-10-05 13:13) [40]


> > одним оператором присваивания
> четырьмя

- конкретно в OnClick - тремя



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

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

Наверх




Память: 0.56 MB
Время: 0.035 c
15-1159434063
NailMan
2006-09-28 13:01
2006.10.22
Разыскивается описалово...


15-1159615411
Furyz
2006-09-30 15:23
2006.10.22
Windows Script


6-1148733267
Даша
2006-05-27 16:34
2006.10.22
Можно ли узнать местоположение абонента мегафон по компьютеру.


2-1160040129
dim2001
2006-10-05 13:22
2006.10.22
хвостовые пробелы


2-1159689059
lex85
2006-10-01 11:50
2006.10.22
Listview