Автор |
Сообщение |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Victor__v писал(а): С примитивов DUP DROP и пр dup drop - здесь это команды виртуальной форт машины, их надо только пихнуть в словарь. Hishnik писал(а): Нужна тестовая задачка, на которой можно пробовать получившееся. Часть кода взял со своих разработок. Он путанный и странный. В java можно написать так Код: class myclass() { public int aa; //----------------------------- public myclass mc; }
и создавать классические цепные списки. Но сколько не смотрел исходники java программ, никто так не пишет. Вот и приходится создавать векторы - выглядят чудовищно, хотя вроде работают быстро. Вообще, это черновик - хочется быстрее получить цельную систему, а потом должна получится методичка по написанию и внедрению форта в программу на языке высокого уровня, что бы в ней писать скрипты. Даже мои предыдущие корявые эксперименты с псевдо-фортом более чем успешны.
[quote="Victor__v"] С примитивов DUP DROP и пр[/quote]
dup drop - здесь это команды виртуальной форт машины, их надо только пихнуть в словарь.
[quote="Hishnik"]Нужна тестовая задачка, на которой можно пробовать получившееся.[/quote] Часть кода взял со своих разработок. Он путанный и странный. В java можно написать так [code] class myclass() { public int aa; //----------------------------- public myclass mc; } [/code] и создавать классические цепные списки. Но сколько не смотрел исходники java программ, никто так не пишет. Вот и приходится создавать векторы - выглядят чудовищно, хотя вроде работают быстро. Вообще, это черновик - хочется быстрее получить цельную систему, а потом должна получится методичка по написанию и внедрению форта в программу на языке высокого уровня, что бы в ней писать скрипты. Даже мои предыдущие корявые эксперименты с псевдо-фортом более чем успешны.
|
|
|
 |
Добавлено: Сб ноя 10, 2018 01:50 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Нужна тестовая задачка, на которой можно пробовать получившееся.
Нужна тестовая задачка, на которой можно пробовать получившееся.
|
|
|
 |
Добавлено: Пт ноя 09, 2018 22:49 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Цитата: Теперь самая мутная часть, написание самого форта. Непонятно, с чего начинать, с каких-нибудь сервисных функций, или с чего-то еще.
С примитивов DUP DROP и пр
[quote] Теперь самая мутная часть, написание самого форта. Непонятно, с чего начинать, с каких-нибудь сервисных функций, или с чего-то еще. [/quote] С примитивов DUP DROP и пр
|
|
|
 |
Добавлено: Пт ноя 09, 2018 16:59 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Строки, черновой набросок. После того, как разобрались с вызовом функций и передачей параметров, реализовать нужную строковую функцию можно за пять минут. Код: void StringLib() { int nf = stack.pop(); // получение номера ф-ции int ind; // String str = null; switch (nf) { case 0 : // 0 - создать строку int sf = stack.pop(); // получение номера подфункции switch (sf) { case 7 : // создать копию строки, которая имеет индекс ind ind = stack.pop(); str = new String( (String) V.elementAt( ind ) ); stack.push( // положить елемент вектора со строкой на стек appendData( V, str) //добавление новой строки в вектор ); breake; case 11 : // создать строку другим способом breake; }//switch 2 breake; case 1 : // сравнить строки, равны - на стеке 0 // на стеке ind1, ind0 --> 0 если равны String s0 = (String) V.elementAt( stack.pop() ) ; String s1 = (String) V.elementAt( stack.pop() ) ; stack.push( s0.compareTo(s1) ); breake; ///-- другие функции .../// }//switch
}
Теперь самая мутная часть, написание самого форта. Непонятно, с чего начинать, с каких-нибудь сервисных функций, или с чего-то еще.
Строки, черновой набросок. После того, как разобрались с вызовом функций и передачей параметров, реализовать нужную строковую функцию можно за пять минут.
[code] void StringLib() { int nf = stack.pop(); // получение номера ф-ции int ind; // String str = null; switch (nf) { case 0 : // 0 - создать строку int sf = stack.pop(); // получение номера подфункции switch (sf) { case 7 : // создать копию строки, которая имеет индекс ind ind = stack.pop(); str = new String( (String) V.elementAt( ind ) ); stack.push( // положить елемент вектора со строкой на стек appendData( V, str) //добавление новой строки в вектор ); breake; case 11 : // создать строку другим способом breake; }//switch 2 breake; case 1 : // сравнить строки, равны - на стеке 0 // на стеке ind1, ind0 --> 0 если равны String s0 = (String) V.elementAt( stack.pop() ) ; String s1 = (String) V.elementAt( stack.pop() ) ; stack.push( s0.compareTo(s1) ); breake; ///-- другие функции .../// }//switch
} [/code]
Теперь самая мутная часть, написание самого форта. Непонятно, с чего начинать, с каких-нибудь сервисных функций, или с чего-то еще.
|
|
|
 |
Добавлено: Чт ноя 08, 2018 23:36 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Hishnik писал(а): vikt писал(а): Пусть работа с массивом байт осуществляется через 6 порт. 0 6 out можно обернуть в функцию, и все. Зачем какие-то порты? Это пока только виртуальная машина. Тут еще нет функций, словарей... Но обдумал на выходных. Возможно, каждому модулю, реализуемым на языке высокого уровня, добавлять реализацию словаря в фортовском стиле, где "экспортировать" нужные функции. Но это надо опробывать. Подозреваю, что все равно нужен будет какой-то код, реализующий вызов из инструкций ФВМ кода, реализуемого на языке высокого уровня. Вообще, готов принять любую идею, способствующую простоте, ясности разработки.
[quote="Hishnik"][quote="vikt"]Пусть работа с массивом байт осуществляется через 6 порт.[/quote] 0 6 out можно обернуть в функцию, и все. Зачем какие-то порты?[/quote]
Это пока только виртуальная машина. Тут еще нет функций, словарей... Но обдумал на выходных. Возможно, каждому модулю, реализуемым на языке высокого уровня, добавлять реализацию словаря в фортовском стиле, где "экспортировать" нужные функции. Но это надо опробывать. Подозреваю, что все равно нужен будет какой-то код, реализующий вызов из инструкций ФВМ кода, реализуемого на языке высокого уровня. Вообще, готов принять любую идею, способствующую простоте, ясности разработки.
|
|
|
 |
Добавлено: Вт окт 30, 2018 02:51 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
vikt писал(а): Пусть работа с массивом байт осуществляется через 6 порт. 0 6 out можно обернуть в функцию, и все. Зачем какие-то порты?
[quote="vikt"]Пусть работа с массивом байт осуществляется через 6 порт.[/quote] 0 6 out можно обернуть в функцию, и все. Зачем какие-то порты?
|
|
|
 |
Добавлено: Чт окт 25, 2018 00:56 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Работа с массивами. Пусть работа с массивом байт осуществляется через 6 порт. Пусть подфункции имеют следующие номера 0 - создание массива 1 - чтение элемента массива 2 - запись элемента массива 3 - удаление массива константы ind - индекс массива в векторе i - адрес элемента массива size - размер массива val - значение size 0 6 out \ создание массива размером size байт \ на стек возвращается ind i ind 1 6 out \ положить на стек значение из массива по адресу i val i ind 2 6 out \ поместить val в массив по адресу i ind 3 6 out \ удалить массив из вектора Код: private void callService(int number_port, int value) { вызывается во время записи в порт (out)
switch (number_port) { case 1 //---------------- breake; //----------------------------- case 5 : //5 порт //----------тут обработка вызова функций breake; //------------------------------------ case 6 : //6 порт switch(value) { case 0 : int sizeArray=stack.pop(); byte [] BB = new byte[sizeArray]; stack.push( appendData(V,BB) ); breake; case 1 : int ind = stack.pop(); int i = stack.pop(); int val =( (byte[]) V.elementAt( ind ) ) [i]; stack.push(val); breake; case 2 : ind = stack.pop(); i = stack.pop(); val = stack.pop(); ( (byte[]) V.elementAt( ind ) ) [i]=val; breake; case 3 : ind = stack.pop(); removeData (V , ind); breake; breake; //----------------------------------------- breake; }//switch }//callsevice
Завтра, если будет время, напишу работу со строками, затем можно начинать писать форт.
Работа с массивами. Пусть работа с массивом байт осуществляется через 6 порт. Пусть подфункции имеют следующие номера 0 - создание массива 1 - чтение элемента массива 2 - запись элемента массива 3 - удаление массива константы ind - индекс массива в векторе i - адрес элемента массива size - размер массива val - значение size 0 6 out \ создание массива размером size байт \ на стек возвращается ind i ind 1 6 out \ положить на стек значение из массива по адресу i val i ind 2 6 out \ поместить val в массив по адресу i ind 3 6 out \ удалить массив из вектора
[code] private void callService(int number_port, int value) { вызывается во время записи в порт (out)
switch (number_port) { case 1 //---------------- breake; //----------------------------- case 5 : //5 порт //----------тут обработка вызова функций breake; //------------------------------------ case 6 : //6 порт switch(value) { case 0 : int sizeArray=stack.pop(); byte [] BB = new byte[sizeArray]; stack.push( appendData(V,BB) ); breake; case 1 : int ind = stack.pop(); int i = stack.pop(); int val =( (byte[]) V.elementAt( ind ) ) [i]; stack.push(val); breake; case 2 : ind = stack.pop(); i = stack.pop(); val = stack.pop(); ( (byte[]) V.elementAt( ind ) ) [i]=val; breake; case 3 : ind = stack.pop(); removeData (V , ind); breake; breake; //----------------------------------------- breake; }//switch }//callsevice [/code] Завтра, если будет время, напишу работу со строками, затем можно начинать писать форт.
|
|
|
 |
Добавлено: Ср окт 24, 2018 02:02 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Вызов функции, написанной на java из виртуальной машины форта Пусть ф-ция на java использует в качестве параметров массив байт, строку и целое, и возвращает массив байт Код: byte [] funct( byte[] b, String s, int i) { byte[] ret=null; //-- реализация ф-ции return ret; } Пусть она привязана к пятому порту и имеет номер 10. пусть параметры на стеке расположенны следующим образом: На вершине: целое, указывающий на расположение массива байт в векторе. далее целое, указывающее на строку далее, просто целое тогда вызов функции на ява может быть написана так Код: private void callService(int number_port, int value) { вызывается во время записи в порт (out)
switch (number_port) { case 1 //---------------- breake; //----------------------------- case 5 : //5 порт switch(value) { case 1 : // --------------- breake; //--------------------------------------------------- case 10 : // наша функция stack.push( // индекс на масссив байт в векторе, который вернула наша ф-ция кладется на стек V.appendData( V, // возвращаемый функцией массив байт добавляется в вектор funct( (byte[]) V.elementAt( stack.pop() ) , // первый параметр (String) V.elementAt( stack.pop() ) , //второй stack.pop() //третий ) ) ); breake; //------------------------------------ }//switch //----------------------------------------- breake; }//switch }//callsevice
вызов ( стек для вызова ф-ции уже подготовлен. ) 10 5 out ( на стеке - индекс массива в векторе )
Вызов функции, написанной на java из виртуальной машины форта Пусть ф-ция на java использует в качестве параметров массив байт, строку и целое, и возвращает массив байт [code] byte [] funct( byte[] b, String s, int i) { byte[] ret=null; //-- реализация ф-ции return ret; }[/code] Пусть она привязана к пятому порту и имеет номер 10. пусть параметры на стеке расположенны следующим образом:
На вершине: целое, указывающий на расположение массива байт в векторе. далее целое, указывающее на строку далее, просто целое тогда вызов функции на ява может быть написана так [code] private void callService(int number_port, int value) { вызывается во время записи в порт (out)
switch (number_port) { case 1 //---------------- breake; //----------------------------- case 5 : //5 порт switch(value) { case 1 : // --------------- breake; //--------------------------------------------------- case 10 : // наша функция stack.push( // индекс на масссив байт в векторе, который вернула наша ф-ция кладется на стек V.appendData( V, // возвращаемый функцией массив байт добавляется в вектор funct( (byte[]) V.elementAt( stack.pop() ) , // первый параметр (String) V.elementAt( stack.pop() ) , //второй stack.pop() //третий ) ) ); breake; //------------------------------------ }//switch //----------------------------------------- breake; }//switch }//callsevice [/code] вызов ( стек для вызова ф-ции уже подготовлен. ) 10 5 out ( на стеке - индекс массива в векторе )
|
|
|
 |
Добавлено: Чт окт 04, 2018 01:47 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Продолжаю выкладывать черновой вариант форта. О работе с памятью и вызове процедур на языке высокого уровня. Именно тут, помимо стека и происходит взаимодействие виртуальной машины форта и программой, в которую ФВМ внедрена. Память может быть реализованна по разному, например с помощью связных списков. Тогда число, представляющее элемент из связанного списка будет физическим адресом этого элемента. Про добавление, удаление и прочего элементов связного списка информации полно. В java "память" можно реализовать так же с помощью вектора. Код: import java.utils.*; --------------
Vector V; public void initData(Vector V) { V=new Vector(); Integer I = new Integer(0); // тип Integer, это объектное представление типа int V.addElement(I); // чтобы его можно было положить в вектор } // начальный элемент вектора инициализируется 0
Объекты ( массивы, строки, структуры и тд ) добавляются в вектор Код: public int appendData(Vector v,Object obj) { Integer Ind=(Integer)v.elementAt(0); // получить значение начального элемента вектора как Integer int ind = Ind.intValue(); // преобразовать в нормальный int if ( ind == 0) { // если равен 0, то свободных элементов нет v.addElement(obj); // тогда добавляем объект к вектору ind=v.size()-1; } else { Integer I =( Integer)V.elementAt(ind); // иначе ind указывает на свободный элемент (СЭ) int i = I.intValue(); //там хранится предыдущий (СЭ) который получаем v.setElementAt(obj, ind); // Замещаем элемент вектора с номером ind объектом obj v.setElementAt(I, 0); // в начальный элемент вектора пишем предыдущий СЭ } return ind; // возвращаем индекс объекта в векторе }
удаление объектов из вектора Код: public void removeData (Vector v, int ind){ Integer IndOld=(Integer)v.elementAt(0); // получить знач 0 элемента v.setElementAt(IndOld, ind); // заместить им объект, который на удаление Integer IndNew = new Integer(ind); // преобразрвать ind в тип Integer v.setElementAt(IndNew, 0); // записать в начальный элемент вектора // 0 элемент указывает на новый }
из удаленых объектов образуется связный список Тут, если например, выделить сразу 1000 объектов, а затем сразу удалить, то размер вектора все равно останется равным 1000. Тут надо додумать и удалять крайний элемент получить тип объекта в виде строки Код: public String getTypeData( Vector v, int ind){ return v.elementAt(ind) . getClass().getName() ; }
тип "cтрока" вернет как "java.lang.String" массив целых как "[I" двухмерный массив "[[I" итд тут есть над чем подумать, возможно строку лучше парсировать и типы данных представлять числами. Функции на java могут использовать в качестве параметров элементы вектора, присвоить результат выполнения функции элементу вектора и вернуть этот элемент на стек или в порт. Форт ВМ может обращаться к вектору через порты, обработка записи и чтение портов индивидуально для каждой задачи. В следующей записи будут примеры работы со строками и массивами. После начну наконец то написание самого форта.
Продолжаю выкладывать черновой вариант форта.
О работе с памятью и вызове процедур на языке высокого уровня. Именно тут, помимо стека и происходит взаимодействие виртуальной машины форта и программой, в которую ФВМ внедрена. Память может быть реализованна по разному, например с помощью связных списков. Тогда число, представляющее элемент из связанного списка будет физическим адресом этого элемента. Про добавление, удаление и прочего элементов связного списка информации полно. В java "память" можно реализовать так же с помощью вектора.
[code]import java.utils.*; --------------
Vector V; public void initData(Vector V) { V=new Vector(); Integer I = new Integer(0); // тип Integer, это объектное представление типа int V.addElement(I); // чтобы его можно было положить в вектор } // начальный элемент вектора инициализируется 0 [/code]
Объекты ( массивы, строки, структуры и тд ) добавляются в вектор
[code] public int appendData(Vector v,Object obj) { Integer Ind=(Integer)v.elementAt(0); // получить значение начального элемента вектора как Integer int ind = Ind.intValue(); // преобразовать в нормальный int if ( ind == 0) { // если равен 0, то свободных элементов нет v.addElement(obj); // тогда добавляем объект к вектору ind=v.size()-1; } else { Integer I =( Integer)V.elementAt(ind); // иначе ind указывает на свободный элемент (СЭ) int i = I.intValue(); //там хранится предыдущий (СЭ) который получаем v.setElementAt(obj, ind); // Замещаем элемент вектора с номером ind объектом obj v.setElementAt(I, 0); // в начальный элемент вектора пишем предыдущий СЭ } return ind; // возвращаем индекс объекта в векторе } [/code]
удаление объектов из вектора [code] public void removeData (Vector v, int ind){ Integer IndOld=(Integer)v.elementAt(0); // получить знач 0 элемента v.setElementAt(IndOld, ind); // заместить им объект, который на удаление Integer IndNew = new Integer(ind); // преобразрвать ind в тип Integer v.setElementAt(IndNew, 0); // записать в начальный элемент вектора // 0 элемент указывает на новый } [/code] из удаленых объектов образуется связный список
Тут, если например, выделить сразу 1000 объектов, а затем сразу удалить, то размер вектора все равно останется равным 1000. Тут надо додумать и удалять крайний элемент
получить тип объекта в виде строки [code] public String getTypeData( Vector v, int ind){ return v.elementAt(ind) . getClass().getName() ; } [/code] тип "cтрока" вернет как "java.lang.String" массив целых как "[I" двухмерный массив "[[I" итд тут есть над чем подумать, возможно строку лучше парсировать и типы данных представлять числами.
Функции на java могут использовать в качестве параметров элементы вектора, присвоить результат выполнения функции элементу вектора и вернуть этот элемент на стек или в порт. Форт ВМ может обращаться к вектору через порты, обработка записи и чтение портов индивидуально для каждой задачи. В следующей записи будут примеры работы со строками и массивами. После начну наконец то написание самого форта.
|
|
|
 |
Добавлено: Вс сен 16, 2018 03:38 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
vikt писал(а): Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и использовать как go-pro. По использованию модуля, могу отвечать здесь, или по почте vikt-beliak@yandex.ruЯ ее практически так и использую. Выехать на пляж, нафотографировать девушек. Собачу на руль так https://toogeza.com/2013/07/29/6197только не затягивать сильно, что бы можно было переставить вот так  моя почта longerm9@gmail.com
[quote="vikt"]Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и использовать как go-pro. По использованию модуля, могу отвечать здесь, или по почте vikt-beliak@yandex.ru[/quote]
Я ее практически так и использую. Выехать на пляж, нафотографировать девушек. Собачу на руль так [url]https://toogeza.com/2013/07/29/6197[/url] только не затягивать сильно, что бы можно было переставить вот так [img]http://img24.rajce.idnes.cz/d2402/12/12833/12833229_4a1f7cf41f3974b0a1dd930516d41c51/images/shopping.jpg?ver=0[/img]
моя почта longerm9@gmail.com
|
|
|
 |
Добавлено: Вс ноя 05, 2017 01:03 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и использовать как go-pro. Понемногу начинаю выкладывать свою. Пока только класс, реализующий фотографирование, для ознакомления. http://vikt-beliak.narod.ru/save/myphoto.java Дело в том, что на нокии C3 не гаснет дисплей и соответственно жрет батарейки. В процессе решения проблемы, очень сильно испортил код, он практически не читаем. Сейчас упорно исправляю. Кроме того, хочу попробывать AMMS API для более тонкой работы с камерой http://developer.samsung.com/java/technical-docs/Advanced-Mutlimedia-Supplements-JSR-234 По использованию модуля, могу отвечать здесь, или по почте vikt-beliak@yandex.ru
Спасибо. Скомпилировал. Попробую присобачить телефон на руль велосипеда и использовать как go-pro.
Понемногу начинаю выкладывать свою. Пока только класс, реализующий фотографирование, для ознакомления. [url]http://vikt-beliak.narod.ru/save/myphoto.java[/url]
Дело в том, что на нокии C3 не гаснет дисплей и соответственно жрет батарейки. В процессе решения проблемы, очень сильно испортил код, он практически не читаем. Сейчас упорно исправляю.
Кроме того, хочу попробывать AMMS API для более тонкой работы с камерой [url]http://developer.samsung.com/java/technical-docs/Advanced-Mutlimedia-Supplements-JSR-234[/url]
По использованию модуля, могу отвечать здесь, или по почте vikt-beliak@yandex.ru
|
|
|
 |
Добавлено: Сб ноя 04, 2017 15:15 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
vikt писал(а): Исходный код скомпилировать не удалось,
Компилировал программу в AIDE http://www.android-ide.com/ AIDE устанавливается на андроид, на него копируются исходные тексты и компилируются. Тут наверно будет проще так. В AIDe создается новый проект. В каталог, в котором находится MainActivity.java копируются файлы из моего проекта. В этих файлах в строке package com.mycompany,,, заменяется на package <путь проекта>; также заменяется import <этот package>; Ничего сложного. Просто в AIDE кажется все работает по другому, чем в эклипс. Еще важно. В папке res/layout заменить файлы main.xml на мои файлы, которые находятся в соответствующей директории. Программу написал на основе кода http://startandroid.ru/ru/uroki/vse-uroki-spiskom/266-urok-133-kamera-delaem-snimok-i-pishem-video.htmlи официального api. Там много полезной информации.
[quote="vikt"] Исходный код скомпилировать не удалось, [/quote]
Компилировал программу в AIDE [url]http://www.android-ide.com/[/url] AIDE устанавливается на андроид, на него копируются исходные тексты и компилируются. Тут наверно будет проще так. В AIDe создается новый проект. В каталог, в котором находится MainActivity.java копируются файлы из моего проекта. В этих файлах в строке package com.mycompany,,, заменяется на package <путь проекта>; также заменяется import <этот package>; Ничего сложного. Просто в AIDE кажется все работает по другому, чем в эклипс. Еще важно. В папке res/layout заменить файлы main.xml на мои файлы, которые находятся в соответствующей директории.
Программу написал на основе кода [url]http://startandroid.ru/ru/uroki/vse-uroki-spiskom/266-urok-133-kamera-delaem-snimok-i-pishem-video.html[/url] и официального api. Там много полезной информации.
|
|
|
 |
Добавлено: Вт окт 31, 2017 12:33 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Здравствуйте! Спасибо за программу. Установилась и работает. Исходный код скомпилировать не удалось, пока я в программировании андроида новичок. С фотопрограммой для j2me у меня образовался бардак, разные телефоны используют разные encoding, у меня разные исходные тексты для nokia и sonyerrikson. Я ведь не думал, что буду публиковать. В телефонах установлены уже скомпилированные версии. Наведение порядка займет некоторое время. Но если нужно, то конечно выложу весь бардак. Еще могу выложить код модуля, который непосредственно осуществляет съемку он вполне отлажен.
Здравствуйте! Спасибо за программу. Установилась и работает. Исходный код скомпилировать не удалось, пока я в программировании андроида новичок. С фотопрограммой для j2me у меня образовался бардак, разные телефоны используют разные encoding, у меня разные исходные тексты для nokia и sonyerrikson. Я ведь не думал, что буду публиковать. В телефонах установлены уже скомпилированные версии. Наведение порядка займет некоторое время. Но если нужно, то конечно выложу весь бардак. Еще могу выложить код модуля, который непосредственно осуществляет съемку он вполне отлажен.
|
|
|
 |
Добавлено: Чт окт 26, 2017 22:05 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
Добрый день! Интересует фотографическая программа для j2me. У меня есть простая фотографическая программа для android с исходными текстами. http://lingerman.ucoz.net/uploads/camSnap2_2.7zС удовольствием буду отвечать на вопросы по программе и по исходным текстам, если кого-то заинтересует. Правда форум http://fforum.winglion.ru/ почему то блокирован в нашей деревне Роскомнадзором, приходится выходить через тор, который тоже работает не стабильно. Наверно какой-нибудь террористический сайт вертится на том же хостинге, что и форум. И да! Поддерживаю идею написать простую реализацию языка программирования.
Добрый день! Интересует фотографическая программа для j2me. У меня есть простая фотографическая программа для android с исходными текстами. [url]http://lingerman.ucoz.net/uploads/camSnap2_2.7z[/url]
С удовольствием буду отвечать на вопросы по программе и по исходным текстам, если кого-то заинтересует. Правда форум http://fforum.winglion.ru/ почему то блокирован в нашей деревне Роскомнадзором, приходится выходить через тор, который тоже работает не стабильно. Наверно какой-нибудь террористический сайт вертится на том же хостинге, что и форум. И да! Поддерживаю идею написать простую реализацию языка программирования.
|
|
|
 |
Добавлено: Ср окт 25, 2017 02:41 |
|
|
 |
|
|
Заголовок сообщения: |
Re: Блог программиста любителя |
 |
|
В принципе реализация стека и виртуальной машины достаточно для реализации форт системы. Достаточно сформировать массив с образом виртуальной памяти, и определить действия, которые будут выполняться при операциях с портами. Но это мало интересно. Вероятнее всего следующим делом надо реализовать построение словарной статьи. Так во всяком случае кажется, после прочтения статей, любезно выложенных gudleifr Но не нашел в компактном виде описания списка процедур, функций, переменных, которые зависят от структур данных статьи или которые записывают эти структуры.
В принципе реализация стека и виртуальной машины достаточно для реализации форт системы. Достаточно сформировать массив с образом виртуальной памяти, и определить действия, которые будут выполняться при операциях с портами. Но это мало интересно. Вероятнее всего следующим делом надо реализовать построение словарной статьи. Так во всяком случае кажется, после прочтения статей, любезно выложенных [b]gudleifr[/b] Но не нашел в компактном виде описания списка процедур, функций, переменных, которые зависят от структур данных статьи или которые записывают эти структуры.
|
|
|
 |
Добавлено: Ср окт 25, 2017 02:18 |
|
|
 |
|