суббота, 13 марта 2010 г.

В чём вам помог HiAsm?

В последнее время мои читатели всё чаще стали намекать мне, что пора бы выложить новые видеоуроки. Вчера я как раз собрался записать несколько новых видеоуроков, но как только я прикоснулся к микрофону, он стрельнул искрой и навсегда замолк… Вывод: надо быть аккуратнее со статическим электричеством.
Но это отступление. Тема поста совсем другая.

Я уже настолько привык к HiAsm, что считаю его естественной частью компьютера, почти не замечая, что это всё-таки отдельная программа. Но о незаменимости этой незаметной программы я задумался недавно. Ведь на протяжении всего времени с помощью HiAsm мне удавалось сделать то, что вручную и делал бы несколько часов, а то и дней…

Я познакомился с HiAsm в 2005 году. Тогда я ещё не знал сайт и форум HiAsm, а первую свою версию HiAsm скачал с сайта Freeware.ru. Это была версия 2.13. В ней была ошибка: сохранённые проекты не открывались, и поэтому я не мог делать в ней более-менее серьёзных проектов, ведь доделать их было невозможно (тем более что с мультиэлементами там тоже была критическая ошибка).

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

Когда я скачал более позднюю версию HiAsm, в которой не было такой ошибки, то первыми моими идеями были создание плеера и просмотрщика картинок (наверно, не я один такой :). Конечно, фотошоп и ворд я не создал, но это были одни из самых крупных моих проектов. Только файл проекта просмотрщика весил около мегабайта!


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

Дальше были в основном небольшие программы, например программа для отображения рисунка, которая располагает его мозаикой. Это удобно при просмотре картинок-узоров для веб-страниц. Преимущество состоит в быстроте работы с программой.

Также была программа для фотографирования экрана, потому что одна электронная книга блокировала кнопку PrentScreen. Была программа для выполнения операций над числами в разных системах счисления. И очень много было проектов (много - потому что они маленькие, и после однократной работы программы сразу удалялись) для замены символов в тексте. С простой заменой справится и Блокнот, но когда заменить нужно, допустим, с символа '<' по символ ‘>’ во многих файлах, то работать через Блокнот - о-очень долго…

В общем, HiAsm очень упростил мою работу за компьютером. И мне интересно у знать, кому как ещё помог HiAsm. Оставляйте комментарии.

