Page 14 of 14

Re: KolibriOS на производстве

Posted: Thu Sep 20, 2018 2:32 pm
by 0CodErr
zero00m, интересная тема.
her-znayet-kto wrote:QUOTE (her-znayet-kto @ Sep 18 2018, 07:59 PM)
как запустить едитбокс - с цифирками (числовой) -
возможно ли его запустить, не используя dll ?

... а использование dll, в свою очередь, одним только
едит-боксом может вывести всю асутп
из разряда открытокодовых (открытоисходниковых) ...
(в лучшем случае - заставит изучать - дополнительно - какой-то
еще язык программирования, что друзьям паяльника,
макетки, флюса и олова мягко говоря крайне нежелательно) ...
Как вариант, можно полностью вкомпилировать этот EditBox в своё приложение.
Код библиотеки box_lib http://websvn.kolibrios.org/listing.php ... 6adea61bbb
Вот тема про библиотеку на нашем форуме http://board.kolibrios.org/viewtopic.php?f=24&t=1220

Я попробовал переделать один из своих примеров Для сборки нужно:
  • FASM
    C--
    LD
    OBJCOPY
    KolibriOS.Lib
    — можно скачать из темы Delphi7 examples
Вот что я сделал дальше:
Добавил в editbox.asm нужные константы и флаги.
Взял необходимые файлы: Собирается вот так

Code: Select all

Set NAME=BuiltinEditBox
FASM editbox.asm
C-- %NAME%.c-- /w32 /sobj /COFF
LD -T LScript.x %NAME%.obj editbox.obj -o %NAME%.kex -L %KolibriOS% -l KolibriOS
OBJCOPY -O binary -j .all %NAME%.kex
Del %NAME%.obj
Pause
LScript.x — это линкер-скрипт для LD, вот его содержимое

Code: Select all

PATH_SIZE   = 1024;
PARAMS_SIZE =  256;
STACK_SIZE  = 1024;

AppParams   = $END + PATH_SIZE;
AppPath     = $END;

SECTIONS
{
  .all : AT(0){
    LONG(0x554e454D);
    LONG(0x31305445);
    LONG(1);
    LONG("Main");
    LONG(END);
    LONG($END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG($END + PATH_SIZE + PARAMS_SIZE + STACK_SIZE);
    LONG(AppParams);
    LONG(AppPath);
    *(.text)
    *(.rdata)
    *(.data)
    *(.codedat)
  }
END = .;
  .bss ALIGN(16) : {*(.bss)}
$END = .;
}
%KolibriOS% — это директория, содержащая KolibriOS.Lib.
В результате полученное приложение при запуске копирует параметры командной строки в EditBox
BuiltinEditBox.PNG
BuiltinEditBox.PNG (55.56 KiB)
Viewed 6106 times
Есть проблема: виснет при Ctrl+C\Ctrl+V\Ctrl+X.
Трудно сказать, из-за чего.
Можно попробовать собирать и вот так(link — линкер от Microsoft):

Code: Select all

Set NAME=BuiltinEditBox
FASM editbox.asm
C-- %NAME%.c-- /w32 /sobj
link -edit %NAME%.obj
LD -T LScript.x %NAME%.obj editbox.obj -o %NAME%.kex -L %KolibriOS% -l KolibriOS
OBJCOPY -O binary -j .all %NAME%.kex
Del %NAME%.obj
Pause
Но в результате LD вылетает с

Code: Select all

LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
LD: warning: BuiltinEditBox.obj: local symbol `-☺' has no section
edtbx.7z (17.5 KiB)
Downloaded 295 times

Re: KolibriOS на производстве

Posted: Sun Nov 10, 2019 8:38 am
by zero000m
Mario_r4 wrote:mov [by],bl
Всем чмоки в этом проекте! Засуньте эти 11 лет себе в жопу!
... лично я считаю, что если все работает - то лучше ничего
не трогать ...

Re: KolibriOS на производстве

Posted: Wed May 27, 2020 11:12 am
by zero0000m
..спасибо, буду строить график красным 252-ым символом

Ppro: запись в коос-15мая2020 на винчестер работает (мягко говоря)
нестандартным образом: вроде бы обычные асигн-рид-врайт - не получается ...
если создать в ppro\bin-директории 256-байтный файл кодировки, например
k256.dat и записывать в файл dan.dat байт b:=88 (допустим, равный 88-и),
то надо сделать так:
seek(fp,b);
read(fp,b1);
write(fp1,b1);

...