Isaac's World


Isaac @ 2011-01-05 22:48

欢迎到访本人的Blog

QQ              :     274788161
MSN            :
    
montgomery_isaac@hotmail.com
E-MAIL        :     
montgomery.isaac@gmail.com

Current: 
史记        历史是要好好读的

房产信息爬虫+数据抽取       fang.com的数据来源


 
Isaac @ 2011-01-05 21:41

念小学的时候总听人说着21世纪的时候会如何如何,一转眼21世纪的第一个十年就过去了,却未见当初听到的事情有多少成真。2000年的时候我小学毕业,在这十年中我念完了初中、高中和大学,现在在中国的硅谷——中关村体验北漂生活。

大学毕业只有半年,高中毕业也不过四年半。但如今一见高中或大学同学总是聊着当初在学校的往事,仿佛我们已经老去,而那已是很久之前的事情。茶余饭后一个不可缺少的话题就是柳同学,我在12月中旬的时候去寺里见过他一面,也就讲讲我所见他的近况。他除了穿着寺里统一的外套以外,长相、说话声音什么的基本没有变化,还有他特别的走路姿势,在人群中还是很好辨认的。寺里有不少和他经历相似的人在一起修行,每日除了研读经书之外还要参加劳动。诵经念佛自然辛苦,对于他这个常年读书的人来说寺里的劳动也是一项非常头疼的修行,诸如搬东西如何使劲、如何清扫厕所之类的问题都是他之前从来没有碰到过的。当然,在这个远离尘世喧嚣的小院子里面,衣食无忧,一群志同道合的人一起修行的生活是非常惬意的。以我所见,他的生存状态是非常之好的,没有什么可惋惜的。当年的高中同学,大半已身在大洋彼岸,剩下的也多在继续念书,我们每日奔波劳碌无非也只图个一日三餐加上一个容身之所,至于所谓的似锦前程都是旁人所见,要找一群志同道合之人更是难上加难。如此想想,柳同学确实很幸运,兴许多少年后又有一个弘一大师一样的人物诞生。

年末给自己放了假,从圣诞节一直休息到了现在,期间回了一趟上海,见了大学同学和老师,之后又回家了一趟。这两年都是一年才回家一趟,留给家里人的时间实在是少的可怜。这次回家什么都没有带,也不处理任何事情,唯一做的事情就是陪家人特别是老人家聊天。虽然都祝愿老人家健康长寿,现在的医疗条件也越来越好,但是看着老人家每况愈下的身体,也知道能够在一起说说话的机会都不多了。每每想到这一点,就非常怀念小的时候,总希望能够回到那个什么都不懂的年纪。今年的气候极度反常,说是千年极寒,可北京到现在为止一场雪都没有下,但是家里已经下了三场雪了。我在的几天里很多天最高气温都只有零度左右,和北京的气温一样低。但没有暖气,日子非常难过,对于老人来说更是难熬,即使整天开着空调也不舒服。外公就是去年这个时候走的,守夜的那个晚上极冷,我在外面呆了一夜之后就被冻感冒了,接下来的整个冬天咳嗽都没好。

和这个极寒的冬天一样,我们的网站没有什么起色,最近还被baidu惩罚了,收录数量从两万五变成了零!网站的基本功能已经全部完成,下一步就是对现有功能的优化和开发我们网站的特色功能。这半年我看了很多很多成功的和不成功的网站,也看了很多网站运营相关的资料,还有很多IT行业的动态和展望。我看到了很多东西,知道了许多念书的时候不知道或者从未考虑过的东西,但事实上我总在被动的接受别人的观点。运作一个网站或者开创一项事业,重要的自己的思考,总是跟风是不可能做出伟大的事业的。希望新的一年里面我有更多自己的思考,能够看到别人未曾发现的方向。另外一方面还是激情问题,我渴望那种“几个年轻人在车库里没日没夜折腾自己的新玩意”的状态,据说比尔盖茨最怕的就是这件事。年轻人的激情、汗水加上天分必然成就新时代的苹果和微软,现代版硅谷海盗故事的主人公会变成我们和我们的同龄人!


 
Isaac @ 2010-11-16 19:29

最近诸多不顺,wordpress也被墙了,不得已又开始用歪酷博客。

大约半个月前,fang.com网站在google和baidu上的收录数突然从一万变成了几百。思前想后没搞明白是什么原因,猜测可能是因为泛解析的关系导致很多去往色情网站(44fang)的流量跑到了我们网站,结果被搜索引擎惩罚了。只能把泛解析关掉,流量一下子减少了4成。上周四晚上忘记锁公司的门,半夜物业巡查的时候上了把大锁。周五早上去找物业开门,被罚了200大洋,好不心疼。这周一来公司,得知的第一件事情就是我们网站的备案被拒了,理由是房产类的网站必须要有注册公司而非个人,只能去注册一个公司充数了。上网一搜,北京的大学生创业政策和上海大不一样,而且也没有什么官方网站把政策汇总一下,只是零零星星看到一些文章讲这方面的内容。折腾来折腾去似乎又回到了原点。

最近两周周末出游的目的地分别是蟒山和潘家园。蟒山说到底就是个小山苞,选了一条没什么人走的小路也只用了一个多小时就爬到了山顶。潘家园倒很有意思,全是各种小东西,成堆的旧书也是一大卖点(居然看到了编译原理,大概是5块钱一本的,上学的时候有这么好的地方就好了)。关于网站方面并没有太大的进展,爬虫不大需要维护了,手头没什么代码写闷得慌,遂开始写一些php代码。fix了一些跟discuz整合的小问题,为网站增加从人人和新浪微博的登录功能,这两天开始给我们的网站增加一些OLAP的功能。


 
Isaac @ 2010-09-30 23:14

微软正在关闭msn space,支持从msn space到wordpress的搬家。鉴于wordpress可以支持公式的书写,我也有写一些技术文章的想法,遂将博客搬家到isaacyang.wordpress.com,现在这个博客也就不再维护了。


 
Isaac @ 2007-12-09 21:43

这个星期一直在研究Othello,很奇妙的东西。本来觉得IEEE的文章质量还是不错的,不过这周之后我对某些文章彻底绝望了。

Temporal Difference Learning Versus Co-Evolution for Acquiring Othello Position Evaluation

这篇文章发表于Proceedings of the 2006 IEEE Symposium on Computational Intelligence and Games(CIG 2006)

Temporal Difference Learning of an Othello Evaluation Function for a Small Neural Network with Shared Weights

这篇文章发表于Proceedings of the 2007 IEEE Symposium on Computational Intelligence and Games (CIG 2007)

Evolutionary Othello Players Boosted by Opening Knowledge

这篇文章发表于2006 IEEE Congress on Evolutionary Computation

上面三篇文章貌似代表了最近Othello研究的最新成果,基本上都是用GA或者神经网络,还给出了不同AI在Tournament中的得分状况。

image

三篇文章都指出CEL的AI是最强的,我一开始也这么认为,于是用文章给的参数写了一个估价函数。本来对这个AI期望很高的,结果用使用这个估价函数的AI跟我们目前的AI对战,双方各执黑白一次,从搜索1层到搜索7层,CEL的AI完败。

我以为是我的函数写错了,去论文的作者的网站下了一个她的Sample,再下仍然是完败。。。

对这种文章完全没有想法了,本来以为这个上面的文章都不错的,结果居然是这个样子。。。交大的电院博士生毕业就要求一篇IEEE,看起来原来就这个水准的也可以毕业了。。。

今天参加了第十届上海市慈善慢跑,看到那么多人来参加其实还是很感动的。一只觉得中国人对慈善事业不够热心,今天看到有这么多普通市民参与其中,顿时看到了希望。也许现在的问题都是暂时的,几代之后我们的后代们也能看到一个充满爱与责任的社会吧。

回来后就一直睡到晚上,去讲了PPCA的ppt,Game Theory,本来觉得ppt这次做得很漂亮的,按照正常讲东西的状态来说应该很完美。不过么貌似这个ppt做的太早了,两周的时间过后我连程序写得什么都不记得了。。。糟糕的presentation啊。。。

还有逻辑作业没做,现在好好研究一下:)

 



 
Isaac @ 2007-08-13 13:44

回来了,不过网挂了。。。索性就休息几天把。不过程序还是要做的,黑白棋还是要研究的:)
一年过完了,感觉不怎么样,貌似没什么长进。哎,就是常常干民工活!不管是脑力民工还是体力民工,这个学期都作了好几回。。。
下个学期决定退掉所有做技术工作的社团,只保留大学生在线,这个东西还是有点意思的。至于在Patouviss那边的事情,我也不想做了。虽然这么做不好,不过我想找回属于自己的生活,毕竟我的大学不是拿来做网站的,还有很多有趣的事情要做。退掉这些社团之后,我计划加点有趣的社团,具体是什么待议。
关于某些问题,我也想通了,我不会再强求某些东西了,一切随缘吧。。。
下个学期会好好活的,换种态度,换种生活方式,过得快乐些:)



 
Isaac @ 2007-02-14 14:44

今天是2月14号,情人节。
没有情人的情人节不想做事情,只好整理一下这几天写的ASP.net控件,SQL脚本和图片就忽略了。这两个控件功能还算完善,基本上常见的功能都写了,不足就是不是用Ajax写的。。。什么时候重写一个好了。
Calendar
Calendar.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="Calendar.ascx.cs" Inherits="Calendar" %>
            <asp:Label ID="Label2" runat="server" Font-Bold="True" Font-Names="Comic Sans MS"
                Font-Size="16pt" ForeColor="Maroon" Text="Schedule" ToolTip="日程安排" style="cursor: hand"></asp:Label>&nbsp;&nbsp;
<asp:ImageButton
                    ID="ImageButton1" runat="server" Height="12px" ImageUrl="~/Image/calendar/btnPre.png"
                    OnClick="ImageButton1_Click" Width="12px" style="cursor: hand" />&nbsp;
<asp:ImageButton ID="ImageButton2" runat="server"
                        Height="12px" ImageUrl="~/Image/calendar/btnNext.png" OnClick="ImageButton2_Click"
                        Width="12px" style="cursor: hand" /><br />
            <asp:Label ID="Label3" runat="server" Font-Bold="True" Font-Names="Comic Sans MS"
                Font-Size="17px" ForeColor="Firebrick" Style="text-align: right; cursor: hand;"
                Width="207px"></asp:Label><br />
<asp:ImageButton ID="ImageButton3" runat="server" Enabled="False" ImageUrl="~/Image/calendar/title.png" style="cursor: hand" />
<asp:Calendar ID="Calendar1" runat="server" BackColor="White" BorderColor="White" BorderWidth="0px" CaptionAlign="Left" FirstDayOfWeek="Sunday" Font-Bold="False" Font-Names="Comic Sans MS" Font-Size="9pt" ForeColor="Black" Height="110px" Width="205px" style="font-size: 12px; cursor: hand; font-family: 'Comic Sans MS'" OnDayRender="Calendar1_DayRender" OnSelectionChanged="Calendar1_SelectionChanged" ShowNextPrevMonth="False" ToolTip="Sunshine Garden" ShowDayHeader="False" ShowTitle="False" OnVisibleMonthChanged="Calendar1_VisibleMonthChanged">
    <TodayDayStyle BackColor="#CCCCCC" />
    <DayStyle Font-Names="Comic Sans MS" Wrap="True" />
    <WeekendDayStyle Font-Names="Comic Sans MS" ForeColor="Red" />
    <OtherMonthDayStyle ForeColor="White" />
    <NextPrevStyle Font-Bold="True" Font-Size="8pt" ForeColor="#333333" VerticalAlign="Bottom" />
    <DayHeaderStyle BackColor="LightGray" Font-Bold="True" Font-Size="8pt" ForeColor="Black" />
    <TitleStyle BackColor="White" BorderColor="Transparent" BorderWidth="2px" Font-Bold="True"
        Font-Size="15pt" ForeColor="Firebrick" HorizontalAlign="Right" />
    <SelectorStyle ForeColor="Red" />
</asp:Calendar>

Calendar.ascx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SunShineGarden;

