Последние записи
- Рандомное слайдшоу
- Событие для произвольной области внутри TImage
- Удаление папки с файлами
- Распечатка файла
- Преобразовать массив байт в вещественное число (single)
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
21st
Дек
AJAX и кодировка Windows-1251
До сей поры работать с AJAX в кодировке WINDOWS-1251 на кириллице было невозможно.
Однако давайте посмотрим в чем же была проблема? (читать всё…)
11th
Ноя
Организация кода
Во-первых, если только у Вас нет веских причин держаться Борланда, уйдите с него. Дело в том, что господа Embarcadero пытались «усовершенствовать» C++, создав при этом заметно отличающийся диалект; часть этих наработок ушла в язык C#.
Как альтернативы, можно рассматривать Qt от Trolltech-Nokia или C++ express от Microsoft. (читать всё…)
8th
Ноя
ДЕШИФРАТОР
Д. в телемеханике расшифровывают сообщения (их коды) по структурам принимаемых сигналов. Структура сигналов создаётся приданием импульсам, образующим сигналы, различных качеств — признаков. Такими признаками являются полярность, частота и порядок следования, количество, длительность и амплитуда импульсов, группировка импульсов различного качества и т.д. (см. Кодирование в телемеханике). Если, например, Д. используется в системе телеуправления, то Д. автоматически анализирует структуру принимаемых сигналов в соответствии с программой, заложенной в конструкции самого Д.; сигналы с его выходов подаются на входы исполнительных механизмов управляемых объектов. Избирательность — основное свойство Д.; она обеспечивает защиту входных цепей воспринимающих систем от посторонних сигналов, которые могут оказать ложное воздействие на систему.
В вычислительной технике Д. применяют в качестве преобразователей кода в код или кодов в эквивалентные им непрерывные величины (например, электрический ток, напряжение, угол поворота и др.). В радиотехнике Д. восстанавливает передаваемое сообщение из радиосигнала, параметры которого (амплитуда, частота, фаза) изменяются в такт с передаваемым сообщением.
Лит.: Тутевич В. Н., Основы телемеханики, М. — Л., 1967.
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
8th
Dynamic
Позволяет методу класса быть перекрытым в классах-потомках
Function|Procedure declaration; Dynamic;
Описание:
Директива Dynamic позволяет методу класса быть перекрытым (замененным) одноименным методом в классе-потомке.
Вы можете пометить функцию или процедуру как Dynamic, если вы великодушно хотите позволить программисту создать класс, основанный на вашем классе, для замещения его функциональности.
Например, вы можете позволить базовому классу рисовать на канве белым цветом, а классу-наследнику вместо этого — рисовать картинку на канве. Таким образом, директива Dynamic позволяет коду быть расширенным и обогащенным.
За директивой Dynamic может следовать директива Abstract. Она изменяет эффект директивы Dynamic. Это означает, что текущий класс не должен реализовывать это метод — это только «заглушка» для напоминания и уверенности в том, что классы-наследники реализуют его.
Пример кода:
// ————————————————————
// You must store this code in a unit called Unit1 with a form
// called Form1 that has an OnCreate event called FormCreate.
unit Unit1;
interface
uses
Forms, Dialogs, Classes, Controls, StdCtrls, SysUtils;
type
// Define a base TPolygon class :
// This class is a traingle if 3 sides, square if 4 sides …
TPolygon = class
private
sideCount : Integer; // How many sides?
sideLength : Integer; // How long each side?
shapeArea : Double; // Area of the polygon
protected
procedure setArea; Dynamic; Abstract; // Must be implemented in child
property count : Integer read sideCount;
property length : Integer read sideLength;
property area : Double read shapeArea;
constructor Create(sides, length : Integer);
end;
// Define triangle and square descendents
TTriangle = class(TPolygon)
protected
procedure setArea; override; // Override the abstract method
end;
TSquare = class(TPolygon)
protected
procedure setArea; override; // Override the abstract method
end;
// Define the form class used by this unit
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm} // Include form definitions
// Create the TPolygon object
constructor TPolygon.Create(sides, length : Integer);
begin
// Save the number and length of the sides
sideCount := sides;
sideLength := length;
// Set the area using the abstract setArea method :
// This call will be satisfied only by a subclass
setArea;
end;
// Implement the abstract setArea parent method for the triangle
procedure TTriangle.setArea;
begin
// Calculate and save the area of the square
shapeArea := (sideLength * sideLength) / 2;
end;
// Implement the abstract setArea parent method for the square
procedure TSquare.setArea;
begin
// Calculate and save the area of the square
shapeArea := sideLength * sideLength;
end;
// Main line code
procedure TForm1.FormCreate(Sender: TObject);
var
triangle : TTriangle;
square : TSquare;
begin
// Create a triangle and a square
triangle := TTriangle.Create(3, 10);
square := TSquare.Create(4, 10);
// Show the areas of our polygons:
ShowMessageFmt(‘Triangle area = %f’,[triangle.area]);
ShowMessageFmt(‘Square area = %f’,[square.area]);
end;
end.
Результат выполнения:
Square area = 100.0
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
8th
2. ПРИМЕРЫ ПОСТРОЕНИЯ ФРАКТАЛЬНЫХ МНОЖЕСТВ. КЛАССИФИКАЦИЯ ФРАКТАЛОВ.
Спрашивается, чему равна фрактальная размерность множества Кантора? Применим для ее вычисления формулу (*). Чтобы подсчитать по формуле (*), нужно определить e и N(e). На первом этапе построения множества Кантора отрезок единичной длины можно покрыть одним отрезком длиной в, т.е. e = 1 и N(e) = 1.
В 1904 г. немецкий математик Хельга фон Кох построила кривую, которая в настоящее время носит ее имя (кривая Кох). Построение начинается с единичного отрезка прямой. Единичный отрезок прямой делится на 3 равные части. Средняя часть удаляется, а на месте средней части строится равносторонний треугольник. В итоге получается ломаная линия, состоящая из 4 отрезков, каждый из которых равен 1/3 .
Далее, каждый из 4 отрезков снова делится на 3 равные части, на отрезках, расположенных в середине, строятся равносторонние треугольники, и средние части отрезков удаляются. Эта процедура повторяется еще и еще раз. В итоге линия становится очень изрезанной. Если этот процесс повторять бесконечно долго (т. е. перейти к пределу), то получаем непрерывную, нигде не дифференцируемую кривую, и эта непрерывная кривая имеет ненулевую «площадь». Чтобы в этом убедиться, подсчитаем фрактальную размерность кривой Кох. На первом этапе мы имеем один отрезок длиной 1, который можно покрыть одним отрезком длиной, равной 1, т. е. e. = 1 и N(e) = 1. На втором этапе мы имеем 4 отрезка, каждый длиной, равной 1/3 поэтому для покрытия этих отрезков нужны 4 отрезка длиной 1/3 т. е. e=1/3 и N(e)=4.
Таким образом, мы впервые сталкиваемся с фрактальным множеством. Привычная (или топологическая) размерность канторовой пыли равна 0, а вот фрактальная, оказывается, нулю не равна — она строго больше; это и есть, по определению Мандельброта, свойство фрактала.
Как и все в науке, фракталы принято делить на классы или виды. Каждый вид имеет свое особое происхождение. Возьмем, например, геометрические фракталы. Один из самых известных примеров этого вида — это коврик Серпинского. Построение его заключается в следующем: вы берете равносторонний треугольник и в середине вырезаете в нем дыру в виде такого же треугольника, только перевернутого и в четыре раза меньшего. Теперь в каждом из углов у нас появилось по маленькому треугольнику. Повторяем с ними то же самое: в середине каждого вырезаем маленький треугольник. И так далее, пока не устанете, или пока уменьшающиеся треугольники не сможете отличить от точки.
Примерно также получаются все остальные геометрические фракталы: вы берете какую-то фигуру и начинаете применять к ней, а потом к ее частям, определенное геометрическое построение достаточно много раз. Строго говоря, эту процедуру надо повторять бесконечное количество раз. Но так как возможности нашего зрения ограничены, да и жизнь не бесконечна, то можно остановиться на построении самых мелких видимых деталей.
Фракталы следующего вида называются алгебраическими. Один из методов построения алгебраических фракталов состоит в следующем. Вы берете формулу, подставляете в нее число и получаете результат. Потом подставляете в эту же формулу результат и получаете следующее число. Повторяем эту процедуру много раз. В математике это называется итерационный процесс. В результате получается набор чисел, которые являются точками фрактала. Удивительно то, что иногда эти формулы до смешного простые — вы их можете найти в любом школьном учебнике алгебры 6-го класса. А вот фигуры получаются поразительной сложности и красоты. Таким образом рисуют, например, фрактал папоротник.
Еще одним распространенным видом являются стохастические фракталы. Их получают, меняя в итерационном процессе некоторые параметры случайным образом. Этим способом можно нарисовать такие природные объекты, как изрезанные береговые линии, рельеф местности, облака, волны на воде многое другое. Поэтому фрактальные модели сегодня широко применяют в компьютерных играх, создавая в них обстановку, которую уже трудно отличить от реальности.
Мандельброт исследовал преобразование комплексной плоскости, заданное элементарной формулой: Z?Z2+C. Впрочем, преобразование, исследованное Мандельбротом, можно представить просто как преобразование плоскости. Мандельброт рассматривал траектории точек, которые получаются при этом преобразовании, и изучал зависимость получающейся картины от параметра С. Казалось бы, ничего интересного ожидать не приходилось: настолько простым казалось преобразование. Фиксируя параметр С, Мандельброт попытался установить те области на плоскости, выходя из которых, точки не «убегают» на бесконечность, а образованная при итерационном процессе последовательность остается в ограниченной окрестности. Оказалось, что значения таких параметров С образуют связное множество с удивительно причудливой границей, и форма основной части множества повторяется и повторяется в разных масштабах. Это множество и было названо множеством Мандельброта.
Мандельброт опубликовал исследование найденного им множества в конце 1980 года. Математики Р. Брукс и Дж. Мателски выпустили свою работу с сообщением об этом множестве в 1978 году. Поначалу Брукс и Мателски не придавали особого значения своей находке, однако впоследствии заявили, что являются, по меньшей мере, соавторами открытия. Дж. Хаббард сообщил, что наблюдал множество Мандельброта на дисплее своего компьютера в 1976 году. Кроме того, Хаббард, Мателски и Брукс предложили считать истинным открывателем множества французского математика Пьера Фату, описавшего его еще в 1906 году. Однако во всех этих случаях приходится говорить даже не о корнях фрактальной геометрии, а лишь о ее зернах — причем еще не проросших; ибо «авторы» не смогли оценить и понять смысл того, что они нашли. Сталкивавшиеся с множеством Мандельброта ученые считали свои находки частным случаем, почти случайностью, и не увидели совершенно новой области знаний и исследований. Не было озарения, не было выхода за конкретную проблему. Поэтому первооткрывателем множества Мандельброта мы, без сомнения, можем считать самого Б. Мандельброта. Здесь стоит обратить внимание на любопытный факт: Хаббард именно наблюдал множество Мандельброта; не вычислил, не построил — а видел его. Точно так же, как увидел его и Мандельброт. Видели они одно и то же. Это настолько похоже на открытия в естественных науках, что можно утверждать: фракталы были открыты экспериментально. В отличие от своих коллег, Мандельброт почти знал, что он ищет, — но совершенно не знал, что именно он найдет. Когда в своих воспоминаниях Мандельброт говорит о новеньком компьютере Vax, с которым ему посчастливилось работать, о плохих дисплеях и принтере со слабым разрешением, не позволившим ему сразу видеть свое множество, он говорит о них так же, как физик об экспериментальной установке, создание и применение которой привело к открытию.
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
8th
Constructor
Определяет метод, используемый для создания объекта из класса
- type Class declaration
…
Constructor Name; {Overload;}
…
end; - type Class declaration
…
Constructor Name(Arguments); {Overload;}
…
end;
Описание:
При создании объекта вы вызываете метод-конструктор класса, не объекта:
имяОбъекта := имяКласса.Create(параметры);
Обычно конструктор называют Create, но ограничений на имя нет. Разумней будет оставить это имя.
Объект может быть сконструирован с аргументами или без них (см. пример).
Конструкторы могут быть объявлены в секциях public или published определения класса.
Вы можете создать несколько конструкторов, но в этом случае опубликовать в секции Published можно только один из них. В случае нескольких конструкторов, после каждого из них должна стоять директива Overload, как того требует Delphi.
При реализации процедуры-конструктора, обычно называемого Create, у вас должно войти в привычку вызов конструктора предка, например
constructor Create;
inherited; >
…
Это гарантирует, что получившийся объект будет безопасно проинициализированным экземпляром родительского класса, даже если родитель — это TObject, чей конструктор ничего не делает. Код примера иллюстрирует простой вызов Inherited плюс версию, в которой конструктор родителя принимает аргументы.
Пример кода:
// ————————————————————
// You must store this code in a unit called Unit1 with a form
// called Form1 that has an OnCreate event called FormCreate.
unit Unit1;
interface
uses
Forms, Dialogs, Classes, Controls, StdCtrls;
type
// Define a parent class, base on TObject by default
TFruit = class
public
name : string;
Constructor Create; overload; // This constructor uses defaults
Constructor Create(name : string); overload;
end;
// Define a descendant types
TApple = class(TFruit)
public
diameter : Integer;
published
Constructor Create(name : string; diameter : Integer);
end;
// The class for the form used by this unit
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
end;
var
Form1: TForm1;
implementation
{$R *.dfm} // Include form definitions
// Create a fruit object — parameterless version
constructor TFruit.Create;
begin
// Execute the parent (TObject) constructor first
inherited; // Call the parent Create method
// Now set a default fruit name
self.name := ‘Fruit’;
end;
// Create a fruit object — parameterised version
constructor TFruit.Create(name: string);
begin
// Cannot execute the parent constructor — parms differ
// And save the fruit name
self.name := name;
end;
// Create an apple object
constructor TApple.Create(name: string; diameter : Integer);
begin
// Execute the parent (TFruit) constructor first
inherited Create(name); // Call the parent method
// Now save the passed apple diameter
self.diameter := diameter;
end;
// Main line code
procedure TForm1.FormCreate(Sender: TObject);
var
fruit : TFruit;
banana : TFruit;
apple : TApple;
begin
// Create 3 different fruit objects
fruit := TFruit.Create;
banana := TFruit.Create(‘Banana’);
apple := TApple.Create(‘Pink Lady’, 12);
// See which of our objects are fruits
if fruit Is TFruit then ShowMessage(fruit.name +’ is a fruit’);
if banana Is TFruit then ShowMessage(banana.name +’ is a fruit’);
if apple Is TFruit then ShowMessage(apple.name +’ is a fruit’);
// See which objects are apples
if fruit Is TApple then ShowMessage(fruit.name +’ is an apple’);
if banana Is TApple then ShowMessage(banana.name +’ is an apple’);
if apple Is TApple then ShowMessage(apple.name +’ is an apple’);
end;
end.
Результат выполнения:
Banana is a fruit
Pink Lady is a fruit
Pink Lady is an apple
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
8th
ДОБАВИТЬ ЗАПИСИ В ТЕКСТОВЫЙ ФАЙЛ BILET.TXT О БИЛЕТАХ, КУПЛЕННЫХ НА ПОЕЗД
1) добавлять записи в текстовый файл bilet.txt о билетах, купленных на поезд. Каждая строка должна файла должна содержать: ФИО пассажира, номер вагона, тип вагона, номер места, стоимость билета;
2) просматривать содержимое всего файла в Мемо1;
3) отображать в Мемо2 информацию о пассажирах, купивших билеты в купейный/ плацкартный/ спальный вагон ( в зависимости от выбранной радиокнопки);
4) отображать в Мемо3 информацию о пассажирах, купивших билеты в вагон Z, номера мест с Р по К.
Просмотр записей производить на форме 2.
Решение
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
8th
Июл
ActionScript3: Кэширование анимации и ее проигрывание (blitting)
Всем, кто имеет хоть какое– нибудь отношение к игроиндустрии или созданию спецэффектов, хорошо известно, насколько ресурсоемка такая вещь, как отображение векторной анимации и ее расчет в процессе рендеринга. Но к счастью, разработчики оставили нам путь к всеобщему процветанию и дали нам возможность использовать такую великолепную вещь, как вывод на экран предварительно откешированного в растр изображения. Помните, как устроен кинематограф, основанный на смене одной картинки на другую? Вот этим мы сейчас и займемся. (читать всё…)
1st
Июл
Работаем в сетью с помощью libcurl
В этой статье я бы хотел осветить вопросы взаимодействия с Web и Ftp серверами в C++ программе. Никто не запрещает программировать сокеты и самостоятельно реализовывать протоколы. Но зачем изобретать велосипед, когда существует готовое, отлаженное и мощное решение, способное удовлетворить практически любые Ваши потребности? Речь идет о библиотеке libcurl. Это простая в использовании, кроссплатформенная (поддерживаются Linux, Windows, Solaris, Qnx, FreeBSD, OpenBsd, MacOS X и многие другие) клиентская библиотека, позволяющая работать с протоколами FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP, TELNET, DICT, LDAP, LDAPS and FILE. Поддерживаются SSL сертефикаты, HTTP POST, HTTP PUT, FTP закачка, HTTP закачка, прокси-сервера, куки, аутентификация, восстановление закачки файла, тунелирование http proxy и многое другое. Libcurl имеет завязки на множество языков программирования, среди которых: C, C++, Java, Lisp, PHP, Ruby, Perl, Pascal, Haskell. (читать всё…)
18th
Июн
Сознание человека в виртуальной среде. Нейронные сети. Размышление.
Автор: Аблязов Руслан ака rpy3uH
Прежде всего я хочу сразу вас предупредить, что не надо относиться ко всему что будет здесь написано серьёзно, это всего лишь фантазия на свободную тему, всего теория из множества, которые имеют место в этом мире. Я могу ошибаться, я могу в чём-то очень сильно заблуждаться и не надо из-за этого мне долго и со вкусом объяснять, что я не прав. У каждого свой взгляд на этот мир, свой взгляд на положение вещей в этом мире, у каждого своя правда, каждый видит этот мир со своей колокольни. Возможно, то что вы прочитаете далее изменит ваше мировоззрение, у вас откроется новое видение этого мира, этого огромного мира, этого мега-мира. А может сразу после прочтения вас стошнит …
Для максимального понимания или усвоения текста (возможно для некоторых, пустого набора слов или букв) приведённого ниже, необходимо максимально абстрагироваться от того, что вы сейчас знаете, избавиться (хотя бы на время) от предрассудков и предубеждений. Если вам уже не интересно можете не читать, потеряете вы не очень много. А если прочитаете, то как минимум вы узнаете что такое мнение как моё существует и это реально, намного более реально чем ваше и моё существование. И самое главное если вы захотите критиковать то, что я сейчас напишу, то лучше прочитайте до конца всю эту статью.
(читать всё…)
Облако меток
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 форма Файлы интернет Microsoft Office Excel excel winapi журнал ПРОграммист DelphiКупить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)