Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Операции 
:(
    Опции темы
artsb
  Дата 24.11.2007, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Народ разъясните плиз для чего нужны и как пользоваться следующими операциями: << , >> , | , & , ^ .

Объясните, что и как здесь делает операция || :

Код

int Style;
Style=GetWindowLong(hWnd, GWL_STYLE);
Style=Style||WS_CAPTION;
Style=Style||WS_SYSMENU;
SetWindowLong(hWnd, GWL_STYLE, Style);



И такой вопросик:
Как можно изменить атрибуты файла (Только для чтения, Скрытый, Архивный, Системный)? Как програмно можно поменять расширение?

Спасибо!



--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ksili
Дата 24.11.2007, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(artsb @  24.11.2007,  14:11 Найти цитируемый пост)
<< , >> , | , & , ^

Это операторы, действующие на уровне бит.
<< и >> - побитовые сдвиги налево и направо.
Например: 
a = 11011011b
тогда a>>2 = 00110110. 
вместо сдвинутых битов ставятся нулевые биты
| - побитовое ИЛИ. Каждый бит результата будет результатом логического ИЛИ над соответствующими битами операндов
& - побитовое И
^ - пбитовое отрицание (НЕ). Вс бита операнда инвертируются.

но вообще это надо спрашивать не в Билдере, а в "C++ Общие вопросы"

|| - это не побитовое, а логическое ИЛИ (операнды воспрнимаются целиком, а не по битам)
В данном случае к текущему стилю добавляются стили WS_CAPTION и WS_SYSMENU вне зависимости от того, присутствовали они уже в текущем стиле или нет


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
volvo877
Дата 24.11.2007, 11:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 13
Всего: 116



Цитата(artsb @  24.11.2007,  09:11 Найти цитируемый пост)
что и как здесь делает операция || :

Совершенно непонятно, что она там делает... Ее там быть не должно. Должна быть побитовая операция, а не логическая...
PM MAIL   Вверх
ksili
Дата 24.11.2007, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



Цитата(volvo877 @  24.11.2007,  15:36 Найти цитируемый пост)
Должна быть побитовая операция, а не логическая

Верно. Я чё-то на автомате отписал...


--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
artsb
Дата 24.11.2007, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Вообще, я знаю как эти операции называются и всё такое. Но в книге они практически не описаны. Я бы хотел узнать, где они могут пригодиться.


Цитата(ksili @  24.11.2007,  11:13 Найти цитируемый пост)
В данном случае к текущему стилю добавляются стили WS_CAPTION и WS_SYSMENU вне зависимости от того, присутствовали они уже в текущем стиле или нет


А в книге написано, что так отключаются свойства. Я не могу понять принцип их работы...

И по поводу этого:
Цитата(artsb @  24.11.2007,  10:11 Найти цитируемый пост)
Как можно изменить атрибуты файла (Только для чтения, Скрытый, Архивный, Системный)? Как програмно можно поменять расширение?


кто-нибудь, что-нибудь скажите плиз.


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
artsb
Дата 26.11.2007, 09:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Народ ну ответьте плиз. smile 


--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
ksili
Дата 26.11.2007, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2069
Регистрация: 3.11.2005
Где: Красноярск

Репутация: 1
Всего: 17



WS_CAPTION и WS_SYSMENU - это на самом деле просто константы. Например стиль выражается целым числом размером в байт. Пустой стиль - 00000000b, если записать его в двоичном формате. WS_CAPTION и WS_SYSMENU - это например 00000100b и 00010000b соответственно.
Пусть сначала стиль - пустой. Т.е. нет никокого форматирования. Тогда после
Код

Style=GetWindowLong(hWnd, GWL_STYLE);

Style = 00000000b
После
Код

Style=Style | WS_CAPTION;

Style = 00000100b 
А после
Код

Style=Style | WS_SYSMENU;

Style = 00010100b, т.е. здесь уже содержатся оба стиля

А потом записываем это число куда нужно



--------------------
Ничто так не развивает аналитическое мышление, как отладка сложной программы без возможности пошагового выполнения (с)
PM MAIL   Вверх
Fazil6
Дата 26.11.2007, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1653
Регистрация: 3.5.2006
Где: Минск

Репутация: 11
Всего: 60



PM MAIL   Вверх
artsb
Дата 26.11.2007, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2280
Регистрация: 17.7.2007
Где: центр Вселенной

Репутация: 39
Всего: 64



Всем спасибо.
Отдельное спасибо ksili, за то, что понятно объяснил(а).

А по поводу этого скажите что-нибудь.
Цитата(artsb @  24.11.2007,  10:11 Найти цитируемый пост)
Как можно изменить атрибуты файла (Только для чтения, Скрытый, Архивный, Системный)? Как програмно можно поменять расширение?




--------------------
Чем отличается умный человек от мудрого?
Умный - выпутается из любой ситуации.
Мудрый - просто в неё не попадёт.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.3331 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.