Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 跟踪函数@#$%#$@%中的额外字符_Flash_Actionscript 3 - Fatal编程技术网

Flash 跟踪函数@#$%#$@%中的额外字符

Flash 跟踪函数@#$%#$@%中的额外字符,flash,actionscript-3,Flash,Actionscript 3,有人能告诉我这些额外的角色是从哪里来的吗 这是输出: “MECHEL OAO ADS”21.1921.7021.88“+0.84%”4736975 一, “MECHEL OAO ADS”21.1921.7021.88“+0.84%”4736975 一, “MECHEL OAO ADS”21.1921.7021.88“+0.84%”4736975 一, 注意空格,然后是1?那些不应该在那里 这是脚本,应该是即插即用的 var quoteTimer:Timer = new Timer(1000);

有人能告诉我这些额外的角色是从哪里来的吗

这是输出:

“MECHEL OAO ADS”
21.19
21.70
21.88
“+0.84%”
4736975

一,

“MECHEL OAO ADS”
21.19
21.70
21.88
“+0.84%”
4736975

一,

“MECHEL OAO ADS”
21.19
21.70
21.88
“+0.84%”
4736975

一,

注意空格,然后是1?那些不应该在那里

这是脚本,应该是即插即用的

var quoteTimer:Timer = new Timer(1000);
quoteTimer.addEventListener(TimerEvent.TIMER, getQuote);
quoteTimer.start();

var url:String = "http://www.hupcapstudios.com/projects/getDow.php";
var stockInfo:String = "s=MTL&f=nol1hp2v";

function getQuote(e:Event):void
{
    var variables:URLVariables = new URLVariables();
    variables.info = stockInfo;
    var urlRequest:URLRequest = new URLRequest(url);
    var stockLoader:URLLoader = new URLLoader();
    urlRequest.method = URLRequestMethod.POST;
    urlRequest.data = variables;
    stockLoader.load(urlRequest);
    stockLoader.addEventListener(Event.COMPLETE, addStock);
}

function addStock(e:Event):void
{
    var stockArray:Array = e.target.data.split(",");
    var assocArray:Array = new Array("Stock: " , "Open: ", "Current: ", "High :", "Percent Change: ", "Volume: ");

    for(var i:int=0;i<assocArray.length;i++)
    {
        trace(stockArray[i]);
    }
}
为了使它可用,我必须把它分解成一个带有几个循环的数组

新的addStock()函数(将结果发送到包含数据文本字段的电影剪辑)

函数addStock(e:事件):无效
{
var array:array=e.target.data.split(“\n”);//将字符串拆分为由“\n”分隔的数组
array.pop();//消除最后一个数组条目,该条目仅为空白
var goodArray:Array=new Array();//我将存储格式正确的值的数组

对于(var i:int=0;i我不知道为什么会有这些字符,但我可以提供一个如何找到的建议。:)

在调试器中运行Actionscript代码,并在addStock()处理程序中设置断点。在运行时,检查stockArray[]的最后元素的内容。我敢打赌它是:“4736975\n1\n”


为什么会这样?可能是PHP脚本添加了换行符和1。如果您查看结果页面的源代码,而不是在浏览器中查看,您将看到所有换行符的真实情况。请记住,浏览器会折叠所有空格,除非明确要求不要这样做。

我想我已经得到了它…我会给能肯定回答这个问题的ASCII天才

我假设返回的数据中有“\n”(在返回的数据中不可见)

我之所以这样做是因为我在返回字符串中搜索了它,然后返回了一个子字符串减去“\n”后面的字符串数据

-J

添加
trace(e.target.data);
addStock
方法的开头,查看php发送的数据

虽然yahoo.finance.com链接提供了正确的csv文件,但将
URLLoader
()使用的url粘贴到浏览器上给了我很大的帮助

缺少符号列表。
一,


我想这可能会给你敲响警钟。

什么是
跟踪(e.target.data);
在addStock方法中跟踪?“Microsoft Corpora”,不适用,不适用,不适用,不适用,26.71,“0.00%”,0,“MSFT”“GEN ELECTRIC CO”,不适用,不适用,不适用,16.79,“0.00%”,0,“GE”“日经225”,10276.410216.1410290.3110257.56,“+0.18%”,0“^N225”“福特汽车公司”,不适用,不适用,不适用,不适用,不适用,不适用,0.00%”,0“ET”,N/A,N/A,N/A,0.00,“N/A”,N/A,“ET”1oops…废话,那条评论没有格式…我将把它添加到问题中。这意味着flash确实收到了一个后跟“1”的换行符。所以问题出在其他地方。这是正确的答案。不是php提供了“\N”“这是yahoo返回的.csv。我不知道…试试这个URI,看看你得到了什么…^N225+F+ET&F=noghl1p2vsok,我将url添加到了问题帖子中,就在跟踪结果的上方。(你必须复制并粘贴链接,因为链接在^character处被截断。)“s=MTL&F=nol1hp2v”实际上是从$\u post['info'追加的。”否则,我发送的是php getDow.php?info=s=MTL&f=nol1hp2v,它不起作用……我通过post发送的原因是,我可以直接从我的flash应用程序更改值。
<?php

$stock = require("http://download.finance.yahoo.com/d/quotes.csv?". $_POST['info']);

echo $stock;

?>
"Microsoft Corpora",N/A,N/A,N/A,26.71,"0.00%",0,"MSFT"

"GEN ELECTRIC CO",N/A,N/A,N/A,16.79,"0.00%",0,"GE"

"NIKKEI 225",10276.4,10216.14,10290.31,10257.56,"+0.18%",0,"^N225"

"FORD MOTOR CO",N/A,N/A,N/A,7.66,"0.00%",0,"F"

"ET",N/A,N/A,N/A,0.00,"N/A",N/A,"ET"

1
function addStock(e:Event):void
{
    var array:Array = e.target.data.split("\n"); // splits the string into arrays delimited by the "\n"
    array.pop(); // eliminates the last array entry which is just white space
    var goodArray:Array = new Array(); // the array I will store the correctly formatted values

    for(var i:int=0;i<array.length;i++)
    {
        var s:String = array[i].substr(0,array[i].indexOf("\n")-1);
        var nArray:Array = s.split(",");

        for(var con:int = 0; con<nArray.length;con++)
        {
            goodArray.push(nArray[con]);
        }
    }

    var round:int = 0; // the number I need to offset the stocks information.



    for(var t:int = 0; t<stockCardsArray.length;t++)
    {
        var c:* = stockCardsArray[t]; // the array containing my movie clips with the text fields.

        c.stock_name.text = goodArray[0+round].substr(1,goodArray[0+round].length-2);

        c.open.text = "OPEN: " + goodArray[1+round];
        c.low.text = "LOW: " + goodArray[2+round];
        c.high.text = "HIGH: " +goodArray[3+round];
        c.current.text = "CURRENT: " + goodArray[4+round];
        c.percent.text = "PERCENT CHANGE: " + goodArray[5+round];
        c.volume.text = "VOLUME: " + goodArray[6+round];
        c.symbolTab.symbol.text = goodArray[7+round].substr(1,goodArray[0+round].length);

        round +=8;

    }
}
var s:String = (e.target.data);
trace(s.substr(0,s.indexOf("\n")-1));