Tách dữ liệu từ chuỗi trong App Inventor

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!!!!

 

lên
20 thành viên đã đánh giá bài viết này hữu ích.
Chuyên mục: 
Các dự án được truyền cảm hứng

Select any filter and click on Apply to see results

Các bài viết cùng tác giả

Giám sát camera ở mọi nơi trên thế giới - NAT PORT cho mô hình gồm MODEM và ACCESS POINT

Sau khi đọc bài viết của anh Nguyễn Hiếu, mình cảm thấy bài viết rất hay và nảy ra ý định làm một camera stream với máy chủ đoàng hoàng không cần dùng Raspberry Pi....!!!!

lên
21 thành viên đã đánh giá bài viết này hữu ích.

C# ( C Sharp ) - Nhận dữ liệu từ Arduino

Lấy nguồn cảm hứng từ bài viết C# (C Sharp) – Một cách điều khiển Arduino bằng máy tính của bạn Đinh Hồng Thái . Mình sẽ xây dựng phần tiếp theo của loạt bài giao tiếp với Arduino bằng máy tính thông qua C#, dựa trên công nghệ Window Form Application….Nói nghe nguy hiểm vậy, nhưng thực ra bài viết khá đơn giản…keke. Nội dung chính của bài này đó là: “Nhận dữ liệu từ Arduino đến máy tính, thông qua phần mềm tự tạo bằng C#” !!!!!

lên
48 thành viên đã đánh giá bài viết này hữu ích.