Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98

Создание, сохранение, загрузка и копирование строк(подробная)

20.01.2012, 19:12. Показов 3273. Ответов 35
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В общем, суть в этом:
Есть два Едита, при нажатии на кнопку их значения сохраняются через пробел в файле.dat. После этого в другой форме !создается! статиктекст с именем Едита один и значением едита два, которое должно копироваться в буфер обмена при нажатии. Вторая форма должна подгрузиться даже после перезапуска программы.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.01.2012, 19:12
Ответы с готовыми решениями:

Создание, сохранение, загрузка и копирование строк
Как создать программой файл .dat, куда бы помещалась введенные строки через пробел. И при перезапуске программы их можно бы было вытащить....

Создание, удаление, сохранение и загрузка записей
Добрый вечер! Есть небольшое приложение с организованными: Созданием записи, очисткой списка. Не получается доработать нормальное...

Добавить к программе след действия: Сохранение и загрузка информации в текст. файл. Сохранение и загрузка информации в типизированный файл.
Помогите добавить к программе след действия: Сохранение и загрузка информации в текст. файл. Сохранение и загрузка информации в...

35
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 19:28
Проблема в чем? Начните с "я не знаю, как..." .
0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 19:33  [ТС]
Цитата Сообщение от Gextar Посмотреть сообщение
В общем, суть в этом:
Есть два Едита, при нажатии на кнопку их значения сохраняются через пробел в файле.dat.
Я не знаю, как реализовать все кроме этого
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 19:49
В файле .СРР второй формы делаем:#include "Form2.cpp".
В конструкторе второй формы:
C++
1
Label1->Caption = Form1->Edit1->Text+" "+Form1->Edit2->Text;
Или здесь же для загрузки из файла:
C++
1
2
3
4
5
TStringList *list = new TStringList;
list->LoadFromFile("superpuper.dat");
// я предполагаю, что в первой строке списка сохраненная строка из Эдит1,
// а во второй строке списка сохраненная строка из Эдит2
Label1->Caption = list->Strings[0]+" "+list->Strings[1];
Добавлено через 1 минуту
Если в файле значения эдитов созранены одной строкой, то так:
C++
1
2
3
TStringList *list = new TStringList;
list->LoadFromFile("superpuper.dat");
Label1->Caption = list->Strings[0];
1
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 19:56  [ТС]
Цитата Сообщение от Gextar Посмотреть сообщение
Вторая форма должна подгрузиться даже после перезапуска программы.
Или я что-то пропустил в вашем коде?

Добавлено через 3 минуты
И мне немного не понятно, как при той же перезагрузке программа будет различать название и значение. Особенно, когда будет несколько случаев
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 19:57
а я не понимаю, как "Вторая форма должна подгрузиться даже после перезапуска программы."
В общем случае, чтобы автоматом запустилась вторая форма при запуске приложения, в обработчике OnShow первой формы пропишите
C++
1
Form2->Show();
, естественно, сделав #include "Form2.cpp"
0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 19:59  [ТС]
Вторая форма должна сохранить статиктексты и при перезапуске выдать те же значения, что были при их вводе.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 20:05
Цитата Сообщение от Gextar Посмотреть сообщение
И мне немного не понятно, как при той же перезагрузке программа будет различать название и значение. Особенно, когда будет несколько случаев
А никак не будет различать - что вы в файл записали - то и будет. В первом примере - где две строки из списка - в первой строке может быть название, во второй - значение, также СтрингЛист позволяет сохранять такое парами : Name=Value, и соответственно использовать нужное.
А вообще - для таких целей более пригоден файл .ini.

