Q&A

  • 비디오 캡쳐 카드가 있는지 체크하려면..
도저히 자력으로는 안돼서 여쭈어 봅니다.



PC 안에 비디오 캡쳐 카드(시그마 컴 : TV 수신카드)가

있는 지 여부를 알아내는 방법좀 없나요?



제 프로그램을 비디오 캡쳐 카드가 없는 PC에서 실행할

때 에러('Kein Videocapturetreiber ausgew??lt')가

뜹니다. 이 에러 메세지를 없애려면 미리 카드가 있는

지 여부를 알아내서 사전에 처리하려고 합니다.



부탁드립니다.. ~~

4  COMMENTS
  • Profile
    김정 2000.10.18 19:34
    안녕하세요?

    고드름 김정입니다.



    Video for windows API 중에서



    capGetDriverDescription() 라는 함수가 있습니다.

    현재 비디오처리장치의 내역(?)을 뽑는 함수거든요.



    첫번째 파라미터가 장치번호인데,

    0부터 대강 몇십개까지 루프로 찾으세요.

    찾은 값이 없으면 장치가 설치되지 않은 겁니다.



    대강 이렇게 썼었습니다.



    ncount := 0;

    for nloop := 0 to 100 do

    begin

    FillChar(nTemp, sizeof(nTemp), $00);

    FillChar(vTemp, sizeof(vTemp), $00);

    if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    begin

    NewMenu := TMenuItem.Create(Self);

    NewMenu.Caption := StrPas(ntemp) + ' ' + StrPas(vTemp);

    NewMenu.OnClick := onClickDriverIndex;

    NewMenu.Tag := nloop;

    NewMenu.GroupIndex := 2;

    NewMenu.RadioItem := True;

    if (nloop=DriverIndex) then NewMenu.Checked := True;



    VideoDriver.Add( NewMenu );

    inc(ncount);

    end

    else break;

    end;

    if ncount=0 then

    begin

    NewMenu := TMenuItem.Create(Self);

    NewMenu.Caption := '등록된 비디오 드라이버가 없습니다.';

    VideoDriver.Add( NewMenu );

    end;



    참고하세요.

    그럼..



    한승구 wrote:

    > 도저히 자력으로는 안돼서 여쭈어 봅니다.

    >

    > PC 안에 비디오 캡쳐 카드(시그마 컴 : TV 수신카드)가

    > 있는 지 여부를 알아내는 방법좀 없나요?

    >

    > 제 프로그램을 비디오 캡쳐 카드가 없는 PC에서 실행할

    > 때 에러('Kein Videocapturetreiber ausgew??lt')가

    > 뜹니다. 이 에러 메세지를 없애려면 미리 카드가 있는

    > 지 여부를 알아내서 사전에 처리하려고 합니다.

    >

    > 부탁드립니다.. ~~

  • Profile
    한승구 2000.10.19 04:37
    김정 wrote:

    > 안녕하세요?

    > 고드름 김정입니다.

    >

    > Video for windows API 중에서

    >

    > capGetDriverDescription() 라는 함수가 있습니다.

    > 현재 비디오처리장치의 내역(?)을 뽑는 함수거든요.

    >

    > 첫번째 파라미터가 장치번호인데,

    > 0부터 대강 몇십개까지 루프로 찾으세요.

    > 찾은 값이 없으면 장치가 설치되지 않은 겁니다.

    >

    > 대강 이렇게 썼었습니다.

    >

    > ncount := 0;

    > for nloop := 0 to 100 do

    > begin

    > FillChar(nTemp, sizeof(nTemp), $00);

    > FillChar(vTemp, sizeof(vTemp), $00);

    > if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    > begin

    > NewMenu := TMenuItem.Create(Self);

    > NewMenu.Caption := StrPas(ntemp) + ' ' + StrPas(vTemp);

    > NewMenu.OnClick := onClickDriverIndex;

    > NewMenu.Tag := nloop;

    > NewMenu.GroupIndex := 2;

    > NewMenu.RadioItem := True;

    > if (nloop=DriverIndex) then NewMenu.Checked := True;

    >

    > VideoDriver.Add( NewMenu );

    > inc(ncount);

    > end

    > else break;

    > end;

    > if ncount=0 then

    > begin

    > NewMenu := TMenuItem.Create(Self);

    > NewMenu.Caption := '등록된 비디오 드라이버가 없습니다.';

    > VideoDriver.Add( NewMenu );

    > end;

    >

    > 참고하세요.

    > 그럼..

    >

    > 한승구 wrote:

    > > 도저히 자력으로는 안돼서 여쭈어 봅니다.

    > >

    > > PC 안에 비디오 캡쳐 카드(시그마 컴 : TV 수신카드)가

    > > 있는 지 여부를 알아내는 방법좀 없나요?

    > >

    > > 제 프로그램을 비디오 캡쳐 카드가 없는 PC에서 실행할

    > > 때 에러('Kein Videocapturetreiber ausgew??lt')가

    > > 뜹니다. 이 에러 메세지를 없애려면 미리 카드가 있는

    > > 지 여부를 알아내서 사전에 처리하려고 합니다.

    > >

    > > 부탁드립니다.. ~~

    김정님.

    자꾸 귀찮게해서 죄송..^^



    아래와 같이 했는데요..

    비디오 캡쳐 카드가 있건 없건간에

    등록된 비디오 드라이버가 없다는

    메세지만 계속 뜨네요..



    procedure TRemoteForm.FormCreate(Sender: TObject);

    var

    nloop, ncount: integer;

    nTemp, vTemp: PChar;

    begin

    ncount:= 0;

    for nloop:= 0 to 100 do begin

    FillChar(nTemp, sizeof(nTemp), $00);

    FillChar(vTemp, sizeof(vTemp), $00);

    if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    inc(ncount);

    end;

    if ncount=0 then begin

    ShowMessage('등록된 비디오 드라이버가 없습니다.');

    end

    else begin

    ShowMessage('등록된 비디오 드라이버가 있습니다.');

    ServerVideo1.DriverIndex := 0;

    ServerVideo1.Port := 9876;

    ServerVideo1.CompressionQuality := 50;

    ServerVideo1.WaitTime := 0;

    ServerVideo1.Active := true;

    end;

    end;



  • Profile
    김정 2000.10.19 06:34
    안녕하세요?

    고드름 김정입니다.



    제가 선언부를 적지 않았더군요. 이렇게 바꾸세요. 그럼.

    var

    nTemp, vTemp: array[0..29] of char;



    ///



    한승구 wrote:

    > 김정 wrote:

    > > 안녕하세요?

    > > 고드름 김정입니다.

    > >

    > > Video for windows API 중에서

    > >

    > > capGetDriverDescription() 라는 함수가 있습니다.

    > > 현재 비디오처리장치의 내역(?)을 뽑는 함수거든요.

    > >

    > > 첫번째 파라미터가 장치번호인데,

    > > 0부터 대강 몇십개까지 루프로 찾으세요.

    > > 찾은 값이 없으면 장치가 설치되지 않은 겁니다.

    > >

    > > 대강 이렇게 썼었습니다.

    > >

    > > ncount := 0;

    > > for nloop := 0 to 100 do

    > > begin

    > > FillChar(nTemp, sizeof(nTemp), $00);

    > > FillChar(vTemp, sizeof(vTemp), $00);

    > > if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    > > begin

    > > NewMenu := TMenuItem.Create(Self);

    > > NewMenu.Caption := StrPas(ntemp) + ' ' + StrPas(vTemp);

    > > NewMenu.OnClick := onClickDriverIndex;

    > > NewMenu.Tag := nloop;

    > > NewMenu.GroupIndex := 2;

    > > NewMenu.RadioItem := True;

    > > if (nloop=DriverIndex) then NewMenu.Checked := True;

    > >

    > > VideoDriver.Add( NewMenu );

    > > inc(ncount);

    > > end

    > > else break;

    > > end;

    > > if ncount=0 then

    > > begin

    > > NewMenu := TMenuItem.Create(Self);

    > > NewMenu.Caption := '등록된 비디오 드라이버가 없습니다.';

    > > VideoDriver.Add( NewMenu );

    > > end;

    > >

    > > 참고하세요.

    > > 그럼..

    > >

    > > 한승구 wrote:

    > > > 도저히 자력으로는 안돼서 여쭈어 봅니다.

    > > >

    > > > PC 안에 비디오 캡쳐 카드(시그마 컴 : TV 수신카드)가

    > > > 있는 지 여부를 알아내는 방법좀 없나요?

    > > >

    > > > 제 프로그램을 비디오 캡쳐 카드가 없는 PC에서 실행할

    > > > 때 에러('Kein Videocapturetreiber ausgew??lt')가

    > > > 뜹니다. 이 에러 메세지를 없애려면 미리 카드가 있는

    > > > 지 여부를 알아내서 사전에 처리하려고 합니다.

    > > >

    > > > 부탁드립니다.. ~~

    > 김정님.

    > 자꾸 귀찮게해서 죄송..^^

    >

    > 아래와 같이 했는데요..

    > 비디오 캡쳐 카드가 있건 없건간에

    > 등록된 비디오 드라이버가 없다는

    > 메세지만 계속 뜨네요..

    >

    > procedure TRemoteForm.FormCreate(Sender: TObject);

    > var

    > nloop, ncount: integer;

    > nTemp, vTemp: PChar;

    > begin

    > ncount:= 0;

    > for nloop:= 0 to 100 do begin

    > FillChar(nTemp, sizeof(nTemp), $00);

    > FillChar(vTemp, sizeof(vTemp), $00);

    > if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    > inc(ncount);

    > end;

    > if ncount=0 then begin

    > ShowMessage('등록된 비디오 드라이버가 없습니다.');

    > end

    > else begin

    > ShowMessage('등록된 비디오 드라이버가 있습니다.');

    > ServerVideo1.DriverIndex := 0;

    > ServerVideo1.Port := 9876;

    > ServerVideo1.CompressionQuality := 50;

    > ServerVideo1.WaitTime := 0;

    > ServerVideo1.Active := true;

    > end;

    > end;

    >

  • Profile
    한승구 2000.10.19 19:45
    김정 wrote:

    > 안녕하세요?

    > 고드름 김정입니다.

    >

    > 제가 선언부를 적지 않았더군요. 이렇게 바꾸세요. 그럼.

    > var

    > nTemp, vTemp: array[0..29] of char;

    >

    > ///

    >

    > 한승구 wrote:

    > > 김정 wrote:

    > > > 안녕하세요?

    > > > 고드름 김정입니다.

    > > >

    > > > Video for windows API 중에서

    > > >

    > > > capGetDriverDescription() 라는 함수가 있습니다.

    > > > 현재 비디오처리장치의 내역(?)을 뽑는 함수거든요.

    > > >

    > > > 첫번째 파라미터가 장치번호인데,

    > > > 0부터 대강 몇십개까지 루프로 찾으세요.

    > > > 찾은 값이 없으면 장치가 설치되지 않은 겁니다.

    > > >

    > > > 대강 이렇게 썼었습니다.

    > > >

    > > > ncount := 0;

    > > > for nloop := 0 to 100 do

    > > > begin

    > > > FillChar(nTemp, sizeof(nTemp), $00);

    > > > FillChar(vTemp, sizeof(vTemp), $00);

    > > > if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    > > > begin

    > > > NewMenu := TMenuItem.Create(Self);

    > > > NewMenu.Caption := StrPas(ntemp) + ' ' + StrPas(vTemp);

    > > > NewMenu.OnClick := onClickDriverIndex;

    > > > NewMenu.Tag := nloop;

    > > > NewMenu.GroupIndex := 2;

    > > > NewMenu.RadioItem := True;

    > > > if (nloop=DriverIndex) then NewMenu.Checked := True;

    > > >

    > > > VideoDriver.Add( NewMenu );

    > > > inc(ncount);

    > > > end

    > > > else break;

    > > > end;

    > > > if ncount=0 then

    > > > begin

    > > > NewMenu := TMenuItem.Create(Self);

    > > > NewMenu.Caption := '등록된 비디오 드라이버가 없습니다.';

    > > > VideoDriver.Add( NewMenu );

    > > > end;

    > > >

    > > > 참고하세요.

    > > > 그럼..

    > > >

    > > > 한승구 wrote:

    > > > > 도저히 자력으로는 안돼서 여쭈어 봅니다.

    > > > >

    > > > > PC 안에 비디오 캡쳐 카드(시그마 컴 : TV 수신카드)가

    > > > > 있는 지 여부를 알아내는 방법좀 없나요?

    > > > >

    > > > > 제 프로그램을 비디오 캡쳐 카드가 없는 PC에서 실행할

    > > > > 때 에러('Kein Videocapturetreiber ausgew??lt')가

    > > > > 뜹니다. 이 에러 메세지를 없애려면 미리 카드가 있는

    > > > > 지 여부를 알아내서 사전에 처리하려고 합니다.

    > > > >

    > > > > 부탁드립니다.. ~~

    > > 김정님.

    > > 자꾸 귀찮게해서 죄송..^^

    > >

    > > 아래와 같이 했는데요..

    > > 비디오 캡쳐 카드가 있건 없건간에

    > > 등록된 비디오 드라이버가 없다는

    > > 메세지만 계속 뜨네요..

    > >

    > > procedure TRemoteForm.FormCreate(Sender: TObject);

    > > var

    > > nloop, ncount: integer;

    > > nTemp, vTemp: PChar;

    > > begin

    > > ncount:= 0;

    > > for nloop:= 0 to 100 do begin

    > > FillChar(nTemp, sizeof(nTemp), $00);

    > > FillChar(vTemp, sizeof(vTemp), $00);

    > > if capGetDriverDescription(nloop, nTemp, 30, vTemp, 30) then

    > > inc(ncount);

    > > end;

    > > if ncount=0 then begin

    > > ShowMessage('등록된 비디오 드라이버가 없습니다.');

    > > end

    > > else begin

    > > ShowMessage('등록된 비디오 드라이버가 있습니다.');

    > > ServerVideo1.DriverIndex := 0;

    > > ServerVideo1.Port := 9876;

    > > ServerVideo1.CompressionQuality := 50;

    > > ServerVideo1.WaitTime := 0;

    > > ServerVideo1.Active := true;

    > > end;

    > > end;

    > >

    • 이성훈
      2000.10.25 02:32
      초보개발자 wrote: > 공장자동화 라인에서 사용하는 컴이 도스용인데..여기에 델파이5.0으로 > 만든 프로...
    • 초보자
    • 2000.10.18 20:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.19 00:18
      디테일밴드가 한장을 넘어가면 그런 일이 생기기도 합니다. 디테일밴드를 줄여보세요. 즐프하세여~ ^-^ ...
    • 호야
    • 2000.10.18 19:42
    • 0 COMMENTS
    • /
    • 0 LIKES
    • raeganja
    • 2000.10.18 19:26
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.18 20:01
      자동증가 있는데염. 파라독스라면 FieldType에 AutoInc가 있구요..... MS-SQL은 프라이머리키로 설정하시...
    • 초보자
    • 2000.10.18 19:20
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 임형호
      2000.10.18 21:48
      데이타가 보이지 않는다는것이 무슨 의미인지요? 설정을 했는데.... 해당 데이타가 DBLookupcombobox에 나...
    • 초보자
      2000.10.18 22:20
      dblookupcombobox에 설정을 다해주면 데이타가 주욱 나오잖아여,, 거기서 하나를 선택하면 내가 선택한게 ...
    • 임성룡
    • 2000.10.18 19:15
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 19:35
      안녕하세요? 고드름 김정입니다. 패키지 프로젝트를 여시고, 해당 유닛을 제거하시고 다시 인스톨하시...
    • 한승구
    • 2000.10.18 18:55
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 19:34
      안녕하세요? 고드름 김정입니다. Video for windows API 중에서 capGetDriverDescription() 라는 함...
    • 한승구
      2000.10.19 04:37
      김정 wrote: > 안녕하세요? > 고드름 김정입니다. > > Video for windows API 중에서 > > capGetDr...
    • 김정
      2000.10.19 06:34
      안녕하세요? 고드름 김정입니다. 제가 선언부를 적지 않았더군요. 이렇게 바꾸세요. 그럼. var nTem...
    • 한승구
      2000.10.19 19:45
      김정 wrote: > 안녕하세요? > 고드름 김정입니다. > > 제가 선언부를 적지 않았더군요. 이렇게 바꾸세...
    • 청강생
    • 2000.10.18 18:48
    • 4 COMMENTS
    • /
    • 0 LIKES
    • 한하눌
      2000.10.18 19:05
      청강생 wrote: > > Stringgird의 data를 Excel로 변환할 때 > 문자열 지정을 하지 않으면 전체가 숫자...
    • 청강생
      2000.10.18 20:23
      한하눌 wrote: > 청강생 wrote: > > > > Stringgird의 data를 Excel로 변환할 때 > > 문자열 지정을 ...
    • 한하눌
      2000.10.19 06:52
      청강생 wrote: > 한하눌 wrote: > > 청강생 wrote: > > > > > > Stringgird의 data를 Excel로 변환할 ...
    • 청강생
      2000.10.20 17:33
      한하눌 wrote: > 청강생 wrote: > > 한하눌 wrote: > > > 청강생 wrote: > > > > > > > > Stringgird...
    • parkisu
      2000.10.19 11:47
    • cell
      2000.10.19 02:05
    • 임형호
      2000.10.18 18:58
    • 2000.10.18 19:35
    • 한하눌
      2000.10.18 19:49
    • 2000.10.18 20:02
    • 임형호
      2000.10.18 21:47
    • 한하눌
      2000.10.18 19:41
      이해경 wrote: > 안녕하세요? Delphi에서 Excel로 보고서를 출력하는 작업을 하고 있으며, Error가 발생하...
    • 이해경
      2000.10.18 20:45
      답변 감사합니다. 그렇게 하니까 Process는 종료가 되었습니다. 하지만 Process 종료시 저장 여부를 물어...
    • 델초
    • 2000.10.18 13:40
    • 2 COMMENTS
    • /
    • 0 LIKES
    • parkisu
      2000.10.18 16:27
      폼이 메모리상에서 완전히 제거되지 않은 것 같은데요. FAddForm의 OnClose이벤트에 FAddForm:= nil...
    • 델초
      2000.10.18 22:13
      parkisu wrote: > 폼이 메모리상에서 완전히 제거되지 않은 것 같은데요. > FAddForm의 OnClose이벤트에 ...
    • parkisu
      2000.10.18 16:20
      MS엑세스같은 것들이 그런 프로그램입니다. 아마도 C나 C++로 만들어진 프로그램들에서 주로 그런 것 같아...
    • 2000.10.18 18:15
      http://www.delphi.co.kr/cgi-bin/cwb/CrazyWWWBoard.cgi?db=freetalk&mode=download&num=3290&file=Projec...
    • 김경한
    • 2000.10.18 11:17
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 강인규
      2000.10.18 18:54
      음.... 잘 모르지만 한자 적어봅니다. ^-^; 디비의 자료를 읽어오는 방법이 BDE세팅이나 ODBC설정 뿐일...
    • 권영길
      2000.10.18 11:29
      "Provider=SQLOLEDB;Connect Timeout=7;SERVER=MYSERVER;UID=MYUSER;PWD=MYPASS;DATABASE=MYDB" 이런식이...
    • psunk
    • 2000.10.18 06:54
    • 3 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 08:18
      안녕하세요? 고드름 김정입니다. Type Library에서 속성을 만드신 후, (데이터타입을 결정하고 ...) U...
    • psunk
      2000.10.18 08:48
      답변 감사합니다. Type Library 에는 등록이 모두 되어있습니다. 그런데도 액티브 폼에서 그 프로퍼티를 ...
    • 김정
      2000.10.18 19:15
      안녕하세요? 고드름 김정입니다. 말씀하신 것까지는 맞습니다. 하지만 Type Library에서 만든 것은 In...
    • 허준
      2000.10.18 19:06
      windows 2000 Professional에는 SQL7.0 서버를 깔수가 없습니다. windows 2000 Professional은 NT WORKSTA...
    • 인디안
    • 2000.10.18 04:56
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 김정
      2000.10.18 08:20
      안녕하세요? 고드름 김정입니다. 질문하신 내용이, 델에서 GIF저장을 하셨다는 것인지 저장된 것을 보...