4
-31
ϳ
2013
: .NET.
: , .
ճ
. , , . .
:
C#;
VB.NET;
F#;
C# 볺 䳿 , . VB.NET, : , . F#.
: File->New->Project->Blank solution. ϳ ( 1.1).
1.1 F#
Library1 :
˳ Library1.fs
namespace FSharpLib
type FSharpReader() =
member x.ReadFromFile filePath = System.IO.File.ReadLines(filePath);;
VB.NET ( 1.2).
1.2 VB.NET
VBWriter.vb :
˳ VBWriter.vb:
Public Class VBWriter
Public Function WriteTofile(ByVal path As String, ByVal tasks As List(Of String))
If System.IO.File.Exists(path) = True Then
Dim objWriter As New System.IO.StreamWriter(path)
For Each item As String In tasks
objWriter.WriteLine(item, True)
Next
objWriter.Close()
End If
Return Nothing
End Function
Public Function WriteNewTofile(ByVal path As String, ByVal task As String)
If System.IO.File.Exists(path) = True Then
Dim objWriter As New System.IO.StreamWriter(path, True)
objWriter.WriteLine(task)
objWriter.Close()
End If
Return Nothing
End Function
End Class
#, 볺 ( 1.3).
1.3
, References->Add Reference ( 1.4).
1.4 ϳ
Main:
˳ Main:
|
|
static void Main(string[] args)
{
const string path = @"D:\list.txt";
bool isActive = true;
int menu;
FSharpReader reader = new FSharpReader();
VBWriter writer = new VBWriter();
List<string> TODOlist = reader.ReadFromFile(path).ToList();
while (isActive)
{
Console.WriteLine("1. Show tasks \n" +
"2. Add new task \n" +
"3. Edit task \n" +
"4. Delete task \n" +
"5. Exit");
menu = Convert.ToInt32(Console.ReadLine());
switch (menu)
{
case 1:
{
Console.Clear();
TODOlist = reader.ReadFromFile(path).ToList();
Console.WriteLine("My TODO list: \n");
foreach (string s in TODOlist)
{
Console.WriteLine("- " + s);
}
Console.WriteLine();
break;
}
case 2:
{
Console.Clear();
Console.Write("Enter task: ");
string task = Console.ReadLine();
writer.WriteNewTofile(path, task);
Console.Clear();
break;
}
case 3:
{
Console.Clear();
Console.Write("Enter task number: ");
int num = Convert.ToInt32(Console.ReadLine()) - 1;
Console.Write("Enter new task: ");
string newTask = Console.ReadLine();
TODOlist[num] = newTask;
Console.WriteLine(TODOlist[num].ToString());
Console.ReadKey();
writer.WriteTofile(path, TODOlist.ToList());
Console.Clear();
break;
}
case 4:
{
Console.Clear();
Console.Write("Enter task number: ");
int num = Convert.ToInt32(Console.ReadLine()) - 1;
TODOlist.RemoveAt(num);
writer.WriteTofile(path, TODOlist.ToList());
Console.Clear();
break;
}
case 5:
{
Environment.Exit(0);
break;
}
default:
{
Console.Write("Enter proper number!");
Console.Clear();
break;
}
}
}
}
볺 5 , , F#. 1.5.
1.5
2,3,4 , . 5 .
solution, : F#, VB.NET, C#. .NET . .
, F# , VB.NET. 볺 , C#.