วันศุกร์ที่ 29 ตุลาคม พ.ศ. 2553

ช่วยกันทดสอบ patch แก้ bug วันที่พุทธศักราช export ไปยัง excel แล้วเสียหาย

และแล้ว bug http://www.openoffice.org/issues/show_bug.cgi?id=93503 ก็แก้ไขเสร็จสิ้นเรียบร้อย แต่ไม่รู้เมื่อไร Oracle จะ approved ก็ไม่รู้ แต่ก่อนที่ทาง Oracle จะ approved ผมจึงอยากให้ลองช่วยกันทดสอบ patch ที่แก้ไข bug ดังกล่าวแล้ว

สามารถดาวน์โหลดได้ ที่นี่


โดยวิธีการ patch คือ
  1. ปิดโปรแกรม OpenOffice.org ทั้งหมด รวมทั้ง quickstart ด้วย
  2. rename ไฟล์ svtmi.dll บนเครื่อง computer ของเราที่ c:\program files\openoffice.org3\program\svtmi.dll ให้เป็น svtmi.dll.bak (เพื่อ backup ข้อมูล)
  3. download และแตกไฟล์ (จะได้ไฟล์ svtmi.dll)
  4. copy ไฟล์ที่แตกออกมาไปที่ c:\program files\openoffice.org3\program\
ซึ่งส่ิงที่แก้ไขไปคือ
  1. เมื่อ export วันที่ที่มี format เป็น [~buddhist], Microsoft Excel จะเปิดขึ้นมาได้ถูกต้อง
  2. เมื่อเปิดวันที่ที่มี LCID จาก Microsoft Office ที่บ่งบอกว่าเป็นปีพุทธศักราช OpenOffice.org Calc จะเปิดได้ถูกต้อง
  3. เมื่อ export วันที่ที่มีเลขไทย Microsoft Excel จะเปิดขึ้นมาได้ถูกต้อง
  4. เมื่อเปิดวันที่หรือตัวเลขที่มีเลขไทย OpenOffice.org จะเปิดได้อย่างถูกต้อง
ดูข่าวได้จาก http://openoffice.in.th/
Continue Reading...

วันศุกร์ที่ 22 ตุลาคม พ.ศ. 2553

เปลี่ยนตัวเลขอาราบิก ให้เป็นเลขไทยบน OpenOffice.org Writer ด้วยมาโคร

เนื่องจาก @gumara ได้ฝากถามมาว่าบน OpenOffice.org สามารถกด keypad แล้วพิมพ์เป็นเลขไทยได้ไหม เพราะพวกหนังสือราชการนั้นจำเป็นต้องเป็นเลขไทย ให้คอยมากด shift + เลข ก็เสียเวลา

ปัญหาดังกล่าวไม่สามารถทำได้บน OpenOffice.org เนื่องมาจาก key ที่ให้เราสามารถตั้งค่าการทำงานต่างๆ บน OpenOffice.org มีอยู่จำกัดและไม่สามารถเพิ่มเองได้เหมือนกับ Microsoft Office ดังนั้นผมจึงคิดว่าควรทำเป็น extension หรือ ง่ายกว่านั้นก็คือ macro 

ดังนั้นผมจึงเขียนมาโครที่ทำการ convert ตัวเลขอาราบิกทั้งหมดภายในเอกสารให้กลายเป็นตัวเลขไทยซะดังนี้

sub main
  dim descriptor
  dim foundall
  dim found
 
  descriptor = ThisComponent.createSearchDescriptor()
  thainum = array("๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙")
  for num = 0 to 9
    with descriptor
      .SearchString = num
      .SearchCaseSensitive = False
    end with
  
    foundall = ThisComponent.findall(descriptor)
    for i = 0 to foundall.getcount() -1
      found = foundall.getbyindex(i)
      found.setstring(thainum(num))
    next
  next
end sub

แค่นี้ เมื่อกดรันมาโครดังกล่าว ตัวเลขภายในเอกสารของเราก็จะกลายเป็นเลขไทยแล้ว

-----------------------------------------------------------

เพิ่มเติมอีกนิด สำหรับการแก้ไขเลขไทยเฉพาะส่วนที่คลุมครับ

sub mainselected
  dim leftpos
  dim rightpos
  dim found
  dim descriptor

  descriptor = ThisComponent.createSearchDescriptor()
  thainum = array("๐", "๑", "๒", "๓", "๔", "๕", "๖", "๗", "๘", "๙")
  for num = 0 to 9
    with descriptor
      .SearchString = num
      .SearchCaseSensitive = False
    end with
    leftpos = thiscomponent.getcurrentcontroller().getviewcursor().getstart()
    rightpos = thiscomponent.getcurrentcontroller().getviewcursor().getend()

    found = thiscomponent.findnext(leftpos.getstart(), descriptor)
    do while not isnull(found)
      if -1 = thiscomponent.gettext().compareRegionEnds(found, rightpos) then exit do
      found.setstring(thainum(num))
      found = thiscomponent.findnext(found.end, descriptor)
    loop
  next
end sub

-----------------------------------------------------------
update

ทำเป็น extension เพื่อให้ติดตั้งแล้วใช้งานได้ทันทีครับ


download

เมื่อติดตั้งแล้วจะอยู่ที่เมนู format > convert to native number ครับโดยต้องคลุมก่อนแล้วเลือกใช้งานครับ
Continue Reading...

วันพฤหัสบดีที่ 7 ตุลาคม พ.ศ. 2553

ทำ image ให้เป็น button ใน drupal from

ห่างหายกับการเขียน blog ไปนาน วันนี้จะมาเขียนเรื่องการทำรูปให้เป็นปุ่ม button แต่ทำใน drupal กัน

ก่อนอื่นต้องบอกก่อนว่าใน html นั้นเวลาทำ input ที่มี type เป็น image, image นั้นๆ จะทำหน้าที่เป็น submit button โดยอัตโนมัติ คราวนี้เราอยากจะใส่ <input type="image" src="/path/to/image" /> ใน drupal แต่ปัญหาดันเกิดขึ้นที่ต้องใช้ drupal api น่ะสิจะทำยังไง

จากการ google ดูเราได้หน้า API Quickstart ของ drupal มาเป็นหน้านี้

http://drupal.org/node/751826

แต่ว่าดันไม่มี example ของ image เลย ก็เลยลองหาก็ไปเจอหน้า API Reference

http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6

ซึ่งบอกไว้ว่า type image นั้นใน drupal ต้องเขียนว่า image_button ซึ่งถ้าจะเขียนในรูปแบบ drupal form api จะเขียนได้ดังนี้

<?php
$form['example'] = array(
  '#type' => 'image_button',
  '#value' => 'path/to/your/image',
);
?>

แค่นี้เราก็จะได้ form image button โดยใช้ drupal api แล้วครับ
Continue Reading...

Blogroll

About