ďťż

Ładny brzuch

:( Mam mały problem Chcę stworzyć program do przechowywania tipsów do gier. Mam podstawową budowę programu, ale nie wiem jak połączyć tryb rekordowy z tablicą dynamiczną, żeby dane zapisywać i odczytywać z bazy. Innymi słowy mówiąc potrzebuje czterech procedurek (zapis, odczyt, dodawanie, usuwanie) do tego:

type PField = ^TField; TField = record Name: string; Tips: array of Byte; ReadOnly: Boolean; Modified: Boolean; end; TIndex = ^TField; type TDataBase = record Indices: array of TIndex; Fields: array of TField; end;

Komponenty jakie używam to: Listbox, Edit i Memo. Chciałbym również prosić o pomoc w sprawie wyszukiwania w Listbox. Chodzi o to, że tekst wpisywany jest w Edit i automatycznie podświetla się szukana nazwa z tym, że proces ten jest odporny na duże i małe litery wprowadzane w Edit i zaznaczany w Listbox.

Z góry dziękuję za Pomoc:)



Uzyj klasy tlist lub w kazdym rekordzie zamiesc wskaznik do nastepnego rekordu i zrob cos na wzor sieci :) Bedzie dzieki temu latwiej operowac na rekordach :)

@kajetanek: to sie nazywa chyba lista jednokierunkowa (wskaznik na nastepny element) ? ;)

1. albo zadeklaruj stala dlugosc wpisu typu string (max 255), co akurat w przypadku opisu raczej sie nie sprawdzi... mozesz tez zadeklarowac to jako array[0..x] of char, ale plik bedzie dosyc duzy (jesli zalozyc ze na jeden opis przeznaczysz np. 4000 znakow)
Znacznie lepiej jest zapisywac to jako string zakonczony zerem, tzn zapisujesz wszystkie pola rekordu (te o stalej wielkosci) a na koncu kolejne znaki stringa. kiedy string sie skonczy zapisz bajt zerowy. Potem przy wczytywaniu odczytujesz wszystkie pola rekordu o stalej wielkosci a do stringa czytasz znaki az natrafisz na bajt zerowy.

2. wyszukiwanie w listboxie: albo IndexOf albo petla z porownaniem (drugie rozwiazanie daje ci wieksze mozliwosci, mozesz porownywac np. tylko fragment tekstu lub porownywac oba w lowercase dzieki czemu szukanie nie bedzie case-sensitive)

3. dodawanie / usuwanie
polecam poczytac o tablicach dynamicznych ( http://4programmers.net/Delphi/Tablice )
oraz http://4programmers....string%C3%B3w)_

BTW nie licz ze ktos ci napisze tu gotowca :>

aha, i zamiast bawic sie w tablice dynamiczne naprawde polecam uzycie klasy TList ( i ewnetualnie pochodnych )
jest to dziesiatki razy wygodniejsze (masz od razu metody move / delete, nie musisz bawic sie w SetLength itp)
Użytkownik migajek edytował ten post 20 czerwiec 2006, 10:39
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •