Ini + ListView

0

Witam!
Chciałbym zrobić zapisywanie kolumn z ListView do plików ini i nie wiem jak to zrobić z wszystkich kolumn. Jakby to komyś pomogło to chodzi konkretnie o trzy kolumny
Pozdrawiam :)

0

Cos takiego (nie sprawdzalem)

for i := 0 to ListView1.Items.Count -1 do
  for q := 0 to ListView1.Items[i].SubItems.Count -1 do
    Ini.WriteString(ListView1.Items[i].Caption, ListView1.Columns[q].Caption, ListView1.Items[i].SubItems[q]);
0

Wiesz... jakos nie za bardzo to kapuje....
Jeszcze raz i powoli to wygląd atak:

  _____________________________________
  |Nazwa       |Numer             |Status             |
  |                |                       |                      |
  |                |                       |                     |

Nazwa, Numer i Status to nazwy kolumn i co mam teraz i gdzie wpisać?

0

No to daj sobie zapis z jakimś znakiem rozdzielającym, a później 'Exploduj' po tym znaku, albo zapisz ListView do strumienia, albo jeszcze lepiej: do XML`a.

PS: tu masz Explode względem Index`u zaczynając od zera (lewa kolumna):

function Explode(Ch: Char; s: string; Index: Byte): string;
type
  TTableString = array of string;

  function InternalExplode(Str: string; Divider: Char): TTableString;
  var
    i, j: Integer;
  begin
    j := 1;
    i := 1;
    while i <= length(str) do
    begin
      if (str[i] = Divider) or (i = length(str)) then
      begin
        if (i = length(str)) and (str[i] <> Divider) then
          Inc(i);
        SetLength(Result, High(Result) + 2);
        Result[High(Result)] := Trim(Copy(str, j, i - j));
        j := i + 1;
      end;
      Inc(i);
    end;
  end;

begin
  Result := InternalExplode(s, ch)[index];
end;
0

Czego tu nie rozumiesz? Chciales zapisac to do ini, wiec to zapisze ci w postaci:

[nazwa]
ilosc=50
cos_jeszcze=1

[cos_innego]
ilosc=2
cos_jeszcze=0

etc.

No to tym bardziej nie wiem jaki problem :/

0

Jemu chodzi o Nazwy kolumn a nie o Itemy !!!!

<ort>Sprubuj</ort> z tym :

  for i := 0 to ListView1.Columns.Count -1 do
    Ini.WriteString('Kolumny', IntToStr(I), ListView1.Column[I].Caption;

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