hpfileio.java
来自「一个简单的visio程序。」· Java 代码 · 共 2,123 行 · 第 1/5 页
JAVA
2,123 行
}
else
{
for (j=i;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
}
else if(i<k-1 && buf[i] == '$')
{
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
data_type[0] = Variant.V_CURR;
return ;
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
return ;
}
else
{
if ( buf[1]=='.' && Character.isDigit(buf[2]) )
{
ch[1] = buf[1];
for (i=2;i<k;i++)
{
if(Character.isDigit(buf[i]))
ch[i] = buf[i];
else
break;
}
if (i<k-1 && (buf[i] == 'e' || buf[i] == 'E'))
{
ch[i] = buf[i];
i++;
if (buf[i] == '+' || buf[i] == '-')
{
ch[i] = buf[i];
for (j=i+1;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
else
{
for (j=i;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
}else if (i<k-1 && buf[i] == '$')
{
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
data_type[0] = Variant.V_CURR;
return ;
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
return ;
}
numberic[0] = 0;
data_type[0] = Variant.V_CURR;//currency
return ;
}
}
else
{
if ( buf[0] == '.' )
{
if (Character.isDigit(buf[1]) )
{
ch[0] = buf[0];
for (i=1;i<k;i++)
{
if(Character.isDigit(buf[i]))
ch[i] = buf[i];
else
break;
}
if (i<k-1 && (buf[i] == 'e' || buf[i] == 'E'))
{
ch[i] = buf[i];
i++;
if (buf[i] == '+' || buf[i] == '-')
{
ch[i] = buf[i];
for (j=i+1;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
else
{
for (j=i;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
}else if (i<k-1 && buf[i] == '$')
{
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
data_type[0] = Variant.V_CUR;
return ;
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
return ;
}
else
{
numberic[0] = 0;
data_type[0] = Variant.V_CUR; //currency;
return;
}
}
else
{
if (Character.isDigit(buf[0]))
{
ch[0] = buf[0];
for (i=1;i<k;i++)
{
if (Character.isDigit(buf[i]))
ch[i] = buf[i];
else
break;
}
if (i<k-1)
{
if (buf[i] == '.')
{
ch[i] = buf[i];
for (j=i+1;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
if (i<k-1 && (buf[i] == 'e' || buf[i] == 'E'))
{
ch[i] = buf[i];
i++;
if (buf[i] == '+' || buf[i] == '-')
{
ch[i] = buf[i];
for (j=i+1;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
else
{
for (j=i;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
}else if (i<k-1 && buf[i] == '$')
{
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
data_type[0] = Variant.V_CUR;
return ;
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
return ;
}
else if (buf[i] == 'e' || buf[i] == 'E')
{
ch[i] = buf[i];
i++;
if (buf[i] == '+' || buf[i] == '-')
{
ch[i] = buf[i];
for (j=i+1;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
else
{
for (j=i;j<k;j++)
{
if (Character.isDigit(buf[j]))
ch[j] = buf[j];
else
break;
}
i = j;
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
return ;
}else if (buf[i] == '$')
{
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch, numberic, data_type);
data_type[0] = Variant.V_CUR;
return ;
}
}
inch = new char[i];
for (j=0;j<i;j++)
inch[j] = ch[j];
numtype(inch,numberic,data_type);
return;
}
else if (buf[0] == '&')
{
if (buf[1] == 'O')
{
if (Character.digit(buf[2],8) != -1)
{
ch[0] = buf[2];
j ++;
for (i=3;i<k;i++)
{
if (Character.digit(buf[i],8) == -1)
break;
ch[j] = buf[i];
j ++;
}
inch = new char[j];
for (i=0;i<j;i++)
inch[i] = ch[i];
String parselng = new String(inch);
numberic[0] = Long.parseLong(parselng,8);
data_type[0] = Variant.V_LNG;
return;
}
else
{
numberic[0] = 0;
data_type[0] = Variant.V_INT;
return ;
}
}
else if (buf[1] == 'H')
{
if (Character.digit(buf[2],16) != -1)
{
ch[0] = buf[2];
j ++;
for (i=3;i<k;i++)
{
if (Character.digit(buf[i],16) == -1)
break;
ch[j] = buf[i];
j ++;
}
inch = new char[j];
for (i=0;i<j;i++)
inch[i] = ch[i];
String parselng = new String(inch);
numberic[0] = Long.parseLong(parselng,16);
data_type[0] = Variant.V_LNG;
return;
}
else
{
numberic[0] = 0;
data_type[0] = Variant.V_INT;
return ;
}
}
else
{
numberic[0] = 0;
data_type[0] = Variant.V_INT;
return ;
}
}
else
{
data_type[0] = Variant.V_STR;
return;
}
}
}
}
else
{
if ( k == 1 )
{
if ( buf[0] == '+' || buf[0] == '-' || buf[0] == '.' )
{
numberic[0] = 0;
data_type[0] = Variant.V_CUR;
return ;
}
else if (Character.isDigit(buf[0]))
{
numberic[0] = Character.digit(buf[0],10);
data_type[0] = Variant.V_INT;
return;
}
data_type[0] = Variant.V_STR;
return;
}
else if ( (buf[0] == '+' || buf[0] == '-' || buf[0] == '.') && !Character.isDigit(buf[1]) )
{
numberic[0] = 0;
data_type[0] = Variant.V_CUR;
return ;
}
else if ( (buf[0] == '+' || buf[0] == '-') && Character.isDigit(buf[1]) )
{
numtype(buf, numberic, data_type);
return ;
}
else if ( (Character.isDigit(buf[0]) || buf[0] == '.') && Character.isDigit(buf[1]) )
{
numtype(buf, numberic, data_type);
return ;
}
}
data_type[0] = Variant.V_STR;
}*/
/**
* Returns characters from an open sequential or binary file.
*
* Syntax :
*
* Input(number, [#]filenumber).
*
* number : Any valid numeric expression specifying the number of
* characters to return.
* filenumber : Any valid file number.
*
*/
public static Variant input(short number,short filenumber) throws HpException
{
if (number == 0)
return new VString("");
int n = 0,by=0;
char ch;
char[] s;
char[] buf;
long pf = 0,length=0,pos=0;
String ss = "";
if (number < 0)
throw new HpException(5," Invalid procedure call");
checkIn(number,filenumber);
pf = finfo.GetFilePointer();
length = finfo.Length();
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?