public partial class Calendar : System.Web.UI.UserControl
{
    private static string [] Month = new String[13]{"", "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"};
    private static int year, month, day;
    private static string[] SpecialDays = new String[32];
    private static Database sqlDB = new Database();
    private static SqlConnection con = sqlDB.Open();
    private static Style SatturdayStyle = new Style();
    private static Style SundayStyle = new Style();
    private static Style WeekdayStyle = new Style();
    private static Style SpecialdayStyle = new Style();
    private static bool Judge;
    private static DateTime FirstDayOfThisMonth;
    private static DateTime FirstDayOfNextMonth;
    private static string picUrl;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) {
            day = DateTime.Today.Day;
            month = DateTime.Today.Month;
            year = DateTime.Today.Year;
            SatturdayStyle.ForeColor = System.Drawing.Color.RoyalBlue;
            SundayStyle.ForeColor = System.Drawing.Color.Red;
            WeekdayStyle.ForeColor = System.Drawing.Color.Black;
            SpecialdayStyle.ForeColor = System.Drawing.Color.Orange;
            SatturdayStyle.Font.Size = FontUnit.Point(9);
            SundayStyle.Font.Size = FontUnit.Point(9);
            WeekdayStyle.Font.Size = FontUnit.Point(9);
            SpecialdayStyle.Font.Size = FontUnit.Point(9);
        }
        ShowTitle();
    }
    protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
    {
        if (!e.Day.IsOtherMonth)
            if (e.Day.Date.DayOfWeek == DayOfWeek.Saturday) e.Cell.ApplyStyle(SatturdayStyle);
            else if (e.Day.Date.DayOfWeek == DayOfWeek.Sunday) e.Cell.ApplyStyle(SundayStyle);
            else e.Cell.ApplyStyle(WeekdayStyle);
        else if ( e.Day.Date >= FirstDayOfNextMonth.Date || (e.Day.Date < FirstDayOfThisMonth.Date && Judge)) e.Cell.Visible = false;

        if (e.Day.Date == DateTime.Today.Date && e.Day.IsOtherMonth) e.Cell.BackColor = System.Drawing.Color.White;

        if (SpecialDays[e.Day.Date.Day] != "" && e.Day.Date.Month == month)
        {
            e.Cell.ApplyStyle(SpecialdayStyle);
            //e.Cell.Text = "<a href = " + e.SelectUrl + "><span style =\"background-image: url(./Image/calendar/Circle.PNG); background-position:center center; color:Black; text-decoration: none\">&nbsp" + e.Day.Date.Day.ToString().Trim() + "&nbsp</span></a>";
            if (e.Day.Date.DayOfWeek == DayOfWeek.Saturday) picUrl = "blue-";
            else if (e.Day.Date.DayOfWeek == DayOfWeek.Sunday) picUrl = "orange-";
            else picUrl = "black-";
            if (e.Day.Date == DateTime.Today.Date) picUrl = picUrl + "1-";
            else picUrl = picUrl + "null-";
            picUrl = picUrl + e.Day.Date.Day.ToString() + "副本.png";
            int day = e.Day.Date.Day;
            string temp = SpecialDays[day];

            e.Cell.Text = "<img alt=\"\" src=\"./Image/calendar/Calender icons/" + picUrl + "\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" onclick=\"ShowMenu(event.x,event.y," + day.ToString() + ")\"/>"
            //e.Cell.Text = "<a href = " + e.SelectUrl + "><img alt=\"\" src=\"./Image/calendar/Calender icons/" + picUrl + "\" style=\"border-top-style: none; border-right-style: none; border-left-style: none; border-bottom-style: none\" onclick=\""
            + MakeScript(temp, day.ToString());
            e.Cell.ToolTip = e.Day.Date.ToShortDateString() + "\n今天的活动有:\n";

            while (temp.IndexOf("#") >= 0)
            {
                temp = temp.Substring(temp.IndexOf("#") + 1);
                e.Cell.ToolTip = e.Cell.ToolTip + temp.Substring(0, temp.IndexOf("#")) + "\n";
                temp = temp.Substring(temp.IndexOf("#") + 1);
            }
            e.Cell.ToolTip = e.Cell.ToolTip.Remove(e.Cell.ToolTip.Length - 1);           
            e.Day.IsSelectable = false;
        }
        else { e.Day.IsSelectable = false; }
    }
    protected void Calendar1_SelectionChanged(object sender, EventArgs e)
    {
        day = Calendar1.SelectedDate.Day;
        ShowTitle();
        //if (SpecialDays[day] != "") Response.Redirect("TopicView.apsx?" + SpecialDays[day].Substring(0, SpecialDays[day].IndexOf("#")).Trim());
        //Response.Write("<div style=\"z-index: 101; left: 12px; width: 200px; position: absolute; top: 109px; height: 120px\">");
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        month--;
        if (month == 0) { month = 12; year--; }
        ShowTitle();
    }
    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
        month++;
        if (month == 13) { month = 1; year++; }
        ShowTitle();
    }
    private bool IsLeapYear(int year)
    {
        if (year % 4 == 0 && year % 100 != 0 || year % 400 == 0) return true;
        else return false;
    }
    private int GetMonthDay(int month, int year)
    {
        switch (month)
        {
            case 2: return IsLeapYear(year) ? 29 : 28;
            case 4:
            case 6:
            case 9:
            case 11: return 30;
            default: return 31;
        }
    }
    private void ShowTitle()
    {
        FirstDayOfThisMonth = new DateTime(year, month, 1);
        if (month == 12) FirstDayOfNextMonth = new DateTime(year + 1, 1, 1);
        else FirstDayOfNextMonth = new DateTime(year, month + 1, 1);

        Judge = (FirstDayOfThisMonth.DayOfWeek == DayOfWeek.Sunday);
        GetEvent();
        Label3.Text = year.ToString() + "'" + Month[month];
        Calendar1.VisibleDate = new DateTime(year, month, 1);
        if ( month == 1 ) ImageButton1.ToolTip = Month[ 12 ];
        else ImageButton1.ToolTip = Month[month - 1];
        if (month == 12) ImageButton2.ToolTip = Month[1];
        else ImageButton2.ToolTip = Month[ month + 1 ];
        Label3.ToolTip = "Today is " + year.ToString() + "-" +  month.ToString() + "-" + day.ToString();
    }
    protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
    {

    }
    protected void GetEvent()
    {
        if (con.State == ConnectionState.Closed) con.Open();
        SqlCommand cmd = new SqlCommand("SELECT * FROM Topic WHERE DateAndTime LIKE '%" + year.ToString() + "-" + month.ToString() + "%'", con);
        SqlDataReader dr = cmd.ExecuteReader();
        for (int i = 0; i < 32; i++)  SpecialDays[i] = "";
            while (dr.Read())
            {
                SpecialDays[GetDay(dr["DateAndTime"].ToString())] += dr["ID"].ToString() + "#"+ dr["TopicName"].ToString() + "#";
            }
        con.Close();
    }
    protected int GetDay(string date)
    {
        date = date.Substring(date.LastIndexOf('-') + 1, 2);
        return Int32.Parse(date.Trim());
    }
    private string MakeScript(string source, string day)
    {
        string ans = "<div id=\"" + day + "\" style=\"display:none;background-color:LemonChiffon;\">&nbsp今天的活动有:";
        string temp="";
        while (source.IndexOf("#") >= 0)
        {
            source = source.Substring(source.IndexOf("#") + 1);
            temp = source.Substring(0, source.IndexOf("#"));
            source = source.Substring(source.IndexOf("#") + 1);

            ans = ans + "<div style=\"cursor:hand\" onmouseover=\"this.style.background='Brown';\" onmouseout=\"this.style.background='LemonChiffon';\" onclick=\"parent.location.href='./ShowArticle?id=" + temp + "'\">"
                    + "<span>&nbsp" + temp + "&nbsp</span> </div> ";   
        }
        ans = ans + "</div>";
        return ans;
    }
}


Calendar.js
// JScript 文件
function ShowMenu(x , y, day)
{
    var oPopup = window.createPopup();
    oPopup.document.bgColor= "LemonChiffon";
    var temp = document.getElementById(day);
    oPopup.document.body.innerHTML = temp.innerHTML;
    temp.style.display="block";
    oRect = temp.getBoundingClientRect();
    temp.style.display="none";
    var width = oRect.right - oRect.left + 20;
    if(width < 150) width = 150;
    oPopup.show(x + 5, y + 5, width, oRect.bottom - oRect.top + 15, document.body);
}

TopicList
TopicList.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="TopicList.ascx.cs" Inherits="TopicList" %>
<asp:DataList ID="DataList1" runat="server" DataKeyField="ID"
    Font-Names="Arial" Font-Size="12px" Width="542px" OnItemCreated="DataList1_ItemCreated">
    <HeaderTemplate>
        <div style="height: 15px; text-align:right;">
            <%# SetHeader() %>
        </div>
        <asp:Image ID="Image1" runat="server" ImageUrl="~/Image/list/title.png" />
    </HeaderTemplate>
    <ItemTemplate>
        <asp:Label ID="IDLabel" runat="server" Text='<%# ShowID() %>' Width="80px" style="text-align: center"></asp:Label>
        <asp:Label ID="TopicNameLabel" runat="server" Text='<%# ShowTitle(Container.DataItem) %>' Width="200px"></asp:Label>
        <asp:Image ID="Image2" runat="server" ImageUrl="~/Image/list/new.png" />
        <asp:Label ID="PostUserLabel" runat="server" Text='<%# Eval("PostUser") %>' Width="70px" style="text-align: center"></asp:Label>
        <asp:Label ID="DateAndTimeLabel" runat="server" Text='<%# ShowDate(Container.DataItem) %>' Width="65px" style="text-align: center"></asp:Label>&nbsp;
        <asp:Label ID="ClickLabel" runat="server" Text='<%# Eval("Click") %>' Width="55px" style="text-align: center"></asp:Label>
        <br />
    </ItemTemplate>
    <SeparatorTemplate>
        <hr style="border: dashed 1px gray; height: 1px;" />
    </SeparatorTemplate>
    <FooterTemplate>
        <hr style="border: dashed 1px gray; height: 1px;" />
    </FooterTemplate>
</asp:DataList><br />
<div style="background-image:url(./Image/list/foot_background.png); background-position:center; background-repeat:no-repeat; height: 60px;  width: 538px; text-align:center; font-weight: bold; font-size: 12px; font-family: 'Comic Sans MS';">
    <asp:Image ID="Image3" runat="server" ImageUrl="~/Image/list/字母素材/字母/s.GIF" Height="20px" /><asp:Image
        ID="Image15" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/u.GIF" /><asp:Image
            ID="Image16" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/n.GIF" /><asp:Image
                ID="Image17" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/s.GIF" /><asp:Image
                    ID="Image18" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/h.GIF" /><asp:Image
                        ID="Image19" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/i.GIF" /><asp:Image
                            ID="Image20" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/n.GIF" /><asp:Image
                                ID="Image21" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/e.GIF" />
    <asp:Image ID="Image8" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image7" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image5" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image6" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image9" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image10" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image11" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image12" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image13" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" /><asp:Image ID="Image14" runat="server" ImageUrl="~/Image/list/E.GIF" Height="20px" />
    <asp:Image ID="Image4" runat="server" ImageUrl="~/Image/list/字母素材/字母/g.GIF" /><asp:Image
        ID="Image22" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/A.GIF" /><asp:Image
            ID="Image23" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/R.GIF" /><asp:Image
                ID="Image24" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/D.GIF" /><asp:Image
                    ID="Image25" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/e.GIF" /><asp:Image
                        ID="Image26" runat="server" Height="20px" ImageUrl="~/Image/list/字母素材/字母/n.GIF" /><br />
    <asp:ImageButton ID="ImageButton1" runat="server" ImageUrl="~/Image/list/btnfirst.png"
        OnClick="ImageButton1_Click" />
    <asp:ImageButton ID="ImageButton2" runat="server" ImageUrl="~/Image/list/btnpre.png"
        OnClick="ImageButton2_Click" />&nbsp;
    <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Comic Sans MS"
        Text="Label"></asp:Label>
    <asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/Image/list/btnnext.png"
    OnClick="ImageButton3_Click" />
    <asp:ImageButton ID="ImageButton4" runat="server" ImageUrl="~/Image/list/btnlast.png"
        OnClick="ImageButton4_Click" />
