Q&A
HOME
Tips & Tech
Q&A
Discuss
Download
자유게시판
홍보 / 광고
구인 / 구직
LOGIN
회원가입
버전비교를 하려고 하는데..
지금 서버에 저장된 화일과 클라이언트에 있는 화일의 버전을 비교하여 오토 업로드를 하려고 하는데 잘 않되내요!
버전비교를 어떻게 어떤방식으로 해야 할지...
아님 다른 좋은 비교 방법이 있는지...
알고계신분 답변 바랍니다.
1
COMMENTS
혀노
•
2000.07.27 01:58
저도 이런 비슷하게 네트웍으로 연결된 PC에서 해본적이 있거든요.
그래서 관련된 질문을 올린적이 있거든요,,,
그때 하영재님이 답변주신거 아래 적어놓을게요,,참고되시길~
=============================================================
하영재님 답변
가장 간편한 방법은요... ^^
윈도우에서 제공하는 WinInet SDK를 이용해서 FTP 서버나 Web 서버에
접속해서 해당하는 파일만 다운 받아 오는겁니다.
이런 FTP등의 서버를 이용하는 것이 간편하고요... 그러기 싫으심
일일이 서버를 만들어 주셔야 겠지요?
저도 비슷한 일을 하려고 했었는데요... 일단은 모든 설명을 드릴 순
없으니 방법만 간단히 나열해 보겠습니다.
먼저 새로운 버젼이 만들어 지면 해당 파일들을 서버의 특정 위치에
복사를 해 넣습니다. 그렇게 하신 후 파일들의 목록과 버젼 정보가
기록된 간단한 Text 파일을 함께 첨부해 둡니다.
예를 들면... UpgradeInfo.txt등으로요... 형식은 자유롭게 하셔도
되지만 파싱하기 귀찮으니 INI 파일로 하시는게 좋죠...
[Version Info]
LastCompiled01=2000-01-21
[Files]
01=WP001_P.exe
02=sirius.exe
...
이런식으로 저장을 해 놓는겁니다.
그럼 클라이언트는 매번 재 시작시 마다 해당 서버의 특정 디렉토리에
접근을 해서 UpgradeInfo.txt 파일만 받아 본 후... 자신의 버젼과 다른지
의 여부를 확인한 후에... Files 항목에 등록된 녀석들만 다운 받아서
업데이트를 하면 되겠지요...
단, 클라이언트가 업그레이드를 하려면 자기 자신을 죽여야 하는등의
문제가 있으므로... ^^
별도의 Upgrade 전용 실행파일을 하나 만드셔서 이놈이 모든일을 전담
하도록 해 주시면 간단할겁니다.
윈도우 Temp 디렉토리에 다운 받은 후 클라이언트가 실행되어 있으면
종료하고 업그레이드 중이란 메시지를 출력한 후... ^^
지울거 지우고 복사할 거 복사하고 자신도 장렬히 산화를 하면 되겠지요... ^^
위에서 WinInet SDK를 이용하시라고 했는데요... FTP 컴포넌트 등을
이용하셔도 무방합니다만... WinInet SDK를 이용하시면...
제 생각에 30줄 미만의 코딩으로 해결이 가능하시리라 생각됩니다.
해당하는 API 함수들은 델파이 헬프엔 없고요.. ^^
WinInet.pas에 모두 들어있습니다. 참고해 보세요...
참고적으로 사용되는 함수들의 순서를 대충 나열해 보겠습니다.
(FTP를 이용해서 파일을 가져오는 경우입니다.)
1) InternetOpen
2) InternetConnect
3) FTPSetCurrentDirectory (파일이 있는 디렉토리로 이동)
4) FTPGetFile (파일 수신)
위와 같이 4개 정도의 함수만 이용하셔도 무방하실듯... ^^
자동 패치나 업그레이드에 대해 질문을 하시는 분들이 많으셔서..
자동 업그레이드에 관한 강좌를 준비중입니다.
(언제라곤 확답 못드림... ^^)
그럼..
=====================================
김영대님 답변
다운받는 통신 모듈은 제 홈페이지(http://myhome.shinbiro.com/~cozykyd/index.htm)에 있고요
이런 시스템을 구현하는 방법은 각각의 PC에 INI파일을 두어서
최근에 다운받은 각각의 프로그램들의 버전을 가지고 있습니다
DB에는 또한 각각의 프로그램의 현재 버전을 가지고 있고요
각 개인마다 프로그램의 사용권한이 틀리므로 메뉴 접속시
사용자가 가지고 있는 PC의 INI파일속의 프로그램들의 버전과
DB에 저장되어 있는 프로그램들의 버전이 바뀐 프로그램들만
추려내서 일괄로 다운받습니다.
=============================================================
문형록 wrote:
> 지금 서버에 저장된 화일과 클라이언트에 있는 화일의 버전을 비교하여 오토 업로드를 하려고 하는데 잘 않되내요!
> 버전비교를 어떻게 어떤방식으로 해야 할지...
>
> 아님 다른 좋은 비교 방법이 있는지...
> 알고계신분 답변 바랍니다.
>
0
0
삭제
수정
댓글
(NOTICE) You must be
logged in
to comment on this post.
좋은날
2000.07.27 03:12
0
COMMENTS
/
0
LIKES
혹시 Toad같은 프로그램이...
spirit
•
2000.07.27 02:58
1
COMMENTS
/
0
LIKES
database사용시에 에러발생..
구창민
•
2000.07.27 03:14
spirit wrote: > > Project Project1.exe raised exception class EDatabase Error with message 'Datab...
배우미
2000.07.27 02:57
0
COMMENTS
/
0
LIKES
SOS
김영습
•
2000.07.27 02:56
2
COMMENTS
/
0
LIKES
소켓!.. 후~.. 왜 첫번짼 안가구 두번짼 가는걸까요? ㅠㅠ
구창민
•
2000.07.27 03:08
김영습 wrote: > 안녕하세요...^^ > > 재미난 현상이 발생해서.. 이녀석이 왜이럴까? 고심고심한 끝에 ...
김영습
•
2000.07.27 07:34
구창민님 답변감사 드립니다. clientsocket 의 onwrite 이벤트에다가 메세지를 주니 메세지가 가더군요....
왕초보
2000.07.27 02:50
0
COMMENTS
/
0
LIKES
ctx_ddl 실행은 어디서 해야하나여?
한현정
2000.07.27 02:44
0
COMMENTS
/
0
LIKES
QRCompositeReport에서 pagefooter가 출력이 안돼요.
tommy
•
2000.07.27 02:42
2
COMMENTS
/
0
LIKES
해당 레코드 색깔 넣기(디비그리드)
델초보
•
2000.08.01 16:27
DBGrid의 OnDrawCell이벤트 코딩은 잘하셨구요, FormCreate나 FormShow, FormActivate시에 DBGrid1.Colu...
최용일
•
2000.07.27 10:36
안녕하세요. 최용일입니다. 흠~ 이전폼에서
한현정
•
2000.07.27 02:13
1
COMMENTS
/
0
LIKES
quick report와 printer tray와의 관계
한현정
•
2000.09.28 03:18
제가 찾았습니다. 드라이버 문제였습니다. 업그레이드된 드라이버를 설치해야 합니다. 한현정 wrote: ...
윤미영
2000.07.27 02:13
0
COMMENTS
/
0
LIKES
그림판에서 확대 기능에 관한 질문
손금영
2000.07.27 02:09
0
COMMENTS
/
0
LIKES
BatchMove도 트랜잭션 처리가 가능한지요?
최용규
2000.07.27 02:07
0
COMMENTS
/
0
LIKES
updatesql컴포넌트 질문입니다.
델초보.
•
2000.07.27 01:57
3
COMMENTS
/
0
LIKES
Move문에서...-최용일님외 고수님들께
구창민
•
2000.07.27 03:05
델초보. wrote: > > 이어지는 질문인지 모르겠습니다만.... > > 스트링을 배열로 옮길때 > > var ...
델초보.
•
2000.07.27 03:22
구창민 wrote: > 델초보. wrote: > > > > 이어지는 질문인지 모르겠습니다만.... > > > > 스트링을 ...
구창민
•
2000.07.27 09:09
델초보. wrote: > 구창민 wrote: > > 델초보. wrote: > > > > > > 이어지는 질문인지 모르겠습니다만....
사바리..
•
2000.07.27 01:57
1
COMMENTS
/
0
LIKES
^^ 헐 오토마우스에 관해서임당...^^
구창민
•
2000.07.27 03:02
사바리.. wrote: > 지가 오토마우스를 맹글고 시포엽.. > > 음 지가 구상하고 있는 것은 마우스가 50초...
이현숙
•
2000.07.27 01:57
1
COMMENTS
/
0
LIKES
<질문>도움말 목차 만드는법 좀 갈쳐주세요~~
최용일
•
2000.07.27 10:39
안녕하세요. 최용일입니다. Marco Cantu가 지은 Inside Secret Delphi 5(삼각형프레스)란 책에 보시면 ...
갈메기
•
2000.07.27 01:54
1
COMMENTS
/
0
LIKES
ShellExecute 사용시 인자를 4개 넘기는 방법?
최용일
•
2000.07.27 03:06
안녕하세요. 최용일입니다. 하나나 네개나 똑같아요... 그냥 스페이스로 구분하면 됩니다. 하나일때 ...
초보
•
2000.07.27 01:44
2
COMMENTS
/
0
LIKES
대소문자구별없이 비교는 어떻게 하나요?
최용일
•
2000.07.27 03:03
안녕하세요. 최용일입니다. CompareText함수를 이용하세요. if CompareText(edit1.text, 'abc') = 0 ...
혀노
•
2000.07.27 01:50
LowerCase 함수를 사용해보세요! 받은값을 무조건 소문자로 바꾸어서 비교하시면 될것 같네요~ 반대 함수...
김태영
2000.07.27 01:38
0
COMMENTS
/
0
LIKES
델파이에서는 클래스간의 자료 전달방법은...
문형록
•
2000.07.27 01:27
1
COMMENTS
/
0
LIKES
버전비교를 하려고 하는데..
지금 서버에 저장된 화일과 클라이언트에 있는 화일의 버전을 비교하여 오토 업로드를 하려고 하는데 잘 않되내요! 버전비교를 어떻게 어떤방식으로 해야 할지... 아님 다른 좋은 비교 방법이 있는지... 알고계신분 답변 바랍니다.
혀노
•
2000.07.27 01:58
저도 이런 비슷하게 네트웍으로 연결된 PC에서 해본적이 있거든요. 그래서 관련된 질문을 올린적이 있거든...
서세진
2000.07.27 00:44
0
COMMENTS
/
0
LIKES
고지서를 출력하고 싶어요.
cabinj
2000.07.27 00:32
0
COMMENTS
/
0
LIKES
데이타베이스 연결을 줄이는 방법좀..
문형록
2000/07/27 01:27
Views
244
Likes
0
Comments
1
Reports
0
Tag List
수정
삭제
목록으로
한델 로그인 하기
로그인 상태 유지
아직 회원이 아니세요? 가입하세요!
암호를 잊어버리셨나요?
그래서 관련된 질문을 올린적이 있거든요,,,
그때 하영재님이 답변주신거 아래 적어놓을게요,,참고되시길~
=============================================================
하영재님 답변
가장 간편한 방법은요... ^^
윈도우에서 제공하는 WinInet SDK를 이용해서 FTP 서버나 Web 서버에
접속해서 해당하는 파일만 다운 받아 오는겁니다.
이런 FTP등의 서버를 이용하는 것이 간편하고요... 그러기 싫으심
일일이 서버를 만들어 주셔야 겠지요?
저도 비슷한 일을 하려고 했었는데요... 일단은 모든 설명을 드릴 순
없으니 방법만 간단히 나열해 보겠습니다.
먼저 새로운 버젼이 만들어 지면 해당 파일들을 서버의 특정 위치에
복사를 해 넣습니다. 그렇게 하신 후 파일들의 목록과 버젼 정보가
기록된 간단한 Text 파일을 함께 첨부해 둡니다.
예를 들면... UpgradeInfo.txt등으로요... 형식은 자유롭게 하셔도
되지만 파싱하기 귀찮으니 INI 파일로 하시는게 좋죠...
[Version Info]
LastCompiled01=2000-01-21
[Files]
01=WP001_P.exe
02=sirius.exe
...
이런식으로 저장을 해 놓는겁니다.
그럼 클라이언트는 매번 재 시작시 마다 해당 서버의 특정 디렉토리에
접근을 해서 UpgradeInfo.txt 파일만 받아 본 후... 자신의 버젼과 다른지
의 여부를 확인한 후에... Files 항목에 등록된 녀석들만 다운 받아서
업데이트를 하면 되겠지요...
단, 클라이언트가 업그레이드를 하려면 자기 자신을 죽여야 하는등의
문제가 있으므로... ^^
별도의 Upgrade 전용 실행파일을 하나 만드셔서 이놈이 모든일을 전담
하도록 해 주시면 간단할겁니다.
윈도우 Temp 디렉토리에 다운 받은 후 클라이언트가 실행되어 있으면
종료하고 업그레이드 중이란 메시지를 출력한 후... ^^
지울거 지우고 복사할 거 복사하고 자신도 장렬히 산화를 하면 되겠지요... ^^
위에서 WinInet SDK를 이용하시라고 했는데요... FTP 컴포넌트 등을
이용하셔도 무방합니다만... WinInet SDK를 이용하시면...
제 생각에 30줄 미만의 코딩으로 해결이 가능하시리라 생각됩니다.
해당하는 API 함수들은 델파이 헬프엔 없고요.. ^^
WinInet.pas에 모두 들어있습니다. 참고해 보세요...
참고적으로 사용되는 함수들의 순서를 대충 나열해 보겠습니다.
(FTP를 이용해서 파일을 가져오는 경우입니다.)
1) InternetOpen
2) InternetConnect
3) FTPSetCurrentDirectory (파일이 있는 디렉토리로 이동)
4) FTPGetFile (파일 수신)
위와 같이 4개 정도의 함수만 이용하셔도 무방하실듯... ^^
자동 패치나 업그레이드에 대해 질문을 하시는 분들이 많으셔서..
자동 업그레이드에 관한 강좌를 준비중입니다.
(언제라곤 확답 못드림... ^^)
그럼..
=====================================
김영대님 답변
다운받는 통신 모듈은 제 홈페이지(http://myhome.shinbiro.com/~cozykyd/index.htm)에 있고요
이런 시스템을 구현하는 방법은 각각의 PC에 INI파일을 두어서
최근에 다운받은 각각의 프로그램들의 버전을 가지고 있습니다
DB에는 또한 각각의 프로그램의 현재 버전을 가지고 있고요
각 개인마다 프로그램의 사용권한이 틀리므로 메뉴 접속시
사용자가 가지고 있는 PC의 INI파일속의 프로그램들의 버전과
DB에 저장되어 있는 프로그램들의 버전이 바뀐 프로그램들만
추려내서 일괄로 다운받습니다.
=============================================================
문형록 wrote:
> 지금 서버에 저장된 화일과 클라이언트에 있는 화일의 버전을 비교하여 오토 업로드를 하려고 하는데 잘 않되내요!
> 버전비교를 어떻게 어떤방식으로 해야 할지...
>
> 아님 다른 좋은 비교 방법이 있는지...
> 알고계신분 답변 바랍니다.
>