星期二, 9月 23, 2008

Delphi Distiller V1.51


Homepage:http://alvarogp.googlepages.com/

Download


1. WHAT IS DELPHI DISTILLER
Delphi Distiller is a customization tool for Delphi 5/6/7/2006/2007/2009 that
lets you manage packages and experts and apply several tweaks.


2. FEATURES
Choose what packages and experts are loaded by Delphi 5/6/7/2006/2007/2009.

File associations manager for Delphi 5/6/7/2006/2007/2009.

Delphi 5 tweaks:
- Don't create .~bpl files.
- Don't create .cfg files.
- Use Tahoma font by default.
- Don't show splash screen.
- Customize editor colors.
- Trial to Retail conversion.

Delphi 6 tweaks:
- Don't create .~bpl files.
- Don't create .ddp files.
- Don't create .cfg files.
- Use Tahoma font by default.
- Don't show splash screen.

Delphi 7 tweaks:
- Don't create .~bpl files.
- Don't create .ddp files.
- Don't create .cfg files.
- Use Tahoma font by default.
- Don't show splash screen.

Delphi 2006 tweaks:
- Don't create .~bpl files.
- Don't create .local files.
- Don't create .cfg files.
- Remove toolbar gradients.
- Fix TabStop bug in TFrame's.
- Don't show splash screen.

Delphi 2007 tweaks:
- Don't create .~bpl files.
- Don't create .local files.
- Don't check for updates when the IDE starts.
- Avoid loading of additional .NET crap by delphicoreide100.bpl.
- Remove toolbar gradients.
- Don't show splash screen.

Delphi 2009 tweaks:
- Don't create .~bpl files.
- Don't create .local files.
- Don't check for updates when the IDE starts.
- Avoid loading of additional .NET crap by delphicoreide120.bpl.
- Don't show splash screen.



Hot key Ctrl + ALt + L 鍵 會有意想不到的收獲

Adding Commands to the Ribbon

This topic follows in sequence the creation of a ribbon application using either the Ribbon Application Wizard or the manual steps described in Creating an Application that Uses Ribbon Controls

This topic assumes that you are familiar with the TActionManager component and the components associated with its use. Numerous new properties have been added to help support the ribbon requirements. Many existing properties have no effect when modified on a command that is displayed on the ribbon. 

For instance:

  • Small buttons always display their glyph to the left of the caption.
  • Large buttons always display their glyph at the top.
  • A Large button must have a caption. The caption can be a maximum of two lines, and the button width is resized accordingly. A large button's height is fixed to cover the height of the group where the command is displayed.
  • Only small buttons with no caption can be displayed in groups. 

Creating an Application that Uses Ribbon Controls

Creating an Application that Uses Ribbon Controls

This procedure describes how to create an application that uses ribbon controls. The core ribbon functionality is derived from the TRibbon component. While the ribbon uses other components, none of the core components are registered on the tool palette.  

Components:

  1. TRibbon: Main visual component that provides most functionality.
  2. TRibbonApplicationMenuBar: Component that provides the functionality of the application menu.
  3. TRibbonQuickAccessToolbar: Component that provides the functionality of the Quick Access Toolbar
  4. TRibbonPage: Component that represents the page of the ribbon that is currently visible
  5. TRibbonGroup: Component that all of the pages commands are displayed in. Commands must be placed in a group.
 

To create a new application that uses ribbon controls

  1. Create a new Delphi Win32 VCL application (select New VCL Forms Application — Delphi for Win32).
  2. Drop a TActionManager component onto the form.
  3. Drop a TRibbon component onto the form.
  4. Right-click the TRibbon component and select the Add Application Menu item.
  5. Right-click the TRibbon component again and select the Add Quick Access Toolbar item.
Note: During initial configuring of the ribbon you might see a dialog saying that the current style selected in the TActionManager.Style is not a valid ribbon style. Change the TRibbonManager.Style property to be the Ribbon – Luna. Applicable styles for use with the ribbon have the Ribbon prefix. By default three ribbon styles are implemented. These ribbon styles also work with the default ActionManager toolbar and menu bar controls. The available ribbon Styles are:
  • Luna
  • Obsidian
  • Silver 

TStringBuilder 類別- C++ Builder 2009的新成員

TStringBuilder的出現,意味Codegear有意讓C++ Builder支援.NET了...但一切只是憶測.....



