• Как продвинуть сайт на первые места?
    Вы создали или только планируете создать свой сайт, но не знаете, как продвигать? Продвижение сайта – это не просто процесс, а целый комплекс мероприятий, направленных на увеличение его посещаемости и повышение его позиций в поисковых системах.
    Ускорение продвижения
    Если вам трудно попасть на первые места в поиске самостоятельно, попробуйте технологию Буст, она ускоряет продвижение в десятки раз, а первые результаты появляются уже в течение первых 7 дней. Если ни один запрос у вас не продвинется в Топ10 за месяц, то в SeoHammer за бустер вернут деньги.
    Начать продвижение сайта


  • Иллюстрированный самоучитель по Turbo Pascal

    Использование коллекций

    В последний оператор метода Interior.Init внесите следующее изменение:

    Constructor TInterior.Init(var Bounds: TRect; HS,VS: PScrollBar);
    begin
    SetLimit(LLine,PSA.Count)
    end; {TInterior.Init}
    

    Другим станет также и реализация метода TInterior.Draw:

    Procedure TInterior.Draw;
    var
    n,k: Integer;
    B: TDrawBuffer;
    p: PString;
    Color: Byte;
    begin
    Color: = GetColor(1);
    for n: = 0 to pred(Size.Y) do
    begin
    k: = Delta.Y+n;
    MoveChar(B,' ',Color,Size.X);
    if k < pred(PS.Count) then
    begin
    p: = PS.At(k);
    MoveStr(B,Copy(р,Delta.X+1,Size.X),Color)
    end;
    WriteLine(0,N,Size.X,1,B)
    end
    end; {TInterior.Draw}
    

    Элементы коллекции нумеруются, начиная с номера 0. Длина коллекции (общее количество ее элементов) хранится в поле PS.Count. Функция PS.At(k) возвращает указатель на k-й элемент коллекции.

    Созданная коллекция размещается в динамической памяти, поэтому после использования ее следует удалить из кучи. Для этого перекроем стандартный деструктор Done:

    type
    TInterior = object (TScroller)
    …….
    Destructor Done; Virtual;
    end;
    Destructor TInterior.Done;
    begin
    Dispose(PS, Done); {Удаляем коллекцию}
    Inherited Done {Выполняем стандартный деструктор}
    end;
    

    Еще раз хочу обратить Ваше внимание на особенность программирования в среде Turbo Vision: Вы определяете метод, но не указываете, когда он должен быть выполнен. Правильно сконструированный объект уже "знает", когда он ему понадобится! Так было в случае правила Draw, так же обстоит дело и с деструктором Done: обработчик событий окна TWindow вызовет этот метод, как только он получит событие cmCancel (закрыть окно). Чтобы убедиться в этом, установите контрольную точку в строке:

    Dispose(PS, Done); {Удаляем коллекцию}
    

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

    Вид экрана с окном просмотра отсортированного файла показан на рис. 15.9.

    Иллюстрированный самоучитель по Turbo Pascal › Введение в Turbo Vision › Использование коллекций
    Рис. 15.9. Окно с отсортированным тестом программы

    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.