Board.KolibriOS.org

Официальный форум KolibriOS
Текущее время: Вс июл 23, 2017 5:53 pm

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 170 сообщений ]  На страницу Пред. 18 9 10 11 12 След.
Автор Сообщение
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт янв 23, 2014 10:49 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Shell 0.7.4

Добавил буфер обмена. Пока что тестовая версия.
Ctrl+C - копирует строку целиком.
Ctrl+V - вставляет строку целиком.

Между окнами Shell работает нормально.
Из tinypad копируется с дополнительными символами (перевод строки и возврат каретки), вставка в tinypad приводит к его падению.
Из t_edit не копируется, вставка происходит нормально.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вт янв 28, 2014 3:03 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Пн окт 27, 2008 10:10 pm
Сообщения: 740
Albom писал(а):
Из t_edit не копируется, вставка происходит нормально.

После ревизии 4542 уже копируется. Не правильно определялся размер буфера в t_edit при копировании.


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Пт янв 31, 2014 2:18 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Albom писал(а):
Из tinypad копируется с дополнительными символами (перевод строки и возврат каретки), вставка в tinypad приводит к его падению.

Исправлено в SVN r.4552.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Пт янв 31, 2014 2:36 am 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
IgorA, Mario_r4
Спасибо!


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Пт янв 31, 2014 2:45 am 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Albom
На всякий случай, вдруг у тебя не учтено, если встретился 0, до указанного в начале ожидаемого размера, то это безусловный конец текста. Думаю нужно учесть этот вариант в коде.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт фев 27, 2014 1:54 pm 
Не в сети
Kernel Developer

Зарегистрирован: Вс фев 10, 2013 12:37 pm
Сообщения: 2329
Как я и предупреждал, ревизия 4588 сломала ввод в Shell. Вероятно не учтено что то описанное в документации ф.2. Например, проверка EAX или AX, вместо того чтобы проверять AH и AL, а может еще что-нибудь.

_________________
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт фев 27, 2014 7:20 pm 
Не в сети
Mentor
Аватара пользователя

Зарегистрирован: Вт янв 15, 2008 11:27 am
Сообщения: 750
Mario_r4 писал(а):
Как я и предупреждал, ревизия 4588 сломала ввод в Shell. Вероятно не учтено что то описанное в документации ф.2. Например, проверка EAX или AX, вместо того чтобы проверять AH и AL, а может еще что-нибудь.

Буду починять.


UPDATED
* fixed in r4600


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб мар 29, 2014 2:53 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Есть у меня пара идеи касательно Shell:
1) Переписать интерпретатор в библиотеку. Это позволит использовать его в других приложениях (например в job), не создавая файла, т.е. прямо в коде.
Пример реализации обмена информации между шелом и программой:
Есть структура:
Код:
struct ShellSession
   CurrentDir    dd ?
   InputBuffer    dd ?
   OutputBuffer dd ?
ends

В CurrentDir находится ссылка на строку с текущей папкой, в InputBuffer ссылка на строку с вводом, а в OutputBuffer ссылка на буфер, в которой будет результат команды.
К примеру
Код:
command1:
   db "mkdir test", 0
command2:
   db "echo Hello", 0
   
output:
   rb 1024
   
ShellSession term

; ...

mov [term.OutputBuffer], output

mov [term.InputBuffer], command1
invoke shell.do, term

mov [term.InputBuffer], command2
invoke shell.do, term
; в output находится "Hello", 0


2) Новая команда: waitall. Она будет ждать, пока закроются все открытые приложения из текущей сессии. То есть строка "Уведомление закрыто" будет выведена только после того, как приложение закроется:
Код:
echo Открываю уведомление
notify Hello
waitall
echo Уведомление закрыто


Вот и все идеи.


Последний раз редактировалось e-andrew Пн мар 31, 2014 6:42 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб мар 29, 2014 6:22 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 529
Не знал где добавить данное предложение.
Запустил Demo Web шар-паутинку под VirtualBox на буке под Ubuntu и не смог закрыть (может нонсенс)
и предлагаю диспетчер задач добавить в меню "левой границы окна".

P.S. Запустил CPU-ID под вохом и процессор определился правильно и тактовые частоты, а размер кеш не определился :)
VirualBox под Ubuntu и ещё не понял как под Ubuntu добавить в Grub загрузку с флеш т.к. с Ubuntu плотно не "общался"


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб мар 29, 2014 6:57 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
Цитата:
размер кеш не определился


В 2009 году инженеры Интела почесали левой пяткой грудь и решили ввести новые способы узнать информацию о кешах - вызовы cpuid c 04h и с 80000006h http://www.microbe.cz/docs/CPUID.pdf , что естественно пока не реализовано - я тогда уходил (последняя версия описания cpuid в списке всех функций тут http://www.intel.es/content/dam/www/pub ... manual.pdf )


Последний раз редактировалось Wildwest Сб мар 29, 2014 8:22 pm, всего редактировалось 1 раз.

Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб мар 29, 2014 7:27 pm 
Не в сети

Зарегистрирован: Пн мар 27, 2006 6:33 am
Сообщения: 529
Wildwest писал(а):
то естественно пока не реализовано )

B Kolibri in Win CPU-ID тоже определяет процессор, но вроде есть какие то неувязки


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Сб мар 29, 2014 8:25 pm 
Не в сети

Зарегистрирован: Ср май 18, 2005 7:27 pm
Сообщения: 1001
Если есть время, то в ту тему viewtopic.php?f=42&t=594&start=75 кинь скрины от CPU-Z и от моей cpuid


Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Вс мар 30, 2014 10:55 pm 
Не в сети
Аватара пользователя

Зарегистрирован: Сб окт 05, 2013 9:32 pm
Сообщения: 385
Пока просто выложу, что получилось, потом опишу каждую процедуру/макрос подробно.


Вложения:
shell.inc [7.95 КБ]
40 скачиваний
examples.7z [695 байт]
37 скачиваний
Вернуться к началу
 Заголовок сообщения: Re: Очень функциональный шелл
СообщениеДобавлено: Чт окт 30, 2014 1:24 am 
Не в сети

Зарегистрирован: Вт апр 12, 2011 11:19 pm
Сообщения: 1060
Баги: некорректная работа команд ls и echo без параметров. ls без параметров просто выдает ошибку, а echo выводит на экран pecho (можно наблюдать в ночных сборках)

_________________
я лишь учусь


Вернуться к началу
 Заголовок сообщения: Re: Система сборки Tup
СообщениеДобавлено: Сб ноя 29, 2014 8:37 am 
Не в сети
Kernel Developer

Зарегистрирован: Ср мар 08, 2006 6:25 pm
Сообщения: 3927
Переход на Tup поломал Shell.
Сборка #5095 работает, а #5100 нет


Вложения:
shell.png
shell.png [ 1.94 КБ | 805 просмотров ]
Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 170 сообщений ]  На страницу Пред. 18 9 10 11 12 След.

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


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

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB