Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Динамическое создание массива AnsiString

377
22 июня 2004 года
nosferatu
86 / / 17.12.2002
Как динамически создать массив типа AnsiString???
Заранее неизвестно, сколько будет элементов в этом массиве.
310
22 июня 2004 года
fellow
853 / / 17.03.2003
Массив элементов типа AnsiString? - Легко! vector<AnsiString>
377
22 июня 2004 года
nosferatu
86 / / 17.12.2002
Цитата:
Originally posted by fellow
Массив элементов типа AnsiString? - Легко! vector<AnsiString>


А как это в коде будет смотреться, напиши плиз.

6.3K
22 июня 2004 года
xTrim
38 / / 11.06.2004
Цитата:
Originally posted by nosferatu

А как это в коде будет смотреться, напиши плиз.


#include <vector>
std::vector<AnsiString> v;
v.push_back("строка 1");
v.push_back("строка 2");
v.push_back("строка 3");
Label1->Caption = v[1]; // строка 2
for(int i=0;i!=v.size()-1;i++)
{
Label1->Caption = v;
}
for(std::vector<AnsiString>::iterator i=v.begin();i!=v.end();i++)
{
Label1->Caption = (*i);
}
v.clear();
что-то типа того

7.6K
22 июня 2004 года
zss
3 / / 10.06.2004
Цитата:
Originally posted by nosferatu
Как динамически создать массив типа AnsiString???
Заранее неизвестно, сколько будет элементов в этом массиве.



А не проще использовать TStringList ?

377
22 июня 2004 года
nosferatu
86 / / 17.12.2002
Цитата:
Originally posted by zss


А не проще использовать TStringList ?



А зачем целый компонент использовать, когда он мне нужен лишь для записи инфы в файл? А так всё красиво и без лищних наворотов :-)

10
22 июня 2004 года
Freeman
3.2K / / 06.03.2004
Цитата:
Originally posted by nosferatu
А зачем целый компонент использовать, когда он мне нужен лишь для записи инфы в файл? А так всё красиво и без лищних наворотов :-)


А зачем тогда вообще использовать массив? Можно писать строки по одной в файл, безо промежуточного сохранения в памяти. Откуда они у тебя берутся?

377
22 июня 2004 года
nosferatu
86 / / 17.12.2002
Цитата:
Originally posted by smartsoft

А зачем тогда вообще использовать массив? Можно писать строки по одной в файл, безо промежуточного сохранения в памяти. Откуда они у тебя берутся?


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

487
22 июня 2004 года
ddnh_bc
301 / / 16.09.2003
Цитата:
Originally posted by nosferatu


А зачем целый компонент использовать, когда он мне нужен лишь для записи инфы в файл? А так всё красиво и без лищних наворотов :-)



А причем здесь компонент? TStringList это вообще-то runtime класс. И как раз и предназначен-то для работы с массивом строк любого количества :) И если уж на то пошло что тебе нужно информацию из массива строк сохранять в файл, то нет ничего проще:

TStringList *list=new TStringList();
list->Add("строка1");
list->Add("строка2");
list->Add("строка3");
list->SaveToFile("test.txt");

Зачем велосипед изобретать-то? :)

377
23 июня 2004 года
nosferatu
86 / / 17.12.2002
Цитата:
Originally posted by ddnh_bc


А причем здесь компонент? TStringList это вообще-то runtime класс. И как раз и предназначен-то для работы с массивом строк любого количества :) И если уж на то пошло что тебе нужно информацию из массива строк сохранять в файл, то нет ничего проще:

TStringList *list=new TStringList();
list->Add("строка1");
list->Add("строка2");
list->Add("строка3");
list->SaveToFile("test.txt");

Зачем велосипед изобретать-то? :)


Хорошо, как тогда потом присоединить к "Строка 1" ещё строку " - самая дурацкая строка!", и так для каждой, потом к каждой строке присоединить ещё что-то, потом ещё...

310
23 июня 2004 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by nosferatu

Хорошо, как тогда потом присоединить к "Строка 1" ещё строку " - самая дурацкая строка!", и так для каждой, потом к каждой строке присоединить ещё что-то, потом ещё...


Да нет ничего проще, достаточно прочитать то, что написано в хелпе по TSringList. В частности, обратите внимание на свойство Strings.

294
27 июня 2004 года
Plisteron
982 / / 29.08.2003
Цитата:
Originally posted by zss

А не проще использовать TStringList ?



Может, и проще, но vector -- это STL, значит, переносимый. ;)
Правда, для переносимости надо ещё и string из STL использовать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог