Tags:
c++
Hey allesammen!
Har tænkt mig at lave en terminal-emulator (som Konsole, xterm o. lign.) Men ved ikke hvordan GUI'en skal gribbes an. Hvilke controller havde i gjort brug af? Tænkte først et stort text felt, men det virker uoverskueligt og uholdbart. Hvad med en liste?
Hej Jakob,
Til at starte med, giver en produktbeskrivelse af hvad programmet skal vise (output) og reagere på (input) samt funktionalitet en god ide om hvad du skal lave.
Jeg tror at du skal starte med at lave en fin tegning af hvordan du gerne vil have tingene til at se ud også.
Nu må i alle gerne kalde mig for dum, og sige at han "bare ønsker ..."
Med venlig hilsen
Ieet
Jamen, det har jeg allerede. Næsten som Konsole og Gnome Terminal.
Jeg ved ikke, men har en terminal nogen GUI?
Er en terminal ikke bare tekst indput og output?
Konsollen i Windows og på de Linux og Unix boxe jeg har leget med er sådan set bare en kommandolinje hvor du skriver en kommando og "systemet" "svarer" ved at skrive noget ud.
Så hvad er det du vil vide?
Såmænd bare hvilken control jeg skal benytte til det. Eller skal jeg lave min egen control?
Det er jo ikke selve terminalen jeg vil lave, det er terminal emulatoren. Og kan du give et eksempel på hvordan cmd.exe gør det?
(med control mener jeg ting som fx spin box, edit label osv.I
Jeg ville nok starte ud med at lave det som en ren konsol baseret applikation, dvs. starte med at bruge cin og cout.
Derpå ville jeg nok gå over til at bruge to edit kontoller, en til at skrive kommandoen i, og den anden til at udskrive al responsen i.
Du kan selvfølgelig også godt lave det som én stor edit-kontrol, men der kræver nok at du modificerer den så brugeren ikke kan flytte cursoren op eller ned. Og det kan give problemer med udskrift der sker samtidig med at der skrives noget.
Man kan også lave det som et rent bart vindue og så håndtere al indtastning og udskrift i hånden, det kræver lidt mere arbejde, men giver den mest flexible løsning.
Men alt i alt er modellen med to edit kontroller nok en udmærket model.
PS: Hvilken compiler bruger du?
Well, så synes jeg du skal starte med to edit kontoller.
Den ene en rigtig enkelt linje edit kontrol hvor brugeren kan taste sine kommandoer og en der er read-only som så bruges til output. Du kan også overveje at bruge en list-control til output.
OK, tak.. Hvad tror du Konsole og Gnome Terminal har gjort (de ligner jo meget hinanden)
Jeg tror at både Konsole og Gnome terminalen laver det hele fra bunden.