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

Равиль Зарипов (ZuBy)

Модераторы
  • Постов

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

  • Посещение

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

    265

Весь контент Равиль Зарипов (ZuBy)

  1. внешнее хранилище это карта памяти скорее всего. папка GetDocumentsPath - доступна только для своего приложения, соответственно сторонние приложения доступа не имеют к ней
  2. ребята ну сколько можно уже, одно да потому. миллион раз говорилось что для мобилки не подходит прямой доступ к БД! это не десктоп, тут совсем другой подход, не наступайте на грабли
  3. в винде нет такого функционала в пикерах, только дата. в андроиде можно выбрать и дату и время отдельно. вот пример
  4. Я уже выкладывал выше альтернативу TRestClient, там можно работать THTTPClient, пример есть на гитхабе
  5. Можно проверять по другому, в поиске искать по словам CheckInternet2
  6. единственное что я видел связанное с VR, это вот
  7. FMX это кросс-платформенная библиотека, поэтому в ней поведение компонентов сделали общими. неопределенное состояние было только на платформе Windows, поэтому его вырезали
  8. procedure Parsing(URLToPars: string; aListView: TListView); var TempText: string; HeadMatches, MsgMatches: TMatchCollection; CountPagesMatch: TMatch; i: Integer; HeadRegularExprString: string; MsgRegularExprString: string; begin // вот это место, которое хотелось бы видеть с в потоке и с индикатором: <form1>.AniIndicator1.Enabled := true; // вот это место, которое хотелось бы видеть с индикатором TTask.Run( procedure begin HTMLText := IdHTTP1.Get(URLToPars); // выполняем загрузку файла из интернета; CountPagesMatch := TRegEx.Match(HTMLText, 'max="(.*?)".*value="(.*?)"'); HeadRegularExprString := 'class="date">(.*?)<.*?class="id">(.*?)<'; MsgRegularExprString := 'class="text">(.*?)<\/div>'; HeadMatches := TRegEx.Matches(HTMLText, HeadRegularExprString, [roIgnoreCase, roMultiLine]); MsgMatches := TRegEx.Matches(HTMLText, MsgRegularExprString, [roIgnoreCase, roMultiLine]); TThread.Synchronize(TThread.CurrentThread, procedure begin aListView.Items.Clear; if HeadMatches.Count = MsgMatches.Count then begin for i := 0 to HeadMatches.Count - 1 do begin TempText := HTMLClear(MsgMatches.Item.Groups[1].Value); with aListView.Items.Add do begin Data['DateText'] := HeadMatches.Item.Groups[1].Value; Data['CitateText'] := HeadMatches.Item.Groups[2].Value; Data['MainText'] := TempText; Data['imgCopy'] := il1.Bitmap(TSizeF.Create(36, 36), 0); Data['imgSend'] := il1.Bitmap(TSizeF.Create(36, 36), 1); end; end; end else ShowMessage('Ошибка загрузки данных!'); <form1>.AniIndicator1.Enabled := false; end); end); end;
  9. я могу дать две подсказки 1) ваш вариант мой вариант 2) ShowMessage(ItemObject.Name); UPDATE: Чтобы закрыть тему, приложу измененный вариант 111.zip
  10. procedure Parsing(URLToPars: string; aListView: TListView); var TempText: string; HeadMatches, MsgMatches: TMatchCollection; CountPagesMatch: TMatch; i: Integer; HeadRegularExprString: string; MsgRegularExprString: string; begin // вот это место, которое хотелось бы видеть с в потоке и с индикатором: <form1>.AniIndicator1.Enabled := true; // вот это место, которое хотелось бы видеть с индикатором TTask.Run( procedure begin HTMLText := IdHTTP1.Get(URLToPars); // выполняем загрузку файла из интернета; TThread.Synchronize(TThread.CurrentThread, procedure begin aListView.Items.Clear; CountPagesMatch := TRegEx.Match(HTMLText, 'max="(.*?)".*value="(.*?)"'); HeadRegularExprString := 'class="date">(.*?)<.*?class="id">(.*?)<'; MsgRegularExprString := 'class="text">(.*?)<\/div>'; HeadMatches := TRegEx.Matches(HTMLText, HeadRegularExprString, [roIgnoreCase, roMultiLine]); MsgMatches := TRegEx.Matches(HTMLText, MsgRegularExprString, [roIgnoreCase, roMultiLine]); if HeadMatches.Count = MsgMatches.Count then begin for i := 0 to HeadMatches.Count - 1 do begin TempText := HTMLClear(MsgMatches.Item.Groups[1].Value); with aListView.Items.Add do begin Data['DateText'] := HeadMatches.Item.Groups[1].Value; Data['CitateText'] := HeadMatches.Item.Groups[2].Value; Data['MainText'] := TempText; Data['imgCopy'] := il1.Bitmap(TSizeF.Create(36, 36), 0); Data['imgSend'] := il1.Bitmap(TSizeF.Create(36, 36), 1); end; end; end else ShowMessage('Ошибка загрузки данных!'); <form1>.AniIndicator1.Enabled := false; end); end); end;
  11. к таким вопросам прикладывайте проект
  12. вот например https://community.embarcadero.com/blogs/entry/10-1-berlin-premium-style-pack-for-vcl-and-firemonkey
  13. можно демо проект? так сможем помочь быстрей и для чего использовать ScanLine? и где вы его вообще взяли?) он в VCL версии был а вообще попробуйте вместо 2 - использовать Scale девайса DrawBitmap(GlobalBitmap,DRect, TRectF.Create(<scale>, <scale>, GlobalBitmap.Width + <scale>, GlobalBitmap.Height + <scale>), 1);
  14. это нужно искать в исходниках, найдете модуль положите его себе в проект и заменить в нем сообщение на своё
  15. //uses System.Threading; var aData: string; begin TTask.Run( procedure begin aData := idHttp1.Get('url'); // выполняем загрузку файла из интернета; TThread.Synchronize(TThread.CurrentThread, procedure begin Memo1.Text := aData; // выполняем действия связанные с визуальными компонентами end); end); end;
  16. ну почему сразу не используйте, нужно просто знать как с этим работать. например вот в таких конструкциях очень удобно, не требуется заводить переменную with TStringList.Create do begin Text := 'ТЕКСТ'; SaveToFile('c:\file.txt'); Free; end;
  17. если вам не понятен этот код For i:=0 to List.Count-1 do with List.Items[i] do begin Position.Y:=Position.Y+0.5; end; то его можно переписать следующим образом for i:=0 to List.Count-1 do List.Items[i].Position.Y := List.Items[i].Position.Y+0.5; UPDATE: http://delphicode.org/delphi/with.htm
  18. procedure TForm6.Button1Click(Sender: TObject); // uses System.IOUtils, Androidapi.Helpers, Androidapi.Jni.JavaTypes; var jF: JFile; begin jF := TJFile.JavaClass.init(StringToJString(Tpath.GetDownloadsPath)); if jF.isDirectory then ShowMessage(IntToStr(jF.getFreeSpace)); end;
  19. вы пробовали купить в Google Play? попробуйте и все вопросы отпадут. не нужно её скрывать, пока человек не купит, он ее не установит на телефон
  20. как понять для не купивших? так они её себе не поставят пока не оплатят
  21. Вы описали почти все методы для Windows, это к мобильной разработки никак не относится. Единственно верный путь: это Триал и Pro версия. обе публиковать в маркете. и не нужно заботиться о ключах и прочем.
  22. ну и как результат, написанного выше
×
×
  • Создать...