ขอรบกวนถามผู้รู้ครับพอดีอาจารย์ให้ผมมาหาคำตอบ
ผมพึ่งทำโปรแกรมค้นหาส่งอาจารย์ครับ แล้วเขาก็ถามผมว่ามันดียังไง ?
ผมก็ตอบว่ามันเร็วกว่า Windows Search ของ windows แล้วอาจารย์ก็ถามอีกว่า
มันดีกว่ายังไง ? อันนี้แหละครับที่ผมตอบไม่ได้
รบกวนผู้รู้ช่วยตอบผมที่ครับว่าทำไม Windows Search ถึงได้ทำงานช้า เวลาเราค้นหา
ข้างล้างคือ code โปรแกรมผมครับ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Software
{
public partial class Form1 : Form
{
//string address = "D:\\";
public Form1()
{
InitializeComponent();
try {
label4.Text = "C:\\Users\\Public\\Documents\\ห้ามลบ.txt";
textBox2.Text = File.ReadAllText(label4.Text);
}
catch
{
System.IO.File.CreateText("C:\\Users\\Public\\Documents\\ห้ามลบ.txt");
//MessageBox.Show("please create cfs.txt on C:\\Users\\Public\\Documents\\");
}
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
private void button1_Click(object sender, EventArgs e)
{
try {
System.Diagnostics.Process.Start(@"" + label1.Text);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open
// System.Diagnostics.Process.Start(@"" + performanceCounter1);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open);
}
catch
{
MessageBox.Show("กรุณาเลือกไฟล์ที่ต้องการเปิดก่อน");
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) {
string b = listBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, b, SearchOption.AllDirectories);
foreach (string ficheiro in a)
label1.Text = ficheiro;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
string tempPath = "";
if (fbd.ShowDialog() == DialogResult.OK)
{
tempPath = fbd.SelectedPath; // prints path
textBox2.Text = fbd.SelectedPath;
File.WriteAllText(label4.Text, textBox2.Text);
}
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
/* private void button3_Click(object sender, EventArgs e)
{
File.WriteAllText(label4.Text, textBox2.Text);
textBox1.ReadOnly = false;
textBox2.ReadOnly = true;
button3.Visible = false;
button2.Visible = true;
}*/
private void button4_Click(object sender, EventArgs e)
{
this.Hide();
Backup wn1 = new Backup();
wn1.Show();
}
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void listBox1_MouseClick(object sender, MouseEventArgs e)
{
}
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
try
{
System.Diagnostics.Process.Start(@"" + label1.Text);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open
// System.Diagnostics.Process.Start(@"" + performanceCounter1);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}
อยากทราบว่า Windows Search ทำงานยังไง ทำไมถึงค้นหาช้ากว่า โปรแกรมค้นหาทั่วไป
ผมพึ่งทำโปรแกรมค้นหาส่งอาจารย์ครับ แล้วเขาก็ถามผมว่ามันดียังไง ?
ผมก็ตอบว่ามันเร็วกว่า Windows Search ของ windows แล้วอาจารย์ก็ถามอีกว่า
มันดีกว่ายังไง ? อันนี้แหละครับที่ผมตอบไม่ได้
รบกวนผู้รู้ช่วยตอบผมที่ครับว่าทำไม Windows Search ถึงได้ทำงานช้า เวลาเราค้นหา
ข้างล้างคือ code โปรแกรมผมครับ
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Software
{
public partial class Form1 : Form
{
//string address = "D:\\";
public Form1()
{
InitializeComponent();
try {
label4.Text = "C:\\Users\\Public\\Documents\\ห้ามลบ.txt";
textBox2.Text = File.ReadAllText(label4.Text);
}
catch
{
System.IO.File.CreateText("C:\\Users\\Public\\Documents\\ห้ามลบ.txt");
//MessageBox.Show("please create cfs.txt on C:\\Users\\Public\\Documents\\");
}
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
private void button1_Click(object sender, EventArgs e)
{
try {
System.Diagnostics.Process.Start(@"" + label1.Text);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open
// System.Diagnostics.Process.Start(@"" + performanceCounter1);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open);
}
catch
{
MessageBox.Show("กรุณาเลือกไฟล์ที่ต้องการเปิดก่อน");
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e) {
string b = listBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, b, SearchOption.AllDirectories);
foreach (string ficheiro in a)
label1.Text = ficheiro;
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
FolderBrowserDialog fbd = new FolderBrowserDialog();
string tempPath = "";
if (fbd.ShowDialog() == DialogResult.OK)
{
tempPath = fbd.SelectedPath; // prints path
textBox2.Text = fbd.SelectedPath;
File.WriteAllText(label4.Text, textBox2.Text);
}
try
{
string b = textBox1.Text;
string[] a = Directory.GetFiles(@"" + textBox2.Text, "*" + b + "*.*", SearchOption.AllDirectories);
listBox1.Items.Clear();
foreach (string ficheiro in a)
listBox1.Items.Add(Path.GetFileName(ficheiro));
}
catch
{
MessageBox.Show("กรุณาระบุตำแหน่ง FLODER ที่ถูกต้อง");
}
}
/* private void button3_Click(object sender, EventArgs e)
{
File.WriteAllText(label4.Text, textBox2.Text);
textBox1.ReadOnly = false;
textBox2.ReadOnly = true;
button3.Visible = false;
button2.Visible = true;
}*/
private void button4_Click(object sender, EventArgs e)
{
this.Hide();
Backup wn1 = new Backup();
wn1.Show();
}
private void groupBox2_Enter(object sender, EventArgs e)
{
}
private void listBox1_MouseClick(object sender, MouseEventArgs e)
{
}
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e)
{
try
{
System.Diagnostics.Process.Start(@"" + label1.Text);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open
// System.Diagnostics.Process.Start(@"" + performanceCounter1);//เปิดไฟล์
// File.Open(@"" + label1.Text, FileMode.Open);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
}
}