Überprüfen ob String in ListBox vorhanden
Hi, hba mal wieder ne Frage: Ich habe den Source-Code von Luckie genutzt, um bestimmte Programme zu schließen. Nun habe ich folgendes Problem: Wenn mein Programm ein Programm beenden will, bzw soll^^, dass nicht gestartet wurde, kommt eine Fehlermeldung "Listenindex überschreitet das Maximum (-1)". Ich habe es hiermit versucht zu umgehen:
Delphi-Quellcode:
Wie man unschwer erkennen kann, enthält die Variable appexe die exe-Datei. Das mit KillProcess funktioniert einwandfrei, außer wenn halt der String nicht in der ListBox (in der die System-Prozesse als Items/Strings geladen werden) vorhanden ist.
if ((Listbox1.Items.Strings[Listbox1.Items.IndexOf(appexe)])=appexe) then
KillProcess(GetProcessID(Listbox1.Items.Strings[Listbox1.Items.IndexOf(appexe)])); Meine Frage lautet nun, wie ich gucken kann, ob der String appexe schon vorhanden ist... mfg GimbaR |
Re: Überprüfen ob String in ListBox vorhanden
Indem du die Rückgabe von IndexOf() überprüfst? -1 sollte bedeutetn, daß der String nciht vorhanden ist.
|
Re: Überprüfen ob String in ListBox vorhanden
Also sollte
Delphi-Quellcode:
ausreichen, ausserdem ist doch
if (Listbox1.Items.Strings[Listbox1.Items.IndexOf(appexe)]) > -1 then
...
Delphi-Quellcode:
, da ja "Listbox1.Items.IndexOf(appexe)" die Position von "appexe" und demnach "Listbox1.Items.Strings[Die_Position_von_appexe)])" wiederum "appexe" zurückgibt.
Listbox1.Items.Strings[Listbox1.Items.IndexOf(appexe)]) = appexe
Also kommt es somit auf folgendes raus:
Delphi-Quellcode:
if (Listbox1.Items.Strings[Listbox1.Items.IndexOf(appexe)]) > -1 then
KillProcess(GetProcessID(appexe)); |
Re: Überprüfen ob String in ListBox vorhanden
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:07 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz