Wiliat87 Posted January 10, 2014 Share Posted January 10, 2014 (edited) An UDF for retrieving MIME types based on the extension of the filename/filepath/URL provided. Features: - contains DB of strict IANA MIMEs - contains DB of non-strict IANA MIMEs - can retrieve MIMEs from the Windows Registery - can create MIME based on the filetype found in the Windows Registery - can create MIME based on the extension (basically just prepends "application/x-") - all resources above can be combined independently - query time is between 0.5 - 1.5 ms (up to 2 ms on the first execution) expandcollapse popup#include-once ;~ #AutoIt3Wrapper_au3check_parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6 -w- 7 ; Example ; ==================================================================================================================== ;~ Local $iNumOfTests = 10000, $t = TimerInit(), $sFile = "sds.au3" ;~ For $i = 1 To $iNumOfTests ;~ __WinHttpMIMEType($sFile) ;~ Next ;~ ConsoleWrite("The speed of __WinHttpMIMEType is: " & Round(TimerDiff($t) / $iNumOfTests, 3) & " ms per query (IANA-strict)" & @CRLF) ;~ ConsoleWrite(@TAB & " resolves to: " & __WinHttpMIMEType($sFile) & @CRLF) ;~ $t = TimerInit() ;~ For $i = 1 To $iNumOfTests ;~ _FileGetMimeType($sFile) ;~ Next ;~ ConsoleWrite("The speed of _FileGetMimeType is: " & Round(TimerDiff($t) / $iNumOfTests, 3) & " ms per query (IANA-strict)" & @CRLF) ;~ ConsoleWrite(@TAB & " resolves to: " & _FileGetMimeType($sFile) & @CRLF) ;~ $t = TimerInit() ;~ For $i = 1 To $iNumOfTests ;~ _FileGetMimeType($sFile, 15) ;~ Next ;~ ConsoleWrite("The speed of _FileGetMimeType is: " & Round(TimerDiff($t) / $iNumOfTests, 3) & " ms per query (IANA-non-strict all options enabled)" & @CRLF) ;~ ConsoleWrite(@TAB & " resolves to: " & _FileGetMimeType($sFile, 15) & @CRLF) ;~ Func __WinHttpMIMEType($sFileName) ;~ Local $aArray = StringRegExp(__WinHttpMIMEAssocString(), "(?i)\Q;" & StringRegExpReplace($sFileName, ".*\.", "") & "\E\|(.*?);", 3) ;~ If @error Then Return "application/octet-stream" ;~ Return $aArray[0] ;~ EndFunc ;==>__WinHttpMIMEType ;~ Func __WinHttpMIMEAssocString() ;~ Return ";ai|application/postscript;aif|audio/x-aiff;aifc|audio/x-aiff;aiff|audio/x-aiff;asc|text/plain;atom|application/atom+xml;au|audio/basic;avi|video/x-msvideo;bcpio|application/x-bcpio;bin|application/octet-stream;bmp|image/bmp;cdf|application/x-netcdf;cgm|image/cgm;class|application/octet-stream;cpio|application/x-cpio;cpt|application/mac-compactpro;csh|application/x-csh;css|text/css;dcr|application/x-director;dif|video/x-dv;dir|application/x-director;djv|image/vnd.djvu;djvu|image/vnd.djvu;dll|application/octet-stream;dmg|application/octet-stream;dms|application/octet-stream;doc|application/msword;dtd|application/xml-dtd;dv|video/x-dv;dvi|application/x-dvi;dxr|application/x-director;eps|application/postscript;etx|text/x-setext;exe|application/octet-stream;ez|application/andrew-inset;gif|image/gif;gram|application/srgs;grxml|application/srgs+xml;gtar|application/x-gtar;hdf|application/x-hdf;hqx|application/mac-binhex40;htm|text/html;html|text/html;ice|x-conference/x-cooltalk;ico|image/x-icon;ics|text/calendar;ief|image/ief;ifb|text/calendar;iges|model/iges;igs|model/iges;jnlp|application/x-java-jnlp-file;jp2|image/jp2;jpe|image/jpeg;jpeg|image/jpeg;jpg|image/jpeg;js|application/x-javascript;kar|audio/midi;latex|application/x-latex;lha|application/octet-stream;lzh|application/octet-stream;m3u|audio/x-mpegurl;m4a|audio/mp4a-latm;m4b|audio/mp4a-latm;m4p|audio/mp4a-latm;m4u|video/vnd.mpegurl;m4v|video/x-m4v;mac|image/x-macpaint;man|application/x-troff-man;mathml|application/mathml+xml;me|application/x-troff-me;mesh|model/mesh;mid|audio/midi;midi|audio/midi;mif|application/vnd.mif;mov|video/quicktime;movie|video/x-sgi-movie;mp2|audio/mpeg;mp3|audio/mpeg;mp4|video/mp4;mpe|video/mpeg;mpeg|video/mpeg;mpg|video/mpeg;mpga|audio/mpeg;ms|application/x-troff-ms;msh|model/mesh;mxu|video/vnd.mpegurl;nc|application/x-netcdf;oda|application/oda;ogg|application/ogg;pbm|image/x-portable-bitmap;pct|image/pict;pdb|chemical/x-pdb;pdf|application/pdf;pgm|image/x-portable-graymap;pgn|application/x-chess-pgn;pic|image/pict;pict|image/pict;png|image/png;pnm|image/x-portable-anymap;pnt|image/x-macpaint;pntg|image/x-macpaint;ppm|image/x-portable-pixmap;ppt|application/vnd.ms-powerpoint;ps|application/postscript;qt|video/quicktime;qti|image/x-quicktime;qtif|image/x-quicktime;ra|audio/x-pn-realaudio;ram|audio/x-pn-realaudio;ras|image/x-cmu-raster;rdf|application/rdf+xml;rgb|image/x-rgb;rm|application/vnd.rn-realmedia;roff|application/x-troff;rtf|text/rtf;rtx|text/richtext;sgm|text/sgml;sgml|text/sgml;sh|application/x-sh;shar|application/x-shar;silo|model/mesh;sit|application/x-stuffit;skd|application/x-koan;skm|application/x-koan;skp|application/x-koan;skt|application/x-koan;smi|application/smil;smil|application/smil;snd|audio/basic;so|application/octet-stream;spl|application/x-futuresplash;src|application/x-wais-source;sv4cpio|application/x-sv4cpio;sv4crc|application/x-sv4crc;svg|image/svg+xml;swf|application/x-shockwave-flash;t|application/x-troff;tar|application/x-tar;tcl|application/x-tcl;tex|application/x-tex;texi|application/x-texinfo;texinfo|application/x-texinfo;tif|image/tiff;tiff|image/tiff;tr|application/x-troff;tsv|text/tab-separated-values;txt|text/plain;ustar|application/x-ustar;vcd|application/x-cdlink;vrml|model/vrml;vxml|application/voicexml+xml;wav|audio/x-wav;wbmp|image/vnd.wap.wbmp;wbmxl|application/vnd.wap.wbxml;wml|text/vnd.wap.wml;wmlc|application/vnd.wap.wmlc;wmls|text/vnd.wap.wmlscript;wmlsc|application/vnd.wap.wmlscriptc;wrl|model/vrml;xbm|image/x-xbitmap;xht|application/xhtml+xml;xhtml|application/xhtml+xml;xls|application/vnd.ms-excel;xml|application/xml;xpm|image/x-xpixmap;xsl|application/xml;xslt|application/xslt+xml;xul|application/vnd.mozilla.xul+xml;xwd|image/x-xwindowdump;xyz|chemical/x-xyz;zip|application/zip;" ;~ EndFunc ;==>__WinHttpMIMEAssocString ; Example ==================================================================================================================== ; #FUNCTION# ==================================================================================================================== ; Name ..........: _FileGetMimeType ; Description ...: ; Syntax ........: _FileGetMimeType($sFileName[, $iOptions = 0[, $sDefaultMimeType = "application/octet-stream"]]) ; Parameters ....: $sFileName - A string value. ; $iOptions - [optional] An integer value. Default is 0. Options driving the behaviour of the resolving of the MIME. ; Any combination of the following values: ; 0 - IANA strict DB ; 1 - IANA non-strict DB ; 2 - Windows Registery ; 4 - Guess from the file type in the Windows Registery ; 8 - Guess just from the extension ; $sDefaultMimeType - [optional] A string value. Default is "application/octet-stream". ; A Default MIME that will be returned if none was found. ; Return values .: Success - A valid mime type. (valid as much as your options allowed) ; Failure - The default mime type and if the filename has had no extension then sets @error to non-zero ; Author ........: rindeal ; Modified ......: ; Remarks .......: RegEx DB search provided by trancexx's __WinHttpMIMEType ; Related .......: __WinHttpMIMEType ; Link ..........: ; Example .......: yes ; =============================================================================================================================== Func _FileGetMimeType($sFileName, $iOptions = 0, $sDefaultMimeType = "application/octet-stream") ; in the worst case it takes about 0.12 - 0.14 ms to proceed If Not StringInStr($sFileName, ".", 2) Then Return SetError(1, 0, $sDefaultMimeType) Local $sExtension, $aArray, $sMimeType, $sFileType $sExtension = StringRegExp($sFileName, "(?i)\.([^\\/.?=@]+)[^.]*$", 3)[0] $aArray = StringRegExp(__FileGetMimeType_GetDB(BitAND(1, $iOptions)), "(?i)\Q|" & $sExtension & "\E;(.*?)\|", 3) If Not @error Then Return $aArray[0] If BitAND(2, $iOptions) Then $sMimeType = RegRead('HKCR\.' & $sExtension, 'Content Type') If Not @error Then Return $sMimeType EndIf If BitAND(4, $iOptions) Then $sFileType = RegRead('HKCR\.' & $sExtension, 'PerceivedType') If Not @error Then Return $sFileType & '/x-' & $sExtension EndIf If BitAND(8, $iOptions) Then Return "application/x-" & $sExtension EndIf Return $sDefaultMimeType EndFunc ;==>_FileGetMimeType ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FileGetMimeType_GetDB ; Description ...: Reurns a string that will be passed to a DB search function ; Syntax ........: __FileGetMimeType_GetDB([$iIANA_NonStrict = False]) ; Parameters ....: $iIANA_NonStrict - [optional] An integer value. Default is False. ; Set to true if IANA non-strict MIMEs should be returned as well ; Return values .: A string that will be passed to a DB search function ; Author ........: rindeal ; Modified ......: guiness ; Remarks .......: Initial idea and IANA strict DB from trancexx's __WinHttpMIMEAssocString() ; Related .......: __WinHttpMIMEAssocString() ; Link ..........: http://www.stdicon.com/mimetypes ; Example .......: No ; =============================================================================================================================== Func __FileGetMimeType_GetDB($iIANA_NonStrict = False) ; binarysearch is slower for small DBs, but much faster for bigger DBs (5k+ rows) ; this has 850+ rows, therefore stringregexp is simpler to implement and maintain Local Static $sIANA_NonStrict = "" Local Static $sIANA_Strict = "|ai;application/postscript|aif;audio/x-aiff|aifc;audio/x-aiff|aiff;audio/x-aiff|asc;text/plain|atom;application/atom+xml|au;audio/basic|avi;video/x-msvideo|bcpio;application/x-bcpio|bin;application/octet-stream|bmp;image/bmp|cdf;application/x-netcdf|cgm;image/cgm|class;application/octet-stream|cpio;application/x-cpio|cpt;application/mac-compactpro|csh;application/x-csh|css;text/css|dcr;application/x-director|dif;video/x-dv|dir;application/x-director|djv;image/vnd.djvu|djvu;image/vnd.djvu|dll;application/octet-stream|dmg;application/octet-stream|dms;application/octet-stream|doc;application/msword|dtd;application/xml-dtd|dv;video/x-dv|dvi;application/x-dvi|dxr;application/x-director|eps;application/postscript|etx;text/x-setext|exe;application/octet-stream|ez;application/andrew-inset|gif;image/gif|gram;application/srgs|grxml;application/srgs+xml|gtar;application/x-gtar|hdf;application/x-hdf|hqx;application/mac-binhex40|htm;text/html|html;text/html|ice;x-conference/x-cooltalk|ico;image/x-icon|ics;text/calendar|ief;image/ief|ifb;text/calendar|iges;model/iges|igs;model/iges|jnlp;application/x-java-jnlp-file|jp2;image/jp2|jpe;image/jpeg|jpeg;image/jpeg|jpg;image/jpeg|js;application/x-javascript|kar;audio/midi|latex;application/x-latex|lha;application/octet-stream|lzh;application/octet-stream|m3u;audio/x-mpegurl|m4a;audio/mp4a-latm|m4b;audio/mp4a-latm|m4p;audio/mp4a-latm|m4u;video/vnd.mpegurl|m4v;video/x-m4v|mac;image/x-macpaint|man;application/x-troff-man|mathml;application/mathml+xml|me;application/x-troff-me|mesh;model/mesh|mid;audio/midi|midi;audio/midi|mif;application/vnd.mif|mov;video/quicktime|movie;video/x-sgi-movie|mp2;audio/mpeg|mp3;audio/mpeg|mp4;video/mp4|mpe;video/mpeg|mpeg;video/mpeg|mpg;video/mpeg|mpga;audio/mpeg|ms;application/x-troff-ms|msh;model/mesh|mxu;video/vnd.mpegurl|nc;application/x-netcdf|oda;application/oda|ogg;application/ogg|pbm;image/x-portable-bitmap|pct;image/pict|" If Not $sIANA_NonStrict Then $sIANA_Strict &= "pdb;chemical/x-pdb|pdf;application/pdf|pgm;image/x-portable-graymap|pgn;application/x-chess-pgn|pic;image/pict|pict;image/pict|png;image/png|pnm;image/x-portable-anymap|pnt;image/x-macpaint|pntg;image/x-macpaint|ppm;image/x-portable-pixmap|ppt;application/vnd.ms-powerpoint|ps;application/postscript|qt;video/quicktime|qti;image/x-quicktime|qtif;image/x-quicktime|ra;audio/x-pn-realaudio|ram;audio/x-pn-realaudio|ras;image/x-cmu-raster|rdf;application/rdf+xml|rgb;image/x-rgb|rm;application/vnd.rn-realmedia|roff;application/x-troff|rtf;text/rtf|rtx;text/richtext|sgm;text/sgml|sgml;text/sgml|sh;application/x-sh|shar;application/x-shar|silo;model/mesh|sit;application/x-stuffit|skd;application/x-koan|skm;application/x-koan|skp;application/x-koan|skt;application/x-koan|smi;application/smil|smil;application/smil|snd;audio/basic|so;application/octet-stream|spl;application/x-futuresplash|src;application/x-wais-source|sv4cpio;application/x-sv4cpio|sv4crc;application/x-sv4crc|svg;image/svg+xml|swf;application/x-shockwave-flash|t;application/x-troff|tar;application/x-tar|tcl;application/x-tcl|tex;application/x-tex|texi;application/x-texinfo|texinfo;application/x-texinfo|tif;image/tiff|tiff;image/tiff|tr;application/x-troff|tsv;text/tab-separated-values|txt;text/plain|ustar;application/x-ustar|vcd;application/x-cdlink|vrml;model/vrml|vxml;application/voicexml+xml|wav;audio/x-wav|wbmp;image/vnd.wap.wbmp|wbmxl;application/vnd.wap.wbxml|wml;text/vnd.wap.wml|wmlc;application/vnd.wap.wmlc|wmls;text/vnd.wap.wmlscript|wmlsc;application/vnd.wap.wmlscriptc|wrl;model/vrml|xbm;image/x-xbitmap|xht;application/xhtml+xml|xhtml;application/xhtml+xml|xls;application/vnd.ms-excel|xml;application/xml|xpm;image/x-xpixmap|xsl;application/xml|xslt;application/xslt+xml|xul;application/vnd.mozilla.xul+xml|xwd;image/x-xwindowdump|xyz;chemical/x-xyz|zip;application/zip|" $sIANA_NonStrict = ".123;application/vnd.lotus-1-2-3|3dml;text/vnd.in3d.3dml|3g2;video/3gpp2|3gp;video/3gpp|aab;application/x-authorware-bin|aac;audio/x-aac|aam;application/x-authorware-map|a;application/octet-stream|aas;application/x-authorware-seg|abw;application/x-abiword|acc;application/vnd.americandynamics.acc|ace;application/x-ace-compressed|acu;application/vnd.acucobol|acutc;application/vnd.acucorp|adp;audio/adpcm|aep;application/vnd.audiograph|afm;application/x-font-type1|afp;application/vnd.ibm.modcap|air;application/vnd.adobe.air-application-installer-package+zip|ami;application/vnd.amiga.ami|apk;application/vnd.android.package-archive|application;application/x-ms-application|apr;application/vnd.lotus-approach|asc;application/pgp-signature|asc;text/plain|asf;video/x-ms-asf|asm;text/x-asm|aso;application/vnd.accpac.simply.aso|asx;video/x-ms-asf|atc;application/vnd.acucorp|atomcat;application/atomcat+xml|atomsvc;application/atomsvc+xml|atx;application/vnd.antix.game-component|aw;application/applixware|azf;application/vnd.airzip.filesecure.azf|azs;application/vnd.airzip.filesecure.azs|azw;application/vnd.amazon.ebook|bat;application/x-msdownload|bdf;application/x-font-bdf|bdm;application/vnd.syncml.dm+wbxml|bh2;application/vnd.fujitsu.oasysprs|bmi;application/vnd.bmi|book;application/vnd.framemaker|box;application/vnd.previewsystems.box|boz;application/x-bzip2|bpk;application/octet-stream|btif;image/prs.btif|bz2;application/x-bzip2|bz;application/x-bzip|c4d;application/vnd.clonk.c4group|c4f;application/vnd.clonk.c4group|c4g;application/vnd.clonk.c4group|c4p;application/vnd.clonk.c4group|c4u;application/vnd.clonk.c4group|cab;application/vnd.ms-cab-compressed|car;application/vnd.curl.car|cat;application/vnd.ms-pki.seccat|cct;application/x-director|cc;text/x-c|ccxml;application/ccxml+xml|cdbcmsg;application/vnd.contact.cmsg|cdkey;application/vnd.mediastation.cdkey|cdx;chemical/x-cdx|cdxml;application/vnd.chemdraw+xml|cdy;application/vnd.cinderella|cer;application/pkix-cert|chat;application/x-chat|chm;application/vnd.ms-htmlhelp|" $sIANA_NonStrict &= "chrt;application/vnd.kde.kchart|cif;chemical/x-cif|cii;application/vnd.anser-web-certificate-issue-initiation|cil;application/vnd.ms-artgalry|cla;application/vnd.claymore|clkk;application/vnd.crick.clicker.keyboard|clkp;application/vnd.crick.clicker.palette|clkt;application/vnd.crick.clicker.template|clkw;application/vnd.crick.clicker.wordbank|clkx;application/vnd.crick.clicker|clp;application/x-msclip|cmc;application/vnd.cosmocaller|cmdf;chemical/x-cmdf|cml;chemical/x-cml|cmp;application/vnd.yellowriver-custom-menu|cmx;image/x-cmx|cod;application/vnd.rim.cod|com;application/x-msdownload|conf;text/plain|cpp;text/x-c|crd;application/x-mscardfile|crl;application/pkix-crl|crt;application/x-x509-ca-cert|csml;chemical/x-csml|csp;application/vnd.commonspace|cst;application/x-director|csv;text/csv|c;text/x-c|cu;application/cu-seeme|curl;text/vnd.curl|cww;application/prs.cww|cxt;application/x-director|cxx;text/x-c|daf;application/vnd.mobius.daf|dataless;application/vnd.fdsn.seed|davmount;application/davmount+xml|dcurl;text/vnd.curl.dcurl|dd2;application/vnd.oma.dd2+xml|ddd;application/vnd.fujixerox.ddd|deb;application/x-debian-package|def;text/plain|deploy;application/octet-stream|der;application/x-x509-ca-cert|dfac;application/vnd.dreamfactory|dic;text/x-c|diff;text/plain|dif;video/x-dv|dis;application/vnd.mobius.dis|dist;application/octet-stream|distz;application/octet-stream|dna;application/vnd.dna|docm;application/vnd.ms-word.document.macroenabled.12|docx;application/vnd.openxmlformats-officedocument.wordprocessingml.document|dot;application/msword|dotm;application/vnd.ms-word.template.macroenabled.12|dotx;application/vnd.openxmlformats-officedocument.wordprocessingml.template|dp;application/vnd.osgi.dp|dpg;application/vnd.dpgraph|dsc;text/prs.lines.tag|dtb;application/x-dtbook+xml|dts;audio/vnd.dts|dtshd;audio/vnd.dts.hd|dump;application/octet-stream|dv;video/x-dv|dwf;model/vnd.dwf|dwg;image/vnd.dwg|dxf;image/vnd.dxf|dxp;application/vnd.spotfire.dxp|ecma;application/ecmascript|edm;application/vnd.novadigm.edm|" $sIANA_NonStrict &= "edx;application/vnd.novadigm.edx|efif;application/vnd.picsel|ei6;application/vnd.pg.osasli|elc;application/octet-stream|eml;message/rfc822|emma;application/emma+xml|eol;audio/vnd.digital-winds|eot;application/vnd.ms-fontobject|epub;application/epub+zip|es3;application/vnd.eszigno3+xml|esf;application/vnd.epson.esf|et3;application/vnd.eszigno3+xml|ext;application/vnd.novadigm.ext|ez2;application/vnd.ezpix-album|ez3;application/vnd.ezpix-package|f4v;video/x-f4v|f77;text/x-fortran|f90;text/x-fortran|fbs;image/vnd.fastbidsheet|fdf;application/vnd.fdf|fe_launch;application/vnd.denovo.fcselayout-link|fg5;application/vnd.fujitsu.oasysgp|fgd;application/x-director|fh4;image/x-freehand|fh5;image/x-freehand|fh7;image/x-freehand|fhc;image/x-freehand|fh;image/x-freehand|fig;application/x-xfig|fli;video/x-fli|flo;application/vnd.micrografx.flo|flv;video/x-flv|flw;application/vnd.kde.kivio|flx;text/vnd.fmi.flexstor|fly;text/vnd.fly|fm;application/vnd.framemaker|fnc;application/vnd.frogans.fnc|for;text/x-fortran|fpx;image/vnd.fpx|frame;application/vnd.framemaker|fsc;application/vnd.fsc.weblaunch|fst;image/vnd.fst|ftc;application/vnd.fluxtime.clip|f;text/x-fortran|fti;application/vnd.anser-web-funds-transfer-initiation|fvt;video/vnd.fvt|fzs;application/vnd.fuzzysheet|g3;image/g3fax|gac;application/vnd.groove-account|gdl;model/vnd.gdl|geo;application/vnd.dynageo|gex;application/vnd.geometry-explorer|ggb;application/vnd.geogebra.file|ggt;application/vnd.geogebra.tool|ghf;application/vnd.groove-help|gim;application/vnd.groove-identity-message|gmx;application/vnd.gmx|gnumeric;application/x-gnumeric|gph;application/vnd.flographit|gqf;application/vnd.grafeq|gqs;application/vnd.grafeq|gre;application/vnd.geometry-explorer|grv;application/vnd.groove-injector|gsf;application/x-font-ghostscript|gtm;application/vnd.groove-tool-message|gtw;model/vnd.gtw|gv;text/vnd.graphviz|gz;application/x-gzip|h261;video/h261|h263;video/h263|h264;video/h264|hbci;application/vnd.hbci|hh;text/x-c|hlp;application/winhlp|hpgl;application/vnd.hp-hpgl|" $sIANA_NonStrict &= "hpid;application/vnd.hp-hpid|hps;application/vnd.hp-hps|h;text/x-c|htke;application/vnd.kenameaapp|hvd;application/vnd.yamaha.hv-dic|hvp;application/vnd.yamaha.hv-voice|hvs;application/vnd.yamaha.hv-script|icc;application/vnd.iccprofile|icm;application/vnd.iccprofile|ifm;application/vnd.shana.informed.formdata|igl;application/vnd.igloader|igx;application/vnd.micrografx.igx|iif;application/vnd.shana.informed.interchange|imp;application/vnd.accpac.simply.imp|ims;application/vnd.ms-ims|in;text/plain|ipk;application/vnd.shana.informed.package|irm;application/vnd.ibm.rights-management|irp;application/vnd.irepository.package+xml|iso;application/octet-stream|itp;application/vnd.shana.informed.formtemplate|ivp;application/vnd.immervision-ivp|ivu;application/vnd.immervision-ivu|jad;text/vnd.sun.j2me.app-descriptor|jam;application/vnd.jam|jar;application/java-archive|java;text/x-java-source|jisp;application/vnd.jisp|jlt;application/vnd.hp-jlyt|joda;application/vnd.joost.joda-archive|jp2;image/jp2|jpgm;video/jpm|jpgv;video/jpeg|jpm;video/jpm|json;application/json|karbon;application/vnd.kde.karbon|kfo;application/vnd.kde.kformula|kia;application/vnd.kidspiration|kil;application/x-killustrator|kml;application/vnd.google-earth.kml+xml|kmz;application/vnd.google-earth.kmz|kne;application/vnd.kinar|knp;application/vnd.kinar|kon;application/vnd.kde.kontour|kpr;application/vnd.kde.kpresenter|kpt;application/vnd.kde.kpresenter|ksh;text/plain|ksp;application/vnd.kde.kspread|ktr;application/vnd.kahootz|ktz;application/vnd.kahootz|kwd;application/vnd.kde.kword|kwt;application/vnd.kde.kword|lbd;application/vnd.llamagraphics.life-balance.desktop|lbe;application/vnd.llamagraphics.life-balance.exchange+xml|les;application/vnd.hhe.lesson-player|link66;application/vnd.route66.link66+xml|list3820;application/vnd.ibm.modcap|listafp;application/vnd.ibm.modcap|list;text/plain|log;text/plain|lostxml;application/lost+xml|lrf;application/octet-stream|lrm;application/vnd.ms-lrm|ltf;application/vnd.frogans.ltf|lvp;audio/vnd.lucent.voice|" $sIANA_NonStrict &= "lwp;application/vnd.lotus-wordpro|m13;application/x-msmediaview|m14;application/x-msmediaview|m1v;video/mpeg|m2a;audio/mpeg|m2v;video/mpeg|m3a;audio/mpeg|m4a;audio/mp4a-latm|m4b;audio/mp4a-latm|m4p;audio/mp4a-latm|ma;application/mathematica|mac;image/x-macpaint|mag;application/vnd.ecowin.chart|maker;application/vnd.framemaker|man;application/x-troff-man|man;text/troff|mb;application/mathematica|mbk;application/vnd.mobius.mbk|mbox;application/mbox|mc1;application/vnd.medcalcdata|mcd;application/vnd.mcd|mcurl;text/vnd.curl.mcurl|mdb;application/x-msaccess|mdi;image/vnd.ms-modi|me;application/x-troff-me|me;text/troff|mfm;application/vnd.mfmp|mgz;application/vnd.proteus.magazine|mht;message/rfc822|mhtml;message/rfc822|mime;message/rfc822|mj2;video/mj2|mjp2;video/mj2|mlp;application/vnd.dolby.mlp|mmd;application/vnd.chipnuts.karaoke-mmd|mmf;application/vnd.smaf|mmr;image/vnd.fujixerox.edmics-mmr|mny;application/x-msmoney|mobi;application/x-mobipocket-ebook|mp2a;audio/mpeg|mp4a;audio/mp4|mp4s;application/mp4|mp4v;video/mp4|mpa;video/mpeg|mpc;application/vnd.mophun.certificate|mpg4;video/mp4|mpkg;application/vnd.apple.installer+xml|mpm;application/vnd.blueice.multipass|mpn;application/vnd.mophun.application|mpp;application/vnd.ms-project|mpt;application/vnd.ms-project|mpy;application/vnd.ibm.minipay|mqy;application/vnd.mobius.mqy|mrc;application/marc|ms;application/x-troff-ms|mscml;application/mediaservercontrol+xml|mseed;application/vnd.fdsn.mseed|mseq;application/vnd.mseq|msf;application/vnd.epson.msf|msi;application/x-msdownload|msl;application/vnd.mobius.msl|ms;text/troff|msty;application/vnd.muvee.style|mts;model/vnd.mts|mus;application/vnd.musician|musicxml;application/vnd.recordare.musicxml+xml|mvb;application/x-msmediaview|mwf;application/vnd.mfer|mxf;application/mxf|mxl;application/vnd.recordare.musicxml|mxml;application/xv+xml|mxs;application/vnd.triscape.mxs|nb;application/mathematica|ncx;application/x-dtbncx+xml|n-gage;application/vnd.nokia.n-gage.symbian.install|ngdat;application/vnd.nokia.n-gage.data|" $sIANA_NonStrict &= "nlu;application/vnd.neurolanguage.nlu|nml;application/vnd.enliven|nnd;application/vnd.noblenet-directory|nns;application/vnd.noblenet-sealer|nnw;application/vnd.noblenet-web|npx;image/vnd.net-fpx|nsf;application/vnd.lotus-notes|nws;message/rfc822|oa2;application/vnd.fujitsu.oasys2|oa3;application/vnd.fujitsu.oasys3|o;application/octet-stream|oas;application/vnd.fujitsu.oasys|obd;application/x-msbinder|obj;application/octet-stream|odb;application/vnd.oasis.opendocument.database|odc;application/vnd.oasis.opendocument.chart|odf;application/vnd.oasis.opendocument.formula|odft;application/vnd.oasis.opendocument.formula-template|odg;application/vnd.oasis.opendocument.graphics|odi;application/vnd.oasis.opendocument.image|odp;application/vnd.oasis.opendocument.presentation|ods;application/vnd.oasis.opendocument.spreadsheet|odt;application/vnd.oasis.opendocument.text|oga;audio/ogg|ogv;video/ogg|ogx;application/ogg|onepkg;application/onenote|onetmp;application/onenote|opf;application/oebps-package+xml|oprc;application/vnd.palm|org;application/vnd.lotus-organizer|osf;application/vnd.yamaha.openscoreformat|osfpvg;application/vnd.yamaha.openscoreformat.osfpvg+xml|otc;application/vnd.oasis.opendocument.chart-template|otf;application/x-font-otf|otg;application/vnd.oasis.opendocument.graphics-template|oth;application/vnd.oasis.opendocument.text-web|oti;application/vnd.oasis.opendocument.image-template|otm;application/vnd.oasis.opendocument.text-master|otp;application/vnd.oasis.opendocument.presentation-template|ots;application/vnd.oasis.opendocument.spreadsheet-template|ott;application/vnd.oasis.opendocument.text-template|oxt;application/vnd.openofficeorg.extension|p10;application/pkcs10|p12;application/x-pkcs12|p7b;application/x-pkcs7-certificates|p7c;application/pkcs7-mime|p7m;application/pkcs7-mime|p7r;application/x-pkcs7-certreqresp|p7s;application/pkcs7-signature|pas;text/x-pascal|pbd;application/vnd.powerbuilder6|pcf;application/x-font-pcf|pcl;application/vnd.hp-pcl|pclxl;application/vnd.hp-pclxl|" $sIANA_NonStrict &= "pcurl;application/vnd.curl.pcurl|pcx;image/x-pcx|pdb;application/vnd.palm|pdb;chemical/x-pdb|pfa;application/x-font-type1|pfb;application/x-font-type1|pfm;application/x-font-type1|pfr;application/font-tdpfr|pfx;application/x-pkcs12|pgp;application/pgp-encrypted|php;text/x-php|pict;image/pict|pkg;application/octet-stream|pki;application/pkixcmp|pkipath;application/pkix-pkipath|plb;application/vnd.3gpp.pic-bw-large|plc;application/vnd.mobius.plc|plf;application/vnd.pocketlearn|pls;application/pls+xml|pl;text/plain|pml;application/vnd.ctc-posml|pntg;image/x-macpaint|pnt;image/x-macpaint|portpkg;application/vnd.macports.portpkg|pot;application/vnd.ms-powerpoint|potm;application/vnd.ms-powerpoint.template.macroenabled.12|potx;application/vnd.openxmlformats-officedocument.presentationml.template|ppa;application/vnd.ms-powerpoint|ppam;application/vnd.ms-powerpoint.addin.macroenabled.12|ppd;application/vnd.cups-ppd|pps;application/vnd.ms-powerpoint|ppsm;application/vnd.ms-powerpoint.slideshow.macroenabled.12|ppsx;application/vnd.openxmlformats-officedocument.presentationml.slideshow|pptm;application/vnd.ms-powerpoint.presentation.macroenabled.12|pptx;application/vnd.openxmlformats-officedocument.presentationml.presentation|pqa;application/vnd.palm|prc;application/x-mobipocket-ebook|pre;application/vnd.lotus-freelance|prf;application/pics-rules|psb;application/vnd.3gpp.pic-bw-small|psd;image/vnd.adobe.photoshop|psf;application/x-font-linux-psf|p;text/x-pascal|ptid;application/vnd.pvi.ptid1|pub;application/x-mspublisher|pvb;application/vnd.3gpp.pic-bw-var|pwn;application/vnd.3m.post-it-notes|pwz;application/vnd.ms-powerpoint|pya;audio/vnd.ms-playready.media.pya|pyc;application/x-python-code|pyo;application/x-python-code|py;text/x-python|pyv;video/vnd.ms-playready.media.pyv|qam;application/vnd.epson.quickanime|qbo;application/vnd.intu.qbo|qfx;application/vnd.intu.qfx|qps;application/vnd.publishare-delta-tree|qtif;image/x-quicktime|qti;image/x-quicktime|qwd;application/vnd.quark.quarkxpress|qwt;application/vnd.quark.quarkxpress|" $sIANA_NonStrict &= "qxb;application/vnd.quark.quarkxpress|qxd;application/vnd.quark.quarkxpress|qxl;application/vnd.quark.quarkxpress|qxt;application/vnd.quark.quarkxpress|rar;application/x-rar-compressed|rcprofile;application/vnd.ipunplugged.rcprofile|rdz;application/vnd.data-vision.rdz|rep;application/vnd.businessobjects|res;application/x-dtbresource+xml|rif;application/reginfo+xml|rl;application/resource-lists+xml|rlc;image/vnd.fujixerox.edmics-rlc|rld;application/resource-lists-diff+xml|rmi;audio/midi|rmp;audio/x-pn-realaudio-plugin|rms;application/vnd.jcp.javame.midlet-rms|rnc;application/relax-ng-compact-syntax|rpm;application/x-rpm|rpss;application/vnd.nokia.radio-presets|rpst;application/vnd.nokia.radio-preset|rq;application/sparql-query|rs;application/rls-services+xml|rsd;application/rsd+xml|rss;application/rss+xml|rtf;application/rtf|rtf;text/rtf|saf;application/vnd.yamaha.smaf-audio|sbml;application/sbml+xml|sc;application/vnd.ibm.secure-container|scd;application/x-msschedule|scm;application/vnd.lotus-screencam|scq;application/scvp-cv-request|scs;application/scvp-cv-response|scurl;text/vnd.curl.scurl|sda;application/vnd.stardivision.draw|sdc;application/vnd.stardivision.calc|sdd;application/vnd.stardivision.impress|sdkd;application/vnd.solent.sdkm+xml|sdkm;application/vnd.solent.sdkm+xml|sdp;application/sdp|sdw;application/vnd.stardivision.writer|see;application/vnd.seemail|seed;application/vnd.fdsn.seed|sema;application/vnd.sema|semd;application/vnd.semd|semf;application/vnd.semf|ser;application/java-serialized-object|setpay;application/set-payment-initiation|setreg;application/set-registration-initiation|sfd-hdstx;application/vnd.hydrostatix.sof-data|sfs;application/vnd.spotfire.sfs|sgl;application/vnd.stardivision.writer-global|shf;application/shf+xml|sic;application/vnd.wap.sic|sig;application/pgp-signature|sis;application/vnd.symbian.install|sisx;application/vnd.symbian.install|si;text/vnd.wap.si|sitx;application/x-stuffitx|slc;application/vnd.wap.slc|sldm;application/vnd.ms-powerpoint.slide.macroenabled.12|" $sIANA_NonStrict &= "sldx;application/vnd.openxmlformats-officedocument.presentationml.slide|slt;application/vnd.epson.salt|sl;text/vnd.wap.sl|smf;application/vnd.stardivision.math|snf;application/x-font-snf|spc;application/x-pkcs7-certificates|spf;application/vnd.yamaha.smaf-phrase|spot;text/vnd.in3d.spot|spp;application/scvp-vp-response|spq;application/scvp-vp-request|spx;audio/ogg|srx;application/sparql-results+xml|sse;application/vnd.kodak-descriptor|ssf;application/vnd.epson.ssf|ssml;application/ssml+xml|stc;application/vnd.sun.xml.calc.template|std;application/vnd.sun.xml.draw.template|s;text/x-asm|stf;application/vnd.wt.stf|sti;application/vnd.sun.xml.impress.template|stk;application/hyperstudio|stl;application/vnd.ms-pki.stl|str;application/vnd.pg.format|stw;application/vnd.sun.xml.writer.template|sus;application/vnd.sus-calendar|susp;application/vnd.sus-calendar|svd;application/vnd.svd|svgz;image/svg+xml|swa;application/x-director|swi;application/vnd.arastra.swi|sxc;application/vnd.sun.xml.calc|sxd;application/vnd.sun.xml.draw|sxg;application/vnd.sun.xml.writer.global|sxi;application/vnd.sun.xml.impress|sxm;application/vnd.sun.xml.math|sxw;application/vnd.sun.xml.writer|tao;application/vnd.tao.intent-module-archive|t;application/x-troff|tcap;application/vnd.3gpp2.tcap|teacher;application/vnd.smart.teacher|text;text/plain|tfm;application/x-tex-tfm|tgz;application/x-gzip|tmo;application/vnd.tmobile-livetv|torrent;application/x-bittorrent|tpl;application/vnd.groove-tool-template|tpt;application/vnd.trid.tpt|tra;application/vnd.trueapp|tr;application/x-troff|trm;application/x-msterminal|tr;text/troff|ttc;application/x-font-ttf|t;text/troff|ttf;application/x-font-ttf|twd;application/vnd.simtech-mindmapper|twds;application/vnd.simtech-mindmapper|txd;application/vnd.genomatix.tuxedo|txf;application/vnd.mobius.txf|u32;application/x-authorware-bin|udeb;application/x-debian-package|ufd;application/vnd.ufdl|ufdl;application/vnd.ufdl|umj;application/vnd.umajin|unityweb;application/vnd.unity|uoml;application/vnd.uoml+xml|" $sIANA_NonStrict &= "uris;text/uri-list|uri;text/uri-list|urls;text/uri-list|utz;application/vnd.uiq.theme|uu;text/x-uuencode|vcf;text/x-vcard|vcg;application/vnd.groove-vcard|vcs;text/x-vcalendar|vcx;application/vnd.vcx|vis;application/vnd.visionary|viv;video/vnd.vivo|vor;application/vnd.stardivision.writer|vox;application/x-authorware-bin|vsd;application/vnd.visio|vsf;application/vnd.vsf|vss;application/vnd.visio|vst;application/vnd.visio|vsw;application/vnd.visio|vtu;model/vnd.vtu|w3d;application/x-director|wad;application/x-doom|wax;audio/x-ms-wax|wbmxl;application/vnd.wap.wbxml|wbs;application/vnd.criticaltools.wbs+xml|wbxml;application/vnd.wap.wbxml|wcm;application/vnd.ms-works|wdb;application/vnd.ms-works|wiz;application/msword|wks;application/vnd.ms-works|wma;audio/x-ms-wma|wmd;application/x-ms-wmd|wmf;application/x-msmetafile|wm;video/x-ms-wm|wmv;video/x-ms-wmv|wmx;video/x-ms-wmx|wmz;application/x-ms-wmz|wpd;application/vnd.wordperfect|wpl;application/vnd.ms-wpl|wps;application/vnd.ms-works|wqd;application/vnd.wqd|wri;application/x-mswrite|wsdl;application/wsdl+xml|wspolicy;application/wspolicy+xml|wtb;application/vnd.webturbo|wvx;video/x-ms-wvx|x32;application/x-authorware-bin|x3d;application/vnd.hzn-3d-crossword|xap;application/x-silverlight-app|xar;application/vnd.xara|xbap;application/x-ms-xbap|xbd;application/vnd.fujixerox.docuworks.binder|xdm;application/vnd.syncml.dm+xml|xdp;application/vnd.adobe.xdp+xml|xdw;application/vnd.fujixerox.docuworks|xenc;application/xenc+xml|xer;application/patch-ops-error+xml|xfdf;application/vnd.adobe.xfdf|xfdl;application/vnd.xfdl|xhvml;application/xv+xml|xif;image/vnd.xiff|xla;application/vnd.ms-excel|xlam;application/vnd.ms-excel.addin.macroenabled.12|xlb;application/vnd.ms-excel|xlc;application/vnd.ms-excel|xlm;application/vnd.ms-excel|xlsb;application/vnd.ms-excel.sheet.binary.macroenabled.12|xlsm;application/vnd.ms-excel.sheet.macroenabled.12|xlsx;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|xlt;application/vnd.ms-excel|" $sIANA_NonStrict &= "xltm;application/vnd.ms-excel.template.macroenabled.12|xltx;application/vnd.openxmlformats-officedocument.spreadsheetml.template|xlw;application/vnd.ms-excel|xo;application/vnd.olpc-sugar|xop;application/xop+xml|xpdl;application/xml|xpi;application/x-xpinstall|xpr;application/vnd.is-xpr|xps;application/vnd.ms-xpsdocument|xpw;application/vnd.intercon.formnet|xpx;application/vnd.intercon.formnet|xsm;application/vnd.syncml+xml|xspf;application/xspf+xml|xvm;application/xv+xml|xvml;application/xv+xml|zaz;application/vnd.zzazz.deck+xml|zir;application/vnd.zul|zirz;application/vnd.zul|zmm;application/vnd.handheld-entertainment+xml|" EndIf Return $sIANA_Strict & ($iIANA_NonStrict ? $sIANA_NonStrict : "") EndFunc ;==>__FileGetMimeType_GetDB Incomaptible with pre 3.3.10 versions of AutoIt Other methods/UDFs: >urlmon.dll, >_WinHttp UDF (__WinHttpMIMEType) Edited January 10, 2014 by rindeal KaFu 1 Link to comment Share on other sites More sharing options...
guinness Posted January 10, 2014 Share Posted January 10, 2014 First post and already submitting to the Examples, you will do well here.I do have one suggestion, you could away with the Global variable and use Local Static in that initialisation function. If you need help let me know. UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 Thanks for the suggestion, but in 3.3.8 version static vars were just an experimental feature. I think it's more compatible as it is. Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 10, 2014 Moderators Share Posted January 10, 2014 rindeal,As of v3.3.10.0 Static is no longer experimental - perhaps an upgrade is in order. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
guinness Posted January 10, 2014 Share Posted January 10, 2014 (edited) What Melba23 said. Also I have implemented Static in a function in the UDFs, which I wouldn't have done if it was experimental. Edit I was missing said after What Melba23 said. Sorry. Edited January 10, 2014 by guinness UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
DatMCEyeBall Posted January 10, 2014 Share Posted January 10, 2014 First post and already submitting to the Examples, you will do well here. What if a users first post was a game bot? Wiliat87 1 "Just be fred, all we gotta do, just be fred."  -Vocaliod "That is a Hadouken. A KAMEHAMEHA would have taken him 13 days and 54 episodes to form." - Roden Hoxha @tabhooked Clock made of cursors ♣ Desktop Widgets ♣ Water Simulation Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 (edited) Ok, so I've modified it, using static over global. See first post for details and the script. But I see none or negative performance gain. Is there any extra benefit from using static over global? Except the fact that you dont have to declare long-named variables. Edited March 18, 2014 by Wiliat87 Link to comment Share on other sites More sharing options...
DatMCEyeBall Posted January 10, 2014 Share Posted January 10, 2014 , You should update the first post, so that people that find this topic (via Google or other search engines), won't have to scroll down to find the newest version. And when you post an update you should comment something like "Ok, so I've modified it, using static over global. See first post for details and the script." You can see why this is easier for others. "Just be fred, all we gotta do, just be fred."  -Vocaliod "That is a Hadouken. A KAMEHAMEHA would have taken him 13 days and 54 episodes to form." - Roden Hoxha @tabhooked Clock made of cursors ♣ Desktop Widgets ♣ Water Simulation Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 You should update the first post... I'll update the first post as soon as I consider using a static variable better than a global one (in this case). Â And when you post an update you should comment something like "Ok, so I've modified it, using static over global. See first post for details and the script." Thanks, I like copy&paste suggestions... Link to comment Share on other sites More sharing options...
guinness Posted January 10, 2014 Share Posted January 10, 2014 What if a users first post was a game bot?Then we wouldn't be having this conversation. DatMCEyeBall 1 UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted January 10, 2014 Moderators Share Posted January 10, 2014 rindeal,I have lifted your "New Member" posting restriction - it looks as though you might need more than 10 today. DatMCEyeBall,You already know my excuse - not that different from yours. M23  Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area  Link to comment Share on other sites More sharing options...
DatMCEyeBall Posted January 10, 2014 Share Posted January 10, 2014 You already know my excuse - not that different from yours. If only I could find my first post. "Just be fred, all we gotta do, just be fred."  -Vocaliod "That is a Hadouken. A KAMEHAMEHA would have taken him 13 days and 54 episodes to form." - Roden Hoxha @tabhooked Clock made of cursors ♣ Desktop Widgets ♣ Water Simulation Link to comment Share on other sites More sharing options...
trancexx Posted January 10, 2014 Share Posted January 10, 2014 This is nice. Where did you find all those types? I had to do something very similar for purposes of one UDF but I had to be very strict in following IANA's media type specification not to make targeted HTTP servers nervous, with one or two exceptions when standard was ignored. I see you have large number of non-standard types processed and returned. Very informative regardless of level of usefulness.Why, for example, _FileGetMimeType("x.tsv") takes much more time to get than "x.txt"? I did it like this if you are interested:ConsoleWrite(__WinHttpMIMEType("x.txt") & @CRLF) Func __WinHttpMIMEType($sFileName) Local $aArray = StringRegExp(__WinHttpMIMEAssocString(), "(?i)\Q;" & StringRegExpReplace($sFileName, ".*\.", "") & "\E\|(.*?);", 3) If @error Then Return "application/octet-stream" Return $aArray[0] EndFunc Func __WinHttpMIMEAssocString() Return ";ai|application/postscript;aif|audio/x-aiff;aifc|audio/x-aiff;aiff|audio/x-aiff;asc|text/plain;atom|application/atom+xml;au|audio/basic;avi|video/x-msvideo;bcpio|application/x-bcpio;bin|application/octet-stream;bmp|image/bmp;cdf|application/x-netcdf;cgm|image/cgm;class|application/octet-stream;cpio|application/x-cpio;cpt|application/mac-compactpro;csh|application/x-csh;css|text/css;dcr|application/x-director;dif|video/x-dv;dir|application/x-director;djv|image/vnd.djvu;djvu|image/vnd.djvu;dll|application/octet-stream;dmg|application/octet-stream;dms|application/octet-stream;doc|application/msword;dtd|application/xml-dtd;dv|video/x-dv;dvi|application/x-dvi;dxr|application/x-director;eps|application/postscript;etx|text/x-setext;exe|application/octet-stream;ez|application/andrew-inset;gif|image/gif;gram|application/srgs;grxml|application/srgs+xml;gtar|application/x-gtar;hdf|application/x-hdf;hqx|application/mac-binhex40;htm|text/html;html|text/html;ice|x-conference/x-cooltalk;ico|image/x-icon;ics|text/calendar;ief|image/ief;ifb|text/calendar;iges|model/iges;igs|model/iges;jnlp|application/x-java-jnlp-file;jp2|image/jp2;jpe|image/jpeg;jpeg|image/jpeg;jpg|image/jpeg;js|application/x-javascript;kar|audio/midi;latex|application/x-latex;lha|application/octet-stream;lzh|application/octet-stream;m3u|audio/x-mpegurl;m4a|audio/mp4a-latm;m4b|audio/mp4a-latm;m4p|audio/mp4a-latm;m4u|video/vnd.mpegurl;m4v|video/x-m4v;mac|image/x-macpaint;man|application/x-troff-man;mathml|application/mathml+xml;me|application/x-troff-me;mesh|model/mesh;mid|audio/midi;midi|audio/midi;mif|application/vnd.mif;mov|video/quicktime;movie|video/x-sgi-movie;mp2|audio/mpeg;mp3|audio/mpeg;mp4|video/mp4;mpe|video/mpeg;mpeg|video/mpeg;mpg|video/mpeg;mpga|audio/mpeg;ms|application/x-troff-ms;msh|model/mesh;mxu|video/vnd.mpegurl;nc|application/x-netcdf;oda|application/oda;ogg|application/ogg;pbm|image/x-portable-bitmap;pct|image/pict;pdb|chemical/x-pdb;pdf|application/pdf;pgm|image/x-portable-graymap;pgn|application/x-chess-pgn;pic|image/pict;pict|image/pict;png|image/png;pnm|image/x-portable-anymap;pnt|image/x-macpaint;pntg|image/x-macpaint;ppm|image/x-portable-pixmap;ppt|application/vnd.ms-powerpoint;ps|application/postscript;qt|video/quicktime;qti|image/x-quicktime;qtif|image/x-quicktime;ra|audio/x-pn-realaudio;ram|audio/x-pn-realaudio;ras|image/x-cmu-raster;rdf|application/rdf+xml;rgb|image/x-rgb;rm|application/vnd.rn-realmedia;roff|application/x-troff;rtf|text/rtf;rtx|text/richtext;sgm|text/sgml;sgml|text/sgml;sh|application/x-sh;shar|application/x-shar;silo|model/mesh;sit|application/x-stuffit;skd|application/x-koan;skm|application/x-koan;skp|application/x-koan;skt|application/x-koan;smi|application/smil;smil|application/smil;snd|audio/basic;so|application/octet-stream;spl|application/x-futuresplash;src|application/x-wais-source;sv4cpio|application/x-sv4cpio;sv4crc|application/x-sv4crc;svg|image/svg+xml;swf|application/x-shockwave-flash;t|application/x-troff;tar|application/x-tar;tcl|application/x-tcl;tex|application/x-tex;texi|application/x-texinfo;texinfo|application/x-texinfo;tif|image/tiff;tiff|image/tiff;tr|application/x-troff;tsv|text/tab-separated-values;txt|text/plain;ustar|application/x-ustar;vcd|application/x-cdlink;vrml|model/vrml;vxml|application/voicexml+xml;wav|audio/x-wav;wbmp|image/vnd.wap.wbmp;wbmxl|application/vnd.wap.wbxml;wml|text/vnd.wap.wml;wmlc|application/vnd.wap.wmlc;wmls|text/vnd.wap.wmlscript;wmlsc|application/vnd.wap.wmlscriptc;wrl|model/vrml;xbm|image/x-xbitmap;xht|application/xhtml+xml;xhtml|application/xhtml+xml;xls|application/vnd.ms-excel;xml|application/xml;xpm|image/x-xpixmap;xsl|application/xml;xslt|application/xslt+xml;xul|application/vnd.mozilla.xul+xml;xwd|image/x-xwindowdump;xyz|chemical/x-xyz;zip|application/zip;" EndFunc ♡♡♡ . eMyvnE Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 (edited) Many thanks M23! trancexx - the list is from http://www.stdicon.com/mimetypes , it's noted in the description of __FileGetMimeType_DbInit()  this UDF is not IANA-strict indeed, but after some modifications it might be... the spped varies because the txt MIME is taken from the Windows Registery whereas tsv has to be taken from the DB and because you probably measured time for the first query you measured also the time the DB needed to load to the cache  As for your script - well, at least we've chosen the same delimiters ;-) , I measured the speed and it's about 4x faster than mine, so I'm gonna make some more experiments and maybe my UDF will become useless... Edited March 18, 2014 by rindeal Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 So I've remade the script from the ground up (thanks trancexx for suggesting her idea with the regexp DB search as used in her _WinHTTP UDF) and now it's yet 2x times faster and can be optional IANA-strict. Also I've finally implemented static variables so it's now 3.3.10+ compatible. Updated script is in the first post. Link to comment Share on other sites More sharing options...
guinness Posted January 10, 2014 Share Posted January 10, 2014 No need for the $fIfFirstRun var. ; #INTERNAL_USE_ONLY# =========================================================================================================== ; Name ..........: __FileGetMimeType_GetDB ; Description ...: Reurns a string that will be passed to a DB search function ; Syntax ........: __FileGetMimeType_GetDB([$iIANA_NonStrict = False]) ; Parameters ....: $iIANA_NonStrict - [optional] An integer value. Default is False. ; Set to true if IANA non-strict MIMEs should be returned as well ; Return values .: A string that will be passed to a DB search function ; Author ........: rindeal ; Modified ......: ; Remarks .......: Initial idea and IANA strict DB from trancexx's __WinHttpMIMEAssocString() ; Related .......: __WinHttpMIMEAssocString() ; Link ..........: http://www.stdicon.com/mimetypes ; Example .......: No ; =============================================================================================================================== Func __FileGetMimeType_GetDB($iIANA_NonStrict = False) ; binarysearch is slower for small DBs, but much faster for bigger DBs (5k+ rows) ; this has 850+ rows, therefore stringregexp is simpler to implement and maintain Local Static $sIANA_NonStrict = "" Local Static $sIANA_Strict = "|ai;application/postscript|aif;audio/x-aiff|aifc;audio/x-aiff|aiff;audio/x-aiff|asc;text/plain|atom;application/atom+xml|au;audio/basic|avi;video/x-msvideo|bcpio;application/x-bcpio|bin;application/octet-stream|bmp;image/bmp|cdf;application/x-netcdf|cgm;image/cgm|class;application/octet-stream|cpio;application/x-cpio|cpt;application/mac-compactpro|csh;application/x-csh|css;text/css|dcr;application/x-director|dif;video/x-dv|dir;application/x-director|djv;image/vnd.djvu|djvu;image/vnd.djvu|dll;application/octet-stream|dmg;application/octet-stream|dms;application/octet-stream|doc;application/msword|dtd;application/xml-dtd|dv;video/x-dv|dvi;application/x-dvi|dxr;application/x-director|eps;application/postscript|etx;text/x-setext|exe;application/octet-stream|ez;application/andrew-inset|gif;image/gif|gram;application/srgs|grxml;application/srgs+xml|gtar;application/x-gtar|hdf;application/x-hdf|hqx;application/mac-binhex40|htm;text/html|html;text/html|ice;x-conference/x-cooltalk|ico;image/x-icon|ics;text/calendar|ief;image/ief|ifb;text/calendar|iges;model/iges|igs;model/iges|jnlp;application/x-java-jnlp-file|jp2;image/jp2|jpe;image/jpeg|jpeg;image/jpeg|jpg;image/jpeg|js;application/x-javascript|kar;audio/midi|latex;application/x-latex|lha;application/octet-stream|lzh;application/octet-stream|m3u;audio/x-mpegurl|m4a;audio/mp4a-latm|m4b;audio/mp4a-latm|m4p;audio/mp4a-latm|m4u;video/vnd.mpegurl|m4v;video/x-m4v|mac;image/x-macpaint|man;application/x-troff-man|mathml;application/mathml+xml|me;application/x-troff-me|mesh;model/mesh|mid;audio/midi|midi;audio/midi|mif;application/vnd.mif|mov;video/quicktime|movie;video/x-sgi-movie|mp2;audio/mpeg|mp3;audio/mpeg|mp4;video/mp4|mpe;video/mpeg|mpeg;video/mpeg|mpg;video/mpeg|mpga;audio/mpeg|ms;application/x-troff-ms|msh;model/mesh|mxu;video/vnd.mpegurl|nc;application/x-netcdf|oda;application/oda|ogg;application/ogg|pbm;image/x-portable-bitmap|pct;image/pict|" If Not $sIANA_NonStrict Then $sIANA_Strict &= "pdb;chemical/x-pdb|pdf;application/pdf|pgm;image/x-portable-graymap|pgn;application/x-chess-pgn|pic;image/pict|pict;image/pict|png;image/png|pnm;image/x-portable-anymap|pnt;image/x-macpaint|pntg;image/x-macpaint|ppm;image/x-portable-pixmap|ppt;application/vnd.ms-powerpoint|ps;application/postscript|qt;video/quicktime|qti;image/x-quicktime|qtif;image/x-quicktime|ra;audio/x-pn-realaudio|ram;audio/x-pn-realaudio|ras;image/x-cmu-raster|rdf;application/rdf+xml|rgb;image/x-rgb|rm;application/vnd.rn-realmedia|roff;application/x-troff|rtf;text/rtf|rtx;text/richtext|sgm;text/sgml|sgml;text/sgml|sh;application/x-sh|shar;application/x-shar|silo;model/mesh|sit;application/x-stuffit|skd;application/x-koan|skm;application/x-koan|skp;application/x-koan|skt;application/x-koan|smi;application/smil|smil;application/smil|snd;audio/basic|so;application/octet-stream|spl;application/x-futuresplash|src;application/x-wais-source|sv4cpio;application/x-sv4cpio|sv4crc;application/x-sv4crc|svg;image/svg+xml|swf;application/x-shockwave-flash|t;application/x-troff|tar;application/x-tar|tcl;application/x-tcl|tex;application/x-tex|texi;application/x-texinfo|texinfo;application/x-texinfo|tif;image/tiff|tiff;image/tiff|tr;application/x-troff|tsv;text/tab-separated-values|txt;text/plain|ustar;application/x-ustar|vcd;application/x-cdlink|vrml;model/vrml|vxml;application/voicexml+xml|wav;audio/x-wav|wbmp;image/vnd.wap.wbmp|wbmxl;application/vnd.wap.wbxml|wml;text/vnd.wap.wml|wmlc;application/vnd.wap.wmlc|wmls;text/vnd.wap.wmlscript|wmlsc;application/vnd.wap.wmlscriptc|wrl;model/vrml|xbm;image/x-xbitmap|xht;application/xhtml+xml|xhtml;application/xhtml+xml|xls;application/vnd.ms-excel|xml;application/xml|xpm;image/x-xpixmap|xsl;application/xml|xslt;application/xslt+xml|xul;application/vnd.mozilla.xul+xml|xwd;image/x-xwindowdump|xyz;chemical/x-xyz|zip;application/zip|" $sIANA_NonStrict = ".123;application/vnd.lotus-1-2-3|3dml;text/vnd.in3d.3dml|3g2;video/3gpp2|3gp;video/3gpp|aab;application/x-authorware-bin|aac;audio/x-aac|aam;application/x-authorware-map|a;application/octet-stream|aas;application/x-authorware-seg|abw;application/x-abiword|acc;application/vnd.americandynamics.acc|ace;application/x-ace-compressed|acu;application/vnd.acucobol|acutc;application/vnd.acucorp|adp;audio/adpcm|aep;application/vnd.audiograph|afm;application/x-font-type1|afp;application/vnd.ibm.modcap|air;application/vnd.adobe.air-application-installer-package+zip|ami;application/vnd.amiga.ami|apk;application/vnd.android.package-archive|application;application/x-ms-application|apr;application/vnd.lotus-approach|asc;application/pgp-signature|asc;text/plain|asf;video/x-ms-asf|asm;text/x-asm|aso;application/vnd.accpac.simply.aso|asx;video/x-ms-asf|atc;application/vnd.acucorp|atomcat;application/atomcat+xml|atomsvc;application/atomsvc+xml|atx;application/vnd.antix.game-component|aw;application/applixware|azf;application/vnd.airzip.filesecure.azf|azs;application/vnd.airzip.filesecure.azs|azw;application/vnd.amazon.ebook|bat;application/x-msdownload|bdf;application/x-font-bdf|bdm;application/vnd.syncml.dm+wbxml|bh2;application/vnd.fujitsu.oasysprs|bmi;application/vnd.bmi|book;application/vnd.framemaker|box;application/vnd.previewsystems.box|boz;application/x-bzip2|bpk;application/octet-stream|btif;image/prs.btif|bz2;application/x-bzip2|bz;application/x-bzip|c4d;application/vnd.clonk.c4group|c4f;application/vnd.clonk.c4group|c4g;application/vnd.clonk.c4group|c4p;application/vnd.clonk.c4group|c4u;application/vnd.clonk.c4group|cab;application/vnd.ms-cab-compressed|car;application/vnd.curl.car|cat;application/vnd.ms-pki.seccat|cct;application/x-director|cc;text/x-c|ccxml;application/ccxml+xml|cdbcmsg;application/vnd.contact.cmsg|cdkey;application/vnd.mediastation.cdkey|cdx;chemical/x-cdx|cdxml;application/vnd.chemdraw+xml|cdy;application/vnd.cinderella|cer;application/pkix-cert|chat;application/x-chat|chm;application/vnd.ms-htmlhelp|" $sIANA_NonStrict &= "chrt;application/vnd.kde.kchart|cif;chemical/x-cif|cii;application/vnd.anser-web-certificate-issue-initiation|cil;application/vnd.ms-artgalry|cla;application/vnd.claymore|clkk;application/vnd.crick.clicker.keyboard|clkp;application/vnd.crick.clicker.palette|clkt;application/vnd.crick.clicker.template|clkw;application/vnd.crick.clicker.wordbank|clkx;application/vnd.crick.clicker|clp;application/x-msclip|cmc;application/vnd.cosmocaller|cmdf;chemical/x-cmdf|cml;chemical/x-cml|cmp;application/vnd.yellowriver-custom-menu|cmx;image/x-cmx|cod;application/vnd.rim.cod|com;application/x-msdownload|conf;text/plain|cpp;text/x-c|crd;application/x-mscardfile|crl;application/pkix-crl|crt;application/x-x509-ca-cert|csml;chemical/x-csml|csp;application/vnd.commonspace|cst;application/x-director|csv;text/csv|c;text/x-c|cu;application/cu-seeme|curl;text/vnd.curl|cww;application/prs.cww|cxt;application/x-director|cxx;text/x-c|daf;application/vnd.mobius.daf|dataless;application/vnd.fdsn.seed|davmount;application/davmount+xml|dcurl;text/vnd.curl.dcurl|dd2;application/vnd.oma.dd2+xml|ddd;application/vnd.fujixerox.ddd|deb;application/x-debian-package|def;text/plain|deploy;application/octet-stream|der;application/x-x509-ca-cert|dfac;application/vnd.dreamfactory|dic;text/x-c|diff;text/plain|dif;video/x-dv|dis;application/vnd.mobius.dis|dist;application/octet-stream|distz;application/octet-stream|dna;application/vnd.dna|docm;application/vnd.ms-word.document.macroenabled.12|docx;application/vnd.openxmlformats-officedocument.wordprocessingml.document|dot;application/msword|dotm;application/vnd.ms-word.template.macroenabled.12|dotx;application/vnd.openxmlformats-officedocument.wordprocessingml.template|dp;application/vnd.osgi.dp|dpg;application/vnd.dpgraph|dsc;text/prs.lines.tag|dtb;application/x-dtbook+xml|dts;audio/vnd.dts|dtshd;audio/vnd.dts.hd|dump;application/octet-stream|dv;video/x-dv|dwf;model/vnd.dwf|dwg;image/vnd.dwg|dxf;image/vnd.dxf|dxp;application/vnd.spotfire.dxp|ecma;application/ecmascript|edm;application/vnd.novadigm.edm|" $sIANA_NonStrict &= "edx;application/vnd.novadigm.edx|efif;application/vnd.picsel|ei6;application/vnd.pg.osasli|elc;application/octet-stream|eml;message/rfc822|emma;application/emma+xml|eol;audio/vnd.digital-winds|eot;application/vnd.ms-fontobject|epub;application/epub+zip|es3;application/vnd.eszigno3+xml|esf;application/vnd.epson.esf|et3;application/vnd.eszigno3+xml|ext;application/vnd.novadigm.ext|ez2;application/vnd.ezpix-album|ez3;application/vnd.ezpix-package|f4v;video/x-f4v|f77;text/x-fortran|f90;text/x-fortran|fbs;image/vnd.fastbidsheet|fdf;application/vnd.fdf|fe_launch;application/vnd.denovo.fcselayout-link|fg5;application/vnd.fujitsu.oasysgp|fgd;application/x-director|fh4;image/x-freehand|fh5;image/x-freehand|fh7;image/x-freehand|fhc;image/x-freehand|fh;image/x-freehand|fig;application/x-xfig|fli;video/x-fli|flo;application/vnd.micrografx.flo|flv;video/x-flv|flw;application/vnd.kde.kivio|flx;text/vnd.fmi.flexstor|fly;text/vnd.fly|fm;application/vnd.framemaker|fnc;application/vnd.frogans.fnc|for;text/x-fortran|fpx;image/vnd.fpx|frame;application/vnd.framemaker|fsc;application/vnd.fsc.weblaunch|fst;image/vnd.fst|ftc;application/vnd.fluxtime.clip|f;text/x-fortran|fti;application/vnd.anser-web-funds-transfer-initiation|fvt;video/vnd.fvt|fzs;application/vnd.fuzzysheet|g3;image/g3fax|gac;application/vnd.groove-account|gdl;model/vnd.gdl|geo;application/vnd.dynageo|gex;application/vnd.geometry-explorer|ggb;application/vnd.geogebra.file|ggt;application/vnd.geogebra.tool|ghf;application/vnd.groove-help|gim;application/vnd.groove-identity-message|gmx;application/vnd.gmx|gnumeric;application/x-gnumeric|gph;application/vnd.flographit|gqf;application/vnd.grafeq|gqs;application/vnd.grafeq|gre;application/vnd.geometry-explorer|grv;application/vnd.groove-injector|gsf;application/x-font-ghostscript|gtm;application/vnd.groove-tool-message|gtw;model/vnd.gtw|gv;text/vnd.graphviz|gz;application/x-gzip|h261;video/h261|h263;video/h263|h264;video/h264|hbci;application/vnd.hbci|hh;text/x-c|hlp;application/winhlp|hpgl;application/vnd.hp-hpgl|" $sIANA_NonStrict &= "hpid;application/vnd.hp-hpid|hps;application/vnd.hp-hps|h;text/x-c|htke;application/vnd.kenameaapp|hvd;application/vnd.yamaha.hv-dic|hvp;application/vnd.yamaha.hv-voice|hvs;application/vnd.yamaha.hv-script|icc;application/vnd.iccprofile|icm;application/vnd.iccprofile|ifm;application/vnd.shana.informed.formdata|igl;application/vnd.igloader|igx;application/vnd.micrografx.igx|iif;application/vnd.shana.informed.interchange|imp;application/vnd.accpac.simply.imp|ims;application/vnd.ms-ims|in;text/plain|ipk;application/vnd.shana.informed.package|irm;application/vnd.ibm.rights-management|irp;application/vnd.irepository.package+xml|iso;application/octet-stream|itp;application/vnd.shana.informed.formtemplate|ivp;application/vnd.immervision-ivp|ivu;application/vnd.immervision-ivu|jad;text/vnd.sun.j2me.app-descriptor|jam;application/vnd.jam|jar;application/java-archive|java;text/x-java-source|jisp;application/vnd.jisp|jlt;application/vnd.hp-jlyt|joda;application/vnd.joost.joda-archive|jp2;image/jp2|jpgm;video/jpm|jpgv;video/jpeg|jpm;video/jpm|json;application/json|karbon;application/vnd.kde.karbon|kfo;application/vnd.kde.kformula|kia;application/vnd.kidspiration|kil;application/x-killustrator|kml;application/vnd.google-earth.kml+xml|kmz;application/vnd.google-earth.kmz|kne;application/vnd.kinar|knp;application/vnd.kinar|kon;application/vnd.kde.kontour|kpr;application/vnd.kde.kpresenter|kpt;application/vnd.kde.kpresenter|ksh;text/plain|ksp;application/vnd.kde.kspread|ktr;application/vnd.kahootz|ktz;application/vnd.kahootz|kwd;application/vnd.kde.kword|kwt;application/vnd.kde.kword|lbd;application/vnd.llamagraphics.life-balance.desktop|lbe;application/vnd.llamagraphics.life-balance.exchange+xml|les;application/vnd.hhe.lesson-player|link66;application/vnd.route66.link66+xml|list3820;application/vnd.ibm.modcap|listafp;application/vnd.ibm.modcap|list;text/plain|log;text/plain|lostxml;application/lost+xml|lrf;application/octet-stream|lrm;application/vnd.ms-lrm|ltf;application/vnd.frogans.ltf|lvp;audio/vnd.lucent.voice|" $sIANA_NonStrict &= "lwp;application/vnd.lotus-wordpro|m13;application/x-msmediaview|m14;application/x-msmediaview|m1v;video/mpeg|m2a;audio/mpeg|m2v;video/mpeg|m3a;audio/mpeg|m4a;audio/mp4a-latm|m4b;audio/mp4a-latm|m4p;audio/mp4a-latm|ma;application/mathematica|mac;image/x-macpaint|mag;application/vnd.ecowin.chart|maker;application/vnd.framemaker|man;application/x-troff-man|man;text/troff|mb;application/mathematica|mbk;application/vnd.mobius.mbk|mbox;application/mbox|mc1;application/vnd.medcalcdata|mcd;application/vnd.mcd|mcurl;text/vnd.curl.mcurl|mdb;application/x-msaccess|mdi;image/vnd.ms-modi|me;application/x-troff-me|me;text/troff|mfm;application/vnd.mfmp|mgz;application/vnd.proteus.magazine|mht;message/rfc822|mhtml;message/rfc822|mime;message/rfc822|mj2;video/mj2|mjp2;video/mj2|mlp;application/vnd.dolby.mlp|mmd;application/vnd.chipnuts.karaoke-mmd|mmf;application/vnd.smaf|mmr;image/vnd.fujixerox.edmics-mmr|mny;application/x-msmoney|mobi;application/x-mobipocket-ebook|mp2a;audio/mpeg|mp4a;audio/mp4|mp4s;application/mp4|mp4v;video/mp4|mpa;video/mpeg|mpc;application/vnd.mophun.certificate|mpg4;video/mp4|mpkg;application/vnd.apple.installer+xml|mpm;application/vnd.blueice.multipass|mpn;application/vnd.mophun.application|mpp;application/vnd.ms-project|mpt;application/vnd.ms-project|mpy;application/vnd.ibm.minipay|mqy;application/vnd.mobius.mqy|mrc;application/marc|ms;application/x-troff-ms|mscml;application/mediaservercontrol+xml|mseed;application/vnd.fdsn.mseed|mseq;application/vnd.mseq|msf;application/vnd.epson.msf|msi;application/x-msdownload|msl;application/vnd.mobius.msl|ms;text/troff|msty;application/vnd.muvee.style|mts;model/vnd.mts|mus;application/vnd.musician|musicxml;application/vnd.recordare.musicxml+xml|mvb;application/x-msmediaview|mwf;application/vnd.mfer|mxf;application/mxf|mxl;application/vnd.recordare.musicxml|mxml;application/xv+xml|mxs;application/vnd.triscape.mxs|nb;application/mathematica|ncx;application/x-dtbncx+xml|n-gage;application/vnd.nokia.n-gage.symbian.install|ngdat;application/vnd.nokia.n-gage.data|" $sIANA_NonStrict &= "nlu;application/vnd.neurolanguage.nlu|nml;application/vnd.enliven|nnd;application/vnd.noblenet-directory|nns;application/vnd.noblenet-sealer|nnw;application/vnd.noblenet-web|npx;image/vnd.net-fpx|nsf;application/vnd.lotus-notes|nws;message/rfc822|oa2;application/vnd.fujitsu.oasys2|oa3;application/vnd.fujitsu.oasys3|o;application/octet-stream|oas;application/vnd.fujitsu.oasys|obd;application/x-msbinder|obj;application/octet-stream|odb;application/vnd.oasis.opendocument.database|odc;application/vnd.oasis.opendocument.chart|odf;application/vnd.oasis.opendocument.formula|odft;application/vnd.oasis.opendocument.formula-template|odg;application/vnd.oasis.opendocument.graphics|odi;application/vnd.oasis.opendocument.image|odp;application/vnd.oasis.opendocument.presentation|ods;application/vnd.oasis.opendocument.spreadsheet|odt;application/vnd.oasis.opendocument.text|oga;audio/ogg|ogv;video/ogg|ogx;application/ogg|onepkg;application/onenote|onetmp;application/onenote|opf;application/oebps-package+xml|oprc;application/vnd.palm|org;application/vnd.lotus-organizer|osf;application/vnd.yamaha.openscoreformat|osfpvg;application/vnd.yamaha.openscoreformat.osfpvg+xml|otc;application/vnd.oasis.opendocument.chart-template|otf;application/x-font-otf|otg;application/vnd.oasis.opendocument.graphics-template|oth;application/vnd.oasis.opendocument.text-web|oti;application/vnd.oasis.opendocument.image-template|otm;application/vnd.oasis.opendocument.text-master|otp;application/vnd.oasis.opendocument.presentation-template|ots;application/vnd.oasis.opendocument.spreadsheet-template|ott;application/vnd.oasis.opendocument.text-template|oxt;application/vnd.openofficeorg.extension|p10;application/pkcs10|p12;application/x-pkcs12|p7b;application/x-pkcs7-certificates|p7c;application/pkcs7-mime|p7m;application/pkcs7-mime|p7r;application/x-pkcs7-certreqresp|p7s;application/pkcs7-signature|pas;text/x-pascal|pbd;application/vnd.powerbuilder6|pcf;application/x-font-pcf|pcl;application/vnd.hp-pcl|pclxl;application/vnd.hp-pclxl|" $sIANA_NonStrict &= "pcurl;application/vnd.curl.pcurl|pcx;image/x-pcx|pdb;application/vnd.palm|pdb;chemical/x-pdb|pfa;application/x-font-type1|pfb;application/x-font-type1|pfm;application/x-font-type1|pfr;application/font-tdpfr|pfx;application/x-pkcs12|pgp;application/pgp-encrypted|php;text/x-php|pict;image/pict|pkg;application/octet-stream|pki;application/pkixcmp|pkipath;application/pkix-pkipath|plb;application/vnd.3gpp.pic-bw-large|plc;application/vnd.mobius.plc|plf;application/vnd.pocketlearn|pls;application/pls+xml|pl;text/plain|pml;application/vnd.ctc-posml|pntg;image/x-macpaint|pnt;image/x-macpaint|portpkg;application/vnd.macports.portpkg|pot;application/vnd.ms-powerpoint|potm;application/vnd.ms-powerpoint.template.macroenabled.12|potx;application/vnd.openxmlformats-officedocument.presentationml.template|ppa;application/vnd.ms-powerpoint|ppam;application/vnd.ms-powerpoint.addin.macroenabled.12|ppd;application/vnd.cups-ppd|pps;application/vnd.ms-powerpoint|ppsm;application/vnd.ms-powerpoint.slideshow.macroenabled.12|ppsx;application/vnd.openxmlformats-officedocument.presentationml.slideshow|pptm;application/vnd.ms-powerpoint.presentation.macroenabled.12|pptx;application/vnd.openxmlformats-officedocument.presentationml.presentation|pqa;application/vnd.palm|prc;application/x-mobipocket-ebook|pre;application/vnd.lotus-freelance|prf;application/pics-rules|psb;application/vnd.3gpp.pic-bw-small|psd;image/vnd.adobe.photoshop|psf;application/x-font-linux-psf|p;text/x-pascal|ptid;application/vnd.pvi.ptid1|pub;application/x-mspublisher|pvb;application/vnd.3gpp.pic-bw-var|pwn;application/vnd.3m.post-it-notes|pwz;application/vnd.ms-powerpoint|pya;audio/vnd.ms-playready.media.pya|pyc;application/x-python-code|pyo;application/x-python-code|py;text/x-python|pyv;video/vnd.ms-playready.media.pyv|qam;application/vnd.epson.quickanime|qbo;application/vnd.intu.qbo|qfx;application/vnd.intu.qfx|qps;application/vnd.publishare-delta-tree|qtif;image/x-quicktime|qti;image/x-quicktime|qwd;application/vnd.quark.quarkxpress|qwt;application/vnd.quark.quarkxpress|" $sIANA_NonStrict &= "qxb;application/vnd.quark.quarkxpress|qxd;application/vnd.quark.quarkxpress|qxl;application/vnd.quark.quarkxpress|qxt;application/vnd.quark.quarkxpress|rar;application/x-rar-compressed|rcprofile;application/vnd.ipunplugged.rcprofile|rdz;application/vnd.data-vision.rdz|rep;application/vnd.businessobjects|res;application/x-dtbresource+xml|rif;application/reginfo+xml|rl;application/resource-lists+xml|rlc;image/vnd.fujixerox.edmics-rlc|rld;application/resource-lists-diff+xml|rmi;audio/midi|rmp;audio/x-pn-realaudio-plugin|rms;application/vnd.jcp.javame.midlet-rms|rnc;application/relax-ng-compact-syntax|rpm;application/x-rpm|rpss;application/vnd.nokia.radio-presets|rpst;application/vnd.nokia.radio-preset|rq;application/sparql-query|rs;application/rls-services+xml|rsd;application/rsd+xml|rss;application/rss+xml|rtf;application/rtf|rtf;text/rtf|saf;application/vnd.yamaha.smaf-audio|sbml;application/sbml+xml|sc;application/vnd.ibm.secure-container|scd;application/x-msschedule|scm;application/vnd.lotus-screencam|scq;application/scvp-cv-request|scs;application/scvp-cv-response|scurl;text/vnd.curl.scurl|sda;application/vnd.stardivision.draw|sdc;application/vnd.stardivision.calc|sdd;application/vnd.stardivision.impress|sdkd;application/vnd.solent.sdkm+xml|sdkm;application/vnd.solent.sdkm+xml|sdp;application/sdp|sdw;application/vnd.stardivision.writer|see;application/vnd.seemail|seed;application/vnd.fdsn.seed|sema;application/vnd.sema|semd;application/vnd.semd|semf;application/vnd.semf|ser;application/java-serialized-object|setpay;application/set-payment-initiation|setreg;application/set-registration-initiation|sfd-hdstx;application/vnd.hydrostatix.sof-data|sfs;application/vnd.spotfire.sfs|sgl;application/vnd.stardivision.writer-global|shf;application/shf+xml|sic;application/vnd.wap.sic|sig;application/pgp-signature|sis;application/vnd.symbian.install|sisx;application/vnd.symbian.install|si;text/vnd.wap.si|sitx;application/x-stuffitx|slc;application/vnd.wap.slc|sldm;application/vnd.ms-powerpoint.slide.macroenabled.12|" $sIANA_NonStrict &= "sldx;application/vnd.openxmlformats-officedocument.presentationml.slide|slt;application/vnd.epson.salt|sl;text/vnd.wap.sl|smf;application/vnd.stardivision.math|snf;application/x-font-snf|spc;application/x-pkcs7-certificates|spf;application/vnd.yamaha.smaf-phrase|spot;text/vnd.in3d.spot|spp;application/scvp-vp-response|spq;application/scvp-vp-request|spx;audio/ogg|srx;application/sparql-results+xml|sse;application/vnd.kodak-descriptor|ssf;application/vnd.epson.ssf|ssml;application/ssml+xml|stc;application/vnd.sun.xml.calc.template|std;application/vnd.sun.xml.draw.template|s;text/x-asm|stf;application/vnd.wt.stf|sti;application/vnd.sun.xml.impress.template|stk;application/hyperstudio|stl;application/vnd.ms-pki.stl|str;application/vnd.pg.format|stw;application/vnd.sun.xml.writer.template|sus;application/vnd.sus-calendar|susp;application/vnd.sus-calendar|svd;application/vnd.svd|svgz;image/svg+xml|swa;application/x-director|swi;application/vnd.arastra.swi|sxc;application/vnd.sun.xml.calc|sxd;application/vnd.sun.xml.draw|sxg;application/vnd.sun.xml.writer.global|sxi;application/vnd.sun.xml.impress|sxm;application/vnd.sun.xml.math|sxw;application/vnd.sun.xml.writer|tao;application/vnd.tao.intent-module-archive|t;application/x-troff|tcap;application/vnd.3gpp2.tcap|teacher;application/vnd.smart.teacher|text;text/plain|tfm;application/x-tex-tfm|tgz;application/x-gzip|tmo;application/vnd.tmobile-livetv|torrent;application/x-bittorrent|tpl;application/vnd.groove-tool-template|tpt;application/vnd.trid.tpt|tra;application/vnd.trueapp|tr;application/x-troff|trm;application/x-msterminal|tr;text/troff|ttc;application/x-font-ttf|t;text/troff|ttf;application/x-font-ttf|twd;application/vnd.simtech-mindmapper|twds;application/vnd.simtech-mindmapper|txd;application/vnd.genomatix.tuxedo|txf;application/vnd.mobius.txf|u32;application/x-authorware-bin|udeb;application/x-debian-package|ufd;application/vnd.ufdl|ufdl;application/vnd.ufdl|umj;application/vnd.umajin|unityweb;application/vnd.unity|uoml;application/vnd.uoml+xml|" $sIANA_NonStrict &= "uris;text/uri-list|uri;text/uri-list|urls;text/uri-list|utz;application/vnd.uiq.theme|uu;text/x-uuencode|vcf;text/x-vcard|vcg;application/vnd.groove-vcard|vcs;text/x-vcalendar|vcx;application/vnd.vcx|vis;application/vnd.visionary|viv;video/vnd.vivo|vor;application/vnd.stardivision.writer|vox;application/x-authorware-bin|vsd;application/vnd.visio|vsf;application/vnd.vsf|vss;application/vnd.visio|vst;application/vnd.visio|vsw;application/vnd.visio|vtu;model/vnd.vtu|w3d;application/x-director|wad;application/x-doom|wax;audio/x-ms-wax|wbmxl;application/vnd.wap.wbxml|wbs;application/vnd.criticaltools.wbs+xml|wbxml;application/vnd.wap.wbxml|wcm;application/vnd.ms-works|wdb;application/vnd.ms-works|wiz;application/msword|wks;application/vnd.ms-works|wma;audio/x-ms-wma|wmd;application/x-ms-wmd|wmf;application/x-msmetafile|wm;video/x-ms-wm|wmv;video/x-ms-wmv|wmx;video/x-ms-wmx|wmz;application/x-ms-wmz|wpd;application/vnd.wordperfect|wpl;application/vnd.ms-wpl|wps;application/vnd.ms-works|wqd;application/vnd.wqd|wri;application/x-mswrite|wsdl;application/wsdl+xml|wspolicy;application/wspolicy+xml|wtb;application/vnd.webturbo|wvx;video/x-ms-wvx|x32;application/x-authorware-bin|x3d;application/vnd.hzn-3d-crossword|xap;application/x-silverlight-app|xar;application/vnd.xara|xbap;application/x-ms-xbap|xbd;application/vnd.fujixerox.docuworks.binder|xdm;application/vnd.syncml.dm+xml|xdp;application/vnd.adobe.xdp+xml|xdw;application/vnd.fujixerox.docuworks|xenc;application/xenc+xml|xer;application/patch-ops-error+xml|xfdf;application/vnd.adobe.xfdf|xfdl;application/vnd.xfdl|xhvml;application/xv+xml|xif;image/vnd.xiff|xla;application/vnd.ms-excel|xlam;application/vnd.ms-excel.addin.macroenabled.12|xlb;application/vnd.ms-excel|xlc;application/vnd.ms-excel|xlm;application/vnd.ms-excel|xlsb;application/vnd.ms-excel.sheet.binary.macroenabled.12|xlsm;application/vnd.ms-excel.sheet.macroenabled.12|xlsx;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet|xlt;application/vnd.ms-excel|" $sIANA_NonStrict &= "xltm;application/vnd.ms-excel.template.macroenabled.12|xltx;application/vnd.openxmlformats-officedocument.spreadsheetml.template|xlw;application/vnd.ms-excel|xo;application/vnd.olpc-sugar|xop;application/xop+xml|xpdl;application/xml|xpi;application/x-xpinstall|xpr;application/vnd.is-xpr|xps;application/vnd.ms-xpsdocument|xpw;application/vnd.intercon.formnet|xpx;application/vnd.intercon.formnet|xsm;application/vnd.syncml+xml|xspf;application/xspf+xml|xvm;application/xv+xml|xvml;application/xv+xml|zaz;application/vnd.zzazz.deck+xml|zir;application/vnd.zul|zirz;application/vnd.zul|zmm;application/vnd.handheld-entertainment+xml|" EndIf Return $sIANA_Strict & ($iIANA_NonStrict ? $sIANA_NonStrict : "") EndFunc ;==>__FileGetMimeType_GetDB UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Wiliat87 Posted January 10, 2014 Author Share Posted January 10, 2014 You're right, thanks. Script updated. Link to comment Share on other sites More sharing options...
guinness Posted January 10, 2014 Share Posted January 10, 2014 You're right, thanks. Script updated. You're welcome. UDF List:  _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
KaFu Posted January 10, 2014 Share Posted January 10, 2014 Now, that seems to be some code I'll have to add to the next release of SMF too ... DatMCEyeBall 1 Â OS: Win10-22H2 - 64bit - German, AutoIt Version: 3.3.16.1, AutoIt Editor: SciTE, Website: https://funk.eu AMT - Auto-Movie-Thumbnailer (2024-Oct-13)Â BIC - Batch-Image-Cropper (2023-Apr-01) COP - Color Picker (2009-May-21) DCS - Dynamic Cursor Selector (2024-Oct-13) HMW - Hide my Windows (2024-Oct-19) HRC - HotKey Resolution Changer (2012-May-16)Â ICU - Icon Configuration Utility (2018-Sep-16) SMF - Search my Files (2024-Oct-20) - THE file info and duplicates search tool SSD - Set Sound Device (2017-Sep-16) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now