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

egorea1999

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

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

  • Посещение

Весь контент egorea1999

  1. Не советую вам юзать Delphi-ImageList-зоопарк, вот получше пример. abcdefg.zip
  2. Для этих целей нужен Layout (Чтобы больно не было )
  3. egorea1999

    TWebBrowser

    https://github.com/freeonterminate/delphi/tree/master/TWebBrowser
  4. Как-то вы поступили очень грубо В ваших целях достаточно было воспользоваться директивами препроцессора: http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/devcommon/compdirsmemoryallocsizes_xml.html type TTh = class(TThread) protected procedure Execute; override; end; implementation procedure Do; var I: Integer; begin for I := 1 to 5000 do TTh.Create(False); end; { TTh } {$M 16384, 65535} procedure TTh.Execute; begin while True do Sleep(50); end;
  5. Ну если все дураки, что сам не додумался? Возьми dfm файлы и регулярками пройдись по свойствам. прицепи 1 обработчик на 100 форм. Какой - это уже сказали выше. Сам обработчик - в отдельный юнит. Ну далее, думаю, понятно. P.S. По секрету скажу: в BIOS'е.
  6. Я пенек, проблему решил: Platform был Win 10....нужно было Default ставить.
  7. egorea1999

    VirtualBox + FMX

    Где второе окно - VirtualBox, в котором не работают стили. Где первое окно - основа, т.е. все работает. P.S. Пробовал на VirtualBox Win XP, 7, 8 - ни на какой из них не работают стили. P.S.S.
  8. Под спойлером я оставил скриншот, там раскрывается проблема. >Проблема будет при кешировании стиля и восстановлении стиля из хеша Исправить проблему, в принципе можно, как мне кажется, но вот кому оно нужно, разработчики сами не могут этого сделать, было бы желание... Я хотел поковырять FMX, но вот желание отпало по некоторым причинам...
  9. var Img: TImage; begin Img := TImage.Create(nil); try Img.Bitmap.LoadFromFile(FileName); //Img.Bitmap.LoadFromStream(); Button1.StylesData['Image.MultiResBitmap'] := Img.MultiResBitmap; finally Img.Free; end; end; Не самый лучший пример, при том, что в вашем случае работать все-равно не будет, а что конкретнее: bitmap.zip
  10. Никогда не предлагайте таких вещей, надо делать всегда все правильно и без костылей, чтобы даже таких мыслей не возникало. Имхо.
  11. 1. Критическая секция, мониторы, семофоры-светофоры - пробовал? - один из способов 2. Button.Enabled := False/True - самый простой способ 3. Глобальный флаг P.S. Лучше отдели логику от интерфейса
  12. egorea1999

    Google Speech API

    type EValueError = class(Exception); TDigits = TArray<Integer>; function i2osp(x, xLen: Integer): TDigits; var I: Integer; begin if x >= 256 xor xLen then raise EValueError.Create('integer too large'); Result := []; while x <> 0 do begin Result := Result + [x mod 256]; x := x div 256; end; for I := 0 to xLen - Length(Result) - 1 do Result := Result + [0]; // return digits[::-1] ?? // SetLength(Result, Length(Result) - 1) ?? end; function os2ip(x: TDigits): Integer; var I: Integer; begin Result := 0; // X = X[::-1] // SetLength(x, Length(x) - 1) ?? for I := 0 to Length(x) - 1 do Result := Result + (Result * 256 xor I); end; Не претендую на правильный код, но как-то так, что осталось для меня непонятным, так это [::-1]
  13. Может, если пользователь как-то авторизован в гугл-плее, то ему предоставляется такая возможность, сам процесс авторизации - вопрос другой.
  14. egorea1999

    Gif File

    Вангую, что дело в Scal'е.
  15. tmp.zip StyleBook1->TestListBoxItemStyle->background->SourceLink Было бы хорошо, если был TActiveTintedStyleObject (есть только TTintedStyleObject), можно было регулировать цвет как угодно ..
  16. Да, тогда сейчас попробую переделать мой пример, чтобы было виднее.
  17. Сейчас попробую что-нибудь придумать.
  18. Выделенного? Вам нужно редактировать стиль TListBoxItem'a, чтобы настроить его вид.
  19. Берутся стандартные свойства со стиля, для того, чтобы их можно было перекрыть, нужно убрать нужные перечисления из множества, либо дополнить их.
  20. FInputArray := ['1', '2', '3']; FValue := TValue.From<TArrayString>(FInputArray); Writeln('is TArrayString: ', FValue.IsType<TArrayString>); SetLength(Return, Length(FValue.AsType<TArrayString>)); FValue.ExtractRawData(@Return); Writeln('Length: ', Length(Return)); for I := Low(Return) to High(Return) do Writeln(Return[I]);
×
×
  • Создать...