Gå til innhold

Sjekke om listview inneholder noe fra en streng


Gjest

Anbefalte innlegg

Hei!

 

Jeg henter alt innholde i en listview fra en text fil som her slil:

artis{tab-knappen}titel

Så i code siden:

For i As Integer = 0 To ListView1.Items.Count - 1
		If (ListView1.Items.Item(i).Text = spotify.Nowplaying()) Then

Det spotify.NowPlaying() gjør er å printe ut sangen som spilles i dette formatet:

Artist - Titel

Slik ser listview1 ut:

 

Så hvordan kan jeg da sjekke om spotify.NowPlaying er lik det som er i listview1?

Endret av Gjest
Lenke til kommentar
Videoannonse
Annonse

Dersom du er helt sikker på formatet, så er vel det enkleste å gjøre slik:

For i As Integer = 0 To ListView1.Items.Count - 1
If (ListView1.Items.Item(i).SubItems[0].Text & " - " & ListView1.Items.Item(i).SubItems[1].Text = spotify.Nowplaying()) Then

 

Selv ville jeg nok lagret dataene i en eller annen form for liste i tillegg til listviewen, og brukt denne listen til alt arbeid som måtte utføres (sammenligning, listing av listview, åpning/lagring, osv).

Endret av Degeim
Lenke til kommentar

Degeim glemte seg bare litt på VB syntaksen :)

If ListView1.Items.Item(i).SubItems(0).Text & " - " & ListView1.Items.Item(i).SubItems(1).Text = spotify.Nowplaying() Then

VB bruker () ikke [].

 

Tror ihvertfall det er det som er problemet. Hvis du fortsatt får feil må du gjerne kopiere feilmeldingen og poste den her.

Lenke til kommentar

Funket desverre dårlig dette. Ingen error, men funket ikke.

Dobbelt sjekket med:

		For i As Integer = 0 To ListView1.Items.Count - 1
		TextBox1.Text = ListView1.Items.Item(i).SubItems(0).Text
	Next

 

Det fungerer, men programmet henger seg opp når den aktuelle sangen blir spilt =(

	Private Sub Label1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.TextChanged
	For i As Integer = 0 To ListView1.Items.Count - 1
		If (ListView1.Items.Item(i).SubItems(0).Text & " – " & ListView1.Items.Item(i).SubItems(1).Text = spotify.Nowplaying()) Then
			SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, CType(APPCOMMAND_VOLUME_MUTE, IntPtr))
			Sleep(100)
			spotify.PlayPause()
			While (ListView1.Items.Item(i).SubItems(0).Text & " – " & ListView1.Items.Item(i).SubItems(1).Text = spotify.Nowplaying())
				Sleep(1)
			End While
			SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, CType(APPCOMMAND_VOLUME_MUTE, IntPtr))
		End If
		Me.BringToFront()
	Next
End Sub

 

Når sangen er over er prorgammet normal igjen og jeg kan bruke det.

 

Fant problemet:

			   SendMessageW(Me.Handle, WM_APPCOMMAND, Me.Handle, CType(APPCOMMAND_VOLUME_MUTE, IntPtr))
			Sleep(100)
			spotify.PlayPause()

Jeg må ha sleep i mellom ellerså funker det ikke "/ Noen løsning? :)

Men hvis jeg har sleep i mellom henger programmet seg opp, har jeg uten funker det ikke fordi begge kan ikke kjøre samtidig.

Endret av Gjest
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...