Простой словарь

Размещаем в форме 2 TextBox, Label, MenuStrip, Button, SaveFileDialog.
Для примера в словаре только три слова: мама, солнце, мир.
Public Class Dizionario
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' Если текстом в TextBox1 является: "mamma", то при нажатии Button1
If TextBox1.Text = "mamma" Then
' в TextBox2 будет текст: "мама"
TextBox2.Text = "мама"
' Иначе, если...
ElseIf TextBox1.Text = "sole" Then
TextBox2.Text = "солнце"
ElseIf TextBox1.Text = "pace" Then
TextBox2.Text = "мир"
End If
End Sub
Private Sub СохранитьКакToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles СохранитьКакToolStripMenuItem.Click
Dim open As New SaveFileDialog
SaveFileDialog1.Filter = "Текстовой файл (*.txt)|*.txt|Все файлы (*.*)|*.*" ' Фильтр
SaveFileDialog1.Title = "Save File"
SaveFileDialog1.CheckPathExists = True
SaveFileDialog1.ShowDialog()
' Запись текста в файл (из TextBox1 - перенос - из TextBox2)
Try
My.Computer.FileSystem.WriteAllText(SaveFileDialog1.FileName, TextBox1.Text & vbCrLf & TextBox2.Text, False)
Catch ex As Exception
End Try
End Sub
Private Sub ВыйтиToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ВыйтиToolStripMenuItem.Click
Application.Exit() ' Закрываем приложение
End Sub
End ClassА так словарь будет переводить в обе стороны:
If TextBox1.Text = "mamma" Then
TextBox2.Text = "мама"
ElseIf TextBox2.Text = "мама" Then
TextBox1.Text = "mamma"
ElseIf TextBox1.Text = "sole" Then
TextBox2.Text = "солнце"
ElseIf TextBox2.Text = "солнце" Then
TextBox1.Text = "sole"
ElseIf TextBox1.Text = "pace" Then
TextBox2.Text = "мир"
ElseIf TextBox2.Text = "мир" Then
TextBox1.Text = "pace"
End IfВ этом случае нужно добавить кнопку для очистки полей - она будет иметь следующий код:
TextBox1.Clear() TextBox2.Clear() ' Или так: TextBox1.Text = "" TextBox2.Text = ""
Можно и так:
If TextBox1.Text = "mamma" Then
TextBox2.Text = "мама"
End If
If TextBox2.Text = "мама" Then
TextBox1.Text = "mamma"
End If
If TextBox1.Text = "sole" Then
TextBox2.Text = "солнце"
End If
If TextBox2.Text = "солнце" Then
TextBox1.Text = "sole"
End If
If TextBox1.Text = "pace" Then
TextBox2.Text = "мир"
End If
If TextBox2.Text = "мир" Then
TextBox1.Text = "pace"
End IfТо же самое на C#
Для примера выводится сообщение об удачном сохранении текста в файл. В Бейсике сообщение выводится так:
MsgBox("Сохранено!", 64, "Сохранение")Свойство Environment.NewLine позволяет текст перевода из textBox2 записывать с новой строки.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace DizionarioCSharp
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "mamma")
{
textBox2.Text = "мама";
}
else if (textBox1.Text == "sole")
{
textBox2.Text = "солнце";
}
}
private void выйтиToolStripMenuItem_Click(object sender, EventArgs e)
{
Application.Exit();
}
private void сохранитьКакToolStripMenuItem_Click(object sender, EventArgs e)
{
SaveFileDialog sfd = new SaveFileDialog();
sfd.Filter = "Текстовой документ (*.txt)|*.txt|Все файлы (*.*)|*.*";
if (sfd.ShowDialog() == DialogResult.OK)
{
TextWriter tw = new StreamWriter(sfd.FileName);
tw.Write(textBox1.Text + Environment.NewLine + textBox2.Text);
tw.Dispose();
MessageBox.Show("Перевод сохранён в файл!");
}
}
}
}Можно добавить пункт "Копировать в буфер обмена":
Clipboard.SetText(textBox1.Text + Environment.NewLine + textBox2.Text);
Конечно словарную базу лучше хранить в отдельном файле. Вот вариант кода на Visual Basic .NET.
Using reader As StreamReader = New StreamReader("data.txt")
Do While (True)
Dim line As String = reader.ReadLine
If line Is Nothing Then
Exit Do
End If
Dim words As String() = line.Split("|")
Dim word As String
For Each word In words
If word = TextBox1.Text Then
TextBox2.Text = words(+1)
End If
Next
Loop
End UsingЧтобы сделать форму поверх всех окон, установите свойство формы TopMost = True.
Me.TopMost = True
LinkLabel
System.Diagnostics.Process.Start("http://site.ru/")
System.Diagnostics.Process.Start("mailto:" & "mail@yandex.ru")
System.Diagnostics.Process.Start("program.exe")
System.Diagnostics.Process.Start("C:MyPicture.jpg")Смена регистра
Смена регистра
Метод String.ToUpper переводит все символы в строке в верхний регистр. В следующем примере смешанный регистр строки "Hello World!" изменяется на верхний:
Dim MyString As String = "Hello World!" Console.WriteLine(MyString.ToUpper()) ' Этот пример показывает следующий вывод: ' HELLO WORLD!
Метод String.ToLower похож на предыдущий метод, но преобразует регистр всех знаков в строке в нижний. В следующем примере регистр строки "Hello World!" заменяется на нижний:
Dim MyString As String = "Hello World!" Console.WriteLine(MyString.ToLower()) ' Этот пример показывает следующий вывод: ' hello world!
MessageBox
MessageBox.Show("Название Copyright © Автор", "Заголовок", MessageBoxButtons.OK, MessageBoxIcon.Information)