Узнать расширение

Тема в разделе "Delphi - FAQ", создана пользователем niello, 22 мар 2007.

  1. niello

    niello Гость

    Как узнать расширение файла открытого из OpenDialog1?
    У меня есть OpenDialog1, и два расширения(*.bmp, *.jpg)

    begin
    if OpenDialog1.Execute then
    begin
    if (расширение*.jpg) then (Действие1)
    Else Действие2
    end;
    end;
     
  2. niello

    niello Гость

    //этот код должен вносить в базу рисунок Jpeg предварительно его перевев в формат *.bmp но что-то не идет. Где ошибка.

    Код (Text):
    procedure TForm2.N1Click(Sender: TObject);
    var
    jpeg: TJPEGImage;
    bmp: TBitmap;
    begin
    if OpenDialog1.Execute then
    begin
    AdoTable1.Edit;
    AdoTable1.Append;


    if ExtractFileExt(OpenDialog1.FileName)='.jpeg' then//тут я правильно использую условие?
    begin
    jpeg := TJPEGImage.Create;
    try
    jpeg.CompressionQuality := 100; //Default Value
    jpeg.LoadFromFile(OpenDialog1.FileName);
    bmp := TBitmap.Create;
    try
    bmp.Assign(jpeg);
    bmp.SaveTofile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));
    finally;
    bmp.Free
    end;
    finally;
    jpeg.Free
    end;

    AdoTable1Picture.LoadFromFile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));
    AdoTable1.Post;
    DeleteFile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));//удаляю *.bmp'
    end

    else
    AdoTable1Picture.LoadFromFile(OpenDialog1.FileName);
    AdoTable1.Post;
    end;
    end;
     
  3. Barmutik

    Barmutik Гость

    ЧТо конкретно не идёт ? В чём ошибка ? Приведите .. а то гадать на кофейной гуще как-то ...
     
  4. niello

    niello Гость

    Спасибо! Сел, подумал и нашел ошибку. Сначала посмотрел где меня выбивает и понял что выбивает на
    AdoTable1.Post;
    //конечном. А значит оно не идет по моей ветке. Или
    else
    AdoTable1Picture.LoadFromFile(OpenDialog1.FileName);
    AdoTable1.Post;
    end;
    Не правильно, так как надо после елса взять 2 действия в begin end;
    Но я решил еще чуточку изменить:
    Код (Text):
    procedure TForm2.N1Click(Sender: TObject);
    var
    jpeg: TJPEGImage;
    bmp: TBitmap;
    begin
    if OpenDialog1.Execute then
    begin
    AdoTable1.Edit;
    AdoTable1.Append;
    if ExtractFileExt(OpenDialog1.FileName)='.bmp' then
    begin
    AdoTable1Picture.LoadFromFile(OpenDialog1.FileName);
    AdoTable1.Post;
    end
    //if ExtractFileExt(OpenDialog1.FileName)='.jpg' then
    else
    begin
    jpeg := TJPEGImage.Create;
    try
    jpeg.CompressionQuality := 100; //Default Value
    jpeg.LoadFromFile(OpenDialog1.FileName);
    bmp := TBitmap.Create;
    try
    bmp.Assign(jpeg);
    bmp.SaveTofile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));
    finally;
    bmp.Free
    end;
    finally;
    jpeg.Free
    end;
    AdoTable1Picture.LoadFromFile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));
    AdoTable1.Post;
    DeleteFile(ChangeFileExt(OpenDialog1.FileName, '.bmp' ));
    end
    {else
    begin
    AdoTable1Picture.LoadFromFile(OpenDialog1.FileName);
    AdoTable1.Post;
    end;}
    end;
    end;
    То есть я проверяю условие bmp это или нет, и не парюсь.
    Там взято в контекст то что я изменил.
    Полуилось.
    Теперь этот код можно исрользовать для вставки jpeg рисунков в базу данных. Конечноєто просто преобразование, но я щас попробую и с другими форматами поработать.
    Тема закрыта.
     
Загрузка...

Поделиться этой страницей