Sunday, July 26, 2009

วันแม่

วันแม่




ดูภาพแล้ว ก็คงไม่ต้องอธิบายความหมายอะไร


เดือนหน้าก็วันแม่แล้ว


กลับบ้านไปให้หาแม่กันเถอะ

Friday, July 24, 2009

เว็บออกแบบทรงผม(ญี่ปุ่น) ..ทรงนี้แหละที่อยากได้


เว็บนี้ค่ะ

http://www.lucido-l.jp/library/09color01.html

จะมีทรงผมให้เลือกเยอะแยะ

แต่ละทรงก็จะบอกขั้นตอนว่า ทำยังไง

เป็นภาษาญี่ปุ่นนะคะ อ่านไม่ออกก็ดูรูปเอา


รูปนี้เป็นทรงที่ชอบที่สุด



ใครชอบทรงใหนไปดูวิธีทำกันได้

Tuesday, July 21, 2009

Validator control จำกัดจำนวนอักษร

แบบใช้ control ของ visual studio 2008
validator control จำกัดอักษร

code ดังนี้







2. แบบใช้ jquery
jquery


$(function(){
var max_length=200; // กำหนดจำนวนตัวอักษร
$("#txtQuit").keyup(function(){ // เมื่อ textarea id เท่ากับ data มี event keyup
var this_length=max_length-$(this).val().length; // หาจำนวนตัวอักษรที่เหลือ
if(this_length<0){
$(this).val($(this).val().substr(0,200)); // แสดงตามจำนวนตัวอักษรที่กำหนด
}else{
$("#now_length").html("ตัวอักษรที่เหลือจะพิมพ์ได้ "+this_length+" ตัวอักษร");
// แสดงตัวอักษรที่เหลือ
}
});
});


โดยจะเช็ค textbox ที่ชื่อว่า txtQuit
โดยในส่วน body ใส่แท็ก span เพื่อให้แสดงจำนวนตัวอักษร



Monday, July 20, 2009

ASP.NET code for Upload picture to database and display image (type images)

เมื่อฐานข้อมูลเดิม ของระบบเดิม ใช้การเก็บรูปภาพเป็นประเภท images ไม่ได้เก็บรูปไว้ในพาธ โฟลเดอร์อย่างที่เคยทำ

code นี้รันบน
- 3.5 Framework
- visual studio 2008
- sql server management studio express


โดยใช้ fileupload control ถ้าผิดพลาดหรือมีอะไรที่ควรแก้ไขช่วยแนะนำด้วยค่ะ
เพราะดูมาจากหลายที่ บางโค๊ดก็ไม่สามารถใช้ได้เหมือนตัวอย่าง ก็มิกซ์แอนแมทซ์ได้อย่างที่เห็น

เป็นระบบการเพิ่มข่าวสารสาระความรู้

ส่วนของ code (ไม่ได้ก็อปมาทั้งหน้า เอาเฉพาะที่ำสำคัญ) :



'ที่ต้อง import เข้ามา

Imports System.Data
Imports System.Data.SqlClient
Imports System.Web.Configuration
Imports System.IO
Imports System.Web.UI.Page


Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("intranetConnectionString").ConnectionString)

'ฟังก์ชั่น replace ตัวอักษรที่ไม่ต้องการ
Function replacetext(ByVal str As String) As String
str = Trim(str).Replace("'", " ")
Return str
End Function


'เหตุการณ์เมื่อกดปุ่ม upload

Protected Sub btnaddnews_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnaddnews.Click
Dim stradd As String
Dim maxid As Integer

'ไฟล์อัพโหลด
If Not FileUpload1.PostedFile Is Nothing And FileUpload1.PostedFile.ContentLength > 0 Then

Dim fn As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.FileName)
Dim fs As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.ContentLength)
Dim ft As String = System.IO.Path.GetFileName(FileUpload1.PostedFile.ContentType)

Dim ft4add As String
Select Case Trim(ft)
Case "gif"
ft4add = "image/gif"
Case "pjpeg", "jpeg", "jpe", "jpg"
ft4add = "image/jpeg"
Case "png"
ft4add = "image/png"
Case Else
lblneedfile.Text = "ชนิดของรูปภาพไม่ถูกต้อง"
Exit Sub
End Select

Dim da As New SqlDataAdapter("select max(id_know) as maxx from tblKnowledge", conn)
Dim dt As New DataTable
da.Fill(dt)
If dt.Rows.Count <> 0 Then
maxid = CInt(dt.Rows(0).Item("maxx")) + 1
Else
maxid = 0
End If

stradd = "INSERT INTO tblKnowledge(id_know,FileName,FileSize,FileData,ContentType,topic,detail1,detail2,detail3,detail4,detail5,dateadd,addby,foot)"
stradd += " VALUES('" & maxid & "','" & fn & "','" & fs & "', @filedata ,'" & ft4add & "','" & replacetext(txttopic.Text) & "','" & replacetext(txtdetail1.Text) & "','" & replacetext(txtdetail2.Text) & "','" & replacetext(txtdetail3.Text) & "','" & replacetext(txtdetail4.Text) & "','" & replacetext(txtdetail5.Text) & "','" & Date.Now & "','" & CStr(Session("adminUser")) & "','" & replacetext(txtfrom.Text) & "')"

Dim myCommand As New SqlCommand(stradd, conn)
Dim imageBytes(System.IO.Path.GetFileName(FileUpload1.PostedFile.InputStream.Length)) As Byte
System.IO.Path.GetFileName(FileUpload1.PostedFile.InputStream.Read(imageBytes, 0, imageBytes.Length))
myCommand.Parameters.AddWithValue("@filedata", imageBytes)
conn.Open()
myCommand.ExecuteNonQuery()
conn.Close()
Response.Redirect("index.aspx")
End If
End Sub


thank a lot :
ลองดูตัวอย่างจากเว็บนี้ก็ได้ค่ะ
http://www.beansoftware.com/ASP.NET-Tutorials/Binary-Files-To-Database.aspx

ส่วนการแสดงรูปจะใช้วิธีสร้างไฟล์ ขึ้นมา 1 ไฟล์ .aspx นี่แหละ
แล้วใช้ image control ส่งค่าไปตาม ImageUrl

โค๊ดแสดงรูปแบบ image

'ไฟล์แสดงรูป สมมุติว่าชื่อ formShowPic.aspx

If Not Page.IsPostBack Then
Dim cashowpic As New SqlDataAdapter("select FileData,ContentType from tblKnowledge where id_know='" & Trim(Request.QueryString("idpic")) & "'", conn)
Dim dtshowpic As New DataTable
cashowpic.Fill(dtshowpic)

If dtshowpic.Rows.Count <> 0 Then
If Not IsDBNull(dtshowpic.Rows(0).Item("FileData")) Then
Dim dataFromDtb As Byte() = DirectCast(dtshowpic.Rows(0).Item("FileData"), Byte())
Response.Clear()
Response.ContentType = Trim(dtshowpic.Rows(0).Item("ContentType").ToString)
Response.BinaryWrite(dataFromDtb)
Response.End()
End If
End If
End If




'เมื่อเวลาเราจะแสดงรูปไว้ตรงจุดใหนก็อ้าง image สมมุติว่า ใช่้ image ชื่อว่า im1 ใน code behine ก็เรียกดังนี้


im1.ImageUrl = "formShowPic.aspx?idpic=" & Trim(dtedit.Rows(0).Item("id_know").ToString)

Thursday, July 16, 2009

Javascript Image Magnification 2.7a [easy for use]



V2.7a - Sometimes More Is Better.


PopBox is an image magnification javascript solution for dynamically moving and resizing images on your web page. Javascript? Yes - I know it's nothing new and that you've been able to move and resize things in Javascript for years, but only now is there a prepackaged solution that makes it as easy as 3 lines of HTML without knowing a lick about positioning!


Main Features

  • Ridiculously simple to use.
  • Does not navigate away from the page or create separate windows.
  • Does not require any special browser plug-ins. 100% script and CSS solution.
  • Includes a multi-line caption capability that dynamically sizes to fit.
  • Allows for a different image to be used for the thumbnail and Popped images - on page load or on image click.
  • Supports scrollable landscape and portrait images that extend beyond the browser window.
  • Can display a user-defined text message across the top of the image on page load on the thumbnail image.
  • Can display a user-defined text message across the top of the image after it has been popped.


ลิงค์ดาวน์โหลด

http://www.c6software.com/Products/PopBox


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

ต้องบอกว่า ใช้ง่ายมาก เข้าท่าดี เป็น javascript ที่เค้าเขียนขึ้นมาแจกฟรี ซูมได้โดยไม่เปิดหน้าใหม่

ได้เอามาใช้ใน asp.net .. เอาไปใช้กับภาษาอะไรก็ได้ที่สามารถรัน java script ..

