Настройка компоненты StringGrid

На закладке Additional выберите пиктограмму , установите компоненты StringGrid 1 и StringGrid 2 и отрегулируйте их размеры. В инспекторе объектов для обоих компонент установите значения ColCount равными 2, RowCount равными 1, т.е. по два столбца и одной строке, а значения FixedCols и FixedRows равными 0. Значение ширины клетки столбца DefaultColWidth равным 40.

По умолчанию в компоненту StringGrid ввод данных разрешен только программно. Для разрешения ввода данных с клавиатуры необходимо в свойстве Options строку goEditing для компоненты StringGrid 1 установить в положение true.

Текст функций-обработчиков может иметь следующий вид:

...

int n = 4;

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

randomize(); // Изменение начального адреса для random ()

Edit1->Text=IntToStr(n);

StringGrid1->ColCount=n;

for(int i=0; i<n;i++) // Заполнение массива А случайными числами

StringGrid1->Cells[i][0] = IntToStr(random(21)-10);

Label3->Hide(); // Скрыть компоненту

StringGrid2->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

n=StrToInt(Edit1->Text);

if(n>10){

ShowMessage("Максимальное количество 10!");

n=10;

Edit1->Text = "10";

}

StringGrid1->ColCount=n;

for(int i=0; i<n;i++)

StringGrid1->Cells[i][0]=IntToStr(random(21)-10);

Label3->Hide();

StringGrid2->Hide();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int i, kol = 0, a[10]; // Декларация одномерного массива

//Заполнение массива А элементами из таблицы StringGrid1

for(i=0; i<n;i++)

a[i]=StrToInt(StringGrid1->Cells[i][0]);

//Удаление отрицательных элементов из массива А

for(i=0; i<n;i++)

if(a[i]>=0) a[kol++] = a[i];

StringGrid2->ColCount = kol;

StringGrid2->Show(); // Показать компоненту

Label3->Show();

//Вывод результата в таблицу StringGrid2

for(i=0; i<kol;i++) StringGrid2->Cells[i][0]=IntToStr(a[i]);

}

5.3.2. Пример создания консольного приложения

Текст программы может иметь следующий вид (обратите внимание на то, что функция main используется в простейшей форме – без параметров и не возвращает результатов):

...

#include <stdio.h>

#include <conio.h>

void main()

{

int a[10],n, i, kol=0;

randomize(); // Изменение начального адреса для random ()

printf("Input N (<=10) ");

scanf("%d", &n);

puts("\n Massiv A");

for(i=0; i<n;i++) {

a[i] = random(21)-10; // Заполнение массива А случайными числами

printf("%4d", a[i]);

}

//Удаление отрицательных элементов из массива А

for(i=0; i<n;i++)

if(a[i]>=0) a[kol++] = a[i];

puts("\n Rezult massiv A");

for(i=0; i<kol;i++) printf("%4d", a[i]);

puts("\n Press any key... ");

getch();

}

С заполненным случайными числами массивом А результат программы может быть следующим:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: