ไปเจอฟังก์ชั่นในตำนานที่มีการโพสไว้เมื่อยี่สิบปีก่อน หลายคนนำไปใช้ อึ้งและทึ่งกับคนที่คิด วันนี้เวลาผ่านไปนานมาก ฟังก์ชั่นนี้ก็ยังคงอยู่ในใจหลายๆ คน
แปลงค่าเงิน มาเป็นตัวอักษรไทย
999.99 (เก้าร้อยเก้าสิบเก้าบาทเก้าสิบเก้าสตางค์) คิดได้สุดยอดมาก บรรทัดเดียวจริงๆ
FUNCTION spell
PARAMETER Vn
Va = STRT(TRAN(Vn,'@R G9A9B9C9D9E9F9A9B9C9D9E9F9.9F9S'),' F0.','')
RETURN STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(;
STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(STRT(;
SUBS(Va,RAT(' ',Va)+2,35),'1','หนึ่ง'),'2','สอง'),'3','สาม'),'4','สี่'),;
'5','ห้า'),'6','หก'),'7','เจ็ด'),'8','แปด'),'9','เก้า'),'.0F0S','บาทถ้วน'),;
'0F',''),'0E',''),'0D',''),'0C',''),'0B',''),'0',''),'A','ล้าน'),;
'B','แสน'),'C','หมื่น'),'D','พัน'),'E','ร้อย'),'F','สิบ'),'.','บาท'),;
'หนึ่งสิบ','สิบ'),'สองสิบ','ยี่สิบ'),'สิบหนึ่ง','สิบเอ็ด'),'S','สตางค์')
ขอบคุณ คุณ Karun ที่ได้สร้างฟังก์ชั่นนี้ไว้ให้พวกเราใช้งาน
14 มีนาคม 2561
07 มีนาคม 2561
SQL Server - Clear Transaction Log
Transaction Log คือ ข้อมูลที่เกิดขึ้นจากการบันทึกการทำงานทั้งหมดของฐานข้อมูล โดยจะเกิดขึ้นเมื่อเรากำหนดรูปแบบการกู้คืนข้อมูล (Recover Model) เป็นแบบ full หรือ bulk operation ซึ่งกำหนดในระหว่างที่เราสร้างฐานข้อมูล หรือถ้าเป็นฐานข้อมูลเดิมก็เข้าไปแก้ไขรูปแบบได้โดยคลิกขวาที่ฐานข้อมูล แล้วเลือกรายการ Properties ดังภาพ

สำหรับวิธีการเคลียร์ Transaction Log สามารถทำได้โดยใช้คำสั่ง ดังนี้
สำหรับ SQL Server 2005 หรือเก่ากว่า
BACKUP LOG ชื่อฐานข้อมูล WITH TRUNCATE_ONLY
BACKUP LOG ชื่อฐานข้อมูล WITH NO_LOG
ทั้ง 2 คำสั่งทำหน้าที่เหมือนกัน คำสั่ง WITH NO_LOG ใช้ในกรณีที่เราไม่สามารถใช้ TRUNCATE_ONLY ได้ ดังนั้น ก็สั่งได้ทั้ง 2 คำสั่งได้เลย
แล้วทำการลดขนาดของไฟล์ Transaction Log ให้เหลือน้อยๆ เช่น เหลือ 1 MB
DBCC SHRINKFILE (ชื่อฐานข้อมูล_log, 1)
สำหรับ SQL Server 2008 ขึ้นไป
สำหรับชื่อฐานข้อมูล ให้เติม _log ต่อท้ายด้วย
DBCC SHRINKFILE (N'ชื่อฐานข้อมูล_log' , 0, TRUNCATEONLY)
DBCC SHRINKFILE (N'ชื่อฐานข้อมูล_log' , 1)
สวัสดีมีพื้นที่เหลือใช้
อย่าลืม BACKUP ข้อมูลก่อนน่ะครับ
จะปรากฎหน้าต่าง Database Properties ขึ้นมาก ให้เลือกรายการ Options จะปรากฏรายละเอียดดังภาพ

