Windows.Forms вместо GraphABC - PascalABC.NET
Формулировка задачи:
Здравствуйте. Решил написать программу. Так как я ещё новичок использовал только известные мне "вещи" и естественно столкнулся с проблемами. Можете написать подобную (простенькую) программу, используя не графику, а формы (кнопочки), а я уж сам пойму, что к чему ().
Самый главный вопрос
: Как сделать так, чтобы таблица по критериям (запускайте программу) состояла из ячеек, на которые можно было бы кликать, и вводить в них текст. Данные же можно было записывать в массив.Pascal |
Вот кое-что нашёл. Написал вот такую программу:
При нажатии на кнопку, нас просят ввести текст. После ввода он отображается на кнопке, но возникает проблема. Если не использовать GraphABC, то ввод текста осуществляется через командную строку, но даже так приходиться работать с двумя окнами.
Pascal |
Вопрос: Можно ли сделать так, чтобы данные вводились в одном (первом) окне, не используя GraphABC и командную строку?
Решение задачи: «Windows.Forms вместо GraphABC»
textual
Листинг программы
- {$apptype windows}
- {$reference 'System.Windows.Forms.dll'}
- uses
- System,
- System.Windows.Forms;
- var
- i: string;
- MyForm: Form;
- But: Button;
- Lab: &Label;
- Txt: TextBox;
- procedure Click(Sender: Object; Args: System.EventArgs);
- begin
- But.Text := Txt.Text; // это сработает при нажатии кнопки
- end;
- procedure kp(Sender : Object; Args : KeyEventArgs);
- begin
- if Args.KeyCode = Keys.Enter then // это сработает при нажатии Enter-а в TextBox-е
- begin
- But.Text := (Sender as TextBox).Text;
- Args.SuppressKeyPress := true;
- end;
- end;
- begin
- MyForm := new Form;
- MyForm.text := 'Форма';
- MyForm.Height := 400;
- MyForm.Width := 600;
- But := new Button;
- But.Width := 100;
- But.Height := 100;
- But.Left := 250;
- But.Top := 100;
- But.Click += Click;
- MyForm.Controls.Add(But);
- Lab := new &Label;
- Lab.text := 'Какая цифра вам больше всего нравиться?';
- Lab.Left := 50;
- Lab.Top := 20;
- Lab.Width := 500;
- Lab.Height := 50;
- MyForm.Controls.Add(Lab);
- Txt := new TextBox;
- Txt.Left := 50;
- Txt.Top := 80;
- Txt.KeyDown += kp;
- MyForm.Controls.Add(Txt);
- MyForm.ActiveControl := Txt; // устанавливаем фокус на TextBox
- Application.Run(MyForm);
- end.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д