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

Alexey Lovchikov

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

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

  • Посещение

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

    6

Весь контент Alexey Lovchikov

  1. Здравствуйте, Прочитав тему http://fire-monkey.ru/topic/432-sovety-po-sozdaniiu-mobilnogo-prilozheniia-master-detail/?p=1638 решил переделать свое приложение с использованием Frame, подскажите правильно ли я его делаю Primer.zip
  2. То есть ты хочешь в зависимости от длины текста изменять свойство Font.Size?
  3. У TListBoxItem установи значение свойство StyleLookup в listboxitemnodetail и ItemData.Bitmap укажи картинку Проверял на XE7 Update 1
  4. Решения не нашел, стал просто использовать переключение без анимации TChangeTabAction Теперь переключение делаю так TTabControl.ActiveTab := ANextTab;
  5. Пример по использованию JSON uses System.IOUtils, System.JSON; procedure TForm1.btLoadClick(Sender: TObject); var AOptions: TJSONObject; AGroup: TJSONObject; AParam: TJSONValue; begin if FileExists(FFileName) then begin AOptions := TJSONObject(TJSONObject.ParseJSONValue(TFile.ReadAllText(FFileName))); AGroup := TJSONObject(AOptions.GetValue('group1')); if AGroup <> nil then begin AParam := AGroup.GetValue('edit1'); if AParam <> nil then Edit1.Text := TJSONString(AParam).Value; AParam := AGroup.GetValue('edit2'); if AParam <> nil then Edit2.Text := TJSONNumber(AParam).Value; end; AGroup := TJSONObject(AOptions.GetValue('group2')); if AGroup <> nil then begin AParam := AGroup.GetValue('checkbox1'); if AParam <> nil then CheckBox1.IsChecked := AParam is TJSONTrue; end; end; end; procedure TForm1.btSaveClick(Sender: TObject); var AOptions: TJSONObject; AGroup: TJSONObject; AParam: TJSONValue; APair: TJSONPair; begin AOptions := TJSONObject.Create; AGroup := TJSONObject.Create; AGroup.AddPair('edit1', Edit1.Text); if Edit2.Text.Trim <> '' then AGroup.AddPair('edit2', TJSONNumber.Create(Edit2.Text)); AOptions.AddPair('group1', AGroup); AGroup := TJSONObject.Create; if CheckBox1.IsChecked then AGroup.AddPair('checkbox1', TJSONTrue.Create) else AGroup.AddPair('checkbox1', TJSONFalse.Create); AOptions.AddPair('group2', AGroup); TFile.WriteAllText(FFileName, AOptions.ToString); end; procedure TForm1.FormCreate(Sender: TObject); begin {$IFDEF ANDROID} //Если файл во внутреннем накопителе то GetDocumentsPath //Если файл на внешнем накопителе то GetSharedDocumentsPath FFileName := TPath.Combine(TPath.GetSharedDocumentsPath, 'Options.json'); {$ENDIF} {$IFDEF MSWINDOWS} FFileName := ExtractFilePath(ParamStr(0)) + 'Options.json'; {$ENDIF} end; Также почитай http://www.webdelphi.ru/2011/10/rabota-s-json-v-delphi-2010-xe2/ Primer.zip
  6. Да, я чуть позже скину пример, кстати еще немного информации TJSONObject был перенесен в System.JSON
  7. Всем привет, Появилась проблема при работе с TWebBrowser и TTabControl. Мое приложение состоит из TTabControl с несколькими TTabItem. На одном из табов размещен TWebBrowser который в дальнейшем должен будет отображать html станицу. Переключение между табами делаю через класс TChangeTabAction. Проблема появляется при переключении с любого таб на таб с TWebBrowser и обратно, браузер начинает перекрывать все контролы. Если телефон перевернуть то браузер исчезает. Если кто знает как можно обойти данную проблему подскажите. Может каким нибудь способом заставить перерисовываться окно Среда: Embarcadero® Delphi XE7 Version 21.0.17707.5020 Во вложении пример программы Primer.zip
  8. Хранение информации о настройках в Ini файле на вой взгляд это прошлый век. Используй структуру XML или JSON. Чтоб использовать JSON подключи стандартные модули Data.DBXJSON, Data.DBXJSONCommon, Data.DBXJSONReflect в свой проект и используй объекты TJSONobject, TJSONArray и другие.
  9. Попробуй использовать стандартные жесты TGestureManager плюс анимацию TFloatAnimation Пример type TfmMain = class(TForm) MenuHide: TFloatAnimation; MenuShow: TFloatAnimation; gmGesture: TGestureManager; pnMenu: TPanel; btHide: TButton; Rectangle1: TRectangle; Label1: TLabel; procedure btHideClick(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); private { Private declarations } public { Public declarations } end; var fmMain: TfmMain; implementation {$R *.fmx} procedure TfmMain.btHideClick(Sender: TObject); begin MenuShow.Stop; MenuHide.Start; end; procedure TfmMain.FormCreate(Sender: TObject); begin MenuHide.StartValue := pnMenu.Position.Y ; MenuHide.StopValue := Self.ClientHeight; MenuShow.StartValue := MenuHide.StopValue; MenuShow.StopValue := MenuHide.StartValue; end; procedure TfmMain.FormGesture(Sender: TObject; const EventInfo: TGestureEventInfo; var Handled: Boolean); begin if EventInfo.GestureID = sgiUp then begin MenuHide.Stop; MenuShow.Start; end else if EventInfo.GestureID = sgiDown then begin MenuShow.Stop; MenuHide.Start; end; end; Во вложении пример программы Primer.zip
  10. Добрый день! Как я понимаю компонент TEdit в XE7 был переписан и класс TCustomEdit изменил предка на TPresentedControl. Теперь все мои компоненты пропали. В чем может быть проблема. Проверить можно простым созданием пустого класса наследника от TEdit type TMyEdit = class(TEdit) end; procedure TForm1.FormCreate(Sender: TObject); var AEdit: TMyEdit; begin AEdit := TMyEdit.Create(Self); AEdit.Parent := Self; AEdit.Position.X := 10; AEdit.Position.Y := 10; AEdit.Visible := True; end;
×
×
  • Создать...