TStringBuilder 類別

include  SysUtils.hpp

Use a TStringBuilder as an editable string.  

The TStringBuilder class is completely compatable with the .Net framework's StringBuilder (MSDN) class. Use a TStringBuilder instance to hold a character array. This array can be modified after creation. Substrings can be appended, searched and replaced, or inserted. The character array can be queried by index or converted to a string for comparison.  

The character array can be referenced directly by using the Chars property. The Length property contains the current length of the character array.  

builder.Length = builder.ToString.Length;  

The Capacity property holds the current allocated storage space for this TStringBuilder instance. Capacity can be increased up to the value of MaxCapacity and down to the current value of Length. Capacity is increased if Length is increased, or the character array is altered by appending to increase it's length.  

The Append method converts a multitude of possible types to a string and appends that to the current character array. AppendFormat allows you to append several objects to the character array, each object with it's own format.  

The Equals method compares a specified object or another TStringBuilder to this instance of TStringBuilder.  

The Append, CopyTo, Insert, Remove and Replace methods access the character array by index or search the character as a string. The ToString method converts the character array to a string to provide string functionality.  

TStringBuilder is an implementation of the .NET StringBuilder (MSDN) class.  

C++ Examples: 

 /*

This example exercises many of the members of the TStringBuilder class.

*/

template

void testAppend(T t)
{
    std::auto_ptr builder(new TStringBuilder());
    builder->Append(t);
    UnicodeString s1 = builder->ToString();
    UnicodeString s2(t);
    assert(s1 == s2);

}

#if defined(_DELPHI_STRING_UNICODE)

const wchar_t* ext_chars =

    L"А Б Ð’ Г Д Є Ж Ð… З И І"
    L"К Л М Н О П Ò€ Ð  Ð¡ Т Ѹ"
    L"Ф Ð¥ Ñ  Ð¦ Ч Ш Щ Ъ Ы Ь Ñ¢"
    L"Ю ІА Ѧ Ѩ Ѫ Ѭ Ñ® Ѱ Ѳ Ñ´ Ѥ";
#else

const char* ext_chars =

    "À Á Â Ã Ä Ã… Æ Ç È É Ê Ë ÃŒ Í ÃŽ Ï"
    "Ð Ñ Ã’ Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß"
    "à  Ã¡ â ã ä Ã¥ æ ç è é ê ë ì í î ï"
    "ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ";
#endif


//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
    {
        // Test starts out as empty
        std::auto_ptr builder(new TStringBuilder());
        assert(builder->ToString() == System::String());
    }
  

   {
        // Append
        short s = 0xffe;
        testAppend(s);
        unsigned short us = 0xfffe;
        testAppend(us);

    }


    {

        const _DCHAR* p = ext_chars;

        std::auto_ptr builder(new TStringBuilder());
        System::String str1(p);

        // Appending of wchar_t

        while (*p) 
        {
            builder->Append(*p++);
        }

        // Length property

        assert(builder->Length == str1.Length());

        // Subscript operator

        for (int i=0; i
        {
            // NOTE: strings are 1-based
            assert((*(builder.get()))[i] == str1[i+1]);
        }


        // ToString()

        System::String str2 = builder->ToString();
        Edit1->Text = str1;
        Edit2->Text = str2;
        assert(str2 == str1);

        // Replace

        builder->Replace(' ', '.');
        UnicodeString str3;
        str3 = builder->ToString();
        Edit3->Text = str3;
        assert(str3 != str2);

        // Replace back

        builder->Replace(L'.', L' ');
        System::String str4 = builder->ToString();
        Edit4->Text = str4;
        assert(str2 == str4);
    }


    {
        System::String str(ext_chars);
        std::auto_ptr builder(new TStringBuilder());
        // Insert at start when empty, at start when not empty and at end

        builder->Insert(0, str);
        builder->Insert(0, str);
        builder->Insert(builder->Length, str);

        // Concatenate string 3 times

        System::String str2;
        str2 += str;
        str2 += str;
        str2 += str;

        str = builder->ToString();
        Edit5->Text = str;
        assert(builder->ToString() == str2);
    }

    MessageDlg("All assertions passed in the TStringBuilder Test test.",
        mtInformation, TMsgDlgButtons() <<>

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)
{
    const _DCHAR* p = ext_chars;
    std::auto_ptr builder(new TStringBuilder());

    // Appending of chars

    while (*p) 
    {
        builder->Append(*p++);
    }

    System::String str1(ext_chars);
    System::String str2 = builder->ToString();
    assert(str1 == str2);

    builder->Replace(_D(" "), _D("."));
    System::String str3;
    str3 = builder->ToString();
    assert(str1 != str3);

    builder->Replace(_D("."), _D(" "));
    System::String str4(builder->ToString());
    assert(str1 == str4);
    MessageDlg("All assertions passed in the TStringBuilder Replace test.",
        mtInformation, TMsgDlgButtons() <<>

}



Codegear C++ Builder 2009 試用版出現了

http://www.codegear.com/products/cppbuilder

C++Builder 2009 V12.0.3170.16989 ISO檔約1.9GB
http://altd.codegear.com/download/Delphi_C++Builder2009/Delphi_C++Builder2009.iso

































1. 全新語言功能Delphi 泛型程式設計完整的支援 RTL 串列和集合資料結構支援。Delphi 匿名方法。採用 UnicodeString 類型作為預設字串類型。C++Builder 是第一個在業界支援即將推出的 C++0x 語言標準,其中包括 move 語意、範圍列舉、明確的轉換運算子、靜態斷言和類型特質、decltype、extern 範本和 Unicode 字元。C++Builder 新增程式庫包括 TR1 和 Boost。Delphi 在 C++Builder 上與類別方法和靜態內容的相容性提升

2. IDE 新增和強化功能共用的組建組態。具名選項的設定可將組建組態儲存並套用至任何專案。Delphi 編譯器選項可將警告視為錯誤處理。Delphi Class Explorer 提供整個專案中類別程式庫的可設定階層式檢視、快速瀏覽宣告和實作,以及輕鬆加入欄位和方法。「資源管理程式」大幅簡化在專案中加入資源的動作。C++Builder 現在提供 LiveSource 雙向 UML 建模。預先編譯的 C++Builder 標頭精靈。

3. 全新 VCL 功能VCL 元件和主題,其中包括 TButtonedEdit、TBalloonHints、TCategoryPanelGroup。TImage 和 TImageList 中支援 PNG 影像格式。「功能區控制項」元件,用於建立 Microsoft Office 風格的功能區介面。強化 TButton、TEdit、TListView、TTreeView、TLabel、主題和 Vista Aero 支援。網頁適用的新版 VCL,用於建立啟用 AJAX 和 Silverlight 的豐富內部網路和網頁應用程式。

4. 擴充的多層資料庫技術新一代 DataSnap。全新的 ServerMethods 可完全掌控中層功能。從伺服器呼叫程序,程式碼仿佛就在用戶端上。持續使用熟悉的 IAppServer 介面,同時擴充應用程式伺服器的強大功能。全新的 DataSnap 架構中無任何 COM 相依性。輕易將現有的伺服器轉移至新架構。

5. 全新的 Unicode、國際化和本地化整個 IDE 完全啟用 Unicode。強化的整合性翻譯環境 (ITE),可檢視和編輯 VCL 表單和資源字串。強化的外部翻譯管理程式 (ETM),可檢視和編輯 IDE 以外的語言資源檔。強化的「資源 DLL 精靈」,可建立 Win32 資源 DLL 進行本地化。強化的「翻譯儲存庫」提供翻譯資料庫,可在專案之間共用。

6. COM 和 ActiveX 的新功能強化的「匯入元件」精靈,可匯入類型程式庫、ActiveX 控制項或 .NET Assembly。強化的「元件」精靈,可建立新元件的單位。TStringBuilder,可更快更輕鬆串連字串 完全重新架構的 COM/ActiveX 支援現在可透通存取 IDL 和程式碼。更新的精靈支援將現有的 VCL 元件包裝為 ActiveX 控制項。

7. 更新的其他元件和軟體InterBase 2009 Developer Edition—最多 20 個使用者和 80 個邏輯本機連線。更新的 TeeChart 8.0 圖表處理元件。更新的 Rave Reports 7.6。更新的 VCL,適用於 Web RAD 網頁應用程式架構。

datasheet:http://www.codegear.com/article/38534/images/38534/CBuilder2009Datasheet.pdf