Page 3 of 4

Re: рисовалка графиков

Posted: Sat Oct 25, 2008 7:39 pm
by Heavyiron
эта версия у меня почему-то вылетает сразу при запуске - на полсекунды появляется окно, и все (svn 875, QEMU 0.9.1)

Re: рисовалка графиков

Posted: Sun Oct 26, 2008 3:04 pm
by barsuk
Это я хотел сэкономить на области для параметров, а в результате затирался код. Интересно, что под KlbrInWin такого эффекта не было.

Re: рисовалка графиков

Posted: Sun Oct 26, 2008 5:24 pm
by Heavyiron
Вот теперь все ок. :) Спасибо.

Re: рисовалка графиков

Posted: Fri Sep 24, 2010 1:27 am
by IgorA
Заметил глюк в программе при работе с editbox-ом. Посмотрел в исходных кодах и обнаружил несовпадение структур, в программе (файл graph\use_library.h) :

Code: Select all

struct edit_box{
dword width, left, top, color, shift_color, focus_border_color, blur_border_color,
text_color, max, text, flags, size, pos, offset, cl_curs_x, cl_curs_y, shift, shift_old;
};
и в библиотеке box_lib :

Code: Select all

ed_struc_size=76
struc  edit_box width,left,top,color,shift_color,focus_border_color,\
       blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
{
.width dd width
.left dd left
.top dd top
.color dd color
.shift_color dd shift_color
.focus_border_color dd focus_border_color
.blur_border_color dd blur_border_color
.text_color dd text_color
.max dd max
.text dd text
.mouse_variable dd mouse_variable
.flags dd flags+0
.size dd size+0
.pos dd pos+0
.offset dd 0
.cl_curs_x dd 0
.cl_curs_y dd 0
.shift   dd 0
.shift_old   dd 0
}
Как видно в программе нет переменной mouse_variable
Еще в файле man.txt :
а) если заданы точки и требуется провести кусочно-линейную функцию
x1 y1 x2 y2 ; границы области построения
x y
x y ; значения
...

б) если задана функция
x1 y1 x2 y2 ; границы области построения
=формула
В программе границы области построения задаются не том порядке как указано, а вот так:

Code: Select all

x1 x2 y1 y2
Так как я с компилятором C++ на Колибри не работал, то перекомпиллировать и проверить правильность работы не могу.

Re: рисовалка графиков

Posted: Sun Oct 10, 2010 7:01 pm
by Albom
Добавил mouse_variable в структуру. Потестируйте...

Re: рисовалка графиков

Posted: Thu Aug 18, 2011 3:47 pm
by Mario
Баг - мусор при схлопывании окна (rolled up).

Как работать с построителем графиков Graph?

Posted: Sun Mar 02, 2014 12:26 pm
by ЕвгенийOdxfhjd
Итак, Я создал текстовый файл с расширением *.grf. В нём писал сначала обычное число, потом что-то вроде y=3, потом выражения сложнее. Но ничего не получилось, программа Graph ничего не нарисовала и выводит сообщение об ошибке. Как правильно пользоваться Graph'ом?

Re: Как работать с построителем графиков Graph?

Posted: Sun Mar 02, 2014 3:29 pm
by SoUrcerer
viewtopic.php?f=38&t=1059&hilit=graph
Попробуй такой файл, если коротко:
-3 3 -1 5
=1/(x*x)

Re: Как работать с построителем графиков Graph?

Posted: Sun Mar 02, 2014 5:43 pm
by punk_joker
Я бы попросил вас не плодить лишний раз темы, и отписываться в соответствующих уже существующих темах.
Перенёс ~SoUrcerer

Re: рисовалка графиков

Posted: Sun Mar 02, 2014 7:19 pm
by ЕвгенийOdxfhjd
Спасибо большое за ответ!
Прошу прощения, искал, но не догадался искать тему про графики функций в "Мультимедиа"...

Re: рисовалка графиков

Posted: Wed Mar 27, 2019 4:36 pm
by Leency
Я пробую перенести Graph на библиотеки программы Table, чтобы объеденить их.

У меня все компилируется нормально. Однако, при заливке на SVN получаю повторяющуюся ошибку http://builds.kolibrios.org/logs/svn7619-err.txt

Code: Select all

graph.obj : error LNK2001: unresolved external symbol _memset
Но в graph.cpp нигде неты вызова memset().
Что я делаю не так и почему линкер не находит функцию memset() которая вообще-то есть в исходниках?

Re: рисовалка графиков

Posted: Thu Mar 28, 2019 12:41 am
by dunkaist
Leency wrote:почему линкер не находит функцию memset() которая вообще-то есть в исходниках?
Linker doesn't read source code, it works with object files, i.e. it looks for _memset symbol in listed *.o files.
Leency wrote:Что я делаю не так
You try to link graph executable in graph_tablelib directory.

Code: Select all

link_msvc("graph")
I added compilation of *.asm files to corresponding *.o files in r7620. Can be safely removed like you did before if you don't plan to move mem*.asm to graph_tablelib.

Re: рисовалка графиков

Posted: Thu Mar 28, 2019 8:23 pm
by Leency
Table (our Excel app) compiles well when graph_tablelib doesn't want to.
There are no requests to memset() in graph_tablelib sources so I still don't get from where this request in graph.obj comes from.

Re: рисовалка графиков

Posted: Thu Mar 28, 2019 11:58 pm
by dunkaist
Linker complains about _memset, not memset.
I believe this is the case.

Re: рисовалка графиков

Posted: Tue Aug 30, 2022 5:44 pm
by Valery
В рамках темы viewtopic.php?t=4555 [Drop extra compilers]
начал работу по модификации приложения graph .
Основная цель - добится сборки при помощи gcc и binutils (например, kos32-gcc, kos32-ld, kos32-as).
Однако я ставлю большую задачу:
- переписать на С (в оригинале используется C++);
- добится сборки программы общими средствами и различными компиляторами: llvm/clang, OsDev gcc cross compiler, tcc cross compiler (kos32-gcc, kos32-ld, kos32-as, а также порт Tcc для KolibriOS я считаю специализированными средствами разработки - "заточенными" под KolibriOS).
- несколько усовершенисвовать программу: добится независимой работы graph от сторонних программ (редактора текста).

Планируемое время выполнение - 2 месяца с данного момента (примерно до 01.11.2022).

Пока работа находится на 1-й стадии - добиваюсь компиляции отдельных частей программы (выполнено где-то на 30% - 50%).
Пообочным результатом стали:
fpu.obj (498 Bytes)
Downloaded 52 times
,
sstr.obj (495 Bytes)
Downloaded 53 times
.
Но по поводу пообочных результатов я заведу вскоре отдельную тему (где и выложу исходный код).

P.S.
Я знаю о работе vitalkrilov с похожей целью, но
- его версию оказалось не так то просто скомпилировать при помощи другого компилятора;
- я не согласен с его решением, когда программа вызывается без параметров (оригинальное решение лучше).

Edit1 [04.09.2022]: Удалось собрать (clang и как C-программу) и даже запустить - выглядит похоже, и даже график рисует :)
Теперь остаётся исправить всё, что я недопонял в авторском тексте :?
Edit2 [05.09.2022]: OffTopic
Я всё время считал, что

Code: Select all

extern char *c;
и

Code: Select all

extern char c[];
синонимами.
Однако это не так и, если подразумевается что-то вроде

Code: Select all

char c[500];
То годен только последний вариант ... И в интернете отыскать объяснения не удалось ...
(Вот такой я дилетант в программировании :x )
Edit3: в автосборке скорее всего используется TCC вариант ибо в оригинальном имеется проблема с box_lib (передача одного аргумента через eax - принципиально ассемблерное соглашение о вызове)

Code: Select all

(хз ? послать : написать нормальную обёртку) box_lib.obj