Pytanie o wyszukiwanie tekstów, dodawanie pozycji do ListView i parę innych rzeczy

0

Witam.
Właśnie przesiadam się z Pascala na C++ chcąc nauczyć się programować w "prawdziwie potężnym" języku, bo Pascal to jest po prostu cienki. Ale mam problem.
W pascalu była funkcja POS i PosEx.

<a href="psy_z_rygi/ncc.html">psy_z_rygi</a>

Potrzebuję funkcji, która mi zwróci liczbę znaku od której zaczyna się "href", co posłuży mi później do odczytu ścieżki.
Nie pogardzę też parserem HTML, ale nie wiem jak ich się używa.

Kolejna sprawa to dodawanie Itemów do ListView.
Jak to się robi w C++? I jak dodać subitemy?

Jeśli mam listę wielu plików w OpenDialog1 to czy to jest dobry kod na odczytanie zawartości pozycji o id równym 0?

 
AnsiString FileNameId0;
FileNameId0 = OpenDialog1->Files[0]

Bo mi coś nie zabardzo to wychodziło. Jaki jest kod poprawny?

Mam taką linię

0

Z pytania o ListView zakładam, że kodujesz w C++ Builder (pisz o tym w postach)

Używając "gołego" C++:

char* strstr(char *żródło, char *szukany_tekst)

Funckja zwraca wskaźnik do pierwszego znaku w ciągu źródłowym gdzie rozpoczyna się ciąg szukany. Póżniej wykorzystujesz ten wskaźnik do skopiowania interesującego Cię fragmentu np funkcją strncpy(). (Przykład: http://www.cplusplus.com/reference/clibrary/cstring/strstr/)
Wymagany nagłówek <string.h>

Jeżeli chodzi o przyjemniejszy sposób (piszę ciągle o C++ Builderze) to jeżeli "wrzucasz" tekst do AnsiString, to w nim jest metoda Pos, np:

  int firstOccurence;
  AnsiString temp = "<a href=\"psy_z_rygi/ncc.html\">psy_z_rygi</a>";
  firstOccurence = temp.Pos("href");
 

Tylko musisz zapamiętać, że AnsiString jest dość nietypowy jeżeli chodzi o C++ i liczy elementy od 1, a nie od 0 jak w większości funkcji C++.

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