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