Board.KolibriOS.org

Official KolibriOS board
It is currently Wed Jan 27, 2021 1:02 pm

All times are UTC+03:00




Post new topic  Reply to topic  [ 166 posts ]  Go to page Previous 15 6 7 8 912 Next
Author Message
 Post subject: Re: Начинающий
PostPosted: Wed Nov 21, 2012 4:40 pm 
Offline
User avatar

Joined: Mon Oct 27, 2008 10:10 pm
Posts: 891
GerdtR wrote:
Пока интересует функции OpenDialog в proc_lib. Я так понял это для появления окна открытия файла.

можно тут посмотреть http://wiki.kolibrios.org/wiki/OpenDialog/ru


Top
   
 Post subject: Re: Начинающий
PostPosted: Wed Nov 21, 2012 5:03 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 459
Спасибо. Я ещё нашел пояснялки в исходниках:) Сразу не додумался посмотреть. Осталось только исходники обновить. А то у меня ещё с 0.7.7.0.

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: Начинающий
PostPosted: Wed Nov 21, 2012 10:52 pm 
Offline
Kernel Developer
User avatar

Joined: Thu Sep 03, 2009 1:52 pm
Posts: 1625
dev64, судя по приведённому посту, вторая ссылка неверная, поскольку ведёт на код возможного загрузочного сектора. Правильная ссылка - на kernel/trunk/kernel.asm, примерно с начала до первой команды jmp osloop, но там далеко не только начальная загрузка. Менее конкретных ссылок нет. Конкретные вопросы по устройству ядра - более конкретные, чем "как грузится система?" - можно задавать отдельно. Например, вот тут были достаточно конкретные вопросы, и на них были конкретные ответы.

_________________
Сделаем мир лучше!


Top
   
 Post subject: Re: Начинающий
PostPosted: Thu Nov 22, 2012 7:13 pm 
Offline

Joined: Sat Nov 17, 2012 5:58 pm
Posts: 3
CleverMouse, спасибо за ссылочки, особенно внутри форума. Ядро уже слегка смотрел. Код оно конечно что ж, код оно неплохо тож :) Но без RиTFM-а далеко не уплывешь :)


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 10:47 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 459
И опять вопрос:) Моя программка должна читать внешний файл, но дело в том, что это файл лежит там же где и прога, а где лежит прога не известно. Надо как-то узнать, где лежит прога. Как?

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 10:50 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Можно просто открывать файл по имени, без указания пути - должно сработать.


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:07 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 459
Не-а. По умолчанию каталог /rd/1. Он там его и ищет. А моя прога пока не настолько разработана, что бы её в дистрибутив добавлять:)

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:28 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Программа на ассемблере?


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:30 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 599
Когда-то в змейке делал так. В заголовке программы есть поле для указателя на абсолютный путь запущенного бинарника. Если в общих словах, то нужно делать так:
Code:
mov  edi, cur_dir_path
xor  eax,  eax
mov  ecx, 4096
repne scasb
mov al, '/'
neg ecx
add ecx, 4096
std
repne scasb
cld
mov  dword[edi+2],    'file'
mov  dword[edi+6],    'name'

Это, скорее, псевдокод. На веру принимать не стоит. Для понимания следует спокойно разобраться с цепочечными командами и флагом направления (direction flag) по какой-нибудь книжке. Например, по Юрову.


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:33 pm 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Для 70й функции:
Quote:
Также функция поддерживает относительные имена. Если путь начинается не с '/', то он считается относительно текущей папки. Получить или установить текущую папку можно с помощью сисфункции 30.


Далее. Посмотри внимательно на заголовок программы - MENUET01 и так далее. Последний параметр - это указатель на путь, откуда запущена программа.


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:45 pm 
Offline

Joined: Sun Oct 30, 2011 6:43 pm
Posts: 1498
Code:
  db     'MENUET01'  ; 8-байтный идентификатор MenuetOS
  dd     0x01        ; версия заголовка (всегда 1)
  dd     START       ; адрес первой команды
  dd     I_END       ; размер программы
  dd     0x1000      ; количество памяти
  dd     0x1000      ; адрес вершины стэка
  dd     0x0         ; адрес буфера для параметров
  dd     path; <---------------адрес буфера для пути
;...................................
 path: rb 1024 ; после запуска программы в этом буфере будет путь


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:47 pm 
Offline
Mentor
User avatar

Joined: Mon Oct 19, 2009 10:58 am
Posts: 599
Век живи -- век учись. Я помнил, что такое как-то возможно, но сходу не нашёл. А готовый костылик подкинуть всегда проще.


Top
   
 Post subject: Re: Начинающий
PostPosted: Sun Nov 25, 2012 11:50 pm 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 459
Спасибо. У меня просто не было современных описаний заголовка:( Ах да. Чуть не забыл. SoUrcerer, программа на асме. Прямо в Колибри пишу:)

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: Начинающий
PostPosted: Fri Nov 30, 2012 1:02 am 
Offline
User avatar

Joined: Mon Nov 19, 2012 5:22 pm
Posts: 459
Вопрос: можно ли считывать текст с чужого окна. Хотя бы с Tinypad'а?

_________________
Чем больше сыра, тем больше в нём дыр. Чем больше дыр, тем меньше в нём собственно сыра. Значит, чем больше сыра, тем меньше сыра!


Top
   
 Post subject: Re: Начинающий
PostPosted: Fri Nov 30, 2012 1:13 am 
Offline

Joined: Mon Sep 24, 2007 11:11 am
Posts: 2810
Можно получить копию экрана. Текст после вывода на экран становится растровым изображением, превратить растровое изображение обратно в текст затруднительно (хотя я делал это даже в Колибри, не помню, выкладывал или нет OCR).


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 166 posts ]  Go to page Previous 15 6 7 8 912 Next

All times are UTC+03:00


Who is online

Users browsing this forum: No registered users and 3 guests


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:  
Powered by phpBB® Forum Software © phpBB Limited