Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв ВУМИП 2012-07-06.doc
Скачиваний:
66
Добавлен:
13.05.2015
Размер:
9.35 Mб
Скачать

8.1.8. Работа компонентов панелейStandard,AdditionalиWin32 (Delphi)

Создадим приложение в Delphi, в котором используются боль­шинст­во компонентов панелейStandard,AdditionalиWin32. Приложение будет состоять из трех форм. На каждой форме будут в основном размеще­ны компоненты одной из панелей.

Компоненты панелиStandardразместим на формеForm1 (Caption=’ПанельStandard’,Position=poScreenCenter) (рис.8.1.8.1).

Рис. 8.1.8.1. Вид формы с компонентами панели Standard

Разместим панель Panel1(де­монстрация панели ком­понентовStandard) в верхней части формы. Разместим мет­куLabel1(имя), полеEdit1(Text=’’) и компонентыMainMenu1,PopupMenu1 (AutoPopup=True). Под по­лемEdit1 разместим многостроковое полеMemo1(WordWrap=True,WantReturns=True) (п. 2.3.2.3). Щелкнем по кнопке с трое­точием свойстваLinesи введем четыре пустые строки. Разместим компонентыRadioGroup1(Цвета фона),Scrollbar1(Min=0,Max=3,LargeChange=1,SmallChange=1),ComboBox1(Text=’ТекстCombo­Box’, введем наименования выбираемых цве­тов в значение свойстваItems(рис.8.1.8.1)) иListBox1(введем три ст­ро­ки в значение свойстваItems(рис.8.1.8.1)). Дважды щелкнем по компо­нентуRadioGroup1и введем текст процедуры обработки событияOnClick:

procedure TForm1.RadioGroup1Click(Sender: TObject); // выбор цвета

begin if RadioGroup1.ItemIndex=0 Then Form1.Color:=clSilver; // серый

if RadioGroup1.ItemIndex=1 Then Form1.Color:=clBlue; // голубой

if RadioGroup1.ItemIndex=2 Then Form1.Color:=clYellow; // желтый

if RadioGroup1.ItemIndex=3 Then Form1.Color:=clRed; // красный

end;

Cоставим процедуру обработки событияOnChangeизменения значения ком­понентаScrollBar1:

procedure TForm1.ScrollBar1Change(Sender:TObject); //изменение цвета begin RadioGroup1.ItemIndex:= ScrollBar1.Position; end;

Разместим компонентGroupBox1(Caption=’Параметры’). На эту па­нель разместимRadioButton1(Белый фонMemo),RadioButton2(Голубой фонMemo),CheckBox1(Курсив),Check­Box2(Зеленый). Добавим кнопки:Button1(Шрифт),Button2(Старт), Button3(Additional),Button4(Выход) и соответсвующие процедуры:

procedure TForm1.Button1Click(Sender: TObject); // кнопка «Шрифт»

begin if CheckBox1.State=cbChecked then Form1.Font.Style:=[fsItalic]

else Form1.Font.Style:=[];

if CheckBox2.State=cbChecked then Form1.Font.Color:=clGreen // зеленый

else Form1.Font.Color:=clBlack; // черный цвет шрифта

end;

procedure TForm1.Button2Click(Sender: TObject); // кнопка «Старт»

beginMemo1.Clear; // очистить содержимоеMemo1

Memo1.Lines.Add(Edit1.Text); // значение Edit1.Text добавляется в Memo1

Memo1.Lines.Add(ComboBox1.Text); // ComboBox1.Text добав. в Memo1

// Скопировать в Memoномер выбранного текста из окнаListBox

Memo1.Lines.Add('Строка ListBox #' + IntToStr(ListBox1.ItemIndex+1));

if RadioButton1.Checked then Memo1.Color:=clWhite; // белый цвет фона

if RadioButton2.Checked then Memo1.Color:=clAqua; // голубой цвет фона

end;

procedure TForm1.Button4Click(Sender: TObject); // кнопка «Выход»

beginClose;end;

Щелкнем дважды на компоненте MainMenu1и введем тексты опции ме­ню: «Файл» (из строки «Выход»и для событияOnClickвыберем про­це­ду­руBut­ton4­Cli­ck), «Справка» из двух строк: «Справ­ка» и «О программе»).

Составим процедуры обработки пунктов меню «Справка»:

procedure TForm1.N4Click(Sender: TObject); // пункт «Справка»

beginShowMessage('Демонстрация возможностейMainMenu');end;

procedure TForm1.N6Click(Sender: TObject); // пункт «О программе»

beginShowMessage(‘Демонстрация возможностей компонентов');end;

Щелкнем дважды на компоненте PopupMenu1и введем тексты опции меню «Шрифт», «Старт». Для свойстваOnClickопределим значенияButton1Click,Button2Clickсоответственно (вызов этих процедур). Для формыForm1 установим свойствоPopupMenu=PopupMenu1.

Теперь можно проверить работу программы на первой форме.

Компоненты панелиAdditionalразместим на формеForm2 (Caption=’ПанельAdditional’,Position=poScreenCenter) (рис.8.1.8.2).

Рис. 8.1.8.2. Вид формы с компонентами панели Additional

Составим процедуру обработки кнопки «Additional» на первой форме:

procedure TForm1.Button3Click(Sender: TObject); // кнопка «Additional»

begin Form1.Hide; Form2.Show; end;// закрытие Form1 и вызов Form2

В правом нижнем углу разместим рамкуBevel1для визуального вы­де­ления кнопок. Разместим кнопкуButton1(заполнить таблицу) и гра­фи­чес­кие кнопки:BitBtn1(Caption=’Standard’, Kind=bkCustom,Glyph=’C:\Bor­landShared\Images\Buttons\arrow1l’),BitBtn2(Caption=’Win32’, Kind= bk­Custom,Glyph=’C:\BorlandShared\Images\Buttons\arrow1r’),BitBtn3(Cap­tion=’Выход’, Kind= bkClose).

Составим процедуры обработки нажатия кнопок

procedure TForm2.BitBtn1Click(Sender: TObject); // кнопка «Standard»

begin Form1.Show; Form2.Hide; end;

procedure TForm2.BitBtn3Click(Sender: TObject); // кнопка «Выход»

beginform2.Close;end;

Для корректной работы кнопки «Выход» составив процедуру:

procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);

begin application.Terminate; end; // завершение работы приложения

Разместим компонент Panel1 и на нем разместим две быстрые кнопки SpeedButton1 (GroupIndex=1, NumGlyphs=4), SpeedButton2 (GroupIndex=1, NumGlyphs=2 Visible=False, Glyph=’D:\Borland Shared\ Images\Buttons\arrow1u’, Hint=’Быстрая кнопка с часиками’, ShowHint=True). Для кнопкиSpeedButton1можно на­ри­совать изображение высотой 16 и шириной 64 пикселей из четырех квад­ратных картинок размером 1616 редактором изображений, который вызывается коман­дойTools/Image Editor и сохранить изображение в фай­ле. Это имя нужно указать в свойствеGlyphэтой кнопки. Мы восполь­зуем­ся готовым изо­бра­же­нием двух картинок из файлаC:\BorlandShared\Images\Buttons\Clock’ и размножим это изображение для получения че­ты­рех кар­тинок и сох­раним под именемClockв папке с данным приложе­ни­ем. Добавим на панель компонентShape1(Shape=stEllipse,Pen/Color=clGreen).

Справа от панели разместим компонент Image1 (Picture=’D:\Borland Shared\Images\Icons\technlgy).

Укажем процедуры обработки быстрых кнопок:

procedure TForm2.SpeedButton1Click(Sender: TObject); // SpeedButton1

begin If SpeedButton1.Down then begin Image1.Visible:=False;

Shape1.Brush.Color:=clRed; SpeedButton2.Visible:=True; end;

end;

procedure TForm2.SpeedButton2Click(Sender: TObject); // SpeedButton2

begin If SpeedButton2.Down then begin Image1.Visible:=True;

Shape1.Brush.Color:=clLime; end;

end;

Разместим компонент StaticText1 (Но­мер телефона) со свойством BorderStyle=sbsSingle, а под ним расположим компонент MaskEdit1 (Edit­Mask=Phone). Разместим компонент StringGrid1 (RowCount=3, ColCount=3, FixedCols=0, FixedRows=0).

Укажем процедуру обработки кнопки заполнения таблицы.

procedure TForm2.Button1Click(Sender: TObject); // заполнить таблицу

var x,y:Integer;

begin with StringGrid1 do For x:=0 to ColCount -1 do

For y:=0 to RowCount -1 do Cells[x,y]:=IntToStr(x)+','+IntToStr(y);

end;

Разместим панель с прокруткой ScrollBox1. На этой панели размес­тим кноп­куBitBtn4(Name=«Справка»,Kind=bkHelp) и панельPanel2(Па­нель вScrollBox). Укажем процедуру обработки кнопкиBitBtn4 (Справка):

procedure TForm2.BitBtn4Click(Sender: TObject); // кнопка «Справка»

beginShowMessage('Проверка кнопки «Справка» вScrollBox');end;

Присоединим новый модуль Unit2 к первому модулю командойFile/ User Unit. Теперь можно проверить работу программы и на второй форме.

Компоненты панели Win32разместим на формеForm3 (Caption=’ПанельWin32’,Position=poScreenCenter) (рис.8.1.8.3).

Составим процедуру обработки кнопки «Win32» на второй форме:

procedure TForm2.BitBtn2Click(Sender: TObject); // кнопка «Win32»

begin Form2.Hide; Form3.show; end;

Рис. 8.1.8.2. Вид формы с компонентами панелиWin32

Разместим компоненты: Timer1(Interval=1000),OpenDialog1,ProgressBar1 (Min=0,Max=1,Step=1),TrackBar1(Min=0,Max=10,Tick­Marks=tmBottomRight,Frequency=1),TabControl1(TabOrder=3,TabPosit­ion=tpTop, имена страниц задайте в строках свойстваTabs),Panel1(разме­щает­ся на компонентеTabControl1 со свойствами:Caption=«Стр. 1»,Alignment=taCenter),Panel2,Label1(Просмотр дерева),Label2(Выбор имени файла),Edit1, кнопкиButton1(...),Button2(Standard),Button3(Выход),TreeView1(строки узлов дерева зададим редактором значения свойстваItems). Составим соответствующие процедуры обработки событий.

procedure TForm3.TrackBar1Change(Sender:TObject); // измен. TrackBar1

begin ProgressBar1.Position:=TrackBar1.Position; end;

procedure TForm3.Timer1Timer(Sender: TObject); // таймер

begin Panel2.Caption:=TimeToStr(Time); { вывод текущего времени}end;

procedure TForm3.TabControl1Change(Sender:TObject);// изм. TabControl1

begin if TabControl1.TabIndex=0 then Panel1.Caption:='Стр.=1';

if TabControl1.TabIndex=1 then Panel1.Caption:='Стр.=2 ';

if TabControl1.TabIndex=2 then Panel1.Caption:='Стр.=3'; end;

procedure TForm3.Button1Click(Sender: TObject); // кнопка «...»

begin OpenDialog1.FileName:='*.*'; // вывод всех файлов

if OpenDialog1.Execute then Edit1.Text:=OpenDialog1.FileName {выбор}end;

procedure TForm3.Button2Click(Sender: TObject); // кнопка «Standard»

begin form2.show; end;

procedure TForm3.Button3Click(Sender: TObject); // кнопка «Выход»

begin form1.Close; end;

procedure TForm3.FormClose(Sender: TObject; var Action: TCloseAction);

begin Application.Terminate; end; // корректное завершение работы

Присоединим новый модуль Unit3 к первому модулю командойFile/ Use Unit. Теперь можно проверить работу программы на всех формах.

8.1.9. Игра «Поле чудес» (Delphi,C++Builder)

В игре принимают участие три человека: двое игроков и ведущий (авторы программы: А. Влахнова и E. Петриченко).

Сначала игрок вращает барабан; после остановки барабана, если не вы­пал сектор Переход хода, в соот­ветству­ю­щее поле вводит букву и на­жи­мает кнопкуПодтвердите (рис. 8.1.9.1). Если данной буквы в слове нет, ход передается другому игроку. Так продолжается до тех пор, пока один из игроков не решит назвать слово или пока не угадает его по буквам.

При нажатии на кнопку Назвать словопоявляется поле ввода слова. После ввода слова надо подтвердить ввод.

В начале игры ведущий загадывает слово (рис. 8.1.9.2), пред­ва­ри­тель­­но введя па­роль (текущую дату) (рис. 8.1.9.3).

Рис. 8.1.9.1. Вид формы игры «Поле чудес»

Рис. 8.1.9.2. Форма «Загадать слово» Рис. 8.1.9.3. Форма «Пароль»

