2011-07-17 31 views
0

我製作了一個基本的文本編輯器,讓用戶通過點擊按鈕將預定義的字符串插入到文檔中。我現在需要做的是讓用戶定義他們自己的按鈕和字符串值。Flex:動態創建按鈕並從txt文件分配值

例如,我有一個在文本中插入「Hello」的按鈕。用戶可能想要創建一個添加「再見」的按鈕。

爲了達到這個目的,我想我會創建一個名爲buttons.txt的.txt文件或其他東西。我會readutfbytee,通過它來創建按鈕。問題是我知道我想做什麼,但不知道從哪裏開始。有人能給我一個開始?

回答

0

對於初學者,您需要決定如何您將要存儲用戶輸入的數據。

flex web應用程序無法將任何文件保存到服務器,因此如果要將其保存到多臺計算機上,則需要一臺服務器來執行數據保存/檢索。

如果您想暫時存儲這些按鈕,並且只有一臺計算機是唯一的,則可以將它們填入SharedObject

當你決定了這個之後,你可以更具體地討論如何去做你想要的東西。

+0

不使用的服務器,它的所有客戶端。 – RapsFan1981

1

請檢查下面的代碼作爲簡單的方法來外部的按鈕設置:

/* 
    buttons.txt content sample:  
    Helo=Hello World&Test=Test Inserted 
    */ 

    protected function loadSettings():void 
    { 
     var varLoader:URLLoader = new URLLoader(); 
     varLoader.dataFormat = URLLoaderDataFormat.VARIABLES; 
     varLoader.addEventListener(Event.COMPLETE, onSettingsLoaded); 
     varLoader.load(new URLRequest("data/buttons.txt")); 
    } 

    protected function onSettingsLoaded(event:Event):void 
    { 
     var varLoader:URLLoader = URLLoader(event.target); 
     var varButtons:URLVariables = varLoader.data; 
     var buttons:Dictionary = new Dictionary(); 
     for(var label:String in varButtons{ 
     buttons[label]=varButtons[label].toString().split(","); 
     } 

     //use parsed buttons dictionary 
    } 
+0

謝謝okulin,這是完美的:) – RapsFan1981

+0

這是不會工作,如果它是所有的客戶端,如你所建議的。 – Nate