전산실짬밥/ASP2013. 3. 6. 16:15
function fnStrLength(str)
    Dim strLen, strByte, strCut, strRes, char, i
    strLen = 0
    strByte = 0
    strLen = Len(str)
    for i = 1 to strLen
        char = ""
        strCut = Mid(str, i, 1)
        char = Asc(strCut)
        if Len(char) = 1 And char = "1" then
            strByte = strByte + 2
        else
            strByte = strByte + 1
        end if
    next
    fnStrLength = strByte
End function

 

 

function fnStrLengthCut(str, x)
    Dim strLen, strByte, strCut, strRes, char, i, strRtn
    strLen = 0
    strByte = 0
    strLen = Len(str)
    strRtn = ""
    If fnStrLength(str) > x then
        for i = 1 to strLen
            char = ""
            strCut = Mid(str, i, 1)
            char = Asc(strCut)
            if Len(char) = 1 And char = "1" then
                strByte = strByte + 2
            else
                strByte = strByte + 1
            end if
            strRtn = strRtn & strCut
            If strByte = x-2 Then
                Exit for
            End if
        next
        fnStrLengthCut = strRtn & ".."
    Else
        fnStrLengthCut = str
    End if
End function

 

 

첫번째 fnStrLength 함수는

말그대로 글자수를 반환한다.

한글은 2글자로 반환하고, 영문 및 기호는 1글자로 반환한다.

 

두번째 fnStrLengthCut 함수는 글자수만큼 짜르는 거다.

예를들어 fnStrLengthCut("정훈승만세",10)

라고 한다면 정훈승만.. 이렇게 나온다. "정훈승만"이 8글자로 인식되기 때문이다.

뒤에 ..(쩜쩜)까지 포함해서 10글자가 완성된다.

 

네이버에 검색을 좀 해보니 똑바로된 함수를 너무 찾기 힘들더라

정말 어처구니가 없는건

틀린 함수인데도 불구하고 그걸 좋다고 가져다 배껴서 지들 블로그에 써놨다는 것이다.

 

누가 틀린거 올려놓으면 틀린 그대로 배껴서 올려놓는 사람들이 의외로 너무 많다.

적어도 해보고 되는지 안되는지 검사는 해보고 배껴야 되는 것 아닌가

 

어쨋든 내가 해놓은 위 함수들은 백프로 검증되었으니 맘껏 보고 배워가길 바란다.

 

몇몇 의견에 너무나도 쉽게 선동되는 오늘날 흐리멍텅한 좌좀들의 한 단면을 보는 것같아

괜히 일하다가 혼자 화가 나서 좀 끄적여봤다.

 

좌좀들은 남 잘되는 꼴을 못본다.

그걸 보고 배울 생각을 안하고 그저 배가 아프다.

열심히 노력해서 그것을 따라잡을 생각을 안하고 끌어내릴 생각만 한다.

Posted by 정훈승