Новые примеры

This commit is contained in:
miks1965 2016-08-07 16:17:49 +03:00
parent 2380becddc
commit 466d274250
8 changed files with 180 additions and 2 deletions

View file

@ -3,9 +3,11 @@
begin
var КнопкаЯндекс := СоздатьКнопку('Яндекс');
var КнопкаВКШ := СоздатьКнопку('ВКШ');
// var КнопкаВКШКарта := СоздатьКнопку('ВКШ Карта');
var Браузер := СоздатьБраузер;
КнопкаЯндекс.ПриНажатии += Браузер.ОтобразитьСайт('http://www.yandex.ru');
КнопкаВКШ.ПриНажатии += Браузер.ОтобразитьСайт('http://sunschool.mmcs.sfedu.ru');
// КнопкаВКШКарта.ПриНажатии += Браузер.ОтобразитьСайт('https://yandex.ru/maps/39/rostov-na-donu');
end.

View file

@ -0,0 +1,8 @@
uses Исполнители,ГрафическиеИсполнители;
begin
var Браузер := СоздатьБраузер;
var страныА := Страны.Выбрать(НаБукву('Р'));
страныА.ДляВсех(страна->begin СоздатьКнопку(страна).ПриНажатии += Браузер.ОтобразитьСайт('https://ru.wikipedia.org/wiki/'+страна); end);
end.

View file

@ -0,0 +1,15 @@
uses Исполнители,ГрафическиеИсполнители;
begin
var Браузер := СоздатьБраузер;
var СписокЭлементов := СоздатьСписок;
СписокЭлементов.Высота := 600;
СписокЭлементов.ДобавитьМного(Страны);
// вариант:
//Страны.ДляВсех(страна->Список.Добавить(страна));
СписокЭлементов.ПриНажатии += procedure ->
Браузер.Отобразить('https://ru.wikipedia.org/wiki/'+СписокЭлементов.ТекущаяСтрока);
end.

View file

@ -0,0 +1,33 @@
uses Исполнители,ГрафическиеИсполнители;
begin
var Браузер := СоздатьБраузер;
var СписокЭлементов: ListBox2;
var КоличествоСтран: TextLabel2;
Range('А','Я').ДляВсех(буква ->
begin
var кнопка := СоздатьКнопку(буква);
кнопка.Width := 40;
кнопка.ПриНажатии += procedure ->
begin
var СтраныНаБукву := Страны.Выбрать(НаБукву(буква));
СписокЭлементов.Очистить;
СписокЭлементов.ДобавитьМного(СтраныНаБукву);
КоличествоСтран.Текст := 'Cтран на букву '+буква+': '+СтраныНаБукву.Count;
end
end
);
СписокЭлементов := СоздатьСписок;
СписокЭлементов.Высота := 200;
СписокЭлементов.ДобавитьМного(Страны.Выбрать(НаБукву('А')));
// вариант:
//Страны.ДляВсех(страна->Список.Добавить(страна));
СписокЭлементов.ПриНажатии += procedure ->
Браузер.Отобразить('https://ru.wikipedia.org/wiki/'+СписокЭлементов.ТекущаяСтрока);
КоличествоСтран := СоздатьТекст('Cтран на букву А: 12');
end.

View file

@ -0,0 +1,31 @@
uses Исполнители,ГрафическиеИсполнители;
begin
var Браузер := СоздатьБраузер;
var СписокЭлементов := СоздатьСписок;
СписокЭлементов.Высота := 200;
СписокЭлементов.ДобавитьМного(Страны.Выбрать(НаБукву('А')));
// вариант:
//Страны.ДляВсех(страна->Список.Добавить(страна));
СписокЭлементов.ПриНажатии += procedure ->
Браузер.Отобразить('https://ru.wikipedia.org/wiki/'+СписокЭлементов.ТекущаяСтрока);
var Кнопки := Range('А','Я').Select(буква -> СоздатьКнопку(буква));
var КоличествоСтран := СоздатьТекст('Cтран на букву А: 12');
НоваяСтрока;
Кнопки.ДляВсех(кнопка -> begin
кнопка.Width := 40;
кнопка.ПриНажатии += procedure ->
begin
var СтраныНаБукву := Страны.Выбрать(НаБукву(кнопка.Text));
СписокЭлементов.Очистить;
СписокЭлементов.ДобавитьМного(СтраныНаБукву);
КоличествоСтран.Текст := 'Cтран на букву '+кнопка.Текст+': '+СтраныНаБукву.Count
end
end);
end.

