-
Постов
293 -
Зарегистрирован
-
Посещение
-
Победитель дней
21
Сообщения, опубликованные brunnengi
-
-
Здравствуйте.
Попытался разобраться в примерах по работе с TParallel, но не затащил (
Да и вообще хочу уточнить поможет ли в моем случаем использование TParallel.
задача в виде кода такая:
for i_01 := 1 to 7 do for i_02 := 1 to 7 do for i_03 := 1 to 7 do for i_04 := 1 to 7 do for i_05 := 1 to 7 do begin if (i_01 <> i_02) and (i_01 <> i_03) and (i_01 <> i_04) and (i_01 <> i_05) and (i_02 <> i_03) and (i_02 <> i_04) and (i_02 <> i_05) and (i_03 <> i_04) and (i_03 <> i_05) and (i_04 <> i_05) then // сохраняю эти данные в файл. end;
Т.е. я перебираю все комбинации и ищу среди них только те, где элементы не повторяются.
К примеру перебирая все варианты, выпадает такой: 1,2,3,4,4
Этот вариант я не сохраняю так как в нем две одинаковые четверки.
А вот вариант 1,2,3,4,5 сохраню, так как все числа в этом наборе не повторяются.Сейчас задача выполняется на компе, но процессор грузиться только на 18% под эту программу.
(Win 8.1 64 bit, iCore7, 8Гб ОЗУ, Ядер 4, Логический процессов 8)
Сам перебор выполняется в отдельном потоке.
*Подскажите пожалуйста, возможно ли применение TParallel под мою задачу и если да, то ускорит ли его применение работу программы?
*И если не трудно и кто знает как, то выложите пожалуйста пример как это должно выглядеть.
*Есть ли вариант заменить вон тот список условий (if (i_01 <> i_02.... и т.д.) на какой нибудь более грамотный вариант и не в ущерб в скорости? Или этот вариант единственный?
-
У меня уже несколько проектов переведено на чистый fmx, без всяких vcl. Из последних - отчетные формы в приложении на android. В приложении из больше двух десятков. Вот видео http://www.youtube.com/watch?v=x3bOYzP7N6k, в нем две формы отчетности (данные и наименования изменены специально). Первая "упрощенная", вторая более значимая. Работники компании пользуются каждый день и в день по несколько десятков раз. От начальства до среднего персонала. Смарт у меня не рутованый поэтому проект перегнал в Вин и потом снял видео, но на телефоне всё выглядит очень сексуально. Так что не знаю, кому как. Я вот начал и закончил уже много проектов. Да, есть проблемы, но fmx дает гораздо больше возможностей, в плане интерфейса. И это важно. А с проблемами так или иначе со временем справляемся. На VCL некоторых вещей вообще нельзя было сделать, коли на то пошло.
-
Во-первых выложи хотя бы скрины, пожалуйста.
Во-вторых, я хоть и не пользуюсь Антивирусов от Каспера, зато доверяю встроенному в Винде Защитнику, и он на твой файл жалуется. Так что коли ты выкладываешь именно exe, то хотя бы проверки выложи от онлайн антивирусов.
В-третьих, не смотря на жалобы антивирусника, я всё таки запустил программу, но она не пошла, ибо CC32160MT.dll не найдена. В инете её описания нет. Так что хоть поясни что это за либа такая.
Ну и касательно вопроса - ты давно был на PlayMarket'е? Там всегда было, есть и будет куча хлама лежать и пользоваться спросом. Там 98% мусорных приложений, однако они кому то нужны же. Касательно шахмат на троих, я не знаю, не играл. Играю с другом раза два в неделю в обычные шахматы в баре/кафе. Мы же не пьющие, вот и надо чем то мозги занять. Так что часа 2-3 в неделю на шахматы убиваем. И даже в такой, казалось бы простом приложение есть свои недороботки, мелкие, но все же хочется что бы их не было.
Так что. делай конечно.
-
Здравствуйте.
Как можно изменить скорость анимация смены вкладок?
А также очень волнует вопрос о том, можно ли изменить анимацию так, что бы она работала ни как AnimationFloat, а как AnimationFloatWait? Т.е. что бы код исполнялся только после того как завершена анимация перелистывания вкладки.
-
Здравствуйте.
Подскажите пожалуйста как правильно создать новые вкладки у TTabControl и как потом удалить все вкладки кроме первой включая содержимое, которое тоже создавалось в run-time.
Новые вкладки создаю через
TabControl.Add();
А удалять пробовал и через Destroy и через Delete, но то не удаляет то сыпет ошибками, то виснет приложение.
В частном случае, то бишь моем, у меня TabControl имеет одну вкладку созданную в DisignTime.
Требуется создать новые. А потом удалить все вкладки с содержимым кроме первой.
-
Здравствуйте.
Использую TPie что бы вывести круговую диаграмму.
И возник вопрос как разместить текст в видимой области.
Сейчас вот так:
А хочу вот такой результат:
Как такое сделать?
p.s. в середине, поверх pie лежит tcircle, поэтому такой вид. если кто то знает как сразу у pie сократить "хвостик" то поделитесь пожалуйста.
-
Только Win?
-
Запихивать в TImage это обязательно условие? Или можно в TLayout?
-
Здравствуйте.
Если накидать в run-time несколько компонентов в TVertScrollBox, то при первом прокручивание идёт притормаживание. Зато когда прогонишь/проскролишь туда сюда, то всё становится более менее плавно, по крайней мере рывки в прокручивание уходят.
Подскажите как от этого можно уйти, избавиться?
-
Здравствуйте.
Требуется удалить созданные в run-time'е Layout'ы с их содержимым. Все они имеют родителя TVetScrollBox;
Для удаления использую следующий код:
VertScrollBox4.Content.DeleteChildren;
Однако опираясь на два топика этот и вот этот, возник вопрос о корректности использования данного когда как на windows платформе, так и на android'е. Подскажите можно ли использовать такой подход для удаления дочерних элементов у TVertScrollBox? Очищает ли он память на всех платформах корректно или требуется ещё что то?
-
Здравствуйте.
Дано:
-TTabControl
∟TabItem1
∟Button1
∟TabItem2
Нажатием на Button мы переключаемся на вкладку TabItem2 и вызываем поток.
Внутри потока в процедуре Synchronize мы переключаемся обратно на вкладку TabItem1.
procedure ThreadSending.Sync; begin f.TabControl1.GotoVisibleTab(0, TTabTransition.Slide, TTabTransitionDirection.Reversed); end; procedure ThreadSending.Execute; begin try finally Synchronize(Sync); end; end;
Проблема в том, что если тип анимации стоит "TTabTransition.Slide", то с очень высокой вероятностью вкладка не будет переключена, а останется на той же где и была. Более того, если на этой вкладки были компонеты с анимацией, то они залипают, т.е. анимация останавливается.
А если изменить на "TTabTransition.None" то все отрабатывает как часы.
Как побороть этот недуг?
-
Ну про использование Start я в курсе.
Мне интересен именно новый подход и метода. В доках шепчут вот что:
> TThread.Suspend and TThread.Resume are deprecated: -Proper thread synchronization techniques should be based on System.SyncObjs.TEvent and System.SyncObjs.TMutex. Also, see Freezing and Thawing Threads in the Debugger. > New classes for thread synchronization: atomic operations on data shared between multiple threads -- TInterlocked, locking mechanisms -- TSpinWait, TSpinLock.
Я так понимаю что изменился сам подход к запуску потоков и сама работа потока.
Но примеров с описанием типичных вариантов найти не смог.
Так что, ещё раз прошу, если кто то знает как, то поделитесь знаниями пожалуйста.
-
Здравствуйте.
Раньше работал с потоками примерно так:
var th : SomeThread; begin th := SomeThread.Create; th.FreeOnTerminate := true; th.Resume; end;
Но теперь многие методы стали deprecated.
Приведите кто нибудь, пожалуйста, пример того, как теперь правильно под FMX работать с потоками?
-
Что то я ума все равно не смог дать. Пишет:
[FireDAC][Phys][ODBC][Microsoft][Диспетчер драйверов ODBC] Источник даных не найдне и не указан драйвер, используемый по умолчанию
При том что на XE6 с dbf файлы открывались.
Если не тяжело, выложите исходники. Может я что то упускаю.
-
Здравствуйте.
Есть видео файл. При использование на форме mediaPlayerControl'а он воспроизводит видео поверх всего.
Т.е. если взять TabContol и создать в нём две вкладки - TabItem1 и TabItem2 и в TabItem2 поместить MediPlayerControl с играющим видео, то даже если мы в процессе переключимся на на вкладку TabItem1, видео все равно будет видно.
Сам видеоряд состоит из 150 кадров. Размер 600ш на 840в.
Т.е. я могу конечно раскадрировать файл.
Но что мне потом использовать для адекватного отображения на форме?
Я так понимаю что даже BitmapListAnimation мне тут не помощник, ибо, насколько я помню, у него есть свои ограничения на размеры.
Так что мне тогда использовать?
-
Извиняюсь за долгое отсутствие (были проблемы с выходом в сеть интернет).
Написание своего компонента аниматора - я не затащу такой квест, скорее всего.
Может есть гайд по созданию подобного компонента, аниматора всмысле?
А вообще я наверное приведу пример того что именно я хочу в итоге, а то мне кажется что просто аниматором тут не обойтись.
Да и в целом совет требуется.
1. Заголовок (на меняющийся задний фон внимание не обращайте, это выдрано с видео-презентации HUD)
Вот хочется создать компонент, который при enabled:=true отрисовывался, как в самом начале и плавно название (caption) вверху появилось бы.
При изменение text надпись появлялась бы так же, как и строчки снизу.
Ну и конечно "уход со сцены", как в самом конце.2. Предупреждения
Вот у них тоже три стадии - появление, работа и уход.
Вот на примерах ниже ухода нет, так как в самой видео-презентации не представлен, но он по сути как и появление только наоборот.
3. Текстовые поля.
С функциями как у memo например, но с эффектами появления
Конечно, в первую очередь я решил наделать много "кадров" и запихать их в TBitmapListAnimation, но тогда программа станет весьма груженной и мне кажется что это в целом плохой путь. К тому же через TBitmapListAnimation масштабирование будет не возможным. А значит требуется использовать "векторный" подход. Я прав в своих рассуждениях, касательно векторного варианта?
И куда копать и что делать, что бы получить желаемый результат? Я бы и в разделе "создание компонентов" отписался бы, но сейчас даже не знаю как ТЗ сформировать.
-
Здравствуйте.
Подскажите пожалуйста, а есть ли механизм для реализации аминирования отрисовки TPath?
Т.е. как нарисовать хотя бы линию слева направо с анимацией?
-
-
Тема еще актуальна.
Раньше использовал модуль Bde.DBTables
Но сейчас его нет. Что вместо него?
-
-
Никаких ошибок. Просто не создается папка.
-
Здравствуйте.
Получаю путь с помощью TPath.GetHomePath, который возвращает следующую строку:
/data/data/com.embacadero.XE7XreateDir/files
Попытался создать в этой директории папку "myDir" с помощью ForceDirectories(TPath.GetHomePath+'/myDir');
Однако папка не создалась.
Подскажите плз, как сделать правильно.
-
Здравствуйте.
Кинул на форму TLocationSensor, сделал его Active.
И кинул Timer которые каждые 10 секунд делает вот так:
Memo1.Lines.Add('Latitude: '+f.LocationSensor1.Sensor.Latitude.ToString); Memo1.Lines.Add('Longitude: '+f.LocationSensor1.Sensor.Longitude.ToString);
Вот если выхода в сеть интернет нет, то координаты он не показывает, хотя GPS включен.
Стоит включить WiFi (с выходом в инет), сразу показывает координаты. А выключаю, и всё, ничего кроме NAN, не выводит.
Подскажите пожалуйста как получать координаты без выхода в инет?
-
Обход проблемы описан здесь. Похоже это действительно баг XE7, и если это на самом деле так, хочется в очередной раз сказать разработчикам: "Ребята, не торопитесь. Лучше выпускать 1 версию RAD Studio в год, при этом больше времени уделяя тестированию. Не нужно гнать брак...".
С одной стороны, да, гнать бажное ПО это не комильфо. То тут, то там выплывают баги/фичи. Т.е. количество выпущенных версий и апдейтов растёт, а количество багов не меняется. Хотя может это сообщение на эмоциях писано.
С другой стороны Embacadero стоит признаться самим себе в том, что они не могут писать ПО без багов и надо понять что это нормально - все пишут бажное ПО. Выпускается действительно много девайсов, у всех свои версии, свое железо, а еще есть надстройки от самих компаний, которые также дают свои "поправки". И в целом даже полугодичный выпуск становиться слишком долгим периодом для тех кто ждет исправлений или новшеств.
Ну и конечно ценник на новую версию не маленький. И многие делают большие пропуски в покупках, ибо нет желания (не то что возможности, а именно желания уже нет) платить за новые версии, в которых ждут новые баги. В итоге покупают скорее всего (Embacadero виднее конечно) через одну, две, а то и через три версии. Все остальные используют ломанные версии. А всё вместе это ведет к упущенной выгоде в Embacadero.
В очередной раз прошу Embacadero обратить внимание на политику продаж лицензий у UDK4.
Вы регистрируетесь на сайте. Оплачиваете 19$/мес, и скачиваете launcher. Через launcher можно скачать примеры (платные и бесплатные), а также саму среду UDK4. Самое главное что сразу в лаунчере доступны обновления с новыми фишками и исправленными ошибками, т.е. там так и идет - версия 4.0.1, 4.0.3, 4.0.4. И можно скачать новую если хотите и если ваша подписка не истекла.
У Embacadero уже есть зачатки подобного - это AppMethod. Но он обновляется исключительно по выходу новых версий или апдейтов.
Хотя было бы куда лучше если у тех кто имел подписку была возможность получать обновления сразу.
Насколько я помню в ХЕ7 было исправленно почти 2000 багов. Но всем пришлось ждать выхода новой версии. Разработчики не в один миг же, в день перед релизом, их исправили, они шли к этому день ото дня. Так почему же по такой схеме не выкладывать версии и патчи по мере исправления багов - 10 багов исправили и выложили. Исправили в 1 баг в неделю, тоже выложили.
Есть и еще один момент, обоюдно удобный для клиента и разработчика - это доступность бета версий. На свой страх и риск их можно скачивать.
Есть конечно и такая фишка, не думаю что Embacadero пойдет на неё, но все же - это то что даже после окончания подписки, среда всё еще доступна. Просто вы больше не можете получать обновления, готовое ПО не может быть использовано в коммерческих целях и нельзя писать в тех поддержку и отписываться о багах. Но по прежнему доступен офф. форум.
Да и может убрать это безумное количество типов Pro, Enterprise и разделение по платформам и т.д.? Не уверен, но мне кажется что изжило себя - это раз, а во вторых для компании поддерживать их после выпуска новых версий наверное геморно.
Могу привести пример себя - даже если я не пользуюсь UDK4 каждый день, я всё равно оплачиваю каждый месяц 19$, так как я не могу знать когда он мне понадобиться или когда у меня появиться время, но он должен быть доступен в любой момент.
Учитывая что ломанные версии все равно есть, то может Embacadero стоит хотя бы попробовать такой подход, отказаться всегда успеют. А если выстрелит и получиться?
Извините за адский оффтопик.
Нужна книга
в Руководства
Опубликовано
Если будет больше материала на русском, то и на наших форумах появится больше русско язычной информации и не придется равняться на иностранные источники. Материала все равно мало, даже и на английском. Docwiki от Embacadero вообще ни о чем (или я не правильно пользуюсь).
Что касается Крюкова, то даже если он и пропал, то и... Embacadero взяла его идею, но там и без него хватает гениев и трудолюбов, которые за годы работы внесли в развитие платформы в разы больше чем он сам. Так что если он там, то хорошо, если его там нет, то ничего плохого в этом тоже нет.
А книга, это да. Но не думаю что Ярослав "затащит" ещё и этот квест - ибо тут даже статью мало мальскую опубликовать много времени надо, а на книгу уйдет не простительно много человек-часов.