Gravar MP3 em uma DLL | Gravar .jpg em tabela MySQL

Delphi

20/10/2007

Olá a todos.

Como já diz meu Assunto do Tópico, estou precisando dos seguintes códigos.
Calma, eu sei que vão dizer pra procurar nos tópicos do Forum, mas ja cassei, tentei e até agora não tive sucesso com os codigos postados.
Vamos lá.

1º - Estou precisando de código para Inserir e Ler um arquivo de formato MP3 a partir de uma DLL.

2º - Estou precisando de código para Gravar e Ler uma imagem em formato JPEG no BD MySQL.

Agora, eu utilizo.

Delphi 7
BD: MySQL 5.0
conector: dbExpress


Agradeço ajuda.
Att.


Devmedia

Devmedia

Curtidas 0

Respostas

Mayron Cachina

Mayron Cachina

20/10/2007

Da uma estudada nessa procedure ai...
ela resolve o seu segundo problema :D

procedure TF_Par1.BitBtn7Click(Sender: TObject);
var Bmp: TBitMap; Jpg: TJPEGImage; Stm: TStream;
begin
OpenFoto.InitialDir:=´Diretório das fotos´;
if OpenFoto.Execute then
begin
Bmp:=TBitMap.Create;
Jpg:=TJPEGImage.Create;
try
//[ ] Captura o arquivo Jpg
Jpg.LoadFromFile(OpenFoto.FileName);
//[ ] Abre a tabela
if not (Dy1Par.DataSet.State in [dsEdit, dsInsert]) then Dy1Par.DataSet.Edit;
//[ ] Grava o diretório e o arquivo
Dy1Par.DataSet.FieldByName(´Par_DirSplash´).AsString:=OpenFoto.FileName;
//[ ] Transfere JPG para BMP
Bmp.Assign(jpg);
//[ ] Manda para o visualizador
ZDbImage1.Picture.Assign(bmp);
//[ ] Grava o que está no visualisador
Dy1Par.DataSet.Post;
//[ ] se não for JPG...
except on EInvalidGraphic do
begin
if not (Dy1Par.DataSet.State in [dsEdit, dsInsert]) then Dy1Par.DataSet.Edit;
Dy1Par.DataSet.FieldByName(´Par_DirSplash´).AsString:=OpenFoto.FileName;
//[ ] Captura o arquivo do diretório gravado na tabela
Bmp.LoadFromFile(OpenFoto.FileName);
//[ ] Manda a imagem BMP para o componente
ZDbImage1.Picture.Assign(Bmp);
//[ ] Grava a imagem do visualizador
Dy1Par.DataSet.Post;
end;
end;
//[ ] Libera os componentes criados
Bmp.Free;
Jpg.Free;
end
else
begin
if TBlobField(Dy1Par.DataSet.FieldByName(´Par_Splash´)).BlobSize > 0 then
if Confirma(´Limpar a cache ?´,´Figura´)=IdYes then
begin
if not (Dy1Par.DataSet.State in [dsEdit,dsInsert]) then Dy1Par.DataSet.Edit;
Dy1Par.DataSet.FieldByName(´Par_DirSplash´).AsString:=´´;
Qy1ParPar_Splash.AsVariant:=´´;
Dy1Par.DataSet.Post;
end;
end;
//[ ] LogoSplash é campo Blob para tela do Menú
//[ ] Checa se há imagem gravada
if TBlobField(Dy1Par.DataSet.FieldByName(´Par_Splash´)).BlobSize > 0 then
begin
try
//[ ] Cria os componentes
Bmp:=TBitMap.Create;
Stm:=TMemoryStream.Create;
//[ ] carrega a imagem na memória
TBlobField(Dy1Par.DataSet.FieldByName(´Par_Splash´)).SaveToStream(Stm);
//[ ] Transfere a imagem para o componente criado
Stm.Position:=0;
Bmp.LoadFromStream(Stm);
//[ ] Manda a foto para F_Menu
F_Menu.Image1.Picture.Graphic:=Bmp;
F_Menu.Image1.Update;
//[ ] Libera os componentes
FreeAndNil(Stm);
FreeAndNil(Bmp);
except on EInvalidGraphic do MessageDlg(´Algo deu errado !´, mtWarning, [mbOK], 1);
end;
end else
begin
F_Menu.Image1.Picture.Graphic:=F_Par1.Image1.Picture.Graphic;
F_Menu.Image1.Update;
end;
end;



GOSTEI 0
POSTAR