如何让API不打印到文本框? [英] How do I get API not printing out to the textbox?

查看:83
本文介绍了如何让API不打印到文本框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!因此,在了解了如何使API工作之后,我设法将其设置为完美地将数据打印到标签上。现在,当我尝试做同样的事情,但使用不同的API(几乎相同的一个)时,它决定不打印出来,感觉就像我错过了一些代码,它只是我吗?



第一个自动收报机(Update_BTC_Ticker)运行完美,它打印出来应该是,但另一个(Update_BTC_Trades)不想打印出来,我错过了什么?也许对这些类型的东西有更好关注的人能够弄明白。





  private   void  Update_BTC_Ticker( object  sender, EventArgs e)
{
var client = new RestClient( https://btc-e.com/api);
var request = new RestRequest( 2 / btc_usd / ticker,Method.GET);
// request.AddHeader(Key,46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T) ;
request.OnBeforeDeserialization = resp = > {resp.ContentType = application / json; };

IRestResponse< BtcUsdTicker> response = client.Execute< BtcUsdTicker>(request);

sellLabel.Text = Convert.ToString(response.Data.ticker.sell);
buyLabelTrue.Text = Convert.ToString(response.Data.ticker.buy);


}



private void Update_BTC_Trades( object sender,EventArgs e)
{
var client = new RestClient( https ://btc-e.com/api);
var request = new RestRequest( 2 / btc_usd / trades,Method.GET);
// request.AddHeader(Key,46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T) ;
request.OnBeforeDeserialization = resp = > {resp.ContentType = application / json; };

IRestResponse< BtcTradeTicker> response = client.Execute< BtcTradeTicker>(请求);

textBox1.Text = Convert.ToString(response.Data.tradeTicker.price);


}





public class BtcUsdTicker
{
public Ticker ticker {获得; set ; }
}

public class Ticker
{

public float high {获得; set ; }
public float low { get ; set ; }
public float avg { get ; set ; }
public float vol { get ; set ; }
public float vol_cur { get ; set ; }
public float last { get ; set ; }
public float 购买{获取; set ; }
public float sell { get ; set ; }
public int updated { get ; set ; }
public int server_time { get ; set ; }



}


public class BtcTradeTicker
{
public tradeTicker tradeTicker { get < /跨度>; set ; }
}


public class tradeTicker
{
public int date {获得; set ; }
public double price { get ; set ; }
public double 金额{ get ; set ; }
public int tid { get ; set ; }
public string price_currency { get ; set ; }
public string item { get ; set ; }
public string trade_type { get ; set ; }
}





我的尝试:



我已经尝试将它们重命名以使它们不同,我起初就是这个问题现在我只是觉得头晕而且似乎无法找到问题。调试器也没有任何帮助。

解决方案

我的计时器阻止该方法被击中。



< pre lang =C#> timer1 = new Timer();
timer1.Tick + = new EventHandler(Update_BTC_Ticker);
timer1.Interval = 2000 ;
timer1.Start();









 timer1 =  new  Timer(); 
timer1.Tick + = new EventHandler(Update_BTC_Ticker);
timer1.Tick + = new EventHandler(Update_BTC_Trades);
timer1.Interval = 2000 ;
timer1.Start();


Hello everyone! So after understanding how to get the API to work I managed to set it up so it prints out data to labels flawlessly. Now when I try to do the same thing but with a different API (Almost the same one) it decides not to print it out, feels like I missed some code, is it just me?

The first ticker (Update_BTC_Ticker) works flawlessly, it prints out as it should but the other one (Update_BTC_Trades) does not want to print out, what did I miss out? Maybe someone with a better eye for these types of things would be able to figure it out.


private void Update_BTC_Ticker(object sender, EventArgs e)
{
    var client = new RestClient("https://btc-e.com/api");
    var request = new RestRequest("2/btc_usd/ticker", Method.GET);
    //request.AddHeader("Key", "46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T");
    request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };

    IRestResponse<BtcUsdTicker> response = client.Execute<BtcUsdTicker>(request);

    sellLabel.Text = Convert.ToString(response.Data.ticker.sell);
    buyLabelTrue.Text = Convert.ToString(response.Data.ticker.buy);


}



private void Update_BTC_Trades(object sender, EventArgs e)
{
    var client = new RestClient("https://btc-e.com/api");
    var request = new RestRequest("2/btc_usd/trades", Method.GET);
    //request.AddHeader("Key", "46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T");
    request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };

    IRestResponse<BtcTradeTicker> response = client.Execute<BtcTradeTicker>(request);

    textBox1.Text = Convert.ToString(response.Data.tradeTicker.price);


}





public class BtcUsdTicker
{
    public Ticker ticker { get; set; }
}

public class Ticker
{

    public float high { get; set; }
    public float low { get; set; }
    public float avg { get; set; }
    public float vol { get; set; }
    public float vol_cur { get; set; }
    public float last { get; set; }
    public float buy { get; set; }
    public float sell { get; set; }
    public int updated { get; set; }
    public int server_time { get; set; }



}


public class BtcTradeTicker
{
    public tradeTicker tradeTicker { get; set; }
}


public class tradeTicker
{
    public int date { get; set; }
    public double price { get; set; }
    public double amount { get; set; }
    public int tid { get; set; }
    public string price_currency { get; set; }
    public string item { get; set; }
    public string trade_type { get; set; }
}



What I have tried:

I've tried renaming them to differate them which I though was the issue at first now I just feel dizzy and cant seem to locate the issue. The debugger wasnt any help aswell.

解决方案

My timer blocked the method from being hit.

timer1 = new Timer();
timer1.Tick += new EventHandler(Update_BTC_Ticker);
timer1.Interval = 2000;
timer1.Start();



To

timer1 = new Timer();
timer1.Tick += new EventHandler(Update_BTC_Ticker);
timer1.Tick += new EventHandler(Update_BTC_Trades);
timer1.Interval = 2000;
timer1.Start();


这篇关于如何让API不打印到文本框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