Текущий архив: 2007.04.15;
Скачать: CL | DM;
Вниз
Расширения Найти похожие ветки
← →
Steep © (2007-03-29 07:48) [0]Как при открытии файла определить расширение?
т.е. воспользовавшись ExtractFileExt узнаем расширение, а потом пытаемся что-то сделать на определенное расширение (или группу расширени..)
(в плеере при открытии видио должна открываться форма видио, а если аудио, то чтоб и не появлялась
или чтобы производить какие-то действия в графической программе например рисовать)
а потом делать case format{string} of "avi","wma" :begin и тд.
но делфик выдает ordinal type required
и несовместимость форматов integer и string
вот... а как быть? Неужели каждый раз писать if str="***" then...
← →
Elen © (2007-03-29 07:50) [1]
> Неужели каждый раз писать if str="***" then..
А почему нет?
← →
ASoft (2007-03-29 07:51) [2]array, SET из всевозможных форматов
← →
Steep © (2007-03-29 08:13) [3]
> А почему нет?
Как-то неудобно...
← →
Steep © (2007-03-29 08:14) [4]
> array, SET из всевозможных форматов
Пасип, а как его потом сравнивать?
← →
Джо © (2007-03-29 08:25) [5]
const
Audio: array [0..2] of string = ("wav","mp3","ogg");
Video: array [0..2] of string = ("avi","wmv","mts");
...
function IsExtension (Ext: string; Exts: array of string): Boolean;
var
I: Integer;
begin
Result := False;
for I := Low(Exts) to High(Exts) do
if Ext = Exts[I] then
begin
Result := True;
Break
end
end;
...
if IsExtension(Ext,Audio) then ... else
if IsExtension(Ext,Video) then ... else
...
← →
Steep © (2007-03-29 08:30) [6]хм.. чето не подумал насчет перебора (все на case тянет ;) )
Спасибо!!
← →
Джо © (2007-03-29 08:31) [7]Продолжаем извращенческие фантазии :)
const
Audio: array [0..2] of string = (".wav",".mp3",".ogg");
Video: array [0..2] of string = (".avi",".wmv",".mts");
type
TFileProcessorProc = procedure (FileName: string);
function IsExtension (Ext: string; Exts: array of string): Boolean;
var
I: Integer;
begin
Result := False;
for I := Low(Exts) to High(Exts) do
if Ext = Exts[I] then
begin
Result := True;
Break
end
end;
function HandleVideo (FileName: string): Boolean;
begin
Result := IsExtension(ExtractFileExt(FileName),Video);
if Result then
begin
// обрабатываем файл
end;
end;
function HandleAudio (FileName: string): Boolean;
begin
Result := IsExtension(ExtractFileExt(FileName),Audio);
if Result then
begin
// обрабатываем файл
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
FileName: string;
begin
if not HandleVideo(FileName) then
if not HandleAudio(FileName) then
end;
← →
Steep © (2007-03-29 08:35) [8]Джо © ты крут!! я б тах не смог ;)
← →
Джо © (2007-03-29 08:37) [9]> [8] Steep © (29.03.07 08:35)
> Джо © ты крут!! я б тах не смог ;)
Показать на COM-интерфейсах? ;->
← →
Steep © (2007-03-29 08:38) [10]
> Показать на COM-интерфейсах? ;->
Давай! я хоть пасматрю.. ;)
← →
Джо © (2007-03-29 08:45) [11]Нет, хватит уже извращений, пожалуй :)
← →
ASoft (2007-03-29 09:16) [12]если расширение файла будет заглавными буквами? Имхо, нужно приводить к Lower или Uppercase.
← →
Steep © (2007-03-29 11:11) [13]
> если расширение файла будет заглавными буквами? Имхо, нужно
> приводить к Lower или Uppercase.
Ты прав! молодец ASoft !
← →
Правильный Вася (2007-03-29 12:04) [14]
> Как-то неудобно...
неудобно штаны через голову одевать
← →
begin...end © (2007-03-29 12:55) [15]uses StrUtils;
if AnsiIndexText(Ext, ["avi", "wma"]) >= 0 then ...
Страницы: 1 вся ветка
Текущий архив: 2007.04.15;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.041 c