2011年11月11日 星期五

Flash 使用 Google Spreadsheet Form 在 AS2 出問題

Flash 使用 Google Spreadsheet Form
試了兩天,AS2 還是不行,前半段是遇到網頁空間不支援 curl 模組,傳回的訊息是傳送 OK,害我以為是 Google Apps 權限問題。
後半段開始與原作者網頁的問題訊息相同,把AS2程式裡面的 php 亂改,訊息也沒變....XD

想放棄 AS2改用AS3,但是 AS3 的程式無法直接拿來AS2的Project用,無奈只好放棄。

另外值得一提的是:其實這個 Flash 並不需要執行 Local 的 php,作者也是用另一網頁空間的。

參考:
http://bp.51donate.com/2011/04/google-spreadsheet1.html
http://blog.ouseful.info/2009/05/18/using-google-spreadsheets-as-a-databace-with-the-google-visualisation-api-query-language/
http://www.open-electronics.org/how-send-data-from-arduino-to-google-docs-spreadsheet/

2011年11月9日 星期三

變更公司名稱 SEO 問題

客戶換公司名,網址跟著換,因為 SEO 關係,只得慢慢轉換...現在內含關鍵字是半新半舊。
虛擬主機那邊是用"網站替身"(網站別名)來設定新的網域名。
結果登記 google site map 出問題,狀態顯示黃三角驚嘆號圖示,大神認為那是轉址,不列入索引。

現在只好反過來,舊名字是替身,驚嘆號果然不見了!
看來大神認為替身(別名)跟轉址是一樣的 XD

對於Google 來說,還是得按照他的規則,就網域用 301 轉到新網域,新舊網域都是指向同一空間的話,那就需要在起始頁作一下程式判斷舊網域,然後跳到新網域,可參考...

http://www.yes-seo.tw/2011/04/html-301-redirect/
http://blog.miniasp.com/post/2008/02/10/How-Do-I-Get-Paths-and-URL-fragments-from-the-HttpRequest-object.aspx

遷移網站

    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.Url.Host == "www.舊網域")
        {
            Response.Status = "301 Moved Permanently";
            Response.AddHeader("Location", "http://www.新網域");
        }
    }

題外話:
無意間,剛剛發現虛擬主機有啟用 DNS,這樣不就跟網域名稱設定"代管"模式相沖了嗎?
竟然相安無事一年多......可能是兩者都者向相同IP位址的關係。

2011年10月17日 星期一

XP 加速

  • 無意間發現 jqs.exe 會定時存取磁碟,週期大約是15秒。原來是 Java 的快速啟動...可參考:關閉自私的 Java Quick Starter。 Open office 也有類似的程式,不過他不是偷偷進行的,比較容易發現。

2011年9月26日 星期一

學習 Flash,官網文件混亂

找說明文件當然是以 中文 pdf 為佳,結果官網太複雜,新舊不一,pdf 檔不多見。
只好記一下線上文件位置...期望官網別再改位置了!!

說明 ActionScript 2.0 和 3.0 的不同

ActionScript 2.0 語言參考增補內容

程序迁移到Adobe ActionScript 3的重要概念

2011年9月25日 星期日

在Blogger 使用 SyntaxHighlighter 3.0

測試一下...
SyntaxHighlighter.autoloader(
'applescript http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAppleScript.js',
'actionscript3 as3 http://alexgorbatchev.com/pub/sh/current/scripts/shBrushAS3.js',
'bash shell http://alexgorbatchev.com/pub/sh/current/scripts/shBrushBash.js',
'coldfusion cf http://alexgorbatchev.com/pub/sh/current/scripts/shBrushColdFusion.js',
'cpp c http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCpp.js',
'c# c-sharp csharp http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCSharp.js',
'css http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js',
'delphi pascal http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDelphi.js',
'diff patch pas http://alexgorbatchev.com/pub/sh/current/scripts/shBrushDiff.js',
'erl erlang http://alexgorbatchev.com/pub/sh/current/scripts/shBrushErlang.js',
'groovy http://alexgorbatchev.com/pub/sh/current/scripts/shBrushGroovy.js',
'java http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js',
'jfx javafx http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJavaFX.js',
'js jscript javascript http://alexgorbatchev.com/pub/sh/current/scripts/shBrushJScript.js',
'perl pl http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPerl.js',
'php http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js',
'text plain http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPlain.js',
'py python http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPython.js',
'ruby rails ror rb http://alexgorbatchev.com/pub/sh/current/scripts/shBrushRuby.js',
'sass scss http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSass.js',
'scala http://alexgorbatchev.com/pub/sh/current/scripts/shBrushScala.js',
'sql http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js',
'vb vbnet http://alexgorbatchev.com/pub/sh/current/scripts/shBrushVb.js',
'xml xhtml xslt html http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js'
);
SyntaxHighlighter.config.bloggerMode = true;
SyntaxHighlighter.all()


參考來自:
http://novathinking.blogspot.com/2011/04/blogger-syntaxhighlighter-30_471.html
可以選用的著色語法:
http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/

2011年9月9日 星期五

NetBean 7 subversion import 後,清除回無版本控制狀態

NetBean 7 subversion import 後,想清除回無版本控制狀態...
  1. 關閉 project ,刪除 project 下的所有的 .svn
  2. 清除 C:\Documents and Settings\xxx\.netbeans\7.0\var\cache\svncache
  3. 重開 project

2011年8月25日 星期四

PHP 程式碼混淆器 (Obfuscator and Encoder)

PHP Obfuscator and Encoder (PHP 程式碼混淆器)
PHP 程式碼保護,虛擬主機商支援的,編碼都要錢,免費的都需自行安裝...
只好退而求其次,使用混淆器,使程式難懂...XD
試過...
  • POBS 0.9.9, 2003年,PHP 寫成的,在 PHP5.3 需要改不少地方。官網推薦比較新的 http://www.raizlabs.com/software/phpobfuscator/,可惜也停了,沒啥可下的。
  • YAPHPO 1.0.1, 2007年,也是PHP 寫成的,需要在命令列執行,選項較少。
POBS 在PHP5.3有許多問題:
  • 許多地方需改成 isset() 的判斷方式
  • 有個 md5() 參數沒給值
  • 對於字串內的註解會誤判
  • 未處理的檔案複製沒有先比對日期,導致編譯費時
  • 目標資料夾因為PHP權限問題,需位於來源資料夾內,那將導致無窮盡迴圈
  • 變數位於不同檔案時,更新某檔會缺乏連動機制,導致名稱不一致
  • 變數位於 conf 檔時,需要一一排除這些變數...數量大時很麻煩

後來也試了 PHP Obfuscator (POBS 官網推薦的),沒想到這 C# 做的更慘:
  • 一開始就整個資料夾刪除再複製,無法設定那些子資料夾不必複製。
  • 目的資料夾有唯讀檔案時會跳出。
  • 複製檔案都沒比對日期,缺乏效率。
  • 原本期待.NET的 Regx 有特異功能 "群組堆疊" ,似乎也沒發現,程式用迴圈在讀巢狀符。
  • 我有個比較老的 PHP檔,竟然讓它死當了,懶得查原因,可能有變數放在 conf 沒被讀進吧?
  • 這是很可能是個還沒 Release 就掛了的 Project 。2007年就停了,只好放棄...

2011年8月2日 星期二

phpMyAdmin 3.3.9 在 UTF-8 的 MySQL 下,建立資料庫卻不是 utf-8 的

phpMyAdmin 3.3.9 在 UTF-8 的 MySQL 下,建立資料庫卻不是 utf-8 的,而是一個瑞典的編碼?
結果一路建下去,每個表格與欄位都要改為 utf-8 unicode-ci,真糟糕!!

也許一開始建立資料庫就要注意 "校正" 的編碼是否正確,不然用 UI 反而沒效率...
嗯~本來 UI 就比較沒效率!!

2011年6月27日 星期一

MS Access 在查詢時文字欄位的結合問題

MS Access 在查詢時文字欄位的結合,CName: 文字欄1 + 文字欄2
只要有一欄是 NULL,這個運算也變成NULL 了,沒有錯誤訊息...

在 SQL 找不到能用的指令,只好求助 VBA 函數...用 IIF() 防止 NULL...
例如: (C1,C2 是同表格不同代號)
CName: IIf([C1.CName] Is Null,'',[C1.CName])+IIf([C2.CName] Is Null,'',[C2.CName])

另外,在 Access 2000 查詢設計中,勾選不顯示的欄位代號都會變成詢問數值的方式,所以不顯示的欄位代號沒辦法拿來簡化運算式,還是我哪邊沒設好 ?

2011年6月23日 星期四

GridView 在 VS2008 精靈掛點

GridView 在 VS2008 分割模式下,改變原始碼 DataSource 的欄位設定,可能導致設計模式的精靈掛點,無法進去編輯,這時設計模式的畫面顯示許多的 "資料繫結"。

解決辦法: 在這個 GridView 點選資料結構重整,但是在確認時回答"No",以免毀了之前的欄位設定,也許之前需要回答 Select 條件的 Key 值,選好資料型態,給個樣本值即可。
這樣垂死的精靈又活過來了!!

2011年6月13日 星期一

找出表格 A 中,不在表格 B 的資料

直覺是用子查詢,然後用 NOT...,可是有更好的方法: MS ACCESS 中,TABLE A LEFT JOIN B ,可是要找出 B 所沒有的,此時可以利用 B 特有的欄位,WHERE B.欄位名 IS NULL,這樣比用 NOT 條件好用。不過那個欄位不能有NULL 值 (建立時,要指定預設值,限制不能 NULL)。

可以參考論壇最後一樓高手所建議的:
http://www.programmer-club.com.tw/ShowSameTitleN/sqllanguage/569.html

空的 Try

ASP.NET C# 在 Page load 中 Try...Catch 遇到怪事,Try 裡面的指令還沒開始執行,就已經跑到 Catch 了!!
只好在 Try 之前,又弄一個空的 Try...

2011年6月7日 星期二

Visual Web Studio 2008 express 網站資料夾更名問題

這個問題困擾我一陣子,只要更換資料夾名稱,sln 檔就開不起來。
甚至還嘗試過修改 sln 檔案內容,都沒成功。

後來迷迷糊糊選"新網站"時,選到舊的資料夾,出現神奇的選項,可以沿用舊的網站資料夾耶...

P.S. 另一個怪方法,用 "開啟網站",選到舊的資料夾,然後關閉 VS2008,這時發現 Projects 已經自動產生 sln 檔案與子目錄了!

2011年6月3日 星期五

螢幕顏色校正

螢幕顏色校正的效果很好,但是 SpyderExpress 2.3.6 只能針對主螢幕做校正,有點可惜...

