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

Лидеры

  1. WebPuper

    WebPuper

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


    • Баллы

      3

    • Постов

      53


  2. gonzales

    gonzales

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


    • Баллы

      2

    • Постов

      334


  3. Brovin Yaroslav

    Brovin Yaroslav

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


    • Баллы

      1

    • Постов

      2 124


  4. Kitty

    Kitty

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


    • Баллы

      1

    • Постов

      792


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

Показан контент с высокой репутацией 13.09.2018 во всех областях

  1. Решил вот так, если вдруг кому надо procedure TForm1.SortGroup; var i, j: integer; elementscount: byte; begin elementscount := Form1.RoomsScrollBox.Content.Children.Count; for i := 1 to elementscount do for j := 0 to elementscount - 1 do begin if (Form1.RoomsScrollBox.Content.Children.Items[j] as TEssence).SortIndex = i then begin (Form1.RoomsScrollBox.Content.Children.Items[j] as TEssence).Position.Y := 10000; break; end; end; end; соответственно элементы с самым низким индексом будут наверху. Единственное ограничение, что индексы элементов должны быть подряд, без пропусков. Это не очень удобно, надо будет переделать
    2 балла
  2. Решил через анализ события FormKeyUp if(Key == vkHardwareBack) Key = 0;
    1 балл
  3. Может кому-то поможет. Дело касается Builder C++: У меня порой возникала ошибка Segmentation fault при старте приложения из-за явного несоответствия типа переменной типу её значения. Особенно это касается всех глобальных переменных. Например UnicodeString Str = 14; ; - компилятор C++ не ругается, но приложение вылетало при старте. (в Delphi не проверял).
    1 балл
  4. struct TCloseDialogHandler :public TCppInterfacedObject<TInputCloseDialogProc> { void __fastcall Invoke(const System::Uitypes::TModalResult AResult) { switch (AResult) { case mrYes : ShowMessage("You chose Yes"); break; case mrNo: ShowMessage("You chose No"); break; case mrCancel: ShowMessage("You chose Cancel"); break; } } }; void __fastcall TForm1::SpeedButtonClick(TObject *Sender) { _di_TInputCloseDialogProc handler =new TCloseDialogHandler(); MessageDlg(L"Внимание! Здесь вопрос?", TMsgDlgType::mtConfirmation, TMsgDlgButtons() << TMsgDlgBtn::mbYes << TMsgDlgBtn::mbNo, 0, handler ); } - Рабочий пример использования MessageDlg на C++ с использованием анонимной процедуры.
    1 балл
  5. var bmd: TBitmapData; bmp: TBitmap; c, c1: TAlphaColor; x, y: Integer; ... bmp.Map(TMapAccess.ReadWrite, bmd); try c1 := bmd.GetPixel(x, y); bmd.SetPixel(x, y, c); finally bmp.Unmap(bmd); end;
    1 балл
  6. Pax Beach

    Убить поток TThread?

    Посмотрите класс, реализующий альтернативный Sleep (под катом). соль в следующем: создаем потомка TThread, запускаем, ждем завершения: class function TDelays.Delay(aDuration: integer): TDelay; begin if not Assigned(FList) then FList := TList<TDelay>.Create; Result := TDelay.Create(aDuration); FList.Add(Result); Result.FreeOnTerminate := false; Result.OnTerminate := OnTerminateItem; Result.Start; Result.WaitFor; end; Работаем с ним нежно procedure TDelay.Execute; begin inherited; while (not Terminated) and (MilliSecondsBetween(now, FStart) < FDelay) do begin sleep(100); end; end; По завершении работы убиваем: class procedure TDelays.OnTerminateItem(Sender: TObject); begin TTask.Run( procedure begin try if Assigned((Sender as TDelay)) then begin (Sender as TDelay).Free; FList.Remove((Sender as TDelay)); end; except end; end); end; А можем убить и досрочно: (TObject as TDelay).Free; потому что в деструкторе стоит такой код: destructor TDelay.Destroy; begin Terminate; if (not Suspended) then WaitFor; inherited; end; uDelays.zip
    1 балл
  7. Kitty

    Открыть ссылку

    Дополнительно найдено: #if defined(__ANDROID__) #include <Androidapi.JNI.JavaTypes.hpp> #include <Androidapi.JNI.GraphicsContentViewText.hpp> #include <Androidapi.JNI.Net.hpp> #include <Androidapi.Helpers.hpp> #include <FMX.Helpers.Android.hpp> #elif defined(__APPLE__) #include <iOSapi.Foundation.hpp> #include <Macapi.Helpers.hpp> #include <FMX.Helpers.iOS.hpp> #elif defined(MSWINDOWS) #include <shellapi.h> endif bool __fastcall OpenURL(const String &AURL) { #if defined(__ANDROID__) _di_JIntent Intent = TJIntent::JavaClass->init(TJIntent::JavaClass->ACTION_VIEW, TJnet_Uri::JavaClass->parse(StringToJString(AURL))); try { SharedActivity()->startActivity(Intent); return true; } catch (const Exception &) { return false; } #elif defined(__APPLE__) _di_NSURL NSU = StrToNSUrl(AURL); if (SharedApplication()->canOpenURL(NSU)) return SharedApplication()->openURL(NSU); else return false; #elif defined(MSWINDOWS) SHELLEXECUTEINFOW sei = {0}; sei.cbSize = sizeof(sei); sei.lpFile = AURL.c_str(); sei.nShow = SH_SHOWNORMAL; return ShellExecuteEx(&sei); #else return false; #endif } void __fastcall TForm1::Text1Click(TObject *Sender) { OpenURL(L"http://fire-monkey.tu"); }
    1 балл
  8. Тогда, отключение: ScrollBox.AniCalculations.TouchTracking := []; Включение: ScrollBox.AniCalculations.TouchTracking := [ttVertical];
    1 балл
Эта таблица лидеров рассчитана в Москва/GMT+03:00
×
×
  • Создать...