−3
- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
1)
const
OUT_OF_BOUNDS:TPoint=(X:-1; Y:-1);
var
INT_OUT_OF_BOUNDS:Integer absolute OUT_OF_BOUNDS;
TargetForm.Perform(WM_LBUTTONUP,0,INT_OUT_OF_BOUNDS);
2)
const
ZERO_ZERO:TPoint=(X:0; Y:0);
var
INT_ZERO_ZERO:Integer absolute ZERO_ZERO;
TargetForm.Perform(WM_LBUTTONUP,0,INT_ZERO_ZERO);
3)
TargetForm.Perform(WM_LBUTTONUP,0,0);
Болею. Стояла задача воспроизвести системное меню. Но оказалось, что при клике на элемент фейкового системного меню, форме не посылается WM_LBUTTONUP и кнопка-иконка не перекрашивается в ненажатый вид. Решил перформить WM_LBUTTONUP прямо при клике, но туда нужно передавать координаты мышки куда был совершён клик в High(lParam) и Low(lParam). Сначала хотел передавать -1;-1 но подумал что передавать туда $FFFFFFFF как-то некрасиво, а прямое приведение типов а-ля Integer(Point(-1,-1)) оно у меня хавать не захотело, и поэтому красоты ради наговнокодил первый вариант кода. Потом подумал, а что если там только положительные значения, будет же 65535;65535 непорядок, лучше буду передавать нули. Впихнуть туда просто 0 сразу в голову не пришло (болею же, башка квадратная) и наговнокодил второй вариант.
Потом, конечно же, написал всё по нормальному.
Запостил:
KOTOM,
07 Января 2020
https://local.yandex.ru/vladikavkaz/iristonsky
Отчасти это навеяно переходящими из уст в уста рассказами о том, как коротали время пастухи и колхозники, в эпоху славного СССР: ножки животного помещались за голенища сапог - таким образом, оно было лишено возможности убежать или сопротивляться. С трудом верится, что оскорблённые таким образом начала были с корнем вырваны; нет, этого не было. Они дали жизнь новым поколениям, среди которых, быть может, и вы. Меньше пафоса, господа.
Просто задумайтесь: если человек всю жизнь был негодяем - спишет старость его пригрешения?
Посмотрите только, во что превратились наши национальные праздники, где зачастую пожилые, уважаемые люди перебрав с алкоголем демонстрируют недостойное поведение. Особенно я ненавижу праздник Уастырджи. В эти дни я ухожу из дома, чтобы не слышать пьяных криков.
Наверняка среди читателей моего поста найдутся "огнедышашие драконы", возмущенные моими словами, в силу инерции не могущие сразу признать мою правоту. Для них отдельный вопрос, ответив на который они смогут оценить уровень своей образованности: господа, как по-Вашему, откуда в нашем родном языке взялось сочетание "джи"? Почему не Уас Георги, а Уастырджи?
Суровый Уас Георги вряд ли одобряет, что к нему обращается нетрезвый человек. Не потому ли дела в республике идут из рук вон плохо? И при всём этом у них ещё поворачивается язык обвинять молодежь. Даже Гастан Агнаев бессовестно лжёт, указывая, что в рощу святого Хетага (никакой он не святой, ну да Господь с ним) можно брать с собой алкоголь.
Можно написать ещё много-много слов, но это излишне.
Давайте отбросим лживые традиции и начнем строить новое общество - объективное, в котором нет места заплесневелым стереотипам.
?
Правда, немного жаль, что в отличие от систем с баном тут никак нельзя узнать, забанили ли тебя, читают ли, отвечают/плюсуют/минусуют вручную или скриптами. С другой стороны, если человек с адблоком в голове и профессиональным пофигизмом твои сообщения тупо пролистываешь, ты тоже ничего не узнаешь.
Блокировать файки бесполезно - я могу каждый день регать по десятку новых.
как же я сейчас зоорал!
Мало того, что путаешься в типах так ещё и про разделение памяти не слыхал.
Слово absolute служит для приведения типов. Итак, ты кастанул структуру в Pointer затем в Integer и скормил полученное значение функции... Отлично.
Структуры как и строки, имеют счетчик ссылок, который обнуляется, как только переменная выйдет за пределы видимости; после этого объект убивается. Можешь сам представить, что будет, если вариабле INT_OUT_OF_BOUNDS выйдет за приделы процедурыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы ыыыыыыы
А теперь вопрос на засыпку:
1. что случится с памятью на которую ссылается P, когда инструкция выйдет из метода?
Поскольку клок кода выдран из контекста, я верю, что всё работает как-то так:
procedure navoz;
var
P:TPoint;
begin
{что-то делаем...}
SendMessage(TargetForm.Handle, WM_LBUTTONUP, 0, lparam(Pointer(P)));
end;
Но вообще в делфи абсолютно все константы, даже локальные, находятся в памяти всегда (именно константы). Так что указатель на константу в любом случае тухлым быть не может.
Ох, лучше бы ты этого не говорил... Тебя говном закидают, ступай отсюда.
Вообще, я люблю делфи не только за интерфейсность, а и за то, что на нем кодят многие подростки. Появляется общая тема сперва для общения, потом... Ну, короче пару раз соснуть не пидорство.
И кстати, вы уверены, что координаты не могут быть отрицательные? Если два монитора, и вторичный расположен слева. Бывают программы, которые от этого глючат.
Это не стертор.
https://govnokod.ru/26050#comment519475
циМес
заМес
гудерМес
говноМес