Вся активность

Этот поток обновляется автоматически   

  1. Сегодня
  2. Good afternoon, I have a project using the fgx components in berlin and it works normally, I migrated the same project to tokyo 10.2.1 and the component stopped working. Any suggestion
  3. enatechno выше привел ссылки на статьи где все расписано по полочкам.
  4. Не действительны сертификаты SSL Certificates (для web-серверов). У них все сертификаты всегда были бесплатными (поэтому их американские монстры и прижали), платная только проверка пользователя - т.е. один раз проходишь валидацию нужного тебе класса и целый год выпускаешь сертификаты бесплатно.
  5. Кто бы полную статью по этому делу написал, от получения до подписи, вот бы здорово было.
  6. Доброго дня, а в чем собственно проблема то? Для масштабирования заведите какую нибудь 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-вской графике, программа бы и не пошевелилась)
  7. Здравствуйте. Суть такова: на канве в TImage отрисовываются простейшие геометрические фигуры: (Круг, прямоугольник и треугольник). Как реализовать масштабирование и перемещение при помощи мыши? Собственно, есть код отрисовки фигур procedure TForm1.DrawEllipseButtonClick(Sender: TObject); var MyRect: TRectF; x,y: integer; begin x:=round(image1.Width); y:=round(image1.Height); MyRect := TRectF.Create( x div 2 - strtoint(edit3.Text) / 2, y div 2 - strtoint(edit3.Text) / 2, x div 2 + strtoint(edit3.Text) / 2, y div 2 + strtoint(edit3.Text) / 2 ); Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawEllipse(MyRect, 40); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.DrawRectButtonClick(Sender: TObject); var MyRect: TRectF; x,y: integer; begin x:=round(image1.Width); y:=round(image1.Height); MyRect := TRectF.Create( x div 2 - strtoint(edit2.Text) / 2, y div 2 - strtoint(edit1.Text) / 2, x div 2 + strtoint(edit2.Text) / 2, y div 2 + strtoint(edit1.Text) / 2 ); Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawRect(MyRect, 0, 0, AllCorners, 100); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.DrawTriangleButtonClick(Sender: TObject); var p1, p2, p3, p4: TPointF; MyPolygon: TPolygon; begin p1 := TPointF.Create(16, 40); p2 := TPointF.Create(44, 6); p3 := TPointF.Create(15,20); p4 := TPointF.Create(16,40); SetLength(MyPolygon, 4); MyPolygon[0] := p1; MyPolygon[1] := p2; MyPolygon[2] := p3; MyPolygon[3] := p4; Image1.Bitmap.Canvas.BeginScene; Image1.Bitmap.Canvas.DrawPolygon(MyPolygon, 50); Image1.Bitmap.Canvas.EndScene; end; procedure TForm1.FormCreate(Sender: TObject); begin Image1.Bitmap.SetSize(Round(Image1.Width), Round(Image1.Height)); Image1.Bitmap.Clear(TAlphaColors.White); end; Помогите, пожалуйста. P.S.: отрисовка треугольника, как можно увидеть, в проекте
  8. У startcomca. проблемы, китайский владелец выдал несколько левых сертификатов и его поймали. Зато с сегодняшнего дня можно получить сертификаты бесплатно и персональный, и бизнес.
  9. найти код рисования и посмотреть, откуда берется цифра отступа
  10. Вчера
  11. Ну, видимо там ничего хитрого, просто надо потыркаться, варианты поискать. Если камеру остановлю заранее, то закрывается приложение норм. А вот в onClose остановка не работает не работает.
  12. Если Parent у Butto2 - Panel2 var PointP: TPointF; begin PointP := PointF((Panel1.Width / 2) - (Button2.Width / 2), (Panel1.Height / 2) - (Button2.Height / 2)); PointP := Panel1.LocalToAbsolute(PointP); Button2.Position.Point := Panel2.AbsoluteToLocal(PointP); end; А вообще зачем Position менять: Button2.Parent := Panel1; Button2.Align := TAlignLayout.Center; Button2.BringToFront;
  13. Во-первых, учитывайте половину размера кнопки. Во-вторых, использовать математический пересчёт относительно положения panel1 на форме
  14. Здравствуйте! Имеется следующая задача: нужно поставить кнопку button2 по центру первой панели используя свойство Position. Прикрепил скрин изначального расположения компонентов. Как пробовал сам? Хотел переконвертировать координаты центра Panel1 и затем присвоить их в свойство Position Button2 следующим образом: var PointP:TPointF; begin PointP:=PointF((Panel1.Width/2)-(Button2.Width/2), 0); PointP:=Panel1.LocalToAbsolute(PointP); PointP:=Button2.AbsoluteToLocal(PointP); Button2.Position.X:=PointP.X; Но кнопка не встает по центру, что я сделал не правильно?
  15. ОК. Спасибо
  16. apptethering довольно убогий (его реализация в дельфи) - написали по быстрому модную технологию и забросили. Если не ошибаюсь, за все время существования компонента ни разу он не был исправлен или доделан. Для вашего случая проще и быстрее использовать Indy (UDP сервер и клиент) - для одновременного получения клиентами сообщения отсылаете его сервером в multicast режиме на какой нибудь порт, клиенты получат его одновременно. В apptethering не знают про multicast, по крайней мере в исходниках не нашел и потоки используются только временами и не предсказуемо.
  17. Я обычно получаю сертификат в https://www.startcomca.com - самый не дорогой сервис. Сначала нужно получить Class 2 Personal Identity Validation за US$59.90, потом можно будет генерировать неограниченное количество подписей. Сервис хорош тем что предоставляет архив с подписями, инструкциями и инструментарием (остальные сервисы дадут текстовый файлик с подписью в непредсказуемом контейнере - и разбирайся сам...). Пинаю потихоньку https://kontur.ru/ca , дабы начали на территории России выдавать сертификаты Code Signing, но пока только за бугром это можно сделать.
  18. Здравствуйте! Знает ли кто как можно настроить отступы слева айтемов которые вложены в другой айтем в TreeView? Например я хочу чтобы отступы слева были только 5 пикселей а не 20 как сейчас в стиле..но не знаю как это сделать
  19. Начал использовать apptethering на своем приложении. Идея такой : есть сервер и есть несколько клиентов на андроиде. Сервер отправляет текстовых команд, Клиенты должны получить команд одновременно. Проблемы : - Когда на сервере нажимаю кнопку для отправки кнопка нажимается долго. - Клиенты получает команд не одновременно. Получает по очередью
  20. Loner Arcade Android / iOS Google Play / App Store Бесплатная
  21. Последняя неделя
  22. вот вообще ничего не менялось в стринггриде в этой конкретно строке StringGrid1.Cells[ACol, ARow] := myString; перед этим нужно только добавить в грид нужное количество колонок
  23. у меня ТРИ подключенных камеры - Logitech, ChinaNoName и встроенная web-камера все три нормально запускаются и нормально останавливаются в простейшем варианте из примеров. Берлин
  24. Перепробовал кучу всего. В основном для VCL. Заработал лишь платный TVideoGrabber. Затем смог таки установить логитековский драйвер, а не виндовый по умолчанию - заработало всё, что было из вариантов. В том числе и вышеприведённый. Но проблема - не могу закрыть приложение. Лишь из среды убить удаётся. Что я делаю не так?
  25. Да, нужно либо обновиться на Токио, либо применить фикс, который есть в комментариях на первой странице. На торрентах бесплатно продают, скачайте и вынимайте оттуда любые модули, которые нужны.
  26. Grid2.BeginUpdate; try for i:=0 to qClients.RecordCount-1 do begin XXX:=qClients.Fields[0].AsString; qClients.Next; end; finally Grid2.EndUpdate; end; Что должно быть вместо XXX?
  1. Загрузить больше активности