• Сервис онлайн-записи на собственном Telegram-боте
    Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое расписание, но и напоминать клиентам о визитах тоже. Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.
    Для новых пользователей первый месяц бесплатно.
    Чат-бот для мастеров и специалистов, который упрощает ведение записей:
    Сам записывает клиентов и напоминает им о визите;
    Персонализирует скидки, чаевые, кэшбэк и предоплаты;
    Увеличивает доходимость и помогает больше зарабатывать;
    Начать пользоваться сервисом


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

    Коллекции строк

    Для создания и использования коллекции отсортированных строк в Turbo Vision используется объект TSrtingCollection. Этот объект является прямым потомком от TSortedCollection и отличается от него тем, что его метод Compare не является абстрактным – по умолчанию он осуществляет обычное для Турбо Паскаля лексикографическое сравнение двух строк. Таким образом, если Вам необходимо отсортировать коллекцию строк по алфавиту (точнее, в соответствии с внутренней кодировкой символов), Вы можете использовать экземпляр объекта TSortedCollection без какого-либо перекрытия его методов.

    В следующей программе создается словарь слов, входящих в некоторый текстовый файл. По умолчанию используется файл с текстом программы, но Вы можете указать имя любого текстового файла в качестве параметра вызова программы.

    Uses Objects;
    var
    f: file of Char; Function OpenFile(var Name: String): Boolean;
    {Возвращает FALSE, если нельзя открыть файл}
    begin
    if ParamCount = 1 then
    Name: = " ParamStr(1) {Первый параметр в строке вызова программы должен содержать имя файла,}
    else, {если это не так, анализируется файл, содержащий текст программы}
    Name: = copy(ParamStr(0),1,
    posC. ',ParamStr(0))) + 'PAS';
    Assign(f, Name);
    {$I-}
    Reset(f);
    {$I+}
    OpenFile: = IOResult=0
    end; {OpenFile}
    Function GetWord: String;
    {Получает из файла очередное слово}
    var
    с: Char;
    w: String;
    Function Letter(var c: Char): Boolean;
    {Возвращает TRUE, если символ – буква}
    begin
    с: = UpCase (с);
    {проверяем на строчную русскую букву:}
    if с in ['а'..'п'] then. {а – русская буква}
    с: = chr(ord(c)-ord('а')+ord('А')) {А – русская буква}
    else if с in ['р'..'я'] then, {р – русская буква}
    с: = chr(ord(с)-ord('р')+ord('Р')); {Р – русская буква}
    {Проверяем на заглавную букву:}
    Letter: = с in ['А'..'Z','А1..'Я']
    end; {Letter}
    begin {GetWord}
    w: = ' ';
    С: = #0;
    while not EOF(f) and not Letter(c) do
    Read(f,c);
    if not EOF(f) then while not EOF(f) and Letter(c) do
    begin
    w.: = w+c;
    Read(f,c)
    end;
    GetWord: = w
    end; {GetWord}
    Procedure PrintList(List: PStringCollection);
    {Выводит на экран список слов}
    Procedure PrintWord(p: PString); far;
    begin
    Write(р^, ' ':20-Length(р^))
    end; {PrintWord}
    
    Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.