Program w stylu dosowym

0

Na pewno pamiętacie, że były i chyba nadal są, takie specyficzne programy, które po uruchomieniu zajmują pełny ekran i nie przypominają typowej windowej aplikacji okienkowej tylko ich interfejs wygląda jak Bios.

Zatem moje pytanie jest takie - czy w c# da się coś takiego napisać? Może nie koniecznie od razu Bios. To może być jakiś prosty programik, ale żeby miał tego rodzaju interfejs. Pisałem już programy konsolowe, ale w porównaniu do windowych, napisałem ich nie wiele.

Stąd moje pytanie i ciekawość. Poza tym, nie jestem pewny czy taki interfejs należy łączyć z interfejsem konsolowym. W końcu interfejs to interfejs, a konsola to konsola. Tak czy siak, będę wdzięczny za jakieś naprowadzenie.

0

Piszesz o aplikacjach konsolowych.
Oczywiście, że się da takie napisać. Zwykle nawet od takich zaczyna się naukę (interfejs nie jest zawsze potrzebny).

Jednak co do sensowności takiego pomysłu mam wątpliwości.
Z 1 strony interfejs nie powoduje zamulenia programu (znam przypadek gdy użytkownicy narzekali na nowsza wersje, która zamulała, aczkolwiek nie była to do końca wina interfejsu jako takiego, tylko jego złego designu)

Nie jest też łatwo napisać taki interfejs (bardziej skomplikowany niż jakaś lista wyboru dwóch rzeczy i wyświetlenie linijki tekstu) - wszystko co widzisz wtedy to jakiś wyświetlany znak, trzeba trochę pomużdzyć żeby to się udało, ale może są gotowe biblioteki?

Dużo szybciej i przyjażniej dla użytkwonika było by zrobić aplikację z normalnym interfejsem, czy to WPF (okienkowa) czy w ASP np w MVC w (lub z jakąś zewnętrzną biblioteką frontendową) na przeglądarke - ale wtedy inna architektura i podejście do systemu (komunikacja z serwerem itp).

1

Witam,

Zobacz może http://www.mono-project.com/docs/tools+libraries/libraries/monocurses/ Ci pomoże... ;-)

Pozdrawiam,

mr-owl

0

Standardowa klasa System.Console choć trochę ograniczona, może być też użyta w ten sposób.

0

Mnie chodzi tak na prawdę o to, by zwyczajnie program konsolowy przedstawić graficznie tak, jak wygląda właśnie np bios. Same programy konsolowe już pisałem, ale jak zrobić ten interfejs? No właśnie jeszcze do tego nie doszedłem, a chyba powinienem.

1

To możesz z korzystać z biblioteki którą zasugerował mr-owl, albo ręcznie wszystko wypisywać, ustawiać tło i kolor tekstu, o czym tez już ktoś wspominał... Kupa roboty.

0
(Nie) Naostrzony napisał(a):

To możesz z korzystać z biblioteki którą zasugerował mr-owl, albo ręcznie wszystko wypisywać, ustawiać tło i kolor tekstu, o czym tez już ktoś wspominał... Kupa roboty.

Oczywiście przejrzę tę dokumentację od mr-owl'a i coś czuję, że jej będę się trzymał, ale ciekawi mnie też, jak to określiłeś - ta kupa roboty np. te ramki. To, że trzeba walnąć pętlę to jest dla mnie oczywiste, ale jakich metod użyć albo jak zrobić proste menu i jak to wszystko zaprogramować, żeby można było się poruszać po nim klawiaturą. O, takie rzeczy;-)

0

Same programy konsolowe już pisałem, ale jak zrobić ten interfejs?

Rysować ramki za pomocą specjalnych znaczków służących do rysowania ramek.

Istnieją (istniały..) do tego gotowe biblioteki, ale czy pod .NETem ktoś się w to specjalnie bawił...

ale jakich metod użyć albo jak zrobić proste menu i jak to wszystko zaprogramować, żeby można było się poruszać po nim klawiaturą

Nie ma gotowych metod do tego. Masz możliwość wyświetlenia dowolnego tekstu w dowolnym miejscu na ekranie, w dowolnym kolorze; masz metody do obsługi klawiatury, do myszki pod konsolą też by się znalazły - i tyle. Trzeba złożyć te klocki ze sobą.

Kupa roboty, i tyle :-)

1

Może tzw. tryb semigraficzny? Ze znaków tekstowych symulowany jest wygląd GUI... Coś jak np. w Norton Commander, Dos Command Center, Defrag dla MS-DOS...
Była taka biblioteka: Turbo Vison (ówczesnej firmy Borland) dla C/C++ i Pascala. Była w niej obsługa myszki w trybie tekstowym.
Obecnie jest dostępny kod źródłowy do tej biblioteki
http://tvision.sourceforge.net/
Bardzo podobna biblioteka w C#
http://www.codeproject.com/Articles/750873/Turbo-Vision-resurrected-for-Csharp-and-with-XAML

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