Форум программистов, компьютерный форум 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. Просмотров 6969. Ответов 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.
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.03.2014, 18:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Delphi XE5 Android: Сохранить и загрузить данные (Delphi FireMonkey):

Delphi XE5 Android! - Delphi FireMonkey
АПК на андроиде версии 4 запускается и работает нормально а на версиях с выше 5 не запускается и не работает кто знает причину хелп плиз

Delphi XE5 & Android - Delphi FireMonkey
Вчера поставил RAD Studio и решил написать примитивный аудио плеер для Android, но возникла такая проблема, как найти все аудио файлы на...

Delphi XE5 Android + GPS - Delphi FireMonkey
Здравствуйте. Вот решил попробовать по программировать на Android. За Delphi уже давно не садился ... но это пустяк ... Суть дела режил...

Клавиатура Android - Delphi XE5 - Delphi FireMonkey
Такая проблема, вводится текст в edit, после нажатия на edit, его закрывает клавиатура, можно ли как-то edit поднять наверх к клавиатуре,...

Delphi XE5: Android рисовалка - Delphi FireMonkey
Всем доброго времени суток. Пытаюсь потихоньку осваивать Delphi XE5 под Android Встала задача нарисовать простенькую рисовалку, но...

Добавить Android SDK в Delphi XE5 - Delphi FireMonkey
Добрый день! Помогите добавить в Environment options/SDK manager (или еще как) android SDK в delphi XE5. В настоящий момент у меня там...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
volvo
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
23563 / 15557 / 4602
Регистрация: 22.10.2011
Сообщений: 27,581
Записей в блоге: 5
01.03.2014, 18:58 #2
Вообще-то надо работать с TPath, чтобы получить то, что нужно. Как-то вот так:
Delphi
1
iniFile := TIniFIle.Create(TPath.Combine(TPath.GetHomePath, Frame11.editSave.Text + '.ini'));
, ну, можешь перед названием файла еще название папки добавить, только для разделения используй TPath.DirectorySeparatorChar...
0
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
02.03.2014, 12:37  [ТС] #3
Что-то я дико туплю. Написал так:
Delphi
1
iniFile := TIniFIle.Create(TPath.Combine(TPath.GetDocumentsPath + TPath.DirectorySeparatorChar, '\LetsBet\config.ini'));
Опять же, я ошибся. Можешь, пожалуйста, расписать что надо писать в скобках, например (Тут пишешь путь файла к диску + 'название папки' + 'имя файла');Я написал образно, конечно. И напиши пожалуйста, как мне конкретно написать, чтобы файл с названием 'config.ini' создался в папке 'LetsBet', которая лежит на SD-карте смартфона. Я имею ввиду полностью готовый код. Буду крайне признателен) Никто не писал в интернете как это сделать именно на Android, а не на Windows.

Добавлено через 7 минут
Ах, да, изменил GetDocumentsPath на GetHomePath, ничего не изменилось(
0
danil031997
18 / 18 / 3
Регистрация: 07.06.2013
Сообщений: 49
02.03.2014, 12:43 #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, но все же на разных устройств этот путь может быть разный.
1
bullet0070
2 / 2 / 0
Регистрация: 27.10.2013
Сообщений: 57
02.03.2014, 12:47  [ТС] #5
А еще появилась ошибка [PAClient Error]Missing profile name. Раньше такой не было. Нагуглил, ответа не нашел.
0
danil031997
18 / 18 / 3
Регистрация: 07.06.2013
Сообщений: 49
03.03.2014, 13:52 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
На скорую руку я вам написал проект, сохраняются настройки в папке с кэшем. (рекомендую все же там хранить настройки), а если нужно спрятать от глаз пользователя, то уже в internal (внутри приложения).

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

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

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

Delphi XE5, Android, перевод строки - Delphi FireMonkey
Пишу некотору прогу на андроид. Короче некоторой переменной стрингового типа я присваиваю символ перехода на новую строку(#13) и некоторую...

Отправка почты [Delphi XE5 Android] - Delphi FireMonkey
Всем привет. Хочу написать программу на Андроид которая будет отправлять на Почту письмо. Вот код программы: unit Unit1; interface...

Вставка картинки в листбокс Delphi XE5 Android - Delphi FireMonkey
Здравствуйте! Ребята подскажите как вставить 2 картинку в итем лист бокса. Одну основную я вставил но по условию нужно вставить в некоторых...

Как вставить картинку в Delphi XE5 Android? - Delphi FireMonkey
У меня трабла. Работал раньше в делфи 7. А там было свойство Image1.Picture чтобы загрузить картинку. НО В XE5 этого нет! Помогите крч.


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
22.11.2016, 09:55
Ответ Создать тему
Опции темы

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