Chào các bác, đêm hôm rồi mà còn vướng cái bài tập này muốn nhờ các bác giúp đỡ.
Chả là em làm cơ khí CNC, bọn em khi lập trình trên phần mềm thì xuất ra một file dạng .txt để đút vào máy CNC cho nó chạy, giờ cần chèn thêm đoạn code đo và bù dao tự động nên phải sửa file thủ công rất dễ gây sai sót.
View attachment 1514124
Em trước cũng có vọc qua code, biết là với đầu bài như thế này thì có thể làm được bằng code, mà ngặt cái máy tính công ty không cho phép cài các phần mềm, khả dĩ nhất chỉ có thể dùng trình duyệt mặc định của máy và giải quyết bằng file html có chứa javascript. Nhưng trước em bỏ ngang không đủ trình để viết
Vậy muốn nhờ các bác giúp đỡ viết cho em bài code chạy trên Internet Explore hoặc Microsoft Edge có thể làm được việc sau:
- Tải lên một file .txt với đoạn đầu với đoạn cuối có format file nào cũng giống hệt nhau.
- Nhập 1 giá trị cho kích thước danh nghĩa var1, để gắn vào đoạn đầu #100
- Thêm 1 đoạn text vào cuối file .txt (đoạn text này có chức năng điều khiển đầu đo, lấy kích thước cần đo, so sánh với #100 trong 1 khoảng nhất định, nếu chưa đạt nó sẽ bù dao rồinhảy về câu lệnh N0010 chạy lại từ đầu chương trình, nếu đạt rồi hoặc quá thì nó dừng chương trình)
- Lưu file txt mới tạo ra bằng cái tên có chứa giá trị nhập vào ban đầu var1 (ví dụ 102.4.txt)
Nếu không có thời gian thì nhờ các bác chỉ giúp em cần dùng những lệnh gì ạ, để em mò dần.
Đội ơn các bác.
Dưới đây là một code JavaScript có thể chạy trực tiếp trong trình duyệt web để làm điều bạn muốn:
const input = document.createElement("input");
input.type = "file";
input.accept = ".txt";
input.addEventListener("change", function() {
const file = this.files[0];
const reader = new FileReader();
reader.readAsText(file, "UTF-8");
reader.onload = function() {
const text = reader.result;
const var1 = prompt("Enter a value for var1:", "");
const newText = "#100 " + var1 + "\n" + text.replace(/#100\s.*\n/, "");
const newFile = new Blob([newText], {type: "text/plain"});
const a = document.createElement("a");
a.download = var1 + ".txt";
a.href = URL.createObjectURL(newFile);
a.click();
};
});
document.body.appendChild(input);
input.click();
Cách hoạt động:
Tạo một input element với kiểu file và chỉ chấp nhận các file .txt
Khi người dùng chọn file, đọc nội dung của file bằng FileReader và lưu kết quả vào biến text
Yêu cầu người dùng nhập giá trị cho var1
Tạo một chuỗi mới bằng cách thêm giá trị của var1 vào đoạn đầu của text và xóa đoạn đầu cũ.
Tạo một Blob từ chuỗi mới và sử dụng URL.createObjectURL để tạo ra URL tải về.
Tạo một link với giá trị tải về là tên file mới (bao gồm giá trị của var1) và thực hiện click vào link để tải về