Q&A

  • 델파이로 웹을 구현하려는데 조언부탁드립니다.
델파이 5.0과 SQL 서버를 사용하구요 자재관리 프로그램을 웹으로 구현하려고 합니다.

지금까지 웹프로그래밍을 해본 적이 없어서 어떻게 시작해야 할 지 막막해서요..

스크립트, 웹서버는 어떤것을 선택하면 적당하고 어떻게 시작해야 할지 조언좀 부탁드립니다

3  COMMENTS
  • Profile
    왕초보 2001.04.13 20:57
    김세영 wrote:

    > 델파이 5.0과 SQL 서버를 사용하구요 자재관리 프로그램을 웹으로 구현하려고 합니다.

    > 지금까지 웹프로그래밍을 해본 적이 없어서 어떻게 시작해야 할 지 막막해서요..

    > 스크립트, 웹서버는 어떤것을 선택하면 적당하고 어떻게 시작해야 할지 조언좀 부탁드립니다



    저두 지금 델파이루 웹을 해야 하는데 처음엔 델파이루 해왔구 해서 ActiveX+Midas로 할려구 했습니다.

    근데 이젠 ISAPI루 결정했습니다.

    ACTIVEX루 하면 기존에 델파이 하구 똑같아서 하기가 편하실겁니다.

    퀵리포트두 그대루 사용할 수 있구....

    데이타 엑셀루 넘기는데두 기존 방식하구 똑같구요.

    그런데 클라이언트마다 BDE를 설치해야 하는 불편이 있어서 이건 MIDAS를 선택했는데 MIDAS에서 Master-Detail이 가능하긴 한데 데이타 저장이 안되더군요.

    즉 두개이상의 테이블에 트렌젝션을 걸어 데이타를 동시에 저장하는 방법이 있기는 해두 구현상 어렵다는 겁니다.

    그래서 다른방법을 찾긴 했지만 여간 손이 많이가는게 아닙니다.

    또 ACTIVEX의 단점은 화면을 띄울때 보안이 어쩌고 저쩌고 한다는 겁니다.

    여기 게시판 뒤져보면 보안관련 메세지를 없애는 방법이 있기는 한데 그래도 떠요.

    그래서 저는 일반유저들이 아닌 직원들만 쓸 프로그램 이니깐 인터넷 옵션중 보안텝에서 "안전한사이트"로 등록하고 그곳의 옵션중 ACTIVEX에 관련된건 무조건 최소로 놓았더니 아무런 메세지도 뜨지 않더군요.

    그것뿐이 아닙니다.

    또 ACTIVEX는 버젼관리 해야죠.

    그렇지 않으면 프로그램을 수정해두 수정한 화면이 아닌 이전의 화면이 나타납니다.

    버젼관리를 했다 해도 사용자측의 익스플로어에서 새로고침을 누르지 않으면 또 소용이 없구요.(프로그램이 수정
  • Profile
    김세영 2001.04.14 00:37
    답변해 주셔서 감사합니다.



    참고가 되실런지 모르겠는데

    엑셀파일로 저장하는 방법에 관해서 http://www.dizzi.qp.to/의 묻고 답하기에서 퍼온건데요.. 엑셀파일을 클라이언트에서 만들수는 없고 일단 서버에 만든다음 이용자에게 넘기라고 하더군요..



    *********

    엑셀파일을 이용자에게 넘겨주는 방법은 2가지 정도 있겠네요.

    첫번째 방법은, 엑셀파일을 임시로 만들어서 서버에 저장해두고, 그 파일에 대한 URL로 redirection 시켜서 이용자 웹브라우져에 자동적으로 다운로드창이 뜨게 하는 방법이 있겠구요.

    두번째 방법은 엑셀파일 내용을 서버 메모리에 가지고 있는 상태에서 이용자에게 binary data 형식으로 response를 넘겨주는 방법입니다. 디폴트로 response header에 text/html type이 지정되어 있기 때문에, excel 파일에 해당하는 type으로 헤더를 바꾸어주는 것도 필요하겠지요.

    두번째 방법을 쓰시려면, 우선 엑셀 파일을 서버에서 다운로드받으면서 패킷을 분석하여 어떤 포맷으로 보내줘야 하는지 알아내세요.



    음.. 그리고 엑셀파일이 아닌 HTML 테이블 형식으로 이용자에게 보여주는 방법은 어떨까요? 참고로 엑셀파일을 HTML로 바꾸어주는 VB 소스를 써드립니다.(백창열 님의 소스입니다) 델파이 5.0 에는 Excel Automation 컴포넌트가 있으니 그걸 이용하시면 될거에요. 웹서버에 엑셀이 깔려있어야 Automation을 쓸 수 있겠죠.



    Sub Main()

    On Error Resume Next

    Dim oExcelApp As Excel.Application

    Set oExcelApp = CreateObject("Excel.Application")

    oExcelApp.Workbooks.Open Command



    oExcelApp.ActiveWorkbook.SaveAs FileName:=Command & ".htm",

    FileFormat:=xlHtml, _

    ReadOnlyRecommended:=False, CreateBackup:=False

    oExcelApp.ActiveWorkbook.Close

    oExcelApp.Quit



    Set oExcelApp = Nothing

    End Sub





  • Profile
    왕초보 2001.04.14 08:28
    도움이 되셧는지 모르겠네요.

    알려주신 정보는 제가 거기에 올린 질문에 대한 답변인데여.^^

    앞으로 델파이에 모르는거 있음 여기보단 거기를 이용하세요.

    거기 관리자님께서 즉각 답변해주시거든요.

    여긴 아무리 질문 올려두 답이없어요.

    그래서 여긴 질문 올리기보단 답변 검색하러 옵니다.^^

    참 잊을뻔 했따!

    저를위해 정보검색해주시니 감사합니다.

    앞으로 같은 일을 하게 될것 같은데 서로 의견나누면 좋겠네요.

    메일 자주 주세요.