47 комментариев:

  1. Я собрал вторую свою программу в HiAsm из-за необходимости ограничеть работу жены за компьютером, которая может увлечься до 2-3 часов ночи (особенно когда я на работе в ночь). Программа представляет собой таймер доступ к настройкам которого осуществляется после ввода пароля. Только соберу программу готовую к работе как тут же берусь за ее совершенствования. Не смог реализовать две функции: загрузка с системой (поставил галку загружается, убрал не загружается даже если меняется директория программы)и завершение работы приложения (в интерфейсе эти функции есть но они не работают. Если админ или еще кто поможет огромное спасибо. Вот проект: http://narod.ru/disk/18724378000/TimeKey%201.0.rar.html
    Пароль 1 (потом можно менять на любой другой). При запуске прога в трее.

    ОтветитьУдалить
  2. Завершение работы приложения - это же обычный выход из программы, точка формы doClose.
    Что касается добавления в автозагрузку, то можно сделать так.

    ОтветитьУдалить
  3. Здесь идет речь не о завершении работы таймера, а выбранного приложения установленного в системе, которое можно выбрать в таймере с помощью диалога открытия. Если бы в HiAsm'е был компонент который бы определял ID окна программы по его директории то у меня бы вопросов не возникло.
    Может есть какой то другой способ?

    Кстати по теме "В чём вам помог HiAsm?"
    Первая программа которую я собрал не менее важная для меня. Она способна считать мою зарплату после внесения отработанных дневных, ночных и смен в выходные дни и сравнивать фактическую и расчетную зарплату. Так, что обмануть меня не получится.
    Понятно, что обе программы были собраны под конкретные нужды и таких программ не найти в интернете.
    HiAsm самая лучшая прога.
    Второе место PhotoShop.

    Большое спасибо за помощь с автозагрузкой!

    ОтветитьУдалить
  4. На вкладке "Система" есть компонент EnumProcess. С его помощью можно узнать запущенные процессы (программы) по их имени (имени файла). И завершить процесс - тоже.

    ОтветитьУдалить
  5. HiAsm дурилка для школьников и поэтому довольно примитивный способ программирования в нём подкупает самых ленивых. Не стоит расчитывать на мегапроекты т.к схема из более 500 элементов больше похожа на художественное произведение чем на программу. Про сложные алгоритмы можно сказать тоже самое.

    ОтветитьУдалить
  6. HiAsm нужен не для изобретения фотошопа или автокада, а для каких то особых своих нужд-уважаемый анонимный.

    ОтветитьУдалить
  7. Не стои забывать, что в HiAsm есть ещё InlineCode, в который можно при надобности вставить код. Просто с компонентами получается быстрее (когда алгоритмы несложные).

    Чтобы схема не напоминала "художественное произведение", почитайте эту статью.

    Но достоинство HiAsm не только в бескодовом изготовлении программ. Полный список достоинст HiAsm - здесь.

    ОтветитьУдалить
  8. На счет Автозагрузки подскажите пожалуйста.
    Что нужно открывать или вводить в элемент (Registry). Просто вписать Имя параметра и путь "имя"="C:\\прога.exe" или как то по другому.
    Подскажите пожалуйста, если можна с примером.

    ОтветитьУдалить
  9. Спасибо, с трудом но немного разобрался, в элементе Registry на точку Data нужно подать элемент Application, и тогда скомпелированая програма будет добавлятся в автозагрузку, где бы она не находилась, то есть путь в реестре прописывается сам.
    А можно както сделать чтобы добавлялась сторонняя прога в автозагрузку?

    ОтветитьУдалить
  10. Можно. Тогда имя сторонней проги и надо вписывать, а не своей. Но можно просто добавить ярлык (в HiAsm есть компонент для создания ярлыков) в папку Автозагрузка.

    ОтветитьУдалить
  11. Admin: не мог бы ты помочь мне? надо поставить поле для ввода рег. пароля а как это сделать я не знаю создай тему или скинь видео урок на мыло komlvl@bk.ru буду очень благодарен

    ОтветитьУдалить
  12. Пароля для чего: Интернет-сайта? Или файла?

    ОтветитьУдалить
  13. нет что бы при входе в программу открывалась форма где нужно ввести пароль активации при не верном вводе прога закрывалась а при правильном выходила форма с программой

    ------------------------------

    или лучше расскажи как сделать чтобы данные которые вводишь в редактор текста оставались в памяти программы

    ОтветитьУдалить
  14. Организовать проверку пароля можно разными способами. В любом случае, где-то придётся хранить пароль для сверки с введённым, и это уже ухудшает защиту, т.к. хакеры пароль всё равно найдут. Но один из вариантов (простым пользователям довольно сложно будет что-то узнать): http://hi-asm.narod.ru/sha/bh282.sha.
    Перед запуском файла надо установить себе компоненты для шифрования отсюда: http://hi-asm.narod.ru/crypt.rar0 (скачанный файл переименовать в rar).

    Данные, вводимые в редактор текста, вряд ли можно как-то сохранить в самой программе: это надо делать в отдельный файл.

    ОтветитьУдалить
  15. Подскажите пожалуйста, что такое операнды в условиях? Делаю своё фоновое приложение, а там есть условия, вот не могу понять что такое операнды, и что там писать в их свойствах. Если можете, запишите видео урок по работе с условиями. Помните, я Вас просил ещё как-то записать видео урок по статье №67 по созданию программ без компилятора? Кстати, я сейчас при работе с условиями уже установил неправильную связь компонентов, не по тем точкам. Пришлось экранной лупой пользоваться. Да и значок условия я кое-как там нашёл. Чуть отклонюсь от компьютера на спинку кресла - и УЖЕ почти ничего не вижу. И подсказки вообще там мелкие какие-то. Хорошо, что есть подробное описание некоторых свойств! Но что такое операнды не могу понять. Для условий я нашёл компонент "Вызов событий по условию". Вот там и есть операнды.
    А потоковое вещание тут поддерживается? Я просто целыми днями смотрю свой любимый телеканал "Союз" по Интернету, хочу для этого свою программу сделать, а ведь мне своими программами гораздо приятнее пользоваться, чем стандартными!

    ОтветитьУдалить
  16. Операнд - это те данные, над которыми производится операция. В данном случае - операция сравнения. Например, можно указать там разные числа. Числа и являются операндами, которые сравниваются при вызове соответствующего метода.

    Насчёт потокового вещания - не знаю. Честно говоря, я даже форматом такого вещания не интересовался никогда. Может, на форуме hiasm.com Вам подскажут.

    Ну а зрение беречь надо. Оно у нас одно :) Правда, сейчас неплохо лазерную хирургию делают. Я тоже скоро буду её делать. Удачи!

    ОтветитьУдалить
  17. На форуме HiAsm не ответили, сказали, что эта тема уже обсуждалась, я её не нашёл, а мне даже ссылку не дали(((
    На счёт хирургии. Тут не поможет, это от рождения, атрофия зрительных нервов. Но наука движется вперёд, может лет через 5-10 будут лечить атрофию зрительных нервов. Благодаря специальным упражнениям, за два года повседневного использования компьютера зрение сохраняется на том же уровне, в один момент были даже замечены небольшие улучшения! :)
    Сейчас в HiAsm я составляю свою первую программу для развития интуиции. Там присутствует компонент "Случайное число". Но там я ещё хочу сделать так, чтобы при генерации случайного числа проверялось совпадение числа, введённого пользователем в текстовое поле, с числом, сгенерированным в одной из надписей. Если и то и другое число совпадает в точности, либо не совпадает, то в другой надписи должен быть подсчёт правильных ответов, а ещё в одной - неправильных. В общем, будет время - пишите на E-mail, Вы его уже знаете, скину Вам свою схему программы. А на форуме HiAsm после случая, описанного выше. Хочется, чтобы они там удалили мой аккаунт. Не хочу я с ними связываться.
    Другой пример - форум dobroeslovo.ru, где все всегда нормально общаются. Но там я пока не видел таких, которые хорошо бы знали HiAsm. Хотя программисты там есть. Но это не форум программистов. Это самый лучший, интересный и полезный форум из тех, на которых я общаюсь.
    Кстати, Вы мне писали код компонента поиска текста. А как вообще его вставить в поле HiAsm? Выделить, скопировать... А как потом вставить? Там же не текстовое поле, а поле со схемой, а схема - это вовсе не текст. Это на основе кода такой компонент надо делать что ли?
    Вы мне ещё про защиту писали, что надёжной защиты не сделать. Я с Вами полностью согласен. Но всё равно хочется защитить программу, и именно средствами HiAsm, так как так будет удобнее по возможностям. Не хочется мне при защите использовать регистраторов софта типа softkey.ru. Я уже пишу свой собственный php-скрипт защиты, он очень простой, так как не использует MySQL.

    ОтветитьУдалить
  18. А теперь насчёт условий ещё. Как сделать так, чтобы условия не сравнивались, а например происходило событие в зависимости от текста той или иной надписи или значения памяти: если текст надписи один, то выполнять одно действие, если другой - другое? Как так сделать?

    ОтветитьУдалить
  19. Да, это у них бывает :( Вещание звука из Интернета, возможно, можно реализовать, а вот компонентов для работы с видео в HiAsm практически нет. Стандартный MediaPlayer поддерживает мало форматов и почти ничего не умеет, кроме как просто кртить видео/звук.

    Насчёт случайных чисел. Зачем генерировать число на надпись, ведь её же увидит пользователь? Лучше сгенерированное число записать в комопнент Memory (вкладка "Инструменты"). Схема будет примерно такой:
    Add(Random,11789901,175,182)
    {
    link(onRandom,1356790:doValue,[])
    }
    Add(Edit,2460160,133,280)
    {
    Left=10
    Top=15
    Width=235
    Text=""
    link(onEnter,7445079:doValue,[])
    }
    Add(Button,4583155,112,182)
    {
    Left=10
    Top=45
    link(onClick,11789901:doRandom,[])
    }
    Add(Memory,1356790,245,182)
    {
    }
    Add(Memory,7445079,182,287)
    {
    link(onData,6335715:doCompare,[])
    }
    Add(If_else,6335715,238,287)
    {
    link(onTrue,6387409:doOperation,[])
    link(Op1,7445079:Value,[(244,275)(216,275)(216,331)(188,331)])
    link(Op2,1356790:Value,[])
    }
    Add(Math,6387409,301,287)
    {
    Op2=1
    ResultType=0
    link(onResult,16734845:doText,[])
    link(Op1,6387409:Result,[(307,275)(295,275)(295,331)(307,331)])
    }
    Add(Label,16734845,364,287)
    {
    Left=360
    Top=290
    }

    Этот код выделяете, нажимаете Ctrl+C, замтем переходите в HiAsm, на рабочем поле нажимаете правую кнопку мыши и жмёте "вставить". Потому что схему можно представить в виде такого вот текста. И наоборот. С поиском текста - точно так же.

    ОтветитьУдалить
  20. Админ, Вы меня неправильно поняли. Случайное число генерируется после нажатия кнопки "Отгадать", а не при открытии программы. А до нажатия кнопки, естественно, пользователь не увидит случайное число. Теперь всё понятно?

    ОтветитьУдалить
  21. Ну так и генерируйте число по событии OnEnter у поля ввода! Но перед этим данные из поля ввода следует запомнить в компоненте Memory, а потом уже сравнивать. В общем, Вам надо больше экспериментировать, смотреть примеры, которые прилагаются к HiAsm, тогда обязательно всё поймёте.

    ОтветитьУдалить
  22. Результат я Вам на E-mail скинул. Ещё одну программу скинул, которую сделал в Алгоритме, но в HiAsm хочу переделать заново.

    ОтветитьУдалить
  23. Я обнаружил, что скинул не сохранённую схему, извините.
    Скопируйте в поле HiAsm этот код:

    Make(delphi)
    ver(4.0 build 173)
    Add(MainForm,2953706,21,105)
    {
    Name="Окно1"
    Caption="Программа для развития интуиции"
    Position=1
    }
    Add(Label,478292,71,14)
    {
    Left=5
    Top=5
    Width=375
    Height=17
    Name="Надпись1"
    Caption="Введите число в поле ниже от 1 до 100, которое Вы пытаетесь отгадать."
    }
    Add(Label,13742572,418,28)
    {
    Left=5
    Top=55
    Width=102
    Height=17
    Name="Надпись2"
    Caption="Правильный ответ:"
    }
    Add(Button,13064508,21,189)
    {
    Left=330
    Top=240
    Name="Кнопка1"
    Caption="Выход"
    link(onClick,2953706:doClose,[(65,195)(65,163)(9,163)(9,132)])
    }
    Add(Random,10187480,189,189)
    {
    Point(doRandSeed)
    Point(RandSeed)
    Point(Min)
    Point(Max)
    link(onRandom,15176580:doValue,[(233,195)(233,129)(163,129)(163,62)])
    }
    Add(Button,1670662,77,189)
    {
    Left=275
    Top=240
    Name="Кнопка2"
    Caption="Отгадать"
    link(onClick,6510983:doWork2,[])
    }
    Add(HubEx,6510983,140,182)
    {
    link(onEvent,10187480:doRandom,[])
    }
    Add(Edit,872796,84,77)
    {
    Left=5
    Top=25
    Width=375
    Name="Текст1"
    Text=""
    DataType=1
    link(onEnter,6510983:doWork1,[(144,90)])
    }
    Add(If_else,3274135,252,224)
    {
    link(onTrue,9899213:doEvent1,[(292,230)(292,209)])
    link(onFalse,1889367:doEvent1,[(292,237)(292,251)])
    link(Op1,872796:Text,[(258,135)(90,135)])
    link(Op2,15176580:Value,[(265,156)(181,156)])
    }
    Add(Label,12965104,28,273)
    {
    Left=5
    Top=75
    Width=113
    Height=17
    Name="Надпись4"
    Caption="Правильных ответов:"
    }
    Add(Label,1140908,539,154)
    {
    Left=120
    Top=75
    Width=10
    Height=17
    Name="Надпись5"
    Caption="0"
    }
    Add(Label,4266727,84,280)
    {
    Left=5
    Top=95
    Width=125
    Height=17
    Name="Надпись6"
    Caption="Неправильных ответов:"
    }
    Add(Label,3280047,539,280)
    {
    Left=130
    Top=95
    Width=10
    Height=17
    Name="Надпись7"
    Caption="0"
    }
    Add(Math,16703344,371,182)
    {
    Op2=1
    link(onResult,1140908:doText,[(454,188)(454,160)])
    link(Op1,1140908:Caption,[(377,170)(454,170)(454,193)(545,193)])
    }
    Add(Math,1906856,371,266)
    {
    Op2=1
    link(onResult,3280047:doText,[(459,272)(459,286)])
    link(Op1,3280047:Caption,[(377,248)(459,248)(459,325)(545,325)])
    }
    Add(Label,251052,259,56)
    {
    Left=110
    Top=55
    Width=11
    Height=17
    Name="Надпись4"
    Caption="X"
    }
    Add(Memory,15176580,175,56)
    {
    link(onData,3274135:doCompare,[(229,62)(229,230)])
    }
    Add(Hub,9899213,301,203)
    {
    link(onEvent1,9663452:doWork2,[(343,209)(343,139)])
    link(onEvent2,16703344:doOperation,[(352,216)(352,188)])
    }
    Add(Hub,1889367,301,245)
    {
    link(onEvent1,9663452:doWork3,[(345,251)(345,197)(326,197)])
    link(onEvent2,1906856:doOperation,[(352,258)(352,272)])
    }
    Add(HubEx,9663452,322,126)
    {
    Angle=2
    link(onEvent,251052:doText,[(247,139)(247,62)])
    }
    Вот моя программа.

    ОтветитьУдалить
  24. Я посмотрел Вашу программу, Вам надо задействовать точку doRandomize. Делается это всего один раз при старте программы на любом компоненте Random. Если этого не сделать, то при каждом запуске программы будет всегда одна и та же последовательность "случайных" чисел.

    ОтветитьУдалить
  25. Подскажите пожалуйста, как здесь работать с FTP?

    ОтветитьУдалить
  26. Я ещё что-то в папке с примерами HiAsm не могу найти пример по работе с главным меню. Где он находится? Или его там нет? А то ставлю объект Главное меню, изменяю там данные, а могу сделать только надписи сверху, и причём ещё когда настраиваю клик (что будет происходить при клике), то или иное событие происходит при клике на всех пунктах меню. Как это настроить - не знаю.

    ОтветитьУдалить
  27. http://hi-asm.blogspot.com/2009/10/blog-post_30.html
    В статье сначала про HTTP рассказано, а ниже - про FTP.

    ОтветитьУдалить
  28. Про меню: http://hi-asm.blogspot.com/2009/09/blog-post_19.html

    ОтветитьУдалить
  29. Плоховато я ещё понял, как работать с шаблоном интерфейса своей программы (статья - Программирование без компилятора).

    ОтветитьУдалить
  30. Тут важно экспериментировать. И через это - понимать суть. Хотя данный пример - программирование без компилятора - не имеет такого большого значения для повседневной жизни программиста, как другие. Например, Вы можете сделать программу для SEO-анализа веб-страниц. В плане программирования это довольно просто - основные компоненты будут на вкладке "строки". Но тут нужно знать много по теме SEO. А программа такая очень полезна, потому что сейчас SEO - почти всё для сайтов.

    ОтветитьУдалить
  31. Я делаю загрузчик файлов. Это такая программа, которая позволяет создавать свои мини-программы для закачки файлов из Интернета. Обновить свою мини-программу пользователь может без её повторного создания. Для этого, пользователю потребуется только изменить ссылки в специальных файлах на FTP-сервере своего сайта. Записывать туда можно будет только прямые ссылки, а не те, что с файлообменников Depositfiles, Letitbit и т.д. Программу я изначально делаю в Алгоритме, но её придётся "подкрепить" некоторыми компонентами (дополнительными EXE-файлами) в HiAsm, так как Алгоритм не поддерживает FTP-доступ, поддерживает только HTTP. И программирование без компилятора он тоже не поддерживает. Зато поддерживает Триал, что позволяет создавать свои Shareware-программы.

    ОтветитьУдалить
  32. Подскажите пожалуйста, как сделать так, чтобы можно было скачать сразу несколько файлов в HiAsm с помощью специального списка, из которого пользователь сможет выбрать файлы для скачивания?

    ОтветитьУдалить
  33. И ещё я хотел бы сделать такую программу, которая бы проверяла ссылку на какой-нибудь сайт в каком-нибудь параметре реестра или txt-файла, а потом открывала её в каком-нибудь браузере, например IE или Google Chrome. Можно ли тут так сделать? Если да, то как?

    ОтветитьУдалить
  34. Что касается списка файлов для скачивания, сначала надо решить, откуда Вы будете брать данные для него. Если это какой-то заранее определённый набор файлов, то просто берёте ListBox, вставляете в него пути к файлам на сервере, а затем пользователь будет по ним кликать, а программа должна обрабатывать нажатия и скачивать файл, на котором было нажатие. Если список файлов для скачивания находится в txt-файле на сервере, то предварительно можно скачать его (например, при запуске программы), а затем он должен загружаться в ListBox, откуда пользователь уже будет кликать.

    По проверке ссылки на сайт: да, можно. На вкладке "Система" есть компонент Registry, который и работает с Реестром. Ну а с txt-файлом ещё проще. Важно только знать, какая строка содержит адрес. Например, если 1-я, то и извлекать надо 1-ю строку: сначала загружать файл в список строк (компонент на вкладке "Строки"), а потом с помощью ArrayRW (на вкладке "Массивы") извлекать строку под соответствующим номером.

    ОтветитьУдалить
  35. Ну а далее после проверки ссылки я хочу открыть браузер Google Croome, Mozila Firefox или Internet Explorer (в общем, какой установлен для входа в интернет по умолчанию в системе), и в этом браузере программа должна в адресную строку сама прописать ссылку. А это как сделать?

    ОтветитьУдалить
  36. Ну или просто программа создаст ярлык интернета (файл с расширением .url), откроет сайт, потом удалит ярлык.

    ОтветитьУдалить
  37. В компонент WinExec ("Система") можно просто подать имя сайта (с http), и тогда браузер открывается автоматически.

    ОтветитьУдалить
  38. Админ, привет!
    Хоть и знаю, как доступ по FTP сделать, но я хочу это сделать через DLL, и так, чтобы имя пользователя, пароль и хост брались из отдельных TXT-файлов. Никак не могу это сделать! Можешь помочь?

    ОтветитьУдалить
  39. И ещё: я случайно на панели свойств компонентов нажал на одну кнопку, и теперь эта панель как отдельное окно выглядит! А вернуть её в исходное состояние никак не могу. Как это сделать?
    HiAsm неуправляемый какой-то! Панелями и то невозможно управлять, не только компонентами! Странная программа какая-то.

    ОтветитьУдалить
  40. Что-то я не могу у компонента для FTP-доступа такой точки, которая позволяет программно указать директорию. А мне это как-раз и нужно, а я не могу никак выполнить то, что мне надо! Вообще... В HiAsm есть всё, кроме нужного! Или тут может вообще такой точки нет?

    ОтветитьУдалить
  41. Итак, по порядку.
    1. Насчёт DLL. Я не рекомендую делать dll в HiAsm, потому что работают они в программах не очень корректно. На последних версиях уже не проверял, но раньше тоже пробовал сделать, так несколько раз dll-ка может работать нормально, но на другой раз программа просто вылетает, и всё. DLL делается с помощью Файл - Новый - Windows DLL, а подключается в программу с помощью CallDLL или Usehidll со вкладки "Разное", но лучше все функции делать непосредственно в программе.
    2. Загрузить логин и пароль из txt можно с помощью StrList, вкладка "Строки". Вынуть отдельную строку можно через массив. Но пароли опасно хранить в txt-файлах! Например, я в FileZilla не храню пароли: держу их в голове! Или записываю на бумажный носитель.
    3. Чтобы вернуть паль обратно, надо вести её к краю HiAsm, пока контур не расположится по этому краю (т.е. прикрепится к нему). Тогда отпускать.
    4. Точка Directory есть, для её вывода надо нажать на белый квадратик, который есть у аналогичного параметра компонента. Если белой точки нет, то надо отметить галочку: Сервис - Настройка - Интерфейс - Показа точек по св-вам (это в версии HiAsm 4.02 build 179).

    ОтветитьУдалить
  42. Я хотел спросить. Как в HiAsm сделать программу которая блокирует клавиши: ALT , Ctrl .

    ОтветитьУдалить
  43. Этот комментарий был удален автором.

    ОтветитьУдалить
  44. Ребят, а подскажите, как можно отправить строку в запускаемую программу? Мне необходимо запустить командную строку и отправить в нее команду Ping?

    ОтветитьУдалить
    Ответы
    1. Между прочим, пример из справки:
      Add(WinExec,12731325,343,357)
      {
      Param="/c ping localhost -n 10"
      FileName="cmd.exe"
      Point(doConsoleExec)
      Point(onConsoleResult)
      link(onConsoleResult,12861944:doCharset,[])
      }
      Add(Button,7358811,287,371)
      {
      Left=170
      Top=10
      Caption="Ping"
      link(onClick,12731325:doConsoleExec,[])
      }
      Add(Memo,15792275,462,364)
      {
      Left=20
      Top=40
      Width=365
      Height=200
      ScrollBars=3
      }
      Add(Charset,12861944,399,364)
      {
      link(onCharset,15792275:doAdd,[])
      }

      Удалить