06 November 2012

ใช้ ตัวหนอน สลับภาษาใน Windows 8


  การเปลี่ยนภาษาด้วยสัญลักษณ์รูปตัวหนอน (Grave Key) มีมานานแล้วครับ สำหรับ Windows Xp และ Windows 7 คงจะคล้ายกัน แต่สำหรับ Windows 8 เปลี่ยนไปนิดหน่อยครับ

การกำหนด Folder Option ใน Windows 8

     
          หลังจากมี Virus จำพวก Hidden File (ซ่อนไฟล์) ที่ระบาดใน Flash Drive หรือ Handy Drive ออกมา การก็อปงานผ่านอุปกรณ์พวกนี้ถือว่าเป็นเรื่องที่เสี่ยงพอสมควร เนื่องจากต้องคอย scan virus และ ดูว่าเป็นไวรัสหรือเปล่า วิธีที่จะช่วยให้เราสามารถรู้ได้เลยว่าอุปกรณ์ชิ้นนี้พกไวรัสมาด้วยหรือไม่นั้นก็คือ Antivirus ซึ่งถ้าหากว่ามีมันต้องหาเจอ แต่ Antivirus บางรุ่นนั้นไม่ได้ยกเลิกการซ่อนไฟล์ที่เกิดจาก virus ทำให้ User มักจะคิดว่าไฟล์หาย ดังนี้นจึงต้องไปตั้งค่าที่ Folder Option เพื่อให้แสดงไฟล์ที่ซ่อนอยู่ และแน่นอนให้แสดงนามสกุลของไฟล์นั้นๆด้วย เช่น .exe .pdf .word เป็นต้น ซึ่งถ้าออกมาเป็น .exe แต่หน้าตาเป็น Folder แล้วละก็ แสดงว่าอุปกรณ์ชิ้นนั้นมี Virus แถมมาด้วยแล้วละ

05 October 2012

The 'Microsoft.JET.OLEDB.4.0' provider is not registered on the local machine.

     
       หลังจากที่ผมหันไปเขียน Delphi ผมก็แทบจะไม่ได้จับ .Net อีกเลย จนกระทั้งผมมีปัญหากับโปรแกรมนำเข้าไฟล์เงินเดือน ที่พัฒนาด้วย Visual Studio 2008 (3 ปีที่แล้ว) ดันมากบฏเพราะไม่สามารถ นำเข้า File Excel 2003 ที่รันบน Windows 7 64 bit ได้ มันจะขึ้น Error ว่า The 'Microsoft.JET.OLEDB.4.0' provider is not registered on the local machine. ทั้งที่ Run บน Windows 7 32 bit ก็ไม่เป็นไร     

01 October 2012

การทำไฟล์ Install ด้วยโปรแกรม NSIS แบบ Zip File

การทำไฟล์ Install ด้วยโปรแกรม NSIS แบบ Zip File
Purpose
สร้างตัว Setup แบบใช้ Zip File
Description
เป็นการสร้างตัว Setup โดยการนำเอาโปรแกรมที่เราต้องการมา Zip รวมกันไว้แล้วใช้ NSIS เป็นตัวแตกไฟล์ออกมา
ไว้ที่ Path ที่เราต้องการ ซึ่งกับการทำ Self Extraact ของ Winrar

Ricoh Aficio MP 4500 มีปัญหาภาษาไทย กับ Windows 7 หรือเปล่า

 "Ricoh Aficio MP 4500 มีปัญหาภาษาไทย กับ Windows 7 หรือเปล่"  สำหรับผมแล้วมันเป็นคำถามที่ยังไม่ได้คำตอบมานาน เพราะเมื่อ Print ออกมาแล้วตัวอักขระและวรรณยุกต์กับปนกันมั่วไปหมด แม้จะโพสถามใน Pantip แล้วก็ตาม บ้างก็ว่าให้ copy font จาก XP มาใส่ บ้างก็ว่าให้ Update Driver ซึ่งผมก็ทำมาจนหมดแล้ว ท้ายที่สุดแล้วก็ต้องโทรแจ้งศูนย์ Ricoh เรื่องราวเงียบหายไปเกือบเดือนจนกระทั้งมีช่างเข้ามาตรวจสอบ แล้วบอกวิธีแก้ให้ ผมจึงนำมาแชร์กันครับ

