Фукции и Масивы

  • Автор темы Make
  • Дата начала
Статус
Закрыто для дальнейших ответов.
M

Make

#1
Код:
AnsiString Razb[6] = {
"Растворитель",
"Бензин",
"Разбовитель акриловый",
"Разбовитель для металиков",
"Разбавитель преходов",
"Разбавитель для садолина"};

AnsiString Otdelka[9] = {
"Шпаклевка Софт" ,
"Шпаклевка стекло" ,
"Шпаклевка для пластика",
"Шпаклевка легкая",
"Шпаклевка металик",
"Жидкая Шпаклевка" ,
"Комбик" ,
"Грунт акриловый" ,
"Грунт по пластмассе" };

void List(TListBox *ListBox);

TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{}
//========================================

void List (TListBox *ListBox)  //функция заполнения лист бокса
{
int Element = 6;
for ( int i= 0; i<Element; i++)
ListBox->Items->Add( Razb[i] );
}
//==========================================
void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
ListBox1->Clear();
List (ListBox1);
}
//=========
на форме Listbox и кнопка

так как масивов и листбоксов много (ок 10), пишу функцию list

вопрос:
хочу передавать масив в функцию List() по нажатию кнопки примерно так List (ListBox1, имя_масива);
далее фукция должна брать колличество элементов масива и присваивать int Element, ну и соответственно заполнять лист бок ListBox->Items->Add( има_масива ), подскажите как реализовать с простыми переменными понятно а вот с маивами и чтот не догоню

заранее благодарен
 
04.09.2006
2 566
3
#2
Код:
void List (TListBox *ListBox, AnsiString* pArray, int Count)
Последний параметр - количество элементов в массиве.

P.S. В соседней ветке я советовал тебе сделать эту функцию членом класса. Наверное, зря ты не послушал
 
M

Make

#3
P.S. В соседней ветке я советовал тебе сделать эту функцию членом класса. Наверное, зря ты не послушал
я тока учусь и классы пока еще не совсем понял :(
а сделал так
Код:
 void List (TListBox *ListBox, AnsiString *mater, int r) 
{

int Element = r;
for ( int i= 0; i<Element; i++)
ListBox->Items->Add( mater[i]);
}

void __fastcall TForm1::BitBtn1Click(TObject *Sender)
{
ListBox1->Clear();
List (ListBox1, Mater, 6);
}[\code] 
вот тока пртходится передавать количество элементов масива, тк sizeof razb в строке List (ListBox1, Mater, sizeof razb); дает всегда значение 4 и ничего не могу с этим сделать
 
04.09.2006
2 566
3
#4
<!--QuoteBegin-Make+5:04:2007, 04:44 -->
<span class="vbquote">(Make @ 5:04:2007, 04:44 )</span><!--QuoteEBegin-->я тока учусь и классы пока еще не совсем понял
[snapback]61341" rel="nofollow" target="_blank[/snapback]​
[/quote]
В соседней ветке (http://codeby.net/forum/threads/13578.html) показали как сделать SetNum членом класса.<!--QuoteBegin-Make+5:04:2007, 04:44 -->
<span class="vbquote">(Make @ 5:04:2007, 04:44 )</span><!--QuoteEBegin-->sizeof razb в строке List (ListBox1, Mater, sizeof razb); дает всегда значение 4 и ничего не могу с этим сделать
[snapback]61341" rel="nofollow" target="_blank[/snapback]​
[/quote]
Это размер указателя, все правильно, так и должно быть

<!--QuoteBegin-Make+5:04:2007, 04:44 -->
<span class="vbquote">(Make @ 5:04:2007, 04:44 )</span><!--QuoteEBegin-->вот тока пртходится передавать количество элементов масива
[snapback]61341" rel="nofollow" target="_blank[/snapback]​
[/quote]
Ну если ты так AnsiString Razb[6] определяешь массивы, то такое решение не самое страшное :)

Объяви константу и используй ее, так как размерность массивов врядли будет у тебя часто изменяться
 
Статус
Закрыто для дальнейших ответов.