달력

72025  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
반응형
출처 : http://www.cyworld.com/zxcvbn0704/3995881

1. div와 span

 

<div> div는 어케 돌아가는가 1</div>

<div> div는 어케 돌아가는가 2</div>

<div> div는 어케 돌아가는가 3</div>

 

=> 웹브라우저 에서는 아래와 같이 표시된다.

div는 어케 돌아가는가 1   

div는 어케 돌아가는가 2 

div는 어케 돌아가는가 3  

 

<span>span 은... 1</span>

<span>span 은... 2/span>

<span>span 은... 3/span>

 

=> 웹브라우저 에서는 아래와 같이 표시된다.

span 은... 1span 은... 2pan 은... 3

 

div와 span의 가장 큰 차이는 줄 바꿈 여부이다.

div가 줄바꿈되는 이유는 css display속성 기본값이 block이고,

span이 줄바꿈되지 않는 이유는 css display속성 기본값이 inline이기 때문이다.

 

이 두 설정을 반대로 해보자.

 

div{display:inline}

span{display:block}

 

^^

 

차이점

1. block으로 설정하면 줄바꿈되고, inline으로 설정하면 줄바꿈이 되지 않는다.

2. block로 설정하면 상/하 margin과 padding속성을 사용할 수 있지만,

    inline으로 설정하면 상/하 margin과 패딩은 사용할 수 없다.

3. block로 설정하면 width, height 속성을 사용할 수 있지만,

    inline으로 설정하면 width, height속성을 사용할 수 없다.

 

 

2. display

block 요소는 정렬할때 display:liline; 이나 float를 사용한다.

display는 liline 혹은 block 혹은 hidden 을 속성값을 지닌다

 

고로 block를 inline으로 하면 인라인특징인 left 정렬이 된다.

span은 인라인 요소이기 때문에

 

<span>오데로정렬 &nbsp&nbsp</span><span>오데로정렬 &nbsp&nbsp</span>

-> 왼쪽 정렬이 될것이다.

하지만 block요소들은 float 설정하지 않은 이상 한줄씩 나온다. 그래서

block요소 정렬을 하기 위해서는

block의 정렬은 float

inline의 정렬은 text-align

      (block의 중앙정렬은 margin:0 auto; 반드시 block는 width값이 있어야 한다. )

 

3. float

object 즉 block을 정렬시킬때 사용

float는 자석처럼 left나 right를 사용하여 어느쪽으로 붙을지만 결정하면 다음 요소들은 그 효과로 인해 붙어버린다. 이것을 방지하기 위해 clear를 해준다.

 

최대 단점은 부모가 float된 자식의 높이를 가져 오지 못한다. float방식이 공중에 띄워서 하는 방식이기 때문이다.

 

 

clear는 혼자서는 아무효과가 없다. 원래의 속성으로 돌아가지 때문에 block요소의 고유정렬인 한줄씩 정렬로 된다.

 

 

 해결1 : float에 float

 

 해결2 : float에 overflow

 

 

 해결3: float에 빈요소( <div></div>) 로 clear

 

 

 해결 4: 가상선택자 : alter로 clear

 

해결 5: dispaly:inline-block으로 clear

float된 자식요소들의 높이를 부모에게 전달하는 방법으로써 부모 요소에 display:inline-block 속성을 부여.

inline-block 속성이 부여된 요소는 float된 자식의 높이만큼 늘어난다.

단, 표준계열 브라우저들은 부모 요소의 너비가 자식의 너비만큼 알맞게 줄어들지만 IE 6~7 브라우저는 100%의 너비를 갖게 되는 특징이 있습니다. 또한 inline-block 속성을 갖게 된 요소는 인라인 요소와 마찬가지로 박스가 끝나는 지점에 약 4px 정도의 공백을 갖게 되므로 이점 유념하시는게 좋겠습니다. 

참조

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
IE 6 에서 투명도가 회색으로 표기되는 부분 적용하기 위해 추가된 부분임!!!

크롬, 파이어폭스. 사파리에서는 이미지가 노출되지 않으니 적용하면 안되서 조건문을 걸었다.


 var ie5=(w3c && document.all && !window.opera)? true : false;


  if(ie5)
  {
    iconimg.width=iconimg.height="1";
    iconimg.style.display="inline-block";
    iconimg.style.filter="progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+iconimg.src+"', sizingMethod='image')";
    }
반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

태그속성의 값중 Value는 굉장히 중요한 값을 가집니다.
특히 대표적으로 많이 사용되는곳이 텍스트박스(input type="text")의 내용값이나
라디오버튼, 드롭다운리스트의 value값에서 중요하게 사용됩니다.

.val()메서드를 이용하면 입력받은 value값을 가져오거나 원하는 value값으로 set이 가능합니다.
set의 용도로 사용할때는 
            $('타겟지정코드').val("set하고싶은 value값");
이 형태로 사용하시면되고,
get의 용도로 사용하실때는
            var msg  = $('타겟지정코드').val();
이런 형식으로 사용하시면 됩니다.


이하 예제코드와 그 결과입니다.
예제에서
             .join("원하는 구분모양")

이라는 메서드가 사용되었는데 이 메서드는 get해온값이 여러가지일때
그 구분자로써 사용되게됩니다.





<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>폼 요소의 값 가져오기 및 설정</title>
    <script src="jquery-1.3.2-vsdoc2.js" type="text/javascript "></script>
    <script type="text/javascript ">
        $(document).ready(function () {
            //val을 이용한 초기설정 잡기(좋다!)
            $('#txtName').val("뿌요뿌요");
            $('input:radio:').val(['F']);
            $('#lstFavorites').val(['0','2']);

            $('#btnOK').click(function () {
                var msg = "";
                //1 타겟 폼요소의 value속성을 가져온다. <>에러
                msg += $('#txtName').val() + '\n';
                //2 라디오버튼중 이름이 Gender이고 체크된 타겟의 value속성을 가져온다. <> undefined
                msg += $('input:radio[name=Gender]:checked').val() + '\n';
                //3 리스트박스에서 여러개 값 가져오기
                msg += $('#lstFavorites').val().join(" | ") + '\n';

                //
                alert(msg);
            });
        });
    </script>
   
</head>
<body>
    텍스트박스 : <input type="text" id="txtName" /><br />
    라디오버튼 :
        <input type="radio" id="optGender1" name="Gender" value="M"  />남
        <input type="radio" id="optGender2" name="Gender" value="F" />여<br />
    드롭다운리스트 :
        <select id="lstFavorites" multiple="multiple" size="3">
            <option value="0">JavaScript </option>
            <option value="1">jQuery</option>
            <option value="2">JavaScript </option>
        </select><br />
    <input type="submit" value="확인" id="btnOK" />
</body>
</html>



출처 : http://kr.blog.yahoo.com/jooonho/110

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

document.body.scrollTop 쓸 때 스크롤 시 주의

 

작성일: 2010.08.17

작성자: 권희영

 

마우스의 현재 포인트의 좌표값을 받아올 때

 

x 좌표: document.body.scrollLeft

y 좌표: document.body.scrollTop

 

사용 예)

event = window.event;

 

x = document.body.scrollLeft + event.clientX;

y = document.body.scrollTop+ event.clientY;

 

위와 같이 사용한다.

그런데 위와 같이 사용했을 때 스크롤을 내리면 내린만큼의 값을 받아오지 못한다.

이럴때 대체방법은 document.documentElement.scrollTop 이렇게 쓰면 된다.

 

그러나 저 방법으로 사용할 때에는 ie7이상부터 가능하며 파이어폭스에서는 실행되지 않는다.

 

[참고 사이트]

브라우저별 scrollTop 값에 대한 설명 : http://www.webuit.com/160

브라우저별 좌표값 얻어내기 : http://jmvidal.cse.sc.edu/talks/javascriptinbrowser/windowgeometry.html

참고 포트터 : http://paranbarami.tistory.com/314

 

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

========================================

- 레지스터 등록 : Regsvcs HelloComponent.dll 

- 레지스터 재 등록 : Regsvcs.exe /reconfig HelloComponent.dll

- 레지스터 키 받기 : sn -k HelloComponent.snk


========================================
RegSvr32  MyComSvr.DLL

만약  삭제를  해야  한다면
RegSvr32  /u  MyComSvr.DLL



닷넷에서는?  ㅋ
RegSvcs  라는  명령어가  닷넷  버전마다  제공됩니다.  ㅋ



RegSvr32를  이용하여  DLL을  등록하는  의미는
레지스트리에  CLSID를  등록함으로써  COM서버가  샐행될  수  있게  하기  위함입니다. 

==================================================================

적용 대상

발생한 오류 메시지에 대한 설명이 이 문서에 없으면 다음 Microsoft 기술 자료에서 오류 메시지를 설명하는 다른 문서를 참조하십시오.

315854 Windows 98 및 Windows Me 오류 메시지 리소스센터

요약

Regsvr32 도구(Regsvr32.exe)를 사용하여 자동 등록할 수 있는 동적 연결 라이브러리(DLL) 또는 ActiveX 컨트롤(OCX) 같은 개체 연결 및 포함(OLE) 컨트롤을 등록하고 등록 해제할 수 있습니다. 이 도구는 Windows, Microsoft Internet Explorer 또는 다른 프로그램에서 발생하는 일부 문제를 해결하는 데 필요할 수 있습니다. 예를 들어, Microsoft 기술 자료의 다음 문서에서는 Windows Update 사이트에서 설치하기 전에 Regsvr32.exe를 사용하여 Wuv3is.dll 컨트롤을 등록 해제해야 합니다.

241122 WINUP: 제품 업데이트를 누르면 응용 프로그램 오류가 발생한다

컨트롤 등록에 실패하거나 성공하지 못한 OLE 컨트롤 등록 시도의 문제 해결에 대한 개발자 정보가 필요하면 Microsoft 기술 자료의 다음 문서를 참조하십시오.

140346 OLE 컨트롤 등록 실패의 가능한 원인

추가 정보

Regsvr32.exe는 Microsoft Internet Explorer 3.0 이상, Windows 95 OEM 서비스 릴리스 2(OSR2) 이상 및 Microsoft Windows NT 4.0 서비스 팩 5(SP5) 이상에 포함되어 있습니다. Regsvr32.exe는 System(Windows Me/98/95) 또는 System32(Windows NT) 폴더에 설치됩니다.

Regsvr32.exe 사용법

RegSvr32.exe에는 다음 명령줄 옵션이 있습니다. Regsvr32 [/u] [/n] [/i[:cmdline]] dllname /u - Unregister server<BR/> /i - Call DllInstall passing it an optional [cmdline]; when used with /u calls dll uninstall /n - do not call DllRegisterServer; this option must be used with /i Regsvr32.exe를 사용하면 구성 요소를 로드하고 해당 DLLSelfRegister 함수를 호출하려고 시도합니다. 이 시도가 성공하면 Regsvr32.exe는 성공을 나타내는 대화 상자를 표시합니다. 시도가 실패하면 Regsvr32.exe는 Win32 오류 코드를 포함할 수 있는 오류 메시지를 반환합니다. Win32 오류 코드 목록은 다음 Microsoft 웹 사이트를 참조하십시오.

http://msdn.microsoft.com/library/en-us/netdir/adsi/win32_error_codes.asp

예를 들어, Sample.ocx ActiveX 컨트롤을 수동으로 등록하려면 MS-DOS 프롬프트에서 다음 명령을 입력하십시오.

c:\regsvr32.exe sample.ocx

Regsvr32.exe 오류 메시지

다음 목록에는 RegSvr32 오류 메시지와 가능한 원인에 대한 설명이 들어 있습니다.

인식할 수 없는 플래그: /invalid_flag

플래그나 스위치의 잘못된 조합을 입력했습니다. 본 문서의 "Regsvr32.exe 사용법" 절을 참조하십시오.

DLL 이름을 지정하지 않았습니다.

.dll 파일 이름을 포함시키지 않았습니다. 본 문서의 "Regsvr32.exe 사용법" 절을 참조하십시오.

Dllname을(를) 로드했으나 DllRegisterServer 또는 DllUnregisterServer 시작점이 없습니다.

Dllname은 .dll 또는 .ocx 파일이 아닙니다. 예를 들어, regsvr32 wjview.exe를 입력하면 이 오류 메시지가 생성됩니다.

Dllname은(는) 실행 파일이 아니며 이 파일 형식에 대한 등록 도우미도 등록되어 있지 않습니다.

Dllname은 실행 파일(.exe, .dll 또는 .ocx)이 아닙니다. 예를 들어, regsvr32 autoexec.bat를 입력하면 이 오류 메시지가 생성됩니다.

Dllname을(를) 로드했으나 DllRegisterServer 또는 DllUnregisterServer 시작점이 없습니다.

Dllname을 내보내지 않았거나 Dllname의 손상된 버전이 메모리에 있을 수 있습니다. Pview를 사용하여 파일을 검색하고 제거하는 것을 고려하십시오.

Dllname is not self-registerable or a corrupted version is in memory.

예를 들어, regsvr32 icwdial.dll을 입력하면 Icwdial.dll 파일이 자동 등록 파일이 아니기 때문에 이 오류 메시지가 나타납니다. 메모리에 Dllname 의 손상된 버전이 있다고 의심되면 컴퓨터를 다시 시작하거나 파일의 원래 버전을 다시 추출해 보십시오. Windows NT를 실행 중인 경우 Microsoft Windows NT Server 4.0 Resource Kit의 Kill 또는 Pview 도구를 사용해야 할 수 있습니다 . 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.

197155 잘못된(Orphaned) 프로세스를 종료하는 방법

OleInitialize를 실패했습니다(또는 OleUninitialize를 실패했습니다).

Regsvr32는 필요한 COM 라이브러리 함수를 호출하고 종료할 때 라이브러리를 초기화되지 않도록 하려면 COM 라이브러리를 초기화해야 합니다. 이러한 오류 메시지는 COM 라이브러리를 초기화하거나 초기화되지 않도록 하려는 시도가 실패할 경우 발생합니다. 예를 들어, Ole32.dll 파일이 손상되었거나 잘못된 버전일 수 있습니다.

LoadLibrary("Dllname")를 실패했습니다. GetlastError가 0x00000485을(를) 반환했습니다.

Winerror.h에서 0x00000485 = 1157 (ERROR_DLL_NOT_FOUND)는 "이 응용 프로그램을 실행하는 데 필요한 라이브러리 파일 중 하나를 찾을 수 없습니다."라는 의미입니다. 예를 들어, regsvr32 missing.dll을 입력하면 Missing.dll 파일을 찾을 수 없기 때문에 이 오류 메시지가 나타납니다.

LoadLibrary("Dllname")를 실패했습니다. GetLastError가 0x00000002을(를) 반환했습니다.

Winerror.h에서 0x00000002 = 2 (ERROR_FILE_NOT_FOUND)는 "지정한 파일을 시스템에서 찾을 수 없습니다."라는 의미입니다. 즉, 종속 DLL을 찾을 수 없었습니다. 예를 들어, Tapi32.dll(종속)이 누락된 상태로 regsvr32 icwdial.dll을 입력하면 다음 오류 메시지가 반환됩니다.

LoadLibrary("dskmaint.dll")를 실패했습니다. GetLastError가 0x000001f을(를) 반환했습니다.

Winerror.h에서 0x000001f = 31 (ERROR_GEN_FAILURE)은 "시스템에 부착된 장치가 작동하지 않습니다."라는 의미입니다. Win16 .dll 파일을 등록하려고 하면 이 문제가 발생할 수 있습니다. 예를 들어, regsvr32 dskmaint.dll을 입력하면 다음 오류 메시지가 반환됩니다.

Dllname의 DllRegisterServer(또는 DllUnregisterServer) 실패. 반환된 오류 코드: string

string은 Winerror.h를 검색하십시오.

Regsvr32.exe 및 종속성

