Êàê âñòàâëÿòü òåêñò èç txt.* ôàéëà ÿ ðàçîáðàëñÿ. Íî êàê âñòàâèòü èìåííî òó ñòðî÷êó, êîòîðóþ íóæíî? Íàïðèìåð, ó ìåíÿ åñòü òåêñòîâûé ôàéë, â íåì äâå ñòðîêè ñ ðàçíûì òåêñòîì. Îäíó ÿ íàçûâàþ stroka_1, âòîðóþ stroka_2. Çàäà÷à îñëîæíÿåòñÿ òåì, ÷òî â ìîåé ïðîãðàììå äîëæåí âûâîäèòüñÿ òåêñò â çàâèñèìîñòè îò îáúåêòà, êîòîðûé âûáðàë ïîëüçîâàòåëü. ß íàïèñàë òàêîé êîä.
Êëàññ
Pass, êîòîðûé, ïî ìîåé çàäóìêå, äîëæåí íàçíà÷àòü íóæíóþ ñòðî÷êó â txt.* ôàéëå:
Êîä
package{
import flash.display.*;
import flash.text.*;
public class Pass extends Sprite{
public function Pass(){
var t:TextLoader=new TextLoader("stroka_1");
addChild(t);
}
}
}
Êëàññ
TextLoader, êîòîðûé çàãðóæàåò òåêñò è ñîçäàåò òåêñòîâîå ïîëå:
Êîä
package{
import flash.display.Sprite;
import flash.events.*;
import flash.text.*;
import flash.net.*;
public class TextLoader extends Sprite {
public function TextLoader(name:String):void{
var request:URLRequest = new URLRequest("istochnik.txt");
var loader:URLLoader = new URLLoader();
loader.load(request);
loader.addEventListener(Event.COMPLETE, completeHandler);
}
private function completeHandler(event:Event):void {
var loader2:URLLoader = URLLoader(event.target);
var variables:URLVariables = new URLVariables(loader2.data);
trace(variables.name);
var words:String=variables.name;
Slova(words);
}
function Slova(words:String):void{
var tekst:TextField=new TextField();
tekst.text=words;
tekst.wordWrap=true;
tekst.width=200;
tekst.autoSize=TextFieldAutoSize.LEFT;
addChild(tekst);
}
}
}
 èòîãå ïîëó÷àåòñÿ âîò ÷òî:
undefined
TypeError: Error #2007: Parameter text must be non-null..
Âèäèìî, ïðîáëåìà ñ ïåðåäà÷åé íàçâàíèÿ ñòðîêè â ôóíêöèþ TextLoader. Êàê ñäåëàòü ïðàâèëüíî?
Ñîáñòâåííî, íóæíî ïåðåäàòü èç âíåøíåãî êëàññà â êëàññ TextLoader íàçâàíèå ñòðî÷êè, èç êîòîðîé ïðåäïîëàãàåòñÿ áðàòü äàííûå.