학부 과정 알고리즘 시간에 참고 했던 쥐잡기 알고리즘 라기 보단 미로찾기 알고리즘이다;;
간만에 파일 정리하다가 찾게 되어서 올려 놓는다.

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

#define MAX_STACK_SIZE 100 /* 스택의 최대 길이 */
#define ROW_SIZE 11 /* 현 미로의 최대 행 길이 */
#define COL_SIZE 15 /* 현 미로의 최대 열 길이 */
#define TRUE 1
#define FALSE 0

typedef struct { /* 미로탐색 경로가 들어갈 스택 */
int row;
int col;
int dir;
}element;
element stack[MAX_STACK_SIZE];

int top = -1; /* 스택의 top변수 */

typedef struct { /* 8방향의 좌표를 가질 구조체 */
short int vert;
short int horiz;
}offsets;
offsets move[8];

int mark[ROW_SIZE+2][COL_SIZE+2]; /* 탐색한 경로를 표시할 배열 */
int maze[ROW_SIZE+2][COL_SIZE+2] = { /* 미로를 구성하는 배열 (바깥테두리는 모두 1로 표시)*/
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1},
{1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1},
{1,1,0,0,0,1,1,0,1,1,1,0,0,1,1,1,1},
{1,0,1,1,0,0,0,0,1,1,1,1,0,0,1,1,1},
{1,1,1,0,1,1,1,1,0,1,1,0,1,1,0,0,1},
{1,1,1,0,1,0,0,1,0,1,1,1,1,1,1,1,1},
{1,0,0,1,1,0,1,1,1,0,1,0,0,1,0,1,1},
{1,0,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1},
{1,0,0,1,1,0,1,1,0,1,1,1,1,1,0,1,1},
{1,1,1,0,0,0,1,1,0,1,1,0,0,0,0,0,1},
{1,0,0,1,1,1,1,1,0,0,0,1,1,1,1,0,1},
{1,0,1,0,0,1,1,1,1,1,0,1,1,1,1,0,1},
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}};

int EXIT_ROW = ROW_SIZE, EXIT_COL = COL_SIZE; /* 미로의 시작점음 1,1 이고 끝나는 점을 가리키는 변수 */

void path(void); /* 미로를 탐색하는 함수 */
void push(int *top, element item); /* 스택에 자료를 삽입하는 함수 (push) */
element pop(int *top); /* 스택에서 자료를 삭제하는 함수 (pop) */
void stack_full(); /* overflow일때의 처리 */
element stack_empty(); /* 스택에 자료가 없을때의 처리 */


void main()
{

int i, j;
for(i=0;i<=ROW_SIZE+1; i++)
for(j=0; j<=COL_SIZE+1; j++) mark[i][j]=0; /* mark배열을 0으로 초기화 */

/* 8가지 방향에 대한 좌표변동값을 저장 */
move[0].vert = -1; move[0].horiz = 0; /* 북쪽 */
move[1].vert = -1; move[1].horiz = 1; /* 북동쪽 */
move[2].vert = 0; move[2].horiz = 1; /* 동쪽 */
move[3].vert = 1; move[3].horiz = 1; /* 동남쪽 */
move[4].vert = 1; move[4].horiz = 0; /* 남쪽 */
move[5].vert = 1; move[5].horiz = -1; /* 남서쪽 */
move[6].vert = 0; move[6].horiz = -1; /* 서쪽 */
move[7].vert = -1; move[7].horiz = -1; /* 서북쪽 */


path(); /* 미로 탐색함수를 실행 */

}

void path(void)
{
int i, row, col, next_row, next_col, dir, found = FALSE;
/* 차례대로 : 반복문을 위한 변수, 행, 렬, 다음행, 다음렬, 방위, 현재 위치에서 다음이동할 곳을 찾았는지 여부 */

element position;
/* 현재 위치에 대한 좌표값을 갖는 구조체 변수 */

mark[1][1] = 1; /* 처음 시작지점 */
top =0; /* 스택에 처음 시작위치를 입력. */
stack[0].row = 1;
stack[0].col = 1;
stack[0].dir = 0;

while(top > -1 && !found)
{
/* 도착지점을 찾지못할 경우 즉 길이 막혔을 경우 루프를 벗어남.(스택으로 모든자료값을 del시키면서
처음 시작위치로 돌아올때까지 다음 이동위치를 찾아보았지만 못찾았을경우 top은 -1이 된다 */

position = pop(&top); /* 스택의 가장최근에 입력된 자료를 현재의 위치로 지정 */
row=position.row;
col=position.col;
dir=position.dir;
while(dir < 8 && !found)
{ /* 순차적으로 8가지 방향을 검사해 보며 탐색을 하므로, dir이 4와 같다는건,
즉 동서남북 모든 방향을 다찾아 보았지만, 다음 이동할 위치를 못찾았다는 내용임 */
next_row = row + move[dir].vert; /* 현 좌표에서 이동할수 있는 위치를 계산 */
next_col = col + move[dir].horiz;

if(next_row == EXIT_ROW && next_col == EXIT_COL) found = TRUE; /* 만약 그곳이 출구라면 도착 표시 */
/* 아니라면, 그곳이 0즉 갈수 있는 곳이고, 기존에 한번도 오지 않았던 곳이라면, 그곳의 좌표를 스택에 입력,
아니면, 다음 이동할수 있는 위치로 다시 반복 */
else if(!maze[next_row][next_col] && !mark[next_row][next_col])
{
mark[next_row][next_col] = 1;
position.row = row;
position.col = col;
position.dir = ++dir;
push(&top, position);
row = next_row;
col = next_col;
dir = 0;
}
else ++dir;
}
}
int j;
if(found)
{ /* 출구를 찾았으면, 스택에 저장된 좌표들을 출력 */
printf("The path is:\n");
printf(" row col\n");
for(i = 0; i<=top; i++)
{
printf("%3d%3d",stack[i].row,stack[i].col);
maze[stack[i].row][stack[i].col]=5;
if((i+1)%6 == 0) printf("\n");
}
printf("%3d%3d", row, col);
printf("%3d%3d\n\n", EXIT_ROW, EXIT_COL);

maze[row][col]=5;
maze[EXIT_ROW][EXIT_COL]=5;

printf("The maze_output:\n");
for(i=0;i<=ROW_SIZE+1; i++)
{
for(j=0; j<=COL_SIZE+1; j++) {
printf("%3d",maze[i][j]);
}
printf("\n");

}
/*printf("%3d%3d", row, col);
printf("%3d%3d\n", EXIT_ROW, EXIT_COL); */
}
else printf(" The maze does not have a path\n"); /* 못찾았으면 에러표시 */
}


void push(int *top, element item) /* 스택에 자료를 삽입 */
{
if(*top >= MAX_STACK_SIZE-1)
{
stack_full();
return;
}
stack[++(*top)] = item;
}

element pop(int *top) /* 스택에 자료를 꺼냄 */
{
if(*top == -1)
return stack_empty();
return stack[(*top)--];
}


void stack_full()
{
fprintf(stderr, "Stack is full !! \n");
}

element stack_empty()
{
element item;
item.col = -1;
item.dir = -1;
item.row = -1;
fprintf(stderr,"Stack is empty !! \n");
return item;
}

이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
메일을 발송할 때 스팸으로 인식되지 않도록 주의하셔야 할 사항이 있습니다. anti 스팸 솔루션에 따라 인증 방식이 각각 차이가 있지만 어느정도 공통적인 기법을 사용하므로 아래의 내용을 참고하시어 고객님의 메일이 스팸으로  인식되지 않도록 하시기 바랍니다.


-. 메일 발송시 발신자와 수신자, 제목과 내용등을 반드시 정확히 입력하세요. 제목이나 내용에 아무런 입력을 하지 않을 경우 스팸으로 인식될 수 있습니다.

-. From에는 포털(naver, daum등) 에서 제공하는 계정보다는 고객님의 자체 도메인을 이용하세요.

-. 보내는메일서버(SMTP)는 Reverse IP 등록이 되어 있는 서버인지 확인해 보세요. nslookup 211.47.66.50과 같이 조회시 도메인 주소가 보여야 합니다.  

-. 메일 발송시 From에서 사용되는 도메인은 MX 레코드와 IP 주소가 존재하는지 확인해서 없을 경우 DNS서버에서 등록을 해 주세요.

-. 가능하다면 DNS에서 SPF 설정을 하시고,
   대량메일 발송시에는 http://www.kisarbl.or.kr/에 등록하세요.

-. 메일을 발송하는 PC나 서버에서의 시간설정이 정상적으로 되어 있는지 확인하세요.. 시간 차이가 발생할 경우 스팸으로 인식될 수 있습니다.

-. 메일 발송시에는 아웃룩이나 아웃룩익스프레스 범용적인 정상 메일 프로그램을 사용하시고 대량발송기를 이용해  발송하지 마세요.

-. 메일 발송시 가급적이면 html보다는 text로 발송하시고 인코딩(encoding)을 해서 보내지 마세요.

-. html로 보낼때는 가급적 큰 폰트나 화려한 색을 사용하지 마세요,

-. html 편집기는 표준을 따르는 정상적인 편집기를 사용하시고, 워드나 한글등 다른 응용 프로그램에서 제공하는 편집기를 사용하지 마세요.

-. html 작성시에는 반드시 html 문법에 맞게 사용하세요.

-. html 작성시에는 다음의 사항을 주의하세요..
   *. 와 같이 의미없는 태그를 작성하지 마세요
   *. 보이지 않는 텍스트(invisible text)를 작성하지 마세요.
   *. remove, subscribe, unsubscribe등을 추가하지 마세요.

-. 대부분의 스팸메일에서는 성(sex), 성인(adult), 약(drug), 대출(debt), 공짜(free),  돈(money)등에 대해 다루고 있습니다.
가급적 메일에서는 위의 주제를 다루지 않는 것이 좋으며 다루더라도 하나의 메일에 여러 내용을 다루지 않는것이 좋습니다.

-. 가급적 도메인은 .info나 .biz를 사용하지 않는 것이 좋으며 URL 링크시에도 도메인 대신 IP만으로 링크하는 것은 좋지 않습니다.

-. 메시지내에 링크되어 있는 도메인이 blacklist로 등록되어 있지는 않은지 확인해 보세요. 또한 고객님의 발송IP가 등록되어 있지는 않은지 아래 주소에서 확인해 보세요.

   블랙리스트여부확인 : http://www.rulesemporium.com/cgi-bin/uribl.cgi

-. 제목이나 내용에 불필요한 공백(space)이 없는지 그리고 알파벳의 경우 가급적 대문자를 피하고 소문자로 쓰도록 하는 것이 좋습니다.
대문자만으로 작성할 경우 스팸으로 인식될 가능성이 높습니다.

-. 메일 작성시 다음과 같이 섞어쓸 경우 스팸으로 인식될 가능성이 높습니다.
예) S.P.A.C.E, 0r, 1nfo, str@nge, m0vie 등.....

참고 : http://wiki.apache.org/spamassassin/AvoidingFpsForSenders
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
http://www.donga.com/fbin/output?f=j_s&n=200803030095&main=1

순서저자
1과학의 최전선에서 인문학을 만나다존 브록만
2화성의 인류학자올리버 색스
3신화학1레비 스트로스
4최종 이론의 꿈스티븐 와인버그
5조건들알랭 바디우
6헤르메스미셸 세르
749호 품목의 경매토마스 핀천
8통섭에드워드 윌슨
9고대문명교류사정수일
10인체사냥소니아 샤
11칼 세이건-코스모스를 향한 열정윌리엄 파운드스톤
12내 안의 유인원프란스 드
13부분과 전체베르너 하이젠베르크
14트랜스 크리틱가라타니 고진
15몸의 철학G. 레이코프
16특이점이 온다레이 커즈와일