Добавлено через 4 минуты
Цитата Сообщение от Gextar Посмотреть сообщение
Вторая форма должна сохранить статиктексты и при перезапуске выдать те же значения, что были при их вводе.
дык, она и выдаст, поскольку эти значения уже записаны в вашем супер-пупер файле .дат, или, если значения были изменены, пишите новый текст из статиктекст в тот же файл и запоминайте индексы строк, в которые эти значения записаны, или, как я уже говорил, присматривайтесь помаленьку к файлу .ИНИ
1
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 20:43  [ТС]
Можете дать полный код или разложение со Stringsaми, т.к. я с ними раньше не работал и торможу?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 20:50
разложение чего ?
0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 20:55  [ТС]
Как использовать массивы Strings в вашем коде? И что они из себя представляют?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 20:58
Класс TStringList
StringList - Свойства и методы
0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 21:02  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Strings[0]
Цитата Сообщение от LK Посмотреть сообщение
Strings[1]
This.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 21:31
Это индексы строк в списке StringList, нумерация в списках начинается с нуля.

Не по теме:

Это я сделал попытку догадаться, что вы хотели сказать, в будущем потрудитесь формулировать свою мысль не так кратко, поскольку было простое и понятное желание проигнорировать ваше This..

0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 21:37  [ТС]
Цитата Сообщение от LK Посмотреть сообщение
Это индексы строк в списке StringList, нумерация в списках начинается с нуля.

Не по теме:

Это я сделал попытку догадаться, что вы хотели сказать, в будущем потрудитесь формулировать свою мысль не так кратко, поскольку было простое и понятное желание проигнорировать ваше This..

Хорошая у вас интуиция И напоследок, вылетает ошибка "list index out of bounds (0)"
Код:
C++
1
2
3
4
5
6
7
list->SaveToFile("Rend.dat");
list->Strings[0]=Edit1->Text;
list->Strings[1]=Edit2->Text;
list->Text=list->Strings[0]+" "+list->Strings[1];
list->SaveToFile("Rend.dat");
Form3->StaticText5->Caption = list->Strings[0];
Form3->StaticText5->Visible=true;
Вылетает на 2 строчке. Не подскажете, в чем может быть проблема?
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 21:49
похоже, у вас в файле только одна строка, вот и получился "Выход за пределы списка"
а добавляют строки в список так:
C++
1
2
list->Add(Edit1->Text);
list->Add(Edit2->Text);
Вы бы все же про класс СтрингЛист почитали, не всегда же тут будут вам лекции читать .
1
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 21:56  [ТС]
LK, я уже пока ждал вашего ответа прочитал : )
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
20.01.2012, 22:06
молодец
0
1 / 1 / 1
Регистрация: 27.09.2011
Сообщений: 98
20.01.2012, 23:30  [ТС]
Программа при перезагрузке подгружает всю строку, ровно так же, если пробовать подгружать в первой же копии во 2 форму через стрингсы.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
21.01.2012, 01:19
Мы уже это обсуждали - что вы ей подсовываете, то она и подгружает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.01.2012, 01:19
Помогаю со студенческими работами здесь

Выдает при запуске загрузка личных параметров и тут же сохранение параметров потом снова загрузка личных и снова сохранение
Поймал трояна. Того который винду блокирует (вымогатель).Полез помощи искать с другого компа посоветовали образ с антивирусов касперски и...

Функции работы со строками символов: определение размера строки, копирование строк, добавление строк, сравнение строк
На языке Ассемблер написать функции работы со строками символов: определение размера строки, копирование строк, добавление строк, сравнение...

Копирование диапазона строк из одной книги в другую, при разном количестве строк
Добрый день ! Вопрос такой: есть две книги(например 7.1 и 7.2 ) с расшифровками счетов, счета идентичные , но информация о счетах разная. ...

Сравнение строк в нескольких файлах excel, копирование несовпадающих строк и их вывод в сводный файл
Добрый день, только только начал разбираться с VBA в excel, поэтому прошу помощи (схожие темы находил, но не смог преобразовать их...

Используя функцию копирования строк, организуйте конкатенацію и копирование строк в четвертый массив, содержащий полные имена
Пожалуйста с этим заданием. Написать программу, которая описывает четыре массива. Три первых массива должны содержать имена, фамилии и...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru