Gingercat

Пользователи
  • Публикации

    104
  • Зарегистрирован

  • Посещение

  • Days Won

    5

Gingercat last won the day on 11 января

Gingercat had the most liked content!

О Gingercat

  • Звание
    Продвинутый пользователь
  • День рождения 02.01.1974

Контакты

  • Сайт
    http://www.meowwrobot.ru/
  • Skype
    igor_yn1

Информация

  • Пол
    Мужчина
  • Город
    Запорожье

Посетители профиля

447 просмотров профиля
  1. ini

    Доброго вечера. Уж не помню в какой версии, но если мне память не изменят я когда то натыкался на аткой косяк. Ради спортивного интереса, перепишите строку проверку таким макаром int check = FileExists(path); if(check == 1) { // } я ПОНИМАЮ, что это бред, но попробовать то можно.
  2. Кто бы полную статью по этому делу написал, от получения до подписи, вот бы здорово было.
  3. Доброго дня, а в чем собственно проблема то? Для масштабирования заведите какую нибудь float m_scale = 1.f переменную, в событии OnMouseWheel увеличивайте или уменьшайте ее значение, а потом ваши числовые значения перемножайте на m_scale, да и все. То же и с перемещением: вот код с форума, честно - переписывать леньки, уж простите)) //перемещение формы bool dragging = false; POINT MousePnt; POINT point; HWND hWnd; RECT wndrect; void __fastcall TClock::Image1MouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { GetCursorPos(&MousePnt); dragging = true; SetCapture(hWnd); } //--------------------------------------------------------------------------- void __fastcall TClock::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if (dragging==true) // Если нажата кнопка, то... { // Получить текущую позицию курсора GetCursorPos(&point); // Откорректировать положение окна Clock->Left = Clock->Left+(point.x - MousePnt.x); Clock->Top = Clock->Top +(point.y - MousePnt.y); // Установить новые размеры окна //SetWindowPos(hWnd, NULL, wndrect.left, wndrect.top, 0, 0, SWP_NOZORDER | SWP_NOSIZE); // Запоминаем текущую позицию курсора MousePnt=point; } } //--------------------------------------------------------------------------- void __fastcall TClock::Image1MouseUp(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y) { if (dragging==true) { dragging=false; ReleaseCapture(); } } Код примитивный и немного глуповатый, но смысл думаю поймете. Тут перемещение окна, но вам нужна суть - координаты Clock. Используйте их для отрисовки ваших фигур, и будут они бегать за мышкой. P.S.Хотя, неблагодарное это дело, плавности не добиться. Наткнувшись на опенсорсную библиотеку (на основе OpenGL), теперь увы на поделки с Timage, да и вообще отрисовка сложных интерфейсов, без слез смотреть невозможно - как по плавности, так и по нагрузке, реализуй хотя бы 50% из того, что там наворотил, на Borland-вской графике, программа бы и не пошевелилась)
  4. А что за приложение, если не военная тайна. Встроенный эвристик реагирует на вполне осязаемые действия программы (всяческие взаимодействия с системой, реестром, опрос клавиатуры и тд). Некоторые вещи, дабы избежать подобной неприятности, необходимо выполнять в определенное время, и никак не раньше, и никакие галочки тут не помогут. Ну или да, покупка недешевого сертификата, хотя, если приложение приносит денег, то сертификат единственный оптимальный вариант.
  5. Никакие оверлеи, и уж тем более всяческие эмуляции нажатий, или посылки сообщений окну не позволят устойчиво снимать скрин direct-x приложения (полноэкранного). Директ работает не так, как GDI, а посему в определенный момент в памяти ничего не будет, там, откуда вы пытаетесь получить инфу. ЕДинственный метод - хучить вызовы и свою dll в процесс, как впрочем и делает большинство граберов, которые позволяют подобное (это если выражаться очень условно). Посему, если это не бот - решение именно такое. Вышеописанный класс работает НА direct-x но С экранной памятью - в полноэкранном режиме это бессмысленно Вот, для общего развития C# – SCREEN CAPTURE WITH DIRECT3D 9 API HOOKS Там шарп, но для понимания сути пойдет. Да и на крайний случай, можно либо переписать, либо засунуть в dll шарп-код а потом дергать оттуда нужное. P.S. к слову, если внизу цифры верные (для одного скрина), то это п... очень медленно. И на 10-ке, ну и на 8-ке со скрипом лучше использовать Desktop Duplication API. Скорость работы такая же, как и у GDI, но при этом чертовски маленькая нагрузка на систему.
  6. Спасибище! говорю же, где то видел. У него это OpenWire, сейчас качаю, погляжу, и судя по всему бесплатно. Ироды, да и я туда же - хоть бы почитал что это по сути расширение редактора. Но все одно спасибо - поковыряю
  7. Доброго времени суток, уважаемые. Появилась необходимость в создании примитивного редактора, основанного на так называемых "blueprint"-ах. На картинке показано, как это реализовано в Unreal Engine. Огромная просьба: может кто встречал компоненты (терзают смутные сомнения, что где то встречал подобное), которые можно подогнать под подобный изврат, или кто реализовывал что либо подобное, поделитесь пожалуйста идеями. Поскольку самому ничего в голову не лезет кроме как использования перетаскивания внутри формы, или прямого рисования на канве. Может есть возможность по-проще - буду очень благодарен. С уважением, Игорь. P.S. да, и язык не важен - Delphi, c#, c++,...
  8. Не верно) поскольку, как правильно отмечено отмечено, нумерация с нуля, то битмап, имеющий размер 100 пиксел, заканчивается на числе 99 (0 - 99 = 100). Отсюда и такое указание. То бишь при размере 100 указывается фактически размер 0 - 99, и последний пиксел 99.
  9. немного оффтоп, но видимо плюсы использует все меньше народу, посему и поддерживают они его для приличия, к сожалению. После последних фокусов с переделыванием линкера и компилятора c++ builder, в visual studio, отпадает всякое желание
  10. Странная потребность, если не вариант пробежать по диагонали, тогда, возможно как вариант)): создайте массив размера Width * Height * глубину (на 4 в случае 32 bit); Глубина в данном случае не совсем корректно, чтоб было понятно: на R+G+B+Alpha обнулите его через, увы не силен в Delphi на ++ через ZeroMemory; Byte *destPtr; destPtr = (Byte*)bitmap->ScanLine[bitmap->Height - 1] это указатель на начало dib битмапа; ну а дальше сравните просто сравните два участка памяти через memcmp или как угодно. Не факт что сработает, но попробовать можно. Я таким макаром сравнивал изображения, когда нужно было очень быстро.
  11. Прошу прощения, но вопрос вызывает улыбку - если все будут говорить что делфи - зло, пересядете на шарп?))) Меньше слушайте всех. Прислушаться да, а вот как поступать - решать вам. Напоминает возню с Goto, тем не менее, чертовски удобная штука, пусть и в редких случаях, но все же. Все зависит от мастера, и потом уже от инструмента.
  12. Вот из майки, в смысле Maya файл (первый попавшийся) .obj. Даже текстурку подхватило по умолчанию. НО навигация во вьюпорте - нет слов, одни эмоции Хотя, возможно я чего то не понял. Текстурка .tif - тут еще разбираться нужно, мне не охота, скорее всего далеко не все расширения прокатят. Это и есть ответ на ваш вопрос - в 90% случаев .obj хватит за глаза, а его поддерживают при экспорте все адекватные редакторы)
  13. Эх, попкорн закончился) Доброго вечера всем. Вот вы тут развели ср..., прям диву даешься. Неужели тут кто то всерьез верит, что Rad Studio похоронят - вы чего? СМена кадровой политики - абсолютно нормальное явление в любой организации, которая не сидит на месте. Другой вопрос - что послужило толчком? Но не суть. Тут прочитал - вот мол никто на FMX не пишет - вы судите по тому, сколько информации (удивленный смайл). Неужто кто то всерьез думает, что солидные компании, которые базируются на Rad Studio, будет трубить на каждом углу - смотрите, у нас софт написан на Rad Studio? (если быть точным, то с использованием, не придирайтесь)) ЗАЧЕМ оно им? С такой ценовой политикой, достаточно нескольких сотен пользователей для безбедной жизни, хотя думаю их в разы больше. А вот про баги и тд - улыбнуло. Есть у меня опыт небольшой работы и с FMX под ANdroid, и куда больший по десктоп, естественно под VCL. Есть опыт с плюсами и шарпом на Visual Studio тоже под десктоп. Ну и Qt немного. И судя по своему скромному опыту, еще вопрос - где больше багов, когда начинаешь копать глубже. Тута вон галку снял, и софт с 99% уверенностью запустится у всех, а Visual Studio - без опыта, один процесс настройки зависимостей проекта в новых версиях - тот еще гемморой. А потом начинаешь пользователям долбить - скачайте рантайм, а вот еще ддлку эту, а у вас версия Фреймворка не та))) Адекватно собрать статически слинкованный Qt мне так и не удалось, точнее удалось под MinGW - не впечатлило. Похоже многие забыли - FMX, Rad, Visual, pascal, c++, c#, и тд, и тп - это только инструмент, все зависит от того, кто его держит. Kitty - мне очень интересно - отчего такая потребность - закопают или нет? А кто мешает перебраться, в случае необходимости в другую среду - знания то лишними не будут. Напоминает покупку первой машины - месяцами выбирают (количество критериев зашкаливает - и чтоб то не сломалось, и не устарело, и тд), в итоге покупается что то непотребное, просто из-за подхода, при этом количество нервов потраченных...) вы же не на всю жизнь покупаете) Так и тут - ну случится беда, закопают - так правильно сказали: может через пару лет и Андроид гавкнет - что теперь не писать под него. В крайнем случае можно на время перебирания в другую среду остаться на старой версии. Хотя, вынужден извиниться, возможно у вас действительно вперед смотрящие, долгосрочные проекты, тогда стоит думать сейчас (ни в коем случае не сарказм). Но положа руку на сердце, поверьте - выбор то не велик, к сожалению, когда дело доходит до чего - то большего, чем Hello World. P.S. не первый год пытаюсь переползти в Visual Studio - именно написание кода там куда более комфортное, но увы - так и не смог) сошелся на Dll-ках, из Visual Studio, и основе в Rad Studio - довольно удобно и комфортно.
  14. Я далеко не маркетолог, но сейчас все это переросло из качества в количество. Да удобно, но собрать под одной крышей плюсы и делфи, vcl и fmx - правильно сказали: на презентациях все хорошо, а вот на деле. Получился монстр, который умеет практически все, однако умеет понемногу - нахватался начальных знаний из всех областей, а вот копни глубже. Разработка на плюсах - то еще удовольствие. И уж простят меня делфисты, но для серьезных организаций, плюсы, на мой скромный взгляд, имеют немалое значение. Может быть, если бы не штамповали по версии в год, а серьезно занялись правками багов, эффект был бы другой. Но опять же - маркетинг, им виднее. По всей видимости, вся эта возня сводится к поддержке и удержанию старых клиентов. И даже бесплатные версии (попытка привлечения новых людей), видимо ничего не изменили. FMX то не закроют - нафига рубать курицу, которая несет золотые яйца. А что люди другую работу ищут - нормально же, чего то не устраивает, все так поступают.
  15. Расти большой, не будь лапшой)