|
COM‐пропагандист
|
||||||
Общие вопросы и приёмы эффективного программирования на BASIC27.03.2021, 15:34. Показов 32428. Ответов 391
Метки нет (Все метки)
Вот как создать кнопку:
0
|
||||||
| 27.03.2021, 15:34 | |
|
Ответы с готовыми решениями:
391
Общие вопросы по языку 1с Visual Basic Приемы взаимодействия Visual Basic и SQL Основные понятия и приемы программирования |
|
Модератор
|
||||||||||||
| 12.04.2021, 00:05 | ||||||||||||
? . Ты читай что я процитировал и что ты писал, про удобство IDE когда там все по минимуму. . Еще раз причем тут LINE? LINE LINE LINE. Да читаю LINE - линия, ну это в курсе. Причем тут прямоугольник, почему эллипс не LINE? Его также можно построить. Про особый синтаксис я даже и не спрашиваю. Ответь на этот простой вопрос.
0
|
||||||||||||
|
Кормпилятор
|
|||
| 12.04.2021, 00:06 | |||
. Обновляется до сих пор.В VB 6-м - тоже оно самое. По сравнению с QB - он более современный. Не делают также не потому что он, якобы нелогичный, а потому что это сложнее реализовать. ищут решения и закрывают задачи иногда хорошо(DxWnd), иногда хреново(GIMP), а иногда вообще жопу устраивают(как с парнем staircaseMaker), зацитирую слова проф. специалиста: И не надо тут пытаться представить меня как тупого старого упёртого дурака. Создавая вокруг меня плохую репутацию. Когда мне надо, тоже смотрю, изучаю что-то новое. Просто для меня это не приоритет, т.к. понимаю что ВСЁ знать невозможно, так или иначе будут пробелы. а приоритет - использовать уже полученные знания.
0
|
|||
|
Модератор
|
|||||
| 12.04.2021, 00:16 | |||||
![]() ![]()
0
|
|||||
|
Кормпилятор
|
|||
| 12.04.2021, 00:27 | |||
|
Если выразился "грёбаные", это не означает порицание. Это скорее означает попросту непринятие конкретно мной конкретной идеологии. Плюс эти дискуссии всё равно ничего не решат так, чтобы прям железобетонно сделать вывод и чтобы все приняли, поэтому я даже и не лезу в такие вещи, так фыркну слегка и засунусь. Почему у дрелей есть функция перфорации, есть же отдельно порфоратор и отдельно дрель? Непорядок! Найди фирмы которые выпускают дрели и напиши им, скажи "вы все ослы нелогично". Ну это утрирую. Ну так вы же так же точно угараете, а чё нет что ли? Ответ на вопрос: "потому что так сделали". Глобально это ни плохо, ни хорошо. Мне всё нравится, тебе нет - и всё, хотя когда ты кодил на VB, тебя это не сильно волновало, там вроде как так же точно. Сделай ему очередную пилюлю, исправь этот досадный недочёт.
0
|
|||
|
Модератор
|
||||||||||||
| 12.04.2021, 00:39 | ||||||||||||
0
|
||||||||||||
|
Кормпилятор
|
||||
| 12.04.2021, 01:01 | ||||
|
Загрузи редактор, открой нормальную карту и ищи там баг. А такие выводы не надо мне пихать. Если человек не прочитал, для чего оно нужно было и засунул в прогу абсолютно левый файл - это не моя проблема. Т.е. совсем. Это аналог если в легковушку вместо бензина залить солярку или тупо поссать. Просто сдохнет движок. Или в принтер засунуть не того типа картридж. Плюс ты нифига не знаешь по этой теме. И не знаешь что формат карт никак не документирован. И поэтому не стал ставить блокировку в редакторе, чтобы можно было в будущем редактировать карты большего размера. Более того это не мнение, а тупой некомпетентный обсёр, вы ничего не тестировали т.е. сам редактор, а сделали какой-то бред. Уверен и твою прогу тоже смогу уронить в каком-нибудь идиотском кейзе. А человек на этом редакторе сделал около 30-ти карт и был очень доволен. Он по его просьбе и был собран. Более того в той теме откопал исходник и поправил недочёт, что было не так просто, спустя столько лет. А теперь попробуй обратиться к авторам GIMP и сказать чтобы поправили недочёт с хоткеями в версии 2.8, которая висела лет 5 с этим говном и убедись что тебя проигнорируют люди "из команды". Добавлено через 12 минут ВСЕГДА, когда хочу узнать как кодит человек, спрашиваю ЛИЧНО его проекты. Именно так можно увидить, как он кодит, потому что когда это в команде, может так получиться(и чаще получается), что он там особо-то ничего и не кодил сильно, а только поучаствовал в виде "мимо проходил". Именно поэтому, чтобы видеть что сам человек из себя представляет как программист. Поэтому все эти дешёвые понты мне не надо бросать. Выше цитата профи, реального спеца с фирмы о работе т.н. команды, этим людям платили деньги. Команда это не показатель. Показатель - личные проекты. Добавлено через 2 минуты И мне не стыдно за этот косяк с падением проги, потому что да прога для карт D2K не была предусмотрена для карт от старкрафта или для карт от OpenRA.))) Простите извините, но текст описания утилиты был чёткий и ясный. Я готов прислушиваться к адекватной критике, но не к этому бреду, когда вещи начинают использовать не по назначению и ждут адекватной реакции. Добавлено через 6 минут
0
|
||||
|
Модератор
|
|||||||
| 12.04.2021, 01:09 | |||||||
|
0
|
|||||||
|
Модератор
|
||||||||
| 12.04.2021, 01:33 | ||||||||
![]() Добавлено через 5 минут
1
|
||||||||
|
Кормпилятор
|
||||
| 12.04.2021, 02:42 | ||||
|
предъявлять претензии фирме его сделавшей, мол дураки те, кто сделали клей, он же должен быть безопасный и съедобный. Ну ёлы... Одно дело какие-то разумные ограничения, допустим чайник выключается чтобы не пожечь спираль или питание процессора вырубается от датчика температуры, чтобы исключить выход из строя от перегрева. Но это реально глупость. По такой мелочи топтать в говно программиста и типа перечёркивая все его слова. Причём формат один, не 10, не 15, где реально можно перепутать и с бодуна что-то не то сунуть(в редакторах других-то). Да это абсурд просто реальнейший. Конечно, программист виноват. Кстати ни разу о тебе ничего такого не говорил. Как раз наоборот, всегда хвалил, причём по делу, а не так чтобы просто. Не ждал такого хренового отношения, когда судят по одёжке. Профи так не делают в нормальном обществе. Как-то всегда смотрят, что написано, как работает и сколько реально труда вложено. Не по проф этикету, абсолютно. С locm, тоже самое. Когда ты сказал, что он не умеет с памятью работать. Зачем всё это? Вот честно? Хорошо, раз тут такая путаница и по поводу моих скилов пошли эти козни, выложу короткий видос по редактору. Вот как работает эта прога, когда ей дают правильный файл. Без правильного файла она всё равно бесполезна, что с блокировкой, что без. Об этом ещё тогда написал, что всё равно ничего полезного не добиться пихая туда фигню. Потому что это действие крайне абсурдное, т.к. узкоспец, явно оговорено что и зачем. говном обольют с ног до головы, даже если потеряю всю свою репутацию. Потому что не докапываюсь до мелочей. Одно дело когда сам движок работает криво, тогда да, могу докопаться, если вещи важные, как, например, были с Ardour-ом и его "ночными сборками" после настройки менюшки при несовместимой с аппаратной конфигурацией звук. карты настройки - прога падала и всё, её уже невозможно было перезапустить, т.к. настройка сохранялась, а менюшка была стартовая единоразовая и дальше кидала в движок, результат - кирдык, пользоваться софтом нельзя. Она ещё настройки зашивала куда-то, где тяжело их было найти и откопать. От таких вещах говорю, потому что это важно, это движок программы. Вот за что была так или иначе моя критика в то время, а не про то, как уронить прогу чисто специально не в рабочих кейзах. Может быть ты видел как тестировал, например, шахматную прогу Стаса Будинова и сколько багов там нашёл. Это делал чтобы прога стала лучше, объективно во время её работы, чтобы от неё был толк. Потому и реакция была адекватная. А тут тестированием и не пахло даже. А так и про Стаса можно было сказать что "ухаха движок отвалился, видели мы его проги". И тут можно было бы сказать - да видели и locm-овские видели. Как бы не стыдно быть раза даже в три хуже него, абсолютно, есть стимул расти, куда-то. Не в "неумение работать с памятью", а вот как раз в том направлении, в котором человек вырос, туда голову повернуть посмотреть. И даже вечный теоретик хулиган тоже старается что-то делать, поэтому его и не критикую так сильно, вроде человек делом занят, растёт над собой, так или иначе, но в пример ставлю, чтобы он всё таки осознал важность проектной работы и пустил свои мозги и теорию в русло практики. Это всё чем можно помочь на форуме, потому что советов уже море там. Если бы просто так стебал, тогда другое дело, да нафиг я кому нужен, полно народу с этими позывами.
0
|
||||
|
COM‐пропагандист
|
|||||||
| 12.04.2021, 07:39 [ТС] | |||||||
|
Ваши исходные коды не влияют на исполняемый файл fbc.exe. От того, что вы добавили в текст какую‐то ту или не ту последовательность байт, что‐то там написали в тексте, исполняемый файл от этого не меняется и никакая «база компилятора». От того, что вы перегрузили оператор сложения для собственных нужд — тоже екзешник не изменяется. А теперь ДАНО. Есть два комплексных числа. Их требуется сложить. Как вы их будете складывать? 1. С перегрузкой оператора «+»: result = a + b 2. Без перегрузки оператора «+»: result = ComplexNumberAdd(a, b) Усложним задачу. Теперь дано четыре комплексных числа, их надо сложить. 1. С перегрузкой оператора «+»: result = a + b + c + d 2. Без перегрузки оператора «+»: result = ComplexNumberAdd(a, b) result = ComplexNumberAdd(result, c) result = ComplexNumberAdd(result, d) Объясните мне, почему вы считаете, что второй вариант проще читается и выглядит математичнее? Добавлено через 1 час 2 минуты Для говнокодинга точки с запятой очень удобны, потому что можно всё лепить в одну одну строки. А потом все Си‐подрожатели стали пихать эту точку с запятой в другие языки. В нынешних проектах эта точка с запятой делает ничего, лишь добавляет лишний шум, визуальный мусор и просто дублирует символы CrLf, которые итак вставляет любой редактор по нажатию на Enter. Но вообще вы неправы конечно. B должна рисовать кривую Безье, брахистохрону или лемнискату Бернулли, а не никакую не линию. А текущая реализация противоречит логике, здравому смыслу и бытовой очевидности.
0
|
|||||||
|
|
||
| 12.04.2021, 08:30 | ||
|
Quiet Snow, The trick, друзья, давайте уже хватит про себя любимых?
![]() Ни к чему хорошему это не приводит обычно. Обсуждение Бейсиков и других ЯП это замечательно, но на личности давайте не переходить, том более, что тут все учатся на ваших кодах и советах, и исподнее поднимать не комильфо. Добавлено через 3 минуты
2
|
||
|
Кормпилятор
|
|||
| 12.04.2021, 09:35 | |||
|
и креативный подход(в хорошем смысле) но если окажусь в среде, где это как BOX, RECTANGLE или чего ещё - ни слова не скажу, а буду спокойно пользоваться. чтобы в нём были ещё какие-то комплексные числа и прочая святотень. В данном случае(короткая запись) человек может даже не знать, что это комплексные. Понимаю, что тебе это удобно, как человеку кто работает с комплексными числами. Но бейсики(старой закалки) они не об этом, эту идеологию нужно понять и прочувствовать. Не считаю это неэффективным, просто думаю, что этого не должно быть в синтаксисе, что это нагромождение, как и многие другие вещи. Ещё Анатолий писал касательно современности и устаревания примитивов. Примитивы в принципе не могут устареть. Они используются для отладки. С помощью них можно заколхозить какой-нибудь чисто инженерный софт. Та же примитивная инфографика. То чего много не требует. И просто сделать на примитивах. Именно для работы с примитивами в своё время и писал редактор, чтобы проще людям было туда чё-то забить. Для комплексных тоже можно хелпер присобачить, который из верхней записи делает нижнюю, а в комментарий ложит верхнюю запись. Вот в чём профит, чтобы код читать было проще большему кругу людей. Чем более минималистичее синтаксис, тем проще его запомнить и читать. А консолидация с си++ это был простой путь, добавить средства си чтобы приблизить бейсик к си и чтобы быстренько перефигачивать функционал си. Вот PB - наоборот, очень сложный путь, как люди делали, с нуля написав компилятор, который отдаёт код в FASM.
0
|
|||
|
Модератор
|
||||||||||||||
| 12.04.2021, 10:17 | ||||||||||||||
![]()
1
|
||||||||||||||
|
COM‐пропагандист
|
|||||||||||||||||||||||||||||||||||||
| 12.04.2021, 10:18 [ТС] | |||||||||||||||||||||||||||||||||||||
|
Технически рантайм не выкидывают из готового екзешника, а просто собирают исполняемый файл без него. Однако если у вас есть хоть что‐то, что вызывает функции из библиотеки времени выполнения, то компоновщик не создаст исполняемый файл, потому что он не сможет разрешить внешний символ. Обычно это строки типа String (поэтому переходите на ZString или WString), конкатенация, присваивание строк, динамические массивы и изменение их размера, графика, файлы, функция End и прочее. Вам нужно самому придумывать такие вещи, либо искать аналоги в WinAPI (например, функции для строк lstrlen, lstrcpy, lstrcat из библиотеки kernel32.dll). Подглядеть, что же такое фрибейсик делает для компиляции программы, поможет параметр -v. Основные этапы. 1. Трансляция исходного кода FreeBASIC либо в си‐код (пропускается, если у вас x86 или не указана опция -gen gcc), либо сразу в ассемблерный листинг. 2. Программа‐ассемблер as.exe переводит ассемблерный код в объектный файл. 3. Компоновщик ld.exe собирает все объектные файлы в исполняемый файл. Рассмотрим на примере для x86 файл HelloWorld.bas:
Файл ресурсов Resources.RC:
1. Итак, для начала нужно дать команду фрибейсику получить только ассемблерный код:
2. Запускаем ассемблер, чтобы получить объектный файл:
3. Компилируем ресурсы:
4. Запускаем линковщик:
-e _ENTRYPOINT@0 Здесь мы указываем стартовую точку, программа начнётся с функции EntryPoint, пишем большими буквами потому FreeBASIC по умолчанию названия переводит в большие буквы. -subsystem windows Подсистема GUI, для консольных программ указываем console (можно указать native если создаём драйвер) --stack 1048576,1048576 Размер стэка по умолчанию, в байтах Дальше в скобках идёт список из объектных файлов и библиотек, с которыми будет связываться программа. Lorem Ipsum удалён, оставлены только стандартные библиотеки WinAPI. Итого стандартными средствами получаем файл размером 2048 байт. Путём объединения секций, отказа от выравнивания можно получить файл и меньшего размера, но это всё хакерские приёмы и Я их не рассматриваю.
1
|
|||||||||||||||||||||||||||||||||||||
|
Модератор
|
|||
| 12.04.2021, 10:27 | |||
|
0
|
|||
|
COM‐пропагандист
|
|||||||
| 12.04.2021, 10:28 [ТС] | |||||||
0
|
|||||||
|
|
||||||||
| 12.04.2021, 12:06 | ||||||||
|
Очень удобно, например, комментировать параметры в процедуре:
Выигрыш в размере сомнителен, да на современном этапе развития устройств хранения наверно уже не актуален.
1
|
||||||||
|
COM‐пропагандист
|
|||||
| 12.04.2021, 14:36 [ТС] | |||||
|
Добавлено через 12 минут
0
|
|||||
|
|
||||
| 12.04.2021, 15:32 | ||||
|
Или по вашему лучше когда код сложнее и содержит больше строк? ![]() ![]() Или не используете MessageBox кроме которого еще несколько "лишних" функций?
0
|
||||
| 12.04.2021, 15:32 | |
|
Помогаю со студенческими работами здесь
260
Стоит ли изучать как устроена ЭВМ для эффективного программирования Подскажите ссылки на приемы программирования для Embedded
Интересны приемы программирования, о которых не пишут в книгах, а которые узнаются на практике Общие вопросы. Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|