📄 kbaostock.java
字号:
return ;
}
if( s == marklist )
{
if( c == back_cmd )
{
display.setCurrent( stocklist );
return ;
}
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
int ci = marklist.getSelectedIndex() ;
String a = marklist.getString( ci );
sortypes.setTitle( a+" 排行榜" ) ;
display.setCurrent( sortypes );
return ;
}
}
if( s == sortypes )
{
if( c == back_cmd )
{
display.setCurrent( marklist );
return ;
}
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
int ci = marklist.getSelectedIndex() ;
String a = marklist.getString( ci );
int si = sortypes.getSelectedIndex() ;
String b = sortypes.getString( si );
toplist.setTitle( a+b+" 排行榜" ) ;
display.setCurrent( toplist );
int ki = marklist.getSelectedIndex() ;
url = host + "/xlist/"+top_market[ki*2]+"?count=10&sort="+sort_types[si];
while( toplist.size( ) > 0 )
toplist.delete(0);
toplist.append( "正在连接...", null );
display.setCurrent( toplist );
//System.out.println( url );
HttpData t = new HttpData( url, this );
t.tag = 2;
t.start();
return ;
}
}
if( s == toplist )
{
if( c == back_cmd )
{
display.setCurrent( sortypes );
return ;
}
if( c == do_cmd || c == ((List)s).SELECT_COMMAND )
{
String a = toplist.getString( toplist.getSelectedIndex() ) ;
int an = a.length() ;
for( int i=an-3; i>=0;i--)
if( a.charAt(i) ==' ' )
{
a = a.substring( 0, i ) ;
break ;
}
topslist.setTitle( a );
display.setCurrent( topslist );
return ;
}
}
if( s == topslist )
{
if( c == back_cmd )
{
display.setCurrent( toplist );
return ;
}
if( c == do_cmd || c == ((List)s).SELECT_COMMAND )
{
do_tops_func( );
return ;
}
}
if( s == hintform )
{
if( c == back_cmd )
{
display.setCurrent( hintback );
return ;
}
}
}
String func_url( int fi, String s )
{
String u = null ;
if( fi == 0 )
{
if( width < 140 )
u = host + "/bidsp/"+s+"?mask=s5&"+scale_bidsp ;
else
u = host + "/bidsp/"+s+"?mask=5"+scale_bidsp ;
}
else if( fi == 1 )
u = host + "/mins/"+s+"?"+mask+"&"+scale;
else if( fi == 2 )
u = host + "/kdays/"+s+"?ktype=10001&"+mask+"&"+scale;
else if( fi == 3 )
u = host + "/kdays/"+s+"?ktype=10002&"+mask+"&"+scale;
else if( fi == 4 )
u = host + "/kdays/"+s+"?ktype=10003&"+mask+"&"+scale;
else if( fi == 5 )
u = host + "/kdays/"+s+"?ktype=10004&"+mask+"&"+scale;
else if( fi == 6 )
u = host + "/kdays/"+s+"?ktype=20001&"+mask+"&"+scale;
else if( fi == 7 )
u = host + "/kdays/"+s+"?ktype=20002&"+mask+"&"+scale;
else if( fi == 8 )
u = host + "/kdays/"+s+"?ktype=20003&"+mask+"&"+scale;
else if( fi == 9 )
u = host + "/kdays/"+s+"?ktype=20004&"+mask+"&"+scale;
return u ;
}
private void do_func( )
{
int ci = stocklist.getSelectedIndex( );
int fi = opslist.getSelectedIndex() ;
if( fi >=0 && fi<=9 )
{
String s = stocklist.getString(ci) ;
int sn = s.length() ;
int cn = 0;
for( ; cn<sn;cn++)
{
char c = s.charAt(cn);
if( c>='0' && c<='9' );
else if( c>='a' && c<='z' );
else if( c>='A' && c<='Z' );
else break ;
}
if( cn < sn )
s = s.substring( 0, cn );
url = func_url( fi, s ) ;
while( dataform.size( ) > 0 )
dataform.delete(0);
//System.gc( ); // 或许有益 ?
dataform.append( "正在连接..." );
display.setCurrent( dataform );
HttpData t = new HttpData( url, this );
t.tag = 0 ;
t.start();
if( stocklist.getImage(ci) != icon_stka )
{
String url2 = host + "/bidst/"+s;
t = new HttpData( url2, this );
t.tag = 1 ;
t.start();
//System.out.println( url2 );
}
return ;
}
if( fi == 10 ) return ;
if( fi == 11 )
{
stocklist.delete( ci );
display.setCurrent( stocklist );
return ;
}
if( fi == 12 )
{
editext.setString( stocklist.getString(ci) );
display.setCurrent( editform );
return ;
}
if( fi == 13 )
{
if( ci == 1 ) return ;
String s = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.insert( 1, s , icon_stk );
display.setCurrent( stocklist );
return ;
}
if( fi == 14 )
{
if( ci == stocklist.size() -2 ) return ;
String s = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.insert( stocklist.size() -2, s , icon_stk );
display.setCurrent( stocklist );
return ;
}
return ;
}
private void do_tops_func( )
{
int ci = toplist.getSelectedIndex( );
int fi = topslist.getSelectedIndex() ;
if( fi >=0 && fi<=9 )
{
String s = toplist.getString(ci) ;
int sn = s.length() ;
int cn = 0;
for( ; cn<sn;cn++)
{
char c = s.charAt(cn);
if( c>='0' && c<='9' );
else if( c>='a' && c<='z' );
else if( c>='A' && c<='Z' );
else break ;
}
if( cn < sn )
s = s.substring( 0, cn );
url = func_url( fi, s ) ;
while( dataform.size( ) > 0 )
dataform.delete(0);
//System.gc( ); // 或许有益 ?
dataform.append( "正在连接..." );
display.setCurrent( dataform );
HttpData t = new HttpData( url, this );
t.tag = 0 ;
t.start();
return ;
}
if( fi == 10 ) return ;
if( fi == 11)
{
String s = toplist.getString(ci) ;
int sn = s.length() ;
for( int i=sn-3; i>=0;i--)
if( s.charAt(i) ==' ' )
{
s = s.substring( 0, i ) ;
break ;
}
stocklist.insert( stocklist.size( )-2, s , icon_stka );
hint( "已经增加到自选股", topslist );
return ;
}
return ;
}
public void receiveHttpData( HttpData hd, byte[] data )
{
if( hd.tag == 0 )
{
if( display.getCurrent( ) != dataform )
return ;
while( dataform.size( ) > 0 )
dataform.delete(0);
if( data==null || data.length == 0 )
{
dataform.append( "无数据" );
}
else
{
//System.out.print("png data size=" );
//System.out.println( String.valueOf( data.length) );
Image png = Image.createImage(data, 0, data.length);
dataform.append( png );
}
display.setCurrent( dataform );
return ;
}
if( hd.tag == 1 )
{
if( display.getCurrent( ) != dataform )
return ;
if( data==null || data.length == 0 ) return ;
String s = read_utf8( data ) ;
if( s == null || s.length( )==0 ) return ;
//System.out.print("report data size=" );
//System.out.println( String.valueOf( data.length) );
int sn = s.length() ;
int first = 0;
int second = 0;
for( int i=0; i<sn;i++)
{
char c = s.charAt(i);
if( c=='\t' )
{
if( first == 0 )
{
first = i ;
}
else
{
second = i;
break ;
}
}
}
s = s.substring(0,first) + " "+ s.substring(first+1, second );
int ci = stocklist.getSelectedIndex() ;
if( ci >0 && ci < stocklist.size()-2 ) // sure !
stocklist.set( ci, s, icon_stka );
return ;
}
if( hd.tag == 2 )
{
if( display.getCurrent( ) != toplist )
return ;
if( data==null || data.length == 0 ) return ;
//System.out.print("tops data size=" );
//System.out.println( String.valueOf( data.length) );
String s = read_utf8( data ) ;
if( s == null || s.length( )==0 ) return ;
while( toplist.size( ) > 0 )
toplist.delete(0);
// 切割 s 到 toplist
String a="";
int start=0;
int sn = s.length() ;
for( int i=0; i<sn; i++ )
{
char c = s.charAt(i) ;
if( c == '\t' )
{
a = a + s.substring( start,i )+" ";
start = i+1 ;
}
else if( c =='\r' || c == '\n' )
{
a = a + s.substring( start,i );
start = i+1 ;
if( a.length( ) > 0 )
{
toplist.append( a, null ); // icon_stk ?
a = "" ;
}
}
}
display.setCurrent( toplist );
return ;
}
}
/* 读入 data[] 中的 utf-8 字符 */
private String read_utf8( byte[] data )
{
try
{
ByteArrayOutputStream bos = new ByteArrayOutputStream( 2 + data.length );
DataOutputStream dos = new DataOutputStream( bos );
dos.writeShort( data.length );
dos.write( data,0,data.length );
byte[] jdata = bos.toByteArray( );
ByteArrayInputStream bis = new ByteArrayInputStream( jdata,0,jdata.length );
DataInputStream dis = new DataInputStream( bis );
return dis.readUTF( );
}
catch ( IOException e ){ return null; }
}
private void hint( String s, Displayable bk )
{
while( hintform.size( ) > 0 )
hintform.delete( 0 );
hintform.append( s );
hintback = bk ;
display.setCurrent( hintform );
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -