![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Помогите пожалуйста!
1. Разработать консольное приложение, в котором поместить 3 процедуры, вложенные друг в друга. Каждую процедуру сопроводить двумя сообщениями в начале и в конце тела процедуры. Проследить обработку исключений, если защитить вызов процедуры во внешнем блоке. Тип ошибки выбрать произвольно, например – деление на ноль. TList Выполните задание, запишите все коды программ и полученные результаты в тетрадь (по каждому шагу). 1. Создайте консольное приложение (подключите соответствующий модуль uses classes). 2. С помощью конструктора класса создайте экземпляр класса mylist. 3. Выведите на экран значения свойств Capacity и Count. 4. Используя средства отладки узнайте значение mylist.list. 5. Используя метод Add добавьте к списку ссылку на значение целого типа (объявите указатель целого типа, создайте динамическую переменную и присвойте ей значение). 6. Добавьте таким же образом еще 10 случайных целых чисел. 7. Выведите на экран значения списка через item. 8. Выполните над списком следующие действия: удалите элемент под индексом 2, вставьте значение после элемента с индексом 3. После каждого действия выведите список на экран. 9. Отсортируйте список по возрастанию (методом пузырька). TStringList 1. Создать приложение, содержащее форму, на ней три кнопки. Создать экземпляр класса TStringList в момент создания формы. Добавьте в список эти три кнопки. Измените надписи на кнопках, получая доступ к объекту через список, соответствующие свойству строки элемента списка. 2. Создайте форму. Создайте на ней три кнопки (они должны появиться через одну минуту, после того как появится окно запущенного приложения)! Выполните все действия первого задания для данного случая. 3. Выполните действия 2-го задания, используя массив компонент components класса TApplication (и свойство числа компонент componentcount). Помогите, кто чем сможет! |
|
#2
|
|||
|
|||
|
1.
Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
procedure Proc2; forward;
procedure Proc3; forward;
procedure Proc1;
begin
WriteLn('Proc1 begin');
Proc2;
WriteLn('Proc1 end');
end;
procedure Proc2;
begin
WriteLn('Proc2 begin');
Proc3;
WriteLn('Proc2 end');
end;
procedure Proc3;
begin
WriteLn('Proc3 begin');
Raise Exception.Create('My exception');
WriteLn('Proc3 end');
end;
begin
WriteLn('Program begin');
Try
Proc1;
Except
On E : Exception Do
WriteLn('Excetion: '+E.Message);
End;
WriteLn('Program end');
ReadLn;
end.TList: Код:
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils, Classes;
type
PInt = ^Integer;
var
MyList : TList;
lptInt : PInt;
I : Integer;
procedure PrintList(AList : TList);
var
I : Integer;
begin
WriteLn('My list:');
For I := 0 To AList.Count-1 Do
WriteLn(Format('MyList[%d] = %d',[I,(PInt(AList.Items[i]))^]));
end;
procedure SortList(AList : TList);
var
I, J : Integer;
begin
For I := 0 To AList.Count-2 Do
For J := I+1 To AList.Count-1 Do
If PInt(AList[i])^ > PInt(AList[J])^ Then AList.Exchange(I,J);
end;
begin
Randomize;
lptInt := Nil;
MyList := TList.Create;
Try
WriteLn(Format('Capacity = %d; Count = %d',[MyList.Capacity,MyList.Count]));
New(lptInt);
lptInt^ := Random(100);
MyList.Add(lptInt);
For I := 1 To 10 Do
Begin
New(lptInt);
lptInt^ := Random(100);
MyList.Add(lptInt);
End;
PrintList(MyList);
lptInt := MyList[2];
MyList.Delete(2);
Dispose(lptInt);
PrintList(MyList);
New(lptInt);
lptInt^ := Random(100);
MyList.Insert(4,lptInt);
PrintList(MyList);
SortList(MyList);
PrintList(MyList);
Finally
MyList.Free;
End;
ReadLn;
end. |
|
#3
|
|||
|
|||
|
TStringList:
1. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
FStrList : TStringList;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
I : Integer;
begin
FStrList := TStringList.Create;
FStrList.AddObject('Button1',Button1);
FStrList.AddObject('Button2',Button2);
FStrList.AddObject('Button3',Button3);
For I := 0 To FStrList.Count-1 Do
(FStrList.Objects[i] As TButton).Caption := 'Knopka ' + IntToStr(I);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FStrList.Free;
end;
end.2. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FStrList : TStringList;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
I : Integer;
begin
FStrList := TStringList.Create;
FStrList.AddObject('Button1',Button1);
FStrList.AddObject('Button2',Button2);
FStrList.AddObject('Button3',Button3);
For I := 0 To FStrList.Count-1 Do
(FStrList.Objects[i] As TButton).Caption := 'Knopka ' + IntToStr(I);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FStrList.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin
For I := 0 To FStrList.Count-1 Do
(FStrList.Objects[i] As TButton).Visible := True;
Timer1.Enabled := False;
end;
end.3. Код:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Timer1: TTimer;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
FStrList : TStringList;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
I : Integer;
begin
FStrList := TStringList.Create;
FStrList.AddObject('Button1',Button1);
FStrList.AddObject('Button2',Button2);
FStrList.AddObject('Button3',Button3);
For I := 0 To ComponentCount-1 Do
If Components[i] Is TButton Then
(Components[i] As TButton).Caption := 'Knopka ' + IntToStr(I);
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
FStrList.Free;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
var
I : Integer;
begin
For I := 0 To ComponentCount-1 Do
If Components[i] Is TButton Then
(Components[i] As TButton).Visible := True;
Timer1.Enabled := False;
end;
end. |
|
#4
|
|||
|
|||
|
ЗЫ.
Что за бред в заданиях про TStringList??? Поумнее не мог придумать? |