![]()  | 
	
 
  | 
		
			
  | 	
	
	
		
		|||||||
| Регистрация | << Правила форума >> | 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??? Поумнее не мог придумать?  |