(Co-Admin)
Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
Delphi 11 Alexandria
|
Re: Strings vergleichen geht SAULAHM!!!
31. Dez 2004, 01:15
Moin silentAMD,
um mal die Idee von Dax aufzugreifen, mal etwas ähnliches:
Funktioniert allerdings nur bei Erweiterungen mit ein bis vier Zeichen.
Ich hoffe es ist ersichtlich wie sich die Zahlen ergeben.
Delphi-Quellcode:
function Ext2ID( const AsFilepath : string) : integer;
type
TcsExtToDW = packed record
case byte of
0 : (sExt : string[4]);
1 : (bDummy : byte;
dwExt : DWORD);
end;
var
etdWork : TcsExtToDW;
begin
Result := -1;
etdWork.dwExt := 0;
etdWork.sExt := AnsiLowerCase(copy(ExtractFileExt(AsFilePath),2,4));
case etdWork.dwExt of
$00657865 : Result := 6; // exe
$0067706A, // jpg
$6765706A, // jpeg
$00706D62, // bmp
$00666967, // gif
$00676E70 : Result := 7; // png
$006D7468, // htm
$6C6D7468 : Result := 8; // html
$00747874, // txt
$00696E69, // ini
$00666E69, // inf
$00737363 : Result := 9; // css
$00726172, // rar
$0070697A, // zip
$00626163, // cab
$00656361 : Result := 10; // ace
$0033706D, // mp3
$00766177, // wav
$0067676F, // ogg
$0064696D, // mid
$00616D77, // wma
$00616D72 : Result := 11; // rma
$0067706D, // mpg
$6765706D, // mpeg
$0065706D, // mpe
$00766D77, // wmv
$00697661, // avi
$00667361, // asf
$00766F6D, // mov
$00006D72 : Result := 12; // rm
$00636F64, // doc
$00667472, // rtf
$00666470, // pdf
$00747070, // ppt
$00737070 : Result := 13; // pps
$00706C68, // hlp
$006D6863 : Result := 14; // chm
$00667773 : Result := 15; // swf
$006B6E6C : Result := 16 // lnk
end;
end;
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
|
|
Zitat
|