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

Заполнить TStringList из нескольких файлов

07.10.2020, 23:11. Показов 1823. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Есть ли короткие способы заполнить TStringList по циклу из нескольких файлов.
C++
1
2
3
4
5
TStringList *Lst = new TStringList;
for(int i = 0; i < List->Count; i++)   //Бежим по всем выбранным файлам
      {
    Lst->LoadFromFile(List->Strings[i]+".txt");
}
Такая конструкция, естественно, каждый проход цикла перезаписывает Lst, а хотелось бы что ды происходила дозапись в конец Lst строк каждого нового файла.

Добавлено через 10 минут
Пока только такой вариант: использовать два StringList. Может кто знает,как сделать это проще?
C++
1
2
3
4
5
6
7
8
9
10
11
TStringList *TempLst = new TStringList;
TStringList *Lst = new TStringList;
for(int i = 0; i < ListFiles->Count; i++)   //Бежим по всем выбранным файлам
      {
    TempLst->LoadFromFile(ListFiles->Strings[i]+".txt"); //Записываем в массив строк содержимое файла
    
for(int i=0;i<TempLst->Count;i++)
            {
             Lst->Add(Lst->Strings[i]);   //Пишем в наш НОВЫЙ массив строки из нашего временного массива
         }
}
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
07.10.2020, 23:11
Ответы с готовыми решениями:

Сравнение строк в нескольких TStringList
Помогите осуществить задачу. Есть массив листов userSL . Нужно сравнить строки всех стринглистов и найти строки, присутствующие во всех...

Заполнить Str(TstringList) уникальными строками из динамического массива
Дан динамический массив MD. У его элементов есть свойство х. Необходимо заполнить Str(TstringList) строками, которые берутся из MD.Items.x...

Загрузить N кол-во файлов в TStringList
Как правильно реализовать следующее: var list: TStringList; begin list:=TStringList.Create; for i:=0 to...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33404 / 21514 / 8236
Регистрация: 22.10.2011
Сообщений: 36,914
Записей в блоге: 12
08.10.2020, 01:36
Лучший ответ Сообщение было отмечено neva как решение

Решение

В любом случае нужны 2 stringlist-а, но от одного цикла можно избавиться:
C++
1
2
3
4
5
6
7
TStringList *TempLst = new TStringList;
TStringList *Lst = new TStringList;
for(int i = 0; i < ListFiles->Count; i++)   //Бежим по всем выбранным файлам
{
    TempLst->LoadFromFile(ListFiles->Strings[i]+".txt"); //Записываем в массив строк содержимое файла
    Lst->AddStrings(TempLst);   //Пишем в наш НОВЫЙ массив строки из нашего временного массива
}
Добавлено через 17 минут
P.S. При наличии не самого старого Билдера (XE3+) можно попробовать обойтись одним StringList-ом, вместо второго - использовать TFile::ReadAllLines :

C++
1
2
3
4
5
    TStringList *Lst = new TStringList;
    for(int i = 0; i < ListFiles->Count; i++)
    {
        Lst->AddStrings(TFile::ReadAllLines(ListFiles->Strings[i] + ".txt"));
    }
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
08.10.2020, 01:36
Помогаю со студенческими работами здесь

Как загрузить несколько файлов в Tstringlist через OpenDialog
Всем привет) как загрузить 10-20 Text файлов в Tstringlist через OpenDialog обычно можно выбирать только 1 тхт файл а как выделить...

Зашифровать TStringList, сохранить, прочитать, получить исходный TStringList
Здравствуйте. Требуется решение следующей задачи: Зашифровать TStringList (количество строк может достигать 3-5 тысяч строк),...

Неясности с TStringList. Как найти наибольший элемент в TStringList?
Добрый день. Проблема следующая: мне надо в TStringList найти самую длинную строчку. Пытаюсь проверять по Length(sl) &gt; Length(sl) - не...

Проверка на существование нескольких файлов в нескольких папках
есть 5 папок(1,2,3,4,5), в них находятся 5 файлов( в каждой папке по файлу с известными именами) (1.txt,2.txt 3.txt, 4.txt, 5.txt) при...

E2034 Cannot convert 'TStringList' to 'TStringList *'
Всем привет! Пытаюсь сделать так чтобы можно было выбрать неограниченное количество файлов, но почему то ругается... TStringList **Ffile;...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru