11月 07, 2011

substring的用法

1234

substring(0,1)=1
substring(1,2)=2
substring(2,3)=3
substring(3,4)=4

9月 27, 2011

RUN APK

C:\android\android-sdk-windows\platform-tools

run command

adb install gda01.apk

------------------
spinner1
choice Properties--> Entries
array

7月 30, 2011

netBeans 去掉中间红线

最后就是中间的红线,一开始不知道怎么去掉,后来才找到:工具->选项->编辑器->缩排->右边距,80改成200即可

7月 29, 2011

Android 開發時 APK 檔案太大時解決方法

再 Run As → Run Configurations → 點選專案名稱 → Target

在 Target 畫面裡的最下面加入 -partition-size 256

7月 28, 2011

Jquery AJAX


$(document).ready(function() {

//用$_POST["name"]接值
$("a.yy").click(function(){
$.post('hello.php',{name: 'kkpp88p'},
function(txt){$('div.msg').html(txt);}); });

$.ajax({ //用$_GET["hh"]接值 可加入type: 'post', 改成用POST
url: 'hello.php',
data: {hh: '456789'},
error: function() { alert('error!'); },
success: function(response) { $('div.msg').html(response) }
});

});

7月 26, 2011

Youtube



AS3的語法
<iframe width="425" height="349" src="http://www.youtube.com/embed/iTeA9Nj9qOM?autoplay=1&loop=1&playlist=iTeA9Nj9qOM&autohide=2" frameborder="0" allowfullscreen></iframe>

AS2的語法
<iframe width="425" height="349" src="http://www.youtube.com/v/iTeA9Nj9qOM?autoplay=1&loop=1&autohide=0&color1=0x444444&color2=0x444444" frameborder="0" allowfullscreen></iframe>


7月 24, 2011

鍵盤記錄


Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer



        Dim AddKey, keyResult
        Static KeyFound As String

        keyResult = GetAsyncKeyState(13) 'ENTER
        If keyResult = -32767 Then
            AddKey = "[ENTER]"
            KeyFound += AddKey.ToString
        End If

7月 14, 2011

Virtual Key Codes

A~Z 65-90
0-9 48-57
F1-F16 112-127

; 186
= 187
, 188
- 189
. 190
/ 191
` 192
[ 219
\ 220
] 221
' 222

[BACK SPACE] 8
[TAB] 9
[ENTER] 13
[SHIFT] 16
[CTRL] 17
[ALT] 18
[PAUSE] 19
[CAPS] 20
[ESC] 27
[SPACE] 32
[PGUP] 33
[PGDOWN] 34
[END] 35
[HOME] 36
[LEFT] 37
[UP] 38
[RIGHT] 39
[DOWN] 40
[SYSRQ] 44
[INS] 45
[DEL] 46


NUM PAD:
0-9 96-105
* 106
+ 107
[ENTER] 108
- 109
. 110
/ 2
NUM 144

7月 09, 2011

解决Adobe Illustrator CS5启动后自动关闭的问题

安装CS5设计套件并破解后发现其他软件都正常,唯独Illustrator打开就自动关闭,网上搜了一下,有很多种说法,不过最终确定了一个对我这个情况有效的方法:

安装AICS5后,不要马上使用破解补丁,必须先启动一次原版,输入下列序列号的其中一个:

1325-1791-8561-1675-0491-0572
1325-1615-5221-6083-1810-2107
1325-1707-0494-9696-1031-6653

这时候注意一下启动的logo,应该这时候肯定是没有“试用”或“try out”的字样了,这样下一步才能使用AdobeCS5通用补丁进行覆盖,否则会出现自动退出的问题。

引自:http://www.iplaysoft.com/illustrator-cs5.html#

这里需要注意的是,安装之后一定要切断网络或修改hosts文件以屏蔽Adobe服务器后,再启动Illustrator并输入序列号,以确保运行中程序不会访问到服务器提示序列号无效,然后再关闭程序,覆盖破解文件amtlib.dll即可。

如果已经覆盖了amtlib.dll,还是可以补救的,就是把原版的amtlib.dll找出来覆盖回去,再进行屏蔽服务器、启动、输入序列号、关闭程序操作,然后再覆盖破解文件就行了。

这里提供原始的amtlib.dll下载:http://www.uushare.com/user/icesee/file/3481545

7月 05, 2011

Eclipse 中文化專案

http://babel.eclipse.org/babel/

6月 21, 2011

視窗縮小在工作列上


.NET 針對這方面的功能使用一個物件去完成,相較於VB6更顯得簡單。
首先必須在.NET From 上面新增一個 NotifyIcon 物件,在 ToolBox 裡面的 Windows Froms 中可以找到此物件。新增完成後,可以將以下程式放到程式碼中執行。

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load

With NotifyIcon1
.Icon = New System.Drawing.Icon("C:\Program Files\Microsoft Visual Studio .NET\Common7\Graphics\icons\Writing\BOOK01A.ICO")
.Visible = False
End With

End Sub

Private Sub Form1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Resize

If Me.WindowState = FormWindowState.Minimized Then
NotifyIcon1.Visible = True
Me.Visible = False
End If

End Sub

Private Sub NotifyIcon1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles NotifyIcon1.DoubleClick
NotifyIcon1.Visible = False
Me.Show()
Me.WindowState = FormWindowState.Normal
End Sub

6月 18, 2011

3種轉址



1. HTML 的轉址方法:

在 HTML 網頁的 </head> 前加入以下 HMTL 碼,網頁就會自動轉址。
<meta http-equiv="refresh" content="0;url=http://mepopeidia.com" />
其中 content=... 中的 0 是指 0 秒後自動重新整理,並轉址到 "http://mepopeidia.com" 這個 URL。


2. Javascript 的轉址方法:

在 HTML 網頁中原則上是任一地方加入以下 JavaScript 網頁就會轉址。但放在網頁 HTML 碼的開始較有效率(也較有意義)。
<script>document.location.href="http://mepopedia.com";</script>

3. PHP 的轉址方法:
<?php
header('Location: http://mepopedia.com');
exit;
?>

6月 17, 2011

POST




POST我做兩個分別~~一個是ASP.NET~~POST,一個是HTML~POST。

下面這個是ASP.NET,紅色為重點。ID一定要設好~~到時接收時要用的。

直接設BUTTION的POSTBACKURL就行了~~不用寫程式~~就會把TEXT1的值POST過去了。

<form id="form1" runat="server">
<div>

<asp:TextBox ID="Text1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" PostBackUrl="post.aspx" />
</div>
</form>

下面這個是HTML的POST,一樣紅色為重點。

form id="form" method="post" action="post.aspx" enctype="multipart/form-data">

<p>
<input id="Text1" name="Text1" type="text" value="1"/>
<input id="Submit1" type="submit" value="submit" /></p>
</form>

下面這個是用ASP.NET來接收POST的值~~

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Response.Write(Request.Form("Text1").ToString)
'接收別頁使用post過來的值!!

End Sub

這樣會了吧~~只要就是Request.Form("Text1").ToString就會接收TEXT1的值了。

在來就是~~有時POST時~~中文字會出現亂碼~~重點就是要在在web.config
加上下面的程式碼
就會變中文了

<configuration>
<system.web>
<globalization
fileEncoding="big5"
requestEncoding="big5"
responseEncoding="big5"
culture="zh-TW"
/>
</system.web>
</configuration>



6月 16, 2011

動態時間 time



var timerID = null;
var timerRunning = false;
function stopclock() {
if (timerRunning)
clearTimeout(timerID);
timerRunning = false;
}
function startclock() {
stopclock();
showtime();
}
function showtime() {
var now = new Date();
var hours = now.getHours();
var minutes = now.getMinutes();
var seconds = now.getSeconds();
var dateValue = now.getYear() + 1900 + "年" + (now.getMonth() + 1) + "月" + now.getDate() + "日";
var timeValue = ((hours >= 12) ? " 下午 " : " 上午 ");
timeValue += ((hours > 12) ? hours - 12 : hours);
timeValue += ((minutes < 10) ? ":0" : ":") + minutes;
timeValue += ((seconds < 10) ? ":0" : ":") + seconds;
$('#time').html(timeValue);
timerID = setTimeout("showtime()", 1000);
timerRunning = true;
}
$().ready(function () {
startclock();
});

6月 14, 2011

AJAX

onclientclick="return false;" />

onclientclick="return false;"
false會導致無法呼叫.net的程式

6月 13, 2011

asp.net 光棒


Protected Sub GridView1_RowCreated(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowCreated

If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Attributes.Add("onmouseover", "this.style.backgroundColor='red';")
If e.Row.RowState = DataControlRowState.Alternate Then '判定row的型態是替代資料行
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#FFFFFF';")
'滑鼠移開底色恢復
Else
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor='#EFF3FB';")
'滑鼠移開底色恢復
End If
End If
End Sub

6月 12, 2011

jquery

<head runat="server">
    <title></title>
    <script src="Scripts/jquery-1.6.1.min.js" type="text/javascript"></script>
    <script type = "text/javascript" >
        $(document).ready(function () {
            $("a").click(function () { alert("hello!"); return false; }); //對a標籤
            $("#hp").click(function () { alert("hello!"); return false; }); //對ID為HP
            $(".mp").click(function () { alert("hello!"); return false; }); //對class為mp 各自獨立
            $("*").addClass(); //表示所有物件
            //$("#bb1").click(function () { $("#Image1").addClass('css'); }); //套用CSS


            $("#box").hide();
            $("#bb1").click(function () { $("#box").toggle("slow"); });
            //屌光棒
            $("tr").hover(function () { $(this).addClass('color'); }, function () { $(this).removeClass('color'); });


            $("#bb1").click(function () { $("#tb1").attr({ disabled: "disabled" }); });


 


        });
    </script>
    <style type="text/css">
   
    .css{border:1px solid #ababab;}
    .color{background-color: red;}
        .style1
        {
            width: 100%;
        }
    </style>
</head>
<body>
    <form id="form1" runat="server">
   
    <asp:ScriptManager ID="ScriptManager1" runat="server">
    </asp:ScriptManager>
    <a href="#">dowmload</a>
    <a href="#" id="hp">dowmload2</a>
    <a href="#" class="mp">dowmload3</a><br>
    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
            <asp:Button ID="bb1" runat="server" Text="Button" /><br>
        </ContentTemplate>
   
    </asp:UpdatePanel>
    <asp:TextBox ID="tb1" runat="server"></asp:TextBox>
    <asp:Image ID="Image1" runat="server" ImageUrl="~/img/logo.png" />
    <div class="asd" id="box">
    123456789
    </div>


 



    </form>
            <table class="style1" id="bg">
                <tr>
                    <td>
                        1</td>
                </tr>
                <tr>
                    <td>
                        2</td>
                </tr>
                <tr>
                    <td>
                        3</td>
                </tr>
                <tr>
                    <td>
                        4</td>
                </tr>
                <tr>
                    <td>
                        5</td>
                </tr>
                <tr>
                    <td>
                        6</td>
                </tr>
            </table>
</body>
</html>

5月 22, 2011

六十花甲子纳音

六十甲子用途很广,人的出生年、月、日、时中天干地支排列,就是此查出。古人把六十甲子按金木水火土分为五种类型的命,每两年为一行,为一个年命纳音。金年生者,为金命,火年生者,为火命。如1984甲子年、1985年乙丑年生的人,都是“海中金”命,简称“金命”人。其他命依此类推,每六十年一轮,周而复始。具体纳音如下:

甲子乙丑海中金,丙寅丁卯炉中火;戊辰已巳大林木,
庚午辛未路旁土;壬申癸酉剑锋金。甲戌乙亥山头火,
丙子丁丑涧下水;戊寅已卯城头土,庚辰辛巳白蜡金;
壬午癸未杨柳木。甲申乙酉泉中水,丙戌丁亥屋上土;
戊子已丑霹雳火,庚寅辛卯松柏木;壬辰癸巳长流水。
甲午乙未沙中金,丙申丁酉山下火;戊戌已亥平地木,
庚子辛丑壁上土;壬寅癸卯金箔金。甲辰乙巳覆灯火,
丙午丁未天河水;戊申已酉大驿土,庚戌辛亥钗钏金;
壬子癸丑桑柘木。甲寅乙卯大溪水,丙辰丁巳沙中土;
戊午已未天上火,庚申辛酉石榴木;壬戌癸亥大海水。

3月 27, 2011

php.ini 解除上傳限制

一、修改php.ini文件。
找到php中的php.ini文件,用筆記本打開:

1、尋找post_max_size,指通過表單POST給PHP的所能接收的最大值,包括表單裏的所有值,預設為8M,看你自己需要進行修改。

2、尋找File Uploads,首先確認file_uploads = on ;是否允許通過HTTP上傳檔的開關,預設為ON「即是開啟」。 upload_tmp_dir ;設定上傳之HTTP檔案暫時存放目錄
尋找upload_max_filesize ;即允許上傳檔大小的最大值。預設為2M。

2月 26, 2011

SQL 大全

新增
不加欄位名稱必須填入所有值可用NULL或default
INSERT [ad].[dbo].[trade] VALUES(3,'susan',default)

正常都加欄位名比較方便
INSERT [ad].[dbo].[trade]
(id,name)
VALUES(4,'eric')

另外是插入別的資料表的值
INSERT [ad].[dbo].[trade]
(id,name)
select id,name
from trade
where id < 3
order by id
不喜歡用...因為欄位順序和類型要一樣

修改
UPDATE [ad].[dbo].[trade]
SET [id] +=1
WHERE name='jack'

修改特定範圍
UPDATE [ad].[dbo].[trade]
SET [id] +=1
from trade c inner join class p on
c.id = p.age
WHERE c.id = 4

刪除
DELETE FROM [ad].[dbo].[trade]
WHERE id NOT IN (select id from trade)
也可以特定範圍或是用子查詢

查詢
select count(*) AS count from trade
where 1=0 false
group by ALL id 全部分組
HAVING count(*) > 5 事後篩選
order by id DESC

select distinct name 移除重複
into #class 插入暫存資料表
from trade
where id = 1

TOP
declare @per float
set @per = 1
select top (@per) PERCENT *
from ad.dbo.trade

資料正規化
SELECT *
from trade
pivot (count(type) for type in ([girl])) as b
把欄位內容轉成欄位名稱 UNPIVOT則相反
unpivot (typevalue for type in ([girl])) as b

找出存在於trade卻沒有再class
select name from trade
EXCEPT
select name from class
欄位數目要相同

select name from trade
INTERSECT
select name from class
同時符合2個資料表


SELECT grouping(name),SUM(id),name
FROM [ad].[dbo].[trade]
group by name
with cube 統計總數

SELECT name,SUM(id)
FROM [ad].[dbo].[trade]
group by name
with rollup 階層查詢依據group by的順序


declare @error int
begin tran 顯性交易開始

if(@error <> 0) goto error

commit tran 釋放資源
error: 副程式寫法
if @error <> 0
begin
rollback transaction
end

轉型

convert(char(4),2005)
cast(name as char(4))

次序函數

row_number() over (order by name)

當科系不同時會重新計數
row_number() over (partition by 科系 order by name)

rank() over (order by name)
欄位內容若相同則排名一樣且會跳過下一號
dense_rank() over (order by name)
這個不會跳過下一號

系統函數
@@rowcount 傳回影響資料筆數

create table #t4 創造一個暫存表
newid() 產生一組識別值

條件處理

case 欄位名稱
when 'boy' then 'roomA'
when 'girl' then 'roomB'
else 'roomC'
end 會議室

if @temp = 1
begin

end
else
begin

end

if not exists
(select * from trade where ccolor = 'pink')
真表示沒有粉紅色

while (select count(*) from trade) > 0
begin

end

waitfor delay '00:00:10'
begin
等10秒後才執行
end

waitfor time '19:05:00'
等到晚上7點5分才執行

指標的用法
declare @fi int
declare sp cursor 宣告
for select id from ad.dbo.trade where id = 3

open sp 開啟

fetch next
from sp
into @fi

print @fi

close sp 關閉
deallocate sp 釋放

@床位1 nvarchar(10),
@學號1 nvarchar(10)

錯誤處理
begin try
end try
begin catch
rollback
end catch

2月 20, 2011

SELECT INTO跟INSERT INTO的差別

SELECT INTO可以into進去暫存的table也可以into實體table,
INSERT INTO只能into實體的table。
實體:SELECT ~ INTO table2 FROM table1
虛擬:SELECT ~ INTO #table2 FROM table1

也就是說,如果使用SELECT INTO
後面的table2如果本來就有,他就直接塞資料;
如果本來就沒有table2,他會新建一個table2,再塞資料。

加了#的意義就是,into進去後,
把Query關掉,重新開啟一個Query,table2就不見了,等於是暫存性的。
當然假如不加#的話,table2就會一直保留著。

另外SELECT INTO如果是實體用法,可以等同於:
INSERT INTO table2 (.....)
SELECT ~ FROM table1

這兩個都可以下WHERE條件。

還有一點,以SELECT 'a' id, 100 cost INTO table3這段而言,
它會自動新建兩個欄位,一個叫id、一個叫cost,
還會自動判別出,id欄位是字串、cost欄位是數值。

附註:以上測試環境是Microsoft SQL Server Service Manager 8.0

1月 29, 2011

SQL 錯誤處理機制

--使用錯誤處理機制
BEGIN TRY
BEGIN TRAN
DECLARE @ApplyNo int



SET @ApplyNo = @@IDENTITY

--INSERT INTO 床位申請明細_團體
INSERT INTO dbo.床位申請明細_團體(申請序號, 床位)
VALUES (@ApplyNo, @床位1);

INSERT INTO dbo.床位申請明細_團體(申請序號, 床位)
VALUES (@ApplyNo, @床位2);

COMMIT TRAN
END TRY
BEGIN CATCH
IF (@@ERROR > 0 AND @@ROWCOUNT <> 1)
ROLLBACK
ELSE
COMMIT
RETURN @@ERROR
END CATCH

1月 05, 2011

輸入法 無法用SHIFT+CTRL切換

在XP作業系統下,若輸入法 無法用SHIFT+CTRL切換,而照下面情況設定,SHIFT+CTRL仍舊無法切換。

1.在工作列上輸入法的ICON按右鍵點選設定值(或進入到控制台下的日期、時間、語言和地區選項內的語言選項。)進入文字服務和輸入語言對話視窗。

2.在「喜好設定」方塊中點選按鍵設定

3.「操作」方塊中先選擇切換輸入法語言,然後按下變更鍵盤組合。

4.在「變更鍵盤組合」中確定切換輸入法語言是否勾選,點選CTRL+SHIFT 選項。按確定後退出。

以上此方式還是無法切換。經反覆測試,我覺得這是XP作業系統的BUG。但有兩個方式可以讓SHIFT+CTRL可以再切換。

方法一:

在上述3.在「變更鍵盤組合」中確定切換輸入法語言是否勾選,然後點選「左邊ALT+SHIFT」,再打勾右方「切換鍵盤配置」(切換鍵盤配置下面的選項會落在「CTRL+SHIFT」)。確定後再全部關掉就可以正常使用。

照理說這樣子的設定是不對的,但是設完後卻可以正常切換,這點還蠻奇怪的。

方法二:直接修改登錄檔

1.點選「開始」->「執行」,輸入regedit,進入登錄編輯程式。

2.到下方入徑:HKEY_CURRENT_USER\Keyboard Layout\Toggle裡的Language Hotkey ,將數值改成1就可以了。