Перейти к содержанию
Fire Monkey от А до Я

Лидеры

  1. Равиль Зарипов (ZuBy)

    Равиль Зарипов (ZuBy)

    Модераторы


    • Баллы

      16

    • Постов

      2 517


  2. Error

    Error

    Пользователи


    • Баллы

      3

    • Постов

      167


  3. Камышев Александр

    Камышев Александр

    Пользователи


    • Баллы

      2

    • Постов

      235


  4. Brovin Yaroslav

    Brovin Yaroslav

    Администраторы


    • Баллы

      1

    • Постов

      2 124


Популярный контент

Показан контент с высокой репутацией 13.01.2017 в Сообщения

  1. Ссылка: http://blog.rzaripov.kz/2017/01/blog-post.html Автор: Зарипов Равиль @ZuBy Описание: Онлайн-сервисы в помощь разработчику по дизайну
    4 балла
  2. думаю эти два куска показывают основную обработку OnCommandGet, из хедера: typedef std::deque< strDBQueueMember* > db_queue_deque; db_queue_deque db_queue; TCriticalSection *cs_pool, *cs_queue, *cs_files; TInterlocked *Interlocked; 3600 это запрос без обращения к бд, только данные из пула с критическими секциями ну и вот это обязательно в System.Classes.pas в Embarcadero\Studio\17.0\source\rtl\common\ constructor TThread.Create(CreateSuspended: Boolean); -//- {$IF Defined(MSWINDOWS)} //#define STACK_SIZE_PARAM_IS_A_RESERVATION 0x00010000 - это для информации //#define CREATE_SUSPENDED 0x00000004 - это для информации // заменить FHandle := BeginThread(nil, 0, @ThreadProc, Pointer(Self), CREATE_SUSPENDED, FThreadID); // на FHandle := BeginThread(nil, 65536, @ThreadProc, Pointer(Self), $00010004, FThreadID); System.Classes.pas добавить в проект. и будет вам счастье
    2 балла
  3. вот мой рабочий вариант { ********************************************************** } { } { CodeGear Delphi Runtime Library } { } { Delphi-Objective-C Bridge } { Interfaces for Cocoa framework CoreTelephony } { } { Copyright (c) 2010, Apple Inc. All rights reserved. } { } { Translator: Embarcadero Technologies, Inc. } { Copyright(c) 2016 Embarcadero Technologies, Inc. } { All rights reserved } { } { ********************************************************** } unit iOSapi.CoreTelephony; interface uses Macapi.ObjectiveC, iOSapi.CocoaTypes, iOSapi.Foundation; // ===== External functions ===== const libCoreTelephony = '/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony'; type {$M+} // ===== Forward declarations ===== CTCarrier = interface; CTTelephonyNetworkInfo = interface; CTCall = interface; CTCallCenter = interface; // ===== Interface declarations ===== CTCarrierClass = interface(NSObjectClass) ['{FA14F6EF-18EF-4AE0-A115-5D5819B05A32}'] end; CTCarrier = interface(NSObject) ['{7FF111BF-7573-4BD2-881F-0B614DD5C01E}'] function allowsVOIP: Boolean; cdecl; function carrierName: NSString; cdecl; function isoCountryCode: NSString; cdecl; function mobileCountryCode: NSString; cdecl; function mobileNetworkCode: NSString; cdecl; end; TCTCarrier = class(TOCGenericImport<CTCarrierClass, CTCarrier>) end; TCellularProviderNotifier = procedure(const Data: CTCarrier) of object; CTTelephonyNetworkInfoClass = interface(NSObjectClass) ['{28EB8488-EE8F-4967-B8A8-6BF96AD4382D}'] end; CTTelephonyNetworkInfo = interface(NSObject) ['{F75CE940-A78E-4C64-812E-0576386B582D}'] function subscriberCellularProvider: CTCarrier; cdecl; procedure setSubscriberCellularProviderDidUpdateNotifier(Handler: TCellularProviderNotifier); cdecl; end; TCTTelephonyNetworkInfo = class(TOCGenericImport<CTTelephonyNetworkInfoClass, CTTelephonyNetworkInfo>) end; CTCallClass = interface(NSObjectClass) ['{1FA8C69C-57FA-4607-ACBA-547C9636312F}'] end; CTCall = interface(NSObject) ['{31625956-A516-437B-A385-7DF292D6FB5A}'] function callID: NSString; cdecl; function callState: NSString; cdecl; end; TCTCall = class(TOCGenericImport<CTCallClass, CTCall>) end; TCallEventHandler = procedure(const Data: CTCall) of object; CTCallCenterClass = interface(NSObjectClass) ['{A28B0E07-ED5A-4C05-82DA-E9FE4073E14D}'] end; CTCallCenter = interface(NSObject) ['{0FDB7AC7-B379-4E20-8D72-F1C11EA32EB6}'] procedure setCallEventHandler(EventHandler: TCallEventHandler); cdecl; function currentCalls: NSSet; cdecl; end; TCTCallCenter = class(TOCGenericImport<CTCallCenterClass, CTCallCenter>) end; // exported string consts function CTCallStateDialing: NSString; function CTCallStateIncoming: NSString; function CTCallStateConnected: NSString; function CTCallStateDisconnected: NSString; implementation {$IF defined(IOS) and defined(CPUARM)} uses Posix.Dlfcn; {$ENDIF IOS} const CoreTelephonyFwk: string = '/System/Library/Frameworks/CoreTelephony.framework/CoreTelephony'; function CTCallStateDialing: NSString; begin Result := CocoaNSStringConst(CoreTelephonyFwk, 'CTCallStateDialing'); end; function CTCallStateIncoming: NSString; begin Result := CocoaNSStringConst(CoreTelephonyFwk, 'CTCallStateIncoming'); end; function CTCallStateConnected: NSString; begin Result := CocoaNSStringConst(CoreTelephonyFwk, 'CTCallStateConnected'); end; function CTCallStateDisconnected: NSString; begin Result := CocoaNSStringConst(CoreTelephonyFwk, 'CTCallStateDisconnected'); end; {$IF defined(IOS) and defined(CPUARM)} var CoreTelephonyModule: THandle; initialization CoreTelephonyModule := dlopen(MarshaledAString(libCoreTelephony), RTLD_LAZY); finalization dlclose(CoreTelephonyModule); {$ENDIF IOS} end. UPDATE Я еще в SDK прописал Framework CoreTelephony по аналогии с другими фреймворками и обновил кеш SDK
    2 балла
  4. uses FMX.Utils; procedure TForm7.Button1Click(Sender: TObject); var gamecanvas: TBitmap; i, j: integer; bitData: TBitmapData; p: PAlphaColorArray; begin gamecanvas := TBitmap.Create(256, 256); try if gamecanvas.Map(TMapAccess.ReadWrite, bitData) then begin for i := 0 to 255 do begin p := bitData.GetScanline(i); for j := 0 to 255 do p[j] := TAlphaColorF.Create(random(255) / 255, random(255) / 255, random(255) / 255, 1).ToAlphaColor; end; gamecanvas.Unmap(bitData); self.Canvas.BeginScene(); self.Canvas.DrawBitmap(gamecanvas, gamecanvas.BoundsF, RectF(0, 0, 256, 256), 1); self.Canvas.EndScene; end; finally gamecanvas.Free; end; end;
    2 балла
  5. Error

    задать шрифт (default)

    Можно поиграться с подменой: IFMXSystemFontService = interface(IInterface) ['{62017F22-ADF1-44D9-A21D-796D8C7F3CF0}'] function GetDefaultFontFamilyName: string; function GetDefaultFontSize: Single; end;
    2 балла
  6. не хорошо так выражаться, можно и бан получить то что у тебя 100 форм это твоя проблема то что тебе лень прописать одну строчку в создании одного типа компонентов, то думаю что там говно-код и если бы ты понял, что я предлагаю, ты бы уже давно реализовал, а не писал на форуме "остроумный" пост, в коде добавляется только одна строчка и это не ApplyFontToForm (если там не говно-код) я бы предложил еще один кардинальный вариант, но не буду
    2 балла
  7. "я не хочу думать! я хочу кнопку, нажимаешь и все работает" как я вижу эту реализацию: делается отдельный модуль, в который перемещается код procedure ChangeFont(const aControl: TControl; const aFontName: string); const StyledSett = [TStyledSetting.Size, TStyledSetting.Style, TStyledSetting.FontColor]; var aTextSettings: ITextSettings; I: Integer; begin if aControl is TListView then begin (aControl as TListView).ItemAppearanceObjects.ItemObjects.Text.Font.Family := aFontName; (aControl as TListView).ItemAppearanceObjects.ItemObjects.Detail.Font.Family := aFontName; end else begin if Supports(aControl, ITextSettings, aTextSettings) then begin aTextSettings.StyledSettings := StyledSett; aTextSettings.TextSettings.Font.Family := aFontName; end; for I := 0 to aControl.ControlsCount - 1 do ChangeFont(aControl.Controls[I], aFontName); end; end; .................................................. procedure ApplyFontToForm(const aForm: TForm; const aFontName: string;); var I: Integer; begin for I := 0 to aForm.ComponentCount - 1 do begin if aForm.Components[I] is TControl then ChangeFont(aForm.Components[I] as TControl, aFontName); end; end; прописываем ChangeFont и ApplyFontToForm до implementation и в форме после создания дин. компонентов и/или в OnShow пишем ApplyFontToForm(Form30, 'Roboto'); даже незнаю как можно сделать проще
    2 балла
  8. намёк <TSpeedButton>.StaysPressed := false;
    1 балл
  9. 1 балл
  10. Дмитрий Ш.

    задать шрифт (default)

    des80, с такой позицией помощи можно не ждать. хамству тут не место
    1 балл
  11. такой возможности пока нет, потому что нативные компоненты всегда располагаются выше стилизованных. ждать нужно будущих версии студии, там будут нативные компоненты под андроид и ZOrder
    1 балл
  12. временное решение DblClick.zip
    1 балл
  13. Нет. Если только писать на Delphi и на симуляторе
    1 балл
  14. Добавьте, пожалуйста, в список подсветки синтаксиса кода пункт Pascal/Delphi. Вроде самая необходимая на данном форуме подсветка, а её до сих пор нет Спасибо!
    1 балл
  15. Ссылка: https://habrahabr.ru/post/318876/ Автор: Error Описание: Delphi и C++Builder разработчики, использующие VCL не по наслышке знают о вездесущей проблеме мерцания контролов. Мерцание происходит при перерисовке, вследствие того, что сначала отрисовываеться фон компонента, и только потом сам компонент. И если в случае с наследниками от TWinControl частичным решением проблемы является установка свойства DoubleBuffered в True, что заставляет контрол отрисовываться в буфере(однако DoubleBuffered работает тоже не идеально, к прим.: контрол перестает быть прозрачным), то в случае с TGraphicControl решение с DoubleBuffered просто невозможно, из-за отсутствия у TGraphicControl окна, установка же DoubleBuffered в True у родителя не помогает, из-за того что отрисовка вложенных TGraphicControl-ов происходит уже после прорисовки родителя в буфере. Обычно остается только одно — смириться с мерцанием, и максимально упростить отрисовку для минимизации эффекта, или использовать по возможности исключительно TWinControl-ы, что не всегда возможно и удобно. Однажды намучившись с мерцанием, я не выдержал и решил решить эту проблему, раз и навсегда! ...
    1 балл
  16. Brovin Yaroslav

    Описание TfgRatingBar

    Добрый день, Пока находится на доработке. Финальные штрихи.
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...