initial commit
This commit is contained in:
87
ase/test/com/AwkForm.cs
Normal file
87
ase/test/com/AwkForm.cs
Normal file
@ -0,0 +1,87 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
using System.IO;
|
||||
|
||||
namespace ase.com
|
||||
{
|
||||
public partial class AwkForm : Form
|
||||
{
|
||||
public AwkForm()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void btnRun_Click(object sender, EventArgs e)
|
||||
{
|
||||
Awk awk = new StdAwk ();
|
||||
|
||||
//System.Text.Encoding.Default
|
||||
awk.SourceInputStream = new MemoryStream (UnicodeEncoding.UTF8.GetBytes(tbxSourceInput.Text));
|
||||
awk.SourceOutputStream = new MemoryStream();
|
||||
|
||||
awk.ConsoleInputStream = new MemoryStream(UnicodeEncoding.UTF8.GetBytes(tbxConsoleInput.Text));
|
||||
awk.ConsoleOutputStream = new MemoryStream();
|
||||
|
||||
tbxSourceOutput.Text = "";
|
||||
tbxConsoleOutput.Text = "";
|
||||
|
||||
if (!awk.Parse())
|
||||
{
|
||||
MessageBox.Show(awk.ErrorMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
MemoryStream s = (MemoryStream)awk.SourceOutputStream;
|
||||
tbxSourceOutput.Text = UnicodeEncoding.UTF8.GetString(s.GetBuffer());
|
||||
|
||||
awk.EntryPoint = cbxEntryPoint.Text;
|
||||
awk.ArgumentsToEntryPoint = chkPassArgumentsToEntryPoint.Checked;
|
||||
|
||||
bool n;
|
||||
int nargs = lbxArguments.Items.Count;
|
||||
if (nargs > 0)
|
||||
{
|
||||
string[] args = new string[nargs];
|
||||
for (int i = 0; i < nargs; i++)
|
||||
args[i] = lbxArguments.Items[i].ToString();
|
||||
n = awk.Run(args);
|
||||
}
|
||||
else n = awk.Run();
|
||||
|
||||
if (!n)
|
||||
{
|
||||
MessageBox.Show(awk.ErrorMessage);
|
||||
}
|
||||
else
|
||||
{
|
||||
MemoryStream c = (MemoryStream)awk.ConsoleOutputStream;
|
||||
tbxConsoleOutput.Text = UnicodeEncoding.UTF8.GetString(c.GetBuffer());
|
||||
}
|
||||
}
|
||||
|
||||
//awk.Close();
|
||||
}
|
||||
|
||||
|
||||
private void btnAddArgument_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (tbxArgument.Text.Length > 0)
|
||||
{
|
||||
lbxArguments.Items.Add(tbxArgument.Text);
|
||||
tbxArgument.Text = "";
|
||||
tbxArgument.Focus();
|
||||
}
|
||||
}
|
||||
|
||||
private void btnClearAllArguments_Click(object sender, EventArgs e)
|
||||
{
|
||||
lbxArguments.Items.Clear();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user