RegSvr32.exe는 Kernel32.dll, User32.dll 및 Ole32.dll 파일(Windows NT에서는 Msvcrt.dll 및 Advapi32.dll 파일)에 종속됩니다. Regsvr32.exe는 모든 종속성과 함께 등록이나 등록을 해제하려는 파일을 로드합니다. 필요한 파일이 없거나 손상된 경우 프로세스가 실패할 수 있습니다.

Depends.exe를 사용하여 등록이나 등록을 해제하려고 하는 파일의 종속성을 확인할 수 있습니다. Depends.exe는 Microsoft Windows 98 Resource KitMicrosoft Windows NT 4.0 Resource Kit 지원 도구에 포함되어 있습니다.

247024 Microsoft Windows 98 Resource Kit에 포함된 도구


반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
출처 : http://mediakorea.net/sirboard/board_view.php?sm_id=JSPstudy&sb_id=311&search_category=&search_select=&search_text=&search_op=&page=16&next_num=

1. JSP와 서블릿 상호호출

서JSP는 디자인 중심, 서블릿은 기능 중심의 페이지에 적당합니다. 사이트를 만든다고 하면 기능 중심의 사이트는 서블릿이 좋을 것이고, 디자인 중심의 사이트는 JSP가좋습니다. 간혹 서블릿 중심 디자인의 핵심 기술인 서블릿에서 JSP페이지를 호출하는 방법이 있습니다.

(1) 서블릿에서 JSP호출

서블릿에서 JSP를 호출하려면 다음과 같은 코드를 서블릿에 작성해야 합니다.

RequestDispatcher rd;

rd = getServletContext().getRequestDispatcher(" JSP파일 경로");

rd.forward(request,response);


서블릿에서 JSP를 호출하면서 데이터를 넘기고자 한다면, 다음과 같은 코드가 와야합니다.

request.setAttribute(name,value);


다. value자리에는 모든 종류의 오브젝트가 올 수 있습니다. Vector 클래스를 이용한다면 복수 개의 데이터로 한번에 넘길 수 있습니다. JSP에서 이용하고자 한다면 JSP페이지에 다음과 같이 작성하면 됩니다.

request.getAttribute(name);


(2) JSP에서 서블릿 호출하기

JSP페이지에서 서블릿을 호출하는 방법은 JSP페이지에서 <jsp:forward>액션을 다음과 같이 하면 됩니다.

<jsp:forward page="서블릿 클래스 경로"/>


jsp페이지에서 추가적인 데이터를 서블릿으로 보내고자 한다면 <jsp:param>액션을 이용하면 됩니다.

jsp:forward page="서블릿 클래스 경로"

        <jsp : param name = "name" value="value"/>

        ( <jsp: param> 필요한 만큼 반복)

</jsp:forward>


이외 참고...... http://www.voiceportal.co.kr/731

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형

scrollHeight, clientHeight, offsetHeight  셋 모두 높이를 나타내는데요,

각각의 정확한 의미를 정리합니다.

* javascript code

<script type="text/javascript">

function msg( oTgt )
{
    var oDivID = oTgt ;
    alert( oDivID.scrollHeight ) ;
    alert( oDivID.clientHeight ) ;
    alert( oDivID.offsetHeight ) ;
}
</script>

 * html code

<div id=”divID” style="height=100px;background-color:blue;overflow:scroll" onclick="msg(this);">

abcdefghijklmn<br/>

abcdefghijklmn<br/>

abcdefghijklmn<br/>

abcdefghijklmn<br/>

abcdefghijklmn<br/>

abcdefghijklmn<br/>

</div>

 

 

각 단위는 픽셀 단위입니다.

scrollHeight : 스크롤바 높이를 뺀 내용 전체의 높이

clientHeight : 스크롤바 높이를 뺀 가시적인 높이

offsetHeight : 스크롤바 높이를 포함한 가시적인 높이



이상입니다.

관련정보 제공자 : mhlee 님,  cute772
Posted by 지위자드
반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
반응형
Posted by 친절한 웬디양~ㅎㅎ
|

asp 날짜 함수들

Develope/ASP 2010. 8. 12. 11:47
반응형
now : 2006-07-25 오후 6:52:24
now + 1 : 2006-07-26 오후 6:52:24
date : 2006-07-25
dateadd : 1995-02-28
datediff : 4165
datepart : 3
dateserial : 1980-05-31
DateValue : 1963-09-11
time : 오후 6:52:24
Timeserial : 오전 5:45:00
timevalue : 오후 4:35:17
isdate(theday) : True
second : 24
second : 31
minute : 52
hour : 18
day : 25
weekday : 3
weekdayname : 화요일
month : 7
monthname : 7월
year : 2006

반응형
Posted by 친절한 웬디양~ㅎㅎ
|
반응형
출처 : http://maru7937.egloos.com/4840021

If abc("file") <> "" Then 
   FileCnt = abc("file").count
Else
   FileCnt = 0
End If

Dim i
Dim FileName(), FileName(), FileType()
Redim FileName(FileCnt), FileName(FileCnt), FileType(FileCnt)

For i = 1 To FileCnt    

Set oFile =  ABC(trim("file"))(i)

If oFile.FileExists Then

FileName(i) = oFile.SafeFileName
FileSize(i) = oFile.Length
FileType(i) = oFile.FileType

 If FileSize(i) > 500000 then
  Response.Write "<script language=javascript>"
  Response.Write "alert('500K 이상의 사이즈인 파일은 업로드하실 수 없습니다');"
  Response.Write "history.back();"
  Response.Write "</script>"
  Response.end
  
  Else if lcase(FileType(i)) <> "gif" and lcase(FileType(i)) <> "jpg" then
   Response.Write "<script language=javascript>"
   Response.Write "alert('확장자는 반드시 Jpg또는 Gif로 올려주세요');"
   Response.Write "history.back();"
   Response.Write "</script>"
   Response.end
  Else
 
   strFileWholePath = DirectoryPath&"\"&goods_code&"_"&I&"."&FileType(i)
 
   oFile.Save strFileWholePath
  
  End if
  
 End if
 
End if

Next

----------------------------------------------------------------------------------------------

화일명이 중복되있다면 파일명을 변경하는 함수입니다. 잘쓰세요..

strFileWholePath = GetUniqueName(FileName(i), DirectoryPath)

' 업로드시 중복화일 화일명 변경 처리 함수
Function GetUniqueName(byRef strFileName, DirectoryPath)
 Dim strName, strExt, strLen, strCom, strNow
 ' "."확장자가 있는지 확인한다
 If Instr(strFileName, ".") Then
  strNow = "Y"
 Else
  strNow = "N"
 End If

 Dim fso : Set fso = Server.CreateObject("Scripting.FileSystemObject")
  
 Dim bExist : bExist = True 
 '우선 같은이름의 파일이 존재한다고 가정
 Dim strFileWholePath
 '저장할 파일의 완전한 이름(완전한 물리적인 경로) 구성
 Dim countFileName : countFileName = 0 
 '파일이 존재할 경우, 이름 뒤에 붙일 숫자를 세팅함.
  
 If strNow = "Y" Then  '확장자가 있을때
  ' 확장자를 제외한 파일명을 얻는다.
  strName = Mid(strFileName, 1, InstrRev(strFileName, ".") - 1)
 Else
  strName = strFileName
 End If

 strExt = Mid(strFileName, InstrRev(strFileName, ".") + 1)
 '확장자를 얻는다
 strFileWholePath = DirectoryPath & "\" & strFileName

 Do While bExist ' 우선 있다고 생각함.
  If (fso.FileExists(strFileWholePath)) Then ' 같은 이름의 파일이 있을 때
   countFileName = countFileName + 1 '파일명에 숫자를 붙인 새로운 파일 이
름 생성
   strFileName = strName & "(" & countFileName & ")." & strExt
   If strNow = "Y" Then
    strFileName = strName & "(" & countFileName & ")." & strExt
   Else
    strFileName = strName & "(" & countFileName & ")"
   End If
   strFileWholePath = DirectoryPath & "\" & strFileName
  Else
   bExist = False
  End If
 Loop
 GetUniqueName = strFileWholePath
End Function

반응형
Posted by 친절한 웬디양~ㅎㅎ
|