Avatar billede lubker Nybegynder
04. november 2008 - 10:17 Der er 9 kommentarer og
1 løsning

ListView - søg efter caption og returner index

Jeg har et tekststreng som muligvis også findes som caption i et ListView.
Jeg leder derfor efter en funktion der kan returnere index hvis denne caption findes i listen.

Umiddelbart vil jeg mene IndexOf() ville være den rette, men kan desværre ikke få den til at virke. Når jeg compilerer får jeg fejlmeddelelsen: "E2129 Character constant too long (or empty)".

(C++ Builder)
VarIndex = Form1->ToolView->Items->IndexOf('min caption');
Avatar billede segmose Nybegynder
04. november 2008 - 13:06 #1
VarIndex = Form1->ToolView->Items->IndexOf('min caption');

eller

VarIndex = Form1->ToolView->Items->IndexOf("min caption");
Avatar billede segmose Nybegynder
04. november 2008 - 13:07 #2
Ja det må være " istedet for '
Avatar billede lubker Nybegynder
04. november 2008 - 13:32 #3
Jeg har prøvet begge dele, men uden held. med " giver den istedet fejlen: "E2034 Cannot convert 'char *' to 'TListItem *'"
Avatar billede segmose Nybegynder
04. november 2008 - 14:01 #4
Jeg antager du bruger en Borland C++ Builder af en art så er den funktion du skal bruge nok

virtual int __fastcall IndexOfName(const AnsiString Name);

i dit tilfælde

VarIndex = Form1->ToolView->Items->IndexOfName(AnsiString("min caption"));
Avatar billede lubker Nybegynder
04. november 2008 - 15:53 #5
Ja, jeg bruger Borland C++ Builder 2006.
Den mener ikke at IndexOfName er medlem af TListView...
Avatar billede lubker Nybegynder
04. november 2008 - 17:24 #6
Det tyder på den udelukkende virker i delphi og ikke C++.
Avatar billede segmose Nybegynder
04. november 2008 - 18:06 #7
Nej, jeg mente bare det var en TList, men din TListView vil ikke det samme, den vil have et "TListItem *" som jo er det du egentlig ville have tilbage ...
Avatar billede lubker Nybegynder
04. november 2008 - 19:06 #8
Jeg fandt en løsning.
Jeg skulle åbenbart benytte FindCaption til søgningen og derefter IndexOf til index..

ToolView->Items->IndexOf(ToolView->FindCaption(0,AnsiString("Type ToolId1"),False, True, False))
Avatar billede segmose Nybegynder
05. november 2008 - 00:13 #9
Ja, den kendte jeg ikke :)
Avatar billede lubker Nybegynder
05. november 2008 - 09:02 #10
Det gjorde jeg heller ikke...
Men den virker i hvert fald efter hensigten.

Tak for den tid du trods alt har brugt på det.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester