Последние записи
- Delphi 7: замостить TImage маленьким изображением
- Определить, что кнопка зажата сейчас
- ATmega128 — При появлении положительного фронта на входе PD3 запустить таймер-счётчик 0
- Можно вставить в HTML элемент из XML?
- Не получается запустить компьютер, при старте показывает no codec initialized
- Громкость звука (Делфи)
- Собрать post/get и куки параметры в одну переменную
- Создание окна ввода пароля на чистом Ассемблере
- Удаление пустых абзацев в ячейках таблиц (MS Word)
- Не создавать форму при определенном параметре
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
1st
Сен
УРОК 24. ПЕРЕГРУЗКА ОПЕРАТОРОВ
УРОК 24. ПЕРЕГРУЗКА ОПЕРАТОРОВ
Как вы уже знаете, тип переменной определяет набор значений, которые она может хранить, а также набор операций, которые можно выполнять над этой переменной. Например, над значением переменной типа int ваша программа может выполнять сложение, вычитание, умножение и деление. С другой стороны, использование оператора плюс для сложения двух строк лишено всякого смысла. Когда вы определяете в своей программе класс, то по существу вы определяете новый тип. А если так, C++ позволяет вам определить операции, соответствующие этому новому типу.
Перегрузка оператора состоит в изменении смысла оператора (например, оператора плюс (+), который обычно в C++ используется для сложения) при использовании его с определенным классом. В данном уроке вы определите класс string и перегрузите операторы плюс и минус. Для объектов типа string оператор плюс будет добавлять указанные символы к текущему содержимому строки. Подобным образом оператор минус будет удалять каждое вхождение указанного символа из строки. К концу данного урока вы изучите следующие основные концепции:
- Вы перегружаете операторы для улучшения удобочитаемости ваших программ, но перегружать операторы следует только в том случае, если это упрощает понимание вашей программы.
- Для перегрузки операторов программы используют ключевое слово C++ operator.
- Переопределяя оператор, вы указываете функцию, которую C++ вызывает каждый раз, когда класс использует перегруженный оператор. Эта функция, в свою очередь, выполняет соответствующую операцию.
- Если ваша программа перегружает оператор для определенного класса, то смысл этого оператора изменяется только для указанного класса, оставшаяся часть программы будет продолжать использовать этот оператор для выполнения его стандартных операций.
- C++ позволяет перегружать большинство операторов, за исключением четырех, перечисленных в таблице 24, которые программы не могут перегружать.
Перегрузка операторов может упростить наиболее общие операции класса и улучшить читаемость программы. Найдите время для эксперимента спрограммами, представленными в этом уроке, и вы обнаружите, что перегрузка операторов выполняется очень просто.
1st
УРОК 23. КОНСТРУКТОР И ДЕСТРУКТОР
При создании объектов одной из наиболее широко используемых операций которую вы будете выполнять в ваших программах, является инициализация элементов данных объекта. Как вы узнали из урока 22, единственным способом, с помощью которого вы можете обратиться к частным элементам данных, является использование функций класса. Чтобы упростить процесс инициализации элементов данных класса, C++ использует специальную функцию, называемую конструктором, которая запускается для каждого создаваемого вами объекта. Подобным образом C++ обеспечивает функцию, называемую деструктором, которая запускается при уничтожении объекта. В данном уроке конструктор и деструктор рассматриваются более подробно. К концу этого урока вы освоите следующие основные концепции:
- Конструктор представляет собой метод класса, который облегчает вашим программам инициализацию элементов данных класса.
- Конструктор имеет такое же имя, как и класс.
- Конструктор не имеет возвращаемого значения.
- Каждый раз, когда ваша программа создает переменную класса, C++ вызывает конструктор класса, если конструктор существует.
- Многие объекты могут распределять память для хранения информации; когда вы уничтожаете такой объект, C++ будет вызывать специальный деструктор, который может освобождать эту память, очищая ее после объекта.
- Деструктор имеет такое же имя, как и класс, за исключением того, что вы должны предварять его имя символом тильды (~).
- Деструктор не имеет возвращаемого значения.
Термины конструктор и деструктор не должны вас пугать. Вместо этого представьте конструктор как функцию, которая помогает вам строить (конструировать) объект. Подобно этому, деструктор представляет собой функцию, которая помогает вам уничтожать объект. Деструктор обычно используется, если при уничтожении объекта нужно освободить память, которую занимал объект.
1st
КОНТАКТЫ
КОНТАКТЫ
написать в » клуб программистов «
Указанный e-mail: admin@programmersclub.ru
заявка на публикацию программы, статьи
Указанный e-mail: admin@programmersclub.ru
1st
КЛУБ
В мае был запущен блог программистов
Теперь участники нашего клуба могут самостоятельно публиковать статьи. Для публикации статей и новостей нужно быть постоянным участникомФорума , зарегистрироваться в блоге, получить права редактора.
В блоге только авторские статьи, вы всегда сможете получить комментарии от автора.
Участники клуба программистов
Все статьи — это лишь мнение и опыт их авторов. Мнение администратора и авторов статей могут не совпадать. Хотя все статьи проходят проверку администратором, проводится необходимая правка.
Администратор оставляет за собой право высказать мнение о статье, также возможна публикация мнений других участников клуба.
1st
УРОК 13. ПЕРЕГРУЗКА ФУНКЦИЙ
При определении функций в своих программах вы должны указать тип возвращаемого функцией значения, а также количество параметров и тип каждого из них. В прошлом (если вы программировали на языке С), когда у вас была функция с именем add_values, которая работала с двумя целыми значениями, а вы хотели бы использовать подобную функцию для сложения трех целых значений, вам следовало создать функцию с другим именем. Например, вы могли бы использовать add_two_values иadd_three_values. Аналогично если вы хотели использовать подобную функцию для сложения значений типа float, то вам была бы необходима еще одна функция с еще одним именем. Чтобы избежать дублирования функции, C++ позволяет вам определять несколько функций с одним и тем же именем. В процессе компиляции C++ принимает во внимание количество аргументов, используемых каждой функцией, и затем вызывает именно требуемую функцию. Предоставление компилятору выбора среди нескольких функций называется перегрузкой. В этом уроке вы научитесь использовать перегруженные функции. К концу данного урока вы освоите следующие основные концепции:
• Перегрузка функций позволяет вам использовать одно и то же имя для нескольких функций с разными типами параметров.
• Для перегрузки функций просто определите две функции с одним и тем же именем и типом возвращаемого значения, которые отличаются количеством параметров или их типом.
Перегрузка функций является особенностью языка C++, которой нет в языке С. Как вы увидите, перегрузка функций достаточно удобна и может улучшить удобочитаемость ваших программ.
1st
Cardinal
Базовый беззнаковый целый тип
type Cardinal = 0..4294967295; // At the time of writing
Описание:
Для хранения очень больших целых чисел, используйте Тип Int64.
Пример кода:
min, max : Cardinal;
begin
// Set the minimum and maximum values of this data type
min := Low(Cardinal);
max := High(Cardinal);
ShowMessage(‘Min cardinalvalue = ‘+IntToStr(min));
ShowMessage(‘Max cardinalvalue = ‘+IntToStr(max));
end;
Результат выполнения:
Max cardinal value = 4294967295
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
1st
ВСТРОЕННАЯ В DELPHI БАЗА ДАННЫХ (ЧАСТЬ 2)
Создание базы данных в Delphi, без сторонних БД
Здравствуйте Delphi’сты и им сочувствующие.
В предыдущей статье о создании базы данных в delphi, я рассказывал про компонент TClientDataSet, как подключаться к локальной базе данных и создавать новую локальную таблицу. Сегодня я вам расскажу, как фильтровать записи в таблице и индексировать их. Фильтровка записей таблицы это эквивалент SQL запросам. Фильтровка нужна, для того чтобы показать пользователю меньше записей согласно определённому условию (например: показать только тех учеников группы у кого день рождения в июне или в декабре и т.д.). Также фильтрацию можно использовать как поиск некоторой записи в таблице. На практике в большинстве случаев SQL запросы используются именно в таких случаях, какой описан в примере.
Фильтр задается, как строка и её определяет свойство Filter, а активность фильтра определяет свойство Filtered, соответственно если оно True то записи фильтруются. Фильтр задаётся согласно всем правилам программирования Delphi, к которым вы привыкли. Фильтр имеет очень много функций:
1. Арифметические и логические функции и операторы сравнения
Примеры:
a. Population < 100;
b. Vozrast > 24 and Rost < 165;
c. Stoimost > 300 or Razmer < 400;
d. Town <> Moskva
e. Ves + Rost > 200;
f. Vozrast/Ves > 9;
2. Можно выполнят операции над строками
Примеры
a. Last_Name = ‘Иван’;
b. First_Name+Last_Name = ‘ИгорьПетров’;
c. Substring(Last_Name,1,2)= ‘Ca’;
3. Также функции даты и времени
Примеры
a. Year(Birth_Day) = 1986;
b. Day(Birth_Day) = 12;
4. Используются также операторы Like и In.
Все возможности фильтрации полностью документированы в файле справки Delphi в разделе Developing Database Applications > Using client datasets > Limiting what records appear.
Индексацию определяет свойство IndexFieldNames. Для того чтобы упорядочить по возрастанию таблицу по полю Vozrast нужно присвоить свойству IndexFieldNames значение ‘Vozrast’. Очень часто индексация нужна тогда, когда пользователь щёлкает на заголовках столбцов компонента DBGrid.
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
ClientDataSet1.IndexFieldNames:=Column.FieldName;
end;
Также можно создать индексы с помощью свойства IndexDefs. Индексы можно создать как во время выполнения, так и в стадии создания базы данных. Во время выполнения delphi приложения, для того чтобы создать индекс нужно вызвать метод Add свойства IndexDefs. Первый параметр это имя индекса, второй — имя поля (или полей), третий — опции. Теперь для того чтобы упорядочить таблицу по полю нужно присвоить свойству IndexName имя нужного индекса. Данный метод лучше, чем предыдущий, так как можно быстро переключаться между созданными заранее индексами. Для того чтобы изменить индексы нужно воспользоваться свойством Items свойства IndexDefs, указав порядковый номер индекса. Получить порядковый номер индекса можно через метод свойства IndexDefs IndexOf , указав имя индекса. Например:
var
i:integer;
begin
…..
i:=ClientDataSet1.IndexDefs.IndexOf(‘i3’);
ClientDataSet1.IndexDefs.Items.Fields:=’Birth_Day’;
…..
Руслан Аблязов E-mail
часть третьяОбсудить на форуме
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
1st
УРОК 17. СИМВОЛЬНЫЕ СТРОКИ
Символьные строки хранят такую информацию, как имена файлов, названия книг, имена служащих и другие символьные сочетания. Большинство программ на C++ широко используют символьные строки. Далее вы узнаете, что в C++ символьные строки хранятся в массиве типаchar, который заканчивается символом NULL (или ASCII 0). В данном уроке символьные строки рассматриваются более подробно. Вы узнаете, как хранить и обрабатывать символьные строки, а также как использовать функции библиотеки этапа выполнения, которые манипулируют символьными строками. К концу этого урока вы освоите следующие основные концепции:
- Чтобы объявить символьную строку, вы должны объявить массив типа char,
- Чтобы присвоить символы символьной строке, ваши программы просто присваивают символы элементам массива символьных строк.
- Программы C++ используют символ NULL (ASCII 0), чтобы отметить последний символ строки.
- C++ позволяет вашим программам инициализировать символьные строки при их объявлении.
- Программы могут передавать символьные строки в функцию, как и любой массив.
- Большинство библиотек этапа выполнения C++ обеспечивают набор функций, которые управляют символьными строками.
Программы на C++ хранят символьные строки как массив типа char.Большинство программ широко используют символьные строки. Экспериментируйте с каждой программой, представленной в этом уроке, чтобы освоиться с символьными строками. Вы обнаружите, что работа с символьными строками подобна работе с массивами, описанной в уроке 16.
1st
МНЕНИЕ АДМИНА О СТАТЬЕ…
МНЕНИЕ АДМИНА О СТАТЬЕ…
Продвижение, раскрутка и улучшение сайтов
Сайт категорически не должен быть на стадии разработки. И не из-за потенциальных посетителей, их просто не будет, так как поисковики пройдутся по вашему сайту, заметят, что у вас на сайте практически нет информации и вернутся уже не скоро. А если у вас это первый сайт, то вы быстро сдадитесь…
Насчёт дизайна сайта — 90% сайтов на одно лицо. Чего тут передирать? Меняешь шапку — и вот уже другой дизайн. Есть одно золотое правило для рунета, как сказал один мой друг, сайт не должен быть «грузибельным», т.е. не загружаться слишком долго. Человек в путешествии по сети ищет информацию, и просто может не дождаться загрузки вашего сайта.
Конечно если вы знаете, что сможете сами создать дизайн, то дерзайте…
И ещё… А вы знаете сколько стоит запатентовать дизайн сайта?
Для начала работ необходимо:
1. заключить договор и оплатить счет на сумму 9000 руб. за проведение патентного поиска для установления новизны дизайна сайта.
2. представить изображение (фото или компьютерное) сайта.
Это только для начала работ, поэтому о патенте начинающему дизайнеру следует забыть!!! Про раскрутку. Не надо регистрироваться в поисковиках!!! Они сами вас найдут, вам достаточно на месяц разместить ссылку на любом сайте или на 10 дней на посещаемом, вас обязательно найдут все поисковики. Просто поисковые машины перейдут по ссылке на ваш сайт и проиндексируют. А вот регистрация в популярных каталогах обязательна, например если на всех страницах стоит рейтинг Rambler Top 100, то рамблер поисковик в кратчайшие сроки проиндексирует любую новую страницу со своим счётчиком. Да и просто каталоги не забывайте. И в яндекс поисковике, да и во многих популярных поисковиках вам просто не дадут зарегистрироваться. Да, не пользуйтесь специальными программами, в посещаемых поисковиках и каталогах с этим уже давно успешно борются.
При обмене ссылками с другими сайтами узнайте, так сказать, их репутацию. Например, в майл рейтинге есть такая информация, как переход по ссылкам. Если рейтинг большой, а переходов нет или очень мало — значит счётчик накручен. А может этот сайт черпает трафик с порно-сайта. Вы хотите такого партнёра?
Про баннер «жми сюда», наверно, лучше тогда «не жми сюда» :).
Никогда не участвуйте в баннеро-обменных сетях, это моё мнение! И не нужны вам веб-кольца, что вы сами не найдёте сайты — партнёры? Конечно, тебе те обойтись без скачки материалов с других сайтов, но если ты сам ничего писать и предлагать не будешь, твой сайт никому не будет интересен!
Я закончу тоже красиво: «Ты способен на всё». Но если ты так не считаешь и не знаешь, зачем тебе нужен сайт, не занимайся «мартышкиным» трудом, в сети и так много заброшенных сайтов.
1st
Extended- Тип
Extended
Тип с плавающей запятой с наивысшей емкостью и точностью
Описание:
Он поддерживает около 19 значащих разрядов в диапазоне от 3.37 x 10-4932 до 1.18 x 104932.
Пример кода:
account1, account2, account3, account4 : Extended;
begin
account1 := 0.1234567890123456789; // 20 decimal places
account2 := 3.37E-4932; // Lowest exponent value
account3 := 1.18E4932; // Highest exponent value
account4 := 1.19E4932; // Treated as infinite
ShowMessage(‘Account1 = ‘+FloatToStrF(account1, ffGeneral, 22, 20));
ShowMessage(‘Account2 = ‘+FloatToStr(account2));
ShowMessage(‘Account3 = ‘+FloatToStr(account3));
ShowMessage(‘Account4 = ‘+FloatToStr(account4));
end;
Результат выполнения:
Account2 = 3.37E-4932
Account3 = 1.18E4932
Account4 = INF
Programming articles
Создание сайтов на шаблонах
Множество вариантов работы с графикой на канве
Шифруем файл с помощью другого файла
Перехват API функций — Основы
Как сделать действительно хороший сайт
Создание почтового клиента в Delphi 7
Применение паскаля для
решения геометрических задач
Управление windows с помощью Delphi
Создание wap сайта
Операционная система unix, термины и понятия
SQL враг или друг
Возникновение и первая редакция ОС UNIX
Оптимизация проекта в Delphi
Ресурсы, зачем нужны ресурсы
Термины программистов 20 века
Советы по созданию собственного сайта с нуля
Шифруем файл с помощью пароля
Фракталы — геометрия природы
Crypt — Delphi программа для шифрования
Рассылка, зачем она нужна и как ее организовать?
Учебник по C++ для начинающих программистов
Уроки для изучения ассемблера
Загадочный тип PCHAR
Средства по созданию сайтов
Операторы преобразования
классов is и as
Borland Developer studio 2006. Всё в одном
Создание базы данных в Delphi, без сторонних БД
Software engineering articles
Облако меток
css реестр ассемблер timer SaveToFile ShellExecute программы массив советы word MySQL SQL ListView pos random компоненты дата LoadFromFile form база данных сеть html php RichEdit indy строки Win Api tstringlist Image мысли макросы Edit ListBox office C/C++ memo графика StringGrid canvas поиск файл Pascal форма Файлы интернет excel Microsoft Office Excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)