对不起,我正在尝试制作将单词转换为单词的简单应用程序。例如
启用 = 能够付款 = 支付
我记事本上的文字是“启用付款”
我在上面使用了 2 个示例词,但我没有得到我需要的东西。我在 notepad.txt 上写了“启用”和“付款”。然后应用程序将启动并得到消息。
并且应用程序将开始修剪切割“En”和“ment”的单词,因此它们的结果将是“able”和“pay”
我的应用程序可以将单个单词 "enable" 修剪为 "able" 。和“支付”到“支付”,但是,如果我写了 2 个或更多字,例如“启用支付”或“启用支付”,应用程序就不能正常工作
这是用户界面图像
这是源代码,
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace KTM'
{
public partial class KTM : Form
{
public string notepad;
public KTM()
{
InitializeComponent();
textBox1.Enabled=false;
button2.Enabled = false;
button3.Enabled = false;
}
void enable()
{
button2.Enabled = true;
button3.Enabled = true;
}
private void button1_Click(object sender, EventArgs e)
{
string dir = Application.StartupPath.ToString();
OpenFileDialog fdlg = new OpenFileDialog();
fdlg.Title = "Open *txt files";
fdlg.InitialDirectory = @dir;
fdlg.Filter = "Text files (*.txt)|*.txt|Text Files (*.txt)|*.txt";
fdlg.FilterIndex = 2;
fdlg.RestoreDirectory = true;
if (fdlg.ShowDialog() == DialogResult.OK)
{
textBox1.Text = fdlg.FileName;
}
else
{
}
}
private void textBox1_TextChanged(object sender, EventArgs e)
{
if (textBox1.Text.Equals(""))
{
}
else
{
enable();
}
}
private void button2_Click(object sender, EventArgs e)
{
notepad = textBox1.Text;
StreamReader sr = new StreamReader(notepad);
string paragraf = sr.ReadToEnd();
sr.Close();
string[] kata = paragraf.Split(' ');
int i = 0;
//MessageBox.Show(kata[0]+" "+kata[1]+" "+kata[2]);
foreach (string ambil in kata)
{
if (kata[i].StartsWith("en"))
{
kata[i] = kata[i].Substring(2);
}
if(kata[i].EndsWith("ment"))
{
int len = kata[i].Length;
int kepake = len - 4;
kata[i] = kata[i].Substring(0, kepake);
}
}
i++;
StreamWriter sw = new StreamWriter(notepad);
i = 0;
foreach (string ambil in kata)
{
sw.Write(kata[i]+" ");
}
i++;
sw.Flush();
sw.Close();
MessageBox.Show("Converted and Saved ","KTM Stemming",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
private void button3_Click(object sender, EventArgs e)
{
notepad = textBox1.Text;
System.Diagnostics.Process.Start(notepad);
}
}
}