Форум программистов, компьютерный форум CyberForum.ru

Delphi: FireMonkey

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 47, средняя оценка - 4.83
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
#1

Delphi XE5 Android: Сохранить и загрузить данные - Delphi FireMonkey

01.03.2014, 18:37. Просмотров 6486. Ответов 11
Метки нет (Все метки)

Всем привет. Вобщем в программе у меня есть 2 поля для ввода и 2 соответствующие кнопки 'LOAD' и 'SAVE'. Напротив кнопки 'SAVE' я ввожу название ini - файла, который хочу создать и сохранить туда две переменные Integer. А напротив кнопки 'LOAD' я ввожу имя ini-файла, из которого я хочу загрузить значения этих же двух переменных. Почему-то не работает, ни то что ini - файл, даже заданная папка 'LetsBet' в sdcard не появляется. Я сомневаюсь насчет того, правильно ли я прописал путь создававщегося ini-файла. Вот код для кнопки сохранения данных:
Delphi
1
2
3
4
5
procedure TForm1.Frame11btnSaveClick(Sender: TObject);
begin
  iniFile := TIniFIle.Create('sdcard/LetsBet/' + Frame11.editSave.Text + '.ini');
  iniFile.WriteInteger('parameters', 'Money', allMoney);
  iniFile.WriteInteger('paremeters', 'Bank', bankCash);
А вот код для загрузки:
Delphi
1
2
3
4
5
6
procedure TForm1.Frame11btnLoadClick(Sender: TObject);
begin
  iniFile := TIniFIle.Create('sdcard/LetsBet/' + Frame11.editLoad.Text + '.ini');
  allMoney := iniFile.ReadInteger('parameters', 'Money', allmoney);
  bankCash := iniFIle.ReadInteger('parameters', 'Bank', bankCash);
end;
Помогите пожалуйста) Смотел по урокам для Windows, пытаюсь сам переписать для Android.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
22477 / 14654 / 4175
Регистрация: 22.10.2011
Сообщений: 25,960
Записей в блоге: 4
01.03.2014, 18:58     Delphi XE5 Android: Сохранить и загрузить данные #2
Вообще-то надо работать с TPath, чтобы получить то, что нужно. Как-то вот так:
Delphi
1
iniFile := TIniFIle.Create(TPath.Combine(TPath.GetHomePath, Frame11.editSave.Text + '.ini'));
, ну, можешь перед названием файла еще название папки добавить, только для разделения используй TPath.DirectorySeparatorChar...
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
02.03.2014, 12:37  [ТС]     Delphi XE5 Android: Сохранить и загрузить данные #3
Что-то я дико туплю. Написал так:
Delphi
1
iniFile := TIniFIle.Create(TPath.Combine(TPath.GetDocumentsPath + TPath.DirectorySeparatorChar, '\LetsBet\config.ini'));
Опять же, я ошибся. Можешь, пожалуйста, расписать что надо писать в скобках, например (Тут пишешь путь файла к диску + 'название папки' + 'имя файла');Я написал образно, конечно. И напиши пожалуйста, как мне конкретно написать, чтобы файл с названием 'config.ini' создался в папке 'LetsBet', которая лежит на SD-карте смартфона. Я имею ввиду полностью готовый код. Буду крайне признателен) Никто не писал в интернете как это сделать именно на Android, а не на Windows.