На форме Поле Чудес(Form1) разместим следующие компоненты:Label1(caption=’’,AutoSize=false, WordWrap=true);Label2 (cap­tion=’Буква’,visible=false);Label3(caption=’ ’);Label4 (caption=’Игрок1, Ваш ход’;visible=false);Label5 (caption=’Игрок1, Ваш выигрыш - ’;visi­ble=fal­se);Label6(caption=’Игрок2, Ваш выигрыш - ’;visible=false); кноп­ки:Button1 (caption=’Выход’),Button2 (caption=’Подтвер­ди­те’,visi­ble=false),Button3 (caption=’Загадать’),Button4 (caption= ’Назвать слово',visible=false),Button5 (caption=’Вращать барабан’, visible=false),Button6 (cap­tion=’Подтвердите’,visible=false); полеEdit1 для ввода буквы (max­len­gh=1;visible=false); полеEdit2для ввода слова (visible=false);Image1 (ст­рел­ка); 10 компонентовStaticText (visible=false), в которых будут появ­лять­ся угаданные буквы;Chart1(на закладкеSeries1:Rotation=0; на закладкеLegend: TextStyle=Plain;LegendStyle=SeriesValues; остальные па­ра­метры настройте по своему усмотрению).

На форме Пароль(Form2) разместим следующие компоненты:Label1(caption=’Введите пароль’),Edit1(PasswordChar=’*’),Button1(cap­tion=’Подтвердите’).

На форме Загадать слово(Form3) разместим компоненты:Memo1(Lines=’’),Edit1(caption=’’),Button1(caption=’Сохранить’),Label1(cap­tion=’Вопрос’),Label2(caption=‘Слово*’),Label3 (caption=’* не более 10 букв’).

Тексты процедур программы для Delphi

Процедуры формы Form1 (модуль Unit1)

var Form1: TForm1; f,b,p,s,e: string; z,c,i,k,y,x,t,a,g,w,u: integer; //объявления

procedure TForm1.Button1Click(Sender: TObject); // кнопка «Выход»

begin close; end;

procedure TForm1.Button3Click(Sender: TObject); // кнопка «Загадать»

begin Form2.Show; //показ формы для ввода пароля

Form1.Visible:=false; //скрытие формы Поле Чудес

Button3.Visible:=false; //скрытие кнопки «Загадать»

Button4.Visible:=true; //визуализация кнопки «Назвать слово «

Button5.Visible:=true; // визуализация кнопки «Вращать барабан»

Button6.Visible:=true; // визуализация кнопки «Подтвердите»

Label2.Visible:=true; //становятся видимыми надписи

Label4.Visible:=true;

Label5.Visible:=true; Label5.Caption:=Label5.Caption+'0';

Label6.Visible:=true; Label6.Caption:=Label6.Caption+'0';

Edit1.Visible:=true; //визуализация поля для ввода буквы

Edit1.Enabled:=false; //и его блокировка

end;

procedure TForm1.Button4Click(Sender: TObject);//кнопка»Назвать слово» begin Edit2.Visible:=true; //делает видимым поле для ввода слова

Edit2.SetFocus; //и передает ему фокус

Button2.Visible:=true;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Button5.Enabled:=false; //блокировка кнопки Вращать барабан

Randomize;z:=Random(100) ; //выбирается произвольное число из 100

i:=i+1; //в переменной считается количество поворотов

If i<z then

begin Series1.RotationAngle:=Series1.RotationAngle+5 ; //поворот диаграммы

t:=t+5;

end //запоминание угла поворота

else begin

case g of // переменная g показывает, кто сделал ход

1: begin // проверяет, какой сектор выпал и производит

case t of // соответствующие действия

316..359: begin Label4.Caption:='Игрок 2, Ваш ход' ;

Button5.Enabled:=true; Edit1.Enabled:=false; i:=-1; end;

// переменная i – это флаг, указывающий на то, что выпал

// сектор «Переход хода» и не надо суммировать очки

271..315: x:=x*2; 226..270: x:=x*4; 181..225: x:=x+500;

136..180: x:=x+750; 91..135: x:=x+100; 46..90: x:=x+250;

0..45: x:=x+1000;

end; if i<>-1 then

begin e:=inttostr(x); Label5.Caption:='Игрок1, Ваш выигрыш - '+e;

//перевод количества набранных очков в строку для вывода ее на форму

end;

end;

2: begin

case t of

316..359: begin Edit1.Enabled:=false;

Label4.Caption:='Игрок 1, Ваш ход'; Button5.Enabled:=true; i:=-1; end;

271..315: y:=y*2; 226..270: y:=y*4; 181..225: y:=y+500;

136..180: y:=y+750; 91..135: y:=y+100; 46..90: y:=y+250;

0..45: y:=y+1000;

end;

if i<>-1 then

begin e:=inttostr(y);Label6.Caption:='Игрок2, Ваш выигрыш - '+e; end;

end;

end; Timer1.Enabled:=false; // блокировка таймера

end;

Series1.Clear; // удаление диаграммы

With Series1 do

begin add(10,'100 очков',clWhite); // перерисовывает

add(10,'750 очков',clRed); // диаграмму, повернув ее на 5 град.

add(10,'1000 очков',clGreen); add(10,'250 очков',clYellow);

add(10,'*2',clBlue); add(10,'ПЕРЕХОД ХОДА',clSilver);

add(10,'500 очков',clFuchsia); add(10,'*4',clLime);

end;

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin Button5.Enabled:=false; Button6.enabled:=true;

// блокировка кнопок "Вращать барабан" и «Подтвердите выбор»

end;

procedure TForm1.Button5Click(Sender:TObject);//кноп. «Вращать барабан»

begin if Label4.Caption='Игрок 1, Ваш ход'

then g:=1 else g:=2; // запоминает, кто из игроков делает ход

Button4.Enabled:=true; Edit1.Enabled:=true;

Edit1.SetFocus; // устанавливает курсор в поле для ввода буквы

Timer1.Enabled:=true; // делает активным таймер

Edit1.Text:=''; // очищает поле ввода буквы

end;

procedure TForm1.Button2Click(Sender: TObject); //кнопка «Подтвердите»

begin Edit2.Visible:=false; // делает невидимым поле для ввода слова

Edit1.Enabled:=true; // разблокировка объектов

s:=Edit2.Text; // запоминается введенное слово

i:= AnsiCompareText(f,s); // сравнение загаданного и введенного слов

if i=0 then // действия при вводе игроком верного ответа

begin Label3.Caption:='ВЫ УГАДАЛИ !!!'; Edit1.enabled:=false;

Label4.Caption:=''; Button5.Enabled:=false; Button2.Enabled:=false;

end

else if a=0 then begin // a=0, если еще никто не пытался назвать слово

Button4.Enabled:=true;

if g=1 then //действия при вводе игроком1 неверного ответа

begin Label3.Caption:='Игрок 1, Вы ошиблись' ;

Label4.Caption:='Игрок 2, Вы должны назвать слово';

Edit2.Visible:=true;

Edit2.Text:=''; Button5.Enabled:=false;

Edit2.SetFocus; a:=a+1;

end

else if g=2 then

// действия при вводе игроком2 неверного ответа

begin Label3.Caption:='Игрок 2, Вы ошиблись' ;

Label4.Caption:='Игрок 1, Вы должны назвать слово';

Edit2.Visible:=true; Edit2.Text:=''; Button5.Enabled:=false;

Edit2.SetFocus; a:=a+1;

end;

end

else // если один из игроков ввел неверное слово, то выводится

// сообщение об ошибке и другому предлагается назвать слово

begin Label4.Visible:=false; Edit2.Enabled:=false;

Button5.Enabled:=false;

if Label4.Caption='Игрок 1, Вы должны назвать слово' then

Label3.Caption:='Игрок 1, Вы ошиблись, игра окончена'

else if Label4.Caption='Игрок 2, Вы должны назвать слово' then

Label3.Caption:='Игрок 2, Вы ошиблись, игра окончена' ;

end;

end;

procedure TForm1.Button6Click(Sender: TObject); //кнопка «Подтвердите»

begin f:=Form3.Edit1.Text; c:=Length(f); w:=0;

b:=Edit1.Text; // запоминается введенная буква

b:=AnsiLowerCase(b); // возвращается буква в нижнем регистре

for i:=1 to c do // в цикле введенная буква сравнивается с i-й буквой слова

begin p:=Copy(f,i,1); // возвращает i-ю букву загаданного слова

p:=AnsiLowerCase(p); // возвращается буква в нижнем регистре

if p=b then

begin u:=u+1; // в переменной считается количество угаданных букв

w:=w+1; // в переменной считается, сколько раз

// введенная буква встречается в слове

case i of // вывод угаданной буквы

1: Statictext1.Caption:=b; 2: Statictext2.Caption:=b;

3: Statictext3.Caption:=b; 4: Statictext4.Caption:=b;

5: Statictext5.Caption:=b; 6: Statictext6.Caption:=b;

7: Statictext7.Caption:=b; 8: Statictext8.Caption:=b;

9: Statictext9.Caption:=b; 10: Statictext10.Caption:=b;

end;

end

end;

Edit1.Enabled:=false; Button5.Enabled:=true;

If w<>0 then

begin if g=1 then // умножение набранных очков, если буква // в слове встречается более одного раза

begin x:=x*w; e:=inttostr(x) ;

Label5.caption:='Игрок1, Ваш выигрыш - '+e;

end

else if g=2 then

begin y:=y*w; e:=inttostr(y) ;

Label6.caption:='Игрок2, Ваш выигрыш - '+e ;

end

end // если буква названа неверно, то ход передается другому игроку

else if Label4.Caption='Игрок 1, Ваш ход'

then Label4.Caption:='Игрок 2, Ваш ход'

else Label4.Caption:='Игрок 1, Ваш ход';

if u=c then

begin Label3.Caption:='ВЫ УГАДАЛИ !!!' ; Label4.Visible:=false;

Button4.Enabled:=false; Button5.Enabled:=false;

end;

Button6.Enabled:=false;

// если количество угаданных букв совпадает с длиной слова, то

// выводится «ВЫ УГАДАЛИ !!!» и блокируются все объекты, кроме «Выход»

end;

procedure TForm1.Edit2Change(Sender: TObject);

begin Button4.Enabled:=false; // при вводе слова блокируются

Edit1.Enabled:=false; // кнопка «Назвать слово» и поле для ввода буквы

end;

procedure TForm1.FormCreate(Sender: TObject);

begin x:=0; y:=0; w:=0; a:=0;

With Series1 do

begin // прорисовка барабана

add(10,'100 очков',clWhite); add(10,'750 очков',clRed);

add(10,'1000 очков',clGreen); add(10,'250 очков',clYellow);

add(10,'*2',clBlue); add(10,'ПЕРЕХОД ХОДА',clSilver);

add(10,'500 очков',clFuchsia); add(10,'*4',clLime);

end;

end;

Процедуры формы Form2 (модуль Unit2)

var Form2: Tform2; s,t:string; f:integer;

procedure Tform2.Button1Click(Sender: TObject); //кнопка «Подтвердите»

begin s:=DateToStr(Date); // преобразование текущей даты в строку

t:=Edit1.Text; f:=AnsiCompareText(s,t); //сравнение даты с введенным паролем

If f=0 then // пароль введен верно и форма Загадать становится видимой

begin Form3.Show; Form2.Close;end

else //ошибка в пароле, вывод сообщения

begin Application.MessageBox('Введен неправильный пароль', 'Внимание', mb_Ok+mb_IconError);

Edit1.SetFocus;//передача фокуса полю для ввода пароля

end;

end;

Процедуры формы Form3 (модуль Unit3)

var Form3: Tform3; f:string; i,c:integer;

procedure Tform3.Button1Click(Sender: TObject); //кнопка «Сохранить»

begin

Form1.Label1.Caption:=Memo1.Text; //выводит на форму Поле Чудес вопрос

f:=Edit1.Text; c:=Length(f);

for i:=1 to c do begin

case i of //в зависимости от длины слова выводится нужное количество

1: Form1.Statictext1.Visible:=true; //компонентов StaticText

2: Form1.Statictext2.Visible:=true; 3: Form1.Statictext3.Visible:=true;

4: Form1.Statictext4.Visible:=true; 5: Form1.Statictext5.Visible:=true;

6: Form1.Statictext6.Visible:=true; 7: Form1.Statictext7.Visible:=true;

8: Form1.Statictext8.Visible:=true; 9: Form1.Statictext9.Visible:=true;

10: Form1.Statictext10.Visible:=true;

end;

end;

Form1.Show; Form3.Close;

end;

procedure Tform3.FormActivate(Sender: TObject);

begin Memo1.SetFocus; //передача фокуса полю Memo1

end;

Текст программы для C++ Builder

Процедуры формы Form1 (модуля Unit1)

int z,c,i,k,y,x,t,a,g,w,u,l,x1,y1; String f,p,b,s,e; // объявление переменных

void __fastcall TForm1::FormCreate(TObject *Sender) // создание формы

{Series1->Add(10,"ПЕРЕХОД ХОДА",clSilver); // прорисовка барабана

Series1->Add(10,"*2",clBlue); // (диаграммы)

Series1->Add(10,"*4",clLime); Series1->Add(10,"500 очков",clFuchsia);

Series1->Add(10,"750 очков",clRed); Series1->Add(10,"100 очков",clWhite);

Series1->Add(10,"250 очков",clYellow); Series1->Add(10,"1000 очков",clGreen);

}