</div>

TopicList.ascx.cs
using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using SunShineGarden;

public partial class TopicList : System.Web.UI.UserControl
{
    private static SqlConnection con;
    private static SqlCommand myCommand;
    private static string sqlString;
    private static int currentForum;
    private static int totalCount;
    private static int totalPage;
    private static int currentPageIndex = 1;
    private const int PageSize = 10;
    private const int PageNum = 10;
    private static int temp;
    private static int begin;
    private static int end;

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            if (currentForum <= 0) currentForum = 1;
            SetSQLString("FROM [Topic] WHERE ([ForumID] = " + currentForum.ToString() + ")");
            totalCount = 0;
            temp = 0;
            BindData();
            begin = 1;
            end = (PageNum < totalPage ? PageNum : totalPage);
        }
        RefreshPage();
    }
    public void SetCurrentForum(int target)
    {
        currentForum = target;
    }
    public void SetSQLString(string target)
    {
        sqlString = target;
    }
    protected string SetHeader()
    {
        MakeHeader();
        string _text = "Total <strong>{0}</strong>  &nbsp&nbspPage <strong>{1}</strong>/{0}&nbsp&nbsp&nbsp&nbsp&nbsp&nbsp";
        return String.Format(_text, totalPage, currentPageIndex);
    }
    protected string ShowID()
    {
        temp++;
        if (temp > PageSize) temp = 1;
        int ans = (currentPageIndex - 1) * PageSize + temp;
        if (ans < 10) return "0" + ans.ToString();
        else return ans.ToString();
    }
    protected string ShowTitle(object dataItem)
    {
        DataRowView _row = (DataRowView)dataItem;
        string _id = _row["ID"].ToString();
        string _output = _row["TopicName"].ToString();
        _output = "<a href=\"ViewArticle?id=" + _id + "\" style=\"text-decoration:none; color:black;\">" + _output + "</a>";
        return _output;
    }
    protected string ShowDate(object dataItem)
    {
        DataRowView _row = (DataRowView)dataItem;
        string _output = _row["DateAndTime"].ToString();
        _output = _output.Substring(0, _output.IndexOf(" "));
        return _output;
    }
    protected void MakeHeader()
    {
        Database data = new Database();
        con = data.Open();
        myCommand = new SqlCommand("SELECT COUNT(*)" + sqlString, con);
        SqlDataReader dr = myCommand.ExecuteReader();
        dr.Read();
        totalCount = Int32.Parse(dr[0].ToString());
        dr.Close();
        if (totalCount % PageSize == 0) totalPage = totalCount / PageSize;
        else totalPage = totalCount / PageSize + 1;
    }
    private void BindData()
    {
        Database data = new Database();
        con = data.Open();
        myCommand = new SqlCommand("SELECT TOP " + PageSize + " * " + sqlString + "ORDER BY [DateAndTime] DESC, [ID]", con);
        SqlDataAdapter _adapter = new SqlDataAdapter(myCommand);
        DataSet _data = new DataSet();
        _adapter.Fill(_data);
        DataList1.DataSource = _data;
        DataList1.DataBind();
    }
    private void RefreshPage()
    {
        JudgePageBtn();
        temp = 0;
        DataSet _data = new DataSet();
        int num = (currentPageIndex * PageSize > totalCount) ? totalCount - (currentPageIndex - 1) * PageSize : PageSize;
        SqlCommand myCommand = new SqlCommand("SELECT TOP " + num + " * FROM" +
            "(SELECT TOP " + Convert.ToString(currentPageIndex * PageSize) + " * " + sqlString
            + " ORDER BY [DateAndTime] ASC, [ID] DESC) AS t1 ORDER BY [DateAndTime] DESC, [ID] ASC", con);
        SqlDataAdapter _adapter = new SqlDataAdapter(myCommand);
        _adapter.Fill(_data);
        DataList1.DataSource = _data;
        DataList1.DataBind();
        CreateFooter();
    }
    public void RefreshPagePublic()
    {
        RefreshPage();
    }
    private void JudgePageBtn()
    {
        if (currentPageIndex == 1)
        {
            ImageButton1.Enabled = false;
            ImageButton2.Enabled = false;
        }
        else
        {
            ImageButton1.Enabled = true;
            ImageButton2.Enabled = true;
        }

        if (currentPageIndex == totalPage)
        {
            ImageButton3.Enabled = false;
            ImageButton4.Enabled = false;
        }
        else
        {
            ImageButton3.Enabled = true;
            ImageButton4.Enabled = true;
        }
    }
    protected void DataList1_ItemCreated(object sender, DataListItemEventArgs e)
    {

    }
    private void CreateFooter()
    {
        if (currentPageIndex == end)
            if (end < totalPage)
            {
                begin++; end++;
            }
        Label1.Controls.Clear();
        for (int i = begin; i <= end; i++)
        {
            addControls(i);
        }
        if (totalCount == 0) Label1.Text = "1";
        if (begin + 1 <= end) Image6.Visible = true; else Image6.Visible = false;
        if (begin + 2 <= end) Image7.Visible = true; else Image7.Visible = false;
        if (begin + 3 <= end) Image8.Visible = true; else Image8.Visible = false;
        if (begin + 4 <= end) Image9.Visible = true; else Image9.Visible = false;
        if (begin + 5 <= end) Image10.Visible = true; else Image10.Visible = false;
        if (begin + 6 <= end) Image11.Visible = true; else Image11.Visible = false;
        if (begin + 7 <= end) Image12.Visible = true; else Image12.Visible = false;
        if (begin + 8 <= end) Image13.Visible = true; else Image13.Visible = false;
        if (begin + 9 <= end) Image14.Visible = true; else Image14.Visible = false;
    }
    private void addControls(int i) {
        Button btn = new Button();
        btn.ID = "btnAdd" + i.ToString();
        btn.Text = i.ToString();
        btn.Height = Unit.Pixel(20);
        btn.BorderWidth = Unit.Pixel(0);
        btn.BackColor = System.Drawing.Color.Transparent;
        if (i == currentPageIndex) btn.ForeColor = System.Drawing.Color.Red;
        btn.Command += new CommandEventHandler(btn_Command);
        btn.CommandArgument = i.ToString();
        btn.Visible = true;
        Label1.Controls.Add(btn);
        if (i != end)
        {
            Label lb = new Label();
            lb.ID = "lbAdd" + i.ToString();
            lb.Text = "|";
            lb.BackColor = System.Drawing.Color.Transparent;
            lb.Height = Unit.Pixel(20);
            lb.Width = Unit.Pixel(5);
            lb.Visible = true;
            Label1.Controls.Add(lb);
        }
    }
    void btn_Command(object sender, CommandEventArgs e)
    {
        currentPageIndex = Int32.Parse(e.CommandArgument.ToString());
        RefreshPage();
    }
    protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
    {
        currentPageIndex = 1;
        RefreshPage();
    }
    protected void ImageButton2_Click(object sender, ImageClickEventArgs e)
    {
        if (currentPageIndex > 1) currentPageIndex -= 1;
        RefreshPage();
    }
    protected void ImageButton3_Click(object sender, ImageClickEventArgs e)
    {
        if (currentPageIndex < totalPage) currentPageIndex += 1;
        RefreshPage();
    }
    protected void ImageButton4_Click(object sender, ImageClickEventArgs e)
    {
        currentPageIndex = totalPage;
        RefreshPage();
    }
    protected void GotoPage(int targetPage)
    {
        if (targetPage <= totalPage && targetPage >= 1) currentPageIndex = targetPage;
        else currentPageIndex = 1;
        RefreshPage();
    }
}



 
Isaac @ 2007-02-10 23:16

