В последнее время мои читатели всё чаще стали намекать мне, что пора бы выложить новые видеоуроки. Вчера я как раз собрался записать несколько новых видеоуроков, но как только я прикоснулся к микрофону, он стрельнул искрой и навсегда замолк… Вывод: надо быть аккуратнее со статическим электричеством.
Но это отступление. Тема поста совсем другая.
Я уже настолько привык к HiAsm, что считаю его естественной частью компьютера, почти не замечая, что это всё-таки отдельная программа. Но о незаменимости этой незаметной программы я задумался недавно. Ведь на протяжении всего времени с помощью HiAsm мне удавалось сделать то, что вручную и делал бы несколько часов, а то и дней…
Я познакомился с HiAsm в 2005 году. Тогда я ещё не знал сайт и форум HiAsm, а первую свою версию HiAsm скачал с сайта Freeware.ru. Это была версия 2.13. В ней была ошибка: сохранённые проекты не открывались, и поэтому я не мог делать в ней более-менее серьёзных проектов, ведь доделать их было невозможно (тем более что с мультиэлементами там тоже была критическая ошибка).
Первая программа, которую я сделал на HiAsm, была очень простой и при нажатии кнопки на форме просто выводила новую строку из заранее приготовленного файла. Изменяя текст в файле, можно было делать что-то вроде пошаговых руководств.
Когда я скачал более позднюю версию HiAsm, в которой не было такой ошибки, то первыми моими идеями были создание плеера и просмотрщика картинок (наверно, не я один такой :). Конечно, фотошоп и ворд я не создал, но это были одни из самых крупных моих проектов. Только файл проекта просмотрщика весил около мегабайта!
Со временем такие замашки прошли. Я и сейчас хочу сделать для себя плеер, который будет заточен под мои надобности, но встраивать в него код «на все случаи жизни» не собираюсь.
Дальше были в основном небольшие программы, например программа для отображения рисунка, которая располагает его мозаикой. Это удобно при просмотре картинок-узоров для веб-страниц. Преимущество состоит в быстроте работы с программой.
Также была программа для фотографирования экрана, потому что одна электронная книга блокировала кнопку PrentScreen. Была программа для выполнения операций над числами в разных системах счисления. И очень много было проектов (много - потому что они маленькие, и после однократной работы программы сразу удалялись) для замены символов в тексте. С простой заменой справится и Блокнот, но когда заменить нужно, допустим, с символа '<' по символ ‘>’ во многих файлах, то работать через Блокнот - о-очень долго…
В общем, HiAsm очень упростил мою работу за компьютером. И мне интересно у знать, кому как ещё помог HiAsm. Оставляйте комментарии.
суббота, 13 марта 2010 г.
Подписаться на:
Комментарии к сообщению (Atom)
Я собрал вторую свою программу в HiAsm из-за необходимости ограничеть работу жены за компьютером, которая может увлечься до 2-3 часов ночи (особенно когда я на работе в ночь). Программа представляет собой таймер доступ к настройкам которого осуществляется после ввода пароля. Только соберу программу готовую к работе как тут же берусь за ее совершенствования. Не смог реализовать две функции: загрузка с системой (поставил галку загружается, убрал не загружается даже если меняется директория программы)и завершение работы приложения (в интерфейсе эти функции есть но они не работают. Если админ или еще кто поможет огромное спасибо. Вот проект: http://narod.ru/disk/18724378000/TimeKey%201.0.rar.html
ОтветитьУдалитьПароль 1 (потом можно менять на любой другой). При запуске прога в трее.
Завершение работы приложения - это же обычный выход из программы, точка формы doClose.
ОтветитьУдалитьЧто касается добавления в автозагрузку, то можно сделать так.
Здесь идет речь не о завершении работы таймера, а выбранного приложения установленного в системе, которое можно выбрать в таймере с помощью диалога открытия. Если бы в HiAsm'е был компонент который бы определял ID окна программы по его директории то у меня бы вопросов не возникло.
ОтветитьУдалитьМожет есть какой то другой способ?
Кстати по теме "В чём вам помог HiAsm?"
Первая программа которую я собрал не менее важная для меня. Она способна считать мою зарплату после внесения отработанных дневных, ночных и смен в выходные дни и сравнивать фактическую и расчетную зарплату. Так, что обмануть меня не получится.
Понятно, что обе программы были собраны под конкретные нужды и таких программ не найти в интернете.
HiAsm самая лучшая прога.
Второе место PhotoShop.
Большое спасибо за помощь с автозагрузкой!
На вкладке "Система" есть компонент EnumProcess. С его помощью можно узнать запущенные процессы (программы) по их имени (имени файла). И завершить процесс - тоже.
ОтветитьУдалитьHiAsm дурилка для школьников и поэтому довольно примитивный способ программирования в нём подкупает самых ленивых. Не стоит расчитывать на мегапроекты т.к схема из более 500 элементов больше похожа на художественное произведение чем на программу. Про сложные алгоритмы можно сказать тоже самое.
ОтветитьУдалитьHiAsm нужен не для изобретения фотошопа или автокада, а для каких то особых своих нужд-уважаемый анонимный.
ОтветитьУдалитьНе стои забывать, что в HiAsm есть ещё InlineCode, в который можно при надобности вставить код. Просто с компонентами получается быстрее (когда алгоритмы несложные).
ОтветитьУдалитьЧтобы схема не напоминала "художественное произведение", почитайте эту статью.
Но достоинство HiAsm не только в бескодовом изготовлении программ. Полный список достоинст HiAsm - здесь.
На счет Автозагрузки подскажите пожалуйста.
ОтветитьУдалитьЧто нужно открывать или вводить в элемент (Registry). Просто вписать Имя параметра и путь "имя"="C:\\прога.exe" или как то по другому.
Подскажите пожалуйста, если можна с примером.
Спасибо, с трудом но немного разобрался, в элементе Registry на точку Data нужно подать элемент Application, и тогда скомпелированая програма будет добавлятся в автозагрузку, где бы она не находилась, то есть путь в реестре прописывается сам.
ОтветитьУдалитьА можно както сделать чтобы добавлялась сторонняя прога в автозагрузку?
Можно. Тогда имя сторонней проги и надо вписывать, а не своей. Но можно просто добавить ярлык (в HiAsm есть компонент для создания ярлыков) в папку Автозагрузка.
ОтветитьУдалитьAdmin: не мог бы ты помочь мне? надо поставить поле для ввода рег. пароля а как это сделать я не знаю создай тему или скинь видео урок на мыло komlvl@bk.ru буду очень благодарен
ОтветитьУдалитьПароля для чего: Интернет-сайта? Или файла?
ОтветитьУдалитьнет что бы при входе в программу открывалась форма где нужно ввести пароль активации при не верном вводе прога закрывалась а при правильном выходила форма с программой
ОтветитьУдалить------------------------------
или лучше расскажи как сделать чтобы данные которые вводишь в редактор текста оставались в памяти программы
Организовать проверку пароля можно разными способами. В любом случае, где-то придётся хранить пароль для сверки с введённым, и это уже ухудшает защиту, т.к. хакеры пароль всё равно найдут. Но один из вариантов (простым пользователям довольно сложно будет что-то узнать): http://hi-asm.narod.ru/sha/bh282.sha.
ОтветитьУдалитьПеред запуском файла надо установить себе компоненты для шифрования отсюда: http://hi-asm.narod.ru/crypt.rar0 (скачанный файл переименовать в rar).
Данные, вводимые в редактор текста, вряд ли можно как-то сохранить в самой программе: это надо делать в отдельный файл.
Подскажите пожалуйста, что такое операнды в условиях? Делаю своё фоновое приложение, а там есть условия, вот не могу понять что такое операнды, и что там писать в их свойствах. Если можете, запишите видео урок по работе с условиями. Помните, я Вас просил ещё как-то записать видео урок по статье №67 по созданию программ без компилятора? Кстати, я сейчас при работе с условиями уже установил неправильную связь компонентов, не по тем точкам. Пришлось экранной лупой пользоваться. Да и значок условия я кое-как там нашёл. Чуть отклонюсь от компьютера на спинку кресла - и УЖЕ почти ничего не вижу. И подсказки вообще там мелкие какие-то. Хорошо, что есть подробное описание некоторых свойств! Но что такое операнды не могу понять. Для условий я нашёл компонент "Вызов событий по условию". Вот там и есть операнды.
ОтветитьУдалитьА потоковое вещание тут поддерживается? Я просто целыми днями смотрю свой любимый телеканал "Союз" по Интернету, хочу для этого свою программу сделать, а ведь мне своими программами гораздо приятнее пользоваться, чем стандартными!
Операнд - это те данные, над которыми производится операция. В данном случае - операция сравнения. Например, можно указать там разные числа. Числа и являются операндами, которые сравниваются при вызове соответствующего метода.
ОтветитьУдалитьНасчёт потокового вещания - не знаю. Честно говоря, я даже форматом такого вещания не интересовался никогда. Может, на форуме hiasm.com Вам подскажут.
Ну а зрение беречь надо. Оно у нас одно :) Правда, сейчас неплохо лазерную хирургию делают. Я тоже скоро буду её делать. Удачи!
На форуме HiAsm не ответили, сказали, что эта тема уже обсуждалась, я её не нашёл, а мне даже ссылку не дали(((
ОтветитьУдалитьНа счёт хирургии. Тут не поможет, это от рождения, атрофия зрительных нервов. Но наука движется вперёд, может лет через 5-10 будут лечить атрофию зрительных нервов. Благодаря специальным упражнениям, за два года повседневного использования компьютера зрение сохраняется на том же уровне, в один момент были даже замечены небольшие улучшения! :)
Сейчас в HiAsm я составляю свою первую программу для развития интуиции. Там присутствует компонент "Случайное число". Но там я ещё хочу сделать так, чтобы при генерации случайного числа проверялось совпадение числа, введённого пользователем в текстовое поле, с числом, сгенерированным в одной из надписей. Если и то и другое число совпадает в точности, либо не совпадает, то в другой надписи должен быть подсчёт правильных ответов, а ещё в одной - неправильных. В общем, будет время - пишите на E-mail, Вы его уже знаете, скину Вам свою схему программы. А на форуме HiAsm после случая, описанного выше. Хочется, чтобы они там удалили мой аккаунт. Не хочу я с ними связываться.
Другой пример - форум dobroeslovo.ru, где все всегда нормально общаются. Но там я пока не видел таких, которые хорошо бы знали HiAsm. Хотя программисты там есть. Но это не форум программистов. Это самый лучший, интересный и полезный форум из тех, на которых я общаюсь.
Кстати, Вы мне писали код компонента поиска текста. А как вообще его вставить в поле HiAsm? Выделить, скопировать... А как потом вставить? Там же не текстовое поле, а поле со схемой, а схема - это вовсе не текст. Это на основе кода такой компонент надо делать что ли?
Вы мне ещё про защиту писали, что надёжной защиты не сделать. Я с Вами полностью согласен. Но всё равно хочется защитить программу, и именно средствами HiAsm, так как так будет удобнее по возможностям. Не хочется мне при защите использовать регистраторов софта типа softkey.ru. Я уже пишу свой собственный php-скрипт защиты, он очень простой, так как не использует MySQL.
А теперь насчёт условий ещё. Как сделать так, чтобы условия не сравнивались, а например происходило событие в зависимости от текста той или иной надписи или значения памяти: если текст надписи один, то выполнять одно действие, если другой - другое? Как так сделать?
ОтветитьУдалитьДа, это у них бывает :( Вещание звука из Интернета, возможно, можно реализовать, а вот компонентов для работы с видео в 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, на рабочем поле нажимаете правую кнопку мыши и жмёте "вставить". Потому что схему можно представить в виде такого вот текста. И наоборот. С поиском текста - точно так же.
А это - по поводу условий и событий.
ОтветитьУдалитьАдмин, Вы меня неправильно поняли. Случайное число генерируется после нажатия кнопки "Отгадать", а не при открытии программы. А до нажатия кнопки, естественно, пользователь не увидит случайное число. Теперь всё понятно?
ОтветитьУдалитьНу так и генерируйте число по событии OnEnter у поля ввода! Но перед этим данные из поля ввода следует запомнить в компоненте Memory, а потом уже сравнивать. В общем, Вам надо больше экспериментировать, смотреть примеры, которые прилагаются к HiAsm, тогда обязательно всё поймёте.
ОтветитьУдалитьРезультат я Вам на E-mail скинул. Ещё одну программу скинул, которую сделал в Алгоритме, но в HiAsm хочу переделать заново.
ОтветитьУдалитьЯ обнаружил, что скинул не сохранённую схему, извините.
ОтветитьУдалитьСкопируйте в поле 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)])
}
Вот моя программа.
Я посмотрел Вашу программу, Вам надо задействовать точку doRandomize. Делается это всего один раз при старте программы на любом компоненте Random. Если этого не сделать, то при каждом запуске программы будет всегда одна и та же последовательность "случайных" чисел.
ОтветитьУдалитьПодскажите пожалуйста, как здесь работать с FTP?
ОтветитьУдалитьЯ ещё что-то в папке с примерами HiAsm не могу найти пример по работе с главным меню. Где он находится? Или его там нет? А то ставлю объект Главное меню, изменяю там данные, а могу сделать только надписи сверху, и причём ещё когда настраиваю клик (что будет происходить при клике), то или иное событие происходит при клике на всех пунктах меню. Как это настроить - не знаю.
ОтветитьУдалитьhttp://hi-asm.blogspot.com/2009/10/blog-post_30.html
ОтветитьУдалитьВ статье сначала про HTTP рассказано, а ниже - про FTP.
Про меню: http://hi-asm.blogspot.com/2009/09/blog-post_19.html
ОтветитьУдалитьПлоховато я ещё понял, как работать с шаблоном интерфейса своей программы (статья - Программирование без компилятора).
ОтветитьУдалитьТут важно экспериментировать. И через это - понимать суть. Хотя данный пример - программирование без компилятора - не имеет такого большого значения для повседневной жизни программиста, как другие. Например, Вы можете сделать программу для SEO-анализа веб-страниц. В плане программирования это довольно просто - основные компоненты будут на вкладке "строки". Но тут нужно знать много по теме SEO. А программа такая очень полезна, потому что сейчас SEO - почти всё для сайтов.
ОтветитьУдалитьЯ делаю загрузчик файлов. Это такая программа, которая позволяет создавать свои мини-программы для закачки файлов из Интернета. Обновить свою мини-программу пользователь может без её повторного создания. Для этого, пользователю потребуется только изменить ссылки в специальных файлах на FTP-сервере своего сайта. Записывать туда можно будет только прямые ссылки, а не те, что с файлообменников Depositfiles, Letitbit и т.д. Программу я изначально делаю в Алгоритме, но её придётся "подкрепить" некоторыми компонентами (дополнительными EXE-файлами) в HiAsm, так как Алгоритм не поддерживает FTP-доступ, поддерживает только HTTP. И программирование без компилятора он тоже не поддерживает. Зато поддерживает Триал, что позволяет создавать свои Shareware-программы.
ОтветитьУдалитьПодскажите пожалуйста, как сделать так, чтобы можно было скачать сразу несколько файлов в HiAsm с помощью специального списка, из которого пользователь сможет выбрать файлы для скачивания?
ОтветитьУдалитьИ ещё я хотел бы сделать такую программу, которая бы проверяла ссылку на какой-нибудь сайт в каком-нибудь параметре реестра или txt-файла, а потом открывала её в каком-нибудь браузере, например IE или Google Chrome. Можно ли тут так сделать? Если да, то как?
ОтветитьУдалитьЧто касается списка файлов для скачивания, сначала надо решить, откуда Вы будете брать данные для него. Если это какой-то заранее определённый набор файлов, то просто берёте ListBox, вставляете в него пути к файлам на сервере, а затем пользователь будет по ним кликать, а программа должна обрабатывать нажатия и скачивать файл, на котором было нажатие. Если список файлов для скачивания находится в txt-файле на сервере, то предварительно можно скачать его (например, при запуске программы), а затем он должен загружаться в ListBox, откуда пользователь уже будет кликать.
ОтветитьУдалитьПо проверке ссылки на сайт: да, можно. На вкладке "Система" есть компонент Registry, который и работает с Реестром. Ну а с txt-файлом ещё проще. Важно только знать, какая строка содержит адрес. Например, если 1-я, то и извлекать надо 1-ю строку: сначала загружать файл в список строк (компонент на вкладке "Строки"), а потом с помощью ArrayRW (на вкладке "Массивы") извлекать строку под соответствующим номером.
Ну а далее после проверки ссылки я хочу открыть браузер Google Croome, Mozila Firefox или Internet Explorer (в общем, какой установлен для входа в интернет по умолчанию в системе), и в этом браузере программа должна в адресную строку сама прописать ссылку. А это как сделать?
ОтветитьУдалитьНу или просто программа создаст ярлык интернета (файл с расширением .url), откроет сайт, потом удалит ярлык.
ОтветитьУдалитьВ компонент WinExec ("Система") можно просто подать имя сайта (с http), и тогда браузер открывается автоматически.
ОтветитьУдалитьСпасибо за информацию!
ОтветитьУдалитьАдмин, привет!
ОтветитьУдалитьХоть и знаю, как доступ по FTP сделать, но я хочу это сделать через DLL, и так, чтобы имя пользователя, пароль и хост брались из отдельных TXT-файлов. Никак не могу это сделать! Можешь помочь?
И ещё: я случайно на панели свойств компонентов нажал на одну кнопку, и теперь эта панель как отдельное окно выглядит! А вернуть её в исходное состояние никак не могу. Как это сделать?
ОтветитьУдалитьHiAsm неуправляемый какой-то! Панелями и то невозможно управлять, не только компонентами! Странная программа какая-то.
Что-то я не могу у компонента для FTP-доступа такой точки, которая позволяет программно указать директорию. А мне это как-раз и нужно, а я не могу никак выполнить то, что мне надо! Вообще... В HiAsm есть всё, кроме нужного! Или тут может вообще такой точки нет?
ОтветитьУдалитьИтак, по порядку.
ОтветитьУдалить1. Насчёт DLL. Я не рекомендую делать dll в HiAsm, потому что работают они в программах не очень корректно. На последних версиях уже не проверял, но раньше тоже пробовал сделать, так несколько раз dll-ка может работать нормально, но на другой раз программа просто вылетает, и всё. DLL делается с помощью Файл - Новый - Windows DLL, а подключается в программу с помощью CallDLL или Usehidll со вкладки "Разное", но лучше все функции делать непосредственно в программе.
2. Загрузить логин и пароль из txt можно с помощью StrList, вкладка "Строки". Вынуть отдельную строку можно через массив. Но пароли опасно хранить в txt-файлах! Например, я в FileZilla не храню пароли: держу их в голове! Или записываю на бумажный носитель.
3. Чтобы вернуть паль обратно, надо вести её к краю HiAsm, пока контур не расположится по этому краю (т.е. прикрепится к нему). Тогда отпускать.
4. Точка Directory есть, для её вывода надо нажать на белый квадратик, который есть у аналогичного параметра компонента. Если белой точки нет, то надо отметить галочку: Сервис - Настройка - Интерфейс - Показа точек по св-вам (это в версии HiAsm 4.02 build 179).
Я хотел спросить. Как в HiAsm сделать программу которая блокирует клавиши: ALT , Ctrl .
ОтветитьУдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьРебят, а подскажите, как можно отправить строку в запускаемую программу? Мне необходимо запустить командную строку и отправить в нее команду Ping?
ОтветитьУдалитьМежду прочим, пример из справки:
Удалить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,[])
}