สามารถกำหนดรูปแบบการกู้คืนได้ตามต้องการ ปกติถ้าเป็นฐานข้อมูลที่ใช้งานจะกำหนด Recovery Mode เป็นแบบ Full ซึ่งรูปแบบนี้จะทำให้ทุกครั้งที่มีการกระทำกับฐานข้อมูลเมื่อมีการสั่งงานคำสั่ง เช่น INSERT UPDATE DELETE หรือ SELECT เป็นต้น ทุกคำสั่งที่สั่งงานก็จะมีการเก็บ LOG ไว้ภายใต้ไฟล์ Transaction Log ทำให้เมื่อใช้งานไปนานวัน ก็จะทำให้ไฟล์ Transaction มีขนาดใหญ่มาก กินพื้นที่ของฮาร์ดดิสก์เป็นจำนวนมาก แต่ถ้าเราทำการเคลียร์ข้อมูลของ Transaction Log ออกไปก็จะทำให้ไม่สามารถกู้คืนข้อมูลในช่วงเวลาที่ทำการเก็บ Transaction Log นั้นได้อีก ** ดังนั้น ก่อนจะทำการเคลียร์ Transaction Log ให้ทำการ Backup แบบ Full Backup ข้อมูลเก็บไว้ก่อน เมื่อทำการ Backup แล้วก็ทำการเคลียร์เพื่อเพิ่มพื้นที่ได้ตามต้องการ
สำหรับวิธีการเคลียร์ Transaction Log สามารถทำได้โดยใช้คำสั่ง ดังนี้
สำหรับ SQL Server 2005 หรือเก่ากว่า
BACKUP LOG ชื่อฐานข้อมูล WITH TRUNCATE_ONLY
BACKUP LOG ชื่อฐานข้อมูล WITH NO_LOG
ทั้ง 2 คำสั่งทำหน้าที่เหมือนกัน คำสั่ง WITH NO_LOG ใช้ในกรณีที่เราไม่สามารถใช้ TRUNCATE_ONLY ได้ ดังนั้น ก็สั่งได้ทั้ง 2 คำสั่งได้เลย
แล้วทำการลดขนาดของไฟล์ Transaction Log ให้เหลือน้อยๆ เช่น เหลือ 1 MB
DBCC SHRINKFILE (ชื่อฐานข้อมูล_log, 1)
สำหรับ SQL Server 2008 ขึ้นไป
สำหรับชื่อฐานข้อมูล ให้เติม _log ต่อท้ายด้วย
DBCC SHRINKFILE (N'ชื่อฐานข้อมูล_log' , 0, TRUNCATEONLY)
DBCC SHRINKFILE (N'ชื่อฐานข้อมูล_log' , 1)
สวัสดีมีพื้นที่เหลือใช้
อย่าลืม BACKUP ข้อมูลก่อนน่ะครับ
18 มกราคม 2561
SQL Server - ติดตั้ง SQL Server บน Linux (Ubuntu)
เป็นการปรับตัวของ Microsoft ที่พัฒนา SQL Server สำหรับติดตั้งบน OS Linux ทำให้ผู้ที่อยากใช้ Linux เป็น Server ทำการติดตั้ง SQL Server ได้แล้ว (ประหยัดงบไปได้เยอะสำหรับ หน่วยงานเบี้ยน้อยหอยน้อย) เอาละมาเริ่มกันเลย
1. ทำการติดตั้งระบบปฏิบัติการ Linux สำหรับผู้เรียนใช้ Ubuntu 16.04 ซึ่ง Microsoft ก็ระบุให้ใช้รุ่น 16.04 หรือใหม่กว่า
2. เปิดหน้าต่าง Terminal ขึ้นมาแล้วลุยกันเลย (วิธีติดตั้งอ้างอิงมาจาก https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu)
2.1 Import the public repository GPG keys: ด้วยคำสั่ง
2.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง
2.3 ติดตั้ง SQL Server : ด้วยคำสั่ง
ในขั้นตอนนี้การติดตั้งจะให้
2.4 ทำการเรียก mssql-conf setup เพื่อเลือกว่าจะติดตั้ง SQL Server รุ่นไหน มีทั้งเสียเงินและฟรี หลายรุ่นมาก และกำหนดรหัสผ่านสำหรับ sa : ด้วยคำสั่ง
การกำหนดรหัสผ่านให้กำหนดอยา่งน้อย 8 ตัว มีตัวอักษรพิมพ์ใหญ่ พิมพ์เลข ตัวเลข
2.5 ดูสถานะของ service ที่ run : ด้วยคำสั่ง
เรียบร้อยสำหรับการติดตั้ง SQL Server บน Linux แต่ยังไม่จบ... อ่านต่อข้อ 3
3. ติดตั้ง SQL Server Command Line Tools เครื่องมือป้อนคำสั่ง SQL แบบ textmode บน Linux
3.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง
3.3 ติดตั้ง SQL Command Line : ด้วยคำสั่ง
*** เรียบร้อยสำหรับการติดตั้ง SQL Server บนระบบปฏิบัติการ Linux
การเรียกใช้ SQL Server ผ่านทาง SQL Server Command Line ใช้คำสั่ง
ที่เหลือก็สร้าง database สร้าง table ด้วยคำสั่ง T-SQL ตามต้องการ
หรือ เปิดใช้งาน SQL Server Management Studio จากเครื่องที่เป็น Windows ที่อยู่ในเครือข่ายเดียวกันโดยอ้าง Server ด้วยหมายเลข ip ของ Server Linux
ต้องการดูหมายเลข ip ของ Linux ให้ใช้คำสั่ง
4. การติดตั้ง Full Text Search
5. หากต้องการจัดการฐานข้อมูลด้วย SQL Server Management Studio (SSMS) สำหรับในช่วงเวลานี้จำเป็นต้องติดตั้งบนระบบปฏิบัติการ Windows ที่เครื่องลูกข่ายเท่านั้น ยังไม่รู้ว่าอีกเมื่อไหร่ MS จะทำ SSMS สำหรับ Linux มาให้เราใช้
5.1 ให้ดาวน์โหลด SSMS ตั้งแต่รุ่น SSMS 17.x ขึ้นไปมาใช้งาน โดยเข้าไปดาวน์โหลดที่เว็บ
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
6. ติดตั้ง MariaDB
Remove anonymous user ? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
เข้าใช้งาน mysql ด้วยคำสั่ง
7. ติดตั้ง PHP7
ทำให้ nginx มองเห็น php
8. ติดตั้ง nginx เพื่อทำ web server
สำหรับไฟล์ html ต่างๆ จะถูกจัดเก็บไว้ภายใต้ /var/www/html สามารถเข้าไปดูได้โดยใช้คำสั่ง
ทำการสร้างไฟล์ php เพื่อทดสอบ
9. ติดตั้ง phpmyadmin สามารถเข้าไปดูได้โดย
อ้างอิงจาก https://websiteforstudents.com/install-phpmyadmin-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php-fpm-support/
ระหว่างติดตั้งจะให้กำหนดรหัสผ่านสำหรับ MariaDB หรือ MySQL
จากนั้น เมื่อถึงหน้าจอกำหนด Web Server ให้คลิกปุ่ม Tab เพื่อมาที่ปุ่ม OK โดยไม่ต้องเลือก Web Server ดังภาพ
แล้วทำการติดตั้งไปจนเสร็จ
10. ส่วนนี้เพิ่มเติม สำหรับ ทำให ้Files (File Manager) เปิดแบบใช้สิทธิ root ให้ติดตั้งโปรแกรม ด้วยคำสั่ง
sudo apt-get install -y nautilus-admin
nautilus -q
11. การเปิด File Manager ของ Ubuntu ผ่านทาง Terminal
ให้ไปที่ Folder ที่ต้องการ เช่น cd /var/www/html
จากนั้นเปิด File Manager ด้วยคำสั่ง
sudo xdg-open .
การติดตั้ง SQL Server , nginx , PHP 7, MariaDB บน Ubuntu ง่ายนิดเดียว
สวัสดีมีเงินเหลือใช้
1. ทำการติดตั้งระบบปฏิบัติการ Linux สำหรับผู้เรียนใช้ Ubuntu 16.04 ซึ่ง Microsoft ก็ระบุให้ใช้รุ่น 16.04 หรือใหม่กว่า
2. เปิดหน้าต่าง Terminal ขึ้นมาแล้วลุยกันเลย (วิธีติดตั้งอ้างอิงมาจาก https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-ubuntu)
2.1 Import the public repository GPG keys: ด้วยคำสั่ง
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -2.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/mssql-server-2017.list)"2.3 ติดตั้ง SQL Server : ด้วยคำสั่ง
sudo apt-get update sudo apt-get install -y mssql-serverในขั้นตอนนี้การติดตั้งจะให้
2.4 ทำการเรียก mssql-conf setup เพื่อเลือกว่าจะติดตั้ง SQL Server รุ่นไหน มีทั้งเสียเงินและฟรี หลายรุ่นมาก และกำหนดรหัสผ่านสำหรับ sa : ด้วยคำสั่ง
sudo /opt/mssql/bin/mssql-conf setup
เมื่อถึงขั้นตอนที่ให้เลือกว่าจะติดตั้ง SQL Server ให้พิมพ์ข้อ 3 เพื่อติดตั้ง SQL Server รุ่น Express ระบบจะติดตั้งและ ให้กำหนดรหัสผ่าน การกำหนดรหัสผ่านให้กำหนดอยา่งน้อย 8 ตัว มีตัวอักษรพิมพ์ใหญ่ พิมพ์เลข ตัวเลข
2.5 ดูสถานะของ service ที่ run : ด้วยคำสั่ง
systemctl status mssql-server
** หากมีการใช้งานแบบรีโมท SQL Server ให้เปิดพอร์ด 1433 และ 433 ด้วยคำสั่ง sudo ufw enable
sudo ufw allow 1433
sudo ufw allow 433
เรียบร้อยสำหรับการติดตั้ง SQL Server บน Linux แต่ยังไม่จบ... อ่านต่อข้อ 3
3. ติดตั้ง SQL Server Command Line Tools เครื่องมือป้อนคำสั่ง SQL แบบ textmode บน Linux
3.1 Import the public repository GPG keys: ด้วยคำสั่ง wget -qO- https://packages.microsoft.com/keys/microsoft.asc
| sudo apt-key add -
3.2 Register the Microsoft SQL Server Ubuntu repository: ด้วยคำสั่ง
sudo add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/16.04/prod.list)"3.3 ติดตั้ง SQL Command Line : ด้วยคำสั่ง
sudo apt-get update
sudo apt-get install -y mssql-tools unixodbc-dev
3.4 ทำการเพิ่ม PATH สำหรับเรียกใช้งาน sqlcmd จากที่ไหนก็ได้ : ด้วยคำสั่ง echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bash_profile
echo 'export PATH="$PATH:/opt/mssql-tools/bin"' >> ~/.bashrc
source ~/.bashrc
*** เรียบร้อยสำหรับการติดตั้ง SQL Server บนระบบปฏิบัติการ Linux
การเรียกใช้ SQL Server ผ่านทาง SQL Server Command Line ใช้คำสั่ง
sqlcmd -S localhost -U SA -P รหัสผ่าน
ที่เหลือก็สร้าง database สร้าง table ด้วยคำสั่ง T-SQL ตามต้องการ
หรือ เปิดใช้งาน SQL Server Management Studio จากเครื่องที่เป็น Windows ที่อยู่ในเครือข่ายเดียวกันโดยอ้าง Server ด้วยหมายเลข ip ของ Server Linux
ต้องการดูหมายเลข ip ของ Linux ให้ใช้คำสั่ง
ifconfig
4. การติดตั้ง Full Text Search
4.1 ติดตั้ง mssql-server-fts : ด้วยคำสั่ง sudo apt-get update
sudo apt-get install -y mssql-server-fts
5. หากต้องการจัดการฐานข้อมูลด้วย SQL Server Management Studio (SSMS) สำหรับในช่วงเวลานี้จำเป็นต้องติดตั้งบนระบบปฏิบัติการ Windows ที่เครื่องลูกข่ายเท่านั้น ยังไม่รู้ว่าอีกเมื่อไหร่ MS จะทำ SSMS สำหรับ Linux มาให้เราใช้
5.1 ให้ดาวน์โหลด SSMS ตั้งแต่รุ่น SSMS 17.x ขึ้นไปมาใช้งาน โดยเข้าไปดาวน์โหลดที่เว็บ
https://docs.microsoft.com/en-us/sql/ssms/download-sql-server-management-studio-ssms
6. ติดตั้ง MariaDB
sudo apt-get update
sudo apt-get install mariadb-server
ทำการกำหนดรหัสผ่านให้กับ root โดยพิมพ์คำสั่ง sudo apt-get install mysql_secure_installation
จะขึ้นให้กำหนดรหัสผ่านสำหรับ root จากนั้นกำหนดRemove anonymous user ? Y
Disallow root login remotely? Y
Remove test database and access to it? Y
Reload privilege tables now? Y
เข้าใช้งาน mysql ด้วยคำสั่ง
sudo mysql -uroot -pรหัสผ่าน 7. ติดตั้ง PHP7
sudo apt-get update
sudo apt-get install php-fpm
ทำให้ nginx มองเห็น php
sudo nano /etc/nginx/sites-enabled/default
ให้ไปที่บรรทัด # Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
แล้วแก้เพิ่ม index.php เข้าไป index index.php index.html index.htm index.nginx-debian.html;
ไปแก้ตรง pass the PHP script โดยเอาเครื่องหมาย # ออก ตามตัวอย่าง # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
และตรงบรรทัด deny access to .htaccess file
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
กดปุ่ม Ctrl-O แล้ว Enter จากนั้นกด Ctrl-X เพื่อบันทึก และออกจากการแก้ไข8. ติดตั้ง nginx เพื่อทำ web server
sudo apt-get update
sudo apt-get install nginx
การ เปิด - ปิด Service ของ nginx sudo service nginx stop -- ปิด Service ของ nginx
sudo apt-get install nginx -- เปิด Service ของ nginx
สำหรับไฟล์ html ต่างๆ จะถูกจัดเก็บไว้ภายใต้ /var/www/html สามารถเข้าไปดูได้โดยใช้คำสั่ง
cd /var/www/html
ls -l
ทำการสร้างไฟล์ php เพื่อทดสอบ
sudo nano /var/www/html/index.php
จากนั้นพิมพ์คำสั่งดังนี้ <?php
phpinfo();
?>
บันทึกแล้วทดสอบ....9. ติดตั้ง phpmyadmin สามารถเข้าไปดูได้โดย
อ้างอิงจาก https://websiteforstudents.com/install-phpmyadmin-on-ubuntu-17-04-17-10-with-nginx-mariadb-and-php-fpm-support/
sudo apt-get install phpmyadmin php-gettext ระหว่างติดตั้งจะให้กำหนดรหัสผ่านสำหรับ MariaDB หรือ MySQL
จากนั้น เมื่อถึงหน้าจอกำหนด Web Server ให้คลิกปุ่ม Tab เพื่อมาที่ปุ่ม OK โดยไม่ต้องเลือก Web Server ดังภาพ
แล้วทำการติดตั้งไปจนเสร็จ
10. ส่วนนี้เพิ่มเติม สำหรับ ทำให ้Files (File Manager) เปิดแบบใช้สิทธิ root ให้ติดตั้งโปรแกรม ด้วยคำสั่ง
sudo apt-get install -y nautilus-admin
nautilus -q
11. การเปิด File Manager ของ Ubuntu ผ่านทาง Terminal
ให้ไปที่ Folder ที่ต้องการ เช่น cd /var/www/html
จากนั้นเปิด File Manager ด้วยคำสั่ง
sudo xdg-open .
การติดตั้ง SQL Server , nginx , PHP 7, MariaDB บน Ubuntu ง่ายนิดเดียว
สวัสดีมีเงินเหลือใช้
16 มกราคม 2561
VB.Net : Send email
การส่ง Email ด้วย VB.Net ผ่านทาง gmail ของ google
1. ให้ทำการสร้างฟอร์ม จากนั้นทำการออกแบบหน้าจอตามตัวอย่าง
ให้กำหนดชื่อ Textbox และ Label ตามภาพ
2. จากนั้นทำการดับเบิ้ลคลิกที่ปุ่ม Send Mail เพื่อทำการเขียนคำสั่ง ดังนี้ (คำสั่งสีน้ำเงิน)
** ทำการ Import System.Net.Mail เข้ามาด้วย ห้ามลืม เดี๋ยวจะ Error
Imports System.Net.Mail
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Mail As New MailMessage
Try
Mail.Subject = txtSubject.Text
Mail.To.Add(txtTo.Text)
Mail.From = New MailAddress("ใส่EmailของGoogle@gmail.com")
Mail.Body = txtMessage.Text
' หากต้องการแนบไฟล์ ก็เพิ่มตรงส่วนนี้เข้าไป
Dim attachment As System.Net.Mail.Attachment
attachment = New System.Net.Mail.Attachment("D:\Pictures\vbSendMail.png")
Mail.Attachments.Add(attachment)
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("ใส่EmailของGoogle@gmail.com", "ใส่ Email Password")
SMTP.Port = 587
SMTP.Send(Mail)
lblSendResult.Text = "Email sent successfully!"
txtTo.Text = ""
txtSubject.Text = ""
txtMessage.Text = ""
Catch ex As Exception
lblSendResult.Text = ex.Message
End Try
End Sub
End Class
ทำการบันทึกฟอร์ม
3. จากนั้นทำการ login เข้าไปที่ gmail ที่เราจะใช้สำหรับเป็นตัวส่ง email
4. หลังจากที่ login เข้า gmail แล้วให้เข้าไปกำหนดสิทธิโดยเข้าไปที่เว็บ
https://myaccount.google.com/lesssecureapps
แล้วทำการเปิดสิทธิ์ตามภาพ
จากนั้นก็ไป run ฟอร์มที่ VB.Net แล้วทดสอบส่ง Email ดู
หมายเหตุ สำหรับการกำหนดค่า เซิร์ฟเวอร์ SMTP ของ gmail สามารถเข้าดูได้ที่
https://support.google.com/a/answer/176600?hl=th
โชคดีมีเมล์ส่ง
1. ให้ทำการสร้างฟอร์ม จากนั้นทำการออกแบบหน้าจอตามตัวอย่าง
- txtTo คือ email ที่เราต้องการส่ง
- txtSubject คือ ข้อความหัวเรื่อง
- txtMessage คือข้อความที่ส่ง
- กำหนด Multiline = true
- lblSendResult ไว้สำหรับแสดงสถานะการส่งว่าสำเร็จหรือไม่
- ปุ่ม Send Mail ไว้คลิกส่ง email
- txtSubject คือ ข้อความหัวเรื่อง
- txtMessage คือข้อความที่ส่ง
- กำหนด Multiline = true
- lblSendResult ไว้สำหรับแสดงสถานะการส่งว่าสำเร็จหรือไม่
- ปุ่ม Send Mail ไว้คลิกส่ง email
2. จากนั้นทำการดับเบิ้ลคลิกที่ปุ่ม Send Mail เพื่อทำการเขียนคำสั่ง ดังนี้ (คำสั่งสีน้ำเงิน)
** ทำการ Import System.Net.Mail เข้ามาด้วย ห้ามลืม เดี๋ยวจะ Error
Imports System.Net.Mail
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim Mail As New MailMessage
Try
Mail.Subject = txtSubject.Text
Mail.To.Add(txtTo.Text)
Mail.From = New MailAddress("ใส่EmailของGoogle@gmail.com")
Mail.Body = txtMessage.Text
' หากต้องการแนบไฟล์ ก็เพิ่มตรงส่วนนี้เข้าไป
Dim attachment As System.Net.Mail.Attachment
attachment = New System.Net.Mail.Attachment("D:\Pictures\vbSendMail.png")
Mail.Attachments.Add(attachment)
Dim SMTP As New SmtpClient("smtp.gmail.com")
SMTP.EnableSsl = True
SMTP.Credentials = New System.Net.NetworkCredential("ใส่EmailของGoogle@gmail.com", "ใส่ Email Password")
SMTP.Port = 587
SMTP.Send(Mail)
lblSendResult.Text = "Email sent successfully!"
txtTo.Text = ""
txtSubject.Text = ""
txtMessage.Text = ""
Catch ex As Exception
lblSendResult.Text = ex.Message
End Try
End Sub
End Class
ทำการบันทึกฟอร์ม
3. จากนั้นทำการ login เข้าไปที่ gmail ที่เราจะใช้สำหรับเป็นตัวส่ง email
4. หลังจากที่ login เข้า gmail แล้วให้เข้าไปกำหนดสิทธิโดยเข้าไปที่เว็บ
https://myaccount.google.com/lesssecureapps
แล้วทำการเปิดสิทธิ์ตามภาพ
จากนั้นก็ไป run ฟอร์มที่ VB.Net แล้วทดสอบส่ง Email ดู
หมายเหตุ สำหรับการกำหนดค่า เซิร์ฟเวอร์ SMTP ของ gmail สามารถเข้าดูได้ที่
https://support.google.com/a/answer/176600?hl=th
โชคดีมีเมล์ส่ง
10 มิถุนายน 2560
แก้ปัญหาเปิด HTML Help ไฟล์ (.chm) ไม่ได้
ให้ไปดาวน์โหลดโปรแกรมตามลิงค์ด้านล่าง แล้วทำตามขั้นตอนที่แจ้งไว้
http://www.helpandmanual.com/products_hhreg.html
_________________________________________________________
http://www.helpandmanual.com/products_hhreg.html
_________________________________________________________
Microsoft ออก Patch มาแก้เรื่อง font ภาษาไทยที่ "สระ" เปลี่ยนเป็นตัวหนอน
Microsoft ออก Patch มาแก้เรื่อง font ภาษาไทยที่ "สระ" เปลี่ยนเป็นตัวหนอน

ดาวน์โหลดได้ที่
http://www.catalog.update.microsoft.com/Search.aspx?q=KB4020102
----------------------------------------------------------------------------------------------------------------

ดาวน์โหลดได้ที่
http://www.catalog.update.microsoft.com/Search.aspx?q=KB4020102
----------------------------------------------------------------------------------------------------------------
16 พฤศจิกายน 2559
Unity : 2D Game with Unity Part # 9
เรียนเขียนเกม 2 มิติ ด้วย Unity ตอนที่ 9
ตอนที่ 8
https://youtu.be/Uqe41WNx_IA
ตอนที่ 7
https://youtu.be/nkhXPddxG44
ตอนที่ 6
https://youtu.be/NJqjpBxBZyQ
ตอนที่ 8
https://youtu.be/Uqe41WNx_IA
ตอนที่ 7
https://youtu.be/nkhXPddxG44
ตอนที่ 6
https://youtu.be/NJqjpBxBZyQ
20 กันยายน 2559
Unity : 2D Game with Unity Part # 5
// โค้ดคำสั่ง Main_Controller.cs
using UnityEngine;
using System.Collections;
public class Man_Controller : MonoBehaviour {
public float speed;
float x, sx;
bool ks;
Animator am;
Rigidbody2D rb;
// Use this for initialization
void Start () {
am = GetComponent<Animator> ();
rb = GetComponent<Rigidbody2D> ();
sx = transform.localScale.x;
}
// Update is called once per frame
void Update () {
x = Input.GetAxis ("Horizontal");
am.SetFloat ("speed", Abs (x));
if (Input.GetButtonDown ("Jump")) {
am.SetBool ("jump", true);
rb.velocity = new Vector2 (rb.velocity.x, 5f);
}
rb.velocity = new Vector2 (x * speed, rb.velocity.y);
if (x > 0) {
transform.localScale = new Vector3 (sx, transform.localScale.y, transform.localScale.z);
}
if (x < 0) {
transform.localScale = new Vector3 (-sx, transform.localScale.y, transform.localScale.z);
}
}
void OnCollisionEnter2D(Collision2D coll) {
am.SetBool ("jump", false);
}
float Abs(float x) {
return x >= 0f ? x : -x;
}
}
// โค้ดคำสั่ง CameraFollow.cs
using UnityEngine;
using System.Collections;
public class CameraFollow : MonoBehaviour {
public Transform obj;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
transform.position = new Vector3 (obj.position.x, transform.position.y, transform.position.z);
}
}
14 กันยายน 2559
10 กันยายน 2559
Unity : 2D Game with Unity Part # 3
// โค้ดคำสั่งของ volt_controler.cs
using UnityEngine;
using System.Collections;
public class volt_controler : MonoBehaviour {
public float jumpSpeed;
Rigidbody2D rb;
// Use this for initialization
void Start () {
rb = GetComponent
}
// Update is called once per frame
void Update () {
if (Input.GetButtonDown ("Jump")) {
rb.velocity = new Vector2 (rb.velocity.x, jumpSpeed);
}
}
}
09 กันยายน 2559
Unity : 2D Game with Unity Part # 2
โค้ดคำสั่งของ background.cs
using UnityEngine;
using System.Collections;
public class background : MonoBehaviour {
public float bgSpeed;
float bgPositionX;
float bg1PositionX;
// Use this for initialization
void Start () {
bgPositionX = transform.position.x;
bg1PositionX = GameObject.Find ("background_1").transform.position.x;
}
// Update is called once per frame
void Update () {
transform.position = new Vector3 (transform.position.x + bgSpeed, transform.position.y, transform.position.z);
if (transform.position.x < (bg1PositionX * -1f)) {
transform.position = new Vector3 (bg1PositionX, transform.position.y, transform.position.z);
}
}
}
โค้ดคำสั่งของ floor.cs
using UnityEngine;
using System.Collections;
public class floor : MonoBehaviour {
public float bgSpeed;
float bgPositionX;
float bg1PositionX;
// Use this for initialization
void Start () {
bgPositionX = transform.position.x;
bg1PositionX = GameObject.Find ("floor_1").transform.position.x;
}
// Update is called once per frame
void Update () {
transform.position = new Vector3 (transform.position.x + bgSpeed, transform.position.y, transform.position.z);
if (transform.position.x < (bg1PositionX * -1f)) {
transform.position = new Vector3 (bg1PositionX, transform.position.y, transform.position.z);
}
}
}
06 กันยายน 2559
01 กันยายน 2559
Ubuntu : การติดตั้ง Software และการแก้ปัญหาต่างๆ บน Ubuntu
ติดตั้ง LAMPP (Apache, MariaDB and PHP)
ให้ทำการดาวน์โหลดโปรแกรมที่เว็บ
https://www.apachefriends.org/download.html
วิธีติดตั้ง
https://www.apachefriends.org/faq_linux.html
กำหนดให้ phpmyadmin สามารถเรียกได้จาก internet ภายนอก
ให้แก้ไขไฟล์ httpd-xampp.conf ซึ่งเก็บอยู่ที่ /opt/lampp/etc/extra โดยพิมพ์คำสั่ง
sudo nano /opt/lampp/etc/extra/httpd-xampp.conf
จากนั้นแก้ไขตรงส่วนของ
sudo /opt/lampp/lampp restart
ให้ทดสอบเข้า http://localhost/phpmyadmin
*** หากเข้า phpmyadmin แล้วไม่ถาม user และ password แสดงว่ายังไม่ได้กำหนดรหัสผ่านที่ mySQL ให้กับ root ให้เข้าไปกำหนดใน phpmyadmin ในส่วนของ user accounts กำหนดรหัสผ่านให้กับ root ทุกตัว
จากนั้นเข้าไปแก้ไขไฟล์ config.inc.php ซึ่งเก็บอยู่ที่ /opt/lampp/phpmyadmin
sudo nano /opt/lampp/phpmyadmin/config.inc.php
ตรงส่วนของ Authentication type ให้ลบ ชื่อ user ออก และ password ออก ดังนี้
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
วิธีติดตั้ง เว็บไทย
http://www.amplysoft.com/knowledge/install-apache2-php5-mysql-phpmyadmin-ubuntu.html
การจัดการ Service
ก่อนอื่นเปิดสถานะไฟล์ให้เรียกใช้งานได้ ทำแค่ครั้งแรกครั้งเดียว
cd /opt/lampp
sudo chmod 755 manager-linux-x64.run
เวลาเรียกใช้งานพิมพ์คำสั่ง
sudo /opt/lampp/manager-linux-x64.run
กรณีที่เปิดเครื่องมาแล้ว เซอร์วิสของ lampp ไม่สตาร์ท ให้แก้ไขโดยใช้คำสั่ง
sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .
ติดตั้ง Flash Player
sudo apt-get update
sudo apt-get install flashplugin-installer
การกำหนด Virtual Host
ให้ทำการเปิด Terminal (Ctrl + Alt + T)
จากนั้น เข้าไปแก้ไขไฟล์ httpd.conf ที่เก็บอยู่ภายใต้ /opt/lampp/etc โดยพิมพ์คำสั่งเปิดไฟล์ดังนี้
sudo nano /opt/lampp/etc/httpd.conf
ให้นำเครื่องหมาย # ออกให้เหลือแต่คำสั่ง ดังนี้
Include etc/extra/httpd-vhosts.conf
จากนั้น เข้าไปแก้ไขไฟล์ httpd-vhosts.conf ที่เก็บอยู่ภายใต้ /opt/lampp/etc/extra
sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf
หากต้องการกำหนดให้ virtual host ชื่อ myweb โดยเก็บไฟล์ไว้ที่ /opt/lampp/apps/myweb/htdocs ให้เพิ่มคำสั่งดังนี้
http://na5cent.blogspot.com/2012/04/samba-ubutntu-1110-server.html
https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20(Command-line%20interface/Linux%20Terminal)%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!
ติดตั้ง MonoDeveloper ทำให้ linux รัน asp.net c# ได้
sudo apt-get install monodevelop
ติดตั้ง xsp4 โดยเข้าไปดูวิธีติดตั้งได้ที่
https://zxtech.wordpress.com/2015/01/04/how-to-install-xsp4-onto-ubuntu/
จากนั้นเปิดโปรแกรม mono สร้าง project asp.net web form แล้วเขียนโปรแกรมตามต้องการ แล้ว run
หากต้องการใช้งาน vb.net ก็ติดตั้งโดยพิมพ์คำสั่ง
sudo apt-get install monodevelop mono-vbnc
การติดตั้ง SSH
sudo apt-get install openssh-server
.ให้ทำการตรวจสอบสถานะ ssh
sudo service ssh status
คำสั่งในการเปิดใช้งาน
sudo service ssh start
จากนั้นก็ติดต่อโดยใช้ putty จากเครื่องใดๆ ในเน็ทเวิร์ค
การติดตั่้ง OwnCloud
ให้เลือกติดตั้งตามรุ่นของ OS ที่ใช้ ตามลิงค์ด้านล่าง
https://download.owncloud.org/download/repositories/stable/owncloud/
ปัญหาเมื่อเปิดเครื่องแล้ว จอไม่ขึ้นอะไรเลย มีแต่ภาพพื้นหลัง
ให้เข้าโหมด เท็กซ์ โดยกดปุ่ม Ctrl + Alt + F1 จากนั้นก็ล็อกอิน เมื่อเข้าไปแล้ว มีวิแก้ 2 วิธี ลองดูถ้าวิธีแรกได้ก็ไม่ต้องทำวิธีที 2
วิธีแก้แบบที่ 1 (ลองแล้วไม่ได้ผล แต่เครื่องอื่นไม่รู้)
sudo apt-get update
sudo apt-get install --reinstall ubuntu-destop
sudo apt-get install install unity
sudo shutdown -r now
วิธีแก้แบบที่ 2 (ล้างค่าคอนฟิกของระบบ ซึ่งไม่มีอะไรก็แค่ไปกำหนดใหม่นิดหน่อย)
sudo rm -rf ~/.config
sudo reboot
** อ้างอิงจาก : https://itsfoss.com/how-to-fix-no-unity-no-launcher-no-dash-in-ubuntu-12-10-quick-tip/
... ไว้มาต่อ ...
ให้ทำการดาวน์โหลดโปรแกรมที่เว็บ
https://www.apachefriends.org/download.html
วิธีติดตั้ง
https://www.apachefriends.org/faq_linux.html
กำหนดให้ phpmyadmin สามารถเรียกได้จาก internet ภายนอก
ให้แก้ไขไฟล์ httpd-xampp.conf ซึ่งเก็บอยู่ที่ /opt/lampp/etc/extra โดยพิมพ์คำสั่ง
sudo nano /opt/lampp/etc/extra/httpd-xampp.conf
จากนั้นแก้ไขตรงส่วนของ
ตามตัวอย่างด้านล่าง
< Directory "/opt/lampp/phpmyadmin" >
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
< Directory >
จากนั้นทำการ รีสตาร์ lampp ใหม่sudo /opt/lampp/lampp restart
ให้ทดสอบเข้า http://localhost/phpmyadmin
*** หากเข้า phpmyadmin แล้วไม่ถาม user และ password แสดงว่ายังไม่ได้กำหนดรหัสผ่านที่ mySQL ให้กับ root ให้เข้าไปกำหนดใน phpmyadmin ในส่วนของ user accounts กำหนดรหัสผ่านให้กับ root ทุกตัว
จากนั้นเข้าไปแก้ไขไฟล์ config.inc.php ซึ่งเก็บอยู่ที่ /opt/lampp/phpmyadmin
sudo nano /opt/lampp/phpmyadmin/config.inc.php
ตรงส่วนของ Authentication type ให้ลบ ชื่อ user ออก และ password ออก ดังนี้
/* Authentication type */
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['user'] = '';
$cfg['Servers'][$i]['password'] = '';
$cfg['Servers'][$i]['extension'] = 'mysqli';
/* Server parameters */
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
วิธีติดตั้ง เว็บไทย
http://www.amplysoft.com/knowledge/install-apache2-php5-mysql-phpmyadmin-ubuntu.html
การจัดการ Service
ก่อนอื่นเปิดสถานะไฟล์ให้เรียกใช้งานได้ ทำแค่ครั้งแรกครั้งเดียว
cd /opt/lampp
sudo chmod 755 manager-linux-x64.run
(manager-linux.run สำหรับ 32บิต)เวลาเรียกใช้งานพิมพ์คำสั่ง
sudo /opt/lampp/manager-linux-x64.run
กรณีที่เปิดเครื่องมาแล้ว เซอร์วิสของ lampp ไม่สตาร์ท ให้แก้ไขโดยใช้คำสั่ง
sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .
ติดตั้ง Flash Player
sudo apt-get update
sudo apt-get install flashplugin-installer
การกำหนด Virtual Host
ให้ทำการเปิด Terminal (Ctrl + Alt + T)
จากนั้น เข้าไปแก้ไขไฟล์ httpd.conf ที่เก็บอยู่ภายใต้ /opt/lampp/etc โดยพิมพ์คำสั่งเปิดไฟล์ดังนี้
sudo nano /opt/lampp/etc/httpd.conf
ให้นำเครื่องหมาย # ออกให้เหลือแต่คำสั่ง ดังนี้
Include etc/extra/httpd-vhosts.conf
จากนั้น เข้าไปแก้ไขไฟล์ httpd-vhosts.conf ที่เก็บอยู่ภายใต้ /opt/lampp/etc/extra
sudo nano /opt/lampp/etc/extra/httpd-vhosts.conf
หากต้องการกำหนดให้ virtual host ชื่อ myweb โดยเก็บไฟล์ไว้ที่ /opt/lampp/apps/myweb/htdocs ให้เพิ่มคำสั่งดังนี้
< virtualhost >
DocumentRoot "/opt/lampp/htdocs/"
ServerName localhost
</ virtualhost >
< virtualhost >
DocumentRoot "/opt/lampp/apps/myweb/htdocs"
ServerName myweb.localhost
</ virtualhost >
ติดตั้ง SAMBA ทำ file sharing ดูที่
http://na5cent.blogspot.com/2012/04/samba-ubutntu-1110-server.html
https://help.ubuntu.com/community/How%20to%20Create%20a%20Network%20Share%20Via%20Samba%20Via%20CLI%20(Command-line%20interface/Linux%20Terminal)%20-%20Uncomplicated,%20Simple%20and%20Brief%20Way!
ติดตั้ง MonoDeveloper ทำให้ linux รัน asp.net c# ได้
sudo apt-get install monodevelop
ติดตั้ง xsp4 โดยเข้าไปดูวิธีติดตั้งได้ที่
https://zxtech.wordpress.com/2015/01/04/how-to-install-xsp4-onto-ubuntu/
จากนั้นเปิดโปรแกรม mono สร้าง project asp.net web form แล้วเขียนโปรแกรมตามต้องการ แล้ว run
หากต้องการใช้งาน vb.net ก็ติดตั้งโดยพิมพ์คำสั่ง
sudo apt-get install monodevelop mono-vbnc
การติดตั้ง SSH
sudo apt-get install openssh-server
.ให้ทำการตรวจสอบสถานะ ssh
sudo service ssh status
คำสั่งในการเปิดใช้งาน
sudo service ssh start
จากนั้นก็ติดต่อโดยใช้ putty จากเครื่องใดๆ ในเน็ทเวิร์ค
การติดตั่้ง OwnCloud
ให้เลือกติดตั้งตามรุ่นของ OS ที่ใช้ ตามลิงค์ด้านล่าง
https://download.owncloud.org/download/repositories/stable/owncloud/
ปัญหาเมื่อเปิดเครื่องแล้ว จอไม่ขึ้นอะไรเลย มีแต่ภาพพื้นหลัง
ให้เข้าโหมด เท็กซ์ โดยกดปุ่ม Ctrl + Alt + F1 จากนั้นก็ล็อกอิน เมื่อเข้าไปแล้ว มีวิแก้ 2 วิธี ลองดูถ้าวิธีแรกได้ก็ไม่ต้องทำวิธีที 2
วิธีแก้แบบที่ 1 (ลองแล้วไม่ได้ผล แต่เครื่องอื่นไม่รู้)
sudo apt-get update
sudo apt-get install --reinstall ubuntu-destop
sudo apt-get install install unity
sudo shutdown -r now
วิธีแก้แบบที่ 2 (ล้างค่าคอนฟิกของระบบ ซึ่งไม่มีอะไรก็แค่ไปกำหนดใหม่นิดหน่อย)
sudo rm -rf ~/.config
sudo reboot
** อ้างอิงจาก : https://itsfoss.com/how-to-fix-no-unity-no-launcher-no-dash-in-ubuntu-12-10-quick-tip/
... ไว้มาต่อ ...
18 สิงหาคม 2559
Unity 3D - เขียนเกมด้วย Unity ตอนที่ 1
11 กรกฎาคม 2559
Raspberry Pi
การกำหนดค่าต่างๆ บน Raspberry Pi
- ติดตั้ง OS สำหรับ Raspberry Pi แบบไม่มีจอ LCD เลือกใช้ RASPBIAN JASSIE ตัวเต็ม -> https://downloads.raspberrypi.org/raspbian_latest
- กรณีซื้อจอ LCD มาติดตั้งเพิ่ม ต้องดูว่าซื้อยี่ห้อ รุ่น ขนาดใด แล้วไปหาดาวน์โหลด OS หรือ Driver ให้ถูกรุ่น เช่น ซื้อจอ LCD ยี่ห้อ OSOYOO ก็ไปดาวน์ที่เว็บไซต์ผู้ผลิต -> http://osoyoo.com/2016/05/26/osoyoo-lcd-touch-screen-for-raspberry-pi-installation-guide/
- ไปดาวน์โหลดโปรแกรม Win32 Disk Imager เพื่อเอาไว้สร้าง disk image สำหรับ OS บน sd card -> https://sourceforge.net/projects/win32diskimager/
- ติดตั้งภาษาไทย กำหนดค่าต่างๆ -> http://dtv.mcot.net/data/up_show.php?id=1453644382&web=epost
- กำหนดให้เครื่องอื่นมองเห็น เปิดหน้าต่าง Terminal ที่ Raspberry แล้วพิมพ์
ssh หมายเลขไอพี เช่น ssh 192.168.1.132
จากนั้นจะมีให้ใส่รหัสผ่าน ถ้าไม่ได้เปลี่ยนรหัสผ่านก็ใช้ raspberry
- ifconfig คล้ายกับ ipconfig ใน windows pc
- ถ้าต้องการ Telnet จาก pc ไปยัง raspberry pi ก็ให้ไป d/l โปรแกรม Putty มาติดตั้ง -> http://software.thaiware.com/download.php?id=10912
- ติดตั้ง Apache, PHP , mySQL -> https://www.raspberrypi.org/learning/lamp-web-server-with-wordpress/worksheet/
หรือ https://www.stewright.me/2015/08/tutorial-install-apache-php-and-mysql-on-a-raspberry-pi-2/
หากต้องการติดตั้ง php 7 ให้ใช้คำสั่ง
sudo apt-get install php7.1
- กำหนดให้ mySQL สามารถ Remote จากเครื่องอื่นได้
เข้าไปแก้ไขไฟล์ my.cnf -> sudo nano /etc/mysql/my.cnf
ให้เพิ่มหมายเลขไอพีของเครื่องโดยเพิ่มคำสั่ง ( ตัวอย่างหมายเลขไอพี 192.168.1.132)
bind-address = 192.168.1.132
จากนั้นให้ทำการ รีสตาร์ทเครื่อง raspberry pi ใหม่ หรือ สั่งรีสตาร์ทเซอร์วิส mysql ใหม่ด้วย
sudo service mysql restart
เปิด web browser เข้า http://192.168.1.132/phpmyadmin
ใส่ user : root , password : รหัสผ่าน ของ mysql
แล้วป้อนคำสั่ง SQL เพื่อกำหนดสิทธิ ดังนี้
* หากต้องการให้สิทธิกับ user อื่น ก็แก้ไขตามต้องการ
- ติดตั้ง PhpMyAdmin -> https://www.stewright.me/2012/09/tutorial-install-phpmyadmin-on-your-raspberry-pi/
- ติดตั้ง ftp -> https://pimylifeup.com/raspberry-pi-ftp/
- ติดตั้ง samba สำหรับ share folder เพื่อให้ windows มองเห็น \\192.168.1.32\sharefolder
-> http://www.htpcguides.com/create-samba-share-raspberry-pi/
- ติดตั้ง dosbox เพื่อจำลองให้ใช้งาน DOS ได้
sudo apt-get install dosbox
หลังจากติดตั้งเสร็จให้เรียกใช้งานได้พิมพ์
dosbox
เมื่อเข้าหน้าจอ dosbox แล้ว เราต้องไปทำการสร้างโฟลเดอร์ที่ต้องการภายใต้ Raspberry Pi เช่น สร้างไว้ภายใต้ /pi โดยตั้งชื่อ เช่น dos_c
จากนั้น กลับมาที่หน้าต่าง dosbox ให้ทำการ mount เพื่ออ้างอิงชื่อไดร์ฟ กับ โฟลเดอร์ โดยป้อนคำสั่ง
mount c dos_c
จากนั้นทดสอบโดยเปลี่ยน ไดรฟ์ เป็น c:
ที่เหลือก็ลองนำโปรแกรม สมัยดอส มาใส่ไว้ในโฟลดเดอร์ dos_c ตัว dosbox ไดร์ฟ c ก็จะเห็นเอง
========================================
- ติดตั้ง OS สำหรับ Raspberry Pi แบบไม่มีจอ LCD เลือกใช้ RASPBIAN JASSIE ตัวเต็ม -> https://downloads.raspberrypi.org/raspbian_latest
- กรณีซื้อจอ LCD มาติดตั้งเพิ่ม ต้องดูว่าซื้อยี่ห้อ รุ่น ขนาดใด แล้วไปหาดาวน์โหลด OS หรือ Driver ให้ถูกรุ่น เช่น ซื้อจอ LCD ยี่ห้อ OSOYOO ก็ไปดาวน์ที่เว็บไซต์ผู้ผลิต -> http://osoyoo.com/2016/05/26/osoyoo-lcd-touch-screen-for-raspberry-pi-installation-guide/
- ไปดาวน์โหลดโปรแกรม Win32 Disk Imager เพื่อเอาไว้สร้าง disk image สำหรับ OS บน sd card -> https://sourceforge.net/projects/win32diskimager/
- ติดตั้งภาษาไทย กำหนดค่าต่างๆ -> http://dtv.mcot.net/data/up_show.php?id=1453644382&web=epost
- กำหนดให้เครื่องอื่นมองเห็น เปิดหน้าต่าง Terminal ที่ Raspberry แล้วพิมพ์
ssh หมายเลขไอพี เช่น ssh 192.168.1.132
จากนั้นจะมีให้ใส่รหัสผ่าน ถ้าไม่ได้เปลี่ยนรหัสผ่านก็ใช้ raspberry
- ifconfig คล้ายกับ ipconfig ใน windows pc
- ถ้าต้องการ Telnet จาก pc ไปยัง raspberry pi ก็ให้ไป d/l โปรแกรม Putty มาติดตั้ง -> http://software.thaiware.com/download.php?id=10912
- ติดตั้ง Apache, PHP , mySQL -> https://www.raspberrypi.org/learning/lamp-web-server-with-wordpress/worksheet/
หรือ https://www.stewright.me/2015/08/tutorial-install-apache-php-and-mysql-on-a-raspberry-pi-2/
หากต้องการติดตั้ง php 7 ให้ใช้คำสั่ง
sudo apt-get install php7.1
- กำหนดให้ mySQL สามารถ Remote จากเครื่องอื่นได้
เข้าไปแก้ไขไฟล์ my.cnf -> sudo nano /etc/mysql/my.cnf
ให้เพิ่มหมายเลขไอพีของเครื่องโดยเพิ่มคำสั่ง ( ตัวอย่างหมายเลขไอพี 192.168.1.132)
bind-address = 192.168.1.132
จากนั้นให้ทำการ รีสตาร์ทเครื่อง raspberry pi ใหม่ หรือ สั่งรีสตาร์ทเซอร์วิส mysql ใหม่ด้วย
sudo service mysql restart
เปิด web browser เข้า http://192.168.1.132/phpmyadmin
ใส่ user : root , password : รหัสผ่าน ของ mysql
แล้วป้อนคำสั่ง SQL เพื่อกำหนดสิทธิ ดังนี้
GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.%'
IDENTIFIED BY 'ใส่รหัสผ่าน'
WITH GRANT OPTION;
FLUSH PRIVILEGES;* หากต้องการให้สิทธิกับ user อื่น ก็แก้ไขตามต้องการ
- ติดตั้ง PhpMyAdmin -> https://www.stewright.me/2012/09/tutorial-install-phpmyadmin-on-your-raspberry-pi/
- ติดตั้ง ftp -> https://pimylifeup.com/raspberry-pi-ftp/
- ติดตั้ง samba สำหรับ share folder เพื่อให้ windows มองเห็น \\192.168.1.32\sharefolder
-> http://www.htpcguides.com/create-samba-share-raspberry-pi/
- ติดตั้ง dosbox เพื่อจำลองให้ใช้งาน DOS ได้
sudo apt-get install dosbox
หลังจากติดตั้งเสร็จให้เรียกใช้งานได้พิมพ์
dosbox
เมื่อเข้าหน้าจอ dosbox แล้ว เราต้องไปทำการสร้างโฟลเดอร์ที่ต้องการภายใต้ Raspberry Pi เช่น สร้างไว้ภายใต้ /pi โดยตั้งชื่อ เช่น dos_c
จากนั้น กลับมาที่หน้าต่าง dosbox ให้ทำการ mount เพื่ออ้างอิงชื่อไดร์ฟ กับ โฟลเดอร์ โดยป้อนคำสั่ง
mount c dos_c
จากนั้นทดสอบโดยเปลี่ยน ไดรฟ์ เป็น c:
ที่เหลือก็ลองนำโปรแกรม สมัยดอส มาใส่ไว้ในโฟลดเดอร์ dos_c ตัว dosbox ไดร์ฟ c ก็จะเห็นเอง
========================================
11 พฤษภาคม 2559
VB.Net : Export DataGridView to Excel
คำถามหากเรามีความจำเป็นต้องโอนข้อมูลที่แสดงผลบน VB.Net เข้าสู่ Excel จะทำอย่างไร
คำตอบ อยู่ที่นี่แล้ว
อิๆๆ สั้นๆ ได้ใจความ
1. ให้สร้างโปรเจกต์ขึ้นมาใหม่ จากนั้น ไปที่เมนู PROJECT เลือกรายการ Add Reference...
ที่หน้าต่าง Reference Manager ให้เลือก Extensions แล้วไปคลิกเลือก Microsoft.Office.Interop.Excel
คำตอบ อยู่ที่นี่แล้ว
อิๆๆ สั้นๆ ได้ใจความ
1. ให้สร้างโปรเจกต์ขึ้นมาใหม่ จากนั้น ไปที่เมนู PROJECT เลือกรายการ Add Reference...
ที่หน้าต่าง Reference Manager ให้เลือก Extensions แล้วไปคลิกเลือก Microsoft.Office.Interop.Excel
2. จากนั้น สร้าง DataGrideView ชื่อ DataGridView1 แล้วทำอย่างไรก็ได้ตามสะดวกเพื่อนำข้อมูลมาใส่ (อันนี้เขียนโปรแกรมเองน่ะครับ ไม่ขออธิบาย เดี๋ยวจะยาว)
3. ทำการเพิ่มปุ่ม Button สำหรับคลิกเพื่อให้ทำการ Export โดยตั้งชื่อเป็น Button1 ที่เหลือกำหนด Property เอาเอง ดังภาพ
3. ทำการเพิ่มปุ่ม Button สำหรับคลิกเพื่อให้ทำการ Export โดยตั้งชื่อเป็น Button1 ที่เหลือกำหนด Property เอาเอง ดังภาพ
ดับเบิ้ลคลิกที่ปุ่ม แล้วทำการเขียนคำสั่ง ดังนี้
บรรทัดบนสุดก่อน Public Class ของฟอร์ม ให้ Imports ก่อน อย่าลืม โดยพิมพ์คำสั่ง
Imports Excel = Microsoft.Office.Interop.Excel
จากนั้น ที่ Sub Button1 ป้อนคำสั่ง ดังนี้
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim excelLocation As String = "d:\test.xlsx"
Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
If xlApp Is Nothing Then
MessageBox.Show("Excel is not Install.")
Return
End If
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
'Header Names
Dim columnsCount As Integer = DataGridView1.Columns.Count
For Each column In DataGridView1.Columns
xlWorkSheet.Cells(1, column.Index + 1).Value = column.Name
Next
'Data
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim columnIndex As Integer = 0
Do Until columnIndex = columnsCount
xlWorkSheet.Cells(i + 2, columnIndex + 1).Value = DataGridView1.Item(columnIndex, i).Value
columnIndex += 1
Loop
Next
xlWorkBook.SaveAs(excelLocation)
xlWorkBook.Close()
xlApp.Quit()
MessageBox.Show("Export to Excel Complete")
End Sub
จากนั้นก็สั่งรันโปรแกรมทดสอบ ก็จะได้ไฟล์ชื่อ "d:\test.xlsx" อยู่ที่ไดร์ฟ D:
อยากเก็บไว้ที่ไหนไฟล์อะไรก็แก้เอาน่ะ
สวัสดี มีความสุขทุกวัน
บรรทัดบนสุดก่อน Public Class ของฟอร์ม ให้ Imports ก่อน อย่าลืม โดยพิมพ์คำสั่ง
Imports Excel = Microsoft.Office.Interop.Excel
จากนั้น ที่ Sub Button1 ป้อนคำสั่ง ดังนี้
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim excelLocation As String = "d:\test.xlsx"
Dim xlApp As Excel.Application = New Microsoft.Office.Interop.Excel.Application()
If xlApp Is Nothing Then
MessageBox.Show("Excel is not Install.")
Return
End If
Dim xlWorkBook As Excel.Workbook
Dim xlWorkSheet As Excel.Worksheet
Dim misValue As Object = System.Reflection.Missing.Value
xlWorkBook = xlApp.Workbooks.Add(misValue)
xlWorkSheet = xlWorkBook.Sheets("sheet1")
'Header Names
Dim columnsCount As Integer = DataGridView1.Columns.Count
For Each column In DataGridView1.Columns
xlWorkSheet.Cells(1, column.Index + 1).Value = column.Name
Next
'Data
For i As Integer = 0 To DataGridView1.Rows.Count - 1
Dim columnIndex As Integer = 0
Do Until columnIndex = columnsCount
xlWorkSheet.Cells(i + 2, columnIndex + 1).Value = DataGridView1.Item(columnIndex, i).Value
columnIndex += 1
Loop
Next
xlWorkBook.SaveAs(excelLocation)
xlWorkBook.Close()
xlApp.Quit()
MessageBox.Show("Export to Excel Complete")
End Sub
จากนั้นก็สั่งรันโปรแกรมทดสอบ ก็จะได้ไฟล์ชื่อ "d:\test.xlsx" อยู่ที่ไดร์ฟ D:
อยากเก็บไว้ที่ไหนไฟล์อะไรก็แก้เอาน่ะ
สวัสดี มีความสุขทุกวัน
28 เมษายน 2559
VFP : Display Base64 image
Base64 คือรูปแบบการเข้ารหัสวิธีหนึ่ง แต่ที่นิยมกันในปัจจุบันโดยการนำไปใช้เพื่อทำให้ข้อมูลที่เก็บอยู่ในรูปของไบนารี เช่น ภาพ JPG PNG หรือ Bitmap กลายมาเป็นรูปแบบของตัวอักษร
นิยมนำไปใช้ภายใต้ HTML ตัวอย่างการใช้ ผ่านทางแท็ก img
<img src="data:image/jpg;base64,As10AAQSkZJRg........................Ed0/E//9k=" />
ถ้าหากต้องการเข้ารหัสภาพทางเว็บบราวเซอร์ สามารถเข้าไปที่เว็บ
https://www.base64-image.de/
สำหรับบทความนี้จะนำเสนอวิธีการใช้ด้วยโปรแกรม Visual FoxPro ดังนี้
การเข้ารหัสรูปแบบของภาพไปเป็น Base64
lcPictureFile = GETPICT( "jpg" )
lcPictBase64 = STRCONV( FILETOSTR( lcPictureFile ) , 13 )
การแปลงข้อมูล Base64 กลับไปเป็นแฟ้มภาพ
=STRTOFILE(STRCONV( lcPictBase64 , 14) , lcPictureFile)
การนำข้อมูล Base64 แสดงภายใต้คอนโทรล Image
ThisForm.Image1.Picture = ""
ThisForm.Image1.PictureVal = STRCONV( lcPictBase64 , 14)
การนำเอาข้อมูล Base64 ไปออกรายงาน
ข้อมูล Base64 เป็นข้อมูลตัวอักษรธรรมดา ซึ่งเราสามารถนำไปบันทึกลงในฟิลด์ได้ทันที โดยเก็บไว้ในฟิลด์ประเภท memo หากต้องการนำข้อมูลมาแสดงผลเป็นรูปภาพในรายงาน สามารถทำได้หลายวิธีดังนี้
* สมมุติขอมูล Base64 ถูกเก็บไว้ที่ตาราง TableBase ภายใต้ฟิลด์ชื่อ Pict
วิธีที่ 1
1. สร้างรายงาน CREATE REPORT myReport
2. ทำการสร้างตัวแปร โดยคลิกที่เมนู Report -> Variables...
ที่แท็ป Variables ให้กำหนด
Value to store: BlobImage
Initial value: CREATEOBJECT("Image")
นิยมนำไปใช้ภายใต้ HTML ตัวอย่างการใช้ ผ่านทางแท็ก img
<img src="data:image/jpg;base64,As10AAQSkZJRg........................Ed0/E//9k=" />
ถ้าหากต้องการเข้ารหัสภาพทางเว็บบราวเซอร์ สามารถเข้าไปที่เว็บ
https://www.base64-image.de/
สำหรับบทความนี้จะนำเสนอวิธีการใช้ด้วยโปรแกรม Visual FoxPro ดังนี้
การเข้ารหัสรูปแบบของภาพไปเป็น Base64
lcPictureFile = GETPICT( "jpg" )
lcPictBase64 = STRCONV( FILETOSTR( lcPictureFile ) , 13 )
การแปลงข้อมูล Base64 กลับไปเป็นแฟ้มภาพ
=STRTOFILE(STRCONV( lcPictBase64 , 14) , lcPictureFile)
การนำข้อมูล Base64 แสดงภายใต้คอนโทรล Image
ThisForm.Image1.Picture = ""
ThisForm.Image1.PictureVal = STRCONV( lcPictBase64 , 14)
การนำเอาข้อมูล Base64 ไปออกรายงาน
ข้อมูล Base64 เป็นข้อมูลตัวอักษรธรรมดา ซึ่งเราสามารถนำไปบันทึกลงในฟิลด์ได้ทันที โดยเก็บไว้ในฟิลด์ประเภท memo หากต้องการนำข้อมูลมาแสดงผลเป็นรูปภาพในรายงาน สามารถทำได้หลายวิธีดังนี้
* สมมุติขอมูล Base64 ถูกเก็บไว้ที่ตาราง TableBase ภายใต้ฟิลด์ชื่อ Pict
วิธีที่ 1
1. สร้างรายงาน CREATE REPORT myReport
2. ทำการสร้างตัวแปร โดยคลิกที่เมนู Report -> Variables...
ที่แท็ป Variables ให้กำหนด
Value to store: BlobImage
Initial value: CREATEOBJECT("Image")
3 นำคอนโทรล Picture/OLE มาใส่ในรายงาน
double click จะเข้าสู่หน้าต่าง Picture/OLE Bound Properties
ที่ แท็ป General คลิกเลือก Expression or variable name
จากนั้นป้อนตัวแปรที่ช่อง Control source: BlobImage
คลิกปุ่ม OK
double click จะเข้าสู่หน้าต่าง Picture/OLE Bound Properties
ที่ แท็ป General คลิกเลือก Expression or variable name
จากนั้นป้อนตัวแปรที่ช่อง Control source: BlobImage
คลิกปุ่ม OK
4. double click ที่ Detail จะเข้าสู่หน้าต่าง Detail Band Properties
คลิกที่แท็บ General
ทีช่อง On entry: ใส่คำสั่ง
EXECSCRIPT("Blobimage.PictureVal=STRCONV(TableBase.Pict , 14)")
*** TableBase.Pict คือชื่อตารางและฟิลด์ที่เก็บข้อมูล Base64
คลิกที่แท็บ General
ทีช่อง On entry: ใส่คำสั่ง
EXECSCRIPT("Blobimage.PictureVal=STRCONV(TableBase.Pict , 14)")
*** TableBase.Pict คือชื่อตารางและฟิลด์ที่เก็บข้อมูล Base64
ทำการบันทึกรายงาน เป็นอันเสร็จเรียบร้อย
วิธีที่ 2
1. สร้างรายงาน จากนั้นนำคอนโทรล Picture/OLE มาใส่
double click กำหนดค่าในแท็บ General โดยคลิกเลือก Expression or variable name
ที่ช่อง Control Source: loRL.oBlobImage
** loRL คือชื่อ object และ oBlobImage คือชื่อ property
วิธีที่ 2
1. สร้างรายงาน จากนั้นนำคอนโทรล Picture/OLE มาใส่
double click กำหนดค่าในแท็บ General โดยคลิกเลือก Expression or variable name
ที่ช่อง Control Source: loRL.oBlobImage
** loRL คือชื่อ object และ oBlobImage คือชื่อ property
2. ทำการเขียนคำสั่ง เพื่อแสดงภาพในรายงาน ดังนี้
USE TableBase && ตารางที่มีข้อมูล Base64
SET REPORTBEHAVIOR 90
loRL = NEWOBJECT( 'PreviewListener' )
loRL.InitBLOBImage( )
loRL.LISTENERTYPE = 1 && Preview
REPORT FORM ชื่อรายงาน OBJECT loRL
RETURN
DEFINE CLASS PreviewListener AS REPORTLISTENER
oBlobImage = NULL
PROCEDURE InitBLOBImage(lpcBlobField AS STRING)
THIS.oBlobImage = NEWOBJECT( 'IMAGE' )
THIS.oBlobImage.PICTUREVAL = STRCONV(Tablebase.pict , 14)
ENDPROC
PROCEDURE BEFOREBAND( nBandObjCode, nFRXRecNo )
IF nBandObjCode = 4 && Detail band
THIS.oBlobImage.PICTUREVAL = STRCONV(Tablebase.pict , 14)
ENDIF
ENDPROC
ENDDEFINE
เสร็จสำหรับการจัดการแสดงผลภาพจาก Base64 ในรายงาน
สำหรับการนำเสนอวิธีการจัดการกับการเข้ารหัสด้วย Base64 ก็จบเพียงเท่านี้
สวัสดี ปีที่มีอากาศร้อนที่สุดๆๆๆๆ
USE TableBase && ตารางที่มีข้อมูล Base64
SET REPORTBEHAVIOR 90
loRL = NEWOBJECT( 'PreviewListener' )
loRL.InitBLOBImage( )
loRL.LISTENERTYPE = 1 && Preview
REPORT FORM ชื่อรายงาน OBJECT loRL
RETURN
DEFINE CLASS PreviewListener AS REPORTLISTENER
oBlobImage = NULL
PROCEDURE InitBLOBImage(lpcBlobField AS STRING)
THIS.oBlobImage = NEWOBJECT( 'IMAGE' )
THIS.oBlobImage.PICTUREVAL = STRCONV(Tablebase.pict , 14)
ENDPROC
PROCEDURE BEFOREBAND( nBandObjCode, nFRXRecNo )
IF nBandObjCode = 4 && Detail band
THIS.oBlobImage.PICTUREVAL = STRCONV(Tablebase.pict , 14)
ENDIF
ENDPROC
ENDDEFINE
เสร็จสำหรับการจัดการแสดงผลภาพจาก Base64 ในรายงาน
สำหรับการนำเสนอวิธีการจัดการกับการเข้ารหัสด้วย Base64 ก็จบเพียงเท่านี้
สวัสดี ปีที่มีอากาศร้อนที่สุดๆๆๆๆ
22 เมษายน 2559
VFP : ActiveVFP สร้างสรรค์เว็บด้วย VFP
ActiveVFP เป็นภาษาคลิปต์ที่ออกแบบมาสำหรับนักพัฒนาเว็บ โดยอาศัยพื้นฐานภาษา Visual FoxPro ในการพัฒนา (เหมือนกับการพัฒนาเว็บด้วยภาษา PHP, ASP) ActiveVFP ถูกสร้างขึ้นมาเป็นลักษณะของซอฟต์แวร์โอเพ่นซอรส์ เพื่อให้นักพัฒนาที่มีความถนัดในการเขียนโปรแกรม VFP สามารถนำไปใช้งานและต่อยอดความสามารถต่างๆ ได้อย่างสะดวกและรวดเร็ย โดยไม่จำเป็นต้องเรียนรู้ภาษาใหม่
จะหาโปรแกรม ActiveVFP ได้จากที่ไหน ?
ดาวน์โหลดโปรแกรมคลิกที่นี่
เตรียมการก่อนติดตั้งโปรแกรม ActiveVFP
การใช้งาน ActiveVFP จำเป็นต้องติดตั้ง IIS ก่อน เพื่อจำลองเครื่องคอมพิวเตอร์ของเราให้เป็น Web Server ดังนี้
1. คลิกที่เมนู Start ของ Windows เพื่อเปิด Control Panel -> Programs -> Programs and Features จะเข้าสู่หน้าต่าง Unstall or change a program ให้คลิกเลือก Turn Windows features on or off
3. ทำการทดสอบว่าสามารถใช้งาน IIS ได้หรือยัง โดยเปิดโปรแกรมเว็บบราวเซอร์ แล้วพิมพ์ url
http://localhost
หากติดตั้งสำเร็จ จะขึ้นเว็บ ดังภาพ (ขึ้นอยู่กับรุ่นของ IIS)
1. ให้เรียกไฟล์ติดตั้งที่ทำการดาวน์โหลดมา (ActiveVFP603,exe) ขณะที่โปรแกรมทำการติดตั้งจะปรากฏหน้าจอให้กำหนดไดเรคทอรีสำหรับเว็บไซต์
ให้กำหนดชื่อตามต้องการ ดังภาพ
การปรับแต่ง ActiveVFP ให้สนับสนุนภาษาไทย และภาษาอื่นๆ
1. ให้ทำการเปิดโฟลเดอร์ที่ทำการติดตั้ง ActiveVFP จากนั้นเข้าไปที่โฟลเดอร์ย่อย ชื่อ prg ดังภาพ
oHTML.mergescript(lcHTMLout)
เมื่อพบแล้ว ให้เพิ่มคำสั่ง
lcHTMLout=STRCONV(lcHTMLout,11) && for support thai language
โดยนำคำสั่งข้างต้นไว้ก่อนหน้าบรรทัดที่ค้นหาพบ ดังภาพ
การกำหนดให้สามารถพิมพ์รายงานของ VisualFoxPro
ขั้นตอนนี้เป็นการกำหนดให้ ActiveVFP สามารถเรียกใช้รายงานของ VisualFoxPro (.frx) ที่ได้ทำการสร้างไว้
1. ให้ทำการดาวน์โหลโปรแกรม Ghostscript จากเว็บไซต์
http://ghostscript.com/download/gsdnld.html
แล้วทำการติดตั้งลงในคอมพิวเตอร์
2. ทำการเปิด Windows Command Prompt ในโหมด Run As Administrator
IIS_IUSRS
IUSR
5. ให้ทำการเพิ่มเครื่องพิมพ์ให้กับ Windows โดยทำการเพิ่มเครื่องพิม์
Xerox Phaser 6120 PS (สำหรับ Windows7 หรือสูงกว่า)
Xerox Phaser 1235 PS (สำหรับ Windows Vista)
Apple Color LW 12/660 PS (สำหรับ Windows 2003 Server)
สำหรับบทความนี้ก็ขอจบเพียงเท่านี้
สวัสดีมีเว็บใช้งาน
จะหาโปรแกรม ActiveVFP ได้จากที่ไหน ?
ดาวน์โหลดโปรแกรมคลิกที่นี่
เตรียมการก่อนติดตั้งโปรแกรม ActiveVFP
การใช้งาน ActiveVFP จำเป็นต้องติดตั้ง IIS ก่อน เพื่อจำลองเครื่องคอมพิวเตอร์ของเราให้เป็น Web Server ดังนี้
1. คลิกที่เมนู Start ของ Windows เพื่อเปิด Control Panel -> Programs -> Programs and Features จะเข้าสู่หน้าต่าง Unstall or change a program ให้คลิกเลือก Turn Windows features on or off
2. ที่หน้าต่าง Windows Features ให้เลือกติดตั้ง Insternet Information Service และเลือก รายการ Application Development Features ตามต้องการ ดังภาพตัวอย่าง
คลิกปุ่ม OK
ระบบจะทำการติดตั้ง IIS จนแล้วเสร็จ3. ทำการทดสอบว่าสามารถใช้งาน IIS ได้หรือยัง โดยเปิดโปรแกรมเว็บบราวเซอร์ แล้วพิมพ์ url
http://localhost
หากติดตั้งสำเร็จ จะขึ้นเว็บ ดังภาพ (ขึ้นอยู่กับรุ่นของ IIS)
วิธีการติดตั้งโปรแกรม ActiveVFP
1. ให้เรียกไฟล์ติดตั้งที่ทำการดาวน์โหลดมา (ActiveVFP603,exe) ขณะที่โปรแกรมทำการติดตั้งจะปรากฏหน้าจอให้กำหนดไดเรคทอรีสำหรับเว็บไซต์
ให้กำหนดชื่อตามต้องการ ดังภาพ
หลังจากทำการตั้งชื่อแล้วกดปุ่ม Enter โปรแกรมจะทำการติดตั้งไฟล์ต่างๆ ลงในไดเรคทอรีที่กำหนด จากนั้น โปรแกรมจะให้เรากำหนดชื่อของ Virtual Directory Name ให้กำหนดชื่อตามต้องการ ดังภาพ
เมื่อกำหนดชื่อเรียบร้อยให้กดปุ่ม Enter โปรแกรมจะทำการเพิ่ม Web Site ที่เรากำหนดให้กับ IIS
เมื่อติดตั้งเรียบร้อย กด Enter แล้วจะปรากฎหน้าต่างเว็บบราวเซอร์ แสดงรายละเอียดของ ActiveVFP ดังภาพ
เสร็จสิ้นสำหรับการติดตั้ง ActiveVFP
การปรับแต่ง ActiveVFP ให้สนับสนุนภาษาไทย และภาษาอื่นๆ
1. ให้ทำการเปิดโฟลเดอร์ที่ทำการติดตั้ง ActiveVFP จากนั้นเข้าไปที่โฟลเดอร์ย่อย ชื่อ prg ดังภาพ
ทำการเปิดโปรแกรม VisualFoxPro แล้วเข้าไปแก้ไขโปรแกรม .prg ที่อยู่ในโฟล์เดอร์เหล่านี้ โดยทำการค้นหา คำสั่ง
oHTML.mergescript(lcHTMLout)
เมื่อพบแล้ว ให้เพิ่มคำสั่ง
lcHTMLout=STRCONV(lcHTMLout,11) && for support thai language
โดยนำคำสั่งข้างต้นไว้ก่อนหน้าบรรทัดที่ค้นหาพบ ดังภาพ
ให้ค้นหาทุกไฟล์ .prg และเพิ่มตามตัวอย่าง ก็จะทำให้การแสดงผลและการใช้ภาษาไทยบนหน้าเว็บเป็นไปอย่างถูกต้อง
การกำหนดให้สามารถพิมพ์รายงานของ VisualFoxPro
ขั้นตอนนี้เป็นการกำหนดให้ ActiveVFP สามารถเรียกใช้รายงานของ VisualFoxPro (.frx) ที่ได้ทำการสร้างไว้
1. ให้ทำการดาวน์โหลโปรแกรม Ghostscript จากเว็บไซต์
http://ghostscript.com/download/gsdnld.html
แล้วทำการติดตั้งลงในคอมพิวเตอร์
2. ทำการเปิด Windows Command Prompt ในโหมด Run As Administrator
3. ไปที่โฟล์เดอร์ที่เราได้ติดตั้ง ActiveVFP แล้วเข้าไปที่โฟลเดอร์ reports ทำการ Register ไฟล์ PDFRun.exe โดยอ้างโฟลเดอร์แบบเต็ม ตามตัวอย่างดังภาพ
4. ทำการกำหนดสิทธิ์ให้กับ PDFrun.Print2PDF โดยการเรียกใช้คำสั่ง mmc comexp.msc /32 ในโหมด Run as Administrator (สำหรับ Windows 7 หรือรุ่นที่สูงกว่า) หรือ DCOMCNFG (สำหรับรุ่นที่ต่ำกว่า Windows 7)
5. ที่หน้าต่าง Component Serveice ให้เข้าไปกำหนดสิทธิให้กับรายการ PDFrun.Print2PDF
โดยให้สิทธิกับผู้ใช้IIS_IUSRS
IUSR
เป็นอันเสร็จเรียบร้อย
5. ให้ทำการเพิ่มเครื่องพิมพ์ให้กับ Windows โดยทำการเพิ่มเครื่องพิม์
Xerox Phaser 6120 PS (สำหรับ Windows7 หรือสูงกว่า)
Xerox Phaser 1235 PS (สำหรับ Windows Vista)
Apple Color LW 12/660 PS (สำหรับ Windows 2003 Server)
สำหรับบทความนี้ก็ขอจบเพียงเท่านี้
สวัสดีมีเว็บใช้งาน
31 ธันวาคม 2558
SQL Server - การ Export SQL Server Data โดยใช้ Generate Scripts
การนำข้อมูลจาก SQL Server มีหลายวิธี เช่น การสำรองข้อมูล (backup) หรือ การก๊อปปี้ไฟล์ฐานข้อมูลโดยการ Detach ออกก่อน ซึ่งวิธีเหล่านี้เราจะไม่สามารถเห็นคำสั่งหรือข้อมูลของฐานข้อมูล แต่ยังมีอีกวิธีการหนึ่งที่ทำให้เราสามารถ เห็นคำสั่งตั้งแต่เริ่มสร้างฐานข้อมูล ตาราง รวมถึงคำสั่งในการเพิ่มข้อมูลและข้อมูลต่างๆในตารางของฐานข้อมูลที่ต้องการได้
1. ให้คลิกเมาส์ปุ่มขวาที่ฐานข้อมูลที่ต้องการ Export
เลือก Task -> Generate Scripts...
2. จะปรากฎหน้าต่าง Generate and Publish Script - Introduction ให้คลิกปุ่ม Next
3. หน้าต่าง Generate and Publish Script - Choose Objects เป็นส่วนที่ให้กำหนดว่าจะเลือกการ Export แบบใด
- Script entire database and all database objects เป็นการเลือกสิ่งที่อยู่ภายใต้ฐานข้อมูลทั้งหมด
- Select specific database objects เป็นการเลือกเฉพาะตารางที่ต้องการ
จากนั้นคลิกปุ่ม Next
4. หน้าต่าง Generate and Publish Script - Set Scripting Options
- เลือก Save scripts to a specific location
- เลือก Save to file
ที่ช่อง File name ให้กำหนดชื่อไฟล์และโฟลเดอร์ที่บันทึกรายละเอียดของ scripts
จากนั้นคลิกที่ปุ่ม Advanced
5. เมื่อคลิกปุ่ม Advanced จะปรากฎหน้าต่าง Advanced Scripting Options
ไปที่รายการ Type of data to script แล้วกำหนดค่าตามต้องการ
- Data only เป็นการ Export เฉพาะข้อมูล
- Schema and data เป็นการ Export โครงสร้างและข้อมูล
- Schema only เป็นการ Export เฉพาะโครงสร้าง
คลิกปุ่ม OK
จะกลับมายังหน้าต่าง Generate and Publish Script - Set Scripting Options ให้คลิกปุ่ม Next
6. หน้าต่าง Generate and Publish Script - Summary ให้คลิกปุ่ม Next
โปรแกรมก็จะทำการ Generate Scripts ให้จนเสร็จ ก็กดปุ่ม Finish ก็จะได้ไฟล์สคริปต์ตามที่ต้องการ สามารถนำไปใช้งานต่อได้
ตัวอย่างข้อมูลในไฟล์สคริปต์ ที่ Generate โดยเปิดผ่านทางหน้าต่าง New Query
สวัสดีวันส่งท้ายปีเก่า 31 ธันวาคม 2558
อย่าลืมไปดูไฟผู้ว่า ณ ลานคนเมือง 39 ล้านบาท
สวัสดีมีโชค
24 ธันวาคม 2558
ASP.NET dynamic HighCharts with SQL Server
การแสดงผลด้วยกราฟ ด้วย HighCharts
1. สร้างตารางเก็บข้อมูล ภายใต้ SQL Server ดังนี้
USE yourDatabase
GO
CREATE TABLE [dbo].[tblTicker](
[RowOrder] [int] IDENTITY(1,1) NOT NULL,
[year] [nchar](4) NULL,
[Symbol] [nvarchar](15) NULL,
[Value1] [numeric](12, 2) NULL,
[value2] [numeric](12, 2) NULL
) ON [PRIMARY]
GO
2. ทำการเพิ่มข้อมูลให้กับตาราง ตามตัวอย่างดังภาพ
3. ให้เปิดโปรแกรม Visual Studio 201x จากนั้นทำการสร้างเว็บฟอร์ม
- ไฟล์นามสกุล .aspx ป้อนคำสั่งดังนี้
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<meta charset= "utf-8" />
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/data.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script type="text/javascript">
if ('<%=hidXCategories1%>' == '') {
execScript();
}
var firstSeries = '<%=hidValues1%>';
var secondSeries = '<%=hidValues2%>';
var xAxis = '<%=hidXCategories1%>';
var categories = new Array();
categories = xAxis.split(',');
var seriesOne = new Array();
seriesOne = firstSeries.split(',');
for (var i = 0; i < seriesOne.length; i++) {
seriesOne[i] = parseInt(seriesOne[i]);
}
var seriesTwo = new Array();
seriesTwo = secondSeries.split(',');
for (var i = 0; i < seriesTwo.length; i++) {
seriesTwo[i] = parseInt(seriesTwo[i]);
}
$(document).ready(function () {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
defaultSeriesType: 'line'
},
title: {
text: 'ทดสอบ Line Chat'
},
xAxis: {
categories: categories
},
yAxis: {
title: {
text: 'แกน Y'
}
},
series: [
{ name: 'ข้อมูลที่ 1', data: seriesOne },
{ name: 'ข้อมูลที่ 2', data: seriesTwo }
]
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<h4>Display line chart using Highcharts in Asp.net</h4>
<asp:DropDownList ID="DropDownList1" runat="server">
<asp:ListItem>2014</asp:ListItem>
<asp:ListItem>2015</asp:ListItem>
<asp:ListItem>2016</asp:ListItem>
<asp:ListItem>2017</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<div>
<div id="container" style="width: 500px; height: 500px"></div>
</div>
</form>
</body>
</html>
- ไฟล์นามสกุล .aspx.vb ป้อนคำสั่งดังนี้
Imports System.Data
Imports System.Data.SqlClient
Public Class highcharts
Inherits System.Web.UI.Page
Private dsSeries As New DataSet()
Public hidValues1 As String
Public hidValues2 As String
Public hidXCategories1 As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
End Sub
Public Function BindData() As DataSet
Dim connString As String = ConfigurationManager.ConnectionStrings("SQLConnect").ToString()
Dim con As New SqlConnection(connString)
Dim cmd As New SqlCommand()
cmd.Connection = con
cmd.CommandText = "SELECT symbol,value1,value2 FROM tblTicker WHERE year ='" & DropDownList1.SelectedValue & "'"
Dim da As New SqlDataAdapter(cmd)
Try
Dim ds As New DataSet()
da.Fill(ds)
Return ds
Catch ex As Exception
Throw ex
End Try
End Function
Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim ri As Integer = 0
'If Not IsPostBack Then
dsSeries = BindData()
'End If
If dsSeries Is Nothing Then
Return
End If
For Each dr As DataRow In dsSeries.Tables(0).Rows
hidXCategories1 = (hidXCategories1 & dr("symbol").ToString()) + ","
hidValues1 = (hidValues1 & dr("value1").ToString()) + ","
hidValues2 = (hidValues2 & dr("value2").ToString()) + ","
ri += 1
Next
If ri > 0 Then
hidXCategories1 = Left(hidXCategories1, hidXCategories1.Length - 1)
hidValues1 = Left(hidValues1, hidValues1.Length - 1)
hidValues2 = Left(hidValues2, hidValues2.Length - 1)
End If
End Sub
End Class
- ไฟล์ web.config
<configuration>
<system.web>
<compilation debug="true"
strict="false" explicit="true"
targetFramework="4.5" />
<httpRuntime targetFramework="4.5"
/>
</system.web>
<connectionStrings>
<add name="SQLConnect"
connectionString="server=ชื่อServer;database=ชื่อDatabase;uid=sa;password=1234;"
/>
</connectionStrings>
</configuration>
ให้ทำการกำหนด ชื่้อ Server, ชื่อ Database , ชื่อ User และรหัสผ่าน ให้ตรงกับที่กำหนดใน SQL Server
ตัวอย่างผลลัพธ์
สวัสดีมีกราฟใช้งาน
สมัครสมาชิก:
บทความ (Atom)
"I Believe in You"






























