Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.10.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
АлексЧерных   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.54 MB
Время: 0.041 c
2-1159887167
lobach
2006-10-03 18:52
2006.10.22
Поиск по всему диску


2-1159952549
Галинка
2006-10-04 13:02
2006.10.22
Есть ли трансляторы с Си на Дельфи


15-1159503207
ZeroDivide
2006-09-29 08:13
2006.10.22
Command Line компиляторы для Турбо в готовы


15-1159459450
Footballer
2006-09-28 20:04
2006.10.22
Siemens C65


2-1159824730
ABS
2006-10-03 01:32
2006.10.22
EAccessViolation





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский