adobe cs5.5 版本大全

LS数字的语言代码,如下载简体中文版,请下载LS3最后的文件名:
LS1 – en-US / en-UK / en-GB
LS2 – ja-JP
LS3 – ko-KR / zh-CN / zh-TW
LS4 – da-DK / de-DE / es-ES / es-MX / fi-FI / fr-FR / fr-CA / it-IT / nb-NO / nl-NL / pt-BR / sv-SE
LS6 – cs-CZ / hu-HU / pl-PL / ro-RO / ru-RU / tr-TR / uk-UA

FOR MAC:
Adobe CS5.5 Master Collection
LS1:http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/osx10/MasterCollection_CS5_5_LS1.dmg
LS2:http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/osx10/MasterCollection_CS5_5_LS2.dmg
LS3:http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/osx10/MasterCollection_CS5_5_LS3.dmg
LS4:http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/osx10/MasterCollection_CS5_5_LS4.dmg
LS6:http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/osx10/MasterCollection_CS5_5_LS6.dmg
Adobe CS5.5 Design Premium
LS1:http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/osx10/DesignPremium_CS5_5_LS1.dmg
LS2:http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/osx10/DesignPremium_CS5_5_LS2.dmg
LS3:http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/osx10/DesignPremium_CS5_5_LS3.dmg
LS4:http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/osx10/DesignPremium_CS5_5_LS4.dmg
LS6:http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/osx10/DesignPremium_CS5_5_LS6.dmg
Adobe CS5.5 Design Standard
LS1:http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/osx10/DesignStandard_CS5_5_LS1.dmg
LS2:http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/osx10/DesignStandard_CS5_5_LS2.dmg
LS3:http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/osx10/DesignStandard_CS5_5_LS3.dmg
LS4:http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/osx10/DesignStandard_CS5_5_LS4.dmg
LS6:http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/osx10/DesignStandard_CS5_5_LS6.dmg
Adobe CS5 Web Premium
LS1:http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/osx10/WebPremium_CS5_5_LS1.dmg
LS2:http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/osx10/WebPremium_CS5_5_LS2.dmg
LS3:http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/osx10/WebPremium_CS5_5_LS3.dmg
LS4:http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/osx10/WebPremium_CS5_5_LS4.dmg
LS6:http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/osx10/WebPremium_CS5_5_LS6.dmg
Adobe CS5 Production Premium
English / French / German / Japanese:http://trials2.adobe.com/AdobeProducts/STVD/CS5_5/osx10/ProductionPremium_CS5_5_LS7.dmg
Adobe Acrobat X Pro
English / French / German:http://trials2.adobe.com/AdobeProducts/APRO/10/osx10/AcrobatPro_10_Web_WWEFD.dmg
Japanese: http://trials2.adobe.com/AdobeProducts/APRO/10/osx10/AcrobatPro_10_Web_J.dmg
Adobe After Effects CS5.5
English / French / German / Italian / Japanese / Korean / Portuguese / Spanish:http://trials2.adobe.com/AdobeProducts/AEFT/10_5/osx10/AfterEffects_10_5_LS7.dmg
Adobe Contribute CS5
LS1: http://trials2.adobe.com/AdobeProducts/CNTB/6/osx10/Contribute_6_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/CNTB/6/osx10/Contribute_6_LS2.dmg
LS4: http://trials2.adobe.com/AdobeProducts/CNTB/6/osx10/Contribute_6_LS4.dmg
Adobe DreamWeaver CS5.5
LS1:http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/osx10/Dreamweaver_11_5_LS1.dmg
LS2:http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/osx10/Dreamweaver_11_5_LS2.dmg
LS3:http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/osx10/Dreamweaver_11_5_LS3.dmg
LS4:http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/osx10/Dreamweaver_11_5_LS4.dmg
LS6:http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/osx10/Dreamweaver_11_5_LS6.dmg
Adobe Fireworks CS5
LS1: http://trials2.adobe.com/AdobeProducts/FWKS/11/osx10/Fireworks_11_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/FWKS/11/osx10/Fireworks_11_LS2.dmg
LS4: http://trials2.adobe.com/AdobeProducts/FWKS/11/osx10/Fireworks_11_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/FWKS/11/osx10/Fireworks_11_LS6.dmg
Adobe Flash Builder 4.5
English / French / German / Japanese / Russian / Chinese (Simplified):http://trials2.adobe.com/AdobeProducts/FLBR/4_5/osx10/FlashBuilder_4_5_LS10.dmg
Adobe Flash Catalyst CS5.5
English / French / German / Japanese / Korean / Portuguese:http://trials2.adobe.com/AdobeProducts/THRM/1_5/osx10/FlashCatalyst_1_5_LS9.dmg
Adobe Flash Professional CS5.5
LS1: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/osx10/FlashPro_11_5_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/osx10/FlashPro_11_5_LS2.dmg
LS3: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/osx10/FlashPro_11_5_LS3.dmg
LS4: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/osx10/FlashPro_11_5_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/osx10/FlashPro_11_5_LS6.dmg
Adobe InCopy CS5
LS1: http://trials2.adobe.com/AdobeProducts/AICY/7_5/osx10/InCopy_7_5_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/AICY/7_5/osx10/InCopy_7_5_LS2.dmg
LS3: http://trials2.adobe.com/AdobeProducts/AICY/7_5/osx10/InCopy_7_5_LS3.dmg
LS4: http://trials2.adobe.com/AdobeProducts/AICY/7_5/osx10/InCopy_7_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/AICY/7_5/osx10/InCopy_7_5_LS6.dmg
Adobe Illustrator CS5.1
LS1: http://trials2.adobe.com/AdobeProducts/ILST/15_1/osx10/Illustrator_15_1_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/ILST/15_1/osx10/Illustrator_15_1_LS2.dmg
LS3: http://trials2.adobe.com/AdobeProducts/ILST/15_1/osx10/Illustrator_15_1_LS3.dmg
LS4: http://trials2.adobe.com/AdobeProducts/ILST/15_1/osx10/Illustrator_15_1_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/ILST/15_1/osx10/Illustrator_15_1_LS6.dmg
Adobe InDesign CS5.5
LS1: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/osx10/InDesign_7_5_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/osx10/InDesign_7_5_LS2.dmg
LS3: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/osx10/InDesign_7_5_LS3.dmg
LS4: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/osx10/InDesign_7_5_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/osx10/InDesign_7_LS6.dmg
Adobe Photoshop Extended CS5.1
LS1: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/osx10/Photoshop_12_1_LS1.dmg
LS2: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/osx10/Photoshop_12_1_LS2.dmg
LS3: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/osx10/Photoshop_12_1_LS3.dmg
LS4: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/osx10/Photoshop_12_1_LS4.dmg
LS6: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/osx10/Photoshop_12_1_LS6.dmg
Adobe Premiere Pro CS5.5
English / French / German / Italian / Japanese / Korean / Portuguese / Spanish:http://trials2.adobe.com/AdobeProducts/PPRO/5_5/osx10/PremierePro_5_5_LS7.dmg

FOR WIN:
LS1: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/STAM/CS5_5/win32/MasterCollection_CS5_5_LS6.7z

Adobe CS5.5 Design Premium

LS1: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/MDIA/CS5_5/win32/DesignPremium_CS5_5_LS6.7z

Adobe CS5.5 Design Standard

LS1: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/DSGN/CS5_5/win32/DesignStandard_CS5_5_LS6.7z

Adobe CS5 Web Premium

LS1: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/WEBB/CS5_5/win32/WebPremium_CS5_5_LS6.7z

Adobe CS5 Production Premium

语言:English / French / German / Japanese

http://trials2.adobe.com/AdobeProducts/STVD/CS5_5/win32/ProductionPremium_CS5_5_LS7.exe

http://trials2.adobe.com/AdobeProducts/STVD/CS5_5/win32/ProductionPremium_CS5_5_LS7.7z

Adobe Acrobat X Pro
语言:English / French / German

http://trials2.adobe.com/AdobeProducts/APRO/10/win32/AcrobatPro_10_Web_WWEFD.exe

语言:Japanese

http://trials2.adobe.com/AdobeProducts/APRO/10/win32/AcrobatPro_10_Web_J.exe

Adobe After Effects CS5.5 64-bit
语言:English / French / German / Italian / Japanese / Korean / Portuguese / Spanish

http://trials2.adobe.com/AdobeProducts/AEFT/10_5/win64/AfterEffects_10_5_LS7.exe

http://trials2.adobe.com/AdobeProducts/AEFT/10_5/win64/AfterEffects_10_5_LS7.7z

Adobe Contribute CS5

LS1: http://trials2.adobe.com/AdobeProducts/CNTB/6/win32/Contribute_6_LS1.exe

LS2: http://trials2.adobe.com/AdobeProducts/CNTB/6/win32/Contribute_6_LS2.exe

LS4: http://trials2.adobe.com/AdobeProducts/CNTB/6/win32/Contribute_6_LS4.exe

Adobe DreamWeaver CS5.5

LS1: http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS1.exe

LS2: http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS2.exe

LS3: http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS3.exe

LS4: http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS4.exe

LS6: http://trials2.adobe.com/dlm/AdobeProducts/DRWV/11_5/win32/Dreamweaver_11_5_LS6.exe

Adobe Fireworks CS5

LS1: http://trials2.adobe.com/AdobeProducts/FWKS/11/win32/Fireworks_11_LS1.exe

LS2: http://trials2.adobe.com/AdobeProducts/FWKS/11/win32/Fireworks_11_LS2.exe

LS4: http://trials2.adobe.com/AdobeProducts/FWKS/11/win32/Fireworks_11_LS4.exe

LS6: http://trials2.adobe.com/AdobeProducts/FWKS/11/win32/Fireworks_11_LS6.exe

Adobe Flash Builder 4.5

语言:English / French / German / Japanese / Russian / Chinese (Simplified)

