Feeds:
文章
迴響

Archive for 2006 年 02 月

Google 個人網頁空間
 
教學
 
特色:
1. 空間 100MB
2. 所見即所得編輯器
3. 採用 AJAX 技術

Read Full Post »

 
軟體:Kudaz(版本:1.7.0.0)
類別:工具其他
性質:Freeware(1.38 M)
【編輯/王國淵】
許多程式開發人員都會有一些慣用的開發工具,這些工具就像他們的第三隻手一樣,能夠幫助他們迅速處理許多工作。但是,許多知名的編輯軟體都是需要付費使用的,在這樣的情況下,如果想要找套免費又好用的編輯工具似乎就不容易了。不過,如果你還沒試過 Kudaz ,那麼在嘗試過後,它也許能夠改變你的這些觀念。
Kudaz 是一款免費且綠色免安裝的程式編輯器,雖然一般使用者也能夠拿它來當作普通的文字編輯器,但是它的確是為了程式設計的目的而開發的。使用者在下載之後,只需要解壓縮後就能直接使用,且 Kudaz 會將所有的設定儲存於 .INI 檔案中,這也就表示,你能夠將它放置於隨身碟之中,往後不論走到哪裡,就有一套慣用的程式開發工具能夠使用了。
Kudaz 目前所支援的程式語言有底下的 53 種,且仍然持續增加當中,如果你還沒試過,那麼趕緊來試試這款各大軟體網站都五星級推薦的小巧編輯器吧!
C/C++ , CA-Clipper, Cascading Style Sheet , COAS Product Manager Report, COBOL , CORBA IDL , Fortran, Foxpro, Gembase, GW-TEL , HP48, HTML, INI File , Inno Setup Script, Java , JavaScript, Modula 3, MS VBScript , MS-DOS Batch , Object Pascal, Perl, PHP , Python, SQL, Standard ML , Structured Text, Tcl/Tk, TeX, Visual Basic , x86 Assembly , XML , Modelica, Semanta Data Dictionary, Galaxy, Cache Object Script, KiXtart, Haskell, Unreal, Progress, UNIX Shell Script, C#, 68HC11, Assembler, AWK, Baan 4GL, Borland Forms, URI, ADSP21xx, Ruby, Resource Script, SynGen Msg, LEGO LDraw, DOT Graph Drawing Description language, Eiffel .

Read Full Post »

今天處理一個錯誤回報,得到下列的錯誤訊息(敏感的字句移除了)
Warning: filesize(): Stat failed for xyz.tgz (errno=75 – Value too large for defined data type) in test.php
 
查到下面的參考
 
主要是因為目前 PHP 不支援 LFS(目前單一檔案最大只能處理 2GB),該功能預計在 PHP5.1 才支援,目前該 bug 受影響的函數有
is_dir
is_file
is_link
filesize
filemtime
 

Read Full Post »

SQLite for C# 測試

/**
 * SQLite 測試
 *
 * 環境:
 * [1] Windows 2000 PRofessional
 * [2] Finisar.SQLite 0.21, http://adodotnetsqlite.sourceforge.net/downloads/
 * [3] SQLite3, http://www.sqlite.org/download.html
 * [4] Visual Studio 2005 Express
 *
 * 設計者:Chui-Wen Chiu(Arick)
 *
 * 日誌:
 *  2006/02/16  建立
 **/
using System;
using System.Data;
using Finisar.SQLite;
using System.Text;
  
namespace SQLiteTest {
    class Program {
        public static SQLiteCommand sqlite_cmd;
        /// <summary>
        /// 建立 DB
        /// </summary>
        public static void createDB() {
         string sql = "CREATE TABLE user("+
           "id INTEGER PRIMARY KEY, "+
           "name text, "+
           "sex int(1) NOT NULL DEFAULT 0 "+
              ")";
            sqlite_cmd.CommandText = sql;
            sqlite_cmd.ExecuteNonQuery();
        }
        /// <summary>
        /// 刪除 DB
        /// </summary>
        public static void removeDB() {
            string sql = "DROP TABLE user";
            sqlite_cmd.CommandText = sql;
            try {
                sqlite_cmd.ExecuteNonQuery();
            } catch (Exception ex) {
            }
        }
        /// <summary>
        /// 新增一位使用者
        /// </summary>
        /// <param name="name">使用者名稱</param>
        /// <param name="sex">性別(0=女, 1=男)</param>
        public static void addUser(string name, int sex) {
            string sql = " INSERT INTO user (name, sex) " +
                         " VALUES (‘"+name+"’, "+sex+") ";
            sqlite_cmd.CommandText = sql;
            sqlite_cmd.ExecuteNonQuery();  
        }
        /// <summary>
        /// 列出全部的使用者
        /// </summary>
        public static void listUser() {
            SQLiteDataReader sqlite_datareader;
          
            string sql = "SELECT * from user";
            sqlite_cmd.CommandText = sql;           
            sqlite_datareader = sqlite_cmd.ExecuteReader();
           
            Console.WriteLine("idtnametsex");
            Console.WriteLine("————————————————");
            while (sqlite_datareader.Read()) {
                Console.WriteLine("{0}t{1}t{2}",
                    sqlite_datareader["id"],
                    sqlite_datareader["name"],
                    sqlite_datareader["sex"]);
            }
        }
        static void Main(string[] args) {
            // 建立連線
            SQLiteConnection sqlite_conn;                       
            sqlite_conn = new SQLiteConnection("Data Source=ChuiWenChiu.db;Version=3;New=True;Compress=True;");           
            sqlite_conn.Open();           
            // 建立查詢命令物件
            sqlite_cmd = sqlite_conn.CreateCommand();
            removeDB();
            createDB();
         addUser("arick", 1);
         addUser("mavis", 0);
         addUser("joss", 1);
         addUser("jack", 1);
         addUser("王小明", 1);
            listUser();
 
            // 關閉連線           
            sqlite_conn.Close();
        }
    }
}
執行結果:

Read Full Post »

SQLite for PHP 測試

環境:
1. PHP 4.4.2 for Windows
2. Windows 2000 Professional
下載 php_sqlite.dll (範例使用 4.4.1 )
http://pecl4win.php.net/ext.php/php_sqlite.dll
3. SQLite 2.x
 
1. 假設 php 安裝在 c:php4,將 php_sqlite.dll 放置在 c:php4
2. 修改 c:winntphp.ini
  2.1 加入延伸模組 extension=php_sqlite.dll
  2.2 指令延伸模組的載入路徑 extension_dir = "."
3. 範例程式(下載)
<?php
/**
 * SQLite 測試
 *
 * 2006/02/16 Chui-Wen Chiu
 *
 **/
function createDB(){
 $sql = "
  CREATE TABLE user(
   id INTEGER PRIMARY KEY,
   name text,
   sex int(1) NOT NULL DEFAULT 0   
  )
 ";
   sqlite_query($GLOBALS[‘db’], $sql);
}
function removeDB(){
 $sql = "DROP TABLE user";
 sqlite_query($GLOBALS[‘db’], $sql);
}
function addUser($username, $sex){
   $sql = "
  INSERT INTO user (name, sex)
  VALUES (‘{$username}’, {$sex})   
   ";
   sqlite_query($GLOBALS[‘db’], $sql);
}
function listUser(){
   $sql = "
  SELECT * FROM user
   ";
   $result = sqlite_query($GLOBALS[‘db’], $sql);  
   echo "idtnametsexn";
   echo "————————————————n";
   while( $data = sqlite_fetch_array($result) ){
    echo $data[‘id’], "t", $data[‘name’], "t", $data[‘sex’], "n";   
   }
}
// — MAIN() ——————————————————————————
$dbName = ‘ChuiWenChiu.db’;
if ($GLOBALS[‘db’] = sqlite_open($dbName, 0666, $sqliteerror)) {
 removeDB();
 createDB();
 addUser(‘arick’, 1);
 addUser(‘mavis’, 0);
 addUser(‘joss’, 1);
 addUser(‘jack’, 1);
 addUser(‘王小明’, 1);
 listUser();
} else {
   die($sqliteerror);

 
?>
4. 執行結果:

Read Full Post »

Google Video

搜尋 Video 的好工具… 只不過 keywork 要輸入英文….例如:firework 可以找到ㄧ堆煙火的影片

Read Full Post »

DEF 產生 LIB

使用 VS2005 中 C++ 工具的 lib.exe
 
lib /def:sqlite3.def /MACHINE:x86
 
產生
sqlite3.lib
 
 

Read Full Post »

Older Posts »