📄 kbaostock.java
字号:
if( ci > 0 )
{
String si = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.insert( 0, si , icon_stk );
stocklist.setSelectedIndex( 0,true );
}
return ;
}
if( c == move_last_cmd )
{
if( ci < stocklist.size( )-1 )
{
String si = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.append( si , icon_stk );
stocklist.setSelectedIndex( stocklist.size( )-1,true );
}
return ;
}
if( c == move_up_cmd )
{
if( ci>0 )
{
String si = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.insert( ci-1, si , icon_stk );
stocklist.setSelectedIndex( ci-1,true );
}
return ;
}
if( c == move_down_cmd )
{
if( ci < stocklist.size( )-1 )
{
String si = stocklist.getString(ci) ;
stocklist.delete( ci );
stocklist.insert( ci+1, si , icon_stk );
stocklist.setSelectedIndex( ci+1,true );
}
return ;
}
return ;
}
//个股操作
if( s == opslist )
{
if( c == back_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
int ci = opslist.getSelectedIndex( );
if( ci == -1 ) return ;
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
//分解代码
String st = opslist.getTitle() ;
int sn = st.length() ;
int cn = 0;
for( ; cn<sn;cn++)
{
char cc = st.charAt(cn);
if( cc>='0' && cc<='9' );
else if( cc>='a' && cc<='z' );
else if( cc>='A' && cc<='Z' );
else break ;
}
if( cn < sn )
st = st.substring( 0, cn );
//构造 URL
url = null ;
if( ci == 0 )
{
if( width < 140 )
url = j2me + "/bidsp/"+st+"?mask=s&"+scale_bidsp ;
else
url = j2me + "/bidsp/"+st+"?"+scale_bidsp ;
}
else if( ci == 1 )
url = j2me + "/mins/"+st+"?"+mask+"&"+scale;
else if( ci == 2 )
url = j2me + "/kdays/"+st+"?ktype=10001&"+mask+"&"+scale;
else if( ci == 3 )
url = j2me + "/kdays/"+st+"?ktype=10002&"+mask+"&"+scale;
else if( ci == 4 )
url = j2me + "/kdays/"+st+"?ktype=10003&"+mask+"&"+scale;
else if( ci == 5 )
url = j2me + "/kdays/"+st+"?ktype=10004&"+mask+"&"+scale;
else if( ci == 6 )
url = j2me + "/kdays/"+st+"?ktype=20001&"+mask+"&"+scale;
else if( ci == 7 )
url = j2me + "/kdays/"+st+"?ktype=20002&"+mask+"&"+scale;
else if( ci == 8 )
url = j2me + "/kdays/"+st+"?ktype=20003&"+mask+"&"+scale;
else if( ci == 9 )
url = j2me + "/kdays/"+st+"?ktype=20004&"+mask+"&"+scale;
//清理屏幕
while( dataform.size( ) > 0 )
dataform.delete(0);
//System.gc( );
StringItem si = new StringItem( "正在连接...", null );
dataform.append( si );
dataform.setTitle( opslist.getTitle() ) ;
display.setCurrent( dataform );
display_stack[ ++display_stackp ] = dataform ;
//请求数据
HttpData t = new HttpData( url, this );
t.tag = 0 ;
t.start();
if( info_url != null )
{
t = new HttpData( info_url, this );
t.tag = 1 ;
t.start();
info_url = null ;
}
return ;
}
return ;
}
//个股数据
if( s == dataform )
{
if( c == back_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
if( c == fresh_cmd )
{
StringItem si = new StringItem( "正在刷新...", null );
dataform.insert( 0, si );
HttpData t = new HttpData( url, this );
t.tag = 0;
t.start();
return ;
}
return ;
}
//排行榜 市场
if( s == marklist )
{
if( c == back_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
int ci = marklist.getSelectedIndex( );
if( ci == -1 ) return ;
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
String a = marklist.getString( ci );
sortypes.setTitle( a+" 排行榜" ) ;
display.setCurrent( sortypes );
display_stack[ ++display_stackp ] = sortypes ;
return ;
}
return ;
}
//排行榜 分类
if( s == sortypes )
{
if( c == back_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
int ci = sortypes.getSelectedIndex( );
if( ci == -1 ) return ;
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
int mk = marklist.getSelectedIndex() ;
String a = marklist.getString( mk );
String b = sortypes.getString( ci );
toplist.setTitle( a+b );//+" 排行榜" ) ;
display.setCurrent( toplist );
display_stack[ ++display_stackp ] = toplist ;
while( toplist.size( ) > 0 )
toplist.delete(0);
toplist.append( "正在连接...", null );
url = j2me + "/xlist/"+top_market[mk*2]+"?count=10&sort="+sort_types[ci];
HttpData t = new HttpData( url, this );
t.tag = 2;
t.start();
return ;
}
return ;
}
//排行榜
if( s == toplist )
{
if( c == back_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
int ci = toplist.getSelectedIndex( );
if( ci == -1 ) return ;
if( c == enter_cmd || c == ((List)s).SELECT_COMMAND )
{
String a = toplist.getString( ci ) ;
int an = a.length() ;
for( int i=an-3; i>=0;i--)
if( a.charAt(i) ==' ' )
{
a = a.substring( 0, i ) ;
break ;
}
opslist.setTitle( a );
display.setCurrent( opslist );
display_stack[ ++display_stackp ] = opslist ;
return ;
}
if( c == select_cmd )
{
String a = toplist.getString( ci ) ;
int an = a.length() ;
for( int i=an-3; i>=0;i--)
if( a.charAt(i) ==' ' )
{
a = a.substring( 0, i ) ;
break ;
}
stocklist.append( a, icon_stka );
return ;
}
return ;
}
//编辑代码
if( s == editform )
{
if( c == cancel_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
if( c == ok_cmd || c == ((List)s).SELECT_COMMAND )
{
String a = editext.getString( ).trim( );
if( a.length() < 4 ) return ;
int ci = stocklist.getSelectedIndex( );
if( ci == -1 )
stocklist.append( a, icon_stk );
else
stocklist.insert( ci, a, icon_stk );
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
return ;
}
//设置
if( s == cfgform )
{
if( c == cancel_cmd )
{
display.setCurrent( display_stack[ --display_stackp ] );
return ;
}
if( c == ok_cmd || c == ((List)s).SELECT_COMMAND )
{
host = cfgtext.getString( ).trim();
display.setCurrent( display_stack[ --display_stackp ] );
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 )
{
StringItem si = new StringItem( "无数据", null );
dataform.append( si );
}
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( ) == opslist ) ;
else if( display.getCurrent( ) == dataform ) ;
else 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[] tabs = new int[20];
for( int i=0, tn=0; i<sn && tn<20;i++)
{
char c = s.charAt(i);
if( c=='\t' )
tabs[tn++]=i;
}
s = s.substring(0,tabs[0]) + " "+ s.substring(tabs[0]+1, tabs[1]);
opslist.setTitle( s );
if( display.getCurrent( ) == dataform )
dataform.setTitle( s );
int ci = stocklist.getSelectedIndex() ;
if( ci == -1 ) ; else
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 String bytes2string( byte[] data )
{
try
{
//return new String( data, "UTF8" );
ByteArrayInputStream bis = new ByteArrayInputStream( data );
DataInputStream dis = new DataInputStream( bis );
return dis.readUTF( );
}
catch ( IOException e ){ return null; }
}
private byte[] string2bytes( String str )
{
try
{
//return str.getBytes( "UTF8" );
ByteArrayOutputStream bos = new ByteArrayOutputStream( );
DataOutputStream dos = new DataOutputStream( bos );
dos.writeUTF( str ) ;
return bos.toByteArray( );
}
catch ( IOException e ){ return null; }
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -