Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Вниз

Как лучше на форме ввести матрицу логических значений?   Найти похожие ветки 

 
oddboy   (2002-12-11 08:02) [0]

Задача такая:

На форме находятся поле ввода размера квадратной матрицы и кнопка, при нажатии на которую необходимо сгенерировать на форме матрицу полей ввода (Edit, а лучше CheckBox, поскольку значения логические)заданного размера.

Можно ли создать динамический массив с элементами CheckBox?


 
Юрий Зотов   (2002-12-11 09:37) [1]

var
CheckBoxArray: array of array of TCheckBox;
M: array of array of boolean; // Сама матрица

procedure TForm1.Button1Click(Sender: TObject);
var
i, j: integer;
begin
FormDestroy(nil);
SetLength(CheckBoxArray, N, N); // N - размер матрицы
for i := 0 to N - 1 do
for j := 0 to N - 1 do
begin
CheckBoxArray[i, j] := TCheckBox.Create(Self);
with CheckBoxArray[i, j] do
begin
Parent := Self;
Caption := "";
SetBounds(j * Height, i * Height, Height, Height);
Checked := M[i, j];
OnClick := CheckBoxClick
end
end
end;

procedure TForm1.FormDestroy(Sender: TObject); // OnDestroy
var
i, j: integer;
begin
if CheckBoxArray <> nil then
begin
for i := 0 to High(CheckBoxArray) do
for j := 0 to High(CheckBoxArray[i]) do
CheckBoxArray[i, j].Free;
CheckBoxArray := nil
end
end;

procedure TForm1.CheckBoxClick(Sender: TObject);
var
i, j: integer;
begin
if CheckBoxArray <> nil then
for i := 0 to High(CheckBoxArray) do
for j := 0 to High(CheckBoxArray[i]) do
if CheckBoxArray[i, j] = TCheckBox(Sender) then
begin
M[i, j] := CheckBoxArray[i, j].Checked;
Exit
end
end;


 
Anatoly Podgoretsky   (2002-12-11 09:41) [2]

Млжно еще взглянуть в сторону TSpeedButton это если нужна красота



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.12.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.008 c
1-74634
Beglec
2002-12-12 14:17
2002.12.23
QuickReport


1-74730
Витьок
2002-12-14 10:39
2002.12.23
TTreeView


4-75030
wmz
2002-11-08 18:57
2002.12.23
Как можно просмотреть


3-74576
VanySh
2002-12-02 20:17
2002.12.23
KADao


14-74923
JOHNY C
2002-12-02 08:20
2002.12.23
набор команды (продолжение)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский