using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Net;
using System.Windows.Forms;
using System.IO;
namespace jokes
{
public partial class Form1 : Form
{
private int countdownTime,nowSet;
private Random ran=new Random();
private StringBuilder jok1 = new StringBuilder("笑話1");
private StringBuilder jok2 = new StringBuilder("笑話2");
private StringBuilder jok3 = new StringBuilder("笑話3");
public Form1()
{
InitializeComponent();
}
private void question(int set)
{
switch (set)
{
case 1:
textBox1.Text = jok1.ToString();
nowSet = 1;
break;
case 2:
textBox1.Text = jok2.ToString();
nowSet = 2;
break;
case 3:
textBox1.Text = jok3.ToString();
nowSet = 3;
break;
}
}
private void button1_Click(object sender, EventArgs e)
{
question(1);
}
private void button2_Click(object sender, EventArgs e)
{
question(2);
}
private void button3_Click(object sender, EventArgs e)
{
question(3);
}
private void button4_Click(object sender, EventArgs e)
{
Close();
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked==true)
{
countdown.Enabled = true;
}
else
{
countdown.Enabled = false;
label2.Text = "";
}
}
private void countdown_Tick(object sender, EventArgs e)
{
if (countdownTime > 0)
{
showLabel2(countdownTime);
countdownTime--;
}
else
{
showLabel2(countdownTime);
question((++nowSet)%3+1);
countdownTime=10;
}
}
private void showLabel2(int i)
{
label2.Text = "倒數計時:"+i+"秒";
}
private void Form1_Load(object sender, EventArgs e)
{
countdownTime = 10;
}
private void time_Tick(object sender, EventArgs e)
{
label1.Text = "現在時間" + DateTime.Now.ToUniversalTime().ToString();
}
private void button5_Click(object sender, EventArgs e)
{
string web_list="";
int Newest = getnew(ref web_list);//最新的
for (int i = Newest , t = 1; t <= 3; i=i-5)
{
bool check = getCheck(i,ref web_list);
if (!check)
continue;
switch (t)
{
case 1:
jok1=new StringBuilder("Joke1\r\n"+textin(i));
break;
case 2:
jok2 = new StringBuilder("Joke2\r\n" + textin(i));
break;
case 3:
jok3 = new StringBuilder("Joke3\r\n" + textin(i));
break;
default:
break;
}
t++;
System.Threading.Thread.Sleep(2000);
}
MessageBox.Show("Download over!");
}
private int getnew(ref string web_list)
{
WebRequest request = WebRequest.Create(@"http://k...content-available-to-author-only...m.com/joke/newjoke.php");
request.Method = "POST";
WebResponse myResponse = request.GetResponse();
StreamReader sr = new StreamReader(myResponse.GetResponseStream());
web_list = String.Copy(sr.ReadToEnd());
sr.Close();
myResponse.Close();
int first = web_list.IndexOf("article");
return Int32.Parse(web_list.Substring(first + 31, 6));
}
private bool getCheck(int tg,ref string web_list)
{
int first = web_list.IndexOf(tg.ToString());
if (first == -1)
return false;
else
return true;
}
private string textin(int tg)
{
WebRequest text_request = WebRequest.Create(@"http://k...content-available-to-author-only...m.com/joke/article.php?cid=general&id="+tg);
text_request.Method = "GET";
WebResponse text_myResponse = text_request.GetResponse();
StreamReader text_sr = new StreamReader(text_myResponse.GetResponseStream(),System.Text.Encoding.GetEncoding("big5"));
string text_result = text_sr.ReadToEnd();
string outStr;
byte[] byt = System.Text.Encoding.GetEncoding("Big5").GetBytes(text_result);
outStr = System.Text.Encoding.GetEncoding("Big5").GetString(byt);
text_sr.Close();
text_myResponse.Close();
int first = outStr.IndexOf("art_content");
int last = outStr.LastIndexOf("art_content");
string final = outStr.Substring(first + 15, last - first - 20);
return final;
}
}
}