Главная    Почта    Новости    Каталог    Одноклассники    Погода    Работа    Игры     Рефераты     Карты
  
по Казнету new!
по каталогу
в рефератах

Программа на Delphi

ные объявления здесь }
           published
           ... { декларированные объявления здесь }
           end;
Секции определяют области видимости компонент класса:
    . Private – компоненты класса доступны только внутри этого класса;
    . Public – компоненты класса доступны в текущем и любом другом модуле,
      который содержит ссылку в списке uses на модуль, в котором объявлен
      класс;
    . Published – то же, что Public, однако в ней должны быть перечислены
      свойства, которые доступны не только на этапе выполнения программы, но
      и на этапе ее визуального конструирования средствами Delphi;
    . Protected – cекция доступна только методам текущего класса и методам
      классов-предков;
    . Automated – секция используется для объявления свойств и методов
      обработки OLE-контейнеров в рамках OLE-технологии.
Порядок следования секций произволен. Любая из секций может быть как
пустой, так и объявлена несколько раз в рамках одного класса.
                         18.7. Операции над классами
Над классами разрешено выполнять две операции – is и as.
1. Операция is. Синтаксис выражения, содержащего операцию is, имеет вид
                       object is class
Это выражение имеет логический тип (boolean) и возвращает True, если
переменная object имеет тип class класса, иначе – False.
Пример:
                 if ActiveControl is TEdit then
                 TEdit(ActiveControl).SelectAll;
В этом примере: если класс ActiveControl имеет тип TEdit, то будет выполнен
метод TEdit(ActiveControl).SelectAll.
2. Операция as. Синтаксис выражения, содержащего операцию as:
                            object as class
Результатом вычисления этого выражения является ссылка на объект того же
типа, что и тип класса class. При выполнении программы object может иметь
тот же тип, или тип класса-потомка, или nil.
Примеры:
with Sender as TButton do // если Sender имеет тип TButton
begin // или тип-потомок от TButton
Caption := '&Ok';
OnClick := OkClick;
end;
(Sender as TButton).Caption := '&Ok'; //свойству Caption переменной
// Sender типа TButton или его потомка присваивается значение '&Ok'
                                                                  Приложение
                                  Перечень

                       отлаженных процедур и функций,

                             написанных автором
Ниже использованы глобальные типы и переменные:
Type
CompareType = (Less, Equal, Greater);
           Var
           Lon, Lon2: LongInt;
           Serv: String[255];
   1. Procedure Delay(MilliSec: LongInt);
      {задержка времени на MilliSec миллисекунд}
      Var k: LongInt;
      begin
      k:=GetTickCount; {в модуле Windows.pas}
      While GetTickCount<(MilliSec+k) do ;
      end;
   2. Function Ctrl_ Shift_Down(i: byte): boolean;
      {Нажата ли одна из этих клавиш Ctrl – 1, Shift – 2}
      var
      ShiftState: TShiftState;
      j: LongInt;
      begin
      Result:=false;
      Case i of
      1: j:= VK_CONTROL;
      2: j:= VK_SHIFT;
      end;
      ShiftState := KeyDataToShiftState(j);
      Case i of
      1: Result:= (ssCtrl in ShiftState);
      2: Result:= (ssShift in ShiftState);
      end;
      end;
   3. Function CtrlDown: boolean;
      {нажата ли клавиша Ctrl}
      begin
      Result:=Ctrl_ Shift_Down(1);
      end;
   4. Function ShiftDown: boolean;
      {нажата ли клавиша Shift}
      begin
      Result:=Ctrl_Shift_Down(2);
      end;
   5. Function Profit(Expend, Price: Real): Real;
      {рентабельность=(цена - затраты)/затраты*100}
      begin
      if (Expend<>0) then Result:= (Price/Expend-1.0)*100.0
      else Result:= 1.e5;
      end;
   6. Procedure Warn1(S: Variant);
      {Окно с Variant-значением, например Warn1('Процесс закончен')}
      begin
      MessageDlg(S, mtInformation, [mbOk], 0);
      Screen.ActiveForm.Refresh;
      End;
   7. Procedure Warn4(s1,s2,s3,s4: String);
      {то же , что Warn1, но в 4 строки}
      var i,j: byte;
      begin
      i:=Length(s1); j:=i;
      i:=Length(s2);
      if (i>j) then j:=i;
      i:=Length(s3);
      if (i>j) then j:=i;
      i:=Length(s4);
      if (i>j) then j:=i;
      Warn1(Center(s1,j)+''#13#10+''+Center(s2,j)
      +''#13#10''+Center(s3,j)+''#13#10+''+Center(s4,j));
      end;
   8. Function DaNet(S: String): boolean;
      {Окно. Предназначено для вопроса, на который можно ответить, щелкнув
      по одной из кнопок "Да" или "Нет"}
      begin
      DaNet:=MessageDlg(S, mtConfirmation, [mbYes, mbNo], 0)=mrYes;
      Screen.ActiveForm.Refresh;
      end;
   9. Function DaNet4(s1,s2,s3,s4: String): boolean;
      {Окно. То же, что DaNet, только в 4 строки}
      begin
      DaNet4:=MessageDlg(Trim(s1)+''#13#10+''+Trim(s2)+''#13#10''+Trim(s3)
      +''#13#10+''+Trim(s4),mtConfirmation,[mbYes, mbNo], 0)=mrYes;
      Screen.ActiveForm.Refresh;
      end;
  10. Function InOtrReal(i,a,b: real): boolean;
      {Если i в орезке [a, b], то возвращает True}
      begin
      Result:=(i>=a) and (i<=b);
      end;
  11. Function ExitK: boolean;
      {стандартный вопрос о выходе}
      begin
      ExitK:=DaNet('Выход ?');
      end;
  12. Function Pos2(SubS, S: String; StartPos: byte): boolean;
      {входит ли SubS в S начиная с StartPos}
      begin
      Lon:=Pos(SubS,S);
      Result:= (Lon > 0) and (StartPos = Lon);
      end;
  13. Function ChStr(Ch: Char; d: Word): String;
      {создает строку из символа Ch, повторенного d раз}
      begin
      if d>0 then
      begin
      SetLength(Result,d);
      FillChar(Result[1],d,Ch);
      end;
      end;
  14. Function Prop(d: Word): String;
      {создает строку из d пробелов}
      begin
      Result:=ChStr(' ',d);
      end;
  15. Function Pad(s: String; d: Word): String;
      {вставляет справа от строки пробелы, добирая ее до длины d}
      begin
      Serv:=s;
      Lon:=Length(s);
      If (d>Lon) then Serv:=s+Prop(d-Lon);
      Result:=Serv;
      end;
  16. Function PadCopy(s: String; n,d: Word): String;
      {копирует из s начиная с позиции n строку длины d. В случае меньшей
      строки добирает ее до длины d}
      begin
      Serv:=Copy(s,n,d);
      if Length(Serv) < d then Serv:=Pad(Serv,d);
      Result:=Serv;
      end;
  17. Function LeftPad(s: String; d: Word): String;
      {вставляет слева от строки пробелы, добирая ее до длины d}
      begin
      Serv:=s;
      Lon:=Length(s);
      if (d>Lon) then Serv:=Prop(d-Lon)+s;
      Result:=Serv;
      end;
  18. Function Center(s: String; d: Word): String;
      {вставляет слева и справа от строки поровну пробелы, добирая ее до
      длины d}
      begin
      Serv:=s;
      Lon:=Length(s);
      Lon2:=Round(0.5*(d-Lon));
      if (d>Lon) then Serv:=Prop(Lon2)+s+Prop(d-Lon2);
      Result:=Serv;
      end;
  19. Function CompStrings(s1,s2: String): CompareType;
      {сравнение строк: s1s2 - Greater}
      begin
      if (s1s2) then CompStrings:=Greater
      else
      CompStrings:=Equal;
      end;
  20. Function CompReal(r1,r2: Real): CompareType;
      {сравнение вещественных чисел}
      begin
      if (r1r2) then Result:=Greater
      else
      Result:=Equal;
      end;
  21. Procedure IncRe(Var r: Real; h: real);
      begin
      r:=r+h;
      end;
  22. Function LongToStr(L: LongInt; d: byte): String;
      {конвертирует целое в строку длины d}
      begin
      Str(L,Serv);
      Result:=LPad(Serv,d);
      end;
  23. Function Long2Str(L: LongInt): String;
      {конвертирует целое в строку}
      begin
      Str(L,Serv);
      Result:=Serv;
      end;
  24. Function StrLong(st: String): LongInt;
      {конвертирует строку в целое }
      begin
      Val(Trim(st),Lon,Code);
      Result:=Lon; end;
  25. Function Str2Long(st: String; Var L: LongInt): boolean;
      {конвертирует строку в целое. Возвращает True в случае успеха}
      begin
      Val(Trim(st),L,Code);
      Result:=(Code=0);
      end;
  26. Function RealToStr(R: Real; Posle: byte): String;
      {Конвертирует Real в строку, Posle – количество символов в дробной
      части R}
      begin
      Str(R:20:Posle,Serv);
      RealToStr:=Trim(Serv);
      end;
       
  27. Function Slash(Dir: String): String;
      {ставит в конец пути символ ''}
      begin
      Serv:=Trim(Dir);
      if (Serv[Length(Serv)]<>'') then Result:=Serv+''
      else Result:=Serv;
      end;
  28. Function ChWinDos(Ch: Char): Char;
      {преобразует русский Windows-символ в русский DOS-символ}
      Var i,j: byte;
      begin
      i:=Ord(Ch);
      Case i of
      168: {Ё} j:=240;
      184: {ё} j:=241;
      192..255: if (i>239) then j:=i-16 else j:=i-64
      else j:=i;
      end;
      Result:=Char(j);
      end;
  29. Function ChDosWin(Ch: Char): Char;
      {преобразует русский DOS-символ в русский Windows-символ}
      Var i,j: byte;
      begin
      i:=Ord(Ch);
      Case i of
      240: {Ё} j:=168;
      241: {ё} j:=184;
      128..175: j:=i+64;
      224..239: j:=i+16
      else j:=i;
      end;
      Result:=Char(j);
      end;
  30. Function StrWinDos(st: String): String;
      {преобразует русскую Windows-строку в русскую DOS-строку}
      Var
      n, i: byte;
      s: ^String;
      begin
      New(s);
      n:=Length(st);
      s^:= '';
      if (n>0) then
      for i:=1 to n do
      s^:= s^+ChWinDos(st[i]);
      Result:=s^;
      Dispose(s);
      end;
  31. Function StrDosWin(s: String): String;
      {преобразует русскую DOS-строку в ру
Пред.1617181920След.
скачать работу

Программа на Delphi

 

Отправка СМС бесплатно

На правах рекламы


ZERO.kz
 
Модератор сайта RESURS.KZ