-
Постов
25 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные egorea1999
-
-
Для этих целей нужен Layout
(Чтобы больно не было )
-
-
Как-то вы поступили очень грубо
В ваших целях достаточно было воспользоваться директивами препроцессора:
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;
-
6 часов назад, des80 сказал:
ты дурак или нет?
1.У меня уже есть проект, в котором 100 форм, я прекрасно знаю как это сделать, я прекрасно знаю что мне нужно прописать ApplyFontToForm в OnShow каждой формы, но мне придется делать это 100 раз, а я задал здесь этот вопрос, чтобы узнать можно ли ОДИН раз задать что Arial это дефолтный шрифт, шрифт по умолчанию. Во всех 100 формах у меня везде шрифт прописан (default). А что это за шрифт default? какой шрифт по факту туда подставляется? и можно ли ЗАМЕНИТЬ этот шрифт по умолчанию. Этот шрифт задается в настройках винды? или его можно задать отдельно в моей программе?
2.Ок, я написал 100 раз на 100 формах ApplyFontToForm в OnShow. А потом у меня создаются кнопки и лабелы после выполнения этого кода и на ней будет стандартный шрифт, а не тот который я задал в ApplyFontToForm. Да я могу без проблем задать шрифт при создании компонента, но КОД УЖЕ НАПИСАН И ЕГО МНОГО и мне опять таки мне придется это делать много много раз, во многих местах прописывать Familyfont='Arial'. Понимаешь, нет?
Ну если все дураки, что сам не додумался?
6 часов назад, des80 сказал:.ничего не мешает, просто нужно в 100500 мест залезть в коде и прописать FontFamily:='Arial';
Возьми dfm файлы и регулярками пройдись по свойствам.
6 часов назад, des80 сказал:проблема в том, что мне придется на каждой форме это вызывать, мне придется это 100 раз копипастить.
прицепи 1 обработчик на 100 форм. Какой - это уже сказали выше. Сам обработчик - в отдельный юнит. Ну далее, думаю, понятно.
P.S.
6 часов назад, des80 сказал:Этот шрифт задается в настройках винды?
По секрету скажу: в BIOS'е. -
Я пенек, проблему решил: Platform был Win 10....нужно было Default ставить.
-
-
15 минут назад, Kitty сказал:
Как правильно картинку из TMemoryStream запихнуть в итем дефолтного ListBox-а через StylesData чтобы код из первого поста отработал и картинки были видны сразу?
Если мой код из первого поста вставить в код билдера, вы увидите проблему в WIN64, ибо картинки на хостинге лежат и соответственно код живой…Под спойлером я оставил скриншот, там раскрывается проблема.
>Проблема будет при кешировании стиля и восстановлении стиля из хеша
Исправить проблему, в принципе можно, как мне кажется, но вот кому оно нужно, разработчики сами не могут этого сделать, было бы желание...
Я хотел поковырять FMX, но вот желание отпало по некоторым причинам...
-
2 часа назад, Kitty сказал:
А как все таки итему присвоить битмап через StylesData?
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;
Не самый лучший пример, при том, что в вашем случае работать все-равно не будет, а что конкретнее:
-
27 минут назад, krapotkin сказал:
3** Можно также запустить антизависательный таймер, который, если от потока не приходит вестей N секунд, прибивает поток и разблокирует кнопку
Никогда не предлагайте таких вещей, надо делать всегда все правильно и без костылей, чтобы даже таких мыслей не возникало. Имхо.
-
-
42 минуты назад, OnePeople сказал:
Может кто с питона на делфи переделать это
def i2osp(x, xLen):
if x >= 256^xLen:
raise ValueError("integer too large")
digits = []while x:
digits.append(int(x % 256))
x //= 256
for i in range(xLen - len(digits)):
digits.append(0)
return digits[::-1]def os2ip(X):
xLen = len(X)
X = X[::-1]
x = 0
for i in range(xLen):
x += X * 256^i
return xtype 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]
-
В 22.10.2016 в 19:30, Alex7wrt сказал:
В некоторых приложениях под Android, в частности ES проводник, есть возможность быстрой оценки приложения, когда не выходя из него, без перехода на Google Play, можно выбрать от 1 до 5 звезд.
Можно ли это организовать с помощью FMX?Может, если пользователь как-то авторизован в гугл-плее, то ему предоставляется такая возможность, сам процесс авторизации - вопрос другой.
-
-
23 минуты назад, Steepe_Hare сказал:
извиняюсь, что не врубаюсь) но у меня при двойном щелчке на StyleBook только StyleContainer
там все есть, разверни его
-
StyleBook1->TestListBoxItemStyle->background->SourceLink
Было бы хорошо, если был TActiveTintedStyleObject (есть только TTintedStyleObject), можно было регулировать цвет как угодно ..
-
Только что, Steepe_Hare сказал:
Произвольный. Я думал, как-то цвет можно поставить через свойство
Да, тогда сейчас попробую переделать мой пример, чтобы было виднее.
-
Только что, Steepe_Hare сказал:
я извиняюсь, а что поменялось? как был цвет фона голубоватый, так и остался
А какой вам нужен?
Уточнили бы)
-
-
Сейчас попробую что-нибудь придумать.
-
15 минут назад, Steepe_Hare сказал:
А не подскажете, какое свойство отвечает за цвет выделенного ListBoxItem?
Выделенного? Вам нужно редактировать стиль TListBoxItem'a, чтобы настроить его вид.
-
Только что, Steepe_Hare сказал:
Спасибо, помогло. Только непонятно зачем так нужно делать
Берутся стандартные свойства со стиля, для того, чтобы их можно было перекрыть, нужно убрать нужные перечисления из множества, либо дополнить их.
-
ListBoxItem.StyledSettings := [];
-
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]);
Загрузка произвольной картинки в TImageList динамически
в TImageList - с XE8
Опубликовано · Изменено пользователем egorea1999
Не советую вам юзать Delphi-ImageList-зоопарк, вот получше пример.
abcdefg.zip