1. Tải bản cài đặt AutoIT mới nhất

    Chào Khách. Nếu bạn mới tham gia và chưa cài đặt AutoIT.
    Vui lòng vào topic trên để tải bản AutoIT mới nhất nhé
    Dismiss Notice
  2. Quy định và nội quy

    Chào Khách. Vui lòng đọc kỹ nội quy và quy định của diễn đàn
    Để tránh bị ban một cách đáng tiếc nhé!
    Dismiss Notice
  3. Hướng dẫn chèn mã AutoIT trong diễn đàn

    Chào Khách. Vui lòng xem qua bài viết này
    Để biết cách chèn mã AutoIT trong diễn đàn bạn nhé :)
    Dismiss Notice

UDF UDF viết số mũ và chỉ số dưới chân

Thảo luận trong 'Chia sẻ mã nguồn' bắt đầu bởi Quản lượng, 8/10/17.

Tags:
  1. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Thấy một số bạn hỏi việc viết phương trình hóa học trong Gui và viết số mũ trong Gui nên mình ngồi làm.
    Ý tưởng:
    -Hướng giải quyết 1: Tạo một Gui nhỏ với cỡ chữ nhỏ bên cạnh Gui lớn
    [​IMG]
    => Ý tưởng này viết chương trình cực kì khó với việc điều chỉnh vị trí các Gui, bất khả thi

    -Hướng giải quyết 2: Sử dụng trực tiếp mã Unicode có hỗ trợ
    => Nhược điểm của phương phải này là phải biên soạn ra các mã hex cực kì tốn thời gian và dĩ nhiên sẽ thiếu rất nhiều kí tự không thể đáp ứng được cho các bạn nhưng nó đơn giản hơn Hướng giải quyết 1 mình đề cập bên trên

    Giải quyết vấn đề:

    Sử dụng lệnh :
    Mã (AutoIt):
    chrW(hex)
    để viết số mũ và chỉ số dưới chân

    Còn đây là bộ mã hex của các kí tự số mũ và chỉ số dưới chân mà mình đã bỏ rất nhiều thời gian để biên soạn :
    google drive: http://123link.top/BUy6A6PT
    Chú ý: không phải tất cả các mã trong đó đều sử dụng được vì có một số mã hex phải cài thêm font chữ vào thì mới hiển thị được.

    UDF gồm có 2 hàm:
    High($string) => Biến $string thành số mũ như: aⁿ ,aⁱ ,a¹
    Low($string) => Biến $string thành chỉ số dưới chân như: log₂, aᵢ
    Link download UDF:
    Nội dung bị ẩn:
    ** Nội dung ẩn: Bạn phải nhấn 'Like' trước khi bạn có thể xem các dữ liệu ẩn chứa ở đây. **
    P/s: Mình thấy cái đề tài này này chưa ai làm hết nên ngồi làm :v Các bạn coi xong nhớ like giúp mình nhé!
     
    Chỉnh sửa cuối: 8/10/17
  2. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    thks anh
     
  3. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Mình mới update á! Nãy quên hướng dẫn sử dụng! Có 2 hàm là high và low, bạn có thể làm thêm các công thức toán nữa(vd: 2ⁱ )! Chắc bạn đang làm chương trình trắc nghiệm ha :v
     
  4. Hoàng Tuân

    Hoàng Tuân Thành viên
    • 8/11

    Tham gia ngày:
    9/1/16
    Bài viết:
    82
    Đã được thích:
    11
    dạ đúng r anh, à quên anh có ý tưởng nào về như 2 phần 3, căn hay ko anh :)
     
  5. Quản lượng

    Quản lượng qlf
    • 18/23

    Tham gia ngày:
    27/4/17
    Bài viết:
    74
    Đã được thích:
    39
    Muốn đẹp thì căng lắm, bạn có thể sử dụng tạm như sau:
    phép căn thức: √(a+b+c+2*4)
    phép chia: ¹²⁴⁵⁶ / ₃₄₈₆₉
    Mã (AutoIt):
    #include<UDF_superscript_subscript.au3>

    MsgBox(0,0,SqrtConvert("a+b+c+2*4"))
    MsgBox(0,0,DevideConvert(12456,34869))


    Func SqrtConvert($string)
        $string = chrW(0x221A) & "(" &$string & ")"
        return $string
    EndFunc

    Func DevideConvert($a,$b)
        return High($a) &" / "& Low($b)
    EndFunc
    chú ý: hàm DevideConvert($a,$b) chỉ truyền vào $a và $b là các con số nguyên thôi nhé. Có thể truyền chữ (a,b,c,...) nhưng sẽ ra kết quả không mong muốn, bạn cứ truyền thử từng chữ, không được chữ này thì lấy chữ khác.
     

Chia sẻ trang này

Đang tải...