Đỗ Hữu Toàn gửi vào
- 19348 lượt xem
I. Giới thiệu
Hôm nay, mình sẽ hướng dẫn các bạn tách text, hay ký tự trong một chuỗi trong App Inventor. Giả sử điện thoại nhận được giá trị gửi về từ Arduno với 3 thông số: Nhiệt độ, độ ẩm, khí gas. Vậy làm thế nào để tách 3 thứ đó ra khỏi chuỗi nhận được???
II. Cách làm
App Inventor là một công cụ hữu ích để lập trình ứng dụng đơn giản trên điện thoại Android rất phù hợp với các ứng dụng tương tác với Arduino. Bằng cách sử dụng chỉ bằng phương pháp kéo thả các đối tượng và lập trình các đối tượng cũng chỉ bằng kéo thả các khối Code. Vì vậy nó khá đơn giản....Để tách các text, dữ liệu trong một chuỗi cho trước các bạn dùng khối sau!!!
Khối này sẽ trả về text, dữ liệu...đã tách được từ một chuỗi nào đó...Cách dùng như sau: Ở dòng đầu segment text. các bạn kéo thả chuỗi. Ở Start là vị trí ký tự đầu tiên của text muốn tách ra khỏi chuỗi. Length là vị trí kết thúc của ký tự trong text mình muốn tách, Tức là sau khi sử dụng, các bạn sẽ nhận được một text kéo dài từ ký tự Start đến Length...VD: bạn có chuỗi " Arduino " bạn muốn tách text "no" trong chuỗi rồi gán vô Textbox1...bạn phải làm như sau: vì ký tự "n" nằm ở vị trí thứ 6 trong chuỗi "Arduino" và "o" ở vị trí thứ 7 nên khối code có dạng:
Nhưng khi muốn tách 2 dữ liệu liên tục và độ dài nhảy lung tung bị thay đổi không thể xác định thì mọi việc không đơn giản như v!!! Ví dụ...dữ liệu gửi về có dạng: Nhiệt độ, Độ ẩm...Lúc này bạn phải làm như sau. VD: Chuỗi gửi về có dạng: " Nhiệt độ, độ ẩm " . Để tách giá trị Nhiệt độ bạn sẽ tách Text Start từ ký tự 1, đến ký tự ngăn cách "," . Để làm được như vậy....bạn cần phải biết được ký tự ngăn cách đó nằm ở vị trí thứ bao nhiêu trong dãy? bằng lệnh:
Lệnh này sẽ trả về giá trị...vị trí của ký tự piece ( Ở đây là dấu , nằm ở đâu trong chuỗi Textbox1.Text )...Giả sử trong Textbox1 có chuỗi " Nhiệt độ, độ ẩm " Vây để tách Nhiệt độ ra khỏi chuỗi và hiển thị lên Textbox2 thì :
Sau khi tìm được vị trí của ký tự ngăn cách..Ta sẽ trừ đi 1 để bỏ đi kỹ tự ngăn cách ," ...Chỉ lấy mỗi giá trị Nhiệt độ để hiển thị lên Textbox2...Để tách các giá trị tiếp theo các bạn cũng làm tương tự
II
III. Lời kết
Như vậy là các bạn đã có thể tách text trong một chuỗi cho trước với App Inventor rồi đấy!!! Với việc tách chuỗi...các bạn có thể dùng if....then...để làm việc vs giá trị độ ẩm...VD: Nếu Textbox2 > 40 thỳ thông báo trời nóng!!! Chúc các bạn thành công!!!!