17풀 하우스스티븐 제이 굴드
18진리와 방법한스 게오르크 가다머
19우연성, 아이러니, 연대성리처드 로티
20과학 혁명의 구조토머스 S. 쿤
21인간을 묻는다제이콥 브로노프스키
22철학자 가다머 현대의학을 말하다한스 게오르크 가다머
23마음은 어떻게 작용하는가스피븐 핑커

24스피노자의 뇌안토니오 디마지오
25이기적 유전자리처드 도킨스
26몸의 정치와 예술 그리고 생태학정화열
27차이와 반복질 들뢰즈
28과학으로 생각한다이상욱 홍성욱 등
29이보디보-생명의 블랙박스를 열다션 B. 캐럴
30아시아 신세기아오키 다모쓰 등

이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
TAG 과학,
http://www.zdnet.co.kr/news/internet/etc/0,39031281,39169068,00.htm

한국에서 세계 최초로 개발하여 상용화한 객체 기반 인터랙티브 뮤직 제어 기술인 차세대 디지털 음악기술이 세계 음악시장에서 각광받을 것으로 보인다.

ETRI(한국전자통신연구원, 원장 최문기)는 22일, 지난 5월초 프랑스에서 개최된 제84차 MPEG 회의에서 차세대 디지털음악의 국제표준화 추진 아이템으로 인터랙티브 뮤직(Interactive Music)이 선정되어 본격적인 국제 표준화가 추진될 예정이라고 밝혔다.

이번 회의의 MPEG-A 멀티미디어 응용포맷(MAF: Multimedia Application Format) 분야에서, ETRI와 ㈜오디즌(대표 함승철)이 차세대 디지털음악 기술로 인터랙티브 뮤직 응용포맷(Interactive Music AF) 기술을 공동으로 제안하여, 추가 검토 없이 바로 표준화 추진 아이템으로 선정되는 성과를 거두었다.

대부분의 표준화 아이템이 몇 번의 추가 및 검토 협의를 거쳐 표준화 아이템으로 선정되었던 전례와 비교하여, 첫 회의에서 이견 없이 합의되어 표준화 아이템으로 선정된 것은 국제회의에서 전례가 없는 일이다.

이번에 제안된 인터랙티브 뮤직 응용포맷 기술은 지난해 10월 ETRI가 세계 최초로 개발한 새로운 오디오 기술로서, 이용자가 각각의 음원 객체를 제어해 가수와 악기의 소리를 원하는 대로 개별 선택하여 감상할 수 있으며, 국내에서 MUSIC 2.0이라는 상용제품이 출시된 기술이다.

지금까지의 음악은 보컬과 모든 악기소리가 믹스된 단일음원이었다면, MUSIC 2.0 기술이 적용된 음반은 ‘멀티 음원’을 적용해, 보컬과 여러 악기소리가 각자의 독립된 트랙을 구성하여 한 곡을 이루고 있으며, 플레이어를 통해 각 음악에 포함된 보컬, 피아노, 기타, 바이올린, 드럼 등 각 악기음의 객체를 마음대로 조합할 수 있다.

예를 들면, 반주음을 모두 없애고 보컬만을 무반주로 감상해 볼 수도 있고, 피아노와 보컬만을 조합하거나, 드럼과 보컬만을 조합할 경우 아주 새로운 음악을 듣는 느낌이 있어 원곡보다 더 좋은 이용자만의 원곡을 만드는 등 독특한 재미를 만끽할 수 있는 차세대 음악 기술이다.

실제로 객체기반 인터랙티브 뮤직 기술이 적용된 MUSIC 2.0 음반으로 ‘SG워너비’, ‘메이비’, ‘먼데이키즈’, ‘장혜진’, ‘Ghost On Spotlight’, ‘리아’ 등이 있으며, ‘FT아일랜드’는 이번 달에 일본 및 태국에서 발매하는 신규 음반에 MUSIC 2.0을 적용하여 현지 발매하기로 하였다.
◇사진설명:MUSIC 2.0을 적용한 그룹 'FT아일랜드'

이번 인터랙티브 뮤직의 국제표준화 추진 합의는 향후, 차세대 디지털 음악분야에서 한국이 사업적 우위를 점유할 수 있는 기반을 마련한 것이며, 관련 기술의 로열티 수입을 기대할 수 있을 것으로 예상된다.

특히, 이번 인터랙티브 뮤직의 국제표준화 추진에는 우리나라의 음악산업과 관련된 ‘음원제작자협회’, ‘젊은제작자연대’ 등 음원제작사뿐만 아니라 다수의 사업자들이 공동으로 협의체를 구성하여 지원하고 있다.

최문기 ETRI 원장은 “인터랙티브 뮤직 응용포맷의 국제표준화를 한국이 주도하게 됨으로써 차세대 디지털 음악분야에서 한국이 사업적 우위를 점유할 수 있는 기반을 마련했다는 점에 의의가 있으며, 향후 침체된 음반 시장에 활력소를 제공하여 새로운 음악 서비스 산업을 태동시킬 수 있을 것”이라고 말했다.

ETRI는 이 기술과 관련하여 2007년까지 3건의 국제특허, 6건의 국내특허를 출원했으며, 올해 추가로 각각 2건의 국제특허와 국내특허를 출원할 계획이다.

한편, 본 기술은 지식경제부의 ‘SmarTV 기술개발’ 및 ‘차세대DTV 핵심기술개발’ 과제 결과의 일환이며, 이 기술의 성공적인 개발에 따라 이용자가 오디오 콘텐츠 제작에 참여할 수 있는 등 차별화된 서비스가 가능해졌다. @

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

CD는 이미 시대를 뒤로하고 디지털 음원이 이미 대세이다. 하지만 디지털 음원에도 여러 문제들이 있다. 표준화가 제정되면 디지털 음원 시장에 새로운 바람이 불까? 기대해본다.
표준화가 되면 외국의 여러 음원을 가진 사업자들과도 제휴가 편해 질 것 같은 예감~!
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
【라스베이거스/샌프란시스코=로이터/뉴시스】

중략 ...

야후 커넥티드 라이프 부문 수석 부사장 마르코 보에리스는 이날 개최된 정기 모바일 제품 전시회에서 휴대전화 사용자들이 음성을 이용해 수백만 개의 웹사이트 정보를 제공받을 있게 됐다고 밝혔다.

보리스 부회장은 이날 행한 연설에서 "소비자들에게 단순히 웹사이트 링크를 유도하는 것을 넘어서 웹사이트의 정보까지 제공하는 혁신적인 변화를 불러 일으키는 기술이다"고 설명했다.

야후의 음성인식 검색 서비스 '원서치'는 사용자들에게 음성과 글자 입력 두 가지 방법을 통해 검색 서비스를 사용할 수 있게 하는 것으로 기초적인 단어 또는 아이템을 검색할 수 밖에 없었던 기존의 제한된 음성 인식 기술의 단점을 대폭 보완하고 있다. 신생기업 블링고(Vlingo)의 음성 인식 기술을 기반으로 제공되는 원서치 서비스는 항공편, 웹사이트 이름, 레스토랑, 뉴스 또는 게임 정보를 비롯한 다양한 정보 검색을 가능케 해준다.

예를 들어 사용자가 스타벅스라는 단어를 말하면 검색 기능이 발동, 휴대전화로 매장 위치, 주가정보, 회사 웹사이트 등의 정보가 담긴 관련 웹사이트 링크 정보가 전송된다. 또 비슷한 소리가 나는 단어와 가장 가까운 결과를 추천해주는 기능까지 갖추고 있다.

