[Delphi] Array of string - problem

Odpowiedz Nowy wątek
2006-08-01 13:50
0

Mam "mały" problemik. Chcę napisać program, który będzie zapisywał dane do tablicy dynamicznej (array of string). Nie wiem tylko, jak:

  1. Dane wprowadzone do memo i edita (czyt.: opis i tytuł) zapisać do pliku (tablica dynamiczna)
  2. Odczytać dane z pliku, gdy... kliknę w listbox na tytuł i wyświetli mi się odpowiedni opis.

Powiedzmy, że coś takiego udało mi się stworzyć, ale nie do końca, tak jak bym tego chciał. Otóż chciałbym ustawić wartość w Listbox.Sorted:=True, ale wtedy tytuły mi nie pasują do opisów, bo... kiedy:

Listbox.Sorted:=False; ==> to wtedy Indexy opisów:=Listbox.ItemIndex i wtedy jest OK
Listbox.Sorted:=True; ==> to wtedy tytuły są posortowane w listbox, a opisy nie pasują do tych tytułów. Dlaczego??? ;-(

Pozostało 580 znaków

2006-08-01 14:25
0

Musisz napisać procedurę sortującą całe rekordy, a nie tytuły. Jeżeli nie ma tego dużo to sortowanie bąbelkowe z racji prostoty.

type
 TPareto = record
  KodyVal :Word;
  KodyID :String;
 end;
 
var Temp :TPareto;
 
 for i := 1 to Koniec-1 do
  for j := i+1 to Koniec do
   if Pareto[i].KodyVal < Pareto[j].KodyVal then
      begin
       Temp := Pareto[j];
       Pareto[j] := Pareto[i];
       Pareto[i] := Temp;
      end;

Jakoś tak (na szybko bez kompilatora)


<span style="color: blue">"Kolarstwo to jedna z najtrudniejszych dyscyplin sportu. Nawet najgorszy kolarz jest wciąż wybitnym sportowcem."
s.p. Marco Pantani
</span>

Pozostało 580 znaków

2006-08-01 14:54
0

a nie prościej zamiast tablicy wziąć TStringList :>


- Ciemna druga strona jest.
- Nie marudź Yoda, tylko jedz tego tosta.
Google NIE GRYZIE!
Pomogłem - kliknij

Pozostało 580 znaków

2006-08-01 19:16
0

Miałem kiedyś podobny problem - i tak jak napisał Misiekd: skorzystaj ze TStringList lub ew. TList. Tablice się do tego zdecydowanie nie nadają.


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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