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.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д