inserting avi clip in data field

how to insert an avi clip in a data field table (delphi)?
please i want code.
t_medhatAsked:
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

x
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

ZifNabCommented:
Hi t_medhat,

I found this ones on the net, hope it sutes your needs :

AVI files can be sotored in BLOB (binary large object) fields. The
                             easist way to play an AVI file stored in a BLOB is to write the BLOB
                             data to a temporary file, then use the mulimedia player play the
                             file. The following example demonstrates how to store an AVI file
                             to a BLOB field, and also play the AVI file from the blob field.

                             Example:

                             var
                               FileName : string;

                             {This function gets a temporary file name form the system}
                             function GetTemporaryFileName : string;
                             {$IFNDEF WIN32}
                               const MAX_PATH = 144;
                             {$ENDIF}
                             var
                              {$IFDEF WIN32}
                               lpPathBuffer : PChar;
                              {$ENDIF}
                               lpbuffer : PChar;
                             begin
                              {Get the file name buffer}
                               GetMem(lpBuffer, MAX_PATH);
                              {$IFDEF WIN32}
                              {Get the temp path buffer}
                               GetMem(lpPathBuffer, MAX_PATH);
                              {Get the temp path}
                               GetTempPath(MAX_PATH, lpPathBuffer);
                              {Get the temp file name}
                               GetTempFileName(lpPathBuffer,
                                               'tmp',
                                               0,
                                               lpBuffer);
                              {Free the temp path buffer}
                               FreeMem(lpPathBuffer, MAX_PATH);
                              {$ELSE}
                              {Get the temp file name}
                               GetTempFileName(GetTempDrive('C'),
                                               'tmp',
                                               0,
                                               lpBuffer);
                              {$ENDIF}
                              {Create a pascal string containg}
                              {the temp file name and return it}
                               result := StrPas(lpBuffer);
                              {Free the file name buffer}
                               FreeMem(lpBuffer, MAX_PATH);
                             end;

                             {Read a AVI file into a blob field}
                             procedure TForm1.Button1Click(Sender: TObject);
                             var
                               FileStream: TFileStream; {to load the avi file}
                               BlobStream: TBlobStream; {to save to the blob}
                             begin
                              {Allow the button to repaint}
                               Application.ProcessMessages;
                              {Turn off the buttons}
                               Button1.Enabled := false;
                               Button2.Enabled := false;
                              {Assign the avi file name to read}
                               FileStream := TFileStream.Create(
                                 'C:\PROGRA~1\BORLAND\DELPHI~1\DEMOS\COOLSTUF\COOL.AVI',
                                 fmOpenRead);
                               Table1.Edit;
                              {Create a BlobStream for the field Table1AVI}
                               BlobStream := TBlobStream.Create(Table1AVI, bmReadWrite);
                              {Seek to the Begginning of the stream}
                               BlobStream.Seek(0, soFromBeginning);
                              {Delete any data that may be there}
                               BlobStream.Truncate;
                              {Copy from the FileStream to the BlobStream}
                               BlobStream.CopyFrom(FileStream, FileStream.Size);
                              {Free the streams}
                               FileStream.Free;
                               BlobStream.Free;
                              {Post the record}
                               Table1.Post;
                              {Enable the buttons}
                               Button1.Enabled := true;
                               Button2.Enabled := true;
                             end;

                             {Read a avi stored in a blob, and play it}
                             procedure TForm1.Button2Click(Sender: TObject);
                             var
                               FileStream: TFileStream; {a temp file}
                               BlobStream: TBlobStream; {the AVI Blob}
                             begin
                              {Create a blob stream for the AVI blob}
                               BlobStream := TBlobStream.Create(Table1AVI, bmRead);
                               if BlobStream.Size = 0 then begin
                                BlobStream.Free;
                                Exit;
                               end;
                              {Close the media player}
                               MediaPlayer1.Close;
                              {Reset the file name}
                               MediaPlayer1.FileName := '';
                              {Refresh the play window}
                               MediaPlayer1.Display := Panel1;
                               Panel1.Refresh;
                              {if we have a temp file then erase it}
                               if FileName <> '' then
                                 DeleteFile(FileName);
                              {Get a temp file name}
                               FileName := GetTemporaryFileName;
                              {Create a temp file stream}
                               FileStream := TFileStream.Create(FileName,
                                                                fmCreate or fmOpenWrite);
                              {Copy the blob to the temp file}
                               FileStream.CopyFrom(BlobStream, BlobStream.Size);
                              {Free the streams}
                               FileStream.Free;
                               BlobStream.Free;
                              {Setup the Medai player to play the AVI file}
                               MediaPlayer1.FileName := filename;
                               MediaPlayer1.DeviceType := dtAviVideo;
                               MediaPlayer1.Open;
                               MediaPlayer1.Play;
                             end;

                             procedure TForm1.FormDestroy(Sender: TObject);
                             begin
                              {Unassign the temp file from the media player}
                               MediaPlayer1.Close;
                               MediaPlayer1.FileName := '';
                              {Erase the temp file}
                               if FileName <> '' then
                                 DeleteFile(FileName);
                             end;

                             Joe
                             --
                             Joe C. Hecht
                             joehecht@gte.net

Regards, Zif.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
ZifNabCommented:
0
ZifNabCommented:
And t_medhat is it working?
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Delphi

From novice to tech pro — start learning today.