Visual Basic Forum

Visual Basic Forum
für VB6 und VB.NET Programmierer
 
RegistrierenRegistrieren  LoginLogin
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten
Autor
Nachricht
nicok_
Newbie
Newbie

Anmeldedatum: 01.10.2007
Beiträge: 19

[VB6] Schleife 2 List's
Verfasst am: 24.03.2008, 12:21

Hallo,

mein aktuelles Problem ist das ich jeweils 2 Listboxen habe.
In Listbox Nummer 1 sind verschiedene Prozesse.
In Listbox Nummer 2 eine "Blacklist" (In dieser stehen Prozessnamen die nicht laufen sollten)

Jetzt habe ich einen Timer der im regelmäßigen Abstand abgleichen soll ob ein Prozess der in der List2 eingetragen ist läuft.
Ich bräuchte also eine Schleife, welche das erste Item der List2("Blacklist") und dann damit die List1(LaufendeProzesse) abgleicht. Falls ein Treffer gefunden wurde soll eine simple Messagebox aufpoppen, falls nicht soll die Schleife mit dem 2ten Item der List2 das gleiche machen und so weiter. Die Anzahl der Items in List1 und List2 ist unbekannt.

Ich wusste bissher nicht wie ich das Problem lösen könnte.
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 24.03.2008, 12:48

Wenn deine ListBox mit allen Prozessen ListAll heißt und die mit den Blacklistprozessen ListBlack, dann sieht dein Code folgendermaßen aus.

Code:
Dim sProcName(1 To 2) As String
For i = 0 To ListBlack.ListCount - 1
    sProcName(1) = ListBlack.List(i)
    For j = 0 To ListAll.ListCount - 1
        sProcName(2) = ListAll.List(j)
        If sProcName(1) = sProcName(2) Then
            MsgBox "Der Blacklist Prozess '" & sProcName(1) & "' läuft.", _
            vbInformation, "Achtung"
        End If
    Next
Next

Er geht alle Prozesse der BlackList durch und überprüft, ob der Prozessname mit einem aus der Prozessliste übereinstimmt. Also insgesamt 2 Schleifen. Eine, die alle Blacklist Prozesse durchgeht und Eine, die die Blacklist Prozesse mit denen in der Prozessliste vergleicht. Geht natürlich auch andersrum. ;)

nicok hat Folgendes geschrieben:
Die Anzahl der Items in List1 und List2 ist unbekannt.

Ist sie nicht, denn du kannst sie zählen. Das erste Item hat die Eigenschaft ListIndex = 0. Das letzte Item hat die Eigenschaft ListIndex = ListCount - 1. Deshalb auch For i = 0 To ListCount - 1. Nun muss man nurnoch i als ListIndex einsetzen und man kann alle Items durchgehen.


Zuletzt bearbeitet von c0re_ am 24.03.2008, 13:14, insgesamt einmal bearbeitet
 
413X_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 16.12.2006
Beiträge: 266


Verfasst am: 24.03.2008, 13:03

Was du recht ungluecklich machst, ist immer wieder den Listindex-Wert mit i abgleichen. ICh wuerde es eher so machen:

Code:
sProcName(1) = LstBlack.List(i)


http://www.413x.dl.am

Tod den 1337-Scriptkiddies xD
 
c0re_
« Moderator »<b><font color=green>« Moderator »</font



Anmeldedatum: 29.11.2007
Beiträge: 425


Verfasst am: 24.03.2008, 13:11


Du hast Recht. Ich editiere es schnell oben. Die Existenz dieser Eigenschaft
bzw. ihr Zweck war mir bisher nicht bewusst. Danke. Smile
 
Neues Thema eröffnen   Neue Antwort erstellen    Visual Basic Forum Foren-Übersicht -> [VB6] Fragen - Antworten

Tags: vb6, schleife, verschiedene, listboxen, abstand

 
 Verwandte Themen   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Prozesse mit Pfad auflisten 760 06.08.2008, 12:22
Keine neuen Beiträge Liste aller Prozesse ermitteln 3186 14.05.2008, 23:56
Keine neuen Beiträge system prozesse killen 994 14.05.2008, 20:29
Keine neuen Beiträge Prozesse aulesen? 459 25.07.2007, 09:12
Keine neuen Beiträge Prozesse killen 1090 16.05.2007, 20:45
 


[ Time: 0.0800s ][ Queries: 89 (0.0391s) ][ GZIP on - Debug on ]