2012-03-28 56 views
0

我正在設計一個應用程序,用戶將在其中輸入文字(「我喜歡被愚弄」)。該文本然後將顯示在如電子LED顯示板的窗口中。它會明顯移動。對此我必須做移動LED顯示軟件

  1. 設計一個窗口,將有16(行)* 64(列)LED。視覺。但是如何?
  2. 我將製作一個文本文件,其中將包含數據的類似於(f00f-offo-ffoo-3051(假設爲I,十六進制值),2340-foof-oooo-fofo(假設爲l)和.....)
  3. 然後我必須將它們從左側改變爲像現實世界中的LED顯示一樣寫入。但是如何?

我更喜歡使用的winform

請你的任何想法都將是巨大的我。

感謝, A.拉希姆

+0

你應該只在每個問題中提出一個問題,它應該更具體些。 – 2012-03-28 20:14:33

+4

當你說你更喜歡使用winform時,我想你是指WinForms。那麼爲什麼你用'wpf'來標記這個問題呢? – Clemens 2012-03-28 20:24:16

回答

3

解決這個問題的方法是有一個6×5陣列字母表中的每一個字符,如:

int[][] letterA = { { 0, 0, 1, 1, 0, 0 }, 
        { 0, 1, 0, 0, 1, 0 }, 
        { 1, 1, 0, 0, 1, 1 }, 
        { 1, 1, 1, 1, 1, 1 }, 
        { 1, 1, 1, 1, 1, 1 }, 
        { 1, 1, 0, 0, 1, 1 }, 
        { 1, 1, 0, 0, 1, 1 }}; 

然後,您就需要合併的信建立輸入單詞。

因此,每條線都需要打開LED。

這就是這個應用程序的業務邏輯。

您現在想要創建一個有限的LED燈組,如60 x 10,並從最右側開始,如果當前數組值爲1,則顯示圓形黃色,否則顯示爲黑色。

希望有所幫助。

編輯:以編程方式在窗體上渲染圓圈。純粹

//word is the merged array of letters like the one above 
foreach(int[] line in word) 
{ 
    //currentShiftIndex is the shift amount to render control from left to right 
    int currentShiftIndex = 1; 
    foreach(int i in line) 
    { 
     //set up a control called 'light' for example [im not including that] 
     light.Left = currentShiftIndex * 10; 
     light.Background = i == 1 ? "Yellow" : "Black" 
    } 
} 

渲染那一條線的一個實例:

你可以創造出比面板中刪除了所有的控制計時器,然後你可以做的。忽略任何錯誤的語法。我只是舉個例子說明這個過程。

我希望有幫助。

+0

Thanks Base33。它有助於。 – 2012-03-28 22:14:03

+0

@decoyer如果Base33的答案有幫助,那麼您應該點擊左上方的向上箭頭。你也應該接受你的問題的答案,如果他們適合。 – Ozzah 2012-03-28 22:23:47

+0

@Ozzah我沒有超過15的聲望。我怎麼能接受呢?謝謝。 – 2012-03-29 07:00:48