13 July 2012

Delphi การเปลี่ยนสี Column Header ใน CxGrid


           หัวข้อวันนี้เป็นเรื่องที่เป็นปัญหากับโปรแกรมเมอร์ที่ใช้ Dev Express ครับ ปัญหาที่พบก็คือเมื่อเวลาที่เราต้องการเปลี่ยนสี Column Header หรือ หัวคอลัมน์ มันจะไม่ง่ายเหมือน Version เก่าๆ ที่เลือกเปลี่ยนสีได้เลย ต้องมีการปรับเลือก Option นิดหน่อยเพื่อให้สามารถแสดงผลได้อย่างถูกต้องครับ

03 July 2012

HOSxP Report Design ตอน DBPipeline


ภาพจาก www.columbiatechnologies.com

มีคนถามผมว่าหากจะเริ่มต้นเขียนรายงานสักตัวต้องเริ่มตรงไหนก่อนดี ผมคงตอบว่า
  1. ต้องรู้จักภาษา SQL เป็นพื้นฐานก่อน.
  2. ต้องรู้จัก ตารางต่างๆ ใน HOSxP ก่อน
  3. ต้องรู้จัก DBPipeline 
  4. ต้องรู้จึก คำสั่งต่างๆใน Report Design ของ HOSxP
  5. ต้องรู้จัก Control ต่างๆ ที่มีใน Report Design ของ HOSxP


HOSxP Report Design ตอน Function pickuplist

       วันก่อนมีน้องมาถามว่า... "พี่ผมมี Report ที่เกี่ยวกับชื่อยา ผมต้องการให้เขาเลือกชื่อยาได้เลยโดยไม่ต้องสร้างรายงานหลายตัวผมจะทำอย่างไร" ผมเลยแนะนำให้ใช้ Function getpickuplist ซึ่งเป็น 1 ใน Function ของ HOSxP Report Designer โดยเมื่อ Preview หรือจะ Print รายงาน ก็จะมี Dialog Box ขึ้นมาถามดังรูปด้านล่าง เพื่อให้เราเลือกก่อนที่จะไปขึ้นตอนต่อไป  บทความนี้ผมจะเล่าถึงวิธีการนำไปใช้งานเจ้า getpickuplist กันครับ โดยผมขอยกตัวอย่างของการเลือกชื่อตำบลแทนชื่อยาละกันนะครับ

HOSxP : "Invalid PROVIS CODE 506"

   เมื่อสัก 2-3 สัปดาห์ก่อนผมได้รับโทรศัพท์ให้ไปที่ห้องสุขาภิบาลและควบคุมโรคเนื่องจากได้สามารถบันทึกข้อมูลโรค ไข้เต็งกี่ หรือ ไข้เลือดออก (Dengue Fever) ได้ นั่งดู Query ไปสักพักก็ต้องตกใจ

26 June 2012

ก้าวแรกกับ Delphi ตอน การเช็ค Column Index ใน DBGrid ของ Devexpress




    ก้าวแรกกับ Delphi ในตอนนี้จะเป็นการกล่าวถึงการทำงานกับ DBGrid ของ Devexpress ครับ
สำหรับตัวอย่างนี้จะเป็นการตรวจสอบว่า cell ที่เรากำลัง Click อยู่นั้นอยู่ใน Column ที่เราต้องการใช่หรือไม่ ในกรณีนี้ผมต้องการเช็คว่าเป็น column index ที่ 0 ใช่หรือไม่ หากใช่จะทำการ show messagebox ครับ

[Delphi]
var AColumn: TcxGridDBColumn; begin AColumn := ACellViewInfo.Item as TcxGridDBColumn; if AColumn.Index = 0 then showmessage('Hello World');
จุดที่เดายากก็น่าจะเป็นการสร้างตัวแปล AColumn มารับค่า Column Index นั่นเองครับ เมื่อรู้อย่างนี้แล้วก็ลุยต่อเลยครับ..


ขอบคุณ web Devexpress ครับ

19 May 2012

บันทึกกำลังใจ ตอน "พี่ฟาร์ม"

         
         
         บ่ายวันนี้เจ้าหน้าที่ รพ.สต. โทรเข้ามา "พี่ฟาร์ม คอมพ์เข้าเครื่องแม่(ข่าย) ไม่ได้ค่ะ"  แม้ผมจะอายุน้อยกว่าแต่เจ้าหน้าที่ที่นี่พากันเรียก "พี่ฟาร์ม" กันทุกคนจนทำให้อดส่องกระจกดูไม่ได้ว่า ผมขาวของเรามันเพิ่มขึ้นอีกหรือเปล่า ผมถามคำถามที่ผมมักจะถามเป็นประจำ "ได้ลอง Restart เครื่อง หรือยังครับ" และคำตอบที่ได้เป็นประจำก็คือ "Restart แล้วก็ยังไม่ได้ค่ะ" (โดยส่วนตัวแล้วแอบดีใจที่อย่างน้อย User ที่ผมดูแลสามารถเรียนรู้ที่จะพยายามแก้ปัญหาเบื้องต้นด้วยตัวเอง) และคำตอบของผมที่ผมมักจะตอบเป็นประจำเหมือนกันก็คือ "แล้วผมจะไปดูให้ครับ" ผมจึงขับรถออกไปดูยังสถานที่เกิดเหตุ ปรากฏว่า ไม่สามารถติดต่อฐานข้อมูลได้จริงอันเนื่องมาจาก Lan on Broad พัง อาจเนื่องมาจากไฟกระชากหรือสาเหตุใดก็สุดจะทราบได้ หากเป็นสมัยก่อนจะซื้อ Lan Card สักตัวคงต้องเข้าตัวเมือง แต่สมัยนี้ผมแค่วนรถออกมานอก รพ.สต. ก็ซื้อได้แล้วราวกับขับรถออกมาซื้อไอศครีม
   
          เมื่อเปลี่ยนอะไหล่ ทุกอย่างก็ใช้ได้เหมือนเดิม และแล้วหน้าที่ของ "พี่ฟาร์ม" ก็ได้จบลง พร้อมกับขนมทุกเบ้อเร้อและก๋วยเจ้าอร่อยกลับมาทานที่บ้านกับภรรยาอย่างมีความสุขสืบไป

ไม่น่าเชื่อว่า บางครั้งบางทีแค่รอยยิ้มจริงๆเล็ก หรือคำทักทายอย่างเป็นเอง ก็ทำให้หัวใจพองโต และ ยินดีที่จะช่วยไม่ว่าเมื่อไหร่ "กำลังใจมักมาจากสิ่งที่คาดไม่ถึงเสมอ"

20 April 2012

ก้าวแรกกับ Delphi ตอนที่ 4 Bug ปริศนา กับภาษา Programing

ภาพจาก http://www.idatabase.in.th
      เมื่อแรกจับ Delphi สิ่งที่ไม่ชอบมากๆอย่างแรกคือ Error ที่แสดงไม่เป็น ภาษามนุษย์ เหมือนกับ VB ที่ถนัด ดังนั้นเมื่อเจอ Bug แต่ละตัว ก็หน้ามืดเพราะไม่รู้ว่าผิดตรงไหน อย่างไรเลยต้องค่อยๆ เดา บวกกับความไม่ถนัดในภาษา Pascal เลยทำให้ Bug ตัวหนึ่งผมต้องใช้เวลาแก้หลายชั่วโมง ซึ่ง Bug ส่วนใหญ่ที่ผมพบมักเกิดจากความไม่เข้าใจใน Function หรือ Syntax ที่ใช้ในการเขียน โปรเจคที่ดูเหมือนจะง่ายๆ ก็ปาเข้าไปหลายอาทิตย์ แต่ผมก็คิดว่าอย่างๆน้อยๆ ก็ต้องฝึก จะยากจะง่ายก็ใช้ Delphi ทำไปก่อนจนกว่าเราจะเข้าใจและใช้เป็น Bug จึงเหมือนเป็นปริศนาที่ผมต้องเจอ และ ต้องแก้ให้ได้
     
      การแก้ Bug ของผมส่วนใหญ่ๆเลยก็คือหาจาก Google หรือ Source code เก่า ของ HOSxP รวมถึง Source Code ที่พี่อาร์มให้มาบ้าง ของ อ.ดุสิต บ้าง มาประกอบกัน จากการศึกษา Source Code ของ อาจารย์ทั้งหลาย ทำให้ได้ทราบทั้งแนวความคิด รูปแบบการเขียน และอื่นๆ เท่าที่ Source Code จะสื่อได้
จากการอดนอนหลายคืนเพื่อศึกษา แม้จะใช้เวลานานแต่มันก็คุ้มค่าครับ

12 April 2012

MySQL การใช้เงื่อนไขในการเลือก Diag ที่เป็น ICD10 หรือ ICD9 เท่านั้น

ที่มาของภาพ http://chrissanders.org

ในการเลือก Diagnosis จากตาราง ovstdiag โดยต้องการเลือกเฉพาะ Diagnosis ที่เป็น ICD10  หรือ ICD9 เท่านั้น สามารถทำได้โดยการใช้เงื่อนไขว่า character แรกต้องเป็น หนังสือ (ICD10) ซึ่งทำได้โดยการใช้คำสั่ง REGEXP  '[A-Za-z]'    หรือ เป็นตัวเลข (ICD9)  ซึ่งทำได้โดยการใช้คำสั่ง REGEXP  '[0-9]' เป็นตัวจับ

ตัวอย่าง ICD10


SELECT ov.*,icd101.`code`,icd101.name,dc.`name` as doctorname from ovstdiag ov  
left join doctor dc on ov.doctor = dc.`code`
left join icd101 on ov.icd10 = icd101.`code` where vn = '550101080140' and left(icd103,1) REGEXP '[A-Za-z]'   order by diagtype

ตัวอย่าง ICD9

SELECT ov.*,icd9cm1.`code`,icd9cm1.name,dc.`name` as doctorname from ovstdiag ov  
left join doctor dc on ov.doctor = dc.`code`
left join icd9cm1 on ov.icd103 = icd9cm1.`code` where vn = '550101080140' and left(icd103,1) REGEXP '[0-9]'   order by diagtype



คำสั่ง REGEXP ชื่อเต็มคือ Regular Expression คำอธิบาย : http://dev.mysql.com/doc/refman/5.1/en/regexp.html




ที่มา 
ตัวอย่างที่ใช้ศึกษา : http://stackoverflow.com/questions/1471523/select-only-rows-that-contain-only-alphanumeric-characters-in-mysql

10 April 2012

แรงบรรดาลใจ สร้างได้ไม่สิ้นสุด

ที่มาของรูป http://megandouglasteach.blogspot.com

          ในสถานการณ์ที่บีบคั้นกดดันมากๆ บางครั้งสิ่งที่ทำให้เรากัดฟันอดทน แล้วก้มหน้าก้มตาพยายามสู้ต่อ ก็เป็นเพียงคำพูดๆ หนึ่งของใครบางคนเท่านั้น บางทีอาจไม่ใช่แม้แต่คำให้กำลังใจ และในบางครั้งอาจไม่ได้เป็นคำพูดที่มาจากคนที่เราแคร์เสียด้วยซ้ำ
       อย่างตอนที่ผมรู้สึกท้อในการเรียนที่อเมริกามากๆ คำพูดที่คอยผลักดันตัวผมกลับเป็นคำทำนายของหมอดูปากพล่อยคนหนึ่งที่ตราหน้าผมไว้ว่าผมจะทำให้พ่อกับแม่ผิดหวัง
      แล้วไม่กี่ปีม
านี้ตอนที่ผมรู้สึกเหนื่อยกับการสอนนิสิตนักศึกษาในมหาวิทยาลัยเหลือเกิน สิ่งที่ทำให้ผมรู้สึกว่าอาชีพอาจารย์นี้ยังมีค่าอยู่ก็เป็นคำพูดจากนักเรียนมัธยมคนหนึ่งที่ผมเคยสอน เขาบอกผมว่า "อาจารย์เป็นแรงบันดาลใจของผม
แล้วคำพูดที่คอยผลักดันของพวกเราแต่ละคนคืออะไรกันล่ะครับ เชิญเข้ามาแบ่งปันเรื่องราวดีๆ ให้ฟังกันหน่อย และบางทีแล้ว คนที่ยังไม่มีแรงผลักดันเช่นนี้อยู่เลย อาจได้รับแรงบันดาลใจจากเรื่องราวของใครสักคนในนี้ก็ได้ :-)
 
โดย ดร.เอกสิทธิ์ เทียมแก้ว "  บทความดีๆ ก็สร้างแรงบันดาลใจให้กับใครหลายๆคน ตัวผมเองก็เช่นกัน

    แรงบันดาลใจของผมมักมาจากหนังที่ผมดู หนังสือที่ผมอ่าน บางทีผมได้แรงบันดาลใจจากคำพูดของคนอื่น หรือระบบงานใหม่ๆที่เข้ามาท้าทาย แต่ผมก็แอบหมดไฟอยู่เรื่อย ร่างกายมันเริ่มหนัก ไม่มีสมาธิ สมองไม่วิ่ง ไม่อยากทำงาน เบื่อหน่าย รู้สึกหยุดคิดเรื่องงานไม่ได้แม้จะรู้ตัวว่าคิดเรื่องงานมากเกินไป แต่ก็ยังไม่หยุดคิด มีเรื่องเครียดรุมเร้า จนคิดแล้วว่าบางทีอาจจะเป็นโรคซึมเศร้า ในวันที่ดูเหมือนจะล้มเพราะความเหนื่อยล้า เสียงตะโกนว่า "พ่อกลับมาแล้ว" ดังลั่นบ้านพร้อมกับเสียงวิ่งตุบๆมารับเมื่อผมกลับมาถึงบ้าน แล้วถามว่า "พ่อจ๋า พ่อเสร็จงานหรือยัง" ผมยิ้มแล้วตอบว่า "พ่อเสร็จงานแล้วลูก" ลูกสาวคนสวยวิ่งเข้ามากอดแล้วพูดว่า "เอิงรักพ่อที่สุดในโลกเลย" สำหรับคนเป็นพ่อแล้ว ลูกคือแรงบันดาลใจ กำลังใจ และหัวใจของพ่อ 

    หากคุณเหนื่อยล้าจนเกินใจจะรับไหว กลับไปบ้านเถอะครับ แล้วคุณจะพบว่าแรงบันดาลใจสร้างได้ไม่สิ้นสุดจริงๆ

                                          
                                 สำหรับคนเป็นพ่อแล้ว ลูกคือแรงบันดาลใจ กำลังใจ และหัวใจของพ่อ
                                                                                      เสมอและตลอดไป

16 March 2012

