none
想請問為什麼在兩台不同的機器上run同一支程式會有不同的畫面 RRS feed

  • 問題

  •  

    各位大大好,我現在手邊有ASUS 320和一支glofish x650

    兩隻手機都灌了自己寫的程式,在ASUS 320執行時都正常,在glofish x650執行時,我原本的畫面是站滿整隻手機,但灌在glofish x650上面時,主畫面變成只在左上方一小角,而且同樣的資料庫讀同樣的東西,在ASUS 320就可以run在 glofish x650 就會有IndexOutOfRangeException的問題,請問這是為什麼呢? 拜託各位大大幫忙解答了

    2008年12月29日 下午 04:56

解答

  • Asus 320 Display Resolution 只有 240x320

    Glofish x650 是 480x640

    我猜你是寫Dialog base 的程式所以就會變成在 Asus 320 上看起來是full screen, 而在Glofish x650 上就只有 1/4 大小了

    這應該寫程式準備幾個不同Resolution 的Dialog 來解決,(也可以應付直向與橫向營顯示的問題)

    至於資料庫我就沒研究, 不過看你的Message 是說Array 存取超出範圍 , 你確定兩邊完全一樣?

    參考這 http://msdn.microsoft.com/zh-tw/library/system.indexoutofrangeexception.aspx

     

     

    2008年12月30日 上午 01:18
  • 可以用ToString的方式去轉成固定格式,例如 DateTime.Now.ToString("yyyy MM dd"); 詳細的字串格式化可以到MSDN查詢一下。

     

    2009年1月1日 下午 12:40
    版主

所有回覆

  • Asus 320 Display Resolution 只有 240x320

    Glofish x650 是 480x640

    我猜你是寫Dialog base 的程式所以就會變成在 Asus 320 上看起來是full screen, 而在Glofish x650 上就只有 1/4 大小了

    這應該寫程式準備幾個不同Resolution 的Dialog 來解決,(也可以應付直向與橫向營顯示的問題)

    至於資料庫我就沒研究, 不過看你的Message 是說Array 存取超出範圍 , 你確定兩邊完全一樣?

    參考這 http://msdn.microsoft.com/zh-tw/library/system.indexoutofrangeexception.aspx

     

     

    2008年12月30日 上午 01:18
  • 如同你說的是螢幕解析度的問題,後來用了AutoScaleMode=Dpi有解決,謝謝你的提示,

    另外我早出我outofrange的問題了

    原因是出在

    我從資料庫裡面讀出時間,所以先將時間格式變成字串,在轉回時間格式
     

    Asus 讀出的時間格式是 2009 01 01

    Glofish 讀出時間格式是2009 Jan 01
    所以造成我在Glofish執行下面這一行會有outofrange的問題

     

    想請問有什麼方法可以讀出
    2009 01 01,我目前只想到一個一個讀字元進來在判斷哪一個月在轉換成數字
    ,請問除了這個方法還有什麼方法嗎?
                                                                                   
    DateTime temp = DateTime.Parse(this.map_eventDataSet.Tables["map_event"].RowsIdea["Time"].ToString());
                                                                                   
    temp = new DateTime(temp.Year,temp.Month,temp.Day);
    if (dateCompare.CompareTo(temp) < 0)
    {
        dateCompare = temp;
        dateCount = dateCount + 1;
    }

     


    謝謝大大幫忙回答我的問題

    2008年12月31日 下午 09:16
  • 自問自答一下,後來用了 DateTime.ParseExact()就解決Glofish 讀出時間格式是2009 Jan 01的問題了

     

    想問一下DateTime.ParseExact() 是不是只能轉 AM  PM無法轉上午 下午阿?

    2009年1月1日 上午 07:46
  • 可以用ToString的方式去轉成固定格式,例如 DateTime.Now.ToString("yyyy MM dd"); 詳細的字串格式化可以到MSDN查詢一下。

     

    2009年1月1日 下午 12:40
    版主