| fuckxy |
2008-05-24 09:27 |
PHP+JAVA的程序
.....................
Java Program:
/* 以下程序为余姚塑料城期货交易数据的定时追踪分析程序 是对数据的初步分析,绘图分析则交给进一步的php程序来完成 本程序完成策划于2005-5-17(友谊日) 本程序可以作为K线图原始数据库 */ import java.net.*; import java.io.*; import java.nio.*; import java.text.*; import java.util.*; import java.util.Date; import java.util.regex.*; class suliao { final static int LINE=11; public static void main(String args[]) { String url="http://www.ex-cp.com//yy_data/quot.txt"; String url1="http://www.51kk7.com/Forum/User/CompanyInfo.aspx?companyId=0"; for(;;) { try { Thread.sleep(10000); String ori[][]=new String[LINE][14]; int sta=0; // for(;;) { Thread.sleep(1000); Date date; SimpleDateFormat hua=new SimpleDateFormat("H m s"); String time=hua.format(date=new Date()); String[] hua1=time.split("/s"); int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]); if(i<34100) break; if(i>39900) break; URL hp=new URL(url); URLConnection hpCon=hp.openConnection(); int len=hpCon.getContentLength(); InputStream input=hpCon.getInputStream(); int c; StringBuffer hu=new StringBuffer(""); String hu1[]=new String[LINE]; int k=0; while(((c=input.read())!=-1)&&(--len>0)) { if(c==10) { hu1[k]=hu.toString(); hu=new StringBuffer(""); k++; } else { char c1=(char)c; hu.append(c1); } } hu1[LINE-1]=hu.toString(); String hu2[][]=new String[LINE][14]; suliao he=new suliao(); for(int k1=0;k1<LINE;k1++) hu2[k1]=he.zz(hu1[k1]); /* for(int k2=0;k2<10;k2++) { for(int k3=0;k3<14;k3++) System.out.print(hu2[k2][k3]+"/t"); System.out.println(""); } */ int k2; if(sta==0) { ori=hu2; sta=1; for(k2=0;k2<LINE;k2++) he.writeinfo(hu2[k2],i); } else if(sta==1) { //he.writeinfo(hu2[0]); //let's start the compare program,go go go for(k2=0;k2<LINE;k2++) { //System.out.println(hu2[k2][12]+"-"+ori[k2][12]); if(true)//he.zv(hu2[k2][12])!=he.zv(ori[k2][12])) { he.writeinfo(hu2[k2],i); } } ori=hu2; } } // } catch(Exception e) { //System.out.println("wrong wrong wrong!!!"); e.printStackTrace(); } } } public String[] zz(String a) { String[] hello=a.split("/,"); for(int i=0;i<hello.length;i++) hello=hello.trim(); return hello; } public int zv(String a) { return Integer.parseInt(a); } public void writeinfo(String[] a,int i)//写入文本数据库中 { Calendar cn=Calendar.getInstance(); int mon=cn.get(Calendar.MONTH)+1; String dir=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH); String file=cn.get(Calendar.YEAR)+"-"+mon+"-"+cn.get(Calendar.DAY_OF_MONTH)+"/"+a[0]+".txt"; File hu=new File(file); File ha=new File(dir); try { if(!ha.exists()) ha.mkdir(); if(!hu.exists()) hu.createNewFile(); //Date date; //SimpleDateFormat hua=new SimpleDateFormat("H m s"); //String time=hua.format(date=new Date()); //String[] hua1=time.split("/s"); //int i=Integer.parseInt(hua1[0])*3600+Integer.parseInt(hua1[1])*60+Integer.parseInt(hua1[2]); int k; StringBuffer kv=new StringBuffer(""); for(k=0;k<14;k++) { kv.append(a[k]+"/t"); } kv.append(i+"/n"); System.out.println(kv.toString()); FileWriter rar=new FileWriter(hu,true); rar.write(kv.toString()); rar.close(); } catch(Exception e) { e.printStackTrace(); } } }
PHP Program
<? $GO=$_POST['GO']; if(!$GO) $GO=$_GET['GO']; if($GO==1) { $dir=$_POST['time']; $file1=$_POST['file']; $handle=opendir('./'.$dir); print"<form action=index.php method=post> <input type=hidden name=GO value=1> 时间:<input type=/"text/" value=/"$dir/" readonly name=/"time/" /> 品种:<select name=file onChange=/"this.form.submit()/"> <option value=/"/">选择品种</option>"; while ($file = readdir($handle)) { if(($file!=".")&&($file!="..")) { $file=explode(".",$file); $file=$file[0]; echo "<option value=$file>$file</option>"; } } print"</select></form>"; closedir($handle); if($file1) { print"<hr><img src=index.php?GO=2&time=$dir&file=$file1>"; } } elseif($GO==2) { set_time_limit(10); $time=$_GET['time']; $file=$_GET['file'].".txt"; $file1=explode(".",$file); $str=$file1[0].':'.$time.' 绘制时间('.date("Y-m-d H:i:s").')'; $afile="./".$time."/".$file; $a=file($afile); for($i=0;$i<count($a);$i++) { $b=explode("/t",$a[$i]); if($i==0) { $p=0; $hu[$p][0]=$b[12]; $hu[$p][1]=$b[13]; $hu[$p][2]=$b[14]; $p++; } else { $b1=explode("/t",$a[$i-1]); if($b[12]!=$b1[12]) { $dis=$b[12]-$b1[12]; $hu[$p][0]=$dis; $hu[$p][1]=$b[13]; $hu[$p][2]=$b[14]; $p++; } } } /* echo"<table border=1><tr><td>成交量</td><td>报价</td><td>时间</td></tr>"; for($i=0;$i<$p;$i++) { $h=floor($hu[$i][2]/3600); $h1=$hu[$i][2]-$h*3600; $m=floor($h1/60); $s=$h1-$m*60; $TIME=$h.':'.$m.':'.$s; echo"<tr><td>".$hu[$i][0]."</td><td>".$hu[$i][1]."</td><td>".$TIME."</td></tr>"; } echo"</table>"; */ //绘图开始 Header("Content-type: image/gif"); $im=imagecreate(600,400); $backcolor=ImageColorAllocate($im,236,236,236); $linecolor1=ImageColorAllocate($im,255,0,0);//涨区间线,红线 $linecolor2=ImageColorAllocate($im,0,255,0);//跌区间线,绿线 $linecolor3=ImageColorAllocate($im,0,0,255);//平区间线,蓝线 $linecolor4=ImageColorAllocate($im,247,198,166);//表格线 $linecolor5=ImageColorAllocate($im,156,54,143);//报价曲线 //$linecolor4=ImageColorAllocate($im,,,); imagefill($im,0,0,$backcolor); //标尺线开始(曲线部分) imageline($im,30,10,30,110,$linecolor1); imageline($im,30,110,30,210,$linecolor2); imageline($im,30,110,570,110,$linecolor3); imageline($im,570,110,570,10,$linecolor1); imageline($im,570,110,570,210,$linecolor2); imagestring($im,2,5,105,0,$linecolor3); imagestring($im,2,572,105,0,$linecolor3); for($i=0;$i<=4;$i++) { $up="+".(5-$i)*40; $down="-".($i+1)*40; imageline($im,30,(10+20*$i),570,(10+20*$i),$linecolor4); imagestring($im,2,5,(5+20*$i),$up,$linecolor1); imagestring($im,2,572,(5+20*$i),$up,$linecolor1); imageline($im,30,(130+20*$i),570,(130+20*$i),$linecolor4); imagestring($im,2,5,(125+20*$i),$down,$linecolor2); imagestring($im,2,572,(125+20*$i),$down,$linecolor2); } $t[0]="9:30"; $t[1]="9:45"; $t[2]="10:00"; $t[3]="10:15"; $t[4]="10:30"; $t[5]="10:45"; $t[6]="11:00"; for($i=0;$i<=6;$i++) { if(($i!=0)&&($i!=6)) { imageline($im,(30+90*$i),10,(30+90*$i),210,$linecolor4); } $t1=$t[$i]; imagestring($im,2,(15+90*$i),212,$t1,$linecolor3); } //标尺线开始(成交量部分) for($i=0;$i<=5;$i++) { $ii=290+20*$i; $iii=(5-$i)*10; imageline($im,30,$ii,570,$ii,$linecolor4); imagestring($im,2,5,$ii-5,$iii,$linecolor1); imagestring($im,2,575,$ii-5,($iii*10),$linecolor3); } imageline($im,30,290,30,390,$linecolor4); imageline($im,570,290,570,390,$linecolor4); for($i=1;$i<=5;$i++) { $ii=30+90*$i; imagedashedline($im,$ii,290,$ii,390,$linecolor4); } //标尺线结束 //曲线绘制开始 $a=file($afile); for($i=0;$i<count($a);$i++) { $b=explode("/t",$a[$i]); $b1=$b[13]; $b2=$b[14]; $x=($b2-34100)/10; $y=-$b1*0.5+110; if($i==0) { $x1=$x; $y1=$y; } else { imageline($im,$x,$y,$x1,$y1,$linecolor5); $x1=$x; $y1=$y; } } //成交量绘制开始 $sum=0; for($i=0;$i<$p;$i++) { $y=390-2*$hu[$i][0]; $x=($hu[$i][2]-34100)/10; imageline($im,$x,390,$x,$y,$linecolor1); $sum+=$hu[$i][0]; $ysum=390-0.2*$sum; if($i==0) { $x1=$x; $y1=$ysum; } else { imageline($im,$x1,$y1,$x,$y1,$linecolor3); imageline($im,$x,$y1,$x,$ysum,$linecolor3); $x1=$x; $y1=$ysum; } } imageline($im,$x1,$y1,570,$y1,$linecolor3); //结算价格曲线绘制 $sum=0; $allprice=0; for($i=0;$i<$p;$i++) { $sum+=$hu[$i][0]; $allprice+=$hu[$i][1]*$hu[$i][0]; if($sum==0)$nowprice=0; else $nowprice=$allprice/$sum; $x=($hu[$i][2]-34100)/10; $y=-$nowprice*0.5+110; if($i==0) { $x1=$x; $y1=$y; } else { imageline($im,$x1,$y1,$x,$y1,$linecolor1); imageline($im,$x,$y1,$x,$y,$linecolor1); $x1=$x; $y1=$y; } } imageline($im,$x1,$y1,570,$y1,$linecolor1); //绘制结束 //************图片解释部分开始*******************// $str0=iconv("GB2312","UTF-8",$str); $str1=iconv("GB2312","UTF-8","上图红线表示结算价格线,紫线表示价格曲线,下图红线表示当时成交量,蓝线表示总成交量"); imagettftext($im,10,0,30,240,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str0); imagettftext($im,10,0,30,255,$linecolor1,"D:/winnt/Fonts/simhei.ttf",$str1); //************图片解释部分结束*******************// ImageGif($im); ImageDestroy($im); } else { //时间从2005-05-24开始 print"<form action=index.php method=post> <input type=hidden name=GO value=1> 选择时间: <select name=time>"; for($i=0;$i<100;$i++) { $time1=date("Y-n-j",mktime(0,0,0,date("m"),date("d")-$i,date("Y"))); $time2=date("Y-m-d",mktime(0,0,0,date("m"),date("d")-$i,date("Y"))); if(is_dir($time1)) print"<option value=/"$time1/">$time2</option> "; } print"</select> <p> <input type=submit name=submit value=提交> </form>"; } ?> |
|