Delphi — Аналог record (Delphi) в Python


Содержание
Цукерберг рекомендует:  Ресурcы PostgreSQL

Delphi — Аналог record (Delphi) в Python

На каждое поле в записи ссылаются следующим способом record.field.

Когда объявлено, опция Packed, Delphi минимизирует память, отведенную под запись. Эти сокращения в памяти повлиять на выполнение, где данные не выстроены, соответственно, по 2, 4 или 8 байт. По умолчанию должно выровняться, где необходимо, с заполнителями.

Есть два основных типа полей записи, как показано в двух синтаксических типах:

1. Простое объявление поля

Это стандартные объявления переменных Delphi, типа:

за исключением того, что их размер должен быть определен. Например:

потому, что Delphi должен знать точный объём памяти необходимый этому полю в записи.

2. Выбираемые (Различные) разделы поля

Они должны всегда следовать за любыми основными объявлениями полей (ключевое слово Case не имеет закончившего слова End;).

Они позволяют различным, альтернативным типам данных заменять друг друга. Например, запись пациента может иметь различный раздел объявлений для женщин по сравнению с мужчинами. Использование той же самой записи с Variant частью является разумнее.

По умолчанию, поля в записи выравниваются по Byte и Word границам. Для обоих типов записи, опция packed позволяет ей быть изменённой, чтобы уменьшить требуемый объём памяти. Примечания C использованием ключевого слова With, к полям записи можно обращаться без указания префикса каждый раз с названием поля.

В отличие от Объектно-ориентированных языков подобно Java, Тип Record в Delphi обеспечивает лучший механизм выполнения для передачи подобных групп данных чем классы данных. Похожие команды

Case Механизм для действия в зависимости от различных значений Порядковых

Packed Уплотняет сложные типы данных в минимальный объём памяти

With Средство упрощения ссылок к структурированным переменным

Чтение двоичного файла Delphi в Python

У меня есть файл, который был записан с помощью следующей декларации Delphi .

Я хочу, чтобы анализировать данные в файлах (много МБ) с помощью Python, если это возможно — есть простой способ чтения в данных и отбрасывать данные в объектах Python похож по форме записей Delphi? Кто-нибудь знает библиотеки, возможно, что делает это?

Это составлено на Delphi 7 со следующими параметрами, которые могут (или не может) иметь отношение,

  • Запись поле Выравнивание: 8
  • Pentium Safe FDIV: Ложные
  • Stack Frames: Ложные
  • Оптимизация: Правда

Вот полные решения, благодаря намекам из KillianDS и Ritsaert Hornstra

Пожалуйста, обратите внимание, что при определении записи в Delphi (например, структуры в C) поля укладываются в порядке и в двоичном данном текущем выравнивании (например Байты выровнены по границам 1 байт, слова на 2 байта, целочисленные 4 байта и т.д. , но она может варьироваться с учетом настроек компилятора.


Когда сериализовать в файл, вы, вероятно, означает, что эта запись записывается в бинарный файл и следующая запись написана после того, как первый один, начиная с позиции SizeOf (структуры) и т.д. и т.п. Delphi не определяет, как вещь должна быть сериализовать в / из файла, поэтому информация, вы даете оставляет нас гадать.

Если вы хотите, чтобы убедиться, что он всегда одинаково, без вмешательства каких-либо компилятора, параметры настройки по использованию упакованного записи.

Real может иметь несколько значений (это 48 битный тип с плавающей точкой для более старых версий Delphi, а затем на 64 битной плавающей точкой (IEEE двойной)).

Если вы не можете получить доступ к коду Delphi или скомпилировать его самостоятельно, просто Ty, чтобы проверить данные с редактором HEX, вы должны увидеть границы записей ясно, так как они начинают с Целыми и только поплавками следовать.

Конструкторы записей (record) в Delphi

Конструкторы записей в Delphi — особенность языка которая вызывает вопросы. Зачем они нужны и когда их использовать вместо методов записей? В документации Delphi написано следующее:

Records are constructed automatically, using a default no-argument constructor, but classes must be explicitly constructed. Because records have a default no-argument constructor, any user-defined record constructor must have one or more parameters.

Записи создаются автоматически, используя конструктор по умолчанию без параметров, а классы должны создаваться в явном виде. Из-за того что записи имеют конструктор по умолчанию без параметров любой определённый пользователем конструктор должен содержать как минимум один параметр.

Приведённая выше документация ничего не объясняет. В Delphi не существует такой вещи как «конструктор по умолчанию без параметров». Сразу возникает ещё один вопрос — почему в Delphi запрещены конструкторы без параметров и разрешены с параметрами?

На самом деле конструкторы записей в Delphi это просто специальный синтаксис для методов записей.

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

Python-сообщество

Уведомления

#1 Апрель 19, 2007 15:37:13

Python Vs Delphi

Сегодня с преподам подискусировал немного по поводу не целесообразности изучения Delphi. На что он мне ответил что специалисту узкого профиля трудно найти работу, и Делфи не помешает в будущем, а вот Python создавали ленивые прогрммисты. Я так не считаю. Одно дела знать Java и Python другое дело — Delphi и еще что-то с ним связанное. Он мне говорил, что ты можешь считать что Java и Python популярные языки, а Microsoft считать C#, но я могу создать свой рейтинг и сказать что Delphi самый популярный язык. Я же на все эти тыканья в адрес Java и Python-а сказал что есть не зависимый рейтинг tiobe…

#2 Апрель 20, 2007 07:14:52

Python Vs Delphi

Хорошая статья Ивана Сагалаева на эту тему.

#3 Апрель 20, 2007 08:27:40

Python Vs Delphi

Maximbo, спасибо за статью

Иван Салагаев
Единственное, что Delphi гнетет — это навеянный ореол непрофессиональности, игрушечности.


странно — когда меня спрашивают — на чем пишешь и в ответ слышат — “на питоне”, то часто можно увидеть попытки скрыть недоумение и мысль — “вот человек страдает ерундой”

а насчет денег — можно их неплохо зарабатывать даже на дельфях

Отредактировано (Апрель 20, 2007 08:34:07)

#4 Апрель 20, 2007 09:28:23

Python Vs Delphi

у меня таже ситуация “ааа питон?? это шота типа рнр чтоли?? теперь будешь писать на джаве”, только вот я админ и писать на джаве нецелесообразно )
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

#5 Апрель 20, 2007 09:58:54

Python Vs Delphi

slav0nic
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

#6 Апрель 20, 2007 10:11:49

Python Vs Delphi

#7 Апрель 20, 2007 12:01:03

Python Vs Delphi

pythonwin
а насчет денег — можно их неплохо зарабатывать даже на дельфях

pythonwin
странно — когда меня спрашивают — на чем пишешь и в ответ слышат — “на питоне”, то часто можно увидеть попытки скрыть недоумение и мысль — “вот человек страдает ерундой”

slav0nic
у меня таже ситуация “ааа питон?? это шота типа рнр чтоли?? теперь будешь писать на джаве”, только вот я админ и писать на джаве нецелесообразно )
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

cleg
не согласен. в своей нише (скоростное создание простых Win32 приложений) у делфи нет и не будет в ближайшем будущем равных.

Delphi — Аналог record (Delphi) в Python

We recommend upgrading to the latest Google Chrome or Firefox.

Join GitHub today

GitHub is home to over 40 million developers working together to host and review code, manage projects, and build software together.

New pull request

Clone with HTTPS

Use Git or checkout with SVN using the web URL.

Downloading .

Want to be notified of new releases in pyscripter/python4delphi ?

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop .

If nothing happens, download GitHub Desktop and try again.

Launching Xcode .

If nothing happens, download Xcode and try again.

Launching Visual Studio .

Permalink

Type Name Latest commit message Commit time
Failed to load latest commit information.
PythonForDelphi Conda needs PYTHONHOME to work!? Oct 26, 2020
Unsupported Resturcured directories Mar 15, 2020
.gitignore .gitignore added Mar 17, 2020
Delphinus.Info.json Fix #50 Mar 27, 2020
Delphinus.Install.json Try to get Delphinus to work Mar 16, 2020
LICENSE Create LICENSE Mar 15, 2020
README.md Undo previous change Sep 18, 2020

Python for Delphi (P4D) is a set of free components that wrap up the Python dll into Delphi and Lazarus (FPC). They let you easily execute Python scripts, create new Python modules and new Python types. You can create Python extensions as dlls and much more. P4D provides different levels of functionality:

  • Low-level access to the python API
  • High-level bi-directional interaction with Python
  • Access to Python objects using Delphi custom variants (VarPyth.pas)
  • Wrapping of Delphi objects for use in python scripts using RTTI (WrapDelphi.pas)

P4D makes it very easy to use python as a scripting language for Delphi applications. It comes with an extensive range of demos and tutorials.


Лучшие IT-решения для бизнеса

Программирование, доработки консультации по 1С

Как мы работаем

1. Обсуждаем проблему по телефону. При наличии удаленного доступа — показываете на экране вашего компьютера.

2. Мы оцениваем работу в рублях, если проект большой, если нет — примерное кол-во часов.

3. Мы выполняем работу.

4. Вы принимаете работу в вашей программе, если есть недочеты мы их исправляем.

5. Мы выставляем счет, вы оплачиваете.

Стоимость работ

1. Все работы делятся на 3 категории: консультация, обновление типовой конфигурации, разработка или программирование нового отчета, обработки, кнопки и т.п.

2. Стоимость работ по категориям:

Услуга Цена Минимальный объем работ
Консультации 900 р/час 1 час, далее по 20 мин.
Обновления 1100 р/час 1 база
Программирование 1400 р/час 1 час, далее по 20 мин.

3. На работы более 10 часов предварительно составляется техническое задание с описанием и стоимостью работ. Работы начинаются после согласования ТЗ с вами.

Техническая поддержка

1. Если вы обнаруживаете какие то ошибки, в ранее принятых работах, в течении 3х месяцев, мы исправляем их бесплатно.

2. Постоянным клиентам любые недочеты, допущенные в наших работах, исправляем бесплатно в течении года.

Программы для управления вашим бизнесом.

Купить 1С:Предприятие

Мы являемся официальным дилером фирмы 1С, вы можете приобрести у нас различные программные продукты и лицензии. Кроме покупки «коробки» мы поможем вам настроить программу, проконсультируем и сделаем базовые настройки.

  • Бухгалтерский учет
  • Автоматизация магазина
  • Оптовые продажи
  • Помощь в установке и первоначальной настройке включена в пакет!
  • Тонкая настройка конфигураций под нужды заказчика, разработка новых модулей при отсутствии необходимых функций в стандартной конфигурации.


1С:Бухгалтерия 1С:Управление торговлей 1С:Розница 1С:Зарплата и Управление Персоналом
От 3300 руб. От 6700 руб. От 3300 руб. От 7400 руб.

Предоставление сервера.

Моментальная настройка сервер + 1С.

Нет сервера? Не беда, подберем и быстро настроим сервер в «облаке». За небольшую плату вы получаете очень надежное решение.

  • Доступность 24\7
  • Нет необходимости держать собственного системного администратора (экономия покроет расходы на ваш сервер).
  • Быстрая настройка и установка 1С на сервер, через 3 дня у вас уже будет полностью рабочая система.
  • В любой момент можно переехать на локальный сервер, если решение не устроит.

SMS из вашей 1С

Хотите чтобы клиенты во время узнавали об акциях, скидках? Клиенты не возвращаются? Настройте отправку SMS прямо из 1С!

Наша компания сможет в короткие сроки настроить отправку SMS Вашим клиентам напрямую из 1С. Примеры событий которые можно автоматизировать:

  • Благодарность за покупку и начисление бонусов сразу после очередной покупки.
  • Начисление бонусов на карту в подарок на день рождения\к другому знаменательному или праздничному дню.
  • Извещение о поступлении товара на склад.
  • Истечение срока подарочных бонусов.
  • Извещение о поступлении предоплаты и резервирования товара.
  • Адрес с уточнениями проезда к магазину\офису, номера телефонов.
  • И т.п.

Настройку в 1С можно произвести силами наших специалистов или своих сотрудников. Ознакомится с тарифами можно на странице SMS-тарифов.

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

st_tsourkan

ЖЗЛ: из жизни искателя приключений

Заметки фотопутешественника

Данный пост написан в интересах рабочего процесса.

Ай нид хэлп! По работе нужно сделать программку, которая переводит xml-файлы (в частности, xml-тэги) в массив структур (переменная типа record в Delphi)).

Дано: строка вида

Надо: преобразовать в запись с полями вида имя_поля.значение_поля. То есть, чтобы получилась переменная MyRec (имя задано произвольно) типа record:
MyRec.name=’scene013′;
MyRec.thumb=’gallery/013.jpg’;
MyRec.thumb_weight=[];
MyRec.radar=’radar4′;
MyRec.heading=160;

Одним словом, мне надо в рантайме (т. е. когда программа уже выполняется) задавать названия полей (thumb, radar, name и т. д.) и присваивать им значения. Сложность в том, что количество полей записи MyRec по условию задачи неизвестно; возможные названия полей тоже неопределены (они должны определяться сами в ходе чтения xml-файла.
Я могу создать массив строк, у которого в первом столбце — имена полей, во втором — их значения:
‘name’ ‘scene013’
‘thumb’ ‘gallery/013.jpg’
‘thumb_weight’ »
‘heading’ ‘160’
Но потом их всё равно как-то надо преобразовать к типу record, чтобы можно было обращаться к полям в виде Массив.Имя_поля=Значение_поля. Например, запросить значение параметра heading: MyRec.heading

На Матлабе это делается элементарно (там динамическая типизация):

MyRec.(field_name)=field_value;
field_name — имя поля, которое мы храним в строковой переменной, field_value — соответственно, значение данного поля. В Матлабе это всё делается рантайм; не надо ничего заранее описывать (количество полей, тип данных поля, имя поля). А вот как это сделать в Дельфи? Я уже рассматривал вариантные поля в переменных типа record, но тоже не вариант, потому что названия полей и их количество надо задавать в области объявления переменных, а также потому, что названия полей нельзя читать из переменных (как в Матлабе).


Python-сообщество

Уведомления

#1 Апрель 19, 2007 15:37:13

Python Vs Delphi

Сегодня с преподам подискусировал немного по поводу не целесообразности изучения Delphi. На что он мне ответил что специалисту узкого профиля трудно найти работу, и Делфи не помешает в будущем, а вот Python создавали ленивые прогрммисты. Я так не считаю. Одно дела знать Java и Python другое дело — Delphi и еще что-то с ним связанное. Он мне говорил, что ты можешь считать что Java и Python популярные языки, а Microsoft считать C#, но я могу создать свой рейтинг и сказать что Delphi самый популярный язык. Я же на все эти тыканья в адрес Java и Python-а сказал что есть не зависимый рейтинг tiobe…

#2 Апрель 20, 2007 07:14:52

Python Vs Delphi

Хорошая статья Ивана Сагалаева на эту тему.

#3 Апрель 20, 2007 08:27:40

Python Vs Delphi

Maximbo, спасибо за статью

Иван Салагаев
Единственное, что Delphi гнетет — это навеянный ореол непрофессиональности, игрушечности.

странно — когда меня спрашивают — на чем пишешь и в ответ слышат — “на питоне”, то часто можно увидеть попытки скрыть недоумение и мысль — “вот человек страдает ерундой”

а насчет денег — можно их неплохо зарабатывать даже на дельфях

Отредактировано (Апрель 20, 2007 08:34:07)

#4 Апрель 20, 2007 09:28:23

Python Vs Delphi

у меня таже ситуация “ааа питон?? это шота типа рнр чтоли?? теперь будешь писать на джаве”, только вот я админ и писать на джаве нецелесообразно )
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

#5 Апрель 20, 2007 09:58:54

Python Vs Delphi

slav0nic
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

#6 Апрель 20, 2007 10:11:49

Python Vs Delphi


#7 Апрель 20, 2007 12:01:03

Python Vs Delphi

pythonwin
а насчет денег — можно их неплохо зарабатывать даже на дельфях

pythonwin
странно — когда меня спрашивают — на чем пишешь и в ответ слышат — “на питоне”, то часто можно увидеть попытки скрыть недоумение и мысль — “вот человек страдает ерундой”

slav0nic
у меня таже ситуация “ааа питон?? это шота типа рнр чтоли?? теперь будешь писать на джаве”, только вот я админ и писать на джаве нецелесообразно )
а делфи кал, живёт за счёт СНГ, в Европе про него никто и не знает

cleg
не согласен. в своей нише (скоростное создание простых Win32 приложений) у делфи нет и не будет в ближайшем будущем равных.

Keeper’s blog

== I’m starting with the man in the mirror ==

Social Icons

Pages

пятница, 29 июля 2011 г.

Используем дженерики в Delphi! — Часть 1 (Введение)

[Содержание]
[Часть 1 — Введение в дженерики] [Часть 2 — Системные классы] [Часть 3 — Приложение]

  1. Что такое дженерики и зачем они нужны?
  2. Преимущества использования дженериков
    1. Безопасность типов
    2. Эффективность
    3. Максимальное повторное использование кода
  3. Встроенные обощенные классы в Delphi
  4. Что «поддается обобщению» в Delphi?
    1. Обобщенные методы
    2. Обобщенные классы
    3. Обобщенные записи
  5. Заключение

1. Что такое дженерики и зачем они нужны?
Наличие обобщений в языке позволяет создавать открытые типы, которые превращаются в закрытые на этапе компиляции. Синтаксис дженериков на примере обобщенной записи TPoint приведен в Листинге 1:
Листинг 1 — Объявление обобщенной записи TPoint
Сразу бросаются в глаза отличия от декларирования обычной записи — наличие в имени записи и кооринат X и Y этого же типа T . T здесь — неуточненный тип, который будет указан позже, при создании конкретного экземпляра записи.
Предположим, что мы решили использовать в приложении «дробные» точки (например, Double ). Все, что нужно сделать — объявить следующий закрытый тип:
Листинг 2 — Использование обобщенной записи TPoint в качестве «дробной» точки
А если нам понадобится целый тип, мы просто изменим Double на Integer :
Листинг 3 — Использование обобщенной записи TPoint в качестве «целой» точки
Просто, не правда ли? MyPoint: TPoint и MyPoint: TPoint — уже являются закрытыми типами и подчиняются все правилам, справедливым для обычных, необобщенных типов.

Может возникнуть вопрос: могу ли я сделать это без дженериков? Конечно, можете. Правда, лишитесь ряда преимуществ.

2. Преимущества использования дженериков
2.1. Безопасность типов
Когда необходимо повысить безопасность типов и избежать ошибок их несоответствия во время выполнения приложения — дженерики могут прийти на помощь. Для демонстрации сравним стандартный класс TList и его обобщенный «аналог» TList . Как известно, TList хранит массив указателей на объекты, причем тип этих объектов может быть различен. Рассмотрим следующий пример:
Листинг 4 — Вызов метода класса TCustomer для элементов TList
Теперь представьте, что передаваемый TList содержит не только экземпляры TCustomer . Для PrintCustomersInfo это будет катострофично и приведет к Invalid Type Cast , в процедуре PrintCustomersInfo2 мы избежали этого путем дополнительных проверок.

Но разве не замечательно бы было отдать такие проверки на откуп компилятору при сборке приложения? Дженерики позволяют это сделать:
Листинг 5 — Вывод информации о клиентах через TList
Заметили, что код уменьшился и стал более читаемым? Кроме того, за тем, чтобы в TList не попало ничего лишнего уже проследил компилятор.
2.2. Эффективность
Дополнительная эффективность при использовании дженериков — возможно, одно из главных их преимуществ. Обобщения предоставляют компилятору больше информации, не исключая данные о типе во время исполнения приложения. Такой код проще писать, эффективнее заниматься отладкой приложения. Кроме того, в рассматриваемом примере ассемблерный код с дженериками ( PrintCustomersInfo3 ) содержит до 10 инструкций меньше (по сравнению с PrintCustomersInfo2 ).
2.3. Максимальное повторное использование кода
Обобщенный класс, код для которого был написан всего 1 раз, может использоваться многократно. Так, без переписывания кода, TList может быть использован для создания списка целых чисел ( TList ), строк ( TList ) и т.д.


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

3. Встроенные обощенные классы в Delphi
«Из коробки» в Delphi уже имеется ряд стандартных обобщенных классов, которые можно использовать при написании приложений. Находятся они в модулях Generics.Defaults и Generics.Collections . Основные классы и типы данных приведены в Таблицах 1 и 2.
Таблица 1 — Некоторые классы модуля Generics.Defaults

IComparer Обобщенный интерфейс IComparer предназначен для сравнения двух значений одинакового типа
IEqualityComparer Обобщенный интерфейс IEqualityComparer используется для проверки равенства двух значений
TComparer Базовый обощенный класс для классов, реализующих интерфейс IComparer
TEqualityComparer Базовый обощенный класс для классов, реализующих интерфейс IEqualityComparer
TCustomComparer Базовый обощенный класс для классов, реализующих интерфейсы IComparer и IEqualityComparer

Таблица 2 — Некоторые классы и типы модуля Generics.Collections

Классы
TArray Класс, содержащий статические методы для поиска и сортировки обобщенного массива
TDictionary ,
TObjectDictionary
Словарь (коллекция пар ключ-значение)
TList ,
TObjectList
Упорядоченный список
TStack ,
TObjectStack
Реализация стека (последний пришел, первый вышел)
TQueue ,
TObjectQueue
Реализация очереди (первый пришел, первый вышел)
Типы
TPair Запись, хранящая пару ключ-значение
Примечание: как и аналоги из модуля Classes , обощенные «объектные» классы относительно «необъектных» (например, TObjectList по сравнению с TList ) позволяют хранить объекты в качестве своих элементов, а также автоматически следить за их жизненным циклом

Использовать стандартные обобщенные классы довольно просто: включаем соответствующие модули в раздел uses и задействуем нужные нам классы. В Листинге 6 приведен пример работы со списком целых чисел на основе обобщенного класса TList .
Листинг 6 — Пример использования TList для создания списка целых чисел
Более подробно системные классы будут рассмотрены во 2-м разделе.

4. Что «поддается обобщению» в Delphi?
Естественно, что в Delphi имеется возможность не только использовать имеющуюся библиотеку дженериков, но и создавать свои собственные. Обобщенными могут быть классы, интерфейсы и записи. Также поддерживается создание обобщенных методов (процедур и функций).
4.1. Обобщенные методы
Самым простым примером обобщенного метода может служить процедура для обмена значений переменных:
Листинг 7 — Пример дженериковой процедуры Swap
Использовать такую процедуру можно следующим образом:
Листинг 8 — Использование дженериковой процедуры Swap
Результат приведен на Рисунке 1:

