Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Топ:
Теоретическая значимость работы: Описание теоретической значимости (ценности) результатов исследования должно присутствовать во введении...
Оснащения врачебно-сестринской бригады.
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2017-06-02 | 240 |
5.00
из
|
Заказать работу |
|
|
(Sender: TObject; var Key: Char);
begin
with DrawGrid1 do
if Row > 0 then begin
if (Col = 2) and (not (key in
['0'..'9','.',#8])) then key:=#0;
if ((Col = 3) or (Col = 4)) and (not
(key in ['0'..'9',#8])) then key:=#0;
end;
end;
procedure TMainForm.CheckBox1Exit (Sender: TObject);
begin
if CheckBox1.Checked then Edit1.SetFocus
else DrawGrid1.SetFocus;
end;
Procedure TMainForm.Edit1KeyPress
(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then key:=#0;
end;
procedure TMainForm.Edit1Exit (Sender: TObject);
begin
if Length(Edit1.Text)=0 then Edit1.Text:='0.0';
if (StrToFloat(Edit1.Text)=0.0) or
(StrToFloat(Edit1.Text)>150.0) then
if Application.MessageBox('Введите % премии',
'Число <= 150',MB_OK)=IDOK then Edit1.SetFocus;
end;
procedure TMainForm.Button1Click (Sender: TObject);
type rec=record
tbn: word;
fio: string[20];
okl: Currency;
ch,dn,dng: word;
zp,pr,it: Currency;
end;
var z:array [1..2] of rec;
i:byte;
begin
for i:=1 to 2 do begin
with z[i] do begin
tbn:=StrToInt(Field[i,0]);
fio:=Field[i,1];
okl:=StrToFloat(Field[i,2]);
ch:= StrToInt(Field[i,3]);
dn:= StrToInt(Field[i,4]);
dng:=StrToInt(Field[i,5]);
if i = 1 then
if dng <> 0 then zp:=okl*dn/dng else zp:=0
else if ch>dng*8 then zp:=okl*dng*8
else zp:=okl*ch;
Field[i,6]:=FormatFloat('0.00',zp);
if CheckBox1.Checked then
pr:=StrToFloat(Edit1.Text)*zp/100
else pr:=0.0;
Field[i,7]:=FormatFloat('0.00',pr);
it:=zp+pr;
Field[i,8]:=FormatFloat('0.00',it);
with DrawGrid1 do DrawGrid1DrawCell(Sender,0,i,
CellRect(0,i),[gdSelected,gdFocused]);
end;
end;
BitBtn1.SetFocus;
end;
End.
Обработчик событий OnSetEditText содержит три оператора. Первый оператор не позволяет изменить количество часов для табельного номера 1 (оно связано с количеством отработанных дней) или количество дней для второго сотрудника (оно связано с количеством отработанных часов). Второй оператор изменяет количество часов, если количество дней изменено пользователем. Третий оператор служит тем же целям, что и второй, - изменяет количество дней для табельного номера 2.
Обработчик OnSelectCell запрещает при вводе выбор ячеек, находящихся в столбцах 0, 5, 6, 7, 8.
СОВМЕСТИМОСТЬ И ПРЕОБРАЗОВАНИЕ ТИПОВ ДАННЫХ
Когда в тех или иных операциях или операторах присутствуют данные различных типов, то возникают вопросы о соответствии типов друг другу. Стандартно выделяют три группы вопросов:
|
1. идентичность типов;
2. совместимость типов;
3. совместимость по присваиванию.
ИДЕНТИЧНОСТЬ ТИПОВ
Если при объявлении использовать один и тот же идентификатор или несколько переменных объявляются с помощью одного описания, то такие типы идентичны.
Type Int = Integer;
Var n: Int; k: Integer;
v1, v2: Array[1..10] of Real;
В данном случае v1 и v2 – идентичны, n и k – идентичны, но если объявлено: Var v1: Array[1..10] of Real;
v2: Array[1..10] of Real;
то v1 и v2 не идентичны. Чтобы их сделать идентичными, можно, например, объявить так: type Vect = Array[1..10] of Real; var v1, v2: Vect;
СОВМЕСТИМОСТЬ ТИПОВ
При программировании необходимо помнить, что на операции с программными элементами компилятор налагает ограничения, разрешая выполнение только заложенных для указанного типа действий. Кроме того, совместимость типов требуется в выражениях, в том числе и в операциях отношения, а также при передаче аргументов функциям или процедурам. Рассмотрим некоторые наиболее распространённые варианты, когда типы считаются совместимыми:
· типы идентичны;
· один тип представляет тип-диапазон другого;
· для объявления используется один и тот же базовый тип;
· оба типа – целые типы;
· оба типа – вещественные типы;
· один тип - строка типа PChar, другой – массив символов с индексацией элементов, начинающейся от нуля.
СОВМЕСТИМОСТЬ ПО ПРИСВАИВАНИЮ
Чтобы присваивание было корректным, необходимо выполнение следующих условий:
· идентичность типов;
· совместимость типов, причём значение типа слева от знака присваивания должно находиться в границах возможных значений типа справа от знака присваивания;
· слева от знака присваивания вещественный тип, а справа – целый тип;
· слева строка, кроме типа PChar, справа – любая строка;
· слева строка, кроме типа PChar, справа – символ.
ПРЕОБРАЗОВАНИЕ ТИПОВ
В ряде случаев требуется преобразование одного типа в другой. Для этого используются или те же идентификаторы, с помощью которых типы объявлялись, или специальные функции или процедуры. Например, если объявлено:
|
Type ByteRec = record
Lo, Hi:byte;
End;
WordRec = record
Lo, Hi:word;
End;
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!