Логин: Пароль:    Регистрация Всеми возможностями сайта можно пользоваться
только после авторизации.
   Забыли пароль?

Поиск
L



Статистика
u
Пользователи онлайн: нет
Гостей онлайн: 7
Всего онлайн: 7
Зарегистрировано юзеров: 7879
Комментариев на сайте: 690
Новый юзер: Egen_M



Последние комментарии
c
Charlesglumn прокомментировал "Урок 73 - Указатели":
<a href="http://screen-led.ru">светодиодный экран</a> <a href="http://screen-led.ru">аренда светодиодного экрана</a> <a href="http://screen-led.ru">светодиодный экран купить</a> <a href="http://screen-led.ru">светодиодный экран цена</a> <a href="http://screen-led.ru">светодиодный экран led</a> <a href="http://screen-led.ru">разрешение светодиодных экранов</a> <a href="http://screen-led.ru">уличный светодиодный экран</a> <a href="http://screen-led.ru">светодиодные экраны москва</a> <a href="http://screen-led.ru">светодиодные экраны типы</a> <a href="http://screen-led.ru">светодиодный экран чтобы помещений</a> <a href="http://screen-led.ru">светодиодные экраны размеры</a> <a href="http://screen-led.ru">hd светодиодные экраны</a> светодиодный экран купить 8-800-550-2316 info@screen-led.ru 150003, РФ, г. ЯРОСЛАВЛЬ, ул. ПОЛУШКИНА РОЩА, д. 9, оф. 4
Arthurneime прокомментировал "Урок 3 - Конструкция IF...THEN...ELSE":
[img]https://avatars.mds.yandex.net/get-pdb/1708639/cc1462cd-ed78-4920-b735-46dd5c06d89d/s375[/img] [b]Как обыграть Казино??? Миф или трудная реальность?[/b] Если и есть что-то, что все знают об азартных играх, так это то, что дом всегда выигрывает. И хотя это правда, что казино всегда приносят прибыль, есть несколько способов обмануть систему – некоторые из которых на самом деле совершенно законны. Полвека назад математик Эдвард Торп опубликовал новаторскую книгу, в которой описал, как игрок может использовать “подсчет карт”, чтобы получить преимущество в игре Блэкджек, отслеживая карты, оставшиеся в колоде. С тех пор казино пытаются искоренить подсчет карт, а счетчики карт становятся все более искусными в том, чтобы не попасться. Так можно ли сегодня переиграть казино? И каково же будет в будущем? Выигрышная Рука В Блэкджеке. Викисклад Казино - это бизнес, и они работают, создавая маржу-часто называемую краем дома. Если вы играете в рулетку и делаете ставку на один номер, то вам будут платить с коэффициентом 35-1, когда истинные шансы составляют 36-1 в Европе и 37-1 в США. Тот факт, что вы получаете меньше, чем истинные шансы, является преимуществом дома и объясняет, почему казино зарабатывают деньги в долгосрочной перспективе. Конечно, некоторые люди должны выигрывать, иначе казино перестанут существовать. Source: https://vk.com/video-195820899_456239021 https://zen.yandex.ru/media/id/5ce017f600ad2100b3939f53/sluchai-v-kazino-5ed8b67b5db2e716a6031ac2 Tags: бит казино играть казино вулкан сайт казино фортуна плей

Урок 69 - Реестр Windows, (часть 2/2)


Пример. В новом проекте помещаем в форму следующие компоненты:
· 2 компонента CheckBox
· компонент ComboBox, установите в свойстве Items некоторые строки.
· 2 компонента Edit
· компонент DateTimePicker (страница Win32 палитры компонентов)

Процедура OnShow для окна Form1
procedure TForm1.FormShow(Sender: TObject);
Var 
	RegIniFile:TRegIniFile; // реестровый объект
begin
	RegIniFile:=TRegIniFile.Create('MySelfRegistryApplication'); // создание реестровой переменной
	Form1.Left:=RegIniFile.ReadInteger('Form1','Form1Left',Form1.Left); // левая граница окна
	Form1.Top:=RegIniFile.ReadInteger('Form1','Form1Top',Form1.Top); // верхняя граница окна
	Form1.Height:=RegIniFile.ReadInteger('Form1','Form1Height',Form1.Height); // высота окна
	Form1.Width:=RegIniFile.ReadInteger('Form1','Form1Width',Form1.Width); // ширина окна
	  
		// Восстановление состояния компонентов
		
	CheckBox1.Checked:=RegIniFile.ReadBool('Form1','CheckBox1Checked',CheckBox1.Checked);
	CheckBox2.Checked:=RegIniFile.ReadBool('Form1','CheckBox2Checked',CheckBox2.Checked);
	ComboBox1.ItemIndex:=RegIniFile.ReadInteger('Form1','ComboBox1ItemIndex',ComboBox1.ItemIndex);
	Edit1.Text:=RegIniFile.ReadString('Form1','Edit1Text',Edit1.Text);
	  
	if RegIniFile.ValueExists('MyFloat') then // если такой параметр существует, то:
		Edit2.Text:=FloatToStr(RegIniFile.ReadFloat('MyFloat')); // чтение числа с запятой
	  
	if RegIniFile.ValueExists('MyDate') then // если такой параметр существует, то:
		DateTimePicker1.Date:=RegIniFile.ReadDate('MyDate'); // чтение даты
	  
	RegIniFile.Free; // уничтожение вручную созданного объекта
end;
Процедура OnClose для окна Form1
procedure TForm1.FormClose(Sender: TObject; var Action: 
  TCloseAction);
Var 
	RegIniFile:TRegIniFile;
begin
	RegIniFile:=TRegIniFile.Create('MySelfRegistryApplication');
	RegIniFile.WriteInteger('Form1','Form1Left',Form1.Left);
	RegIniFile.WriteInteger('Form1','Form1Top',Form1.Top);
	RegIniFile.WriteInteger('Form1','Form1Height',Form1.Height);
	RegIniFile.WriteInteger('Form1','Form1Width',Form1.Width);
		// Сохранение состояния компонентов
	RegIniFile.WriteBool('Form1','CheckBox1Checked',CheckBox1.Checked);
	RegIniFile.WriteBool('Form1','CheckBox2Checked',CheckBox2.Checked);
	RegIniFile.WriteInteger('Form1','ComboBox1ItemIndex',ComboBox1.ItemIndex);
	RegIniFile.WriteString('Form1','Edit1Text',Edit1.Text);

	RegIniFile.WriteFloat('MyFloat',StrToFloat(Edit2.Text));
	RegIniFile.WriteDate('MyDate',DateTimePicker1.Date);
  
	RegIniFile.Free;
end;

 

  Обратите внимание, что в этом примере для записи состояния компонента Edit2 используется преобразование строковой величины в число. Если в этом компоненте будут недопустимые символы, то при закрытии окна будет выдаваться ошибка. Для разделения дробной от целой части (запятая), используйте соответствующий символ, установленный в конфигурации windows как символ разделителя.



Реестр


  После запуска и закрытия этой программы можно запустить редактор реестра и просмотреть результат записи данных. Они находятся в ключе HKEY_CURRENT_USER, подключе MySelfRegistryApplication, как было указано в программе. Данные состояния окна, компонентов CheckBox1, CheckBox2 и Edit1 находятся в секции Form1, остальные данные: число в компоненте Edit2, дата в компоненте DateTimePicker1 находятся непосредственно в ключе MySelfRegistryApplication.
Посмотреть на параметры, записанные вышерассмотренной программой автоматически при закрытии, можно на двух рисунках. В первом рисунке вы видите данные даты и дробного числа, во втором рисунке вы видите содержание секции Form1. Эта секция является одновременно подключом ключа MySelfRegistryApplication.
Удаление того или иного параметра приведет к сбросу сохраняемой величины и при запуске программы будет установлено начальное значение по умолчанию. Удаление всего ключа MySelfRegistryApplication приведет к сбросу всех данных нашей программы. Удалить параметр или ключ в редакторе реестра можно кнопкой Del или выбрав соответствующий пункт из выпадающего меню по правой кнопке мышки.
Программное удаление параметра осуществляется командой
  Хочу еще сказать, что с помощью реестра можно сохранять кроме вышерассмотренных типов данных еще формат времени, значение денежной единицы, нетипизированные данные. Последний тип данных может представлять собой шестнадцатиричный код некоторых данных.



Реестр


Некоторые команды для работы со строками

Вспомним, а для некоторых узнаем некоторые команды для работы со строками.
Строка является набором символов. Строковые переменные можно склеивать, разрезать, копировать, удалять символы.
Для склеивания нескольких строк можно воспользоваться знаком + как в арифметической операции сложения.
Копирование части строки в другую строку производится функцией Copy. Она возвращает результат копирования:
	
	РЕЗУЛЬТАТ:=Copy(ИСХОДНАЯ_СТРОКА, ПЕРВЫЙ_СИМВОЛ, ДЛИНА_ЧАСТИ_СТРОКИ);
Удаления части в строке производится процедурой
Delete:
	
	Delete(СТРОКА,ПЕРВЫЙ_СИМВОЛ, ДЛИНА);
Для вставки части строки в другую применяем процедуру Insert
	Insert(ВСТАВЛЯЕМАЯ_СТРОКА, РЕЗУЛЬТИРУЮЩАЯ_СТРОКА, НОМЕР_СИМВОЛА_ВСТАВКИ);
В любой момент можно узнать длину строки с помощью функции Length(СТРОКА), а установить длину строки можно процедурой
	
	SetLength(СТРОКА, НОВАЯ_ДЛИНА)
В pascal'е строковая переменная объявляется как тип String. Если объявляем такую переменную, значит мы будем ее использовать для работы со строками. Но в отличие от языка программирования pascal, в таких строках запрещен доступ к нулевому символу (в этом символе хранилось длина строки). Поскольку в операционной системе windows все строки имеют стандарт PChar (строки, заканчивающиеся символом #0), то тип String здесь оставлен для совместимости. Фактически длина строки String не ограничена 255 символами, как в pascal. Но применяя этот тип, вы незаметно для себя, применяете тип PChar. Все операции перевода одного типа в другой delphi производит автоматически.
Вот пример процедуры обработки строк.
procedure StringOper;
Var 
	st1,st2,st3,st4:String; // объявление строковых переменных
	i:integer; // целочисленная переменная
begin
	st1:='это 1 строка';
	st2:='это 2 строка';
	st3:=st1+' '+st2; // результат 'это 1 строка это 2 строка'
	st4:=Copy(st3,1,5); // копирование части строки. Результат 'это 1'
	Delete(st4,1,4); // удаление части строки. Результат '1'
	Insert(' строка',st4,2); // вставка части строки в строку st4. Результат '1 строка'
	st4[1]:='2'; // изменение первого символа строки с 1 на 2
	i:=Length(st4); // определение длины строки i=8
	SetLength(st4,7); // установка новой длины строки. Результат '1 строк'
end;


Удачи!
Встретимся в следующем уроке!


Источник: www.thedelphi.ru
Автор: Савельев Александр
Опубликовано: 28 Июля 2013
Просмотров:

Урок 68 - Реестр Windows, (часть 1/2) Урок 70 - Динамические библиотеки DLL

Зарегистрируйтесь или авторизуйтесь, чтобы добавлять комментарии.



аватар Добавил(а): AIGERIMDA [Новичок] Дата: 2015-11-24




аватар Добавил(а): rashpell [Новичок] Дата: 2020-03-01
&#1047;&#1072;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100; seo &#1087;&#1086;&#1080;&#1089;&#1082;&#1086;&#1074;&#1091;&#1102; &#1086;&#1087;&#1090;&#1080;&#1084;&#1080;&#1079;&#1072;&#1094;&#1080;&#1102; &#1089;&#1072;&#1081;&#1090;&#1072;, &#1047;&#1072;&#1082;&#1072;&#1079;&#1072;&#1090;&#1100; &#1091;&#1089;&#1083;&#1091;&#1075;&#1080; &#1087;&#1086; &#1087;&#1088;&#1086;&#1076;&#1074;&#1080;&#1078;&#1077;&#1085;&#1080;&#1102; &#1089;&#1072;&#1081;&#1090;&#1072; &#1055;&#1086; &#1074;&#1089;&#1077;&#1084; &#1074;&#1086;&#1079;&#1085;&#1080;&#1082;&#1096;&#1080;&#1084; &#1074;&#1086;&#1087;&#1088;&#1086;&#1089;&#1072;&#1084; &#1042;&#1099; &#1084;&#1086;&#1078;&#1077;&#1090;&#1077; &#1086;&#1073;&#1088;&#1072;&#1090;&#1080;&#1090;&#1100;&#1089;&#1103; &#1074; &#1089;&#1082;&#1072;&#1081;&#1087; &#1083;&#1086;&#1075;&#1080;&#1085; [b]pokras7777[/b]&#1056;&#1072;&#1089;&#1082;&#1088;&#1091;&#1090;&#1082;&#1072; &#1089;&#1072;&#1081;&#1090;&#1072; &#1087;&#1086;&#1076; &#1082;&#1083;&#1102;&#1095; .&#1058;&#1072;&#1082; &#1078;&#1077; &#1089;&#1086;&#1073;&#1080;&#1088;&#1072;&#1077;&#1084; &#1073;&#1072;&#1079;&#1099;