แปลง PHP เป็น ASP.NET (VB หรือ C# ก็ได้) รบกวนหน่อยครับ
ปัญหาคือ php นึกจะใช้ตัวแปรตรงไหนก็ใช้ตรงนั้น เลยไม่รู้ว่าตัวแปรนั้นมาจากที่นอกเหนือกว่านี้หรือเปล่า
เลยสมมติว่าถ้าเพิ่งเจอหมายถึงให้ประกาศตรงนั้น
Code (C#)
//$delimiter = ' ';
string delimiter = " ";
//if ($_POST['message']!=NULL)
if (Request.Form["message"] != null) //<-- ของ asp.net มี viewstat ซึ่งน่าใช้กว่า Request.Form นะ
{
//Get Time Stamp
//$time_before = time();
DateTime time_before = DateTime.Now.ToLocalTime();
//$data = $_POST['message'];
string data = Request.Form["message"].ToString();
//while($data!=NULL)
while (data != null)
{
//Previous Pos Value
//$p_pos = $pos;
int p_pos = pos; //<-- pos ไม่รู้ประกาศไว้ที่ไหนนะ แต่คงเป็น int เพราะด้านล่างแทนค่าด้วย int
//Reset Pos Value
//$pos = -1;
pos = -1;
//$unit = substr($data,0,1);
string unit = data.Substring(0, 1);
//$unit2 = substr($data,0,2);
string unit2 = data.Substring(0, 2);
//$len = strlen($data)+1;
int len = data.Lenght + 1;
//เพิ่มส่วนติดต่อ mysql
System.Data.SqlClient.SqlConnection MySqlConnection = new System.Data.SqlClient.SqlConnection("Your connection string.");
//Cross out the number
//if (!((($unit>='0')&&($unit<='9'))||(($unit>='A')&&($unit<='z'))))
if (!((unit >= "0" && unit <= "9") || (unit >= "A" && unit <= "z")))
{
//$query = "SELECT tkey FROM tws WHERE tkey LIKE '$unit2%' AND amount <= $len;";
//$result = mysql_query($query) or die("Can't Connect DB!");
System.Data.SqlClient.SqlCommand MySqlCommand = new System.Data.SqlClient.SqlCommand("SELECT [tkey] FROM [tws] WHERE [tkey] LIKE @unit2 AND [amount] <= @len", MySqlConnection);
MySqlCommand.Parameters.Add("@unit2", SqlDbType.NVarChar).Value = uint2 + "%";
MySqlCommand.Parameters.Add("@len", SqlDbType.Int).Value = len;
MySqlConnection.Open();
System.Data.SqlClient.SqlDataReader reader = MySqlCommand.ExecuteReader();
//เพิ่ม
string final = string.Empty;
//while($row = mysql_fetch_array($result))
while (reader.Read())
{
//$pos = strpos($data,$row[tkey]);
pos = data.IndexOf(reader[tkey].ToString());
//if ($pos===0)
if (pos == 0)
{
//$data = substr($data,strlen($row[tkey]));
data = data.Substring(reader[tkey].ToString().Lenght);
//$final .= $delimiter.$row[tkey];
final += delimiter + reader[tkey].ToString();
break;
}
}
//เพิ่ม
reader.Close();
MySqlConnection.Close();
}
//if ($pos!==0)
if (pos != 0)
{
//if ($p_pos===0)
//$final .= $delimiter;
if (p_pos == 0)
final += delimiter;
//$final .= $unit;
final += unit;
//$data = substr($data,1);
data = data.Substring(1);
}
}
}
convert ให้ดูเล่นๆ นะ ถ้าเขียนจริงๆ เขียนใหม่เถอะ เพราะ asp.net เป็น oop ส่วน php ยังเป็นแบบ top-down อยู่ (php เขียนเป็น oop ก็ได้ แต่เป็น oop ที่แปลกๆ เพราะไม่มี namespace) <-- ความคิดเห็นจาก .net fanboys (ฉันเอง)
Date :
2010-01-25 13:54:47
By :
tungman
ความเห็นของ vb6 fanboys
- vb6 ถูกใจจัง
- vb.net สิ่งวิเศษ
- c# omg wtf = oh! my god. what the f**k.
ความเห็นของ vb.net fanboys
- vb6 รักครั้งเก่า
- vb.net I love you
- c# wat = WHAT?
ความเห็นของ C# fanboys
- vb6 ของเล่นเด็กโบราณ
- vb.net ของเล่นเด็ก
- c# เครื่องมือสารพัดประโยชน์ (ผมว่ามันก็ของเล่นเหมือนกันแหละ)
เล่นๆ ขำๆ นะ อย่าคิดมาก
Date :
2010-01-25 14:34:24
By :
tungman
ขอบคุณ "tungman" มากมายครับ นึกว่าจะไม่มีใครตอบซะแล้ว
เป็นคำตอบที่ยอดเยี่ยมเลยทีเดียว ^^
ขอบคุณมากมายคร๊าบบบบบ
Date :
2010-01-25 22:16:53
By :
untokung
Load balance : Server 04