2013-11-15 60 views
3

好吧...沒有人在笑...我正在研究MIT/Google Appinventor中的應用程序。這裏是一個簡要說明:程序流程AppInventor

  • 掃描條形碼然後運行圖片功能。
  • 如果該項目在列表中,然後 在清單列表中找到該項目的位置索引。 使用的項目指數,由1

  • 增加的工程量清單的值。如果該項目不在列表中,則 該項目添加到庫存,並添加一個「1」的數量。

我看不出爲什麼它不起作用,所以我只是檢查我的邏輯是否有任何明顯的缺陷。如果邏輯看起來很穩固,那麼我應該能夠找出Appinventor問題來使其工作。

enter image description here

回答

2

這是你的函數翻譯成僞代碼,以幫助我自己的理解(希望別人)(準確):

function addItem: 
    if inventoryList.contains(scannerResult): 
    inventoryPosition = inventoryList.positionOf(scannerResult) 
    quantityPosition = quantityList.positionOf(scannerResult) 
    quantityItem = quantityList.selectListItemAt(quantityPosition) 
    quantityList.insert(quantityItem at inventoryPosition) 
    else 
    inventoryList.add(scannerResult) 
    quantityList.add(1) 

的問題似乎是在邏輯時掃描儀結果已經在列表中。我不知道相關的應用發明者功能,但我認爲,你想要的東西更像:

if inventoryList.contains(scannerResult): 
    inventoryPosition = inventoryList.positionOf(scannerResult) 
    quantity = quantityList.selectListItemAt(inventoryPosition) 
    quantityList.setListItemAt(quantityPosition to quantity + 1) 

最後一行是我不知道怎麼翻譯成應用發明者語言的位,但希望這足以讓你指出正確的方向。

+0

非常感謝您的插入列表項塊。將塊對齊在一起使它看起來很簡單... – jgetrost

0

@blahdiblah做了一個好analysis of the problem
使用App Inventor中的解決方案是這樣的:
,而不是必須使用的替換列表項

enter image description here