Cześć , jak stworzyc taka ramke aby byla wyswietlana w konsoli?
0
1
Musisz skorzystać ze znaków z rozszerzonej tablicy ASCII: http://www.theasciicode.com.ar/ lub ich odpowiedniego mapowania w unicode.
0
A moze ktos mi to napisac bo proboje wsadzic to w petle ale nie do konca mi to wychodzi
lewa gora to=201,lewy dol to =200 prawa gora to=187,prawy dol to=188 gorna/dolna krawedz=205
0
daj ten kod co masz, to zobaczymy co jest nie tak :)
0
Hmm.
Zrobiłem to w C# dla tekstów które mają 1 linijkę i działa nawet spoko, ale zastanawiam się czy nie jest to "hardcoded"
Tutaj możesz przetestować: http://rextester.com/HHBXBM13242
PS: Jeżeli nie znasz foreach, to po prostu zastąp go forem i przeleć po długości tekstu w ramce ;P
//Rextester.Program.Main is the entry point for your code. Don't change it.
//Compiler version 4.0.30319.17929 for Microsoft (R) .NET Framework 4.5
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
namespace Rextester
{
public class Program
{
public static void Rysuj(string message)
{
string sciana = "║";
string prawy_rog = "╗";
string lewy_rog = "╔";
string dolny_prawy_rog = "╝";
string dolny_lewy_rog = "╚";
string deska = "═";
/// 1 linijka
Console.Write(lewy_rog);
foreach (var c in message)
{
Console.Write(deska);
}
Console.Write(prawy_rog);
/// 2 linijka
Console.WriteLine();
Console.Write(sciana);
foreach (var c in message)
{
Console.Write(c);
}
Console.Write(sciana);
/// 3 linijka
Console.WriteLine();
Console.Write(dolny_lewy_rog);
foreach (var c in message)
{
Console.Write(deska);
}
Console.Write(dolny_prawy_rog);
}
public static void Main(string[] args)
{
Rysuj("Labolatorium programowania");
}
}
}
╔══════════════════════════╗
║Labolatorium programowania║
╚══════════════════════════╝
1
W C:
//Pierwsza linijka
printf("%c", 201);
for (int i = 0; i < 26; ++i)
printf("%c", 205);
printf("%c", 187);
//Druga linijka
printf("\n%c", 186);
printf("Laboratorium Programowania");
printf("%c", 186);
//Trzecia linijka
printf("\n%c", 200);
for (int i = 0; i < 26; ++i)
printf("%c", 205);
printf("%c", 188);