http://trials2.adobe.com/AdobeProducts/FLBR/4_5/win32/FlashBuilder_4_5_LS10.exe

Adobe Flash Catalyst CS5.5

语言:English / French / German / Japanese / Korean / Portuguese

http://trials2.adobe.com/AdobeProducts/THRM/1_5/win32/FlashCatalyst_1_5_LS9.exe

Adobe Flash Professional CS5.5

LS1: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS1.exe

LS2: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS2.exe

LS3: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS3.exe

LS4: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS4.exe

LS6: http://trials2.adobe.com/AdobeProducts/FLPR/11_5/win32/FlashPro_11_5_LS6.exe

Adobe InCopy CS5

LS1: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/AICY/7_5/win32/InCopy_7_5_LS6.7z

Adobe Illustrator CS5.1

LS1: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/ILST/15_1/win32/Illustrator_15_1_LS6.7z

Adobe InDesign CS5.5

LS1: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/IDSN/7_5/win32/InDesign_7_5_LS6.7z

Adobe Photoshop Extended CS5.1

LS1: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS1.exe
LS1: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS1.7z

LS2: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS2.exe
LS2: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS2.7z

LS3: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS3.exe
LS3: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS3.7z

LS4: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS4.exe
LS4: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS4.7z

LS6: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS6.exe
LS6: http://trials2.adobe.com/AdobeProducts/PHSP/12_1/win32/Photoshop_12_1_LS6.7z

Adobe Premiere Pro CS5.5 64-bit
语言:English / French / German / Italian / Japanese / Korean / Portuguese / Spanish

http://trials2.adobe.com/AdobeProducts/PPRO/5_5/win32/PremierePro_5_5_LS7.exe

http://trials2.adobe.com/AdobeProducts/PPRO/5_5/win32/PremierePro_5_5_LS7.7z

生成swc库文件若干方法

1 在flex中建立as项目会自动在bin目录下生成
2 用compc命令
3 flashdevelop
4 flash发布设置导出swc 也可以在库中导出swc文件

FlashDevelop自带的项目类型中没有swc库项目的模板,当想要把项目中的通用部分封装成swc时就不那么方便了,往往需要FlashBuilder或命令行compc命令

因为有了compc命令,再加上FD强大的灵活性,要一键生成swc并不困难,步骤如下:

1. 创建AS3项目
可以直接跳至-6
2. 打开项目属性,先把Output file名改为swc后辍,再勾选上No output…
image
3. 切换到Build选项卡,添加命令:

“$(CompilerPath)\bin\compc.exe” -include-sources “$(ProjectDir)\src” -output “$(OutputDir)\$(OutputName)”

image
4. 点OK保存设置,按F8编译项目就可以生成swc文件了:
image

6:如果恰好你没网络或者没能下到ExportSWC这个插件,你也可以这样做:打开项目属性面板,选择Build,在Post-Build Command Line中添加命令:

c:\windows\system32\cmd.exe /k “$(CompilerPath)\bin\compc.exe” -o=“$(OutputDir)\$(ProjectName).swc” -compiler.include-libraries=“$(ProjectDir)\lib” -is=“$(ProjectDir)\src”

FlexSDK中的compc命令可以将那些带包名的as文件编译成swf文件,并打包成一个文件,文件的扩展名是.swc,在Flash中这叫组件。其实组件文件格式实际上是zip, 把扩展名.swc改成.zip用winrar打开看看就知了

假如是自己开发,可以先在本地把目录规划好,调试无误以后在单独拿出去打包

假如在”D:\项目\Tool\huxiaowei\classes”目录下有两个AS文件”GameTask.as”,”MovieTask.as”,在Adobe Flex 3 SDK Command Prompt命令行下输入:

cd 项目\tool

compc -include-sources huxiaowei\classes\ output d:/hxwLib.swc

这样就将两个AS文件打包到d:\下名为hxwLib.swc包里了

在项目里就可以删除掉AS文件,只需要再ActionScript Build Path -> Library Path -> Add SWC下应用这个hxwLib.swc即可

PS:如果有一个AS是基于hxwLib.swc编写的,如果要将这个as编译成不必依赖组件的swf(即可以单独存在),可以进一步在命令行运行:

amxmlc -library-path=c:/3rd.swc HelloWorld.as

flashplayer HelloWorld.swf

以下链接也有相关文章介绍。

http://www.smithfox.com/?e=42

PHP获取当前url路径的函数及服务器变量

1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串

2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI

3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径

4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名

实例:
1,http://www.biuuu.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = “”
$_SERVER["REQUEST_URI"] = “/”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”

2,http://www.biuuu.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = “p=222″
$_SERVER["REQUEST_URI"] = “/?p=222″
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”

3,http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = “p=222&q=biuuu”
$_SERVER["REQUEST_URI"] = “/index.php?p=222&q=biuuu”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”

$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

当前url:”http://”.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']

总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。

$_SERVER["REQUEST_URI"] :获取当前请求的完整的(除域名的)url。。。

uchome系统中处理技巧:

代码
//处理REQUEST_URI
if(!isset($_SERVER['REQUEST_URI'])) {
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF'];
if(isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= ‘?’.$_SERVER['QUERY_STRING'];
}
if($_SERVER['REQUEST_URI']) {
$temp = urldecode($_SERVER['REQUEST_URI']);
if(strexists($temp, ‘<') || strexists($temp, '"')) {
$_GET = shtmlspecialchars($_GET);//XSS
}
}

代码如下:

代码
echo $_SERVER['DOCUMENT_ROOT']."
“; //获得服务器文档根变量
echo $_SERVER['PHP_SELF'].”
“; //获得执行该代码的文件服务器绝对路径的变量
echo __FILE__.”
“; //获得文件的文件系统绝对路径的变量
echo dirname(__FILE__); //获得文件所在的文件夹路径的函数
?>

//server函数
$_SERVER["HTTP_REFERER"]=http://localhost/lianxi/
$_SERVER["HTTP_ACCEPT_LANGUAGE"]=zh-cn
$_SERVER["HTTP_ACCEPT_ENCODING"]=gzip, deflate
$_SERVER["HTTP_USER_AGENT"]=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
$_SERVER["HTTP_HOST"]=localhost
$_SERVER["HTTP_CONNECTION"]=Keep-Alive
$_SERVER["PATH"]=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Common Files\Adobe\AGL;C:\Program Files\MySQL\MySQL Server 5.0\bin;C:\php;C:\php\ext
$_SERVER["SystemRoot"]=C:\WINDOWS
$_SERVER["COMSPEC"]=C:\WINDOWS\system32\cmd.exe
$_SERVER["PATHEXT"]=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
$_SERVER["WINDIR"]=C:\WINDOWS
$_SERVER["SERVER_SIGNATURE"]=
Apache/2.0.55 (Win32) PHP/5.1.1 Server at localhost Port 80 \\使用的何服务器
$_SERVER["SERVER_SOFTWARE"]=Apache/2.0.55 (Win32) PHP/5.1.1
$_SERVER["SERVER_NAME"]=localhost \\服务器名称
$_SERVER["SERVER_ADDR"]=127.0.0.1
$_SERVER["SERVER_PORT"]=80 \\服务器端口
$_SERVER["REMOTE_ADDR"]=127.0.0.1
$_SERVER["DOCUMENT_ROOT"]=D:/lianxi \\网站的主目录
$_SERVER["SERVER_ADMIN"]=sss@163.com \\安装APACHE时设置的邮箱
$_SERVER["SCRIPT_FILENAME"]=D:/lianxi/lianxi/servervalues.php \\当前的网页的绝对路径,
$_SERVER["REMOTE_PORT"]=1076 \\远程端口
$_SERVER["GATEWAY_INTERFACE"]=CGI/1.1
$_SERVER["SERVER_PROTOCOL"]=HTTP/1.1
$_SERVER["REQUEST_METHOD"]=GET
$_SERVER["QUERY_STRING"]=\\获取?号后面的内容
$_SERVER["REQUEST_URI"]=例子:/lianxi/servervalues.php?a=1&b=2
$_SERVER["SCRIPT_NAME"]=例子:/lianxi/servervalues.php
$_SERVER["PHP_SELF"]=/lianxi/servervalues.php \\返回当前网页的相对路径.
$_SERVER["REQUEST_TIME"]=1179190013 \\运行时间 单位为十万分之一毫秒
$_SERVER["argv"]=Array
$_SERVER["argc"]=0
1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1,http://www.biuuu.com/ (直接打开主页)
结果:
$_SERVER["QUERY_STRING"] = “”
$_SERVER["REQUEST_URI"] = “/”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
2,http://www.biuuu.com/?p=222 (附带查询)
结果:
$_SERVER["QUERY_STRING"] = “p=222″
$_SERVER["REQUEST_URI"] = “/?p=222″
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
3,http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = “p=222&q=biuuu”
$_SERVER["REQUEST_URI"] = “/index.php?p=222&q=biuuu”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"] = “/index.php”
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.biuuu.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

代码
/**
__FILE__ ,
getcwd(),
$_SERVER["REQUEST_URI"],
$_SERVER["SCRIPT_NAME"],
$_SERVER["PHP_SELF"],
$_SERVER["SCRIPT_FILENAME"],

来观察一下这些变量或函数的异同.
假设有一个请求地址为: http://localhost:8080/test.php/age=20
而test.php 的完整路径是: D:/server/www/example/test.php
1) getcwd()
将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: D:/server/www/example/ ,
如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),
那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.
2) __FILE__
一个魔术变量, 用它将得到 __FILE__ 变量所在文件的完整路径,
比如: test.php 里 __FILE__ 将得到 D:/server/www/example/test.php ,
test_dir/test2.php 里的 __FILE__ 将得到 D:/server/www/example/test_dir/test2.php

3) $_SERVER["SCRIPT_FILENAME"]
将得到浏览器请求的页面文件的完整路径.
test.php 和 test_dir/test2.php 里用 $_SERVER["SCRIPT_NAME"] 都将得到 D:/server/www/example/test.php.

4) $_SERVER["SCRIPT_NAME"]
将得到浏览器请求的页面文件的文件名,注意: 与 $_SERVER["SCRIPT_NAME"] 不同, 此变量只得到文件名而不包含路径,
在test.php 与 test_dir/test2.php 用$_SERVER["SCRIPT_NAME"] 得到的都将是 test.php.
当然, 在test.php 与 test_dir/test2.php 执行 basename($_SERVER["SCRIPT_FILENAME"]) 与 $_SERVER["SCRIPT_NAME"] 相同.
执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_SERVER["SCRIPT_FILENAME"] 相同.

5) $_SERVER["PHP_SELF"]
将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径,
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php/age=20&name=Tom”。

6) $_SERVER["REQUEST_URI"]
将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去),
比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REUEST_URI"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
那么test.php 和 test_dir/test2.php 的 $_SERVER["REQUEST_URI"] 都将得到 “test.php/age=20&name=Tom”。
*/

// test.php:
echo “test1.php variables
”;
echo “getcwd: “, getcwd(), “
”;
echo “__FILE__: “, __FILE__, “
”;
echo “REQUEST_URI: “, $_SERVER["REQUEST_URI"], “
”;
echo “SCRIPT_NAME: “, $_SERVER["SCRIPT_NAME"], “
”;
echo “PHP_SELF: “, $_SERVER["PHP_SELF"], “
”;
echo “SCRIPT_FILENAME “, $_SERVER["SCRIPT_FILENAME"] , “
”;

// 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:
include_once(”test2/test2.php”);

?>

来自: http://hi.baidu.com/abcfxr/blog/item/8cb5c5ff4e22ba3f5c600833.html

php联合查询详解

转自:http://hi.baidu.com/shiryu963/blog/item/aca86513887bca0a5baf5313.html

资料:

http://keke-wanwei.javaeye.com/blog/99162

http://hi.baidu.com/daweeforever/blog/item/a8831425e684296735a80f5e.html

http://sizhefang.javaeye.com/blog/212652

这几天碰到2个有点绕的查询:
1.
select * from 表A,表A子表

where 表A.FileCode = 表A子表.FileCode and 表A.ID

in (select 表A子表.ID from 表A子表 where

Vc_Code = ’1190′ AND Vc_Num =’111300′ AND Er_Num =’0101′);

这个查询的条件在子表,而结果在父表,没用关联查询,直接查询2个表

2.
SELECT * FROM

A表 AS A LEFT JOIN C表 AS C ON A.UID = C.EID ,

B表 AS B

WHERE A.U_ID = B.U_ID AND //A表和B表通过U_ID关联

B.D_ID IN (SELECT MAX(D_ID) FROM B表 GROUP BY U_ID) //要D_ID值最大的D_ID

AND B.CASEID = ’87′ //B表的一个字段值已知

AND A.STATUS = ’1′; //A表的一个字段值已知

关联查询总结:

1.UNION

格式:
查询语句

UNION [ALL] 查询语句

[UNION [ALL] 查询语句][…n]

说明:
ALL选项表示将所有行合并到结果集合中。不指定该项时,被联合查询结果集合中的重复行将只保留一行。

在包括多个查询的UNION语句中,其执行顺序是自左至右,使用括号可以改变这一执行顺序。例如:

查询1 UNION (查询2 UNION 查询3)

例子:
person表和user表没有约束
person表:

user表:

执行:select id,name from user UNION select id,name from person;

结果:

注意:sql句子栏目数必须是相同的,字段可以随意

2.JOIN

JOIN用于按照ON条件联接两个表,主要有四种:

(一)内连接

INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。(表示交集)

(二)外连接

LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。理解为即使不符合ON条件,左表中的记录也全部显示出来,且结果集中该类记录的右表字段为空值。(差集)

RIGHT JOIN / RIGHT OUTER JOIN:外部联接两个表中的记录,并包含右表中的全部记录。简单说就是和LEFT JOIN反过来。(差集)

FULL JOIN / FULL OUTER JOIN: 完整外部联接返回左表和右表中的所有行。就是LEFT JOIN和RIGHT JOIN和合并,左右两表的数据都全部显示。(并集)

(三)交叉连接

交叉连接(cross join)不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

JOIN的基本语法(注意结果对比):

1.执行 select * from user as A join person as B on A.id=B.id;或
select * from user as A inner join person as B on A.id=B.id;

结果如下:

2.执行 select A.* from user as A join person as B on A.id=B.id;

3.执行select * from user as A left join person as B on A.id=B.id;

4.select * from person as A right join user as B on A.id=B.id;

5.full join
mysql 5不支持full join 所以用左关联和右关联进行联合
SELECT * FROM user
LEFT JOIN money ON user.id=money.id
UNION
SELECT * FROM user
RIGHT JOIN money ON user.id=money.id

6.执行 select * from user CROSS JOIN person;

正则表达式

目录
本文目标
如何使用本教程
什么是正则表达式?
入门
测试正则表达式
元字符
字符转义
重复
字符类
反义
替换
分组
后向引用
位置指定
负向位置指定
注释
贪婪与懒惰
平衡组
还有些什么东西没提到
一些我认为你可能已经知道的术语的参考
网上的资源及本文参考文献
第二版更新说明
本文目标
30分钟内让你明白正则表达式是什么,并对它有一些基本的了解,让你可以在自己的程序或网页里使用它。

如何使用本教程
别被下面那些复杂的表达式吓倒,只要跟着我一步一步来,你会发现正则表达式其实并不像你想像中的那么困难。当然,如果你看完了这篇教程之后发现自己明白了 很多,却又几乎什么都记不得,那也是很正常的——其实我认为没接触过正则表达式的人在看完这篇教程后能把提到过的语法记住80%以上的可能性为零。这里只 是让你明白基本道理,以后你还需要多练习,多查资料,才能熟练掌握正则表达式。

除了作为入门教程之外,本文还试图成为可以在日常工作中使用的正则表达式语法参考手册(就作者本人的经历来说,这个目标还是完成得不错的)。

文本格式约定:专业术语 元字符/语法格式 正则表达式 正则表达式中的一部分(用于分析) 用于在其中搜索的字符串 对正则表达式或其中一部分的说明

什么是正则表达式?
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符它能更精确地描述你的需求——当然,代价就是更复杂。比如你可以编写一个正则表达式来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。

正则表达式是用于进行文本匹配的工具,所以本文里多次提到了在字符串里搜索/查找,这种说法的意思是在给定的字符串中,寻找与给定的正则表达式相匹配的部分。有可能字符串里有不止一个部分满足给定的正则表达式,这时每一个这样的部分被称为一个匹配。匹配在本文里可能会有三种意思:一种是形容词性的,比如说一个字符串匹配一个表达式;一种是动词性的,比如说在字符串里匹配正则表达式;还有一种是名词性的,就是刚刚说到的“字符串中满足给定的正则表达式的一部分”。

入门
学习正则表达式的最好方法是从例子开始,理解例子之后再自己对例子进行修改,实验。下面给出了不少简单的例子,并对它们作了详细的说明。

假设你在一篇英文小说里查找hi,你可以使用正则正则表达式hi。

这是最简单的正则表达式了,它可以精确匹配这样的字符串:由两个字符组成,前一个字符是h,后一个是i。通常,处理正则表达式的工具会提供一个忽略大小写的选项,如果选中了这个选项,它可以匹配hi,HI,Hi,hI这四种情况中的任意一种。

不幸的是,很多单词里包含hi这两个连续的字符,比如him,history,high等等。用hi来查找的话,这里边的hi也会被找出来。如果要精确地查找hi这个单词的话,我们应该使用\bhi\b。

\b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。虽然通常英文的单词是由空格或标点符号或换行来分隔的,但是\b并不匹配这些单词分隔符中的任何一个,它只匹配一个位置。(如果需要更精确的说法, \b匹配这样的位置:它的前一个字符和后一个字符不全是\w)

假如你要找的是hi后面不远处跟着一个Lucy,你应该用\bhi\b.*\bLucy\b。

这里,.是另一个元字符,匹配除了换行符以外的任意字符。*同样是元字符,不过它代表的不是字符,也不是位置,而是数量–它指定*前边的内容可以重复任意次以使整个表达式得到匹配。因此,.*连在一起就意味着任意数量的不包含换行的字符。现在\bhi\b.*\bLucy\b的意思就很明显了:先是一个单词hi,然后是任意个任意字符(但不能是换行),最后是Lucy这个单词。

如果同时使用其它的一些元字符,我们就能构造出功能更强大的正则表达式。比如下面这个例子:

0\d\d-\d\d\d\d\d\d\d\d匹配这样的字符串:以0开头,然后是两个数字,然后是一个连字号“-”,最后是8个数字(也就是中国的电话号码。当然,这个例子只能匹配区号为3位的情形)。

这里的\d是一个新的元字符,匹配任意的数字(0,或1,或2,或……)。-不是元字符,只匹配它本身——连字号。

为了避免那么多烦人的重复,我们也可以这样写这个表达式:0\d{2}-\d{8}

这里\d后面的{2}({8})的意思是前面\d必须连续重复匹配2次(8次)。

测试正则表达式
如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。由于难于读写,容易出错,所以很有必要创建一种工具来测试正则表达式。

由于在不同的环境下正则表达式的一些细节是不相同的,本教程介绍的是Microsoft .Net 2.0下正则表达式的行为,所以,我向你介绍一个.Net下的工具Regex Tester。首先你确保已经安装了.Net Framework 2.0,然后下载Regex Tester,下载完后打开压缩包,运行setup.exe安装。

下面是Regex Tester运行时的截图

元字符
现在你已经知道几个很有用的元字符了,如\b,.,*,还有\d.当然还有更多的元字符,比如\s匹配任意的空白符,包括空格,制表符(Tab),换行符,中文全角空格等。\w匹配字母或数字或下划线或汉字。

下面来试试更多的例子:

\ba\w*\b匹配以字母a开头的单词——先是某个单词开始处(\b),然后是字母a,然后是任意数量的字母或数字(\w*),最后是单词结束处(\b)(好吧,现在我们说说这里的单词是什么意思吧:就是几个连续的\w。不错,这与学习英文时要背的成千上万个同名的东西的确关系不大)。

\d+匹配1个或更多连续的数字。这里的+是和*类似的元字符,不同的是*匹配重复任意次(可能是0次),而+则匹配重复1次或更多次。

\b\w{6}\b 匹配刚好6个字母/数字的单词。

表1.常用的元字符 代码 说明
. 匹配除换行符以外的任意字符
\w 匹配字母或数字或下划线或汉字
\s 匹配任意的空白符
\d 匹配数字
\b 匹配单词的开始或结束
^ 匹配字符串的开始
$ 匹配字符串的结束

元字符^(和6在同一个键位上的符号)以及$和\b有点类似,都匹配一个位置。^匹配你要用来查找的字符串的开头,$匹配结尾。这两个代码在验证输入的内容时非常有用,比如一个网站如果要求你填写的QQ号必须为5位到12位数字时,可以使用:^\d{5,12}$。

这里的{5,12}和前面介绍过的{2}是类似的,只不过{2}匹配只能不多不少重复2次,{5,12}则是必须重复最少5次,最多12次,否则都不匹配。

因为使用了^和$,所以输入的整个字符串都要用来和\d{5,12}来匹配,也就是说整个输入必须是5到12个数字,因此如果输入的QQ号能匹配这个正则表达式的话,那就符合要求了。

和忽略大小写的选项类似,有些正则表达式处理工具还有一个处理多行的选项。如果选中了这个选项,^和$的意义就变成了匹配行的开始处和结束处。

字符转义
如果你想查找元字符本身的话,比如你查找.,或者*,就出现了问题:你没法指定它们,因为它们会被解释成其它的意思。这时你就必须使用\来取消这些字符的特殊意义。因此,你应该使用\.和\*。当然,要查找\本身,你也得用\\.

例如:www\.unibetter\.com匹配www.unibetter.com,c:\\windows匹配c:\windows,2\^8匹配2^8(通常这是2的8次方的书写方式)。

重复
你已经看过了前面的*,+,{2},{5,12}这几个匹配重复的方式了。下面是正则表达式中所有指定重复的方式:

表2.常用的限定符 代码/语法 说明
* 重复零次或更多次
+ 重复一次或更多次
? 重复零次或一次
{n} 重复n次
{n,} 重复n次或更多次
{n,m} 重复n到m次

下面是一些使用重复的例子:

Windows\d+匹配Windows后面跟1个或更多数字

13\d{9}匹配以13后面跟9个数字(中国的手机号)

^\w+匹配一行的第一个单词(或整个字符串的第一个单词,具体匹配哪个意思得看选项设置)

字符类
要想查找数字,字母或数字,空白是很简单的,因为已经有了对应这些字符集的元字符,但是如果你想匹配没有预定义元字符的字符集比如元音字母(a,e,i,o,u),怎么办?

很简单,你只需要在中括号里列出它们就行了,像[aeiou]就匹配任何一个元音字母,[.?!]匹配标点符号(.或?或!)(英文语句通常只以这三个标点结束)。注意,我们不需要写成[\.\?!]。

我们也可以轻松地指定一个字符范围,像[0-9]代表的含意与\d就是完全一致的:一位数字,同理[a-z0-9A-Z_]也完全等同于\w(如果只考虑英文的话)。

下面是一个更复杂的表达式:\(?0\d{2}[) -]?\d{8}。

这个表达式可以匹配几种格式的电话号码,像(010)88886666,或022-22334455,或02912345678等。我们对它进行一些分析吧:首先是一个转义字符\(,它能出现0次或1次(?),然后是一个0,后面跟着2个数字({2}),然后是)或-或空格中的一个,它出现1 次或不出现(?),最后是8个数字(\d{8})。不幸的是,它也能匹配010)12345678或(022-87654321这样的“不正确”的格式。要解决这个问题,请在本教程的下面查找答案。

反义
有时需要查找不属于某个能简单定义的字符类的字符。比如想查找除了数字以外,其它任意字符都行的情况,这时需要用到反义:

表3.常用的反义代码 代码/语法 说明
\W 匹配任意不是字母,数字,下划线,汉字的字符
\S 匹配任意不是空白符的字符
\D 匹配任意非数字的字符
\B 匹配不是单词开头或结束的位置
[^x] 匹配除了x以外的任意字符
[^aeiou] 匹配除了aeiou这几个字母以外的任意字符

例子:\S+匹配不包含空白符的字符串。

]+>匹配用尖括号括起来的以a开头的字符串。

替换
好了,现在终于到了解决3位或4位区号问题的时间了。正则表达式里的替换指的是有几种规则,如果满足其中任意一种规则都应该当成匹配,具体方法是用|把不同的规则分隔开。听不明白?没关系,看例子:

0\d{2}-\d{8}|0\d{3}-\d{7}这个表达式能匹配两种以连字号分隔的电话号码:一种是三位区号,8位本地号(如010-12345678),一种是4位区号,7位本地号(0376-2233445)。

\(0\d{2}\)[- ]?\d{8}|0\d{2}[- ]?\d{8}这个表达式匹配3位区号的电话号码,其中区号可以用小括号括起来,也可以不用,区号与本地号间可以用连字号或空格间隔,也可以没有间隔。你可以试试用替换|把这个表达式扩展成也支持4位区号的。

\d{5}-\d{4}|\d{5}这个表达式用于匹配美国的邮政编码。美国邮编的规则是5位数字,或者用连字号间隔的9位数字。之所以要给出这个例子是因为它能说明一个问题:使用替换时,顺序是很重要的。如果你把它改成\d{5}|\d{5}-\d{4}的话,那么就只会匹配5位的邮编(以及9位邮编的前5位)。原因是匹配替换时,将会从左到右地测试每个分枝条件,如果满足了某个分枝的话,就不会去管其它的替换条件了。

Windows98|Windows2000|WindosXP这个例子是为了告诉你替换不仅仅能用于两种规则,也能用于更多种规则。

分组
我们已经提到了怎么重复单个字符(直接在字符后面加上限定符就行了);但如果想要重复一个字符串又该怎么办?你可以用小括号来指定子表达式(也叫做分组),然后你就可以指定这个子表达式的重复次数了,你也可以对子表达式进行其它一些操作(后面会有介绍)。

(\d{1,3}\.){3}\d{1,3}是一个简单的IP地址匹配表达式。要理解这个表达式,请按下列顺序分析它:\d{1,3}匹配1 到3位的数字,(\d{1,3}\.}{3}匹配三位数字加上一个英文句号(这个整体也就是这个分组)重复3次,最后再加上一个一到三位的数字 (\d{1,3})。

不幸的是,它也将匹配256.300.888.999这种不可能存在的IP地址(IP地址中每个数字都不能大于255)。如果能使用算术比较的话,或许能简单地解决这个问题,但是正则表达式中并不提供关于数学的任何功能,所以只能使用冗长的分组,选择,字符类来描述一个正确的IP地址: ((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)。

理解这个表达式的关键是理解2[0-4]\d|25[0-5]|[01]?\d\d?,这里我就不细说了,你自己应该能分析得出来它的意义。

后向引用
使用小括号指定一个子表达式后,匹配这个子表达式的文本可以在表达式或其它程序中作进一步的处理。默认情况下,每个分组会自动拥有一个组号,规则是:从左向右,以分组的左括号为标志,第一个出现的分组的组号为1,第二个为2,以此类推。

后向引用用于重复搜索前面某个分组匹配的文本。例如,\1代表分组1匹配的文本。难以理解?请看示例:

\b(\w+)\b\s+\1\b可以用来匹配重复的单词,像go go, kitty kitty。首先是一个单词,也就是单词开始处和结束处之间的多于一个的字母或数字(\b(\w+)\b),然后是1个或几个空白符(\s+,最后是前面匹配的那个单词(\1)。

你也可以自己指定子表达式的组号或组名。要指定一个子表达式的组名,请使用这样的语法:(?\w+),这样就把 \w+的组名指定为Word了。要反向引用这个分组捕获的内容,你可以使用\k,所以上一个例子也可以写成这样: \b(?\w+)\b\s*\k\b。

使用小括号的时候,还有很多特定用途的语法。下面列出了最常用的一些:

表4.分组语法 捕获
(exp) 匹配exp,并捕获文本到自动命名的组里
(?exp) 匹配exp,并捕获文本到名称为name的组里,也可以写成(?’name’exp)
(?:exp) 匹配exp,不捕获匹配的文本
位置指定
(?=exp) 匹配exp前面的位置
(?<=exp) 匹配exp后面的位置
(?!exp) 匹配后面跟的不是exp的位置
(? 注释
(?#comment) 这种类型的组不对正则表达式的处理产生任何影响,只是为了提供让人阅读注释

我们已经讨论了前两种语法。第三个(?:exp)不会改变正则表达式的处理方式,只是这样的组匹配的内容不会像前两种那样被捕获到某个组里面。

位置指定
接下来的四个用于查找在某些内容(但并不包括这些内容)之前或之后的东西,也就是说它们用于指定一个位置,就像\b,^,$那样,因此它们也被称为零宽断言。最好还是拿例子来说明吧:

(?=exp)也叫零宽先行断言,它匹配文本中的某些位置,这些位置的后面能匹配给定的后缀exp。比如\b\w+(?=ing\b),匹配以ing结尾的单词的前面部分(除了ing以外的部分),如果在查找I'm singing while you're dancing.时,它会匹配sing和danc。

(?<=exp)也叫零宽后行断言,它匹配文本中的某些位置,这些位置的前面能给定的前缀匹配exp。比如(?<=\bre) \w+\b会匹配以re开头的单词的后半部分(除了re以外的部分),例如在查找reading a book时,它匹配ading。

假如你想要给一个很长的数字中每三位间加一个逗号(当然是从右边加起了),你可以这样查找需要在前面和里面添加逗号的部分:((?<=\d)\d{3})*\b。请仔细分析这个表达式,它可能不像你第一眼看出来的那么简单。

下面这个例子同时使用了前缀和后缀:(?<=\s)\d+(?=\s)匹配以空白符间隔的数字(再次强调,不包括这些空白符)。

负向位置指定
前面我们提到过怎么查找不是某个字符或不在某个字符类里的字符的方法(反义)。但是如果我们只是想要确保某个字符没有出现,但并不想去匹配它时怎么办?例如,如果我们想查找这样的单词--它里面出现了字母q,但是q后面跟的不是字母u,我们可以尝试这样:

\b\w*q[^u]\w*\b匹配包含后面不是字母u的字母q的单词。但是如果多做测试(或者你思维足够敏锐,直接就观察出来了),你会发现,如果q出现在单词的结尾的话,像Iraq,Benq,这个表达式就会出错。这是因为[^u]总是匹配一个字符,所以如果q是单词的最后一个字符的话,后面的[^u]将会匹配q后面的单词分隔符(可能是空格,或者是句号或其它的什么),后面的\w+\b将会匹配下一个单词,于是\b\w*q[^u] \w*\b就能匹配整个Iraq fighting。负向位置指定能解决这样的问题,因为它只匹配一个位置,并不消费任何字符。现在,我们可以这样来解决这个问题:\b\w*q(?!u) \w*\b。

零宽负向先行断言(?!exp),只会匹配后缀exp不存在的位置。\d{3}(?!\d)匹配三位数字,而且这三位数字的后面不能是数字。

同理,我们可以用(?

一个更复杂的例子:(?<=<(\w+)>).*(?=<\/\1>)匹配不包含属性的简单HTML标签内里的内容。()指定了这样的前缀:被尖括号括起来的单词(比如可能是),然后是.*(任意的字符串),最后是一个后缀(?=<\/\1>)。注意后缀里的\/,它用到了前面提过的字符转义;\1则是一个反向引用,引用的正是捕获的第一组,前面的 (\w+)匹配的内容,这样如果前缀实际上是的话,后缀就是了。整个表达式匹配的是和< /b>之间的内容(再次提醒,不包括前缀和后缀本身)。
转自:http://www.blue1000.com/bkhtml/2007-10/54467.htm

Air执行本地exe

这里是一个adobe论坛上air执行cmd的例子。
原连接:http://forums.adobe.com/thread/727337?tstart=1

protected var npsi:NativeProcessStartupInfo;
protected var nativeProcess:NativeProcess;
protected var file:File = new File("c:\\windows\\system32\\cmd.exe");
protected var args:Vector.<String> = new Vector.<String>;

protected function init():void
{

args.push(‘ping’)
args.push(‘www.adobe.com’)

npsi = new NativeProcessStartupInfo();
npsi.arguments = args;
npsi.executable = file;

nativeProcess = new NativeProcess();
nativeProcess.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA,onStandardOutputData);
nativeProcess.addEventListener(ProgressEvent.STANDARD_ERROR_DATA, onError);
nativeProcess.start(npsi);
nativeProcess.standardInput.writeUTFBytes(args + “\n”);
}

private function onError(event:ProgressEvent):void {

var process:NativeProcess = event.target as NativeProcess;
var data:String = process.standardError.readUTFBytes(process.standardError.bytesAvailable);
lbl.text += data;

}

private function onStandardOutputData(event:ProgressEvent):void
{
var process:NativeProcess = event.target as NativeProcess;
var data:String = process.standardOutput.readUTFBytes(process.standardOutput.bytesAvailable);
lbl.text += data
}

这里也有个blog上写的方法 原理一样。

http://technodesk.wordpress.com/2010/04/15/air-2-0-native-process-batch-file/


public function launchBatchFile():void{
var file:File = File.applicationDirectory;
file = file.resolvePath("C:\\Windows\\System32\\cmd.exe");
var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
NativeProcessStartupInfo.executable = file;
nativeProcessStartupInfo.workingDirectory = File.applicationDirectory.resolvePath();
var args:Vector = new Vector();
args.push();
args.push(); // Repeat this to pass all the arguments
nativeProcessStartupInfo.arguments = args;
var process:NativeProcess = new NativeProcess();
process.start(nativeProcessStartupInfo);
process.addEventListener(NativeProcessExitEvent.EXIT, exitHandler);
}

protected function exitHandler(event:NativeProcessExitEvent):void{
Alert.show("Execution Complete");
}

相关讨论的主题有:

http://hi.baidu.com/sl19880127sl/blog/item/1405ca13b12a04ddf6039e61.html

http://www.riameeting.com/node/487

http://efreedom.com/Question/1-2763139/Flex3-Air-NativeProcess-Accepts-Standard-Input-Data-Error-2044-3218

http://hi.baidu.com/sl19880127sl/blog/item/d6894c3375fe8ef51b4cffd6.html

用程序生成swf(flash)文件: ming 和 swftools

用程序生成swf(flash)文件: ming 和 swftools
ming(http://ming.sourceforge.net/)和swftools(http://www.swftools.org /)都是开源的项目,都是用c编写的.都可以用来生成swf文件,包括在swf文件内增加图片,声音,视频等素材,也可以在文件内增加代码,使用滤镜.
区别是:
ming:使用起来更方便,资料更多(我所看到的),as支持更好,就是更新太慢.
swftools:工具更齐全(有十多种工具,见下文).但是资料不多.

ming(可以使用php,perl,python生成swf文件,php5安装的时候自带,php5帮助里面用完整的函数说明):
sf: http://ming.sourceforge.net/
更新信息:

http://www.libming.net/moin.cgi/%e6%9c%80%e6%96%b0%e6%94%b9%e5%8a%a8

最近版0.4beta4:

http://sourceforge.net/project/showfiles.php?group_id=18365&package_id=187304

最新版本信息:

http://www.libming.net/moin.cgi/Releases

使用ming开发的站点列表:

http://www.libming.net/moin.cgi/Websites_using_Ming

大量的ming的php实例和源码(看了这些代码你就知道生成一个swf是多么简单,但是你最好明白每句代码的含义):

http://www.gazbming.com/

swftools:
最近版本0.8.1:http://www.swftools.org/download.html
文档(内容太少了):http://www.swftools.org/documentation.html
工具和介绍:
* PDF2SWF A PDF to SWF Converter. Generates one frame per page. Enables you to have fully formatted text, including tables, formulas etc. inside your Flash Movie. It’s based on the xpdf PDF parser from Derek B. Noonburg.
* SWFCombine A tool for inserting SWFs into Wrapper SWFs. (Templates) E.g. for including the pdf2swf SWFs in some sort of Browsing-SWF.
* SWFStrings Scans SWFs for text data.
* SWFDump Prints out various informations about SWFs.
* JPEG2SWF Takes one or more JPEG pictures and generates a SWF slideshow.
* PNG2SWF Like JPEG2SWF, only for PNGs.
* GIF2SWF Converts GIFs to SWF. Also able to handle animated gifs.
* WAV2SWF Converts WAV audio files to SWFs, using the L.A.M.E. MP3 encoder library.
* AVI2SWF Converts AVI animation files to SWF. It supports Flash MX H.263 compression. Some examples can be found at examples.html.
* Font2SWF Converts font files (TTF, Type1) to SWF.
* SWFBBox Allows to readjust SWF bounding boxes.
* SWFC A tool for creating SWF files from simple script files.
* SWFExtract Allows to extract Movieclips, Sounds, Images etc. from SWF files.
* RFXSWF Library A fully featured library which can be used for standalone SWF generation. Includes support for Bitmaps, Buttons, Shapes, Text, Fonts, Sound etc. It also has support for ActionScript using the Ming ActionCompiler.

在PHP/JSP中用MTASC编译AS在线生成SWF的方法与介绍

这个方法说老实话我不喜欢,因为要用SHELL.
MTASC是一种用将.as源文件编译成.swf文件的命令行编译器.
在PHP允许SHELL的情况下可以调用。

http://hossy.net/sssc/

这就是作者的地址。
其实没什么难度,因为工作都是MTASC完成的。不能让PHP独立完成。
除了PHP搭建MTASC外壳还有用JAVA搭建MTASC外壳的

http://www.scotthyndman.ca/?p=73

现在有没有不用MTASC做??

网上搜集的一些FLEX面试题

1. 使用Flex Bulider3 建立一下新的.mxml 的页面时默认的背景是蓝色的, 请问用什么办法能修改掉此背景颜色, 以至于下次创建时背景不是为默认的蓝色的呢? 请写出你认为正确的方法。

答:修改sdk\frameworks\projects\framework\default.css 里Application 的backgroundColor: #0000FF;

2. 使用Flex Bulider3 如何跟踪程序?

答:我知道的三种1.trace() 2. 设置断点 3. 当不在调试模式时可以调用as 的Alert.show() 或js 的alert() 如:navigateToURL(new URLRequest(“javascript:alert(traceMsg)”), “_self”);

3. 请问enterFrame 和timerEvent 这2 个事件有什么区别? 请说下具体的使用方法和相关的使用场合?

答:enterFrame 是按帧发生,timeEvent 是根据设置的Timer 类参数发生。如:

用ENTER_FRAME 控制小球圆周运动:

addEventListener(Event.ENTER_FRAME,ballMove);

用TIMER 控制小球圆周运动:

var myTimer:Timer=new Timer(83.3,0);// 关于该数的设置见TIMER 类的说明

myTimer.start();

myTimer.addEventListener(TimerEvent.TIMER,ballMove);

4. 请说下你理解AS3 的事件机制是什么机制? 你认为正确的就可以说出来.

答:建立一个完整的事件机制需要四个步骤:注册侦听、分发事件、侦听事件、移除侦听。建立成功后,触发事件,事件流会进行捕获、目标和冒泡三个阶段。捕获阶段由FP 沿显示列表从根容器往下层层寻找触发事件的目标对象,找到后即进入目标阶段。然后,事件对象从目标对象再次沿显示列表往上移动至根容器,遇到注册侦听的节点就调用侦听函数。如果想中途中断冒泡,可以使用stopPropagation 。

5. 请问addEventListener 里面有几个参数, 你能说出具体的使用方法嘛?

答:addEventListener(

type:String, 事件的类型

listener:Function, 监听函数

useCapture:Boolean = false, 是否打开捕获功能

priority:int = 0, 监听器优先级别

useWeakReference:Boolean = false 是否使用弱引用

)

6. 请问我想判断一个字体是否是数字, 用什么办法去判断呢?

答:isNaN(parseInt(strPara) 或 strPara is Number

7. 请问我想判断一个字符或者一个对象的类型怎么判断呢?

答:typeof(obj)

8. 请问你了解 internal 控制符么? 能说下具体使用方法和场合嘛?

答:internal 是默认的包内访问,体现了封装思想和package 模块化思想。举例来说,A 类需要使用B 类和C 类的方法和属性,但又不希望它们对其他类暴露,只要将A,B,C 放入同一包内,包外的其他类就无法使用B ,C 类了。

9. 我想在某一点不去执行任何内容, 也就是说我想停止执行了, 你知道要怎么做嘛?

答:设置断点

10. 请问 undefined 和 null 是否一样, 如果不一样能否说出其中的区别呢?

答:undefined 是尚未初始化的无类型变量或未初始化的动态对象属性的特殊值。null 是一个可以分配给变量的或由未提供数据的函数返回的特殊值。它们的相同之处在于都未初始化,不同在于undefined 是无类型或动态类型的。如:

var v1;trace(v1);//undefined

var v2:*;trace(v2);//undefined

var v3:Object;trace(v3);//null

11. 创建常量知道怎么创建嘛? 说下你是怎么创建的.

答:const PI:Number = 3.1415926; public static const STARTUP:String = “startup”;

12. 请问用什么方法自定义一个事件呢? 说下具体的方式.

答:(1) 扩展Event 类或其子类

(2) 定义一个static const 常量作为事件的type 传入构造函数

(3) 定义一个私有变量作为事件的Data 保存数据,并为其添加getter 和setter

(4) 覆盖toString() 和clone() 方法

13. 请问怎么样检测本机的内容呢, 比如说, 我想知道本机的操作系统, 是否有视频等这些.

答:flash.system.Capabilities.os 当前的操作系统

flash.system.Capabilities.hasStreamingVideo 系统是否可以播放视频流

14. 请问用什么办法解决安全域的问题? 如果你不知道安全域的问题的话, 可以在本机中绑定一下图片, 然后再放到服务器上, 就会出现此问题了.

答:配置安全沙箱的策略文件crossdomain.xml 放置到服务器根目录,如:

15. 有三种基本数字类型:number, int, 和uint 请问有什么区别. 具体说一下.

答:number 数字类型包含浮点型( 正0 负); int 整型( 正0 负); uint( 无符号整型)

16.parseInt 此方法转化为int 型的方法, 请问你知道此方法的第二个参数是什么意思嘛?

答:指定第一个参数字符串的进制,范围为2-36 。例如parseInt(“100”,2)=4

17.Math.round( ) , Math.floor( ) 和Math.ceil( ) 三个方法都是四舍五入, 请问有什么区别?

答:round 是取最接近的整数,即原数+0.5 后取整;floor 向下取整;ceil 向上取整

18. 请问一个数组里可以放不同的类型嘛?

答:可以,如var x:Array = ['a',1,new Button()];

19.var letters:Array = ["a", "b", "c"]; 我想在这个数组里搜索‘c ’字符, 请问怎么办?

答:for(var i:* in letters)

if(letters[i] == ‘c’) trace(“c’s position is ” + i); 或

if(letters.toString().indexOf(‘c’) > 0)

trace( “c’s position is ” + letters.toString().indexOf(‘c’) );

20. 怎么样转换数组为字符串, 怎么样将字符串转化为数组?

答:数组-> 字符串:trace(new Array(‘a’,'b’,'c’).join(“”).toString());

字符串-> 数组: var arr:Array = new String(“a,b,c”).split(‘,’);

21. 我想创建的视图居中怎么办?

答:布局策略里面限定为居中,即horizontalAlign=”center” verticalAlign=”middle”; 或者在每个控件都以舞台的中心作为相对坐标来计算各自的xy 值。

22. 请问知道层级的概念嘛? 如果知道请问怎么样交换2 个组件的层级呢?

答:层级表示的是显示对象在显示列表中的位置,从第0 层开始,位于最下面。

交换组件层级可以使用id 交换,也可以直接交换层级索引。如:

my_sprite.swapChildren(my_ball2, my_ball1);

my_sprite.swapChildrenAt(2, 1);

23. 请问你知道loader,URLLoader,URLStream 这个三种动态加载资源的具体使用场合, 以及有什么区别嘛?

答:(1)Loader 像2.0 中MovieClip 的loadMovie 功能,用于加载外部的图片和SWF 文件。使用 load() 方法来启动加载。被加载的显示对象将作为 Loader 对象的子级添加。在使用Loader 加载数据,添加侦听事件时,一定要给Loader 的contentLoaderInfo 属性增加事件,而不是给Loader 对象增加事件。

(2)URLLoader 类以文本、二进制数据或URL 编码变量值对的形式先从URL 下载数据,然后才将数据用于ActionScript 。它会发出有关下载进度的通知,通过bytesLoaded 和bytesTotal 属性以及已调度的事件,可以监视下载进度。

(3)URLStream 类提供对下载URL 的低级访问。数据一下载,便可随即为应用程序使用,这和使用URLLoader 需要等到整个文件下载完不同。并且URLStream 类还允许在完成下载前关闭流。已下载文件的内容将作为原始二进制数据提供。

(4)URLStream 、URLLoader 、Loader 等读取外部数据的类,类里的load 方法参数值是URLRequest 对象。如:

var request:URLRequest=new URLRequest(“httpURL 地址”);

loader.load(request);

24. 如何把MouseEvent 的localX 和localY 属性转化成全局坐标?

答:全局坐标系:stageX,stageY 。原点位于舞台左上角。

本地坐标系:localX,localY 。原点位于相对组件的左上角。

内容坐标系:contentMouseX 和contentMouseY 。描述鼠标相对于整个容器内容的位置,用于当子组件的高或宽可能超出容器自身设置高宽的情况。

转换方法:

contentToGlobal 内容到全局坐标

contentToLocal 内容到本地坐标

globalToContent 全局到内容坐标

globalToLocal 全局到本地坐标

localToContent 本地到内容坐标

localToGlobal 本地到全局坐标

25. 请问我现在有一个正方形的图片, 我想把他做成圆形, 有什么办法呢? 前提是用flex 或者as3

答:不清楚,是不是用BitMapData 的draw 方法实现呢?会的朋友请告诉我。

26. 请问新创建的一个sprite 能否被直接加到ui 容器里? 如果不能请说出用什么办法能加入.

答:不能。先将sprite 加入一个扩展自UIComponent 的类,再加入UI 容器。

27. 我怎么设置把一个文本框, 设置成一个密码框?

答:将displayAsPassword 属性设置为true

28. 我想在文本框里只能输入abcd, 有什么办法能做到呢? 如果我想输入除abcd 以外的其它都能输入又怎么做呢?

答:restrict=”a-d” 。restrict=”^(a-d)”

29. 请问condenseWhite 这个属性在TextInput 里是表示什么意思?

答:仅会应用于通过htmlText 属性设置的文本,默认为false 。当设置为true 时,会删除文本中额外的换行和空白。

30. 我现在刚创建的文件的text 为 this is a text, 我想设置光标在 is 上, 请问怎么设置?

答:触发事件,在侦听函数上让selectionBeginIndex=5,selectionEndIndex=6

31. 请问怎么样在文本框里添加超链接?

答:(1) 使用文本框的htmlText 属性添加必须以”event:” 开头的超链接,如 这儿

(2) 添加对TextEvent.LINK 事件类型的侦听,如addEventListener(TextEvent.LINK,clickLink);

(3)”event:” 后面的字符串将被包含在侦听事件的text 属性里,如

private function clickLink(event:TextEvent):void

{

var cmdArray:Array = event.text.split(“|”);

if(cmdArray[0]==”geturl”)

navigateToURL(new URLRequest(cmdArray[1],cmdArray[2]);

}

32. 我想获取系统里的字体, 请问怎么办?

答:import flash.text.Font;

var allFonts:Array = Font.enumerateFonts(true);

allFonts.sortOn(“fontName”, Array.CASEINSENSITIVE);

var fontsLength:int=allFonts.length;

for(var i:int=0;i

trace(" 字体名称:"+allFonts[i].fontName+" 字体样式:"+allFonts[i].fontStyle+" 字体类型:"+allFonts[i].fontType)

33.substring( ) ,substr( ), slice(), 请说下3 种解析字符串的不同之处, 以及适用场合?

答:substring(v1,v2): 截取从v1 到v2 的字符串,包括v1, 不包括v2

substr(v1,v2): 从v1 开始,截取v2 长度

slice(v1,v2): 类似于substring ,不过可以接受负值参数,表示倒数第几位

34. var fruits:XML =

Apple

Orange

Pear

Watermelon

;

以下有一个字符串, 我现在知道了color 为orange, 我想知道此color 相对应的name 节点的值, 我应该怎么做?

答:原题的XML 不规范。找到name 节点值可以用fruits.fruits(@color==’orange’).name

35. 请说下目前使用flex 和后台交互的几种方法, 以及适用场合.

答:(1) 基于AMF 消息格式的RemoteObject 组件,如Lcds/BlazeDs ,AMFPHP 等。

(2) 基于SOAP 消息格式的WebService ,对于使用SOAP 的服务器方便连接。

(3) 基于纯文本或拥有良好格式的XML 消息格式的HTTPService 组件。

一般来说,选用高效稳定的RemoteObject 中间件。

36. 我现在想在flex 里调用JS 方法, 我要怎么办呢?

答:直接在AS 中使用ExternalInterface.call() 来调用JS 方法。如:

import flash.external.ExternalInterface;

ExternalInterface.call("simpleJSFunction");

ExternalInterface.call("simpleJSFunctionWithParameters","myParameter");

var result:String=ExternalInterface.call("simpleJSFunctionWithReturn");

37. 我想用JavaScript 调用ActionScript 函数, 我要怎么办呢?

答:使用ExternalInterface.addCallback 在JavaScript 里设置对Flex 的回调方法并且在JavaScript 里调用ActionScript 方法。

AS:

ExternalInterface.addCallback("function1",callback1);

privatefunctioncallback1():void

{

Alert.show("callback1executed");

}

JS:

container[swf].function1();

38.FileReference 请说下此对象的几个相关事件

答:browse(typeFilter:Array = null):Boolean 显示一个文件浏览对话框,让用户选择要上载的文件。

cancel():void 取消正在对该 FileReference 对象执行的任何上载或下载操作。

download(request:URLRequest, defaultFileName:String = null):void 打开对话框,以允许用户从远程服务器下载文件.

upload(request:URLRequest, uploadDataFieldName:String = "Filedata", testUpload:Boolean = false):void 开始将用户选择的文件上载到远程服务器。

1.as2 与as3 的最主要区别是什么?

答:首先,as2 和as3 是完全不同的语言,几乎没有兼容性可言。as2 编译用的AVM1 虚拟机,as3 用的AVM2 ,速度快,提供了一些基础异常处理。 as3 是纯的OOP ,强类型语言。as2 不是。具体的差别有太多太多。

2.flex 的开发框架有哪些,它们有什么优缺点?

答:最常见的当然是Cairngorm 、Puremvc 了,此外还有Mate ,Swiz 等等,据说被广泛应用的已经有10 几款了。Cairngorm 作为Adobe 官方出品,有着贵族血统的它比较全面,是这些框架中已知bug 最少的,但是基于他的应用相对臃肿复杂一些,需要对每个可以被触发的事件写一个对应的Command ,编码量巨大,并且单元测试很不容易,不适合敏捷开发。Puremvc 应该是现在用的最多的as 框架了。比较完善、并且与Cairngorm 相比,更适合中小型应用的开发,它与Cairngorm 一样,也是以MVC 模式为中心,并以Façade 作为中央存储器的单件类的形式进行开发的。说下Mate ,它是一个比较奇怪的框架,是基于标签的事件驱动型的。也就是说你不能再随意的写as 类的,在使用Mate 的情况下,只能用MXML 来做这些事情。Swiz 是Mate 的孪生兄弟,长的挺像,没具体用过,不大了解。

3. 在flex 开发中,很多代码都写在mxml 文件里,为了做到mvc 模式,你是怎么处理的。

答:我认为mxml 并不影响mvc 模式啊。分两种情况来讨论,首先,是自己创建整个应用结构的时候,那我们可以手动将UI 所在的mxml 归为一类,然后由Mediator 去操作或者说控制这些组件既可了,然后Mediator 又统一交给Controller 去操作。如果采用其他框架来进行开发的话,那就更不用来考虑这个问题了,像Cairngorm 、Puremvc 之类的框架已经很好的为我们解决了这些问题。只要按照它们的使用规范来进行开发,自然没有问题。

4. 如果发生内存泄露,你是如何解决的?

答:在profile 观察中已经内存泄漏是没有很好的解决办法的,至少我不知道,我能做的只是尽量去避免这种情况的发生,比如说注意不要循环引用,特别是在使用Timer 的时候要格外注意,不要忘记全局对象上的引用的清除,在创建控制器和模型的时候要注意一定要使用单件模式。在addEventListener 时候尽量采用弱引用、自引用、或者子对象引用,以避免内存泄漏。

5.as3.0 垃圾回收器是如何工作的?

答:flash player 8 之前采用的是引用计数法,在flash player 8 之后用的是标记法,简单的说就是:从应用的根节点开始,遍历所有其上的引用,标记每个它所发现的对象。然后迭代遍历每个被标记的对象,标记它们的子对象。这个过程递归进行,直到Player 遍历了应用的整个对象树并标记了它所发现的每个东西。在这个过程进行的时候,可以安全地认为,内存中那些没有被打标记的对象没有任何活动引用,因此可以被安全地释放内存。一般来说,flash player 采用的是一种低频的垃圾回收机制,Flash Player 的垃圾回收发生在Flash Player 需要另外请求内存之前。但并不是每次应用申请内存时都会导致垃圾回收的执行,只有当Flash 占用的内存紧张到一定程度时才会执行真正的垃圾回收,一定程度上取决于客户端计算机的物理内存的大小。

6 flex 和后台语言是如何交互的?

答:见第35 题。

7. 你是如何处理前端速度慢的问题?

答:flex 前端速度慢 其实仔细说应该分2 部分,1. 是flex 生成的swf 由于SDK 庞大的关系,swf 体积也跟着庞大了,这我们可以做的就是用Module 动态加载,还有就是RSL 了。2. 处理速度慢,远程方法速度慢,这是AVM 的硬伤了,基本没有很好的解决方法,我们能做的只是让这个异步进行的更完美一些,让用户在等待的过程中,做其他的事情,以至于让用户忽略这段等待的时间。

8.flash 与flex 是如何协调开发的?

答:这个问题可以这样来理解,如果是确实需要用到FLEX SDK 的应用,那我们就可以建立一个flex 工程,具体需要flash 做UI 的时候,输出成swc 作为flex 的skin ,如果说并不需要flex sdk ,只是为了编码方便而选择flex 的话,那我们只要建立一个as 工程,让flex 作为flash 的编码器。

组件

1. 我不想在容器里显示滚动条怎么办?

答:指定horizontalScrollPolicy 和verticalScrollPolicy 为off

2. 请问Flex bulider3 可以创建几种不同的项目?

答:三种。Flex Project 、 AS Project 和Flex Library Project 。

3. 你了解RSL 嘛? 请说明下RSL 的使用方法, 以及使用RSL 为了解决什么问题?

答:RSL(Runtime shared libraries) 即动态链接库,在程序运行时由FlashPlayer 动态加载。静态链接库是SWC 文件,通过编译器的library-path 和include-libraries 编译进应用程序。采用静态链接的应用程序SWF 会产生比较大的文件以及更长的下载时间。使用RSL 的应用程序载入时间短且文件比较小,而且提高了内存使用效率,只是在开始需要花点时间下载RSL 。RSL 的强大体现在多个应用程序共享公共代码时,因为RSL 只需要被下载一次,多个应用程序动态链接到相同的RSL ,访问其中已经缓存在客户端的资源。

使用RSL :

(1). 在项目文件夹中点右建, 选择"properties"-"Flex Build Path"-"Library Path"

(2). 该选项卡上我们看到"FrameWork linkage", 默认是"Merged into cdoe"(FLEX4 默认是RSL)

(3). 点开下拉, 选择"runtime shared library(RSL)"

(4). 针对自定义的SWC ,修改其link type 为RSL ,选择None, 同时勾上Automatically extract swf to deployment path( 自动将SWF 提取到部署路径) 。如果想对不同域的RSL 共享,则选择Digests (摘要),同时指定其Policy file url (策略文件)。具体可参考FLEX SDK 中的SWC 文件处理方式。

(5). 点击OK

4. 请问SWC 是做什么用的, 怎么样自己制作一个SWC?

答:静态链接库是SWC 文件,通过编译器的library-path 和include-libraries 编译进应用程序。

新建Flex Library Object 或使用compc 命令可以制作SWC 。

5.flex 生成出来的文件都是很大, 请问你用什么办法进行缩小呢?

答:(1)RSL

(2)Module

(3) 外部加载资源

6. 请问trace( NaN == NaN ) 结果为true 还是false, 为什么?

答:NaN 具有独特的数学性质,任何与其相关的比较都会得到false 的计算结果。改用全局 isNaN() 函数检测NaN 值,如下所示:

trace(NaN == NaN); // false!

trace(NaN != NaN); // false again!

trace(isNaN(NaN)); // true

7.warning: unable to bind to property ” on class ‘Object ’ (class is not an IEventDispatcher) 在使用ItemRender 时, 经常会出现这种警告, 请问想去除的话怎么办呢?

答:ArrayCollection 的子元素是无法作为数据源绑定的。可以声明中间变量,在override set data 时将ArrayCollection 的子元素传入,然后再将中间变量作为新的绑定源即可。

8. 现在流行MVC, 但是as 代码有的时候还是大部分写在mxml 里面, 请问我想代码分离怎么办呢?

答:严格按照MVC 框架规范书写代码。如果还是不行,可以考虑重写组件或者从业务逻辑上解耦。没必要用source 引用外部as 文件来达到代码分离,那没有意义。

9. 我想继承UIComponent 重新写一个正方形的组件, 我应该怎么做? 请说重点部分即可.

答:(1) 使用get 、set 初始化组件边长等必要数据,指定能通过MXML 标记设置的属性。

(2) 如果组件内有子元素,覆盖createChildren() 方法,使用addChild 加入这些子元素。

(3) 覆盖commitProperties() 方法,提交边长等组件属性变化。

(4) 覆盖measure() 方法,设置组件缺省size 和缺省最小size 。

(5) 覆盖updateDisplayList() 方法,依据布局确定子元素大小及位置。最后,使用graphics 类的drawRect 方法画出正方形边框。

10. 常用的几个切换数据的组件比如: TabNavigator 等都有属性 creationPolicy 你知道这种策略的使用方式是什么嘛? 以及优, 缺点呢?

答:延迟实例化。优点是可以更快地加载组件,缺点是首次访问其他组件时,由于需要重新加载此组件,可能会有一定的延迟。

11. 我想在application 里获取当前运行的URL, 我要怎么获取.

答:Application.application.url

12. 请说下事件里的currentTarget 和 target 的区别?

答:在事件流的过程中,目标阶段确定的目标对象由Event 中的target 属性来记录,冒泡阶段移动的游标则由currentTarget 来记录。事件对象冒泡过程中每往上移动一级,就会克隆出一个仅与前副本currentTarget 不同的新副本。

13. 请列举下你常用的几种effects, 并说明使用原因.

答:SoundEffect ,为了播放MP3

TweenLite 很多特效

14.HBox,VBox 和canvas 有什么区别呢? 试说出其中几点

答:canvas 只有绝对布局,没有布局管理器。

HBox,VBox 则相反,没有绝对布局,只有相对布局。

15. 请问我想在list 里选中多行信息, 我要怎么做呢?

答:设置allowMultipleSelection 为true

16.Alert 里面有几个属性, 我想设置图片怎么办呢?

答:使用iconClass 属性指定图片

17. 请问你是否设置过样式呢, 我想动态设置样式怎么办呢? 如果我想在as 代码里设置样式我又要怎么办呢?

答:使用setStyle ()

18. 你能说一下UIComponent 的生命周期嘛? 以及相关的使用场合呢?

答:(1) 调用组件构造函数

(2) 设置组件属性

(3) 调用addChild() 将组件添加到父组件显示列表

(4) 组件的parent 属性设置为对父容器的引用

(5) 设置样式

(6) 组件分发preinitialize 事件

(7) 调用组件createChildren()

(8) 调用 invalidateProperties() ,invalidateSize() ,invalidateDisplayList() 失效方法,FLEX 将在下一个“渲染事件”(render event) 期间对相应的commitProperties() ,measure() , updateDisplayList() 方法进行调用。这个规则唯一例外就是当用户设置组件的height 和width 属性时, Flex 不会调用measure() 方法。也就是说,只有当组件的explicitWidth 和explicitHeight 属性是NaN 时Flex 才会调用measure() 方法。

(9) 组件分发initialize 事件。此时组件所有的子组件初始化完成,但组件尚未更改size 和布局,可以利用这个事件在组件布局之前执行一些附加的处理

(10) 在父容器上分发childAdd 事件

(11) 在父容器上分发initialize 事件

(12) 在下一个“渲染事件”(render event) 中, Flex 执行以下动作:

a. 调用组件的commitProperties() 方法

b. 调用组件的measure() 方法

c. 调用组件的layoutChrome() 方法

d. 调用组件的updateDisplayList() 方法

e. 在组件上分发updateComplete 事件

(13) 如果commitProperties() , measure() ,updateDisplayList() 方法调用了invalidateProperties() ,invalidateSize() ,invalidateDisplayList() 方法,则Flexh 会分发另外一个render 事件

(14) 在最后的render 事件发生后, Flex 执行以下动作:

a. 设置组件visible 属性使其可视

b. 组件分发creationComplete 事件,组件的大小(size) 和布局被确定,这个事件只在组件创建时分发一次

c. 组件分发updateComplete 事件。无论什么时候,只要组件的布局(layout) ,位置,大小或其它可视的属性发生变化就会分发这事件,然后更新组件来正确地显示。

19. 请问你是否发现过 flex3 里的bug 呢, 请列举一些?

答:flex Module 内存泄露,对象无法释放。

20. 列举出flex 里面的几个绑定数据对象的方式

答:对自已的类或者变量添加绑定功能:

(1) 类前使用[Bindable] 表示所有属性都支持绑定,此类必须实现IEventDispatcher 接口。

(2) 可以给变量声明前或变量getter setter 前使用[Bindable] 。如果getter 和setter 方法同名,那么给其中一个[Bindable] ,相当于给两个都用了[Bindable] 。

使用拥有绑定功能的属性:

(1) 、MXML 的{} 方式,如:{myInput.text}{myVar1+myVar2}{myBtn}

(2) 、MXML 的 方式。和{} 相同,可以多绑一,可以双向绑定。如

(3) 、AS 的mx.binding/utils.BindingUtils 类的bindProperty () 方法或bindSetter () 方法

(4) 、AS 的mx.binding.utils.ChangeWatcher 的watch () 方法

21. 请问我自己定义了一个组件, 我想在组件里的属性里设置几个默认值, 我要怎么设置呢?

答:在定义组件时,初始化组件属性时即可指定默认值。

22.callLater() 方法怎么使用, 为什么要使用这个方法呢?

答:callLater(method:Function, args:Array):void

其中method 是函数名,args 是要传入函数的参数。

callLater 指定的函数在下次刷新屏幕的时候才会执行,这可以确保在对某个对象进行操作时对象已经创建完毕。当然也可以利用这个特点来制作渐进动画。

23. 请问你是否使用过module 这种方法去做项目呢? 他的优, 缺点是什么呢? 使用组件的方式加载的话, 他的优, 缺点是什么呢?

答:优点是合理分割了主Application ,模块化开发。更小的SWF 文件体积,配合RSL 和延迟加载策略,大大减少用户等待时间。缺点就是容易引起内存泄露。

24. 目前网页里都有导航, 请问在Flex 要做导航要注意一些什么呢? 以及怎么样做呢?

答:注意默认的延迟实例化可能会导致某些对象为空。

25. 我想在一个错误的图片链接里, 定义一下默认的图片怎么做呢?

答:控制Image 的source 属性,当图片链接出现错误时,指定默认链接。

26. 请试写一个自定义的验证组件

答:

package myCompenent

{

import mx.validators.Validator;// 引用Validator 类

import mx.validators.ValidationResult;// 引用ValidationResult 类

public class myValidators extends Validator

{

public function myValidators()// 构造函数

{

super();

}

private var results:Array;// 定义一个数组,用以存储错误

// 重写验证函数

override protected function doValidation(value:Object):Array

{

var s:String = value as String;

results = [];// 清空数组

results = super.doValidation(value);// 先用继承类中的doValida tion 方法验证

if (results.length > 0)// 如果验证时有错,返回错误信息

return results;

if(s.length>6)// 自定义验证,字符长度不超过6

{

// 记录出错信息

results.push(new ValidationResult(true,”text”,”StringTooLong”, ” 字符长度超过6 了”));

}

return results;

}

}

}

27. 请说明下trigger triggerEvent 在验证组件里是什么意思, 具体怎么使用呢?

答:指定触发验证的组件和触发事件,默认是source 指定的组件和valueCommit 事件。

具体来说,多个validator 的source 对应多个组件,但它们的trigger 都指向一个提交按钮,triggerEvent 都是click 。这样,只会在点击提交按钮时,才触发所有验证。

28.ExternalInterface, LocalConnection 2 者有什么区别?

答:ExternalInterface 是Flex 和Javascript 通迅使用;

LocalConnection 可以让运行于同一台计算机的本地应用程序进行交互,使用AMF3 格式通信,兼容以前版本。

29. 你是否使用过flex 的测试工具呢? 请说明下具体是哪种, 以及使用方式, 你为什么使用这种工具?

答:没有,只听过FlexUnit ,FlexMonkey 。

30. 我能把CSS 编译成swf 嘛?

答:可以,在CSS 文件上右键选择Compile CSS to SWF 。

31. 请用as3 列举下你用过的模式

答:工厂模式,单例模式

32.Embed 绑定图片有什么缺点?

答:直接编译到swf 文件中,造成其体积过大。而且由于嵌入代码中,维护不便。

33.TitleWindow 的组件是可以拖动的, 我不想让他拖动我要怎么办呢?

答:让isPopUp 属性=false ,同时设置弹出窗口为模态窗口,禁止与其他窗口交互。

34. 你是否使用过profile, 你觉得这个工具怎么样, 优, 缺点是什么呢?

答:可以很方便地观察对象的创建和销毁,帮助检查内存泄露问题。

35. 你是否做过flex 前端的性能优化, 你觉得怎么做是比较完美的?

答:(1) 、避免容器的多级嵌套,减少相对尺寸、相对定位的使用。

(2) 、尽量使用轻量级的容器

(3) 、避免使用大体积的组件,比如DataGrid 、AdvancedDataGrid

(4) 、处理数据时多用分页的方式

(5) 、少使用setStyle

(6) 、使用延迟实例化加载子组件

36. 你是否了解E4X, 请说明一下优, 缺点?

答:E4X 是在ECMA-357 标准中定义的,并成为AS3 的一部分。优点是提供更简明和可读性强的语法从XML 中查找和提取数据。

37. 请列举一下你知道的影响性能的几个因素?

答:同上面第35 题。

38. 请说明一下ShareObject 的使用方法? 以及优, 缺点?

答:getLocal() 用来指定存储在客户端的路径。

data 属性用来指定要存储的数据内容。

flush 方法负责把数据内容写入。

clear 方法用于清除储存的信息。

39. 请列举一下, 你认为不错的网站或者blog.

答:insideRIA ,AS 天地会,AIRIA ,javeeye ,N 神,杜增强,牛牛猪研究所,黑羽

40. 我现在给你100 万做一个flex 项目, 你认为成功的要素在哪呢?

答:(1) 数据和需求等传统软件项目的成功要素

(2) 模块化开发,MVC 框架

(3)swf 文件减肥,运行效率,内存泄露问题,前台优化

(4) 开源组件的使用

转自:http://blog.csdn.net/bibishou/archive/2010/10/11/5933150.aspx