eeb 大大,在討論區提到雙螢幕的做法:

如果只是要調整雙螢幕
那微軟提供的程式夠了

http://www.microsoft.com/downloads/...&DisplayLang=en

裝這各之前要先裝 .NET 1.1

1.安裝SPYDER校色軟體
2.關掉副螢幕,對主螢幕進行校正取得ICC PROFILE
3.更名ICC PROFILE,路徑理論上是在C:\WINDOWS\system32\spool\drivers\color
4.打開副螢幕關掉主螢幕並等待超過30分鐘(一小時更好)
5.移除SPYDER軟體開機自動載入ICC PROFILE的捷徑並重開機
6.對附螢幕進行校正並取得ICC PROFILE
7.更名ICC PROFILE
8.移除SPYDER軟體並安裝微軟的軟體
9.控制台COLOR對不同顯示器分別指定PROFILE
10.在啟動裡新增 安裝路徑/wincolor.exe /L
11.重開機大公告成



我的情況有點複雜,ATI 顯示卡控制台,看到兩張卡(不是主機板的,似乎是兩個螢幕的名字),共四個螢幕,其中兩兩牽連,每個都切換不同校色檔就能看出來了。
預設安裝路徑是 "C:\Program Files\Pro Imaging Powertoys\Microsoft Color Control Panel Applet for Windows XP\WinColor.exe"

重灌OS 的備忘

重灌OS 的備忘丟了 (忘記備忘,哈哈)
再記錄一次吧

  • 通訊錄(手機同步來的資料),FTP 軟體帳號,MSN 紀錄
  • 記下磁碟代號 (安裝OS時,很可能大亂),共享資料夾的名稱與路徑
  • 防毒軟體防火牆設定
  • 我的文件、圖片
  • 工作排程 Tasks
  • Driver 備份
  1. 依序分割 15GB,25GB,分別做為快取與OS,接下來才是資料區。這樣能方便重整磁碟。
  2. 安裝 OS
  3. 變更 AHCI 模式
  4. 安裝 RamDisk

2011年5月31日 星期二

32bit XP 要使用 3.2GB 以上記憶體

虛擬磁碟(PAE 可達 64GB RAM) ramdisk.exe

裡面有個 ram4g.reg 註冊檔,雙擊後就可以讓 RamDisk 認得 3.2GB 以上的記憶體空間; 還有記得就是要啟動 PAE 功能,在 Windows XP 系統下,是要編輯 C:\Boot.ini,在開機選項內再加上 /PAE 參數
http://www.kenming.idv.tw/a_c_ucsrcmpeusar_4gb_aryac_eu_a_pel_aarc

XP 安裝 SATA AHCI 模式

如果要在安裝XP時,可以認出 AHCI,很麻煩,需要主機板廠商提供的軟碟...

但是在一般已經安裝好的 XP ,反而比較容易...

  1. MSI K9N2G Neo 主機板XP驅動SATA,BIOS啟動AHCI模式,這是Nvida MPC78S 晶片組,效能增加30%。做法是將"標準IDE控制器" 強制更換SATA驅動,在sata_ide目錄,替換後不要重新開機
  2. 改掉REGISTRY 的鍵值....HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CriticalDeviceDatabase\pci#ven_10de&dev_0266&CC_0101改為 mcp_x32_mb.zip/XP/IDE/WinXP/sata_ide/nvgts.inf檔,[NVIDIA]裡面的%NVSTOR_DESC%=NVStor_Inst,PCI\VEN_10DE&DEV_0AD4&CC_0106 也就是紅色字,替換即可。
  3. 重新開機,改 BIOS 的 IDE 為 SATA 或是 AHCI (不是 RADE)
  4. 如果出現藍天白雲死當,那就按 F8 恢復上次設定,BIOS 改回 IDE,再進去xp改一次 (可能需要多次嘗試,一共八組,失敗時會重新開機,按F8恢復上次正常開機即可。這也許和STAT位置有關,我第三次就成功)
最後就成功進入xp,會再要求開機一次。

TableAdapter Fill 大量資料出問題

當 TableAdapter.Fill() 一個14萬筆的資料時,如果有新的Request 進來,容易發生嚴重錯誤...
最糟的一次是 mdb 檔案被鎖住,後台關閉網站也沒轍。只能請 Host 客服解決了...
這讓我嚇一大跳,因為 Fill() 還蠻常用在程式裡面的小查詢上,還好都是一千筆以下的 Table。

可是,萬一同時很多人 Request 進來,那麼出問題的機率將大增。
還是,這是 Access 資料庫的老毛病,聽說超過十萬就容易不穩定...

後來改成 OleDB 的 ExecuteScalar() 才避免此問題,速度也快很多。
這表示,Fill() 所讀取的資料量太大而出問題? 可能超出主機商所設定的門檻,結果鎖住程式...

看來以後查詢資料庫要盡量避免使用 Fill()

2011年5月24日 星期二

PHP 改用 utf-8

PHP 改用 utf-8,真有一種無痛升級的感覺。
感覺上,只要 php 檔轉成 utf-8 即可,那些字串,文字檔案處理都是全自動...這實在太神奇啦!! (相對於我以前玩MFC)
http://www.xjcncn.com/school/programme/php/200709/1502.html

不過,還是有些需要指定參數...像資料庫之類的。
http://phorum.study-area.org/index.php?topic=36484.0

應該不會這麼簡單才對,還有許多未爆彈在我程式裡面吧?

2011年5月15日 星期日

手癢想要試試 CPU 升級

AMD CPU 系的主機板,腳位 AM2、AM2+、AM3 常常困擾我,因為通常不同腳位是插不上的,但是這三個是相同的,最大差異是 HT 頻寬,也就是對應到記憶體 DDR2 800、DDR2 1066、DDR3 1600,所以主機板有分,但是 CPU 卻能向前相容,例如 AM3 CPU 可以三種板子都插,只是有些BIOS 認不出新的 CPU,不過應該還能用。可參考:
http://5i01.com/topicdetail.php?f=296&t=1114968&p=1

MSI K9N2G Neo 官網在 2011年5月初突然把 CPU 支援表變更格式,內容比較舊,需要改看英文版的資訊比較新: http://www.amd.com/us/products/desktop/processors/phenom-ii/Pages/phenom-ii-model-number-comparison.aspx

目前 CPU 是4000+,2.1GHz,之前提升FSB 由200MH 升到240MHz,ㄧ天兩次音爆,傍晚就死當了,手癢想要試試不鎖頻的 CPU,把頻率昇到 3.2GHz...

2011/07/04
前兩週成功升級到三核 450,這顆比四核640便宜,時脈卻比較快一些。HT 也達到AM2+ 的極限。45nm 也比較低溫省電。
前天遇到雷擊停電,漸漸不能開機,連BIOS 也看不到,以為是 Power 掛了,因為這顆曾拆過修風扇,天呀! 後還證明是記憶體接觸不良 (有四排DDR2,加上主機有風扇震動聲音,真像是電源不穩定阿)。
這樣推測,之前的音爆也是這個問題嗎?

2011年5月14日 星期六

Access mdb 檔,權限問題

新複製一個 mdb 後,上傳到虛擬主機才發現新增和刪除都不行,錯誤訊息之一:
Operation must use an updateable query.

原來在 localhost 時,權限是很大的,但是上傳到虛擬主機就不一樣了。
錯誤訊息都看不出是權限問題,FTP 上面也得不到權限資訊,這時就麻煩,需要登入管理介面...

以下參考在 http://vbb.twftp.org/archive/index.php/t-9285.html

應該是底下這個帳號
Plesk IIS WP User (IWPD_620(cingjing))
WP: Worker Process ,所以他用的應該是Windows 2003, IIS 6.0
授權這個帳號寫入的權限試試。

Plesk IIS User (IUSR_cingjing) 應該就是我說的 IUSER_MACHINE, MACHINE指的是電腦名稱。

2011年5月9日 星期一

ASP.NET Page.DataBind 導致不想 Bind 的也都 Bind 了

當我用 "下拉式選單" ASP控件(已Bind 到資料庫) 選了某檔案要播放,而這個檔名需透過 Eval 來 Bind 到頁面,結果要 Page.DataBind 時,發現剛剛選的已經又回到第一個,與實際顯示的不一致。
也許 Eval 那種也可以單獨 Bind,有人知道嗎...

2011年5月2日 星期一

取代 Marquee 的跑馬燈程式

下列都是自動捲動,只有滑鼠遊標在上面時才會停...

捲動的是 ul li,每次捲一列 li,每一列都是無法換行的,適合簡短的文字。
http://vlab.info/pages/jquery.scrollbox.html

連續往上捲動 div
http://www.sosuo8.com/article/show.asp?id=318
試後發現,捲兩回合後會閃一下,跳回開頭來繼續捲...
改良 "閃一下" 的問題: 加了新變數 nLastPos...

        var nLastPos = 0;
        var stopscroll = false;
        var scrollElem = document.getElementById("andyscroll");
        var marqueesHeight = scrollElem.style.height;
        scrollElem.onmouseover = new Function('stopscroll = true');
        scrollElem.onmouseout = new Function('stopscroll = false');
        var preTop = 0;
        var currentTop = 0;
        var stoptime = 0;
        var leftElem = document.getElementById("scrollmessage");
        //scrollElem.appendChild(leftElem.cloneNode(true));
        init_srolltext();

        function init_srolltext() {
            scrollElem.scrollTop = 0;
            setInterval('scrollUp()', 25); //延遲時間 ms
        }
        function scrollUp() {
            if (stopscroll) return;
            currentTop += 2; //很妙,改成 1 ,可以變成閒歇性的捲
            if (currentTop == 19) {
                stoptime += 1;
                currentTop -= 1;
                if (stoptime == 180) {
                    currentTop = 0;
                    stoptime = 0;
                }
            } else {
                preTop = scrollElem.scrollTop;
                scrollElem.scrollTop += 1;
                if (preTop == scrollElem.scrollTop) {//捲不動了,表示盡頭
                    //if (CB_Dconsole) console.log(preTop);
                    //scrollElem.scrollTop = 0;
                    //scrollElem.scrollTop += 1;
                    if (nLastPos == 0) {//第一次需要複製一份在後面,好繼續捲下去
                        nLastPos = preTop;
                        scrollElem.appendChild(leftElem.cloneNode(true));
                    }
                    else {//第二次到盡頭時,跳到上一次的盡頭,重新捲
                        scrollElem.scrollTop = nLastPos;
                    }
                }
            }
        }

2011年4月25日 星期一

XAMPP 1.7.4

