Лидеры
Популярный контент
Показан контент с высокой репутацией 23.11.2015 во всех областях
-
Елки зеленые... Не подумал) вот исправлено на стандартный TImage SampleClock.zip5 баллов
-
вдогонку, кому интересно SampleCPUUsage.zip4 балла
-
Случайное генерирование цвета
Alisson R Oliveira и 2 других отреагировал Равиль Зарипов (ZuBy) за вопрос
вот так делается self.Fill.Color:= TAlphaColorF.Create(255/Random(255), 255/Random(255), 255/Random(255), 255/Random(255)).toAlphaColor;3 балла -
и самое обидное, что нет никакой инфы, что разработчики будут с такой ситуацией делать, и есть ли вообще возможность что-то сделать, или fmx так и останется демо-фреймворком2 балла
-
http://fire-monkey.ru/topic/162-vozmozhno-li-podkliuchitsia-k-mysql-bez-dll-na-androide/1 балл
-
Notification
masmat отреагировал Равиль Зарипов (ZuBy) за вопрос
перенесли ведь сюда uses System.Notification1 балл -
1 балл
-
http://www.appmethod.com/ru/pricing ставишь бесплатную версию. 30 дней под все платформы. сносишь. ставишь опять. 30 дней юзаешь. бесплатно. только ставить надо туда где можно будет откатиться хотя хз не знаю не проверял как определяется что прошло 30 дней.1 балл
-
[Android] Технология NFC
Kitty отреагировал Равиль Зарипов (ZuBy) за вопрос
обоснованный ответ я вам не дам, скажу почти со 100% уверенностью вы не включите эту опцию. т.к. андроид в последнее время заботится о безопасности, а именно через NFC сейчас строят бесконтактную оплату и тут никак нельзя допускать "третьего" между телефоном и терминалом. в ранних версиях не было оплаты и сервисов которые бы работали на этой технологии, думаю с этим и связано доступность мульти режима1 балл -
[Android] Технология NFC
Kitty отреагировал Равиль Зарипов (ZuBy) за вопрос
а NFC поддерживает multi режим? это ведь современный аналог irDa просто я сам пользуюсь NFC и передавать через него жесть. только если обмен ссылками удобно1 балл -
Все, окончательно осознал механизм работы, теперь все стало на свои места. Все дело в том, что моя камера выдает данные в формате AARRGGBB, только вот значение старших двух бит равно $00, а не $FF. Поэтому картинка и воспринимается прозрачной для TImage. В итоге пробежался в цикле по памяти, поменял нули на $FF и все заработало.1 балл
-
Да, спасибо, получилось, как вы написали. В «FMX.Media.pas» для CameraComponent есть свойство FocusMode с такими вариантами значений. В приложении доработал пример работы TCameraComponent с возможностью фокусировки камеры. На моем HTC One фокусировка работает только в значении fmContinuousAutoFocus. procedure RegisterAliases; begin AddEnumElementAliases(TypeInfo(TDevicePosition), ['dpUnspecified', 'dpFront', 'dpBack']); AddEnumElementAliases(TypeInfo(TFlashMode), ['fmAutoFlash', 'fmFlashOff', 'fmFlashOn']); AddEnumElementAliases(TypeInfo(TFocusMode), ['fmAutoFocus', 'fmContinuousAutoFocus', 'fmLocked']); AddEnumElementAliases(TypeInfo(TTorchMode), ['tmModeOff', 'tmModeOn', 'tmModeAuto']); AddEnumElementAliases(TypeInfo(TVideoCaptureQuality), ['vcPhotoQuality', 'vcHighQuality', 'vcMediumQuality', 'vcLowQuality']); AddEnumElementAliases(TypeInfo(TCameraKind), ['ckDefault', 'ckFrontCamera', 'ckBackCamera']); end; Мое мнение, компонент TCameraComponent не пригоден пока для промышленной эксплуатации — очень тяжело работает, для примеров разве что. Решил в проекте использовать Standart Action — TTakePhotoFromCameraAction — стандартная камера устройства сама сделает качественное фото, остается только его обработать. CameraComponentWith.zip1 балл
-
1 балл
-
отрицательно влияет конечно ) но навигатор обычно сразу на питание садят1 балл
-
Кидаешь на форму FDConnection, FDQuery Драйвер FDPhysMySQLDriverLink и курсор FDGUIxWaitCursor В FDConnection ставишь DriverName MySQL В драйвере FDPhysMySQLDriverLink указываешь путь к dll Двойной клик по FDConnection, указываешь данные для подключения в FDConnection В FDQuery указываешь подключение Двойной клик по FDQuery и можно писать запрос к базе. Вроде все!1 балл
-
ListBox, Edit и клавиатура
Rusland отреагировал Cody71727172 за вопрос
У Edit свойство KillFocusByReturn = true, ReturnKeyType=Done/Go/Next/Search/Send1 балл -
от задачи зависит конечно, но толстого клиента убил Devart.com еще в 90-х..., а если не умеете писать хранимые процедуры...то вам точно не пойдет "толстый" клиент ) теоретически в реализации и задумке, андроид и иос не отличаются от виндовс приложений, а в них ВСЕ толстые )), толстые чтоб вы знали, это "не зависимый интерфейс", веб дефакто тонкий... а вот дроид и иос увольте ), можно тонкий и на них...но не для этого они ) есть магаз же, сбегал обновился, а винде его не было ранее...да и щас мало кто юзает Даже если и умеете писать - толстые клиенты это зло. Именно сервер должен заниматься не только хранением, но и иметь бОльшую часть функционала по обработке данных. Это значительно упрощает всяческие обновления, нововведения и устранения глюков. Попробуйте выпустить мобильного толстого клиента с какой-нибудь незамеченной ошибкой, которая приводит к нестыковке данных в БД, а потом заставить всех пользователей обновить приложение - да половина не сделает этого в разумные сроки. И будете вставлять костыли в свои хранимки. В Windows далеко не все клиенты толсты, у вас устаревшие сведения. "Есть магаз" - я вот принципиально не обновляю из магаза некоторые приложения: часть из них убили отвратительным переводом на Material Design, а часть от версии к версии все больше кушает память, что для моего телефона уже непозволительно. И чтобы вы знали - "толстость" клиента к "независимому интерфейсу" отношения не имеет. Если я правильно вас понял, то под независимым интерфейсом вы понимаете MVC. А "толстость" определяется тем, где производится основная работа с данными: обработка, преобразование, вылавливание ошибок и т.п. Если на клиенте - он толстый, если на сервере - то тонкий.1 балл
-
Авторство всецело не мое, только правки вносил, т.к. в разных версиях студии код вел себя по-разному. Прощу прощения за то, что выкладываю в неудобной форме, просто из моего проекта сейчас это будет уже достаточно проблематично вытащить. Код для использования: На форме лежат Мемо, кнопки открытия/закрытия, эдит для отправляемых текстов и кнопка отправить. в паблике у формы добавляем объект GPort: TComPort; // ****************************************************************************** // ПРОЦЕДУРЫ РАБОТЫ С COM ПОРТОМ // открываем порт procedure TFormChannels.OpenPort(PortNum: Byte); begin GPort := TComPort.Create(PortNum, br9600); GPort.OnRead := FormChannels.OnRead; GFlagOpen := true; FormChannels.ButtonClosePort.Enabled := true; end; // закрываем порт procedure TFormChannels.ClosePort; begin GPort.Free; end; // отправляем в порт данные procedure TFormChannels.WritePort(strWrite: string); var arrBytes: array of Byte; i: Integer; begin if GFlagOpen = False then // проверяем, открыт ли порт OpenPort(strtoint(edtPort.Text)); // если нет, то открываем SetLength(arrBytes, Length(strWrite)); for i := Low(arrBytes) to High(arrBytes) do arrBytes[i] := Ord(strWrite[i + 1]); GPort.Write(arrBytes); arrBytes := nil; end; // читаем данные из порта procedure TFormChannels.OnRead(Sender: TObject; ReadBytes: array of Byte); var i: Integer; begin memRead1.Lines.BeginUpdate; for i := Low(ReadBytes) to High(ReadBytes) do begin if i > Low(ReadBytes) then memRead1.Text := memRead1.Text; // + '.'; memRead1.Text := memRead1.Text + char(ReadBytes[i]); end; // подчищаем заполняющийся Мемо if memRead1.Lines.Count > 5 then begin // memRead1.Clear; memRead1.Lines.Delete(0); memRead1.Lines.Delete(1); end; memRead1.Lines.EndUpdate; end; procedure TFormChannels.ButtonClosePortClick(Sender: TObject); begin ClosePort; end; // открываем порт кнопкой procedure TFormChannels.ButtonOpenPortClick(Sender: TObject); begin OpenPort(strtoint(edtPort.Text)); end; // отправляем в порт данные кнопкой procedure TFormChannels.btnWriteClick(Sender: TObject); begin WritePort(FormChannels.edtWrite.Text); end; // КОНЕЦ ПРОЦЕДУР РАБОТЫ С COM ПОРТОМ // ****************************************************************************** ComPort.zip1 балл