被点名了,其实被两个人点名的。。。没办法了,就写两份吧。。。
FFIX的主题曲,很好听的一首歌,感觉很特别

 Q3:当你最不知道穿什么颜色的时候,你会选择什么颜色? 

橙色

Q4:2006年你最后悔的一件事是什么?
虽然在交大很愉快,但是其实还是比较后悔来交大的

Q5:曾经有过最被感动的事是什么?
不说了,其实大部分事情我都比较感动。。。

Q6:比较喜欢爸爸还是妈妈
都喜欢
 

Q7:
你最想要的5样东西
时间
 可以做很多事,看很多书,写很多程序
GPA  这个学期程序设计考萎了,GPA低了。。。
四次元口袋 可以有很多道具,比如传送门什么的
四次元口袋 同上
四次元口袋 同上

Q8:
最后一次发自内心的笑是什么时候
刚才
 

Q9:
如果给你一个机会去世界上任何一个地方旅行
火星好了,要不然黑洞也可以。。。

Q10:如果时间能倒流你希望回到哪一天
我出生的那一天,重新活一次哈

Q11:你心目中理想的爱人是什么样子呢?
描述性的语言不如照片的,不过还是不贴了。。。

Q12
:最想实现的三个愿望是什么?
亲人朋友都幸福
我爱的人能够很幸福
 GPA达到4.3

Q13:用所有你想得到的形容词来描述我给你的感觉,真实最重要!不许开玩笑!
真的有点麻烦,要我写这个东西。。。不过还是蛮可爱的:)

Q14:如果让你拥有一种超能力,你愿意拥有什么呢?为什么?
永远不会衰老,这样我可以活到有更多超能力的时代

Q15:
 
最喜欢哪部电影?
Band of brothers》看了蛮感动的

Q16:与喜欢的人见面,想要穿成什么样?
 
她喜欢的样子

Q17:如果有来生,你选择当...
男生

Q18:最喜欢的食物?
冰激淋

Q19:如何向喜欢的人表白?
直接说吧

Q20:如果你爱的人不爱你怎么办?
不知道

Q21
:你会选择having *** before marriage吗?
 
应该不会

Q22:如果有一天,你生命中最重要的东西离你而去了,你会怎么办?
难过的哭,之后继续我的生活,常常去想过去的日子

Q23:如果从天而降99枚金币,你的第一反应是什么?
 
看一下是不是纯的。。。

Q24:世界末日,你会幸存,并且你可以救一个人,你会怎么做?
太难选了。。。

Q25:如果让你选择做一个电影中的角色,你会选谁呢?
阿斯兰

Q26:
你在乎别人看你的眼光吗?会为了众人的反对放弃自己想要的东西或人吗?
 
在乎
但不会

Q27:想要拥有一个怎样的圣诞?
 
和我爱的人一起吃晚餐,逛街

Q29:你觉得我漂亮挖?瓦咔咔!
呵呵,漂亮哈。。。

Q30:你觉得我幼稚吗?在为人处事方面。
还行
 


Q31
:我有必要减肥么?
没有必要

Q32:你喜不喜欢我?
喜欢的,不过只是朋友

Q33:你最喜欢的一句话是?
在绝望中寻找希望的人生终将辉煌!

Q34:你有男(女)友了吗?


Q35:你最喜欢什么动画片?
高达

Q36:你讨厌怎么样的人?
小家子气的

Q37:觉得我是个怎么样的男(女)生?
 
不是说了么

Q38:会和一个你不爱但很爱你的人在一起么?
很难说,不过应该不会

Q39:会爱一个人多久?
 
彻底放手前不会接受另外一个

Q40:你会放弃你最爱的人吗?如果因为一些原因!
也许吧

Q41:希望以后把自己的家布置成什么样的
有很多薰衣草的

Q42:你觉得人生是什么?
一盘不能存档的游戏,很多时候很无奈

Q43:幸福是什么样子的呢?
能够和心爱的人在一起吧

 Q44:
你觉得自己是怎样的人?
有目标可以长时间努力但是有时很消极,很固执的人

Q45:爱一个人是需要什么理由的呢?
不需要

Q46:相信世界上有永恒的爱情吗?
 
相信

Q47:当和现任女友(男友)在逛街时,突然看见以前初恋的他(她),你会.....?
 
可能会打个招呼,微笑的离开

Q48:现在生活的重心是什么?
程序。。。。。。

Q49:喜欢不喜欢我傻傻的内。哈哈哈。
。。。没想法

Q50:打算几岁结婚生子啊?
不知道

Q51:
如果有一天我生了孩子,你会有什么想法?
 
最好可爱点,不然捉弄起来不爽哈哈

Q52:你觉得我生的宝宝应该叫什么名字好听呢?
 

这个去梦中问我吧,那个时候我最会起名字了
 
Q53: 你觉得我麻烦么~为什么~
 
有点啊,让我写这么多题目。。。。
Q54:谈谈你的理想,具体一点~
做AI,不过看起来比较飘渺的样子
 
Q55:认为永远可以有多远?
无穷远

Q55:
你想不想暑假去日本玩?
已经有学习计划了,所以就不想了
 
我附加的题目
Q56: 你得了寒假无聊综合症么?

第二个
 要傳出去的 5个人
 Allenfw、Shadow、姐姐、猪逻辑公园和Crow
你的名字
  Isaac
多大? 
   18
職業是 
   学生
興趣是
   写程序,睡大觉
喜歡的異性類型
  前面写过了。。。
專長/特技是什麼
   写山一样的程序。。。
有沒有什麼證書
  一打。。。都没用
有煩惱的事情嗎?
  显然有
喜歡和討厭的食物?
  喜欢冰激凌
  讨厌香鱼
對你愛的人說一句話
  天天开心
請介紹你要傳出去的那5人
 Allenfw:好哥们
 Shadow:很好的朋友吧
 姐姐:这个么姐姐就是姐姐拉。。。
 猪逻辑公园:ACM班的牛人,冬天只穿两件的
 Crow:很有意思的家伙,一起做项目的
用一種動物來比喻傳問卷給你的人
   不知道什么动物比较合适
用喜歡的颜色來比喻傳問卷給你的人 
   
用食物來比喻傳問卷給你的人 
   同上
用顏色來比喻將接棒的五人按順序:
 Allenfw:#CA443B
 Shadow: #B775BD
 姐姐:# FFF92A
 猪逻辑公园:#FFFFFF
 Crow:#000000
终于写完了。。。被我点到的加油吧。。。


 
网志分类
· 所有网志 (71) · Life (41) · Computer Science (17) · Hobby (1) · Other (6) · 未分类 (6) ·
最新的评论
站内搜索
友情链接
· 我的歪酷 非非共享界 · My new blog@wordpress · Mohan Yang@CIS · 中华房产网 · My MSN Space · Only the Strong Survive · 四月 · Azure · 我们的黑白棋 · Free Air · Ryan · 不要形式的BLOG · 兔子 · 伽罗瓦是只猫的BLOG · yoyoo · 莫莫 · 永不独行 · RT's Homepage

订阅 RSS

0068277

歪酷博客