> > I assume the translation would be:
> > var
> > IndexSize: Integer;
> > IndexBuff: OleVariant;
> > F: File;
> > P: Pointer;
> > begin
> > RyeCtrl.Capture(0);
> > IndexSize := RyeCtrl.propIndexSize(0);
> > if IndexSize <> 0 then
> > begin
> > IndexBuff := VarArrayCreate([0, IndexSize - 1], varByte);
> > RyeCtrl.GetIndex(0, IndexSize, IndexBuff);
> > AssignFile(F, 'index.jpg');
> > Rewrite(F, 1);
> > try
> > P := VarArrayLock(IndexBuff);
> > try
> > BlockWrite(F, P^, IndexSize);
> > finally
> > VarArrayUnlock(IndexBuff);
> > end;
> > finally
> > CloseFile(F);
> > end;
> > end;
> > end;
> > "TopDogg" <topd...@start.no> wrote in message
> > news:fa1418d.0109252229.283ab073@posting.google.com...
> > > Hi,
> > > I need to use a component to interface with a digital camera.
> > > The examples are given in VB, and I need to convert the code to
Delphi.
> > > The camera's GetIndex() method, in Delphi, returns an OleVariant. I'm
not
> > > sure how I should save this variable into a valid jpg file on disk.
> > > The VB code is as follows:
> > > ' capture the picture
> > > RyeCtrl.Capture (0)
> > > indexSize = RyeCtrl.propIndexSize(0)
> > > If indexSize <> 0 Then
> > > ' create buffer size of index
> > > ReDim indexBuff(indexSize) As Byte
> > > ' get picture from camera
> > > RyeCtrl.GetIndex 0, indexSize, indexBuff
> > > ' save to file
> > > FileNum = FreeFile
> > > Open "index.jpg" For Random as FileNum Len = 1
> > > ' write index picture data
> > > For cnt = 1 to indexSize
> > > Put FileNum, cnt, indexBuff(cnt - 1)
> > > Next
> > > Close FileNum
> > > End If
> > > In Delphi the GetIndex method is defined as follows:
> > > GetIndex (ACamNum : Integer; AIndexSize : Integer; Var ABuffer :
> > OleVariant);
> > > How could I save the returned buffer to a file?
> > > regards,
> > > TopDogg