View file

@ -9,6 +9,7 @@ type
function ОтобразитьСайт(адрес: string): () -> () :=
() -> Self.Отобразить(адрес);
end;
Button2 = class(Button)
private
procedure ppp(sender: Object; e: System.EventArgs);
@ -19,14 +20,52 @@ type
inherited Create(text);
b.Click += ppp;
end;
property Текст: string read GetText write SetText;
end;
ListBox2 = class(ListBox)
private
procedure ppp(sender: Object; e: System.EventArgs);
function GetHeight := lb.Height;
procedure SetHeight(h: integer) := lb.Height := h;
public
event ПриНажатии: procedure;
constructor Create;
begin
inherited Create;
lb.Click += ppp;
{lb.AutoSize := False;
lb.Width := 160;}
lb.Width := 190;
end;
procedure Добавить(name: string) := Items.Add(name);
procedure Очистить := Items.Clear;
procedure ДобавитьМного(m: sequence of string);
begin
foreach var x in m do
Items.Add(x);
end;
function ТекущаяСтрока := Items[Selectedindex] as string;
property Высота: integer read GetHeight write SetHeight;
end;
TextLabel2 = class(TextLabel)
public
property Текст: string read GetT write SetT;
end;
procedure Button2.ppp(sender: Object; e: System.EventArgs);
begin
if ПриНажатии<>nil then
ПриНажатии
end;
procedure ListBox2.ppp(sender: Object; e: System.EventArgs);
begin
if ПриНажатии<>nil then
ПриНажатии
end;
procedure Init();
begin
@ -39,15 +78,28 @@ begin
Result := new Button2(Заголовок);
end;
function СоздатьСписок: ListBox2;
begin
ParentControl := MainPanel;
Result := new ListBox2;
end;
function СоздатьТекст(txt: string := ''): TextLabel2;
begin
ParentControl := MainPanel;
Result := new TextLabel2(txt);
end;
function СоздатьБраузер: WebBrowser2;
begin
MainPanel.Dock := Dockstyle.Left;
MainPanel.Width := 130;
MainPanel.Width := 200;
ParentControl := MainForm;
Result := new WebBrowser2;
Result.Dock := DockStyle.Fill;
end;
procedure НоваяСтрока := LineBreak;
begin
Init();

View file

@ -244,6 +244,36 @@ type
end;
end;
const dbname = 'countries.db';
var coun: array of string := nil;
function Ñòðàíû: sequence of string;
begin
if coun = nil then
coun := ReadLines(dbname).ToArray();
Result := coun;
end;
function Âûáðàòü<T>(Self: sequence of T; cond: T -> boolean): sequence of T; extensionmethod;
begin
Result := Self.Where(cond);
end;
procedure ÄëÿÂñåõ<T>(Self: sequence of T; act: T -> ()); extensionmethod;
begin
Self.Foreach(act);
end;
function ÍàÁóêâó(c: char): string -> boolean;
begin
Result := ñòðàíà -> ñòðàíà[1] = c;
end;
function ÍàÁóêâó(s: string): string -> boolean;
begin
Result := ñòðàíà -> ñòðàíà[1] = s[1];
end;
var
///- Множество - это набор значений

View file

@ -0,0 +1,7 @@
uses Исполнители;
begin
var страныА := Страны.Выбрать(НаБукву('А'));
страныA.Println;
end.