กาลครั้งหนึ่งในมอนอ (One upon a time in NU)


     หลังจากที่กรำศึกกับงานและงานมาหลายต่อหลายเดือน ข้าพเจ้าได้ใช้เวลาสองวันที่ผ่านมากลับไปตามรอยชีวิตช่วงมหาวิทยาลัยของตัวเองโดยการกลับไปที่คณะ ขับรถจากตัวเมืองไม่นานข้าพเจ้าก็ได้กลับเข้ารั่วมหาวิทยาลัยอีกครั้ง หลังจากที่ผ่านมา 8 ปี บอกกับตัวเองว่าอยากพบอาจารย์ที่เคยประสิทธิ์ประสาทวิชาความรู้ให้สักครั้ง  แต่ก็พบแต่เพียงหน้าห้องทำงานเพราะโชคร้ายที่อาจารย์วศินท่านติดประชุม อ.อธิศ ไม่อยู่ เนื่องจากปิดภาคเรียน

    ข้าพเจ้าเดินไปวนไปวนมาในคณะ เพื่อระลึกความหลังเก่าๆ ภาพตัวเองเดินไปเดินมาในคณะ ภาพที่นั่งเรียนอยู่ในห้องเรียน เพื่อนๆที่เคยกิน เคยหัวเราะ และกิจกรรมในคาบเรียนที่เราเคยทำด้วยผุดขึ้นในหัวอย่างต่อเนื่องเหมือนในหนัง ทำให้ข้าพเจ้าเผลอยิ้มออกมาอยากมีความสุข คณะที่เคยเรียนดูเก่าและทรุดโทรมลงไปมาก โต๊ะที่เคยนั้งยังคงอยู่ที่เดิมของมัน ห้องต่างๆที่เคยรู้จักก็สลับย้ายที่ ประตูห้องประชุมที่เคยสีสันเข้มก็จากลง เสียงซ้อมเชียร์ของนักศึกษายังคงดังก้องมาจากอาคารกิจกรรมหลังใหม่อย่างต่อเนื่อง มหาวิทยาลัยวันนี้ได้เปลี่ยนไปแล้วแต่สิ่งที่ยังสัมผัสได้เสมอคือกลิ่นอายของมหาวิทยลัยที่ยังคงเหมือนเดิม คงไว้ซึ่งมลคลังแบบมหาวิทยาลัยนเรศวร ที่หากผู้ที่ไม่เคยศึกษาที่นี้คงไม่มีวันเข้าใจ

    ข้าพเจ้าเดินเลยมาถึงตึก IT ทุกอย่างยังแทบจะเหมือนกับเมื่อสมัยที่ผมทำงานอยู่ ข้าพเจ้าเดินเข้าไปที่ห้องธุรการเพื่อมองหาคนรู้จัก เมื่อเปิดประตูเข้าไปมีคุณพี่่คนหนึ่งจำผมได้แม้จะหลายปีแล้ว ทักทายกันสักพัก รุ่นน้องที่คณะที่เคยทำงานด้วยกันในวันนั้นก็เดินเข้ามาในห้อง วันนี้เธอกลายเป็นเจ้าหน้าที่เต็มตัวเห็นก็อดยิ้มไม่ได้ ข้าพเจ้าถามหาพี่ขวัญ เพราะข้าพเจ้าอยากพบแต่ไม่รู้ว่าจะไปหาที่ไหน เมื่อสอบถามจนได้ความว่าแกย้ายไปอยู่กองบริการนิสิตแล้ว ภาระกิจตามรอยอดีตของผมจึงไม่ถือว่าล้มเหลวเสียทีเดียว

    ในที่สุดข้าพเจ้าได้เจอกับพี่ขวัญ ผู้ที่เป็นทั้งพี่ ทั้งอาจารย์ และเพื่อนร่วมงานที่ผมนับถือและจัดว่าคุ้นเคยกันมากที่สุด เราได้นั่งคุยกันในเรื่องเก่าๆ ส่วนใหญ่ก็ประวัติอันไม่น่าจดจำของผม ที่เคยก่อเรื่องน่าปวดหัวไว้ ซึ่งได้ทั้งข้อคิดและแนวคิดในการทำงานต่อไปของผมต่อไป เรามีเวลาจำกัด เพียงกาแฟหมดแก้วก็ต้องแยกย้ายกันไป

   ข้าพเจ้าขับรถออกจากรั้วมหาวิทยาลัยอย่างมีความสุขความทรงจำเกี่ยวกับชีวิตในรั่วมหาวิทยาลัยในยุคสมัยของข้าพเจ้าจะคงอยู่ในตัวของข้าพเจ้าตลอดไป
                                                                                               

                                                                                                             อดีตนักศึกษาปี 44'

04 March 2012

ก้าวแรกกับ Delphi ตอนที่ 3

   การประยุกต์ใช้ Abbrevia 5.0 ในการแตกไฟล์ ZIP


ภาพประกอบจาก http://www.downlopedia.com/7-zip

     เมื่อผมทำงานกับระบบ 21 แฟ้ม เป็นธรรมดาที่ต้องเขียนโปรแกรมเพื่อแตกไฟล์ ZIP (Compress File) ซึ่งเป็นไฟล์บีบอัด เพื่อนำข้อมูลด้านในออกมาวิเคราะห์ แต่การจะทำอย่างนั้นใน Delphi ผมไม่เคยลองมาก่อน จึงนั่งศึกษาใน Webboard จากหลายๆที่ ซึ่งข้อมูลส่วนใหญ่ผมมักได้จาก Stack OverFlow เมื่อวานผมได้เจอกระทู้ที่ถามว่า จะใช้ Component ใดมาทำงานกับไฟล์ ZIP ก็ได้รับคำตอบว่าทำไมไม่ลอง เจ้า Abbrevia ละ เป็น Opensource ด้วยนะ ผมเลยไป Download มาลองดู จากการใช้งานต้องยอมรับว่ามัน OK จริงๆครับ
เลยทำเป็น Code ตัวอย่างไว้ให้ดูครับ



11 January 2012

ตัวย่อในหน้าซักประวัติของ HOSxP

     สำหรับพยาบาลแล้วการลงข้อมูลหน้านี้เป็นเรื่องธรรมดา แต่เวลา Admin หน้าใหม่อย่างเราจะทำรายงาน คำพวกนี้มันแปลว่าอะไรหนอ  วันนี้เลยถือโอกาสศึกษาจริงจัง


10 January 2012

ก้าวแรกกับ Delphi ตอนที่ 3 Delphi XE2 อ่าน ไฟล์ INI

  จากตอนที่ 2 ผมกล่าวถึงปัญหาการใช้ Component ที่ใช้สร้าง Turbo HOSxP ในเรื่องของ INI File ใช้ไม่ได้กับ Delphi Xe2 ครับ  ผมจึงเลือกที่จะประยุกต์ใช้ ผมทำดังนี้ครับ (ขอข้ามขั้นตอนการสร้าง Form ไปเลยนะครับ) ผมเพิ่ม System.IniFiles ลงใน uses พิมพ์ system ตามด้วย "." แล้วมันจะโชว์ให้เราเลือก

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
unit TiniU;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes,
   Vcl.Graphics,Vcl.Controls, Vcl.Forms, Vcl.Dialogs,system.IniFiles, Vcl.StdCtrls;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

การบันทึก ข้อมูลวัคซีน ใน HOSxP

การบันทึก ข้อมูลวัคซีน ใน HOSxP


   1. ระบบงานอื่นๆ -- ระบบบัญชี 1-8 -- ข้อมูล Vaccine

05 January 2012

ก้าวแรกกับ Delphi ตอนที่ 2


     เมื่อผมตัดสินใจเริ่มหัดเขียน Delphi ผมก็ต้องมองหาโปรแกรมที่จะนำมาใช้ในการพัฒนา แน่นอนผมมี Delphi 2007 แล้ว แต่ผมสนใจตัว Delphi XE2 มากเพราะได้ยินหนาหูว่าพัฒนารองรับ 64 bit (เครื่องผมยังใช้ 32 bit อยู่เลย) พัฒนา app บน Android และ iOS ได้ (ใช้ FireMonkey) แหมไหนๆจะหัดเขียนแล้วก็ขอทันสมัยกับเขาหน่อย ไปควานหาตั้งนานก็ได้ Delphi XE2 มาจนได้

ก้าวแรกกับ Delphi ตอนที่ 1

 
      Delphi สำหรับผมจริงๆแล้วไม่ใช่เรื่องใหม่ ผมเคยลงตั้งแต่ยัง Version 5 ด้วยซ้ำ แต่ในเวลานั้น ผมสนใจ VB กับ PHP มากกว่า ผมมองว่า Pascal เป็นภาษาเก่าแก่เรียกได้ว่าในตำนานเลยทีเดียว คิดว่าไม่นานมันคงจะตายไปในที่สุด นั้นคือความคิดในแบบเด็กๆของผมในตอนนั้น แต่ทว่านอกจากไม่ตายแล้ว ยังได้รับความนิยมต่อมาเรื่อยๆ อีก จุดที่น่าสนใจแบบสุดๆก็คือ Component ฟรีมากมายที่หาได้จาก Opensource ต่างๆ ส่วนมากก็จาก SourceForge.Net

Blog Archive