I want to adapt or transform from C# code to F#.

  • Thread starter Thread starter Metaconta
  • Start date Start date
M

Metaconta

Guest
Hello:
I want to adapt or transform from C# code to F#.

Code C#:

using System;

namespace radioButton_consola_02_cs
{
class Program
{
#region Variables.
private static readonly string[] TEXTO = new string[]
{
"( ) Option A ",
"( ) Option B ",
"( ) Option C ",
" EXIT"
};

private static int itemSeñalado;

private static int itemSeleccionado;
#endregion

static void Main(string[] args)
{
// Window title.
Console.Title = "RadioButton";

// Window size.
Console.SetWindowSize(20, 5);

// Green background.
Console.BackgroundColor = ConsoleColor.Blue;

// Black letters.
Console.ForegroundColor = ConsoleColor.White;

// I hide the cursor.
Console.CursorVisible = false;

// Stores the key pressed in the variable.
ConsoleKey teclaInicial;

do
{
// Clean screen.
Console.Clear();

// Cursor position of the MAIN MENU title.
Console.SetCursorPosition(0, 0);

// Title.
Console.Write(" MENÚ PRINCIPAL ");

// Time position.
Console.SetCursorPosition(4, 2);

// Numeric format dd/MM/yyyy.
Console.Write(DateTime.Now.ToString("ddd dd MMM"));

// Stores a pressed key in the variable.
teclaInicial = Console.ReadKey(true).Key;

// Did you press the Enter key?
if (teclaInicial == ConsoleKey.Enter)
{
// Yes. This function is executed.
MenuPrincipal();
}
} while (teclaInicial != ConsoleKey.Escape);
}

#region Main menu.
private static void MenuPrincipal()
{
bool salir = false;

// In itemSelecionado:
// -1 = Not selected with * any option.
// 0 = Select with * Option A.
// 1 = Select with * Option B.
// 2 = Select with * Option C.

// Capture key and then validate.
ConsoleKey tecla;

// Every time you return to the menu, it is marked with the *.
itemSeñalado = 0;

do
{
//******************************************************************
// I draw the main menu.

// Clean screen.
Console.Clear();

for (int k = 0; k < TEXTO.Length; k++)
{
Console.SetCursorPosition(0, k);
Console.Write(itemSeñalado == k ? "> " : " ");
Console.Write(TEXTO[k]);
Console.SetCursorPosition(3, k);
Console.Write(itemSeleccionado == k ? "*" : " ");
}

// End of painting the main menu.
//******************************************************************

// Read key entered by user.
tecla = Console.ReadKey(true).Key;

switch (tecla)
{
case ConsoleKey.Enter:
if (itemSeñalado < 3)
{
itemSeleccionado = itemSeñalado;
}
salir = (itemSeñalado == TEXTO.Length - 1);
break;

case ConsoleKey.DownArrow:
if (++itemSeñalado >= TEXTO.Length)
{
itemSeñalado = 0;
}
break;

case ConsoleKey.UpArrow:
if (--itemSeñalado < 0)
{
itemSeñalado = TEXTO.Length - 1;
}
break;
}
// I use the escape key as output.
} while (!salir);
}
#endregion
}
}

Thank you.





Continue reading...
 
Back
Top