來源:asp連接資料庫

ASP常用資料庫連接方法和技巧
//第一種寫法:
MM_conn_STRING =
"Driver={SQL SERVER};Server=.;UID=sa;Password=;DataBase=KK;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3 

//第二種寫法:(DSN連接)

MM_conn_STRING="DSN=BBS;UID=SA;PWD=12345"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING
SET RS=SERVER.CreateObject("ADOBD.recordset")
SQL="SELECT * FROM TABLE ORDER BY ID DESC"
RS.open SQL,CONN,3,3  // 3,3是修改、刪除、增加開關!

//第三種寫法:

MM_conn_STRING_own = "Driver={SQL Server};server=(local);uid=sa;pwd=11111;database=infs;"
Set conn = Server.Createobject("ADODB.Connection")
conn.open MM_conn_STRING_own

//第四種 - 這種方法用在ACCESS中
strconn = "DRIVER=Microsoft Access Driver (*.mdb);DBQ=" _
& Server.MapPath("asp.mdb")
set conn = server.createobject("adodb.connection")
conn.open strconn

sleepingwolf 發表在 痞客邦 留言(3) 人氣()

來源:ASP編碼問題

使用server.URLEncode(str) 能把str編碼寫入資料庫
以下是解碼函數
<%
Function DeCode(EnStr)
For I = 1 To Len(EnStr)
C = Mid(EnStr,I,1)
If C = "%" Then
V = Eval("&H" & Mid(EnStr,I+1,2))
If V < 128 Then
DeCode = DeCode & Chr(V)
I = I+2
Else
If Isvalidhex(Mid(EnStr,I,3)) Then
If Isvalidhex(Mid(EnStr,I+3,3)) Then
V = Eval("&H" & Mid(EnStr,I+1,2) & Mid(EnStr,I+4,2))
DeCode = DeCode & Chr(V)
I = I+5
Else
V = Eval("&H" & Mid(EnStr,I+1,2) & Cstr(Hex(Asc(Mid(EnStr,I+3,1)))))
DeCode = DeCode & Chr(V)
I = I+3
End If
Else
DeCode = DeCode & C
End If
End If
Else
If C = "+" Then
DeCode = DeCode & " "
Else
DeCode = DeCode & C
End If
End If
Next
End Function
Function Isvalidhex(Str)
Isvalidhex = True
Str = Ucase(Str)
If Len(Str)<>3 Then Isvalidhex = False:Exit Function
If Left(Str,1)<>"%" Then Isvalidhex = False:Exit Function
C = Mid(Str,2,1)
If Not (((C>="0") And (C<="9")) Or ((C>="A") And (C<="Z"))) Then Isvalidhex = False:Exit Function
C = Mid(Str,3,1)
If Not (((C>="0") And (C<="9")) Or ((C>="A") And (C<="Z"))) Then Isvalidhex = False:Exit Function
End Function
%>

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

ASP基本語法(運算符號說明)

on error resume next 忽略並繼續執行
基本運算
+ 數字加法及字符串連接
- 數字減法
* 數字乘法
/ 數字除法
Mod 求余數
\ 求商數
& 字符串連接
^ 次方
= 相等
<> 不相等
>= 大於或等於
> 大於
<= 小於或等於
< 小於
Not 非
And 且
Or 或
Xor 異或

循環及決策
if ....then 若...則...
if ...then...else 若...則...非
else if... 非若
select case... 群組選擇條件
end select
for ... next 計數循環
while...wend 條件循環(一)
do while...loop 條件循環(二)
do...loop while 條件循環(三)
do until...loop 條件循環(四)
do...loop until 條件循環(五)

數學函數
Abs 絕對值
Sgn 正負號
Hex 轉換成十六進制
Oct 轉換成八進制
Sqr 平方根
Int 取整數
Fix 取整數
Round 取整數
Log 以e為底的對數
Sin 正弦函數
Cos 余弦函數
Tan 正切函數

字符串處理函數
Len 字符串長度
Mid 取部分字符串
Left 從字符串開頭取部分字符串
Right 從字符串結尾取部分字符串
Lcase 轉換成小寫
Ucase 轉換成大寫
Trim 清除字符串開頭及結尾的空格符
Ltrim 清除字符串開頭空格符
Rtrim 清除字符串結尾空格符
Replace 替換字符串部分字符
Instr 判斷是否包含於另一個字符串(從起始搜尋)
InstrRev 判斷是否包含於另一個字符串(從結尾搜尋)
Space 任意字符數的空格符
String 任意字符數的任一字符
StrReverse 反轉字符串
Split 以某字符分割字符串

資料類型轉換函數
Cint 轉換成整形
Cstr 轉換成字符串
Clng 轉換成常整數
Cbool 轉換成布爾函數
Cdate 轉換成日期函數
CSng 轉換成單精度
CDbl 轉換成雙精度

日期時間函數
Date 現在日期
Time 現在時間
NOw 現在日期時間
DateAdd 增加日期
DateDiff 兩日期差
DateSerial 日期設定
DateValue 日期設定
Year 現在年份
Month 現在月份
Day 現在天
Hour 現在時刻
Minute 現在分鐘
Second 現在秒鐘
Timer 午夜距現在秒數
TimeSerial 時間設定
TimeValue 時間所屬部分
WeekDay 星期名稱
MonthName 月份名稱

其它函數
Array 產生數組
Asc 字符ASCII碼
Chr ASCII碼字符
Filter 過濾數組
InputBox 輸入視窗
Join 合並數組中的元素
MsgBox 資訊視窗
Lbound 數組下界
Ubound 數組上界

指令
Const 設定常數
Dim 定義變量或者數組
Erase 清除數組
ReDim 重新聲明數組
Randomize 起始隨機數
Rnd 取得隨機數

ASP對象

Session對象
IsEmpty 測試Session變量是否存在
TimeOut 設定Session變量生存周期
Abandon 強制清除Session變量

Application對象
IsEmpty 測試Application變量是否存在
Lock 鎖定Application變量
Unlock 解除Lock指令的鎖定

Cookies對象
Expires 設定Cookies變量的生存周期

Connection對象
Open 打開與資料庫的連接
Execute 打開Recordset對象
Close 關閉Connection對象

Recordset對象
movefirst 將記錄指針移至第一條
movelast 將記錄指針移至最后一條
movenext 將記錄指針移至下一條
moveprevious 將記錄指針移至上一條
bof 測試是否為recordset的起始
eof 測試是否為recordset的結束
open 打開Recoreset對象
close 關閉recordset對象
fields 讀取資料的子對象
fileds.count 字段個數
pagesize 每頁記錄條數
absolutepage 設定為某頁
pagecount 總頁數
Absoluteposition 直接跳至某條記錄
MicrosoftVBscript運行時錯誤列表(10進制表示) 
來源:http://www.cnblogs.com/zhongcj/archive/2007/06/12/780261.html

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