XAMPP 1.7.4 for Windows,安裝後,phpMyAdmin 無法啟動,訊息是: #2002 - 伺服器並無回應。上網爬了整天,試了很久都無效,最後發現是連結問題:
在 navitoolsbasic.inc ,/phpMyAdmin/需要加上 index.php 就行了...

網路上好像沒有人遇到類似的問題,這個目錄並沒有 default 或 home 開頭的,index 的只有一個,那麼,錯誤訊息是哪一頁發出的?

2011年4月4日 星期一

GridView 在編輯模式下,AccessDataSource 裡面的 update 失敗。

GridView 在編輯模式下,隱藏欄位與唯讀的欄位,都不會傳到 AccessDataSource,導致裡面的 update 失敗。

這只能改變 AccessDataSource 的 update 指令,刪去這些不可編輯的欄位。
自動編號欄位也很類似這樣的情況,只是在 insert 也需注意要刪除這些參數。

自動編號欄位對於簡化程式有很大幫助,反正 GradView 的Key 欄位也是不可編輯的...
如果編號沒有特別意義與作用的話,可以採用自動編號。

2011年4月1日 星期五

string.Fromat() 問題

在 ASP.NET 中,用 string 或 String 都無法找到有 Format ,結果是 System.String.Format() 才行,哇勒~那平常用 string... 不就都不是String class本尊?

2011年3月29日 星期二

Access 2000 在設定多主索引的問題

Access 2000 在設定多主索引後,預設這些主索引的資料條件是允許 null 的,這會造成組合鍵有 null 的情況,往後在產生 SQL 時,WHERE 條件會變得很複雜,一堆 AND 與 OR 的。

所以要特別一個個去設定..."都需要有資料"。

2011年3月26日 星期六

美工常常出現的問題

美工常出的包:

  1. 設計時,沒有使用 1024x768 視窗模擬瀏覽,客戶也沒檢查,等到後端要調就難過了!
  2. 設計時,沒有用不同瀏覽器預覽。
  3. DW 裡面拉動 table 時,會產生 height,應該刪除試試看排版有沒有亂。
  4. 連結 a 裡面包了 div 或是 table, 這在 IE6 無法出現手指遊標。
  5. 臨時要秀出的訊息,事先沒有規劃位置與大小,事後怎麼擺都怪怪的。
  6. 單列或多列文字在排版時沒有確認,導致處理的程式被更換。

IE6透明背景圖之上的連結會失效?

ie7-js 的 ie9.js 在幫 IE6 弄透明背景圖 *-trans.png 時,在IE6透明背景圖之上的連結會失效,必須改由另一個 div 疊在上面,這個 div 不可以放入出問題的 div 之中。

2011.4.1
後記
onclick="" 與 link 一樣,會失效。

2011年3月20日 星期日

ASP.NET Access 資料庫無法寫入問題

資料庫檔案需要另外開寫入權給ASP.NET角色。
在檔案內容,選安全>進階>搜尋>可看到列表有ASPNET,否則Login會有錯誤訊息:無法寫入DB

這個寫入權,與 IIS 設定目錄的 "寫入" 無關,那應該是關於上傳的吧。

2011年3月19日 星期六

顯示卡搭配主機板效能提升的過程

首先是看到這篇開始流口水...
http://forum.coolaler.com/showthread.php?t=181654
因為主機板剛好也是 8200 的 (K9N2G Neo),於是上網買中古的 8500的顯示卡 (gv-nx85t256h)
結果,變成兩張顯卡,三台螢幕 (照理說,會變成一張型號更高階的顯示卡)。

後來才知道原來 XP 沒辦法跑 Hybrid SLI ...
官網註明在最下面...以下SLI特性僅在Windows Vista和Windows 7作業系統下支援:採用GeForce 9800 GX2或GeForce GTX 295的Quad SLI 技術,3向SLI技術,Hybrid SLI,以及SLI多螢幕支援。
http://www.nvidia.com.tw/object/winxp-258.96-whql-driver-tw.html

另外有個疑問,官網註明支援 Hybrid SLI 的晶片很少,但是實際上常看網友玩的卻不在裡面...
http://www.nvidia.com/object/hybridsli_notebook.html

這張顯卡 gv-nx85t256h 先天散熱不良  ,測試3DMark 時,溫度可以飆上95度。不過我過個人還是偏好安靜的顯示卡,溫度問題可以用外面的大風扇 (轉速慢,安靜)。

記憶體是 256MB,賣家誤寫 512MB,可能是看到...
http://forum.pcdvd.com.tw/printthread.php?t=718415
這是 nvidia的Turbo Cache技術...
ATI也有類似的技術, 叫HyperMemory...
就是必要時, 會透過PCIe直接存取主記憶體...
(顯示卡上只有256MB或128MB, 剩下都是存取主記憶體)
但沒用到時, 就不會吃到主記憶體的RAM...


雖然實驗失敗,至少,3DMark 由八百多,一舉提升到二千八百多,還有支援兩個類比螢幕 (原來的主機板另一個輸出是 DVI-D,我發現8500以上的顯卡也都改成這樣,還多一個 HDMI 轉接,結果傳統螢幕就糟了,可能要同時 Enable 主機板的 GPU 吧?)


註: DVI 規格 http://zh.wikipedia.org/zh-tw/DVI

後記: 2011.4.1
結果跑一下3D 遊戲,不到十分鐘就雪花片片,晶片燒了!! 現在只留下那大片的散熱片紀念了!

2011年3月17日 星期四

Java 安裝問題

Java v6 update24 離線安裝,遇到 " 完成安裝之前精靈已中斷 " 訊息,重裝N 次也是這樣的訊息,關防毒、移除舊的,都沒用。

後來還是乖乖到線上安裝才完成。

2011年3月13日 星期日

安裝 expression studio 4 問題

為了測試,選在 VMWare 6.5 裡面的 XP SP3,事先安裝好 .NET Framework 3.5 ap1 , 還有 .NET Framework 4 ,結果安裝介面只能顯示有 Focus 的控件,像是只看到版權聲明,卻沒看到任何按鈕。

後來只能瞎按了,按 "A" 或 "N" 或 "ENTER",勉強安裝後,有許多選單上半部看不到...
感覺像是透明 。
這些程式執行過程,我發現偶有螢幕閃動的現象,可能與 DX 有關...

這是 .NET 3.5 SP1 造成的嗎? 因為 IIS 裡面 .NET Framework 沒出現3 或 3.5
還是 VMWare 6.5 DX9 顯示上的問題呢? 因為安裝需求有註明要 DX9...

安裝 visual studio 2010 express 過程

過程並不順利,原因是沒先安裝 .NET Framework 4,這有可能是離線安裝的副作用吧?
安裝完,發現 Target 只能用 .NET Framework 4,還是得裝 .NET Framework3.5 sp1(部分過程需要上網)。
好不容易可以跑專案範本,結果那是為了 .NET Framework 4設計的,要改成 2.0 則需要刪掉一些新東東。

所以還是老句話,先把 IIS 與各版本的 .NET Framework都先安裝好再說。

2011年3月8日 星期二

發現一個 jQuery 的簡單應用: 圖片動畫按鈕

剛剛發現一個 jQuery 的簡單應用: 圖片動畫按鈕。
使用很簡單,在 a 加上 class=”js_uniButton”,然後裡面包 img ,這個圖檔有兩個,檔名加上 _hover 的,就表示滑鼠在上面時的圖。
http://www.patrickhansen.com/blog/2010/05/13/jquery-image-based-buttons/

值得注意的是, a 的 href 沒設好,或是給的圖檔名不對,都會造成游標閃爍或不會變手指。

2011年3月7日 星期一

HTML 隱藏欄位在 ASP.NET 的使用問題

HTML 的 input type="hidden"
  • 在 jQuery 用 $('#hidden_id').val('your_value'); 可以寫入,用 $('#hidden_id').val(); 可以讀取
  • 在 ASP.NET C# 用 Request.Form["hidden_name"] 可以讀到 your_value
因此 id 與 name 都很重要!!

另外,ASP.NET  控件 Hidden Field 行為不像上述 HTML 的 input,就算找到實際的 ID,用 jQuery 改變 value 也沒用,無法觸發事件,也沒辦法在ASP.NET讀值?

2011年3月5日 星期六

CSS 也得有個 Framework ?

最早是接觸 reset.css,ie7-js 這一類,他們都是為了縮小瀏覽器的差異而設計的,
不過要大到 "Framework" 規模,倒是引起我的好奇。

下列是比較新的兩篇介紹:
http://midashuang.wordpress.com/2010/12/15/css-framework%E6%95%B4%E7%90%86-1/
http://midashuang.wordpress.com/2010/12/17/css-framework%E6%95%B4%E7%90%86-2/

( 這篇是伺服器端的 CSS Framework 介紹: http://www.netatlantis.com/?p=1864 )

其中 52Framework 的 HTML5 功能還滿吸引我的。
不過菜鳥還是飛慢一點,試試 Blueprint 或 960 Gride System 好了。

那就從 BlueTrip 開始吧...



2011.3.12
BlueTrip 的官網發展在 2010 五月似乎停住了。
52Framework 也差不多在 2010 十一月。
這些都是用 CSS Float ,然後指定預先訂好的幾組寬度來定位。用起來很不習慣...對於美工人員更不利,因為在 DW 不能直接拖曳。

再試試 YUI 或 Extjs 吧...
jQuery 也有 jQuery UI,jQuery Tools... 不過這已經偏離 CSS Framework


2011.10.9
曾試過 52Framework 的 class 定位,寫程式很方便,指定 class 即可定位,概念上,是把整個畫面像表格一樣切割,藉由指定 div 的 class 來定位,可是美工還是喜歡拖曳式的吧。

另外發現有編譯型的 compass
連 HTML 也有編譯型的 HAML。
這一類的雖然好用,可是距離美工的慣用工具越來越遠...不太妙。

Excel 保護工作表問題

選單 "工具>保護>允許使用者可編輯區" 選好可編輯範圍,然後設密碼後,卻發生有只有部分儲存格的可以編輯,無法完全按照設定。

建議清除所有可編輯範圍設定,單純去認定儲存格的 "鎖定"狀態。
按右鍵選單有 "儲存格格式(F)...>保護"  ,裡面可以看出 "鎖定" 的狀態。
如果工具列有相關工具,那麼從鎖頭 ICON 可以更快看出這個儲存格是否被鎖。

如果可編輯儲存格比較少 ,可以用下列步驟:
  1. 全選所有儲存格
  2. 按右鍵選單有 "儲存格格式(F)...>保護",確認把鎖定的勾勾好。
  3. 把可編輯的儲存格選好, 用上述步驟把鎖定的勾勾取消。
  4. 可以去設定密碼了, 選單 "工具>保護>保護儲存格"。
最後還是要強調 "清除所有可編輯範圍設定",因為這容易造成 "鎖定" 狀態的混亂,導致無法預期的保護設定。

我們可愛的美工兩度在 Excel2003 氣急敗壞,浪費不少時間。
唉~說不定用 Open office 就能避免呢!?

2011年3月3日 星期四

CSS 垂直置中問題

CSS 垂直置中,如果需考慮萬惡的 IE6 ,那麼頭就大了!!
我們只能祈求 XP 電腦漸漸淘汰,大家買新電腦就不會再用它上網。

如果以美工在 DW 的操作方便性,用 apDiv 包 table 可能是目前較方便的作法。
至於 "避免用 table 排版" 的爭議,可以參考這篇 http://goliimage.pixnet.net/blog/post/26437445
我覺得大的基礎版型避免用 table 切圖即可,其他就盡量不要搞到 table 套 table 的複雜處境...原則上,就是要為日後修改的人著想,因為那個人常常是自己 Orz。。。

  • table 寬度需要固定,可用 table-layout:fixed;

div 包 table 可以利用下列 CSS

vamDiv{
}
.vamDiv table{
    table-layout:fixed;
    width:100%;
    height:100%;
}
.vamDiv table tr td{
    text-align:center;
    vertical-align:middle;
}

使用時:<div class="vamDiv"><table><tr><td>...</td></tr></div>
這時...就上下左右都置中了,不用再對 table 與 td 個別作 CSS。

2011年3月2日 星期三

ie7-js 使用 IE9.js 時出問題

在 IE6,IE8 試過,IE9.js 出現錯誤訊息。
大概 Try 了一個多小時,只好到官網找...運氣不錯,找 "inherit font"  就能找到...
http://code.google.com/p/ie7-js/issues/detail?id=275&q=inherit%20font

結果是把 IE9.js 的 943-946 mark 掉即可。
2011.03.04 後記:
上述改法有後遺症,可能導致 IE6 png 透明背景失效。
所以還是 mark 2079 列,比較安全一些。

這 ie7-js 是彌補 IE 瀏覽器不符合標準的好工具,請參考這篇文章
http://blog.yam.com/visioncan/article/13704215

2011年3月1日 星期二

HTML 表格關於排版的問題

表格預設css是 table-layout:auto ,常常導致寬度超出預期設計。解決方式如下...

如果搞到每個 td 裡面要有個 div,那麼乾脆就用這篇 http://uiop7890.pixnet.net/blog/post/22445273
.tdDiv {
overflow: auto;
height: 100px; width: 200px;
clip: rect( ); }
這樣一來就不用另外設定 table 與 td 了。只是苦了美工,在 DW 無法直覺的拖拉。

2011年2月28日 星期一

jQuery 筆記

VS2008 JScript IntelliSense 在使用 jQuery 時的錯誤:
可參考:
http://www.dotblogs.com.tw/asdtey/archive/2009/10/02/10881.aspx
如果有使用 jQuery UI,則需多增加一個空白檔案:例如jquery-ui-1.7.1.custom.min-vsdoc.js
http://hi.baidu.com/billsquall/blog/item/ecf35e60cb770bd68cb10dcf.html

jQuery 語法
$("A").B();
A: 如同CSS selectors一樣,http://www.w3schools.com/Css/css_reference.asp
有元素名、#ID、.CLASS、*代表全選、空白隔開包含與被包含。
> 分隔父子、 + 隔開前後、 ~ 也是前後、但"後"不止一個、 加上":過濾器"、[屬性]。
過濾器:
:first 第一個
:last 最後一個
:not 非
:even 偶數
:odd 奇數
:eq(n) 第 n個
:gt(n) 第 n個以上
:lt(n) 第 n個以下
:header 選中 h1、h2、h3
:animate 正在進行動畫的
:content(s) 內容包含 s 字串
:empty 無內容者
:parent 有內容者
:has(s) 選擇器 s 者
:hidden 隱藏者(display:none)
:visible 非隱藏者
:enable
:disable
:nth-child(n) 子物件的第 n 個
:first-child 子物件的第一個
:last-child 子物件的最後一個
:only-child 子物件的最後一個
:input 所有 <input>
:text 所有 <input type="text" >
:password 所有 <input type="password " >
:radio 所有 <input type="radio " >
:checkbox 所有 <input type="checkbox " >
:image 所有 <input type="image " >
:reset 所有 <input type="reset " >
:button 所有 <input type="button " >
:file 所有 <input type="file " >
:checked 所有 <input checked > :selected 所有 <input selected >
屬性:
[s] 符合 s 屬性
[s='v'] 符合 s='值' 屬性
[s^='v'] 符合 s='值' v開頭的 屬性
[s$='v'] 符合 s='值' v結尾的 屬性
[s*='v'] 符合 s='值' 所有含有v 屬性

CSS font-family 設定問題

依據 timdream (提姆‧提拉米蘇) 在 http://disp.cc/b/11-btQ 建議
使用 utf-8 存檔,網頁語系lang需指定: <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-TW" >
.css 檔也是utf-8內容如下: 
@Charset "UTF-8"; 
html,body{
font-family: Arial, 'LiHei Pro', 新細明體, sans-serif;
}
h1,h2,h3{
font-family: Arial, 'LiHei Pro', 微軟正黑體, 新細明體, sans-serif;
}
 
原本字型名稱有空白是需加上雙引號的,可惜在 IE6 不支援。
 
Arial,sans-serif 雖然比較醒目,適用於小字、標題。 
但是對於增加閱讀舒適,serif vs sans serif 這篇文章說明 Times,serif 有助於文章閱讀。
http://blog.bs2.to/post/EdwardLee/3401 
所以在長篇內文,字體不小的情況下,可改為:
@Charset "UTF-8"; 
.goodForReading{font-family: Times, 'LiHei Pro', 新細明體, serif;
}
 
另一個問題:
'LiHei Pro' 在許多文章介紹中英對照,都是...
儷黑 Pro:LiHei Pro Medium 
還是正確是下列這樣? (參考http://zh.wikipedia.org/zh/Mac_OS_X%E5%AD%97%E4%BD%93%E5%88%97%E8%A1%A8)
儷黑Pro:LiHei Pro  
另一篇提到,中英文名都應該加上,讓英文環境瀏覽器也能看懂... 
http://blog.roodo.com/wolf_totem/archives/4747565.html 
這樣變成
@Charset "UTF-8"; 
html,body{
font-family: Arial, 'LiHei Pro', 新細明體, PMingLiU, sans-serif;}h1,h2,h3{
font-family: Arial, 'LiHei Pro', 微軟正黑體, 'Microsoft JhengHei', 新細明體, PMingLiU, sans-serif;}

2011年2月25日 星期五

PHP 的陷阱

下列這段程式,原本是要判斷"開頭" 位置,結果剛好 strpos 找不到"#"傳回 false 也等於是 0,因此常常發生誤判。須把$iT==0 改為 $iT===0,也就是型態也須符合。(這是太自由的代價阿)
$iT=strpos($sLine,'#');if($iT==0)continue;

PHP 程式需要轉成 utf-8

PHP 程式需要轉成 utf-8 ,這是個麻煩事,先收集相關資料先:

基本函式
http://api.joomla.org/elementindex_utf8.html

分享MySQL和php採用UTF8的詳細方法
http://phorum.study-area.org/index.php?topic=36484.0

網頁、PHP、資料庫 UTF-8化
http://twpug.net/modules/smartsection/item.php?itemid=43 

2011年2月24日 星期四

ThunderBird 用 GMail 發 HTML 格式信件

安裝前,先設定好 GMail,開啟 IMAP,關閉 POP3。
IMAP 可以設得更細一些,以節省傳輸量:先開啟研究室 IMAP 這一項,然後到標籤,取消所有 IMAP 的勾 (我只留寄件備份與草稿)。
請參考

http://blog.bobchao.net/2009/12/thunderbird-3-google.html


ThunderBird 3.1
安裝好,輸入 Google 帳號,可以自動設定。
可以進一步設定,以節省硬碟空間:在帳號設定,同步的天數縮小到7天。
請參考
http://plog.longwin.com.tw/my_note/2010/09/14/thunderbird-imap-10-mail-2010

最後是可以編輯 HTML 的插件:
Stationery
EditHtml

可以到此下載:
https://addons.mozilla.org/zh-TW/thunderbird/extensions/
其中 EditHtml 好像太舊了,需要到官網。
而 Stationery 有範本功能,不知道與雷鳥的範本功能有何不同 ?

這邊有些 HTML EMAIL 範本可以參考
http://www.campaignmonitor.com/templates/

DW 文件相對路徑問題

在雷鳥(Thunderbird)可以用外部HTML 檔,插入信中,或是當成簽名檔。
這時候 DW 的相對路徑 (例如<img src="images/picture.jpg") 就惹麻煩了,需改為絕對路徑 file://...,如果有中文還得轉換 Orz,很麻煩的。

還沒找到哪邊可以設定,也許有插件可以辦到吧?
換個角度想,如果那隻鳥聰明一點也行...呵呵!

DW 範本有問題?

範本的可編輯區域 (InstanceBeginEditable),好像沒有我想像中的自由,裡面需包在 DIV才能編輯,滑鼠才能在設計畫面點選。如果反過來,DIV 內放這"可編輯區",就會變得怪怪的。印象中,有某些設定是指定可編輯區是 DIV or TABLE,可能與此相關(可能被限定了)。只是在程式碼模式看不出有這樣的限制。

2011年2月19日 星期六

PHP 新發現: 變數中的變數

下列變數的變數名如果是矩陣 ,嘿嘿,第一個echo讓人誤以為存好了,結果第二個echo就打我一巴掌了!! (到底存到哪兒去了,有人知道嗎? )
$varName="var[1]";
$$varName="abc";
echo $$varName;
echo $var[1];

2011年2月18日 星期五

Smarty template engine 安裝問題 (PHP 上的樣板引擎)

Smarty 資源
官網

Smarty中文手册,Smarty教程,Smarty模板的入门教材 :中文資料易讀,可惜比較舊。


Smarty 3.0.7 安裝過程
1. 內附的 demo 出現錯誤,官網論壇曾回答:
"The popup_init plugin was removed from the Smarty3 releases, but it's still used in the demo. Remove the corresponding line from header.tpl."
所以 demo 程式還沒更新(可是我看Smart2 的文件也沒popup_init 指令,可能很久沒更新此檔),需刪除出問題的 tpl 的第三列才能順利執行。

2011.10.09
原來 W3C 已經有這類的標準,CS4 也有支援,看來該用 XSLT 比較好吧?

How do you write template? XSLT, PHP or RoR?