ตอนดาวน์โหลดมาใช้รู้สึกว่าแค่แก้ไขอะไรนิดๆ หน่อยๆ ก็ใช้ได้แล้วนะ


เยื่ยมมาก .. (^_^)





Bookmark and Share

Thursday, July 9, 2009

บันทึกวิธีำทำ และปัญหายิบย่อยของการเขียน asp.net สร้าง chart ด้วย Microsoft Chart Controls 3.5



ก่อนอื่น
  1. หาก Framework ของเราไม่ใช่เวอร์ชั่น 3.5 ให้ลงตัว dotnetfx35setup.exe ก่อน(ถ้าไม่ใช่ Framework v 3.5 ตอน install MSChart.exe มันจะขึ้น error ฟ้อง)
  2. แล้ว install ตัว MSChart.exe
  3. ต่อไป install ตัว MSChart_VisualStudioAddOn.exe เพื่อให้ visual studio 2008 ของเรามีตัว Chart Tool
  4. ถ้าในฐานข้อมูลไม่มี database ฟรีที่ชื่อ Northwind ล่ะก็ ให้ไปดาวน์โหลด Northwind Database ได้ที่นี่ download northwind database (อย่า งง เมื่อเห็นว่าเป็น database สำหรับ sql 2000 แล้วไฟล์ก็ดันชื่อ SQL2000SampleDb.msi ที่จริงก็ใช้ได้แหละ เมื่อโหลดมาแล้ว ให้ Double Click ไฟล์นั้นเลย ก็ next next เรื่อยๆ พอเสร็จ ให้ไปดูที่ drive c จะมีโฟล์เดอร์ที่ชื่อ SQL Server 2000 Sample Databases แปลว่า ok ละ หลังจา่กนั้นเปิด Microsoft Sql Server Menagement Studio Express ขึ้นมา เลือก File > Open > File .. แล้วก็ Browns หาไฟล์ไฟล์ instnwnd.sql ในโฟลเดอร์ SQL Server 2000 Sample Databases แล้วก็เสร็จค่ะ ปล.จากที่ค้นหาวิธี import ฐานเค้าไม่ได้สอนแบบนี้นะ เค้าต้อง config อะไรซักอย่างก่อน แต่ทำตามแล้วมันไม่เวิร์คก็เลยลองวิธีนี้ดู ก็ใช้ได้ ยังไม่เจอปัญหา)
(ลิงค์ดาวน์โหลดไฟล์ต่างๆ ดาวน์โหลดวิธีสอนก็อยู่ในเว็บ http://www.narisa.com/forums/index.php?showtopic=27332 นี้หมด ต้องขอขอบคุณคนในบอร์ดนี้มากๆ จากใจเลย)

ขั้นตอน

- เมื่อเตรียมทรัพยากรพร้อมหมดแล้ว
- ก็เขียนคำสั่ง ดังนี้

(อันนี้ลอกมาจาก vdo มันติด error)
select
year(Orders.ShippedDate) as SaleOfYear,
Month(Orders.ShippedDate) as Month#,
DateName(Month,Orders.ShippedDate) as SaleOfMonth,
sum([Order Details].Quantity * [Order Details].UnitPrice) as TotalSale
FROM Orders inner join [Order Details] on Orders.OrderID = [Order Detail].OrderID
group by
Month(Orders.ShippedDate),DATENAME(Month,Orders.ShippedDate),Year(Orders.ShippedDate)
having (Year(Orders.ShippedDate)=1997 or Year(Orders.ShippedDate)=1996 and
Month(Orders.ShippedDate)>6)
Order by 1,2

(อันนี้เขียนขึ้นใหม่ ใช้ได้)
select year(t1.ShippedDate) as SaleOfYear, Month(t1.ShippedDate) as Month#, DateName(Month,t1.ShippedDate) as SaleOfMonth,sum(t2.Quantity + t2.UnitPrice) as TotalSale
from Orders as t1,[Order Details] as t2
where t1.OrderID=t2.OrderID
group by
Month(t1.ShippedDate),DATENAME(Month,t1.ShippedDate),Year(t1.ShippedDate)
having (Year(t1.ShippedDate)=1997 or Year(t1.ShippedDate)=1996 and
Month(t1.ShippedDate)>6)
Order by 1,2


- แล้วก็เปิด visual studio 2008 ขึ้นมา new website ใหม่มาเลยก็ได้ วิธีเหมือนใหน vdo เดี๊ยะๆ สร้างไฟล์ index.aspx ขึ้นมา
- แล้วพิมพ์คำสั่งเหมือน vdo เอาตามนั้นเลย
- ในหน้าโค๊ด ที่เขียนจะมีโค๊ดดังนี้ ซึ่งจะแตกต่างจาก vdo ที่สอนเพราะคนสอนเค้าใช้ ado.net entity data model แต่เรา่ยังไม่ได้ศึกษา เอาไว้ก่อน ก็ใช้คำสั่งง่ายๆ ดังนี้

code ทั้งหมดในหน้า index.aspx.vb

Imports System.Web.UI.DataVisualization.Charting
Imports System.Data
Imports System.Data.SqlClient

Partial Class web_chart_index
Inherits System.Web.UI.Page
Dim conn As New SqlConnection(ConfigurationManager.ConnectionStrings("northwindConnectionString").ConnectionString)
Dim qr As String
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
qr = "select year(t1.ShippedDate) as SaleOfYear, Month(t1.ShippedDate) as Month#, DateName(Month,t1.ShippedDate) as SaleOfMonth,sum(t2.Quantity + t2.UnitPrice) as TotalSale from Orders as t1,[Order Details] as t2 where t1.OrderID=t2.OrderID group by Month(t1.ShippedDate),DATENAME(Month,t1.ShippedDate),Year(t1.ShippedDate) having (Year(t1.ShippedDate)=1997 or Year(t1.ShippedDate)=1996 and Month(t1.ShippedDate)>6) Order by 1,2"
Dim da As New SqlDataAdapter(qr, conn)
Dim dt As New DataTable
da.Fill(dt)
For i As Integer = 0 To dt.Rows.Count - 1
If Me.Chart1.Series.FindByName(dt.Rows(i).Item("SaleOfYear")) Is Nothing Then
Me.Chart1.Series.Add(dt.Rows(i).Item("SaleOfYear"))
Me.Chart1.Series(dt.Rows(i).Item("SaleOfYear").ToString).ChartType = SeriesChartType.Line
End If
Me.Chart1.Series(dt.Rows(i).Item("SaleOfYear").ToString).Points.AddXY(dt.Rows(i).Item("SaleOfMonth").ToString, dt.Rows(i).Item("TotalSale").ToString)
Next

End Sub
End Class

ที่สำคัญต้องเพิ่ม ในหน้า web.config
ใน <เฮท ที ที พี แฮนเดอร์> ให้เพิ่ม
ไปก็อปโค๊ดที่ลิงนี้ละกัน blogger มันไม่ยอมให้วางโค๊ดนี้
http://stackoverflow.com/questions/302820/net-3-5-chart-controls-exception-error-executing-child-request-for-chartimg-axd


ที่จริง vdo บอกแค่นี้แล้วรันก็ผ่านเลย แต่พอเราทำก็ติด error Invalid temp directory in chart handler configuration [c:\TempImageFiles\].

ก็ search กันอีกรอบ บอกว่าใน ไฟล์ web.config ต้องเพิ่มอีกบรรทัด


ใน
<แอพ เซตติ้ง> ให้เพิ่มดังนี้
ไปก็อปโค๊ดที่ลิงนี้ blogger ไม่ยอมให้วางโค๊ดนี้อีกแล้ว (ตรงคำตอบของSirn Tran)
http://social.msdn.microsoft.com/Forums/en-US/MSWinWebChart/thread/92238582-9445-4d15-a5a7-5f24fd4bf646


แค่นี้ก็รันผ่านแล้ว
แต่กราฟที่ออกมาไม่เหมือนกับใน vdo ซักเท่าไหร่ ยังไม่้ได้เช็ค แต่ขอบันทึกวิธีทำก่อนที่จะลืม แล้วค่อยมาต่อค่ะ ....




ลิงค์ที่เกี่ยวข้อง
- วีดีโอสอน โหลดจากเว็บ gratefriend http://www.greatfriends.biz/webboards/msg.asp?id=108932
- http://www.narisa.com/forums/index.php?showtopic=27332



Bookmark and Share

Saturday, July 4, 2009

B13 – U ultimatum คู่ขบถ คนอันตรายภาค 2


เมื่อวานไปดูหนังเรื่อง ice age มา

พอดีเห็น title หนังเรื่อง B13-U Ultimatum ภาค 2 จะเข้าโรงวันที่ 9 กรกฏา นี้แล้ว

หนังเรื่องนี้มันส์สุดๆ ชอบๆ

ใครอยากดูหนัง B13 ภาค 1 สามารถดูออนไลน์ได้ในเว็บ

ที่ลิงค์ด้านล่าง ภาคไทยค่ะ

http://www.clipmass.com/movie/B13%E0%B8%84%E0%B8%B9%E0%B9%88%E0%B8%A2%E0%B8%AD%E0%B8%94%E0%B8%84%E0%B8%99%E0%B8%AD%E0%B8%B1%E0%B8%99%E0%B8%95%E0%B8%A3%E0%B8%B2%E0%B8%A2(1)---68546391054167




ชื่อภาษาไทย คู่ขบถ คนอันตราย 2
ภาพยนตร์แนว แอ็คชั่น
จากประเทศ ฝรั่งเศส
กำหนดฉาย 9 กรกฎาคม 2552
ณ โรงภาพยนตร์ เฉพาะโรงภาพยนตร์ในเครือเมเจอร์ ซีนีเพล็กซ์, อีจีวี, พารากอน ซีนีเพล็กซ์ และเอสพละนาด ซีนีเพล็กซ์
นักแสดง Daniel Duval (13th District (คู่ขบถ คนอันตราย), Elodie Yung, Philippe Torreton
ผู้กำกับ Patrick Alessandrin
อำนวยการสร้าง Luc Besson

จุดเด่น - เป็นภาพยนตร์ภาคต่อสุดมันส์ 13th District (คู่ขบถ คนอันตราย) การกลับมาสร้างความระทึกอีกครั้งของคู่หูคู่ซ่า ดาเมียน และ เลอีโต อำนวยการสร้างโดยสุดยอดผู้กำกับชาวฝรั่งเศส ลุค แบซง กับภาพยนตร์ภาคต่อที่กระชากความมันส์แบบไม่มีขีดจำกัด

เรื่องย่อ B13 ภาค 2
ตอนสุดท้ายของ บองลิเยอร์ 13 เล่าเกี่ยวกับเรื่องราวของ ดาเมียน (ซีรีล ราฟาเอลลี) ตำรวจผู้เชี่ยวชาญทางด้านศิลปะการต่อสู้ และ เลอีโต (ดาวิด แบล) ผู้สามารถแฝงตัวในซอกมุมชานเมือง คนหนึ่งสัญญากับอีกคนว่าจะเปลี่ยงแปลงสิ่งต่างๆ แต่ก็ไม่มีอะไรที่เปลี่ยนแปลงอย่างแท้จริง… สองปีให้หลัง มีการเปลี่ยนรัฐบาล กำแพงอันโดดเดี่ยว ตั้งสูงตระหง่าน ใหญ่โต และทอดยาวออกไป เหยียดยาวล้อมรอบเมืองเกตโต (ที่ชาวยิวอาศัยอยู่) เมืองถูกแบ่งออกเป็นห้าเขตทางเชื้อชาติ ดาเมียน และเลอีโต ได้ช่วยกันสร้างเครื่องมือชิ้นใหม่ที่มุ่งรักษาถิ่นที่พักอาศัยเอาไว้ โปรแกรมของพวกเขานั้นคือการป้องกันตัวอย่าง และการต่อสู้ด้วยกำลัง มีการวิ่งหนี และการหลบหนี ภายใต้การไล่ล่าสุดระทึกเป็นคอร์สต่อเนื่องกิจกรรมจริงจัง การตามล่าอันร้อนระอุได้เริ่มขึ้นอีกครั้ง

District B13 Ultimatum is the English language release title of the 2009 French action film, Banlieue 13 Ultimatum, also known as District 14, District Thirteen 2, District 13: Ultimatum, and B13-u.

The film, directed by Patrick Alessandrin, is the sequel to the acclaimed 2004 French action film Banlieue 13 which enjoyed worldwide success and is now something of a cult classic. The original film was notable for its depiction of parkour in a number of stunt sequences that were completed without the use of wires or computer generated effects and because of this some critics drew comparisons to the popular Thai film Ong-Bak.

District 13 Ultimatum will have David Belle and Cyril Raffaelli reprising their original roles of Leito and Damien, respectively. Luc Besson, who co-produced and co-wrote District 13, is the screenwriter and producer


ตัวอย่างหนังเรื่อง B13 (B13-U Ultimatum Trailer)