ASP時間有關函數語法說明
函數 語法 說明 示例
Now Now() 取得系統當前的日期和時間 Dim MyVar MyVar = Now
'' MyVar 包含當前的日期和時間。
Date Date() 取得系統當前的日期 Dim MyDate MyDate = Date
'' MyDate 包含當前系統日期。
Time Time() 取得系統當前的時間 Dim MyTime MyTime = Time
'' 返回當前系統時間。
Year Year(Date) 取得給定日期的年份 Dim MyDate, MyYear
MyDate = #October 19, 1962#
''分派一日期。
MyYear = Year(MyDate)
'' MyYear 包含 1962。
Month Month(Date) 取得給定日期的月份 Dim MyVar MyVar = Month(Now)
'' MyVar包含當前月對應的數字。
Day Day(Date) 取得給定日期是幾號 Dim MyDay MyDay = Day("October 19, 1962")
''MyDay包含 19。
Hour Hour(time) 取得給定時間是第幾小時 Dim MyTime, MyHour
MyTime = Now MyHour = Hour(MyTime)
'' MyHour 包含代表當前時間的數值。
Minute Minute(time) 取得給定時間是第幾分鐘 Dim MyVar
MyVar = Minute(Now)
Second Second(time) 取得給守時間是第幾秒 Dim MySec
MySec = Second(Now)
''MySec 包含代表當前秒的數字。
WeekDay WeekDay(Date) 取得給定日期是星期幾的整數,1表示星期日,2表示星期一,依此類推 Dim MyDate, MyWeekDay
MyDate = #October 19, 1962#
'' 分派日期
MyWeekDay = Weekday(MyDate)
'' MyWeekDay 包含 6,MyDate 代表星期五
DateDiff DateDiff("Var",Var1,Var2)
Var:日期或時間間隔因子,有如下參數︰
yyyy 年 m月 d 日 ww星期 h小時 s秒 Var1:第一個日期或時間
Var2:第二個日期或時間,比Var1晚 計算兩個日期或時間的間隔 DateDiff("d",Date(),#1/1/2005#)
''返回離2005元旦還有多少
DateDiff("h",Date(),#1/1/2005#)
''返回離2005元旦還有多少小時
DateDiff("d",#1/1/2003#,#1/1/2005#)
''返回兩個日期之間的天數
DateAdd DateDiff("Var",Var1,Var2)
Var:日期或時間間隔因子︰
Var1:日期或時間間隔倍數
Var2:日期或時間的基準 對兩個日期或時間作加法 如下示例將 95 年 1 月 31 日加上一個月︰

sleepingwolf 發表在 痞客邦 留言(1) 人氣()

ASP常用的代碼(不斷更新)
http://dev.21tx.com 2005年01月11日 Blog aspstu1.獲得系統時間:
<%=now()%>
2.取得來訪用的IP:
<%=request.serverVariables("remote_host")%>
3.獲得系統,瀏覽器版本:
<script>
window.document.write("版本:"+navigator.appName+navigator.appVersion+" browser.")
</script>
4.去除IE混動條:
<body scroll="no">
<body style="overflow-y:hidden">
5.進入網站,跳出廣告:
<script language="JavaScript">
<!--
<!-- 注意更改文件所在路徑-->
window.open(''http://www.XXXXXX.com'','''',''height=200,width=300,top=0,left=30'');
// -->
</script>
6.隨機數:
<%randomize%>
<%=(int(rnd()*n)+1)%>
N為可改變數
7.向上混動代碼:
<marquee direction="up" scrolldelay="200" style="font-size: 9pt; color: #FF0000; line-height: 150%; font-style:italic; font-weight:bold" scrollamount="2" width="206" height="207" bgcolor="#FFFF00">hhhhhhhhhhhhhhhhhhh</marquee>
8.自動關閉網頁:
<script LANGUAGE="Javascript">
<!--
setTimeout(''window.close();'', 10000); //60秒后關閉
// -->
</script>
<p align="center">本頁10秒后自動關閉,請注意刷新頁面</p>
9.隨機背景音樂:
<%randomize%>
<bgsound src="mids/<%=(int(rnd()*60)+1)%>.mid" loop="-1"> 

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

收集常用函數與寫法...
 程序代碼
'獲取用戶真實IP函數
Function GetIP()
    GetIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    If GetIP = "" Then GetIP = Request.ServerVariables("REMOTE_ADDR")
End Function
'獲取完整地址欄地址
Function GetUrl()
    GetUrl="http://"&Request.ServerVariables("SERVER_NAME")&Request.ServerVariables("URL")
    If Request.ServerVariables("QUERY_STRING")<>"" Then GetURL=GetUrl&"?"& Request.ServerVariables("QUERY_STRING")
End Function
'獲取本頁文件名
Function SelfName()
    SelfName = Mid(Request.ServerVariables("URL"),InstrRev(Request.ServerVariables("URL"),"/")+1)
End Function
'獲取文件後綴名
Function GetExt(filename)
    GetExt = Mid(filename,InstrRev(filename,".")+1)
End Function
'過濾不良字符
Function ChkBadWords(fString)
    Dim BadWords,bwords,i
    BadWords = "|王八|洪志"
    If Not(IsNull(BadWords) or IsNull(fString)) Then
    bwords = Split(BadWords, "|")
    For i = 0 to UBound(bwords)
        fString = Replace(fString, bwords(i), string(Len(bwords(i)),"*"))
    Next
    ChkBadWords = fString
    End If
End Function
'防止外部提交
Function ChkPost()
    Dim URL1,URL2
    ChkPost = False
    URL1 = Cstr(Request.ServerVariables("HTTP_REFERER"))
    URL2 = Cstr(Request.ServerVariables("SERVER_NAME"))
    If Mid(URL1,8,Len(URL2))<>URL2 Then
        ChkPost = False
    Else
        ChkPost = True
    End If
End Function
'過濾HTML字符函數
Function HTMLEncode(fString)
If Not IsNull(fString) And fString <> "" Then
    fString = Replace(fString, "&", "&")
    fString = Replace(fString, ">", ">")
    fString = Replace(fString, "<", "<")
    fString = Replace(fString, Chr(32), " ")
    fString = Replace(fString, Chr(9), "  ")
    fString = Replace(fString, Chr(34), """)
    fString = Replace(fString, Chr(39), "'")
    fString = Replace(fString, Chr(13), "")
    fString = Replace(fString, Chr(10) & Chr(10), "</P><P>")
    fString = Replace(fString, Chr(10), "<BR>")
    fString = Replace(fString, Chr(255), " ")
    HTMLEncode = fString
End If
End Function
'清除HTML標記
Function stripHTML(strHTML)
    Dim objRegExp,strOutput
    Set objRegExp = New Regexp
    objRegExp.IgnoreCase = True
    objRegExp.Global = True
    objRegExp.Pattern = "<.+?>"
    strOutput = objRegExp.Replace(strHTML,"")
    strOutput = Replace(strOutput, "<","<")
    strOutput = Replace(strOutput, ">",">")
    stripHTML = strOutput
    Set objRegExp = Nothing
End Function
===============================================================================
以下儲存為 editplus 之*.ctl檔
===============================================================================
#TITLE=ASP常用語法及函數
#INFO
ASP常用的一些語法及自定義函數
#SORT=n
#T= ===ASP常用語法===
#T=============================
#T=數據庫相關
#T= 連接ACCESS數據庫
<%
Dim DBName,Conn
DBName"^!"    '定義數據庫路徑及名稱
SET Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(DBName)
%>
#T= 連接MS SQL數據庫
<%
Dim Conn
SET Conn=Server.CreateObject("ADODB.connection")
Conn.Open "PROVIDER=SQLOLEDB;DATA SOURCE=SQL服務器名稱或IP地址;UID=數據庫登錄帳號;PWD=數據庫密碼;DATABASE=數據庫名稱"
%>
#T= 建立記錄集
SET ^!=Server.CreateObject("ADODB.recordset")
#T= 執行SQL命令
RS.Open SQL,conn,1,1
#T= 執行SQL命令
Conn.Execute("^!")
#T= RS直接執行SQL命令
SET RS = Conn.Execute("^!")
#T= 關閉記錄集
RS.CLOSE
SET RS=NOTHING
#T= 關閉數據庫
Conn.Close
SET Conn=Nothing
#T=============================
#T=ServerVariables相關
#T= 取上一頁地址
Request.ServerVariables("HTTP_REFERER")
#T= 取服務器的名稱1
Request.ServerVariables("SERVER_NAME")
#T= 取服務器的名稱2
Request.ServerVariables("HTTP_HOST")
#T= 取服務器IP
Request.ServerVariables("LOCAL_ADDR")
#T= 取用戶IP
Request.ServerVariables("Remote_Host")
#T= 取用戶真實IP1
Request.serverVariables("REMOTE_ADDR")
#T= 取用戶真實IP函數
Function GetRealIP()
    GetRealIP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
    IF(GetRealIP = "")THEN GetRealIP = Request.ServerVariables("REMOTE_ADDR")
End Function
#T= 取服務器端口
Request.ServerVariables("SERVER_PORT")
#T= 取服務器操作系統
Request.ServerVariables("OS")
#T= 取服務器的絕對路徑
Request.ServerVariables("APPL_PHYSICAL_PATH")
#T= 取本文件的絕對路徑1
Requet.ServerVariables("PATH_TRANSLATED")
#T= 取本文件的絕對路徑2
Server.mappath(Request.ServerVariables("SCRIPT_NAME"))
#T= 取本文件的相對路徑1
Request.ServerVariables("URL")
#T= 取本文件的相對路徑2
Request.ServerVariables("SCRIPT_NAME")
#T= 取本文件的相對路徑3
Request.ServerVariables("PATH_INFO")
#T= 取地址欄後的參數
Request.ServerVariables("QUERY_STRING")
#T= 取服務器系統信息
Request.ServerVariables("HTTP_USER_AGENT")
#T= 服務器組件檢測
<%
Function IsObjInstalled(strClassString)
    On Error Resume Next
    IsObjInstalled = False
    Err = 0
    Dim xTestObj
    SET xTestObj = Server.CreateObject(strClassString)
    IF(0 = Err)THEN IsObjInstalled = True
    SET xTestObj = Nothing
    Err = 0
End Function
'IF(IsObjInstalled("Persits.Upload")=True)THEN
'    Response.Write "支持AspUpload組件"
'ELSE
'    Response.Write "不支持AspUpload組件"
'END IF
%>
#T= 取客戶端語言環境
^!Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")
#T= 取客戶端信息:HTTP_USER_AGENT
^!Request.ServerVariables("HTTP_USER_AGENT")
#T= 取表單(Form)值元素值
Request.Form("^!")
#T= 取URL傳遞的值
Request.QueryString("^!")
#T= 取完整URL地址
Function GetUrl()
    GetUrl="http://"&Request.ServerVariables("SERVER_N ... .ServerVariables("URL")
    IF(Request.ServerVariables("QUERY_STRING")<>"")THEN GetURL=GetUrl&"?"& Request.ServerVariables("QUERY_STRING")
End Function
#T=============================
#T=自定義函數
#T= 過濾HTML字符
<%
'過濾HTML字符函數
Function HTMLEncode(str)
    IF(str <> "")THEN
        str = Replace(str, "&", "&")
        str = Replace(str, ">", ">")
        str = Replace(str, "<", "<")
        str = Replace(str, Chr(32), " ")
        str = Replace(str, Chr(9), "    ")
        str = Replace(str, Chr(34), """)
        str = Replace(str, Chr(39), "'")
        str = Replace(str, Chr(13), "")
        str = Replace(str, Chr(10) & Chr(10), "</P><P>")
        str = Replace(str, Chr(10), "<BR>")
        str = Replace(str, Chr(255), " ")
    END IF
    HTMLEncode = str
End Function
%>
#T= 檢測上頁是否從本站提交
<%
'檢測上頁是否從本站提交
'返回:True,False
'===============================================================
Function IsSelfRefer()
    Dim sHttp_Referer, sServer_Name
    sHttp_Referer = CStr(Request.ServerVariables("HTTP_REFERER"))
    sServer_Name = CStr(Request.ServerVariables("SERVER_NAME"))
    IF(Mid(sHttp_Referer, 8, Len(sServer_Name)) = sServer_Name)THEN
        IsSelfRefer = True
    ELSE
        IsSelfRefer = False
    END IF
End Function
%>
#T= 清除所有HTML標記
<%
'清除HTML標記
Function stripHTML(htmlStr)
    Dim regEx
    SET regEx = New Regexp
    regEx.IgnoreCase = True
    regEx.Global = True
    regEx.Pattern = "<.+?>"
    htmlStr = regEx.Replace(htmlStr,"")
    htmlStr = Replace(htmlStr, "<","<")
    htmlStr = Replace(htmlStr, ">",">")
    htmlStr = Replace(htmlStr,chr(10),"")
    htmlStr = Replace(htmlStr,chr(13),"")
    stripHTML = htmlStr
    SET regEx = Nothing
End Function
%>
#T= 取字符串長度
<%
'求字符串長度函數
Function GetLength(str)
    Dim Length
    For i=1 to Len(str)
        IF(Asc(Mid(str,i,1))<0 or Asc(Mid(str,i,1))>256)THEN
            Length=Length+2
        ELSE
            Length=Length+1
        END IF
    Next
    GetLength=Length
End Function
%>
#T= 截取指定長度字符串
<%
'截取指定長度的字符串,多餘的用...代替
Function StrLeft(str,strlen)
    IF(str = "")THEN
        StrLeft = ""
        Exit Function
    END IF
    Dim l,t,c,i
    str = Replace(Replace(Replace(Replace(str," "," "),""",chr(34)),">",">"),"<","<")
    l=len(str)
    t=0
    For i=1 to l
        c=Abs(Asc(Mid(str,i,1)))
        IF(c>255)THEN
            t=t+2
        ELSE
            t=t+1
        END IF
        IF(t>strlen)THEN
            StrLeft = left(str,i) & "..."
            Exit For
        ELSE
            StrLeft = str
        END IF
    Next
    StrLeft = Replace(Replace(Replace(Replace(StrLeft," "," "),chr(34),"""),">",">"),"<","<")
End Function
%>
#T= 獲取安全的提交參數
<%
'===============================================================
'SQL Injection Check
'函數功能:過濾字符參數中的單引號,對於數字參數進行判斷,如果不是數值類型,則賦值0
'參數意義:str ---- 要過濾的參數
'strType ---- 參數類型,分為字符型和數字型,字符型為"s",數字型為"i"
'===============================================================
Function CheckStr(str,strType)
    Dim strTmp  
    strTmp = ""  
    IF(strType ="s")THEN  
        strTmp = Replace(Trim(str),"'","''")  
    ELSEIF(strType="i")THEN  
        IF(IsNumeric(str)=False)THEN str=False  
        strTmp = str  
    ELSE  
        strTmp = str  
    End IF
    CheckStr= strTmp  
End Function
%>
#T= 過濾不良字符(BadWord)
<%
'過濾不良字符(BadWords)
Function ChkBadWords(fString)
    Dim BadWords,bwords,i
    BadWords = "王八|洪志"
    IF(Not(IsNull(BadWords) or IsNull(fString)))THEN
    bwords = Split(BadWords, "|")
    For i = 0 to UBound(bwords)
        fString = Replace(fString, bwords(i), string(Len(bwords(i)),"*"))
    Next
    ChkBadWords = fString
    END IF
End Function
%>
#T= 生成隨機自定義長度密碼
<%
'生成隨機自定義長度密碼
Function makePassword(maxLen)
    Dim strNewPass
    Dim whatsNext, upper, lower, intCounter
    Randomize
    For intCounter = 1 To maxLen
        whatsNext = Int((1 - 0 + 1) * Rnd + 0)
        IF(whatsNext = 0)THEN
        'character
            upper = 90
            lower = 65
        ELSE
            upper = 57
            lower = 48
        END IF
        strNewPass = strNewPass & Chr(Int((upper - lower + 1) * Rnd + lower))
    Next
    makePassword = strNewPass
End Function
'Response.Write makepassword(8)
%>
#T= 填入Textarea時保持格式inHTML
<%
'===============================================================
'去除Html格式,用於從數據庫中取出值填入輸入框時
'注意:value="?"這邊一定要用雙引號
'===============================================================
Function inHTML(str)
     Dim sTemp
     sTemp = str
     inHTML = ""
     If IsNull(sTemp) = True Then
        Exit Function
     End If
     sTemp = Replace(sTemp, "&", "&")
     sTemp = Replace(sTemp, "<br>",chr(13))
     sTemp = Replace(sTemp, "<", "<")
     sTemp = Replace(sTemp, ">", ">")
     sTemp = Replace(sTemp, """, Chr(34))
     inHTML = sTemp
End Function
%>
#T= 正則表表達式驗證函數
<%
'正則表表達式驗證函數 patrn-正則表達式 strng-需要驗證的字符串
'===============================================================
Function RegExpTest(patrn, strng)
    Dim regEx, retVal ' 建立變量。
    SET regEx = New RegExp ' 建立正則表達式。
    regEx.Pattern = patrn ' 設置模式。
    regEx.IgnoreCase = False ' 設置是否區分大小寫。
    retVal = regEx.Test(strng) ' 執行搜索測試。
    RegExpTest = retVal '返回值,不符合就返回false,符合為true
    SET regEx = NOTHING
End Function
%>
#T= 生成隨機字符串
<%
'生成隨機字符串
Function RndCode()
    Dim CodeSet,AmountSet
    CodeSet = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
    AmountSet = 62 ' 文字數量
    Randomize
    Dim vCode(10), vCodes,i
    For i = 0 To 9
      vCode(i) = Int(Rnd * AmountSet)
      vCodes = vCodes & Mid(CodeSet, vCode(i) + 1, 1)
    Next
    RndCode=vCodes
End Function
%>
#T=============================
#T=FSO相關操作
#T= 判斷目錄是否存在
<%
Function IsFloderExist(strFolderName)
    SET FSO=Server.CreateObject("Scripting.FileSystemObject")
    IF(FSO.FolderExists(strFolderName))THEN
        IsFloderExist = True
    ELSE
        IsFloderExist = False
    END IF
    SET FSO=NOTHING
End Function
%>
#T= 創建目錄
<%
Function CreateFolder(strFolderName)
    SET FSO=Server.CreateObject("Scripting.FileSystemObject")
    IF(FSO.FolderExists(strFolderName) = False)THEN
        FSO.CreateFolder(strFolderName)
    END IF
    SET FSO=NOTHING
END Function
%>
#T= 刪除目錄
<%
Function DeleteFolder(strFolderName)
    SET FSO=Server.CreateObject("Scripting.FileSystemObject")
    IF(FSO.FolderExists(strFolderName))THEN
        FSO.DeleteFolder(strFolderName)
    END IF
    SET FSO=NOTHING
END Function
%>
#T= 判斷文件是否存在
<%
Function IsFileExist(strFileName)
    SET FSO=Server.CreateObject("Scripting.FileSystemObject")
    IF(FSO.FileExists(strFileName))THEN
        IsFileExist = True
    ELSE
        IsFileExist = False
    END IF
    SET FSO=NOTHING
End Function
%>
#T= 刪除文件
<%
Function DeleteFile(strFileName)
    SET FSO=Server.CreateObject("Scripting.FileSystemObject")
    IF(FSO.FileExists(strFileName))THEN
        FSO.DeleteFile(strFileName)
    END IF
    SET FSO=NOTHING
END Function
%>
#T=============================
#T= ASP小偷常用的幾個函數
<%
Function ByteToStr(vIn)
    Dim strReturn,i,ThisCharCode,innerCode,Hight8,Low8,NextCharCode
    strReturn = ""
    For i = 1 To LenB(vIn)
        ThisCharCode = AscB(MidB(vIn,i,1))
        IF(ThisCharCode < &H80)THEN
            strReturn = strReturn & Chr(ThisCharCode)
        ELSE
            NextCharCode = AscB(MidB(vIn,i+1,1))
            strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
            i = i + 1
        END IF
    Next
    ByteToStr = strReturn
End Function
Function GetHttpPageContent(url,Method,SendStr)
    Dim Retrieval
    SET Retrieval = Server.CreateObject("Microsoft.XMLHTTP")
    With Retrieval
        .Open Method, url, False ,"" ,""
        .setRequestHeader "Content-Type","application/x-www-form-urlencoded"
        .Send(SendStr)
        GetHttpPageContent = .ResponseBody
    End With
    SET Retrieval = Nothing
    GetHttpPageContent=ByteToStr(GetHttpPageContent)
End Function
Function RegExpText(strng,regStr)
    Dim regEx,Match,Matches,RetStr
    SET regEx = New RegExp
    regEx.Pattern = regStr
    regEx.IgnoreCase = True
    regEx.Global = True
    SET Matches = regEx.Execute(strng)
    For Each Match in Matches
        RetStr = RetStr & regEx.Replace(Match.Value,"$1") & ","
    Next
    RegExpText = RetStr
    set regEx=nothing
End Function
Function StreamBytesToBstr(strBody, CodeBase)
Dim objStream
SET objStream = Server.CreateObject("Adodb.Stream")
With objStream
    .Type = 1
    .Mode = 3
    .Open
    .Write strBody
    .Position = 0
    .Type = 2
    .Charset = CodeBase
    StreamBytesToBstr = .ReadText
    .Close
End With
SET objStream = Nothing
End Function
%>
來源:http://www.ironman.tw/article.asp?id=64

sleepingwolf 發表在 痞客邦 留言(0) 人氣()














  [ASP]ASP語法速查表..


















































































































































































































































































































VBScript函數 功能說明 例          子
Abs(數值) 絕對值。一個數字的絕對值是它的正值。空字串(null)的絕對值,也是空字串。未初始化的變數,其絕對為0 例子:ABS(-2000)

結果:2000


Array(以逗點分隔的陣列元素) Array函數傳回陣列元素的值。 例子:

A=Array(1,2,3)


B=A(2)


結果:3


Asc(字串) 將字串的第一字母轉換成ANSI(美國國家標準符號)字碼。 例子:Asc(〞Internet〞)

結果:73


說明:顯示第一字母I的ANSI字碼。


CBool(運算式) 轉換成布林邏輯值變數型態(True 或 False) 例子:CBool(1+2)

結果:True


CDate(日期運算式) 換成日期變數型態。可先使用IsDate函數判斷是否可以轉換成日 期。 例子:CDate(now( )+2)

結果:2000/5/28 10:30:59


CDbl(運算式) 轉換成DOUBLE變數型態。  
Chr(ANSI字碼) 將ASCII字碼轉換成字元。 例子:Chr(72)

結果:H


CInt(運算式) 轉換成整數變數型態。 例子:CInt("3.12")

結果:3


CLng(運算式) 轉換成LONG變數型態。  
CSng(運算式) 轉換成SINGLE變數型態。  
CStr(運算式) 轉換成字串變數型態。  
Date() 傳回系統的日期。 例子:Date

結果:2000/5/13


DateAdd(I , N , D) 將一個日期加上一段期間後的日期。I:設定一個日期(Date)所加上的一段期間的單位。譬如interval="d"表示N的單位為日。I 的設定值如下:

yyyy Year 年


q       Quarter 季


m     Month 月


d      Day 日


w     Weekday 星期


h      Hour 時


n     Minute 分


s      Second 秒


N:數值運算式,設定一個日期所加上的一段期間,可為正值或負值,正值表示加(結果為date以後的日期),負值表示減(結果為date以前的日期)。


D:待加減的日期。


例子:DateAdd("m" , 1 , "31-Jan-98")

結果:28-Feb-98


說明:將日期31-Jan-98加上一個月,結果為28-Feb-98而非31-Fe-98。


例子:DateAdd("d" , 20 , "30-Jan-99")


結果:1999/2/9


說明:將一個日期30-Jan-99加上20天後的日期。


DateDiff(I , D1 , D2[,FW[,FY]]) 計算兩個日期之間的期間。

I:設定兩個日期之間的期間計算之單位。譬如I="m"表示計算的單位為月。I 的設定值如:


yyyy     Year 年


q           Quarter  季


m          Month 月


d           Day 日


w         Weekday 星期


h          Hour 時


m         Minute 分


s          Second 秒


D1 ,D2:計算期間的兩個日期運算式,若date1較早,則兩個日期之間的期間結果為正值;若date2較早,則結果為負值。


FW:設定每週第一天為星期幾,若未設定表示為星期天。FW的設定值如下:


0     使用API的設定值。


1     星期天


2     星期一


3     星期二


4     星期三


5    星期四


6     星期五


7     星期六


FY:設定一年的第一週,若未設定則表示一月一日那一週為一年的第一週。FY的設定值如下:


0     使用API的設定值。


1     一月一日那一週為一年的第一週


2     至少包括四天的第一週為一年的第一週


3     包括七天的第一週為一年的第一週


例子:DateDiff("d","25-Mar-99","30-Jun-99")

結果:97


說明:顯示兩個日期之間的期間為97天。


DatePart(I,D,[,FW[,FY]]) 傳回一個日期的之部份。

I:設定傳回那一部份。譬如I="d"表示傳回部份為日。I的設定值如下:


yyyy     Year 年


q           Quarter  季


m          Month 月


d           Day 日


w         Weekday 星期


h          Hour 時


m         Minute 分


s          Second 秒


D:待計算的日期。


FW:設定每週第一天為星期幾,若未設定則表示為星期天。FW的設定值如下:


0     使用API的設定值。


1     星期天


2     星期一


3     星期二


4     星期三


5    星期四


6     星期五


7     星期六


FY:設定一年的第一週,若未設定則表示一月一日那一週為一年的第一週。FY的設定值如下:


0     使用API的設定值。


1     一月一日那一週為一年的第一週


2     至少包括四天的第一週為一年的第一週


3     包括七天的第一週為一年的第一週


例子:DatePart("m","25-Mar-99")

結果:3


說明:顯示傳回一個日期的月部份。


Dateserial(year,month,day) 轉換(year,month,day)成日期變數型態。 例子:DateSerial(99,10,1)

結果:1999/10/1


DateValue(日期的字串或運算式) 轉換成日期變數型態,日期從January 1,100 到December 31,9999。格式為month,day,and year或month/day/year。譬如:December 30,1999、Dec 30,1999、12/30/1999、12/30/99 例子:DateValue("January 1,2002")

結果:2002/1/1


Day(日期的字串或運算式) 傳回日期的「日」部份。 例子:Day("12/1/1999")

結果:1


Fix(運算式) 轉換字串成整數數字型態。與Int函數相同。若為null時傳回null。

Int(number)與Fix(number)的差別在負數。如Int(-5.6)=-6,Fix(-5.6)=-5。


例子:Fix(5.6)

結果:5


Hex(運算式) 傳回數值的十六進位值。若運算式為null時Hex(運算式)=null,若運算式=Empty時Hex(運算式)=0。16進位可以加「&H」表示,譬如16進位&H10表示十進位的16。 例子:Hex(30)

結果:1E


Hour(時間的字串或運算式) 傳回時間的「小時」部份。 例子:Hour("12:30:54")

結果:12


InStr([start,]string1,string2[,compare]) 將一 個字串由左而右與另一個比較,傳回第一個相同的位置。

start為從第幾個字比較起,若省略start則從第一個字比較起,string1為待尋找的字串運算式,string2為待比較的字串運算式,compare為比較的方法,compare=0表二進位比較法,compare=1表文字比較法,若省略compare則為預設的二進位比較法。


例子:InStr("abc123def123","12")

結果:4


InstrRev([start,]string1,string2[,compare]) 將一 個字串由右而左與另一個比較,傳回第一個相同的位置。

start為從第幾個字比較起,若省略start則從第一個字比較起,string1為待尋找的字串運算式,string2為待比較的字串運算式,compare為比較的方法,compare=0表二進位比較法,compare=1表文字比較法,若省略compare則為預設的二進位比較法。


例子:InstrRev("abc123def123","12")

結果:10


Int(運算式) 傳回一個數值的整數部份。與Fix函數相同。 例子:Int(5.6)

結果:5


IsArray(變數) 測試變數是(True)否(False)是一個陣列。 例子:IsArray(3)

結果:False


說明:不是一個陣列。


IsDate(日期或字串的運算式) 是否可以轉換成日期。日期從January 1,100 A.D.到December 31,9999 A.D。 例子:IsDate("December 31,1999")

結果:True


說明:可以轉換成日期。


IsEmpty(變數) 測試變數是(True)否(False)已經被初始化 例子:IsEmpty(a)

結果:True


IsNull(變數) 測試變數是(True)否(False)不是有效的資料。 例子:IsNull("")

結果:False


說明:是有效的資料。


IsNumeric(運算式) 是(True)否(False)是數字。 例子:IsNumeric("abc123")

結果:False


說明:不是數字。


LCase(字串運算式)HOME 轉換字串成小寫。將大寫字母的部份轉換成小寫。字串其餘的部份不變。 例子:LCase("ABC123")

結果:abc123


Left(字串運算式,length) 取字串左邊的幾個字。length為取個字。Len函數可得知字串的長度。 例子:Left("ABC123",3)

結果:ABC


Len(字串運算式〡變數) 取得字串的長度。 例子:Len("ABC123")

結果:6


LTrim(字串運算式) 除去字串左邊的空白字。RTrim除去字串右邊的空白字,Trim函數除去字串左右兩邊的空白字。 例子:LTrim("456+"    abc    ")

結果:456abc123


Mid(字串運算式,start[,length]) 取字串中的幾個字。start為從第幾個字取起,length為取幾個字,若略length則從start取到最右底。由Len函數可得知字串的長度。 例子:Mid("abc123",2,3)

結果:c12


Minute(日期的字串或運算式) 傳回時間的「分鐘」部份。 例子:Minute("12:30:54")

結果:30


Month(日期的字串或運算式) 傳回日期的「月」部份。 例子:Month("12/1/2001")

結果:12


MonthName(month[,abbreviate]) 傳回月的名稱。

month:待傳回月名稱的數字1~12。譬如,1 代表一月,7代表七月。


abbreviate:是(True)否(False)為縮寫,譬如March,縮寫為Mar。預設值為False。中文的月名稱無縮寫。


例子:MonthName(7)

結果:七月


Now() 傳回系統的日期時間。 例子:Now()

結果:2001/12/30 10:35:59 AM


Oct() 傳回數值的八進位值。八進位可以加「&O」表示,譬如八進位&O10表示十進位的8。 例子:Oct(10)

結果:12


Replace(字串運算式,findnreplacewith[,start[,count[,compare]]]) 將一個字串取代部份字。尋找待取代的原字串(find),若找到則被取代為新字串(replacewith)。

find:待尋找取代的原字串。


replacewith:取代後的字。


start:從第幾個字開始尋找取代,若未設定則由第一個字開始尋找。


count:取代的次數。若未設定則所有尋找到的字串取代字串全部被取代。


compare:尋找比較的方法,compare=0表示二進位比較法,compare=1表文字比較法,compare =2表根據比較的資料型態而定,若省略compare則為預設的二進位比較法。


例子:Replace("ABCD123ABC","AB","ab")

結果:abCD123abC


Right(字串運算式,length) 取字串右邊的幾個字,length為取幾個字。Len函數可得知字串的長度。 例子:Right("ABC123",3)

結果:123


Rnd[(number)] 0~1的隨機亂數值。number是任何有效的數值運算式。若number小於0表示每次得到相同的隨機亂數值。number大於0或未提供時表示依序得到下一個隨機亂數值。 number=0表示得到最近產生的隨機亂數值。為了避免得到相同的隨機亂數順序,可以於Rnd函數前加Randomize。 例子:Rnd

結果:0.498498


Round(數值運算式[,D]) 四捨五入。

D:為四捨五入到第幾位小數,若省略則四捨五入到整數。


例子:Round(30635,1)

結果:3.6


RTrim(字串運算式) 除去字串右邊的空白字。LTrim除去字串左邊的空白字,Trim函數除去字串左右兩邊的空白字。 例子:RTrim("      abc123     ")+"456"

結果:abc123456


Second(時間的字串或運算式) 傳回時間的「秒」部份。 例子:Second(12:30:54")

結果:54


Space(重複次數) 得到重複相同的空白字串。 例子:A"+Space(5)+"B

結果:A     B


說明:A和B中間加入五個空白字。


String(重複次數,待重複的字) 得到重複相同的字串。 例子:String(5,71)

結果:GGGGG


StrReverse(String(10,71)) 將一個字串順序顛倒。 例子:StrReverse("ABC")

結果:CBA


Time() 傳回系統的時間。 例子:Time

結果:10:35:59 PM


TimeSerial(hour,minute,second) 轉換指定的(hour,minute,second)成時間變數型態。 例子:TimeSerial(10,31,59)

結果:10:31:59


TimeValue(日期的字串或運算式) 轉換成時間變數型態。日期的字串或運算式從0:00:00(12:00:00 A.M.)到23:59:59(11:59:59 P.M.)。 例子:TimeValue("11:59:59")

結果:11:59:59


Trim(字串運算式) 除去字串左右兩邊的空白字。 例子:Trim("         abc123      ")

結果:abc123


UCase() 轉換字串成大寫。將小寫字母的部份轉換成大寫,字串其餘部份不變。 例子:UCase("abc123")

結果:ABC123


VarType(變數) 傳回一個變數類型。與TypeName函數相同,VarType傳回變數類型的代碼,TypeName傳回變數類型的名稱。 例子:VarType("I love you!")

結果:8


Weekday(日期運算式,[FW]) 傳回星期幾的數字。

FW:設定一週的第一天是星期幾。若省略則表1(星期日)。


Firstdayfweek設定值為:1(星期日),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)。


例子:Weekday("1/1/2000")

結果:7


WeekDayName(W,A,FW) 傳回星期幾的名稱。

W:是(True)否(False)為縮寫。譬如March,縮寫為Mar。預設為False。中文的星期幾名稱無縮寫。


FW:設定一週的第一天是星期幾。若省略表1(星期日)。設定待傳回星期幾的名稱,為一週中的第幾天。


A:1(星期日),2(星期一),3(星期二),4(星期三),5(星期四),6(星期五),7(星期六)。


例子:WeekDayName("1/1/2000")

結果:星期六


Year() 傳回日期的「年」部份。 例子:Year("12/1/2000")

結果:2000



















sleepingwolf 發表在 痞客邦 留言(1) 人氣()

家庭年收入148萬 在北市仍屬中低收入戶 林郡妙報導 2008/08/02   家庭年收入要多少才不算中低收入戶?今年主計處的統計可能讓大家嚇一大跳。根據中時電子報報導,依據政府統計,正當大多數人抱怨、薪水銳減的年代,中低收入戶的門檻、反而降低,家庭年收入達148萬,在台北市都還只算中低收入戶。   報導指出,依據主計處統計,各個城市居民,依照家庭年收入的高低,可以排出次序,其中,可以用一個金額做為中間點,可以區分成前半段、後半段,以台北市而言,這個中間點就是148萬元。
  今年一個年收入148萬的家庭,已掉入後半段,成為中低收入戶,報導說,這都是因為另有一批M型左方的家庭,收入大增,拉高整體的平均家庭收入金額。
  在高雄市、台中市方面,這條家庭年收入的分界線標準,今年則是107萬,全國各省轄市及金門、連江縣,這個家庭年收入前段班、後段班分野落在97萬元。
來源:http://media.career.com.tw/epaper/enews/center_news.asp?no3=35649

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

ASP QueryString 集合返回 Request 對象參考手冊定義和用法QueryString 集合用於取回 HTTP 查詢字符串中的變量值。HTTP 查詢字符串 (HTTP query string) 是由問號 (?) 之后的值規定的,比如:<a href="test.asp?txt=this is a query string test">帶有查詢字符串的連結</a>上面的代碼可生成一個名為 txt 且值為 "this is a query string test"的變量。查詢字符串同樣可以通過表單提交來生成,或者通過使用者在瀏覽器的地址欄中輸入查詢。

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

你希望你的孩子將來賺多少錢?
前兩天收到一封人家轉寄的網路新聞,大致是說,目前台北市月收入五萬元以下的民眾,已淪落至「中低收入」了。
聽到這個消息我大吃一驚!更吃驚的是,妹妹補充說明,這個數字是以「個人」為單位計算,也就是以「總收入」除以「人口數」。如果是以「家庭」計算的話,年收入低於140萬(雙薪家庭兩人都要有月薪六萬元以上)的,在台北市都屬於「後一半」的中低收入家庭。
天!我從來沒想過,包括我在內,我身邊許許多多的朋友,在電視台工作、製作單位工作、銀行工作、貿易公司工作、幼稚園、國小老師、報社記者、甚至電腦工程師(如果沒有股票可領的話).....都「已經」或「即將」淪為「中低收入」戶了!
這個數字的確令人震驚。不過,先不管數字,單是以實際上的家庭支出,如果你要住在台北市,每個月可以住一間30坪的房子、薪水足夠負擔孩子的幼稚園與褓姆費、才藝課,再加上水、電、瓦斯、管理費的基本開銷,再養上一部國產車,每個月要加五千塊錢油錢;另外每個月可以帶孩子出遊、住個民宿、看場電影、吃頓大餐,每一年可以出國旅行一趟,閒暇時可以逛逛百貨公司,那麼一個月沒有12萬塊錢以上的收入,的確是辦不到的!
問題是,現在有哪些行業的薪水,一個月有12萬以上的收入呢?
我腦袋轉了很久,我認識的人中,除了可以領股票的電子新貴、機師、律師、醫師、會計師、名補習班老師、二線以上的藝人、報社主任級以上的職員、以及股市人員、業績呱呱叫的房仲、保險業務人員外,只有替我家裝潢的油漆工、木工,還有以前替我先生找停車位的那個歐吉桑、替我家車子修車的老闆,還有替我化妝的化妝師一個月月入20萬。我實在想不出有哪個單位的鐵飯碗,能給一個月10萬元的薪水。我印象中,現在連教授、空姐好像也沒這麼高薪。
於是,當我看到昨天有一位網友,在我上一篇「如何為孩子選擇學校」,留話表示念國中時,要為孩子選一所「有讀書風氣」的學校,我忽然心裡又一驚!
我突然想到,讓孩子念了大學、碩士,將來一路順風的讀上去.....,接下來呢?變成一個「中低收入戶」嗎?

這實在是一個令人不知所措的問題。
我爸那個年代,從大陸播遷來台的外省小孩,十有九個家裡都窮,所以,十有九個都很會唸書。因為他們知道,唸書雖然不見得有機會;但不唸書鐵定是沒有機會。因此,我爸雖然窮到沒有鉛筆寫作業,只好每天在學校向同學借鉛筆,趕在放學回家前把功課寫完,但仍然一路以最優異的成績,考上公費留學、完成博士學業。念到博士,走專業路線,我家雖然不富不貴,倒也不餓不愁。
我那個年代,雖然唸書的人不一定可以賺大錢,不過書念得好,倒也一定有飯吃。因此,我有兩個堂姐是老師,捧著公家飯碗,再怎麼樣也餓不死,薪水還算不錯。
十年風水輪流轉,現在可不一樣了。
少子化生得少,考上師範也不見得有工作;學校不斷升級的結果,念到博士也不見得可以當教授。讀書讀得好,現在可不一定有飯吃。
職場變得越來越險惡,競爭變得越來越激烈。
我看著報導,忍不住想:我的女兒如果書讀得不怎樣,我還要勸她唸書嗎?
今天,遇到一個剛考完基測的孩子,我問她:「妳要念五專還是普通高中?」她也茫茫然的問我:「阿姨,妳說呢?」她說自己不是很愛讀書,不過媽媽希望她考大學。我不敢回答她。因為我身邊有許許多多大學念傳播系、念文學院、念理學院,念經濟系、但是現在找不到工作、或是失業已久的朋友。
有一次,女兒自然課的幾個家長們,私底下聚會聊天。涂淑芳老師說:「未來是一個專業走向的社會。」她的意思是,將來的高收入者,不一定是學歷高者,而是有專業技能者。
比如說:最棒的美容設計師、最頂尖的木匠、最受歡迎的模特兒、修理飛機的機師、汽車黑手、調酒師、鋼琴調音師、運動教練、病理研究員.....等等。
她說,北歐地區都是這樣,收入很高的,可能是一個鐘錶師、一個木匠,或是一個花匠、一個好的裁縫師。外出大家比的是技藝、專業。學歷,並不重要。
當然,唸書,本來就不是為了學歷。我一直認為在學校唸書與將來的就業並不一定是「正」相關。問題是,如果一路念上去,除非唸到博士,否則很多科目都是「通識」,那麼,就業的時候該怎麼辦呢?
我自己是「中文系」畢業的。「中文系」這種科目在大學裡其實跟個通識科目也相差不多,只念到大學畢業,完全沒有所謂的「專業」可言。我之所以還可以混口飯吃,主要是因為我自己練就所謂的「文字」專業,因此可以用以謀生。
不過,我周邊很多的朋友,在面臨行業不景氣時,要換環境就非常困難了。沒有一技之長、沒有靈活的頭腦,是最大的問題。
有一次,我跟張淳淳與一個大陸的台商吃飯。聽淳淳介紹,我們是要去見一個資產上億的老闆,我心中一直以為是一個大腹便便、童山濯濯的中年人。沒想到,一見面,我嚇了一跳,對方比我還小個五、六歲!年紀非常輕!
聊天聊了一會兒,知道他這麼年輕就做了世界知名廠牌的代理商,我不禁好奇他是哪裡畢業的?他起先吞吞吐吐不說,在我指著他手臂上的疤痕開玩笑說,我知道:「你一定是混出來的!」他才笑著點頭:「其實,我只有國小畢業。」
在聽他簡述創業過程之後,我真的非常佩服。他因為沒念什麼書,很年輕就進入社會,一路從小業務跑到大老闆。最重要的是,他有野心、有手腕、有計畫,他沒有家累、沒有包袱,說幹就幹。他曾經因為創業失敗而背負幾百萬債務,但敢衝敢撞的結果,是不但重新站起來,而且很快賺回江山。
創立「法蘭瓷」的陳總經理,也是年輕時就從「禮品」業務起家,他後來變成台灣獨大的進口禮品公司代理商,再一路開創自己的品牌「法蘭瓷」,因為年輕時的禮品業務經驗,讓他熟悉禮品通路,因此得以在經營「法蘭瓷」後,成長如此迅速。
你發現了嗎?這些人都有一個共通點,那就是「年輕」。他們都沒有碩士、博士學歷,但是,他們都很年輕就開始闖蕩、開始創業,因為年輕,不怕失敗,因為年輕,沒有負擔。當然,我們的社會上還是有很多中年創業者,比方說「故事屋」的創始人。但是,不可否認,年輕、膽識,真的是事業成功很重要的墊腳石。
當然,我並不是說,事業成功、賺大錢就是人生追求的目標;我也不認為,一個人賺得少就會不快樂。只是我一直在想,讓孩子喜歡讀書,並不是要求他要考上很好的學校,或是擁有顯赫的學歷,而應該「只」是累積他找知識的習慣、對自身的反省,與深思生命的意義。
至於學歷,其實大可以擺在一邊。如果,將來我的孩子可以做一個很棒的化妝師,我會很高興她擁有一個技能可以養活她自己,我想我並不一定會要她考大學、甚至念高中。但是,我希望我的孩子能夠及早知道她的優點、她所擅長的才能,而且有意志力專注的計畫自己的人生。
我之前在電視上說過我一個同學的親身經歷。
我國三的時候,我們班上有一個資優的女生,她的數理非常好,不論怎麼考,她幾乎都是滿分。想當然爾,每次模擬考她都名列前茅,後來直接保送北一女中,我有點不太記得她後來是自動放棄保送資格還是怎麼的,反正最後她還是以前幾名的分數考進去,一路念到台大醫科。成績這麼好的學生,理所當然如此,從沒有人懷疑過她的志願,甚至於她自己。我們當時都十分羨慕她。我一直認為自己挺聰明,但對於她,我真是甘拜下風、又嫉又羨,為什麼世界上有這麼聰明的人?她總是輕輕鬆鬆的就拿滿分!而我,經常是念個半死還考得爛不拉機的!
大二那年,我修了一門「兒童文學」的課程,很意外的在教室裡遇見她。因為我大學重考一年,當時她已經大三了。很久沒見,我們坐在一起聊了一下。上課後不久,我發現她正在讀高中理化參考書。我覺得很奇怪:「幹嘛?準備家教學生的課啊?」她搖頭:「不是,是我自己要讀的。」
我追問:「為什麼?」她神色黯然的說:「我要重考大學。」
我嚇了一大跳:「不會吧!妳已經大三了耶!而且第一志願,幹嘛重考?」
她說:「我不想當醫生。我喜歡美術。」
原來,到了大二要上大體解剖,她才發現自己根本不喜歡當醫生,她怕血,她壓根不想念醫學院。然而,當年功課太好,父母的期望逼著她不得不填上第一志願。她告訴我她發現自己喜歡畫畫,她想念建築或是設計系。
我望著她,心裡百感交集。從前,我如此羨慕的羨慕她,但,她卻是這麼的不快樂。而我,雖然功課不怎麼樣,大學也多考了一年,但我卻如此幸運,我一直都很清楚自己喜歡什麼、擅長什麼!
知道自己的長處、喜歡自己並追求自己所喜歡的,這是一件多麼重要且令人快樂的事!
唯有「學歷高」的想法,早已默默在打破。近來我深深的感悟,一個在社會上有競爭力的人,他必須擁有熱情、有計畫、要有靈活的頭腦,以及過人的膽識。
如果,我的孩子將來不讀書,我並不擔心。與其培養一個升學一帆風順但腦筋如一灘死水的孩子,還不如一個國小畢業但不畏困難、衝勁十足的孩子。我希望,我的孩子,在成長的歷程中,可以早日發現,她喜歡什麼、適合什麼,而不是分數到哪裡,就跟著念到哪裡。
屆時,她才有足夠的時間,可以承擔失敗、一再重來,進而找到一條不但足以養家活口,也能夠成就自己的道路。

本文引用自 AnyiChen - 你希望你的孩子將來賺多少錢?

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

(一)產品外觀設計師
職位描述及要求 崗位要求:
 1.本科以上學曆,工業設計或藝術類相關專業;
 2.思維活躍,觀察力強,對產品市場和IT、家電行業有一定了解;
 3.從事外觀設計工作三年以上,有成功的設計案例並取得了良好的銷售業績,熟 悉黑色家電和數碼類產品設計風格;

sleepingwolf 發表在 痞客邦 留言(0) 人氣()


"時尚"手機受寵 外觀設計應多做形色文章  
發布時間:2007.08.02 10:42     來源:賽迪網-中國電子報    作者:歐陽勝海
【賽迪網訊】每年年中都是各大品牌廠商發布新品的季節,這些新品發布往往成為行業的風向標。今年這些大品牌又為我們帶來了振奮人心的創新設計饕餮大餐,透過這些新品,我們可以清晰地把握未來手機市場的發展脈搏。 在功能越來越難產生革命性變革的2007年,“時尚”成為了幾乎所有品牌的共同推廣詞,而要體現時尚的魅力,除了功能上的一些共性要求以外(MP3、攝像頭等),外觀成為首要挖掘的方面。而針對時尚的外觀,材料的使用更加大膽、新穎。 鏡面設計:能當鏡子用的新武器 鏡面設計分為兩大部分,一部分是不帶手寫功能的鏡面設計,一部分是帶手機功能的鏡面設計。 不帶手寫功能的設計以摩托羅拉、索尼愛立信為最大膽者,摩托羅拉的KRZR系列和索尼愛立信的Z750首先挑起了全鏡面設計的“大旗”。這類鏡面設計最大的特點就是“炫”,由於鏡面工藝能使手機在任何環境下“閃亮”,尤其容易吸引消費者的第一眼球,因此備受品牌廠商的關注和喜愛。 實際上,鏡面工藝2006年就開始陸續出現,但一直受到工藝上的限制,成品率較低。尤其要保證整個鏡面無瑕疵,且能夠設計出各類曲線,這對結構工廠的要求非常高,且成本也高出普通殼料數倍。盡管備受關注,卻難以形成行業主流。隨著工藝的不斷更新,成品率問題已經被成功攻克,且成本逐漸下降,保證了鏡面設計可廣泛用於各類機型。國產手機也開始引入這種工藝,並運用在各類中低端機型上,例如聯想的S系列手機和TCL-阿爾卡特的OT520之類中低端機型,均是這類典範。 毫無疑問,鏡面工藝將廣泛應用於各類機型,其不僅能使外觀設計更“炫”,而且能從外觀視覺上將屏的尺寸擴大,更利於品牌的推廣。 支持触摸功能的手機也開始在2007年大規模使用鏡面感覺的工藝。但由於屏幕最外部分是触摸面板(Touch Panel),在触摸面板上不能增加任何硬體媒質(例如鏡面玻璃)進行保護,因此和不支持触摸手寫的鏡面設計工藝不同的是,触摸屏幕無法在顏色上做文章,而且還要解決跌落易碎的難題。 目前触摸有兩類大的實現技術。一類是電阻式触摸屏,這類屏幕已經廣泛在中高端的PDA上使用,可以使用手和触摸筆進行操作。但細心的消費者一定會發現,這類屏幕在摩托羅拉E6出來之前,全部都是凹下去的,低於屏幕邊框,這是因為触摸屏和顯示屏一般為一體化設計,而邊框必須卡在屏幕邊緣上端,起到固定屏幕的作用。但摩托羅拉E6改變了這一切,其首創的Touch screen純平手寫触摸屏技術使触摸屏不再“低邊框一等”,平面設計一氣呵成。 而多普達S1將此技術運用到其高端機型上,並配合以軟體Touch Flo操作方式,在功能表上能夠實現類似iphone一樣的拖拉式操控界面,更是直接提昇了多普達S1的含金量。 另外一類触摸技術就是電容式触摸屏技術。它和電阻式触摸屏技術不太一樣,主要是通過手指作為導電體來進行操作,不需要触摸筆。電容式触摸屏最大的特點是能實現所謂的多點触控(Muti-touch)功能,能實現多手指同時操作。這類技術其實早已用於按鍵方面,LG去年風靡一時的“巧克力”鍵盤就是使用電容触摸的原理研制而成。而今年蘋果公司最先將此項技術應用在其巔峰級產品iphone上,成為全球手機行業的一面旗幟。這類技術能很好地解決人機操作問題,用手指實現滑鼠般的操作快感,因此一定會被眾多廠商所採用,掀起手機行業的新時尚浪潮。 總之,追求鏡面效果僅僅是“過程”,最終是希望能通過產品給消費者展現出與眾不同的外觀感受和人機操作體驗。這類嘗試還會在未來的新品中不斷得到展示。 色變:萬綠叢中一點紅 手機市場發展多年,手機顏色經曆過大灰大銀的時代,也經曆過大白大紅的時代,最近幾年黑色已經成為市場的主流。但2007發生的一個重要變化是,在打著“時尚”口號的手機行業,顏色重新成為廠商外觀設計的重要組成部分。 本質上而言,顏色很難產生差異化,因為任何產品都可以搭配任何顏色。盡管色彩不能產生差異化,但卻可以成為廠商市場推廣的“利器”,顏色的差異本質上是為廠商市場推廣、產品定位服務的。例如聯想推出的“粉時尚”,實際上就是配合其市場推廣的主題,主攻女性市場。 今年各大廠商不約而同地在色彩上大做文章。在顏色選擇上主要有兩大主線: 第一,大面積使用鮮艷的顏色。而且不約而同選擇藍色、粉紅色作為主選顏色,說明各大品牌都試圖通過顏色的改變來引導市場的新潮流。摩托羅拉早在2005年就通過V3的色彩戰略嘗到了甜頭,今年更是將顏色運用得登峰造極。而諾基亞也擺脫以往使用顏色相對穩健的形象,在中低端市場大量使用鮮艷的顏色。 而三星、聯想、索尼愛立信、波導等廠商也跟隨這股風潮,推出不同顏色的手機。 第二,在手機中點綴一些鮮艷的顏色也成為各大品牌紛紛採用的設計理念。索尼愛立信在“萬黑叢中一點橙”的外觀設計理念為索尼愛立信的成功立下汗馬功勞。所謂“萬綠叢中一點紅”,這一抹差異化的顏色起到的就是“畫龍點睛”作用。
   總之,隨著手機越來越成為消費者的“快速消費品”,色彩的運用會成為各大品牌廠商重要的設計方向。 金屬材料:包裝全身 摩托羅拉在V3上使用鋁鎂合金金屬材料,讓金屬材料成為手機市場新的寵兒。各大品牌紛紛將金屬材料運用到中高端機型上。 首先,電池殼大量使用金屬殼,電池殼作為手機可卸裝的一部分,使用金屬材料能大大提昇手機的質感和重感。一個很有意思的現象是,原來手機一度追求超輕,例如2003年、2004年的時候很多手機都以“輕”作為賣點,動輒僅有70多克。而現在手機在重量的追求上又刮起了復古之風,大部分手機的重量輕而易舉突破120克,似乎越重越顯得有質感。例如諾基亞在今年的新機型中,只要能用到金屬的,就絕對不吝嗇用金屬。 而一些品牌使用更加大膽,例如LG今年主搭計程車產品“SHINE”KG70和KG77,除了天線部分採用塑膠殼料外,其他部分全部用金屬將手機包的嚴嚴實實。 其次,在手機的正面大量使用環形金屬條。LG的KG70、KG77採用了中規中矩的環形金屬條,而iphone和摩托羅拉也在其旗艦機型上不約而同地選用了環形金屬條,這種金屬條可以使手機的檔次躍然提高,必將為眾多手機廠商所採用。 金屬件也早已被國內品牌手機乃至“黑手機”所大量採用,中國消費者一向認為金屬是檔次的象征,銀色、金色金屬條被大量選用就是一個例證。 實際上,在手機上設計金屬條不可避免地對天線射頻會造成一定干擾,因此對天線的設計就要求特別講究,這個問題也一直是手機設計者需要重點考慮的問題。對於大品牌而言,由於具備雄厚的射頻研發實力,在這一方面往往能得到較好的解決,而一些小品牌目前還被這個問題所困擾,因此金屬件的使用從另外一個方面也能夠反應一家公司的射頻研發實力。 線條:和美學掛鉤 諾基亞7500絕對是這個夏天令人振奮的一款產品,這款產品早已脫離了消費者對其功能的關注。產品一經發布,就以“鉆石切割工藝、立體幾何線條、黑色與寶石艷麗色的配搭、未來科技感、跨界設計”等時尚元素吸引了許多關注的目光。 諾基亞的7系列手機,走的都是吸取其他行業設計精華的路線,利用特殊的線條、圖案合理分割手機,在手機的“面”上實現美學設計的思路。 諾基亞7500也不例外,其吸取的是鉆石的分割線原理,完全打破了原有手機的或方或圓的鍵盤設計思路。這種打破手機設計思維慣性,另類設計的模式為手機行業提供了一個鮮活的案例,即“設計無界”。 可以預料的是,諾基亞7500一定能成為一款暢銷產品,為諾基亞爭取到更多的市場份額。 跨界設計的思想理念也將成為手機行業新的設計模式,為手機行業吹來一股清新的風。可以預料,手機設計發展的未來一定會呈多元化的發展,為各細分人群帶來更加“貼心”的產品。 總結:當2007年上半年的手機新品全部呈現在面前的時候,我的第一感覺其實就是,現在的手機行業越來越像服裝行業了。各大品牌通過發布會不斷發布令人耳目一新的產品,這些產品具備了時尚、流行、復古各類特質,也不斷使用各類新的材質,同時不斷通過跨界設計推陳出新。而這一切的目的,就是要讓消費者為之動心,触動喜新厭舊的內在情節,最終實現產品的銷售。

sleepingwolf 發表在 痞客邦 留言(0) 人氣()

Blog Stats
⚠️

成人內容提醒

本部落格內容僅限年滿十八歲者瀏覽。
若您未滿十八歲,請立即離開。

已滿十八歲者,亦請勿將內容提供給未成年人士。