Avatar billede danielhep Nybegynder
10. juli 2004 - 00:22 Der er 8 kommentarer og
2 løsninger

udvikle tekst editor

hej

jeg skal til at kode en tekst editor.  Jeg har selv prøvet at programmere en, men det gik ikke lige så heldigt.

nogle som kan give nogle tips og triks til hvad der skal gøres for at udvikle en tekst editor ?
Avatar billede bertelbrander Novice
10. juli 2004 - 01:15 #1
At udvikle en text editor er ikke noget man sådan lige gør, det koster mange timers arbejde, men er en meget sjov diciplin.

Men at fortælle hvordan man sådan lige gør er der vist ikke plads til her, der er skrevet tykke bøger om hvordan man kan gøre og der er f.ex. udviklet store teorier om hvordan man gemmer teksten der skal redigers.

Jeg tror du skal forsøge at dele opgaven op i små bidder, f.ex:

1. Lave et program der kan læse og vise en simpel text fil, lære at håndtere scrolling. Herunder bestemme sig for hvordan man vil gemme teksten i hukommelsen, og overveje om man vil læse hele filen fra starten, hvilken er det letteste men kan være et problem med meget store filer. Dette er stort set det less på unix/linux kan.

2: Kunne lave simple ændringer til filen, indsætte tegn, overskrive.

3: Håndtere markeret text, blokke, copy & paste.

4: ...

Måske kan det betale sig at finde en eksisterende editor som man kan få inspiration fra.

Jeg går ud fra at det er linux og curses.
Avatar billede danielhep Nybegynder
10. juli 2004 - 13:24 #2
jeg bruger linux og curses.
Avatar billede danielhep Nybegynder
10. juli 2004 - 13:25 #3
jeg vil bare have noget lig VI fra linux...men den behøver ikke at kunne mere end det basale til en start.
Avatar billede bertelbrander Novice
10. juli 2004 - 16:02 #4
Du bør kunne finde sourcen til Vim her:
http://www.vim.org/

Hvis det er for kompliceret kunne du kikke på Joe:
http://sourceforge.net/projects/joe-editor

Der er også pico, der er et link til download af sourcen her:
http://www.die.net/doc/linux/man/man1/pico.1.html
Avatar billede arne_v Ekspert
10. juli 2004 - 16:06 #5
Jeg forestiller mig noget i retning af:

* en struct/class som repræsenterer en buffer og indeholder et antal linier

* en struct class som repræsenterer skærmen og holder styr på hvilken del
  af filen der vises

* en løkke som læser et keystroke og laver en switch på det

* hver case opdaterer enten kun skærmen eller både skærm og buffer
Avatar billede nico26 Nybegynder
10. juli 2004 - 20:52 #6
hvis man vil være fancy, kan man lave en stak til undo-information.
Avatar billede danielhep Nybegynder
14. juli 2004 - 17:58 #7
Jeg er lige i Amsterdam lige nu...jeg svare paa spoergsmaalene senere....
Avatar billede danielhep Nybegynder
17. juli 2004 - 18:08 #8
Så er jeg hjemme igen.... :)

Vi havde er problem med bilen som gik i stykker, så det var jo ikke så godt... :(

Arne_v >>
Jeg synes du skal have nogle points.  Så giv et svar så får du en sjat :)

Bertelbrander >>
Tak for hjælpen :)
Avatar billede arne_v Ekspert
17. juli 2004 - 18:11 #9
svar
Avatar billede danielhep Nybegynder
17. juli 2004 - 18:14 #10
Mig her...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester