Chce napisać edytor tekstowy w pascalu ale nie wiem jak dane przechowywać w optymalny sposób. Na razie zrobiłem to na tablicy jednowymiarowej typu byte, ale nie jest to zbytnio wygodne bo nie można latać kursorem jak się chce ;-p Więc myślę nad czymś innym. Mój drugi pomysł to Zrobić listę jedno/dwu - kierunkową (jako kolejne wiersze) i w niej z kolei tablice dynamiczna ^^. Wydaje sie to najlepsze rozwiązanie.
Jeżeli maicie jakieś pomysły/ doświadczenie w pisaniu Edytorów tekstowych to proszę o wskazówki i rady. THX
hmm ja bym sprobowal zrobic liste ktorej kazdy element jest stringiem dynamicznym (alokacja blokowa wiec jest duzo szybsze niz zwykla tablica i zajmuje mniej pamieci niz heurystyka).
Dwuwymiarowa tablica
Char
owa, albo jednowymiarowa String
owa.
http://4programmers.net/file.php?id=1439
jeśli pod pascalem chcesz mieć wiecej niz 255 znaków w linii to albo sobie stwórz własny typ (np. length:word;buf:^array[1..1]of char; z range czecking off ;]) i go obsłuż albo użyj free pascala. Nie poprawiałem tego, jak wstawiłem, tak jest, więc fajnie byoby, gdybyś zwrócił uwagę na bugi, a jest ich tam kilka
Dzięki, ale już sobie poradziłem, zrobiłem listę jednokierunkową(dal kolejnych wierszy), a w każdej z nich tablice dynamiczną o długości do 65535 :). Nawet dodałem tryb obsługiwania kilku okienek :]