星期五, 10月 31, 2008

安裝Meadroid的ScriptX

Step1.下載smsx.cab
載點:smsx.cab
進入後的畫面如下
有兩個載點,一個是可測試完整的功能
另一個就是直接載smsx.cab,後面有說明,記得改version到6,4,xxx


下載smsx.cab後
將檔案放到你自己指定的Server位置

Step2.在網頁的body放入Object
<!-- MeadCo Security Manager -->
<object style="display: none;" classid="clsid:5445be81-b796-11d2-b931-002018654e2e" codebase="http://[your path here]/smsx.cab#Version=6,4,438,06">
<param name="GUID" value="{19CF4AF5-CCD8-4840-BA3C-85EB66D69A6E}">
<param name="Path" value="http://[your path here]/sxlic.mlf">
<param name="Revision" value="0">
</object>
<!-- MeadCo ScriptX -->
<object id="factory" style="display: none;" classid="clsid:1663ed61-23eb-11d2-b92f-008048fdd814">
</object>


Step3.設定參數
這裡有兩個地方需設定
codebase及param的Path
其中codebase指定到剛你設定的[Server Url/smsx.cab]位置

而Path要放的是MeadCo的unique publishing license(即sxlic.mlf的位置)
只是用免費的功能話 就可以把拿掉Path及Revision這兩行拿掉
<!-- MeadCo Security Manager -->
<object style="display: none;" classid="clsid:5445be81-b796-11d2-b931-002018654e2e" codebase="http://[your path here]/smsx.cab#Version=6,4,438,06">
<param name="GUID" value="{19CF4AF5-CCD8-4840-BA3C-85EB66D69A6E}">
<param name="Path" value="http://[your path here]/sxlic.mlf">
</object>


Step4.自定列印畫面配置
用完就可以開心的用免費版的功能
<script defer>
window.onload=function(){
factory.printing.portrait = true; //直印,false:橫印
factory.printing.header = ""; //頁首,空白為不印頁首,也就不會佔空間
factory.printing.footer = ""; //註腳,空白為不印註腳,也就不會佔空間
factory.printing.leftMargin = 0; //左邊界
factory.printing.topMargin = 0; //上邊界
factory.printing.rightMargin = 0; //右邊界
factory.printing.bottomMargin = 0; //下邊界
}
</Script>

css 23事

CSS 語法教學

1.匯入CSS方法
外部連接套用
< link rel="stylesheet" href="style.css" type="text/css" media="【媒體類別】">

嵌入套用
< style type="text/css" media="【媒體類別】">

匯入套用
@import url("style.css") 【媒體類別】;

2.優先權
從最高優先權到最低優先權的排名如下:
* 內行套用的樣式表 (Inline stylesheet)
* 嵌入套用的樣式表 (Embedded stylesheet)
* 匯入套用的樣式表 (Imported stylesheet)
* 外部連接套用的樣式表 (Linked stylesheet)
* 瀏覽器本身的樣式表 (Browser's own stylesheet)

References:
1.CSS串接

3.CSS選擇器 (selector)
同一個選擇器可以有不同的 instance
tag a和tag b有相同class,但可以利用下面的方法設定
【型類選擇器】.【選擇器名稱】{
}
ex. < h1 class='Class_A'/> < h2 class='Class_A' />
.Class_A.h1{
}
.Class_A.h2{
}


References:
CSS選擇器

星期四, 10月 30, 2008

CSS設定

.contents {
/* 一次解決版面撐開、英文斷字、避頭尾、段落左右邊界不齊問題 */
/* by:meiji 200701 */

/* 防止撐開 */
table-layout: fixed;
/* 英文單字自動換行 */
word-wrap: break-word;
/* 正常避頭尾 */
word-break: normal;
/* 文字左右對齊 */
text-align:justify;
text-justify:inter-ideograph;
}

利用Html網頁列印

1.去頁首頁尾問題
官網:http://www.meadroid.com/
檔案:透過email,會給下載網址

目前看比較好的方法還是透過meadroid這家公司的ActiveX
有免費版本,當然有些限制,不過至少可解大部份的問題了
1.直印、橫印
2.印不印頁首(頁尾)
3.上下左右邊界
安裝Meadroid的ScriptX

References:
HTML實現列印(三)頁首、註腳、邊界與列印方向設定

2.CSS排版問題
有時預覽列印時,會發現調用的CSS都無效了
那是因為
<link rel="stylesheet" type="text/css" href="CSS位置" media="screen" />
的media設為screen而沒設為列印時的參考,加入print就ok了,即
<link rel="stylesheet" type="text/css" href="CSS位置" media="screen,print" />
只加入print沒有screen還不行咧,怪哉

3.利用CSS分列印頁
<div STYLE="page-break-after: always;"> </div>

Media Types說明
值 適用於
all 所有媒體類別
aural 言語合成器
braille 布拉耶點字法 (盲人用) 媒體
handheld 掌上型媒體
print 列印
projection 投射媒體
screen 電腦螢幕
tty 固定字寬 (fixed-pitch) 的媒體
tv 電視類的媒體

Reference:
列印 HTML 網頁強制換頁的方式
7個Media Types

4.列印背景圖\
*調browser的設定或利用list-item
*利用@media print{ }

星期五, 10月 10, 2008

嘗試到string相加的威力了

跑個字串相加迴圈直覺沒什麼
for (i=0;i<10;i++)
a += b;

不跑了5萬次才知覺得慢跑了30多秒
本以為是正常的 跑個5萬次很多啦
不過搞硬體的同事說其實這點小迴圈只是這小咖
電腦1秒內就可以算完

想了半天才想到
一定是相加時 是new了新的字串來接
所以多耗了需多時間及記憶體
馬上就改用.net裡的StringBuilder
StringBuilder aa = new StringBuilder();
for (i=0;i<50000;i++)
aa.apend(b);

才一按執行 就已經結束迴圈了
這速度也差太多了...
還以為自己沒按到執行
這下真嘗試到string相加的威力了

星期四, 10月 09, 2008

.net部署

手動增加「立即更新」
使用ClickOnce部署VS2005中的WinForm应用程序
private void UpdateApplication()
{
if (ApplicationDeployment.IsNetworkDeployed == true)
{
ApplicationDeployment ad = ApplicationDeployment.CurrentDeployment;
Text = "目前版本:" + ad.CurrentVersion;
UpdateCheckInfo checkInfo = ad.CheckForDetailedUpdate();
if (checkInfo.UpdateAvailable == true)
{
if (MessageBox.Show("檢測到新的版本:" + checkInfo.AvailableVersion + ",現在需要更新嗎?\n您也可以稍後手工更新到最新版本!", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ad.Update();
MessageBox.Show("更新完畢,將要重新啟動程序!");
Application.Restart();
}
}
}
}


References
說明
ClickOnce技術與Windows Installer關鍵特徵對比一覽表
ClickOnce 部署概觀
選擇 ClickOnce 部署策略
新增信任發行者至 ClickOnce 應用程式的用戶端電腦

office小撇步

免算號!3秒破解Word/Excel的保護密碼

星期日, 10月 05, 2008

html的table裡放圖片總會有空白

利用table來組圖片常會發生兩種情況
1.沒合起,分成三段
利用table來動態增長中段文字時,常會發生這種情況


2.td尾端總有留空去不掉(藍色部份)


解決方法
1.沒合起,分成三段
當要用table來動態拉圖時,要對table tag加入
cellpadding="0" cellspacing="0"
再試一次就ok啦


2.td尾端總有留空去不掉(藍色部份)
這個問題真是氣死人
花了我一個週末,什麼碗糕屬性全設了
還是失敗,最後在網路上看到.....
「因為td tag裡有空白」 ...

看了一下html,雖然是沒有,但有IDE切的斷行
<td>
  <img src="xxx">
</td>
於是就抱著期待又想譙人的心情設為
<td><mg src="xxx"></td>
一試果然成功了...嗚 感動


想想這感覺是個好明顯的問題「空白」,可是卻看不出來
真想搥人...

星期三, 10月 01, 2008

浮動div

1.jQuery本身draggable
jQuery UI/Draggable
include三個檔案即可使用
< script src="http://code.jquery.com/jquery-latest.js">< /script>
< script src="http://ui.jquery.com/latest/ui/ui.core.js">< /script>
< script src="http://ui.jquery.com/latest/ui/ui.draggable.js">< /script>


只要對某tag下draggable()就ok啦
$(".block").draggable();


2.jquery插件:任意位置浮动固定层
demo DEMO下載

可以任意定住div的在網頁的位置,在滾動頁面時也會保持在同一個位置
下載檔案後,解開將"jquery.floatDiv.js"檔include即可使用

/*调用:
1 无参数调用:默认浮动在右下角
$("#id").floatdiv();

2 内置固定位置浮动
//右下角
$("#id").floatdiv("rightbottom");
//左下角
$("#id").floatdiv("leftbottom");
//右下角
$("#id").floatdiv("rightbottom");
//左上角
$("#id").floatdiv("lefttop");
//右上角
$("#id").floatdiv("righttop");
//居中
$("#id").floatdiv("middle");

3 自定义位置浮动
$("#id").floatdiv({left:"10px",top:"10px"});
以上参数,设置浮动层在left 10个像素,top 10个像素的位置
*/

跨iframe呼叫js function

iframe name = aaa
js function = bbb

呼叫iframe裡的js function
window.aaa.bbb();

呼叫iframe外的js function
parent.bbb();

呼叫iframe外的另一個iframe裡的js function (自己都快看不懂了)
parent.aaa.bbb();