Уважаемые посетители форума подскажите, на сколько труден переход от VB к Builder’у
Один из интересующих вопросов – Массивы строковые и числовые
с динамически меняющимися размерами.
Как это выглядит в Builder? если кто знает VB пример:
Dim Array() as String ‘Объявление строкового массива с динамическими границами
ReDim Array(3) ‘ Изменение размера массива
Array(1)=”Vsem privet!”
Array(2)=”Kak dela?”
Array(3)=”Poka.”
ReDim Preserve Array(1) ‘ Изменение размера, но с сохранением содержимого попадающего под диапазон
Как все это будет выглядить в Buider’е
Сложно ли перейти от Visual Basic к Builder C++
Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain
Цель жизни легко перейти от VB к Builder'у
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Билдер является языком более низкого уровня абстракции, чем VB. Потому придётся повозиться с адрессацией и выделением памяти в таких случаях.
Для того, чтобы изменить размер массива и сохранить при этом содержимое, попадающее в диапазон - придётся воспользоваться промежуточным массивом и в цикле переприсваивать ссылки. Код писать лень - и так ясно как это делается.
Код: Выделить всё
char ** ppStringArray; //Объявление строкового массива с динамическими границами
ppStringArray = new char * [3];
ppStringArray[0] = "..";
ppStringArray[1] = "..";
ppStringArray[2] = "..";
delete [] ppStringArray; // Удаляем выделенный массив указателей на строки
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
если со строками то:
%)
а в общем случае использутся связные списки вида:
Код: Выделить всё
TStringList* List=new TStringList;
List->Add("Vsem privet!");
List->Add(”Kak dela?”);
List->Add(”Poka.” );
//размер - 3
List->Delete(1);
List->Delete(1);
//размер - 1
а в общем случае использутся связные списки вида:
Код: Выделить всё
class a
{
//содержимое
a* pNext; //указатель на следующий элемент по умолчанию NULL
};
Нет бога, кроме процессора и ассемблер - пророк его.
- Romeo
- Сообщения: 3126
- Зарегистрирован: 02 мар 2004, 17:25
- Откуда: Крым, Севастополь
- Контактная информация:
Если речь едёт не о базовых возможностях языка, то так же неплохо использовать STL.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Вообще-то, сишник он и есть сишник. Т.е. builder - не язык, а средство генерации сишника...