2010년 1월 28일 목요일

VB 스크롤

INI FILE

파일구조

[Section 1]
KeyName1=Value
KeyName2=Value

 

[Section 2]
KeyName1=Value


 

읽기

GetPrivateProfileString Function 을 이용, 모듈에 다음의 API Function 을 선언.

 

Public Declare Function GetPrivateProfileString Lib "kernel32" _
               Alias "GetPrivateProfileStringA" _
              (ByVal lpApplicationName As String, _
               ByVal lpKeyName As Any, _
               ByVal lpDefault As String, _
               ByVal lpReturnedString As String, _
               ByVal nSize As Long, _
               ByVal lpFileName As String) As Long

GetPrivateProfileString은 String 타입의 값을 리턴한다

 

lpApplicationName : lpApplication Name 인수는 위의 (1)에서 설명한 ApplicationName 문자열에 해당한다.
lpKeyName : lpKeyName 인수는 위의 (1)에서 설명한 KeyName에 해당한다
lpDefault : lpDefault 인수는 문자열에 대해 유지되는 디폴트 값에 해당한다. 일반적으로 프로그램은 이 매개 변수를 사용하지 않는다.
lpReturnedString : lpReturnedString 인수는 위의 (1)에서 설명한 Value문자열에 해당한다.
nSize : nSize 인수는 lpReturnedString 인수 내의 리턴된 문자열 길이에 해당한다.             
lpFileName : lpFileName 인수는 참조중인 .ini파일의 완전히 규정된 경로와 파일 이름에 해당한다.

 

예제)
Private Sub GetINIConfig()
    Dim iniFile As String
    Dim iniValue As String
    Dim iniLen As Long
    Dim iniStr As String

   

    strFile = "app.ini"
    iniValue = String$(256, 0)

    iniLen = GetPrivateProfileString("Section 1", "KeyName1", "0", iniValue, Len(iniValue), iniFile)
    iniStr = Left$(iniValue, iniLen)
End Sub


 

쓰기

WritePrivateProfileString Function 을 이용, 모듈에 다음의 API Function 을 선언.

Public Declare Function WritePrivateProfileString Lib "kernel32" _
               Alias "WritePrivateProfileStringA" _
              (ByVal lpApplicationName As String, _
               ByVal lpKeyName As Any, _
               ByVal lpString As Any, _
               ByVal lpFileName As String) As Long

lpApplicationName : lpApplication Name 인수는 위의 (1)에서 설명한 ApplicationName 문자열에 해당한다.
lpKeyName : lpKeyName 인수는 위의 (1)에서 설명한 KeyName에 해당한다
lpString : lpString 인수는 위의 (1)에서 설명한 Value 문자열에 해당한다.
lpFileName : lpFileName 인수는 참조중인 .ini파일의 완전히 규정된 경로와 파일 이름에 해당한다.

예제)
Private Sub SetINIConfig()
    Dim iniFile As String
    iniFile = "app.ini"
    WritePrivateProfileString "Section 1", "KeyName1", "TEST1234", iniFile
End Sub


 

 

 

 


 

2010년 1월 25일 월요일

MSSQL 숫자만 가져오기

FUNCTION dbo.UF_NumOnly(@str VARCHAR(20))
RETURNS VARCHAR(20)
AS
BEGIN
 DECLARE @res VARCHAR(MAX)
 Set @res = ''

 DECLARE @strlen INT
 SET @strlen = LEN(@str)

 DECLARE @cnt INT
 SET @cnt = 1

 WHILE @cnt <= @strlen
 BEGIN
  DECLARE @tmpstr CHAR(1)
  Set @tmpstr = SUBSTRING(@str, @cnt, 1)

  IF((ASCII(@tmpstr) >= 48) AND (ASCII(@tmpstr) <= 57))
  BEGIN
   SET @res = @res + @tmpstr
  END

  SET @cnt = @cnt + 1
 END

 RETURN @res
END

VB 숫자만 가져오기

Function numOnly(str As String) As Variant
    Dim strTemp As String
    Dim intNum As Integer
   
    For intNum = 1 To Len(str)
        If IsNumeric(Mid(str, intNum, 1)) Then
            strTemp = strTemp & Mid(str, intNum, 1)
        End If
    Next intNum
    numOnly = strTemp
End Function

2010년 1월 23일 토요일

MySQL 한글설정

매번 검색하는 것도 지치넹..ㅋ

 

[client]
default-character-set=euckr

 

[mysqld]
character-set-client-handshake=FALSE
init_connect="SET collation_connection = euckr_korean_ci"
init_connect="SET NAMES euckr"
default-character-set=euckr
character-set-server=euckr
collation-server=euckr_korean_ci

 

[mysqldump]
default-character-set=euckr

 

[mysql]
default-character-set=euckr

2010년 1월 6일 수요일

MS-SQL 강제로 인덱스 테우기

SELECT name, hp FROM member WITH(INDEX(idx_name)) WHERE name = '?????'

 

아래 옵션들을 사용해서 인덱스를 타는지와 부하정도를 파악할 수 있다.

 

SET SHOWPLAN_ALL ON
SET STATISTICS IO ON
SET STATISTICS TIME ON

2010년 1월 4일 월요일

EXCEL 날짜차이 구하기

=DATEDIF(시작일,종료일,"M")