Kelp-Space 是記錄一些生活雜事的Blog
如有任何程式設計的問題歡迎到 飛特技術論壇 討論

2008-11-26

ListView 使用其他Column排序


執行結果就像這樣。
不使用第一排進行排序,而是使用第二或其他排來做排序。

...繼續閱讀

2008-10-25

如何學習程式設計

筆者從接觸程式到現在已經有五年了,這段期間碰過很多學習程式設計的人,大部分的人經過五年後還是差不多,但有一些人已經會做很危險的東西。功力的強弱不是看接觸多久,主要是看進步的速度,就像剛剛所說的,大部分的人花了五年的時間,卻達不到少數人一年所成長的功力。就科技產業而言,時間是很重要的,等到你龜速成長完畢後其他人不知道已經賺多少錢了,而且這些已經在賺錢的人不會成長嗎?很多人會問"學程式設計的秘訣是什麼?",其實筆者也不太清楚,如果硬要說的話天分是其中的一環。但光有天分是沒用的,這些成長速度很快的人一定有段時間是花大量時間在程式設計上,而成長速度很慢的人這時候通常在打電動,因為網路遊戲實在太令人著迷了。

...繼續閱讀

Sample Programs Using Asynchronous Sockets

Now that you have studied all the pieces, it’s time to put them together and create a set of real Windows asynchronous network programs. The following two programs recreate the SimpleTcpSrvr and SimpleTcpClient programs (Listings 5. 1 and 5.2, respectively) introduced in Chapter 5, "Connection-Oriented Sockets," but this time they use asynchronous network methods.

The Client Program
The AsyncTcpClient.cs program (Listing 8.2) uses the .NET Windows Forms library to create a Windows GUI environment for a simple TCP client. In a Windows environment, it is important that the program respond to Windows events from the user, as well as from the network

...繼續閱讀

霹靂燈 - 使用右移減少燈數

某天在看加強版遊戲王的時候MSN突然傳來求救訊息。
順道把這個功能的程式PO上來。
這個功能怎麼想都只能想到這麼爛的標題。
直接看功能要求。
使用晶片為8051。

...繼續閱讀

Ark - Data Backuper 緩備份軟體 (開源碼 1.0.0.4)

【軟體名稱】:Ark - Data Backuper
【軟體分類】:檔案備份
【軟體性質】:開源軟體
【檔案大小】:566kB
【放置空間】:Phate
【軟體介紹】:

...繼續閱讀

抓取檔案的ICON

抓取檔案的ICON程式碼 複製程式碼(Copy to clipboard)
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

namespace TestProject
{
    public partial class Form1 : Form
    {
        [System.Runtime.InteropServices.DllImport("shell32")]
        private static extern IntPtr ExtractAssociatedIcon(IntPtr hInst, string lpIconPath, ref int lpiIcon);
        private IntPtr hIcon;

        public Form1()
        {
            InitializeComponent();

            this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

            int iIconIndex = 0;
            hIcon = ExtractAssociatedIcon(this.Handle, "D:\\123.jpg", ref iIconIndex);
        }

        private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
        {
            Icon icon = Icon.FromHandle(hIcon);
            e.Graphics.DrawIcon(icon, 10, 10);
        }
    }
}

抓取短檔名

C#是使用unicode所以遇到日文或其他語言的路徑都不太會發生問題。
但使用了.net framework以外的東西,傳了其他語言的路徑時有可能出錯。

筆者而在.net framework裡沒找到轉shortPath的函數,所以只好調用API....
如果.net framework可以直接轉的話就請大大PO上來了。

...繼續閱讀

進制轉換簡介

//十進制轉二進制
Console.WriteLine(Convert.ToString(69, 2));
//十進制轉八進制
Console.WriteLine(Convert.ToString(69, 8));
//十進制轉十六進制
Console.WriteLine(Convert.ToString(69, 16));

...繼續閱讀

2008-09-12

2008、2009年作品預告

2008年12月中前預計完成Ark - Data Backuper 1.1
2009年12月初前預計完成Evis Ain 1.3
2009年12月底前預計完成Evis Vita 1.3

Ark是用來緩備份的軟體,軟體性質為開源碼。
Evis Ain 為遠控軟體,軟體性質為免費軟體。
Evis Vita 為遠控軟體,軟體性質為付費軟體。

2008-09-06

GetDevice.ocx 抓取電腦硬體名稱

GetDevice.ocx這個元件可以用來抓取電腦硬體名稱。
像是RS232、USB......等
尤其是RS232,一般用到RS232的軟體都有一個combox讓使用者選擇要用哪個port。
而要列出這些port讓使用者選擇時總不能連不存在的port也列上去。
先用這個元件把RS232硬體抓出來後再將這些port加入combox是一個不錯的方法。
檔案下載位置 (VB6程式碼)

2008-09-03

Ark Data Backuper 開發記錄

Ark Data Backuper是一款用來緩備份的軟體。
算是一種常駐軟體,當他在備份時不會消耗過高的CPU及硬碟使用率。
本專案從9/1開始策劃,軟體性質為開源碼。

2008-08-25

FC 1.0 開發記錄

今天最後測試完成。
速度也調上來了,一開始速度被拖下來是程式上的缺失,C#的速度跟VB6差不多。
優點是真正的多執行緒,因此很容易的將掃描報告傳回來。
VB要做的話一定要寫成兩隻exe,不然只要開始測試就會看到程式死在那邊。
因為VB沒有真正的多執行緒,我記得之前寫的時候第二個執行緒的程式連物件都不能用。
要傳掃描報告回主控端的話有三個方法。
1. 記憶體共用。 -- 這個真的超複雜的
2. 事件中夾帶參數傳遞。 -- 程式不好寫
3. 寫到硬碟。 -- 這個速度會慢一點點 重點是感覺好鳥 = =|||

C#的話輕鬆過關,叫第二個執行緒出來就好。

2008-08-18

使用Socket完成FTP檔案存取

為了使用.net framework 2.0完成FTP檔案傳輸,真是花了不少時間。
這隻程式用了Barakbbn.Freeware.Net.Sockets。
使用時總共要加入兩個.cs檔(Barakbbn.Freeware.Net.SocketsKelp.Opensource.FTPClient)。
相關說明有打在註解上,如果還是不清楚的話可以留言發問。
Barakbbn.Freeware.Net.Sockets相關文章

...繼續閱讀