Всем привет! Это моя первая работа, так что не судите строго ![]()
Это небольшой скрипт для шифровки введенных текстовых сообщений. Это пробная версия, так что чтение и запись в файл пока не реализованы ![]()
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Всем привет! Это моя первая работа, так что не судите строго ![]()
Это небольшой скрипт для шифровки введенных текстовых сообщений. Это пробная версия, так что чтение и запись в файл пока не реализованы ![]()
Список контактов наподобие как в айфон, разработчик некто 3DFreak, работает только с сенсорным экраном.
Как пример реализации объектного взаимодействия и создания GUI а-ля JAVA.
Для работы нужен сенсорный экран ![]()
В архиве исходники и пояснялка реализованных классов.
Скрипту не хватает: таблицы результатов, сохранения/загрузки.
P.S.
В итоге пришел к мысли, что интереснее делать взаимодействие через слоты-сокеты, а-ля Qt. Пока что написал часть аналога QtCore. Если кому-то интересно, могу выложить, но это отдельная тема для обсуждения.
Готов выложить на всеобщее обозрение несколько своих скриптов, выполняющих самые разные функции, но расчитанные, в основном, на сенсорный экран (у меня SE M600i). В целом, скрипты не компилированные, доступные не столь для использования, сколько для демонстрации возможностей достаточно интересного и простого языка mShell.
Добавлено: 2009-10-22 15:52:38
вычисление 100 чисел Фибоначчи; если отключить вывод во время вычисления, можно оценить скорость работы mShell'а ![]()
mmUpdater
Сайт модуля: http://projects.m-shell.ru/index.php?name=mmUpdater*
Этот модуль реализует проверку новых версий на http-сервере.
Реализован вне рамок какого-либо проекта, но его применение можно обнаружить в:
Формат файла с описанием версии. (кодиовка: utf-8)
<название программы>
<актуальная версия>
<пустая строка>
<описание версии>
<пустая строка>
<платформа> <ссылка для загрузки>
<то же можно еще несколько раз для разных платформ>
<платформа> <ссылка для загрузки>
<пустая строка>Скачать
исходники mmUpdater v1.00*
Сделал я все таки модуль верно скачивающий файлы, выкладываю на обозрение.
И встречно есть предложение. Кто помнит у меня была идея создать репазиторий, эта идея еще в силе. Прошу помочь мне в этом, так как один я не справлюсь, у меня кроме этой идей еще багажник идей на других языках :-]
use files, array
const TRASH_DIR = "E:\\trash-box\\"; // Папка для хранение файлов.
function scan(path, whosearch)
res = [];
path = path + "\\";
if index(lower(path), "system") = -1 and
index(lower(path), lower(..TRASH_DIR + whosearch + "\\")) = - 1 then
for f in files.scan(path + "*."+ whosearch) do
append(res, path + lower(f))
end;
for f in files.scan(path, files.dir) do
res = array.concat(res, scan(path + f, whosearch))
end
end;
return res
end
roots = files.roots();
array.remove(roots, len(roots) - 1)
for whosearch in files.scan(..TRASH_DIR, files.dir) do
print "." + whosearch + " ...";
trash = [];
count = 0;
for r in roots do
try
trash = array.concat(trash, scan(r, whosearch))
catch e by
print r + e
end;
end;
for file in trash do
try
files.copy(file, ..TRASH_DIR + whosearch + "\\");
files.delete(file);
count ++;
catch error by
print file + " not copied: " + error;
end;
end;
print count, "copied.", "All", len(trash) + ".";
end;Идея такая, в папке TRASH_DIR мы создаем папки которые будут означать расширения которые будут туда складываться.
Например в папке TRASH_DIR создадим папку txt, и запустим скрипт, все файлы с расширением txt будут сложены в эту папку, но при этом файлы в этой папке не будут в следующий раз обрабатываться. Так же этот скрипт не задевает системные файлы и файлы которые нельзя открыть.
Внимание: Оригинальные файлы удаляются.
Удобно если файлов одного типа стало очень много. Мне пригодилось для сортировки моей попойки на карте памяти.
Представляю вашему вниманию продвинутый wrap модуль для разбивки текста. Отличительные возможности:
1. Имеет несколько режимов разбивки текста.
2. Текст никогда не выходит за пределы экрана телефона.
3. Есть возможность выбора типа разбивки текста (посимвольно, построчно).
4. Разбиения текста для надписей, будет выводится одна строчка текста ровно указанного размера. Удобно для заголовков программ, а так же при создании меню, ведь если часть текста не влезет будет добавленно многоточие символизирующе то что текст еще продолжается.
Так же все обращения к модулю стандартизированны. То есть если у вас в проекте уже используется модуль разбиения текста вам не надо будет переписывать весь код для работы с этим модулем.
Примеры работы:
use wrap;
print wrap.wrap("О боже, этот текст не вмешается в экран, как жаль, что же мне делать?");
[О боже, этот текст не вмешается в,экран, как жаль, что же мне делать?]То есть на выходе мы получаем массив, с двумя строчками текста разбитыми ровно под разрешение экрана телефона.
mGroupLauncher
Сайт программы: http://projects.m-shell.ru/index.php?na upLauncher*
Эта программа позволяет объединять приложения в группы и запускать выбранную группу одним нажатием.
Скачать
исходники mGroupLauncher v1.00*
Не хватает скрипту
Грамотного построения списка приложений.
[ Сгенерировано за 3,033 секунд(ы), выполнено 5 запросов ]