Добавлено через 7 минут
Ах, да, изменил GetDocumentsPath на GetHomePath, ничего не изменилось(
danil031997
18 / 18 / 3
Регистрация: 07.06.2013
Сообщений: 49
02.03.2014, 12:43     Delphi XE5 Android: Сохранить и загрузить данные #4
У меня настройки создаются сразу в программе:
Delphi
1
2
IniFile:=TIniFile.Create(TPath.GetDocumentsPath+'/config.ini');
Inifile.WriteInteger('settings','rate',rate+1);
Ну и потом прочитываю когда нужно:
Delphi
1
rate:=IniFile.readinteger('settings','rate',0);
Все прекрасно работает. А насчет куда можно еще или вообще задеплоить файлы, видел две статьи: эту и эту

И когда создаешь допустим ини файл, посмотри куда ведет через Showmessage, но все же на разных устройств этот путь может быть разный.
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
02.03.2014, 12:47  [ТС]     Delphi XE5 Android: Сохранить и загрузить данные #5
А еще появилась ошибка [PAClient Error]Missing profile name. Раньше такой не было. Нагуглил, ответа не нашел.
danil031997
18 / 18 / 3
Регистрация: 07.06.2013
Сообщений: 49
03.03.2014, 13:52     Delphi XE5 Android: Сохранить и загрузить данные #6
Сообщение было отмечено автором темы, экспертом или модератором как ответ
На скорую руку я вам написал проект, сохраняются настройки в папке с кэшем. (рекомендую все же там хранить настройки), а если нужно спрятать от глаз пользователя, то уже в internal (внутри приложения).

Delphi
1
TPath.Combine(TPath.GetDocumentsPath, 'filename')  { Internal }
Вложения
Тип файла: zip Inifiles.zip (11.6 Кб, 413 просмотров)
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
03.03.2014, 14:06  [ТС]     Delphi XE5 Android: Сохранить и загрузить данные #7
Просто дитчайше Вас благодарю! Все работает, не знаю как Вам выразить свою благодарность!) Спасибо огромнейшее!
rzawm
0 / 0 / 0
Регистрация: 08.02.2015
Сообщений: 6
28.02.2016, 22:37     Delphi XE5 Android: Сохранить и загрузить данные #8
Всем доброго времени суток!
Уважаемые форумчане, прошу помощи.
Есть некое приложение на ХЕ7 оно создано под андроид.
В этом приложении есть memo1 собственно надо инфу из него записать в текстовой файлик, как это сделать без сэйвдиалога никак не догоню. Прошу помощи как это реализовать.
Один момент, этот файлик в дальнейшем будет открываться на этом же мобильном устройстве, но уже как говориться сторонней прогой, т.е. он должен распологаться гдето в общедоступном пространстве.
Заранее всем благодарен! Если можно ответ по подробнее, с наглядным примером, так как к делфям обращаюсь эпизодически, по мере необходимости, и бывает элементарные вещи подзабываю

Добавлено через 4 часа 38 минут
Вот это TPath.Combine(TPath.GetSharedDocume ntsPath, 'filename'); думаю както надо заюзать, но что то ума не приложу как
rzawm
0 / 0 / 0
Регистрация: 08.02.2015
Сообщений: 6
01.03.2016, 18:34     Delphi XE5 Android: Сохранить и загрузить данные #9
Ребята, но очень надо, сохранять содержимое memo в файл на андроиде в общедоступное место, чтобы потом оттуда его забирать другой прогой.
Никакой коммерции. Всё на общественных началах.
Павел Зайцев
1 / 1 / 0
Регистрация: 02.11.2016
Сообщений: 20
16.11.2016, 20:19     Delphi XE5 Android: Сохранить и загрузить данные #10
Выделенные команды пути работают работаю и внезапно начинают вызывать ошибку
"TPath" does not contain a member name
Такая проблема.

memo1.Lines.SaveToFile(TPath.Combine(TPath.GetSharedDocumentsPath, 'test.txt')) ;
Павел Зайцев
1 / 1 / 0
Регистрация: 02.11.2016
Сообщений: 20
21.11.2016, 21:18     Delphi XE5 Android: Сохранить и загрузить данные #11
Тут тоже отпишусь. Решил проблему через поток.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2016, 09:55     Delphi XE5 Android: Сохранить и загрузить данные
Еще ссылки по теме:

Delphi FireMonkey Отправка почты [Delphi XE5 Android]
Как вставить картинку в Delphi XE5 Android? Delphi FireMonkey
Delphi FireMonkey Добавить Android SDK в Delphi XE5
Delphi FireMonkey Добавление своих файлов в android приложение Delphi xe5
Delphi XE5 Android! Delphi FireMonkey

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Sakamon
0 / 0 / 0
Регистрация: 16.07.2015
Сообщений: 2
22.11.2016, 09:55     Delphi XE5 Android: Сохранить и загрузить данные #12
Спасибо, Огромное спасибо! Очень помог!
Yandex
Объявления
22.11.2016, 09:55     Delphi XE5 Android: Сохранить и загрузить данные
Ответ Создать тему
Опции темы

Текущее время: 06:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru