10.01.2015 / 19:29 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| aNNiMON, уверен, что виноват с READDIR я. Потому что когда я код исправлял - смешивались версии 1.9.1 от разработчика и 1.8.6 от Мумея и остальных. Ну в общем может быть что я особо об работоспособности метода не подумал, а тупо скопировал кусок из одного и кусок из другого кода(потому что в 1.9.1 от Дэвида не было доступа к ФС, если знаете). Вот вам подсказка. Просто, если париться неохота, декомпильните бейсик 1.8.6 и затолкайте туда тот набор символов, который был в этом методе изначально. А с float нужна отладка, я не знаю что там.
Изменено kiriman (10.01 / 19:30) (всего 2 раза) |
11.01.2015 / 06:49 | |
garfild63 Пользователь Сейчас: Offline
Имя: Антон Откуда: Новороссийск Регистрация: 26.08.2014
| kiriman, Я узнал, что с VAL, прикинь декомпилил сейчас mobilebasic/a.class и узнал, что в нем, там, где находится кейс tokVAL, написано кода намного меньше, чем в исходнике :/
|
11.01.2015 / 09:46 | |
kiriman Пользователь Сейчас: Offline
Имя: Кирилл Откуда: Красноярск Регистрация: 18.01.2010
| garfild63, офигеть, не может быть! Ты можешь не смотреть, не поймешь. |
11.01.2015 / 10:04 | |
aNNiMON Супервизор Сейчас: Offline
Имя: Витёк Регистрация: 11.01.2010
| garfild63, так а что с Val? Так и не сказал.
__________________
let live |
11.01.2015 / 15:26 | |
garfild63 Пользователь Сейчас: Offline
Имя: Антон Откуда: Новороссийск Регистрация: 26.08.2014
| aNNiMON, В a.class написано, чтобы бейсик сразу переводил в integer, и не написано условия, при котором переводить во float.
|
20.01.2015 / 07:06 | |
garfild63 Пользователь Сейчас: Offline
Имя: Антон Откуда: Новороссийск Регистрация: 26.08.2014
| Чего в readdir kiriman'а не хватает? Открыть спойлер Закрыть спойлер 1 из 2 | Презентация |
Это что написано о readdir у kiriman'а:
public Enumeration Directory(String filter) {
String[] filenames = null;
Vector v = new Vector();
if (filter.startsWith("file://")) {
int index = filter.lastIndexOf(47);
String path = filter.substring(0, index + 1);
filter = filter.substring(index + 1);
try {
FileConnection fc = (FileConnection) Connector.open(path, Connector.READ);
if (path.length() == 0) {
Enumeration e = FileSystemRegistry.listRoots();
while (e.hasMoreElements()) {
v.addElement(e.nextElement());
}
} else {
Enumeration e = null;
try {
e = fc.list();
} catch (IOException ex) {
ex.printStackTrace();
}
while (e.hasMoreElements()) {
v.addElement(e.nextElement());
}
fc.close();
int size = v.size();
filenames = new String[size];
for (int i = 0; i < size; ++i) {
filenames[i] = (String) v.elementAt(i);
}
}
} catch (IOException ex) {
}
} else {
filenames = RecordStore.listRecordStores();
}
v = null;
Enumeration elements = null;
if (filenames != null) {
int len = filenames.length;
for (int i = 0; i < len; ++i) {
String filename;
if ((filename = filenames[i]).charAt(0) != '.') {
boolean match = true;
char filterCh = 0;
int fOffset = 0;
for (int j = 0; j < filename.length(); ++j) {
if (filterCh == 0) {
if (fOffset >= filter.length()) {
match = false;
break;
}
filterCh = filter.charAt(fOffset++);
}
if (filterCh == '*') {
/*
* Check next filter character (if present)
* for wildcard termination character
*/
if (fOffset < filter.length()) {
char nextFilterCh = filter.charAt(fOffset);
if (filename.charAt(j) == nextFilterCh) {
filterCh = 0;
++fOffset;
}
}
} else {
if (filename.charAt(j) != filterCh) {
match = false;
break;
}
filterCh = 0;
}
}
if (fOffset != filter.length()) {
match = false;
}
if (match) {
if (v == null) {
v = new Vector();
}
v.addElement(filename);
}
}
}
}
if (v != null) {
elements = v.elements();
}
return elements;
}
А это - что написано у Mumey'а:
public Enumeration _fStringEnumeration(String s)
{
String as[] = null;
if(s.startsWith("file://"))
{
int i1 = s.lastIndexOf('/');
String s1 = s.substring(0, i1 + 1);
s = s.substring(i1 + 1);
try
{
as = x.a(s1).a();
}
catch(IOException _ex) { }
} else
{
as = RecordStore.listRecordStores();
}
Vector vector = null;
Enumeration enumeration = null;
if(as != null)
{
for(int j1 = 0; j1 < as.length; j1++)
{
String s2;
if((s2 = as[j1]).charAt(0) == '.')
{
continue;
}
boolean flag = true;
char c1 = '\0';
int k1 = 0;
for(int l1 = 0; l1 < s2.length(); l1++)
{
if(c1 == 0)
{
if(k1 < s.length())
{
c1 = s.charAt(k1++);
} else
{
flag = false;
break;
}
}
if(c1 == '*')
{
if(k1 >= s.length())
{
continue;
}
char c2 = s.charAt(k1);
if(s2.charAt(l1) == c2)
{
c1 = '\0';
k1++;
}
continue;
}
if(s2.charAt(l1) == c1)
{
c1 = '\0';
continue;
}
flag = false;
break;
}
if(k1 != s.length())
{
flag = false;
}
if(!flag)
{
continue;
}
if(vector == null)
{
vector = new Vector();
}
vector.addElement(s2);
}
}
if(vector != null)
{
enumeration = vector.elements();
}
return enumeration;
}
Изменено aNNiMON (20.01 / 09:13) (всего 1 раз) |
25.01.2015 / 11:00 | |
garfild63 Пользователь Сейчас: Offline
Имя: Антон Откуда: Новороссийск Регистрация: 26.08.2014
| Вот ещё содержимое класса x у Мумея. Думаю, пригодится. import java.io.*;
public abstract class x
{
public String a_java_lang_String_fld;
public static int a_int_static_fld = 0;
public static x a(String s)
throws IOException
{
if(a_int_static_fld == 0)
{
throw new IOException();
}
if(a_int_static_fld == 2)
{
return new t(s);
} else
{
return new i(s);
}
}
public x(String s)
throws IOException
{
a_java_lang_String_fld = s;
if(s.equals("file://"))
{
a_java_lang_String_fld = "";
}
}
public abstract boolean a();
public abstract void a()
throws IOException;
public abstract void b()
throws IOException;
public abstract void c()
throws IOException;
public abstract DataInputStream a()
throws IOException;
public abstract DataOutputStream a()
throws IOException;
public abstract String[] a()
throws IOException;
public static void d()
{
a_int_static_fld = 0;
try
{
if(Class.forName("javax.microedition.io.file.FileConnection") != null)
{
a_int_static_fld = 1;
return;
}
}
catch(ClassNotFoundException _ex) { }
try
{
if(Class.forName("com.siemens.mp.io.file.FileConnection") != null)
{
a_int_static_fld = 2;
return;
}
}
catch(ClassNotFoundException _ex)
{
return;
}
}
}
|
25.01.2015 / 11:10 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| Я приеду в город и исправлю это. Сегодня вечером
__________________
знает толк |
25.01.2015 / 18:45 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| фикс
__________________
знает толк
Прикрепленные файлы: MobileBasic.jar (112.98 кб.) Скачано 126 раз |
25.01.2015 / 18:55 | |
garfild63 Пользователь Сейчас: Offline
Имя: Антон Откуда: Новороссийск Регистрация: 26.08.2014
| vl@volk, а как смотреть здесь, какие диски есть в телефоне?
|