Đến nội dung


Hình ảnh
- - - - -

HỎI VỀ DIALOG


  • Please log in to reply
13 replies to this topic

#1 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 11 January 2010 - 09:12 PM

Đang học cái Dialog, nay có chút bí "quyết" không "giải" được, Post bài hỏi các Bác:
- Thứ 1: Khi mình viết cái Edit_box xong thì khi nhập số liệu vào nó toàn nằm bên trái khung Edit_box, làm sao để cho nó nằm bên phải được.
- Thứ 2: Mình phải làm sao để khi nhập số liệu vào khung Edit_Box rồi nhấn Enter thì nó làm việc ngay, chằng hạn Edit_Box1 mình nhập vào công thức "1+2+3" thì khi nhấn Enter thì tại Edit_Box2 có kết quả là "6" chứ không cần phải viết thêm 1 nút Button nữa.
Còn nhiều cái chưa "giải" đi được. Nhưng mình đang tập tành cái này, mong mọi người giúp đỡ. Em thanks dài dài.
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#2 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 11 January 2010 - 09:24 PM

Đang học cái Dialog, nay có chút bí "quyết" không "giải" được, Post bài hỏi các Bác:
- Thứ 1: Khi mình viết cái Edit_box xong thì khi nhập số liệu vào nó toàn nằm bên trái khung Edit_box, làm sao để cho nó nằm bên phải được.
- Thứ 2: Mình phải làm sao để khi nhập số liệu vào khung Edit_Box rồi nhấn Enter thì nó làm việc ngay, chằng hạn Edit_Box1 mình nhập vào công thức "1+2+3" thì khi nhấn Enter thì tại Edit_Box2 có kết quả là "6" chứ không cần phải viết thêm 1 nút Button nữa.
Còn nhiều cái chưa "giải" đi được. Nhưng mình đang tập tành cái này, mong mọi người giúp đỡ. Em thanks dài dài.

- Thứ 1: Bản thân Edit_box nó quy định là label sẽ ở bên trái và value ở bên phải. Nếu bạn muốn chữ ở bên phải thì bạn phải dùng text riêng để thể hiện thôi (thay cho Label của Edit_box)
- Thứ 2: Để biểu thức thực hiện ngay sau khi nhấn Enter thì bạn phải dùng đến hàm Action_tile cho edit_box đó. Bạn tìm hiểu thêm về $Reason
  • 1

#3 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 12 January 2010 - 03:35 PM

- Thứ 1: Bản thân Edit_box nó quy định là label sẽ ở bên trái và value ở bên phải. Nếu bạn muốn chữ ở bên phải thì bạn phải dùng text riêng để thể hiện thôi (thay cho Label của Edit_box)
- Thứ 2: Để biểu thức thực hiện ngay sau khi nhấn Enter thì bạn phải dùng đến hàm Action_tile cho edit_box đó. Bạn tìm hiểu thêm về $Reason


Cảm ơn Bác quan tâm, cái thứ 2 em chưa biết và sẽ tìm hiểu, còn cái thứ nhất Bác hơi nhầm ý em hỏi, ý của em là dữ liệu mình nhập vào Edit_box kia, không phải anh nhãn Label đâu, em muốn như cái hình dưới đây nè (nghĩa là khi nhập số liệu thì nó nằm bên phải khung Edit...
Hình đã gửi

@: Cho em hỏi thêm câu nữa là: Làm sao để liên kết mối quan hệ giữa các đối tượng trong hộp thoại, chẳng hạn em có 2 Edit_box:
Edit_box1 là nơi nhập công thức
Edit_box2 là nơi cho kết quả
Em muốn khi nhập vào Edit_box1 thì tại Edit_box2 sẽ lượng giá và cho ra kết quả ngay mà không cần thêm nút Tinh nữa:
Ví dụ: Tại Edit_box1 em nhập vào là 1+2 thì tại Edit_box2 sẽ xuất hiện kết quả 3, mong các Bác trên diễn đàn giải đáp với, cái $Reason của Bác Nataca em tìm trong help mà không thấy.
Các bác có thể liệt kê giúp các lệnh sử dụng trong Dialog được không a?
Mong giúp đỡ!!!
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#4 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 13 January 2010 - 04:47 PM

Không ai trả lời giúp mình à, Bùn qé qé bùn......................Làm sao cho het bùn đê ??
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#5 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1432 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 14 January 2010 - 02:10 PM

Đang học cái Dialog, nay có chút bí "quyết" không "giải" được, Post bài hỏi các Bác:
- Thứ 1: Khi mình viết cái Edit_box xong thì khi nhập số liệu vào nó toàn nằm bên trái khung Edit_box, làm sao để cho nó nằm bên phải được.
- Thứ 2: Mình phải làm sao để khi nhập số liệu vào khung Edit_Box rồi nhấn Enter thì nó làm việc ngay, chằng hạn Edit_Box1 mình nhập vào công thức "1+2+3" thì khi nhấn Enter thì tại Edit_Box2 có kết quả là "6" chứ không cần phải viết thêm 1 nút Button nữa.
Còn nhiều cái chưa "giải" đi được. Nhưng mình đang tập tành cái này, mong mọi người giúp đỡ. Em thanks dài dài.

- Thứ 1: pó tay
- Thứ 2: bạn tham khảo Lisp tính toán cộng trừ nhân chia
(defun c:ex1(/ $value dcl_id kqua num1 num2 phepchon ttu)
(defun TinhKqua()
(if (and num1 num2 ttu )
(if (and (= (atof num2) 0) (= ttu "/"))
(progn
(alert "Khong the thuc hien phep chia cho so 0." )
(mode_tile "sh2" 2) )
(progn
(setq kqua (rtos(apply(read ttu) (list (atof num1) (atof num2)))) )
(set_tile "kqua" kqua) ) )
(cond
((not num1) (Ktra_Num num1 "sh1"))
((not num2) (Ktra_Num num1 "sh2"))
((not ttu) (Ktra_Ttu ttu "ttu")) ) ) )

(defun Ktra_Num(val key)
(if (member (type (distof val)) '(REAL INT) )
(TinhKqua)
(progn
(alert "So hang nhap khong hop le." )
(set_tile "kqua" "nil")
(mode_tile key 2)) ) )

(defun Ktra_Ttu(val key)
(if (and (= 1 (strlen val))
(wcmatch val "+,-,`*,/") )
(TinhKqua)
(progn
(alert "Toan tu nhap khong hop le." )
(set_tile "kqua" "nil")
(mode_tile key 2)) ) )
(setq dcl_id (load_dialog "Caculator_Ex.dcl")
phepchon 1)
(or num1 (setq num1 "10.5"))
(or num2 (setq num2 "8"))
(or ttu (setq ttu "*"))
(or kqua (setq kqua "84"))
(while (/= 0 phepchon)
(if (not (new_dialog "Ex1" dcl_id))(exit))
(set_tile "sh1" num1)
(set_tile "sh2" num2)
(set_tile "ttu" ttu)
(set_tile "kqua" kqua)
(action_tile "sh1" "(setq num1 $value)(Ktra_Num num1 \"sh1\")")
(action_tile "sh2" "(setq num2 $value)(Ktra_Num num2 \"sh2\")")
(action_tile "ttu" "(setq ttu $value)(Ktra_Ttu ttu \"ttu\")")
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(setq phepchon (start_dialog))
(if (= phepchon 1) (alert (strcat num1 ttu num2 " = " kqua )) )
);end while
(start_dialog)
(unload_dialog DCL_ID)
(princ)
)


file Caculator_Ex.dcl
//Ten file: Caculator_Ex.dcl
//muc dich: su dung ham Action_tile de tinh gia tri cua edit_box
Ex1: dialog {
label = "Vi du Phep toan + - * /";
: edit_box { label = "&So hang 1"; edit_width = 15; key = "sh1"; }
: row {
: edit_box { label = "&Toan tu (+-*/)"; edit_width = 2; key = "ttu"; }
: spacer {width = 12;}
}
: edit_box { label = "&So hang 2"; edit_width = 15; key = "sh2"; }
: edit_box { label = "&Ket Qua"; edit_width = 15; key = "kqua"; }
ok_cancel_err;
}
//Ket thuc file

  • 2

#6 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 16 January 2010 - 10:45 AM

- Thứ 1: pó tay
- Thứ 2: bạn tham khảo Lisp tính toán cộng trừ nhân chia

(defun c:ex1(/ $value dcl_id kqua num1 num2 phepchon ttu)
(defun TinhKqua()
(if (and num1 num2 ttu )
(if (and (= (atof num2) 0) (= ttu "/"))
(progn
(alert "Khong the thuc hien phep chia cho so 0." )
(mode_tile "sh2" 2) )
(progn
(setq kqua (rtos(apply(read ttu) (list (atof num1) (atof num2)))) )
(set_tile "kqua" kqua) ) )
(cond
((not num1) (Ktra_Num num1 "sh1"))
((not num2) (Ktra_Num num1 "sh2"))
((not ttu) (Ktra_Ttu ttu "ttu")) ) ) )

(defun Ktra_Num(val key)
(if (member (type (distof val)) '(REAL INT) )
(TinhKqua)
(progn
(alert "So hang nhap khong hop le." )
(set_tile "kqua" "nil")
(mode_tile key 2)) ) )

(defun Ktra_Ttu(val key)
(if (and (= 1 (strlen val))
(wcmatch val "+,-,`*,/") )
(TinhKqua)
(progn
(alert "Toan tu nhap khong hop le." )
(set_tile "kqua" "nil")
(mode_tile key 2)) ) )
(setq dcl_id (load_dialog "Caculator_Ex.dcl")
phepchon 1)
(or num1 (setq num1 "10.5"))
(or num2 (setq num2 "8"))
(or ttu (setq ttu "*"))
(or kqua (setq kqua "84"))
(while (/= 0 phepchon)
(if (not (new_dialog "Ex1" dcl_id))(exit))
(set_tile "sh1" num1)
(set_tile "sh2" num2)
(set_tile "ttu" ttu)
(set_tile "kqua" kqua)
(action_tile "sh1" "(setq num1 $value)(Ktra_Num num1 \"sh1\")")
(action_tile "sh2" "(setq num2 $value)(Ktra_Num num2 \"sh2\")")
(action_tile "ttu" "(setq ttu $value)(Ktra_Ttu ttu \"ttu\")")
(action_tile "accept" "(done_dialog 1)")
(action_tile "cancel" "(done_dialog 0)")
(setq phepchon (start_dialog))
(if (= phepchon 1) (alert (strcat num1 ttu num2 " = " kqua )) )
);end while
(start_dialog)
(unload_dialog DCL_ID)
(princ)
)


file Caculator_Ex.dcl
//Ten file: Caculator_Ex.dcl
//muc dich: su dung ham Action_tile de tinh gia tri cua edit_box
Ex1: dialog {
label = "Vi du Phep toan + - * /";
: edit_box { label = "&So hang 1"; edit_width = 15; key = "sh1"; }
: row {
: edit_box { label = "&Toan tu (+-*/)"; edit_width = 2; key = "ttu"; }
: spacer {width = 12;}
}
: edit_box { label = "&So hang 2"; edit_width = 15; key = "sh2"; }
: edit_box { label = "&Ket Qua"; edit_width = 15; key = "kqua"; }
ok_cancel_err;
}
//Ket thuc file


Cảm ơn GiaBach đã trả lời, mình ứng dụng được rồi, nhân đây cho hỏi thêm vấn đề này nữa: Mình đang tạo một cái lisp trong đó có sử dụng các Phép tính + - * /, Mình thấy trong LISP của bạn có hàm tính toán và nó đúng với các số nguyên lớn, nhưng phép tính trên đơn thuần là Phép + hoặc trừ nên dùng hàm Apply, còn trường hợp phép tính có nhiều loại toán tử mình dùng hàm (c:cal str) thì khi có các sô nguyên lớn thì nó báo lỗi,
Ví dụ: (c:cal "99999999999999999*999999999999999999999+2365-52")
Error:
Integer numbers must be between 2147483647 and -2147483648
Vậy làm sao để khi áp dụng các phép tính này không báo lỗi và đôi khi lại cho kết quả không chính xác. Mong GiaBach và mọi người trên diễn đàn giúp đỡ. Thanks
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#7 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 16 January 2010 - 10:51 AM

Cảm ơn GiaBach đã trả lời, mình ứng dụng được rồi, nhân đây cho hỏi thêm vấn đề này nữa: Mình đang tạo một cái lisp trong đó có sử dụng các Phép tính + - * /, Mình thấy trong LISP của bạn có hàm tính toán và nó đúng với các số nguyên lớn, nhưng phép tính trên đơn thuần là Phép + hoặc trừ nên dùng hàm Apply, còn trường hợp phép tính có nhiều loại toán tử mình dùng hàm (c:cal str) thì khi có các sô nguyên lớn thì nó báo lỗi,
Ví dụ: (c:cal "99999999999999999*999999999999999999999+2365-52")
Error:
Integer numbers must be between 2147483647 and -2147483648
Vậy làm sao để khi áp dụng các phép tính này không báo lỗi và đôi khi lại cho kết quả không chính xác. Mong GiaBach và mọi người trên diễn đàn giúp đỡ. Thanks

Bạn chuyển số nguyên thành số thực là OK ngay
(c:cal "99999999999999999.0*999999999999999999999.0+2365-52")
  • 2

#8 nataca

nataca

    biết lệnh adcenter

  • Members
  • PipPipPipPipPipPipPip
  • 712 Bài viết
Điểm đánh giá: 553 (tốt)

Đã gửi 16 January 2010 - 01:46 PM

Bạn chuyển số nguyên thành số thực là OK ngay
(c:cal "99999999999999999.0*999999999999999999999.0+2365-52")

Hoặc bạn phải dùng thuật toán tính toán cho số vô cùng lớn. Thuật toán đó như bạn làm phép tính tay đơn thuần (cộng, rồi nhớ, rồi cộng...)
  • 1

#9 gia_bach

gia_bach

    biết lệnh adcenter

  • CADViet Team
  • PipPipPipPipPipPipPip
  • 1432 Bài viết
Điểm đánh giá: 1425 (rất tốt)

Đã gửi 18 January 2010 - 09:49 AM

Cảm ơn GiaBach đã trả lời, mình ứng dụng được rồi, nhân đây cho hỏi thêm vấn đề này nữa: Mình đang tạo một cái lisp trong đó có sử dụng các Phép tính + - * /, Mình thấy trong LISP của bạn có hàm tính toán và nó đúng với các số nguyên lớn, nhưng phép tính trên đơn thuần là Phép + hoặc trừ nên dùng hàm Apply, còn trường hợp phép tính có nhiều loại toán tử mình dùng hàm (c:cal str) thì khi có các sô nguyên lớn thì nó báo lỗi,
Ví dụ: (c:cal "99999999999999999*999999999999999999999+2365-52")
Error:
Integer numbers must be between 2147483647 and -2147483648
Vậy làm sao để khi áp dụng các phép tính này không báo lỗi và đôi khi lại cho kết quả không chính xác. Mong GiaBach và mọi người trên diễn đàn giúp đỡ. Thanks

Như thông báo của Cad : số nguyên phải trong khoảng từ -2,147,483,648 đến +2,147,483,647 (32 bit), các trường hợp khác Cad sẽ báo lỗi Overflow (tràn bộ nhớ).
Chú ý truờng hợp phép toán với 2 số nguyên (Integer) khi kết quả là 1 giá trị vuợt quá phạm vi biểu diễn của kiểu nguyên (Integer) thì giá trị trả về sẽ không đúng.
vd : (+ 2147483646 3) -> -2147483647 giá trị trả về sai.
nhưng : (+ 2147483646 3.0) -> 2.14748e+009 giá trị trả về đúng. (phép toán giữa số nguyên với số thực -> kết quả trả về là số thực)

Bạn có thể chuyển sang kiểu số thực như đề nghị của Tue_NV.
Với kiểu số thực thì phạm vi ứng dụng nằm trong khoảng rất lớn từ 10^-308 đến khoảng 10^+308 , do đó có thể không phải lo lắng về vấn đề Overflow.

Trong Lisp Phép tính + - * /, truớc khi thực hiện lệnh Apply tui đã đổi các số thành số thực (atof ...) nên nó đúng với các số nguyên lớn.
  • 2

#10 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 18 January 2010 - 10:49 AM

Bạn chuyển số nguyên thành số thực là OK ngay
(c:cal "99999999999999999.0*999999999999999999999.0+2365-52")


Cảm ơn mọi người đã nhiệt tình giúp đỡ, Cách của Tue_NV mình đã thử, nhưng vấn đề chuyển các số trong chuỗi phép tính là vấn đề không phải dễ với mình. Mình đã thử làm với cách tìm kiếm các toán tử + - * / ^ và chuyển nó thành .0 + hay .0 - ...
Ví như: 14+2+3 ---> 14.0+2.0+3 nhưng cứ toàn phát sinh lỗi. Với cách phép toán đơn giản như A+B thì còn xử được, còn nhiều toán thử trở lên thì khả năng có hạn nên đành chịu, viết toàn phát sinh lỗi hay lặp vô hạn.
Vậy nhờ các anh em trên diễn đàn viết dùm đoạn LSP chuyển các phép toán có các số nguyên chuyển sang số thực còn các số thực thì bỏ qua, cảm ơn mọi người.
Thanks
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#11 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 18 January 2010 - 11:17 AM

Cảm ơn mọi người đã nhiệt tình giúp đỡ, Cách của Tue_NV mình đã thử, nhưng vấn đề chuyển các số trong chuỗi phép tính là vấn đề không phải dễ với mình. Mình đã thử làm với cách tìm kiếm các toán tử + - * / ^ và chuyển nó thành .0 + hay .0 - ...
Ví như: 14+2+3 ---> 14.0+2.0+3 nhưng cứ toàn phát sinh lỗi. Với cách phép toán đơn giản như A+B thì còn xử được, còn nhiều toán thử trở lên thì khả năng có hạn nên đành chịu, viết toàn phát sinh lỗi hay lặp vô hạn.
Vậy nhờ các anh em trên diễn đàn viết dùm đoạn LSP chuyển các phép toán có các số nguyên chuyển sang số thực còn các số thực thì bỏ qua, cảm ơn mọi người.
Thanks

Bạn phức tạp vấn đề lên rồi đấy. Quả thật nó rất đơn giản, đơn giản như nó vốn có.
(c:cal "14.0+2.0+3") -> bạn nói nó phát sinh lỗi. Lỗi chổ mô vậy bạn???
Vấn đề của bạn thực đơn giản
1 -> Hãy chuyển các số nguyên thành số thực
2 -> Dùng hàm strcat nối các số và toán tử thành 1 chuỗi
3-> Tính

(setvar "DIMZIN" 0)
Command: (setq a (rtos 14 2 1))

Command: (setq b (rtos 3 2 1))

Command: (setq c (rtos 2 2 1))

(c:cal (strcat a "+" b "+" c))

Hãy đơn giản vấn đề cho đầu óc nó thoải mái, bạn ạ :cheers:
  • 1

#12 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 18 January 2010 - 04:16 PM

Bạn phức tạp vấn đề lên rồi đấy. Quả thật nó rất đơn giản, đơn giản như nó vốn có.
(c:cal "14.0+2.0+3") -> bạn nói nó phát sinh lỗi. Lỗi chổ mô vậy bạn???
Vấn đề của bạn thực đơn giản
1 -> Hãy chuyển các số nguyên thành số thực
2 -> Dùng hàm strcat nối các số và toán tử thành 1 chuỗi
3-> Tính

(setvar "DIMZIN" 0)
Command: (setq a (rtos 14 2 1))

Command: (setq b (rtos 3 2 1))

Command: (setq c (rtos 2 2 1))

(c:cal (strcat a "+" b "+" c))

Hãy đơn giản vấn đề cho đầu óc nó thoải mái, bạn ạ :cheers:


Bác Tue_NV hiểu nhầm ý em rồi, em có nói (c:cal "14.0+2.0+3") phát sinh lỗi hồi mô, ý em là khi muốn chuyển nhóm 14+2+3 sang 14.0+2.0+3 thì nó không được toàn sinh lỗi vì em dùng cái cách nhận biết toán tử + và thay bằng .0+ nên trong các phép toán nhiều dấu + (ở đây em chỉ ví dụ dấu + thôi chứ thật ra rất nhiều phép tính của +-*/ va ^ nữa). Thì em dung hàm while tìm dấu + thay bằng .0+ nên có lặp vô hạn. Ý em nhờ các bác mách hộ hàm nào có thể thay thế hàng loạt dấu + (- * / ^) một lúc thành .0+ (- * / ^) ấy mà.
Cái nhóm hàm chuyển từ số thực sang chuỗi và ghép lại cũng hiểu nhưng cái quan trọng là ko biết tách các số nguyên các số thực các toán tử theo thứ tự để chuyển nguyên sang thực và ghép lại Bac Tue_NV ạ. Bác nghiên cứu giùm em phát, em mò mẫm mà chẳng xong toàn ra mấy anh như là 10.0.0 ........., mong các bác giúp đỗ. Thanks
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......

#13 Tue_NV

Tue_NV

    KS Võ Quang Tuệ

  • Moderator
  • PipPipPipPipPipPipPip
  • 4296 Bài viết
Điểm đánh giá: 3804 (đỉnh cao)

Đã gửi 18 January 2010 - 04:44 PM

Bác Tue_NV hiểu nhầm ý em rồi, em có nói (c:cal "14.0+2.0+3") phát sinh lỗi hồi mô, ý em là khi muốn chuyển nhóm 14+2+3 sang 14.0+2.0+3 thì nó không được toàn sinh lỗi vì em dùng cái cách nhận biết toán tử + và thay bằng .0+ nên trong các phép toán nhiều dấu + (ở đây em chỉ ví dụ dấu + thôi chứ thật ra rất nhiều phép tính của +-*/ va ^ nữa). Thì em dung hàm while tìm dấu + thay bằng .0+ nên có lặp vô hạn. Ý em nhờ các bác mách hộ hàm nào có thể thay thế hàng loạt dấu + (- * / ^) một lúc thành .0+ (- * / ^) ấy mà.
Cái nhóm hàm chuyển từ số thực sang chuỗi và ghép lại cũng hiểu nhưng cái quan trọng là ko biết tách các số nguyên các số thực các toán tử theo thứ tự để chuyển nguyên sang thực và ghép lại Bac Tue_NV ạ. Bác nghiên cứu giùm em phát, em mò mẫm mà chẳng xong toàn ra mấy anh như là 10.0.0 ........., mong các bác giúp đỗ. Thanks

Bạn vui lòng upload file mà bạn đã viết lên đây để anh em trên diễn đàn góp ý được không?
Nhưng Tue_NV vẫn thấy không ổn
Mình đặt ra trường hợp này nhé:
dấu / -> bạn thay bằng .0/
suy ra )/ -> bạn thay bằng ).0/ -> cái này không đúng rồi
Ví dụ như : (10-1)/3
-> sẽ kết quả là như vậy : (10-1).0/3 -> bạn thấy có đúng không???????
  • 1

#14 dkkx3a

dkkx3a

    biết lệnh trim

  • Members
  • PipPipPip
  • 190 Bài viết
Điểm đánh giá: 57 (tàm tạm)

Đã gửi 18 January 2010 - 05:08 PM

Bạn vui lòng upload file mà bạn đã viết lên đây để anh em trên diễn đàn góp ý được không?
Nhưng Tue_NV vẫn thấy không ổn
Mình đặt ra trường hợp này nhé:
dấu / -> bạn thay bằng .0/
suy ra )/ -> bạn thay bằng ).0/ -> cái này không đúng rồi
Ví dụ như : (10-1)/3
-> sẽ kết quả là như vậy : (10-1).0/3 -> bạn thấy có đúng không???????


Uhm, đúng thật, mình không nghĩ đến cái này. Để mình dọn dẹp cái LSP cho dễ dòm rồi gởi các Bác sửa giùm. Thanks
  • 0
TỰ SỰ
Biển vào chiều buồn giữa cô liêu
Sóng vỗ bờ bạc đầu con nước
Khi biển động như lòng ta chợt động
Biển ồn ào nhưng thực rất dịu êm.......