S0lexV Опубликовано 19 сентября, 2017 Поделиться Опубликовано 19 сентября, 2017 (изменено) Друзья, подскажите пожалуйста как реализовать на с++ в FMX загрузку и сохранение текста. В VCL раньше делал так: TStringList *sl = new TStringList; sl->LoadFromFile(path+"car.car"); for(int i = 0 ; i<sg->RowCount ; i++) { sg->Rows[i]->DelimitedText=sl->Items->Strings[i]; } Но в FMX нет метода "Rows"..... В инете есть примеры на делфи, но на C++ нет, переделать не получается. Очень нужно! Пожалуйста! Изменено 19 сентября, 2017 пользователем S0lexV Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 19 сентября, 2017 Поделиться Опубликовано 19 сентября, 2017 (изменено) sl->Strings[i] или sl[i] http://docwiki.embarcadero.com/RADStudio/Berlin/en/Accessing_a_Particular_String Изменено 19 сентября, 2017 пользователем Alex7wrt Anatoliy 1 Цитата Ссылка на комментарий
0 S0lexV Опубликовано 19 сентября, 2017 Автор Поделиться Опубликовано 19 сентября, 2017 ошибка, не влияющая на решение задачи.... Мне нужно залить в SG текст по делимитеру Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 19 сентября, 2017 Поделиться Опубликовано 19 сентября, 2017 (изменено) sl->delimiter = your_delimiter; sl->delimitedtext = your_text; Изменено 19 сентября, 2017 пользователем Alex7wrt Цитата Ссылка на комментарий
0 S0lexV Опубликовано 19 сентября, 2017 Автор Поделиться Опубликовано 19 сентября, 2017 да не нужен мне stringlist, мне нужно в STRINGGRID запихать текст из файла! Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 19 сентября, 2017 Поделиться Опубликовано 19 сентября, 2017 2 часа назад, S0lexV сказал: Друзья, подскажите пожалуйста как реализовать на с++ в FMX загрузку и сохранение текста. В VCL раньше делал так: TStringList *sl = new TStringList; sl->LoadFromFile(path+"car.car"); for(int i = 0 ; i<sg->RowCount ; i++) { sg->Rows[i]->DelimitedText=sl->Items->Strings[i]; } Но в FMX нет метода "Rows"..... В инете есть примеры на делфи, но на C++ нет, переделать не получается. Очень нужно! Пожалуйста! 16 минут назад, S0lexV сказал: да не нужен мне stringlist, мне нужно в STRINGGRID запихать текст из файла! Я прошу прощения. Почему-то это было не очевидно)) Цитата Ссылка на комментарий
0 Alex7wrt Опубликовано 19 сентября, 2017 Поделиться Опубликовано 19 сентября, 2017 (изменено) Как вариант - загрузить файл в stringlist по делимитеру, а затем скопировать строки в stringgrid for(int i = 0 ; i<sl->Count ; i++) {sg->cells[0,i] = sl[i];} и потом удалить stringlist Изменено 19 сентября, 2017 пользователем Alex7wrt Цитата Ссылка на комментарий
0 S0lexV Опубликовано 19 сентября, 2017 Автор Поделиться Опубликовано 19 сентября, 2017 14 минуты назад, Alex7wrt сказал: и потом удалить stringlist да неужели Цитата Ссылка на комментарий
0 S0lexV Опубликовано 19 сентября, 2017 Автор Поделиться Опубликовано 19 сентября, 2017 (изменено) Грубо но работает, кто знает код лучше напишите сюда Загрузка из файла в SG TStringList *ts1=new TStringList; TStringList *ts2=new TStringList; TStringList *ts3=new TStringList; ts1->LoadFromFile(path+"car.car"); // Подгружаем файлик ts2->StrictDelimiter = true; ts2->Delimiter = '#'; ts2->DelimitedText = ts1->Text; // По разделителю разбиваем текст и сливаем его в ts2 ts3->Text = ts2->Text; Memo1->Lines->Text = ts3->Text; // В мемо для наглядности int ic=0,ir = 0;// Счетчики строк и столбцов for ( int j = 0; j < ts3->Count; j++) { if(ts3->Strings[j].operator ==('*')) { ic=0; ir++; sg->Cells[ic][ir] = ts3->Strings[j+1]; } else { sg->Cells[ic][ir] = ts3->Strings[j]; ic++; } } Содержимое файла должно быть вида: String 1#1#2#3#4 *#String 2#1#2#3#4 *#String 3#1#2#3#4 # - разделитель, * - идентфикатор новой строки Результат работы программы(как отобразится в SG): String 1 1 2 3 4 String 2 1 2 3 4 String 3 1 2 3 4 Изменено 19 сентября, 2017 пользователем S0lexV Цитата Ссылка на комментарий
Вопрос
S0lexV
Друзья, подскажите пожалуйста как реализовать на с++ в FMX загрузку и сохранение текста. В VCL раньше делал так:
Но в FMX нет метода "Rows"..... В инете есть примеры на делфи, но на C++ нет, переделать не получается. Очень нужно! Пожалуйста!
Изменено пользователем S0lexVСсылка на комментарий
8 ответов на этот вопрос
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.