Board.KolibriOS.org

Official KolibriOS board
It is currently Sun Aug 25, 2019 2:35 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 45 posts ]  Go to page 1 2 3 Next
Author Message
PostPosted: Thu Aug 31, 2017 2:52 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
More complex UASM + KolibriOS.lib example.

This rewritten app a bit more handy then original viewtopic.php?f=9&t=2122
At now you can insert path from OpenDialog into EditBox more than one times.

For example:
let you want to open /sys/settings/system.ini in /sys/develop/t_edit
    press Insert key (or button "...")
    select /sys/develop/t_edit
    press Space key
    press Ctrl + Insert key (or button "...")
    select /sys/settings/system.ini
    now in EditBox: /sys/develop/t_edit /sys/settings/system.ini
    press Enter (or button "run")
Spoiler: Show
Attachment:
Run.gif
Run.gif [ 59.32 KiB | Viewed 3110 times ]

The app has the following keyboard shortcuts:
  • Insert — just set path from OpenDialog to EditBox text(like in original version)
  • Ctrl + Insert — insert path from OpenDialog into EditBox at the current cursor position
  • Shift + Insert — always insert without quotes (cause some(actually many) programs do not understand quotation marks)
  • Ctrl + Shift + Insert — always insert without quotes path from OpenDialog into EditBox at the current cursor position
Attachment:
RUN.7z [5.66 KiB]
Downloaded 75 times

UASM can be downloaded here http://www.terraspace.co.uk/uasm.html
KolibriOS.lib can be found in Delphi7 examples topic


Top
   
PostPosted: Wed Sep 06, 2017 8:54 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Since revision #6953 this application uses in nightly builds.
But i don't know how to say to users about available hotkeys.
Maybe someone has a suggestions?


Top
   
PostPosted: Wed Sep 06, 2017 9:13 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Есть идея! Внизу под текстовым полем пустая область, куда можно написать: "Press F1 to get info about hotkeys" (или как-то так, англ у меня интермидиет не флюент).
При нажатии F1 вывести справку через @notify http://prntscr.com/ghwwv3

Кстати, у тебя в раннере не работает кописапст, в прошлом работало (хоть и криво - все затирало).

_________________
Через тернии к звездам


Top
   
PostPosted: Wed Sep 06, 2017 9:23 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Quote:
в прошлом работало (хоть и криво - все затирало).
А это не ко мне вопрос, а к тому, кто добавил такую возможность в EditBox. Моя программа сама copy\paste не делает и никогда не делала.
Quote:
Внизу под текстовым полем пустая область,
Но ведь туда выводится результат запуска программы.


Top
   
PostPosted: Wed Sep 06, 2017 9:27 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Когда ты только открыл там пусто. Добавь сообщение, юзер увидит. Он что даун чтобы не понять что делать. С момента открытия программы до запуска первой программы есть время.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed Sep 06, 2017 9:37 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
Когда ты только открыл там пусто.
Логично, в принципе.
Ну ОК, добавлю тогда туда.
Вопрос теперь в том, как бы лучше вывести инфо о hotkey-ях, чтобы покороче, но при этом было понятно. Или оставить как в первом сообщении?


Top
   
PostPosted: Wed Sep 06, 2017 10:09 pm 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Не понимаю различия всех этих хоткеев и не знаю кто будет это использовать.
Эта куча горячих клавиш напоминает мне Машину Голдберга (https://ru.wikipedia.org/wiki/%D0%9C%D0 ... 0%B3%D0%B0) больше чем реально полезный инструмент.

_________________
Через тернии к звездам


Top
   
PostPosted: Wed Sep 06, 2017 10:17 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
Понятия не имею
:) А это потому что ты сам не пользуешься KolibriOS.

Я примеры приводил уже. Чтобы не писать вручную путь, передаваемый в качестве параметра.
В KolibriOS почти все программы не понимают кавычки. Они должны делать UnQuote для параметров. Поэтому я добавил ещё и "Shift + Insert — always insert without quotes".
Так как я пользуюсь этим очень часто, то мне естественно лень писать постоянно параметры-пути вручную.
А я неоднократно говорил уже, что даже сами разработчики не используют KolibriOS.

Вообще, меня очень удивило, как можно не понять для чего это :lol:


Top
   
PostPosted: Thu Sep 07, 2017 1:17 am 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
не работает кописапст, в прошлом работало (хоть и криво - все затирало).
0CodErr wrote:
А это не ко мне вопрос, а к тому, кто добавил такую возможность в EditBox. Моя программа сама copy\paste не делает и никогда не делала.
А тут вообще интересная ситуация. Всё же copy\paste работает, но после вставки RUN начинает вести себя так, как будто зажат Ctrl. C чего бы?
То что, товарищ, добавивший copy\paste, сделал это криво, сомнений не вызывает.
А вот насчёт Ctrl, непонятно, где проблема?

Leency, вот код, который работает криво
http://websvn.kolibrios.org/filedetails ... m#line-362
http://websvn.kolibrios.org/filedetails ... m#line-395
Это работает в любом EditBox-е. Ты этого не замечал, так как ты не пользуешься этой OS.


Top
   
PostPosted: Thu Sep 07, 2017 3:04 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Да замечал я это, если ты думаешь, что реально написать 100500 программ для Колибри и не заметить, то нет.

Ошибся, у тебя тоже работает копипаст. Вопрос снят.

_________________
Через тернии к звездам


Top
   
PostPosted: Sat Sep 09, 2017 9:38 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Leency wrote:
Внизу под текстовым полем пустая область, куда можно написать: "Press F1 to get info about hotkeys"
Leency wrote:
Когда ты только открыл там пусто.
А может просто рядом с "Type name of program" добавить " or press F1 to show help"?

Как покороче написать сами подсказки, чтобы при этом понятно было?


Top
   
PostPosted: Sun Sep 10, 2017 12:16 am 
Offline
Designer
User avatar

Joined: Thu Jan 25, 2007 3:33 pm
Posts: 5054
Лучше внизу)

_________________
Через тернии к звездам


Top
   
PostPosted: Tue Sep 12, 2017 4:33 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Заметил, что если ввести в поле ввода слеш "/", то после нажатия "Run" пишет "Program run successfully", при этом в Process Manager никаких новых процессов не появляется.
Если же ввести в поле ввода два слеша "//", или три слеша "///", или точку со слешем "./", или вообще ничего не вводить, то всё как положено "File not found".


Top
   
PostPosted: Mon Sep 18, 2017 10:43 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Можно ли как-то проще детектировать нажатие Insert, чем сейчас?
Вот это место в коде программы RUN
Code:
            .If Key.Scan == KEY_SCAN_ENTER
              Invoke OnButtonRun
            ; need check Code cause numpad0.Scan = Insert.Scan
            .ElseIf (Key.Scan == KEY_SCAN_INSERT) && \
                    (Key.Code != KEY_CODE_0)
              Invoke OnButtonBrowse
            .Else
              Invoke EditBoxKey, Offset Edit1
            .EndIf
Дело в том, что нужно обрабатывать не только Insert, но и Ctrl+Insert, который даёт другой Key.Code.
Поэтому проверять Key.Code вместо Key.Scan — шило на мыло получается.


Top
   
PostPosted: Sat Sep 23, 2017 9:58 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1499
Сейчас программа имеет две версии: русскую и английскую.
Раньше программа была переведена также и на итальянский.

Товарищ fedesco, который переводил на итальянский, забыл перевести одну строку.
Я её перевёл онлайн-переводчиком.
Также добавил испанский перевод тоже с помощью онлайн-переводчика.
Думаю, что кто-нибудь переведёт более правильно.

Кажется, что было бы удобно, если для разных языков это будет собираться на SVN.
Для того, чтобы определять тот или иной язык сборки, надо как-то объявить определённое имя.

В UASM есть такой ключ:
Code:
-D<name>[=text]      Define text macro


В tup-файлах какие-то проблемы, чтобы сделать define, например, судя по http://websvn.kolibrios.org/filedetails ... upfile.lua

Хорошо, тогда, можно делать так
Code:
echo lang_en = 1 > lang.inc

и подключать этот файл с помощью ключа
Code:
-Fi<file_name>       Force <file_name> to be included

Для других языков:
Code:
echo lang_it = 1 > lang.inc
echo lang_ru = 1 > lang.inc
echo lang_sp = 1 > lang.inc
Сейчас у меня для каждого языка свой make_[??].bat

А в RUN.asm так:
Code:
IfDef     lang_it
...
ElseIfDef lang_sp
...
ElseIfDef lang_ru
...
ElseIfDef lang_en
...
Else
  .Err Language
EndIf
Можно будет залить на SVN исходный код как только появится возможность собрать программу на сервере.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 45 posts ]  Go to page 1 2 3 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited