Ramka z ASCII

0

Cześć , jak stworzyc taka ramke aby byla wyswietlana w konsoli?

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);

1 użytkowników online, w tym zalogowanych: 0, gości: 1