야후는 음성 검색 서비스를 사용할 경우 최종 결과를 받아볼 때까지 5초 정도 소요될 것으로 예상했다. 1초에서 2초는 검색을 인식하고 2초에서 3초 정도는 휴대전화로 정보를 발송하는 시간이다. 속도가 느린 네트워크 사용자들의 경우 최대 10초에서 20초 정도 소요될 수도 있다.

야후는 "글자를 입력하는 시간을 단축해 사용자들이 훨씬 빠르게 원하는 정보를 받아볼 수 있게 됐다"는 기대감을 드러냈다.

블랙베리 사용자들의 경우 2일부터 http://m.yahoo.com/voice를 통해 음성 인식 기능을 사용할 수 있게 됐으며 야후는 올해 말까지 전 세계 500가지 휴대전화 기종에 서비스를 시작할 방침이라고 밝혔다.

후략...

정옥주기자 channa224@newsis.com
http://news.naver.com/main/read.nhn?mode=LS2D&mid=sec&sid1=105&sid2=226&oid=003&aid=0002033008

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

이거 무단 전제-재배포 인데;; 네이버 뉴스에서 찾은 자료인데..
트랙백 거는 것도 없드라구요. 그래서 급한 마음에 복사 했는데.. 이거 걸리는 거 아닌지 맘 조여오네요 @.@

우선 Text Keyword Search 방식에서 점점 다른 쪽으로 눈을 돌리고 있는 것 같다.
음성 인식 기술도 점점 발전하고 있으니 가능한 이야기가 된다.

아직은 미약하지만 이미지 검색시 캔버스에 이미지를 마우스로 그려서 검색하거나 비슷한 이미지를 검색해 주는 http://www.riya.com/ 서비스를 알고 있다.

검색자가 원하는 검색 결과를 제공해 주고자 하는 노력은 벌써 오래전부터 시작된다.

거기에 또 이런 음악파일 1000배 이상 압축 가능해진다 (2008-04-03) 기술이 생기게 되니..
점점 현실로 다가오고 있다.

그럼 그동안 많은 사람의 Document, keyword 에 대한 연구는 또 새로운 시대를 향해 나아가야 할 듯하다.

이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
http://www.djrecovery.or.kr/selectbox/selectbox.htc
셀렉트 박스 변환
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지

다음을 참고한다.

 
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
자바스크립트로 작성된 동적으로 스타일쉬트 변경하는 코드입니다. 사용법은

코드:

<link rel="alternate stylesheet" type="text/css" href="http://경로/css파일이름1.css" title="style1" media="screen"/>
<link rel="alternate stylesheet" type="text/css" href="http://경로/css파일이름2.css" title="style2" media="screen"/>
처럼 <head></head>안에 사용할 CSS파일들을 선언해주고(title 속성 필수입니다.),

저 아래의 코드를 <script type="text/javascript></script>안에 넣어준 후,

<a href="#" onClick="setActiveStyleSheet('style1')">첫번째 스타일</a>
처럼 javascript 코드를 사용해주시면 됩니다.

more..


http://forum.standardmag.org/viewtopic.php?pid=262

이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META HTTP-EQUIV="Content-type" CONTENT="text/html; charset=euc-kr">

<style>
.ellipsis {font:9pt "굴림"; width:100%; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.colresize {font:9pt "굴림"; cursor:""; }
.input_box {width:expression(this.parentNode.clientWidth-8); }
</style>

<SCRIPT LANGUAGE="JavaScript">
<!--
var mousedown = false; //마우스를 누른 상태
var td = ""; //사이즈 변경할 td
var td_width; //변경할 td의 width,
var x = 0; //마우스 드레그전 가로위치

function TCstartColResize(obj){
       mousedown = true;
       td = obj;
       td_width = td.width;
       x = event.clientX;
}
function TCColResize()
{
       if (mousedown){
              var distX = event.x - x; //이동한 간격
              td.width = parseInt(td_width) + parseInt(distX);
       }
}
function TCstopColResize(){
       mousedown = false;
       td = '';
}

function cell_left(obj){//마우스가 셀의 왼쪽인지 측정
       if(event.offsetX < 5 && obj.cellIndex!=0)
              return true;
       else
              return false;
}
function cell_right(obj){//마우스가 셀의 오른쪽인지 측정
       if(event.offsetX > obj.width-4)
              return true;
       else
              return false;
}

//리사이즈시작
document.onmousedown = function(){
try{
       var now_mousedown = window.event.srcElement;
       if(now_mousedown.className.toUpperCase()=="COLRESIZE"){
              if( cell_left(now_mousedown) ){
                     now_mousedown = now_mousedown.parentNode.childNodes[now_mousedown.cellIndex-1];
              }else if( !cell_right(now_mousedown) ){
                     return true;//오른쪽도 왼쪽도 아니면 사이즈 조절 안함
              }
              TCstartColResize(now_mousedown);
       }
}catch(e){ return true; }
}

//리사이즈
document.onmousemove = function(){
try{
       var now_mousemove = window.event.srcElement;
       if(now_mousemove.className.toUpperCase()=="COLRESIZE" || td!=""){

              //셀의 가장자리면 마우스 커서 변경
              if( cell_left(now_mousemove) || cell_right(now_mousemove) ){
                     now_mousemove.style.cursor = "col-resize";
              }else{
                     now_mousemove.style.cursor = "";
              }

              TCColResize(now_mousemove);
       }else{
              now_mousemove.style.cursor = "";
}
}catch(e){ return true; }
}

//리사이즈종료
document.onmouseup = function(){
try{
       var now_mouseup = window.event.srcElement;
       //if(now_mouseup.className=="colResize"){
              TCstopColResize(now_mouseup);
       //}
}catch(e){ return true; }
}

//리사이즈 도중 텍스트 선택 금지
document.onselectstart = function(){
try{
if(td != ""){
return false;
}
}catch(e){ return true; }
}
//-->
</SCRIPT>
</HEAD>

<BODY>
<div style="width:100%;height:100;overflow-x:auto;overflow-y:auto">
<table width="430" border="0" cellpadding="3" cellspacing="1" bgcolor="#B8B8B8" nowrap style='table-layout:fixed'>
<tr bgcolor="#A5D4D2" align="center" height="25">
<td width="35" class="colresize">선택</td>
<td width="35" class="colresize">순번</td>
<td width="70" class="colresize">품목명</td>
<td width="30" class="colresize">수량</td>
<td width="50" class="colresize">단위</td>
<td width="70" class="colresize">날짜</td>
<td width="70" class="colresize">장소</td>
<td width="70" class="colresize">비고</td>
</tr>
<tr bgcolor="#FFFFFF" height="27" align="center">
<td><Input type="radio" name="radio"></td>
<td>1</td>
<td><input type='text' class="input_box"></td>
<td><input type='text' class="input_box"></td>
<td><select class="input_box"><option>EA</option></select></td>
<td><input type='text' class="input_box"></td>
<td><input type='text' class="input_box"></td>
<td nowrap class="ellipsis">비고 비고 비고 비고 비고 비고 비고 비고 비고</td>
</tr>
</table>
</div>
</BODY>
</HTML>


출처 : http://www.phpschool.com/bbs2/inc_view.html?id=11601&code=tnt2&start=0&mode=search&field=title&search_name=&operator=and&period=last1month&category_id=&s_que=%BF%A2%BC%BF

이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
이올린에 북마크하기(0) 이올린에 추천하기(0)
Posted by 아즈~ 서방떼지
이전페이지 1 2 다음페이지
자유로운 세상을 꿈꾸며...
서방떼지

카테고리

이야기 (15)
Search Engine (1)
Multimedia (1)
공부꺼리 (6)
이쓔 (1)
유용 정보 (4)

글보관함

달력

사이드바 열기