Перейти к содержанию

Slym

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

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

  • Посещение

  • Победитель дней

    20

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

  1. и ручками править хрупкую структуру - нунах... там у тебя json, проверяй валидность json json:=TJSONObject.ParseJSONValue(Bytes, 0);
  2. Bytes:=TEncoding.UTF8.GetBytes(Memo1.Lines.Text); BytesStream:=TBytesStream.Create(Bytes); try HTTPResponse:=FHTTPClient.Post('https://securepay.tinkoff.ru/v2/Init', ByteStream); ..... finally BytesStream.Free; end
  3. procedure TForm1.CalcContentBounds(Sender: TObject; var ContentBounds: TRectF); begin TCustomScrollBox(Sender).AniCalculations.BoundsAnimation:=(TCustomScrollBox(Sender).Size.Height<ContentBounds.Height); end;
  4. Давайте определим а точно это "палец" был, а не хм... ченить другое? левый верхний угол пальца - маинкрафтер? по делу - откалибруйте сенсор...
  5. вызывается виртуальный метод TObject.Destroy; виртуальный здесь ключевое! виртуальные методы хранятся в спецтабличке Вы же разместили свой деструктор вне этой таблицы сделав его статичным. статичным он стал потому что нет правильного модификатора, по факту Вы написали destructor Destroy;пусто; модификатор overload - это из оперы несколько методов с одним названием. Destroy вызывается у всех типов в цепочке наследования кроме вашего типа, для вашего типа виртуальный Destroy не определен
  6. Кстати подобная ошибка у меня иногда выходит при повороте окна со сложным интерфейсом...
  7. Мы пользуем 1 форму. А сверху натягиваем различные TFrame TFrame - как форма, нормально визуально правится
  8. 1. Зачем базу хардкодить в апк? байэир никак? 2. Если захотите денег купите bass или возьмете другое? (какое указать:) )
  9. hints: TDictionary<TDecodeHintType, TObject>; l: TList<TBarcodeFormat>; begin if not Assigned(FScanManager) then begin hints := TDictionary<TDecodeHintType, TObject>.Create(); l:=TList<TBarcodeFormat>.Create; l.Add(TBarcodeFormat.QR_CODE); hints.Add(ZXing.DecodeHintType.POSSIBLE_FORMATS, l); FScanManager := TScanManager.Create(TBarcodeFormat.QR_CODE, hints); не тестил
  10. Не ну черным по белому FMX.Controls.pas - один файл... и сначала попробуй FMX.Types.FindStyleResource(StyleName); как выше... может будет достаточно
  11. значит патченый FMX.Controls.pas не компилирует... полож его в папку проекта и явно добавь в проект кстати сам стиль надо искать так Style:=FMX.Types.FindStyleResource(StyleName); а далее TSwitchObject(Style).Fill....
  12. Мда... На такой случай мы патчим FMX.Controls.pas procedure TStyledControl.StyleDataChanged(const Index: string; const Value: TValue); var Obj: TObject; InstanceName, PropertyName: string; PropertyValue: TValue; begin PropertyName := Index; InstanceName := GetToken(PropertyName, '.'); if SameText(InstanceName,'self') then Obj:=FResourceLink else Obj := FindStyleResource(InstanceName); if Obj <> nil then и тогда ReleSwitch.StylesData['self.Fill.Color']
  13. т.е. не получится что-то изменить через StylesData поля корневого элемента стиля... все что хочется изменить должно быть ниже корневого элемента
  14. ReleSwitch.StylesData['АГДЕКОМУ?.Fill.Color'] обязательно должен быть АГДЕКОМУ если этот АГДЕКОМУ это кореть стиля - то поместит стиль в TLayout, а этот самый АГДЕКОМУ дать имя
  15. Slym

    TSpinBox

    Никак. Читайте что такое числа с плавающей точкой. 1 правило работы с плавающей точкой: Нельзя проверять 2 числа на равенство оператором = нельзя: const dx:double=143.201; const sx:single=143.201; begin assert(dx=sx); end;
  16. Так у тебя уже все есть... кроме отправки почты (а с ней не все так просто как кажется, все борются со спамом) Компонуй и получай свой гонорар
  17. а для чего много pas файлов, почему все в одном не сделать, удобство или что ЗЫ: У меня в текущем проекте 133 pas файла... не считая общих с другими проектами модулей... и это без учета сторонних компонент. и это не удобства ради, я для выживания когда разные несвязанные сущности в одном месте - плохо как двигатель в салоне, бензобак под жопой, выхлопная в лицо, аккумулятор с серной кислотой на каленках...
  18. 1. Говорят - сначала сделай "какнибудь" - оптимизацию оставь на потом 2. А книжку почитай... ООП там всякие... инкапсуляция там, переиспользование кода... по вашему списку 1. Список счетов (желательно с оповещением статусов, типа как на СМС на ватсапе приходят) Кто их делать будет? Бекенд? На чем написан? или его нет? 2. Онлайн каталог номенклатуры (калькулятор с разными расчетами, примерно как в Apk, думаю надо будет подробно объяснять как и что) Онлайн каталог ты получил выше... 3. Раскрой листа (алгоритм я же сделал, просто внедрить): ввод списка с числами (габаритY, габаритX, кол-во) , показать изображение работы алгоритма: Прежде чем внедрять нужно понять к чему? Нафега клиенту твой алгоритм? Он не тебе материал экономит, а себе деньги... Сущьность какая? Заказ? список деталей? детали круглые/квадратные/в форме котиков? Кто раскрой делать будет? Клиент - ему это нафиг ненадо, хоть 1 деталь на лист. Бекенд? Админский фронтэнд? На чем написан? или его нет? 4. Контакты (просто текстовая информация с ссылками) Тупо вывести на экран как Hello world... 5. Отзыв (отправка текста мне на почту) Кто почту отправлять будет? Бекенд? На чем написан? или его нет? 6. Загрузка файлы xls (прайс) Кто и главное куда (база) парсить будет? Бекенд? На чем написан? или его нет? Рано тебе клиентское приложение делать - я тебя бекенда нет по 1,3,5,6 пунктам... и того 2 или даже 3 программы: бекенд, клиентская часть, и одминка для приемщика заказа причем править имеющийся бекенд сайта тебе править низя иначе ты бы послушался и не парсил html а запилил нормальный JSON в нужном формате
  19. делаю перетаскивание внутри скрола. в момент MouseDown таскаемого контрола надо отключить скролирование скрола... что не делаю скролится. пока сделал TOpenAniCalculations(vSB.AniCalculations).TouchTracking := []; но если можно "правильнее" - жду ответа
  20. За такое надо яички в тисочки...
  21. initialization RegisterClass(TFillRGBEffect);
  22. try //bad code here except on E:Exception do ShowMessage(E.Message); end
  23. 1. кидаем GestureManager 2. заполняем Touch/InteractiveGest... (у тапаемого контрола) 3. пишем onGesture (у тапаемого контрола) if EventInfo.GestureID=igiLongTap then ...
  24. Slym

    multicast udp

    А в инде все готово... procedure TForm1.FormCreate(Sender: TObject); begin IdUDPServer1.ReuseSocket:=TIdReuseSocket.rsTrue; IdUDPServer1.DefaultPort:=9898; IdUDPServer1.Active:=true; end; procedure TForm1.IdUDPServer1AfterBind(Sender: TObject); begin IdUDPServer1.Bindings[0].AddMulticastMembership('224.0.0.50'); end;
  25. Slym

    multicast udp

    https://habr.com/ru/post/141021/ ключевой момент "Подключение к группе"
×
×
  • Создать...