Рисунок 1 — Пример использования Swap

4.2. Обобщенные классы
Приведем пример обобщенного класса массива:
Листинг 9 — Пример обобщенного класса массива TGenericArray
Посмотрим на вариант его использования:
Листинг 10 — Использование обобщенного класса массива TGenericArray
Результат приведен на Рисунке 2.

Рисунок 2 — Пример использования TGenericArray
4.3. Обобщенные записи
Пример обобщенной записи TPoint уже был приведен в начале раздела. Гляньте на нее еще разок.

Аналоги Delphi,но круче

нет просто Delphi умер. Ну ОС пофиг. Условия мышко юзанье и пусть сам генерирует код

И ещё сам расставляет знаки препинания.

>нет просто Delphi умер

Только в России об этом не знают.

знают еще как с 2007 года

>Условия мышко юзанье и пусть сам генерирует код

Может еще и голосовое управление?

этого гидроцефала ещё не забанили?

AndrewmakaronikV> нет просто Delphi умер. Ну ОС пофиг. Условия мышко юзанье и пусть сам генерирует код

Научись по-русски сначала писать. Или дельфя заставляет так сильно деградировать?

не трудись, это клинический идиот

это животное доучилось до четвёртого курса

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

Microsoft Visual Basic.
thread.end();

>хочу генерирую бред,хочу нет

хочу — назову тебя дебилом, не хочу — не назову


ишь, расплакался тут

это животное доучилось до четвёртого курса

Как оно умудрилось? Даже разговаривать не умеет.

И не говори мне что читать неудобно, я вообще по делу написал.

Хоть бы шифр простой замены применил. а то так неинтересно :(

нетбинс же. В нем можно хорошие интерфейсы делать.

>знают еще как с 2007 года

Значит, я живу в другой России. У нас в Замкадье везде Delphi.

хм, а может, это бот, написанный пьяным преподом на дельфи?

А когда к вам машину времени завезли? О_о

А я тогда в какой у нас все на c++ builder,Visual Basic .NET,С# и так остатки пишушие на чистом С и редкие динозавры пищущие на ASM.

На Дельфи сейчас стоко всего пишется, что ты себе этого даже не представляешь.

>Qt+QtCreator
Толсто в данном контексте.

Генераторы кода для гуя просто говорят, что человек его писать просто не может из-за идиотских библиотек. Осиль уже Qt.

А вообще научись Лиспу, и не метанируй тут. А то тебе почитать — Delphi — основа для метапрограммирования

Мальчик, почитай введение к этой книжке, авось поймешь.

Java+Swing+NetBeans, C#+Gtk+Stetic, C++/Qt4/QtCreator, C++/Gtkmm/Glade/

Delphi жив, гугли CodeGear, чайник

Я это, в бункер пока залезу чтобы такое не читать. Такой юмор не продлевает жизнь, а убивает, да.
Вообще не понятно что нужно. Вот выше подумали что нужна IDE. Или тебе нужен сам язык?
Не понятно зачем тебе нужен делфи. Пайтон изучить не судьба?
Или просто вспомнил что раньше учил паскаль и подумал что быстрее будет? Зря.

>А я тогда в какой у нас все на c++ builder,Visual Basic .NET,С# и так остатки пишушие на чистом С и редкие динозавры пищущие на ASM.

Delphi от C++Builder не сильно отличается. А ботНетом у нас и не пахнет.

Какие крутые кульпрограммисты на ЛОРе!

Куда мне, старому дураку, с моими сертификатами по Джаве. Надобно будет в вахтёры переквалифицироваться.

Понравилась статья? Поделиться с друзьями:
Все языки программирования для начинающих