Board.KolibriOS.org
http://board.kolibrios.org/

Помогите новичку
http://board.kolibrios.org/viewtopic.php?f=2&t=684
Page 57 of 75

Author:  0CodErr [ Sat Sep 21, 2013 8:01 pm ]
Post subject:  Re: Помогите новичку

У меня вопрос по поводу папок с именем "..".
Нормально ли их существование и возможность их создания, ведь большинство ФМ не хотят в них заходить:
Spoiler: Show
Attachment:
22.PNG
22.PNG [ 60.2 KiB | Viewed 1266 times ]

Author:  Mario_r4 [ Sat Sep 21, 2013 8:21 pm ]
Post subject:  Re: Помогите новичку

И правильно делают - не надо их создавать, обычно они уже есть и это выход на предыдущий уровень пути.

Author:  0CodErr [ Sat Sep 21, 2013 8:57 pm ]
Post subject:  Re: Помогите новичку

Mario_r4, я согласен, что это должен быть выход на предыдущий уровень.
Вот я зашёл на раздел XFS:
Spoiler: Show
Attachment:
11111.PNG
11111.PNG [ 22.03 KiB | Viewed 1254 times ]


UPD:

А вот Shell вылетела, хотя папка ".." там была:
Spoiler: Show
Attachment:
11111.PNG
11111.PNG [ 35.4 KiB | Viewed 1247 times ]

Author:  Mario_r4 [ Sat Sep 21, 2013 9:39 pm ]
Post subject:  Re: Помогите новичку

0CodErr wrote:
Вот я зашёл на раздел XFS:
Spoiler: Show
Attachment:
11111.PNG


Насчет XFS может быть и багом драйвера - все же новый неоттестированный полностью код.
0CodErr wrote:
А вот Shell вылетела, хотя папка ".." там была:
Spoiler: Show
Attachment:
11111.PNG


А вот тут было бы неплохо подробно описать весь процесс пошагово, а то я плохо понимаю при каких условиях получается.

Author:  0CodErr [ Sat Sep 21, 2013 9:52 pm ]
Post subject:  Re: Помогите новичку

Mario_r4 wrote:
А вот тут было бы неплохо подробно описать весь процесс пошагово
Ну я просто запустил Shell, написал там как на скриншоте "cd /rd/1/3d/.." и нажал Enter. Это было в VirtualBox.
А вот в Qemu, кажется, оно зависло:
Spoiler: Show
Attachment:
Q.PNG
Q.PNG [ 22.03 KiB | Viewed 1238 times ]

Author:  Albom [ Sat Sep 21, 2013 10:00 pm ]
Post subject:  Re: Помогите новичку

Что-то мне поведение Shell при работе с ФС после вчерашней правки не нравится...

0CodErr
Можешь проделать описанные тобой действия в Shell 0.6.2?

Author:  0CodErr [ Sat Sep 21, 2013 10:12 pm ]
Post subject:  Re: Помогите новичку

Проверил Shell 0.6.2 вместе с svn3921-img в VirtualBox:
Spoiler: Show
Attachment:
SH.PNG
SH.PNG [ 41.87 KiB | Viewed 1230 times ]

Author:  Albom [ Sat Sep 21, 2013 10:15 pm ]
Post subject:  Re: Помогите новичку

0CodErr
Спасибо!

Author:  punk_joker [ Sat Sep 21, 2013 10:38 pm ]
Post subject:  Re: Помогите новичку

0CodErr wrote:
Проверил Shell 0.6.2 вместе с svn3921-img в VirtualBox:
Spoiler: Show
Attachment:
SH.PNG

какова причина ошибки на скрине?

Author:  0CodErr [ Sat Sep 28, 2013 11:08 am ]
Post subject:  Re: Помогите новичку

Тут на картинке показано, как при перемещении окна Calc, не выходящего за пределы окна KPack, также перерисовывается Debugger, окно которого находится ниже окна KPack:
Spoiler: Show
Attachment:
1.gif
1.gif [ 106.36 KiB | Viewed 1185 times ]
Подобное происходит и с другими приложениями. Так ведь не должно быть?

Author:  Mario_r4 [ Sat Sep 28, 2013 3:28 pm ]
Post subject:  Re: Помогите новичку

0CodErr wrote:
Подобное происходит и с другими приложениями. Так ведь не должно быть?

Да, ты прав и нужно выяснить с какой ревизии это произошло.

Author:  Mario_r4 [ Sat Sep 28, 2013 7:50 pm ]
Post subject:  Re: Помогите новичку

0CodErr
Хотя я ошибся - это всегда так было. Алгоритм пересчета тупо заставляет перерисовываться все окна поверх которых произошло изменение. Не самый лучший вариант разумеется. На приложениях где вывод организован более рационально (к примеру, KFAR) этот эффект не заметен визуально, хотя окно перерисовывается так же как и у других приложений.

Author:  Mario_r4 [ Sun Sep 29, 2013 6:45 am ]
Post subject:  Re: Помогите новичку

0CodErr wrote:
Тут на картинке показано, как при перемещении окна Calc, не выходящего за пределы окна KPack, также перерисовывается Debugger, окно которого находится ниже окна KPack:
Spoiler: Show
Attachment:
1.gif
Подобное происходит и с другими приложениями. Так ведь не должно быть?

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

Author:  dunkaist [ Sun Sep 29, 2013 4:11 pm ]
Post subject:  Re: Помогите новичку

0CodErr wrote:
Mario_r4, я согласен, что это должен быть выход на предыдущий уровень.
Вот я зашёл на раздел XFS:
Spoiler: Show
Attachment:
11111.PNG

Вот я зашёл на раздел XFS в линуксе:
Code:
[dunkaist@ddesk ~]$ cd /
[dunkaist@ddesk /]$ ls
bin  boot  dev   etc  home  lib   lib64  mnt  opt  proc  root  run  sbin   srv  sys  tmp  usr  var
[dunkaist@ddesk /]$ cd ..
[dunkaist@ddesk /]$ ls
bin  boot  dev   etc  home  lib   lib64  mnt  opt  proc  root  run  sbin   srv  sys  tmp  usr  var
[dunkaist@ddesk /]$ cd ../../../../../././././././../../..
[dunkaist@ddesk /]$ ls
bin  boot  dev   etc  home  lib   lib64  mnt  opt  proc  root  run  sbin   srv  sys  tmp  usr  var

Т.е. по факту поддиректории '.' и '..' есть в каждой директории, включая корневую. Только в корневой '..' указывает на себя.
В колибри '..' и '.' в корне не разрешены, как ты цитировал документацию в теме XFS. Это не самая страшная проблема с XFS на сегодня, но я буду иметь в виду.

На мой взгляд, запрет как минимум '.' директории в корне излишен. Корень ведь существует. Но пока есть хоть какая-то документация, буду стараться ей следовать.

Author:  0CodErr [ Mon Oct 07, 2013 9:39 pm ]
Post subject:  Re: Помогите новичку

Запустил сейчас снова тот свой код viewtopic.php?p=44424#p44424
Но теперь вместо «файл не найден» возвращается «успешно».
Ради интереса попробовал ещё другие пути(со слэшами и без) — тоже всегда «успешно».
Вот изменённый исходник:
Spoiler: Show
Code:
ORG 0
BITS 32
; ---------------------------------------------------------------------------- ;
STACK_SIZE         equ 256
; ---------------------------------------------------------------------------- ;
MENUET01           db 'MENUET01'
version            dd 1
program.start      dd start_
program.end        dd end_
program.memory     dd end_ + STACK_SIZE
program.stack      dd end_ + STACK_SIZE
program.params     dd 0
program.path       dd 0
; ---------------------------------------------------------------------------- ;
start_:
        call   on_redraw
wait.event:
        mov    eax, 10
        int    64
        cmp    eax, 1
        jne    key?
        call   on_redraw
        jmp    wait.event
key?:
        cmp    eax, 2
        jne    program.terminate
        ; get.key.code
        ; mov eax, 2
        int    64
        jmp    wait.event
program.terminate:
        or     eax, -1
        int    64
on_redraw:
; redraw.start
        mov    eax, 12
        mov    ebx, 1
        int    64
; draw.window
        xor    eax, eax
        mov    ebx, 444
        mov    ecx, 444
        mov    edx, 33CCDDEEh
        xor    edi, edi
        int    64

        mov    edi, (FolderNames.end - FolderNames) / 4
; ---------------------------------------------------------------------------- ;
next:
        mov    eax, [edi * 4 + FolderNames - 4]
        mov    [read.file_info.Folder], eax
; read.folder
        mov    eax, 70
        mov    ebx, read.file_info
        int    64
; draw.text
        mov    edx, [eax * 4 + errors]
        mov    eax, 4
        lea    ebx, [edi * 4 + edi]
        shl    ebx, 1
        add    ebx, (80 + 10) << 16
        mov    ecx, 90090900h
        int    64
; draw.text
        mov    edx, [edi * 4 + FolderNames - 4]
        sub    ebx, 80 << 16
        int    64

        dec    edi
        jnz    next
; ---------------------------------------------------------------------------- ;
; redraw.finish
        mov    eax, 12
        mov    ebx, 2
        int    64
        ret
; ---------------------------------------------------------------------------- ;
read.file_info:
        dd      1
        dd      0
        dd      0
        dd      0
        dd      .buffer
        db      0
.Folder dd      0
.buffer resb    32
; ---------------------------------------------------------------------------- ;
FolderNames:
        dd     .0
        dd     .1
        dd     .2
        dd     .3
        dd     .4
        dd     .5
        dd     .6
        dd     .7
        dd     .8
        dd     .9
        dd     .10
        dd     .11
        dd     .12
        dd     .13
        dd     .14
        dd     .15
        dd     .16
        dd     .17
        dd     .18
        dd     .19
        dd     .20
        dd     .21
        dd     .22
        dd     .23
.end:
; ---------------------------------------------------------------------------- ;
.0      db     "",0
.1      db     "/",0
.2      db     "/bd0",0
.3      db     "/bd0/",0
.4      db     "/bd0/1",0
.5      db     "/bd0/1/",0
.6      db     "/hd0",0
.7      db     "/hd0/",0
.8      db     "/hd0/1",0
.9      db     "/hd0/1/",0
.10     db     "/cd2",0
.11     db     "/cd2/",0
.12     db     "/cd2/1",0
.13     db     "/cd2/1/",0
.14     db     "/rd",0
.15     db     "/rd/",0
.16     db     "/rd/1",0
.17     db     "/rd/1/",0
.18     db     "/tmp1",0
.19     db     "/tmp1/",0
.20     db     "/tmp1/1",0
.21     db     "/tmp1/1/",0
.22     db     "/sys",0
.23     db     "/sys/",0
; ---------------------------------------------------------------------------- ;
errors:
        dd     .0
        dd     .1
        dd     .2
        dd     .3
        dd     .4
        dd     .5
        dd     .6
        dd     .7
        dd     .8
        dd     .9
        dd     .10
        dd     .11
; ---------------------------------------------------------------------------- ;
.0      db     "0 = успешно",0
.1      db     "1 = не определена база и/или раздел жёсткого диска" ,0
.2      db     "2 = функция не поддерживается для данной файловой системы",0
.3      db     "3 = неизвестная файловая система",0
.4      db     "4 = зарезервировано, никогда не возвращается в текущей реализации",0
.5      db     "5 = файл не найден",0
.6      db     "6 = файл закончился",0
.7      db     "7 = указатель вне памяти приложения",0
.8      db     "8 = диск заполнен",0
.9      db     "9 = таблица FAT разрушена",0
.10     db     "10 = доступ запрещён",0
.11     db     "11 = ошибка устройства",0
; ---------------------------------------------------------------------------- ;
end_:
Что, интересно, изменилось с того времени?

Page 57 of 75 All times are UTC+03:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/