KOD cpp: UKRYJ
void __fastcall TForm1::Wyszukaj_Programy(String Szukane)
{
int i;
for (i=0;i<Foldery_Nazwy_Programow->Count;i++)
{
if (FindFirst(sAppDir + "Kategorie Programów" + "\\" + ListBox1->Items->Strings[ListBox1->ItemIndex] + "\\" + Foldery_Nazwy_Programow->Strings[i] + "\\" + Szukane, faAnyFile, Search) == 0)
{
do
{
if (Szukane == "[X86*.*") Zainstaluj_X86->Add(Search.Name);
if (Szukane == "[X64*.*") Zainstaluj_X64->Add(Search.Name);
} while(FindNext(Search) == 0);
FindClose(Search);
}
}
}
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
static int count = 0;
Foldery_Nazwy_Programow = new TStringList;
Zainstaluj_X86 = new TStringList;
Zainstaluj_X64 = new TStringList;
if (count != 0)
{
DeleteOldObjects(count);
count = 0;
}
if(FindFirst(sAppDir + "Kategorie Programów\\" + ListBox1->Items->Strings[ListBox1->ItemIndex] + "\\*", faDirectory, Search) == 0)
{
do{
if(((Search.Attr & faDirectory) > 0) & (Search.Name != ".") & (Search.Name != ".."))
{
Foldery_Nazwy_Programow->Add(Search.Name);
CreateNewObjects(count, ExtractFileName(Search.Name));
count++;
}
} while(FindNext(Search) == 0);
FindClose(Search);
}
Szukane="[X86*.*";
Wyszukaj_Programy(Szukane);
Szukane="[X64*.*";
Wyszukaj_Programy(Szukane);
}
{
int i;
for (i=0;i<Foldery_Nazwy_Programow->Count;i++)
{
if (FindFirst(sAppDir + "Kategorie Programów" + "\\" + ListBox1->Items->Strings[ListBox1->ItemIndex] + "\\" + Foldery_Nazwy_Programow->Strings[i] + "\\" + Szukane, faAnyFile, Search) == 0)
{
do
{
if (Szukane == "[X86*.*") Zainstaluj_X86->Add(Search.Name);
if (Szukane == "[X64*.*") Zainstaluj_X64->Add(Search.Name);
} while(FindNext(Search) == 0);
FindClose(Search);
}
}
}
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
static int count = 0;
Foldery_Nazwy_Programow = new TStringList;
Zainstaluj_X86 = new TStringList;
Zainstaluj_X64 = new TStringList;
if (count != 0)
{
DeleteOldObjects(count);
count = 0;
}
if(FindFirst(sAppDir + "Kategorie Programów\\" + ListBox1->Items->Strings[ListBox1->ItemIndex] + "\\*", faDirectory, Search) == 0)
{
do{
if(((Search.Attr & faDirectory) > 0) & (Search.Name != ".") & (Search.Name != ".."))
{
Foldery_Nazwy_Programow->Add(Search.Name);
CreateNewObjects(count, ExtractFileName(Search.Name));
count++;
}
} while(FindNext(Search) == 0);
FindClose(Search);
}
Szukane="[X86*.*";
Wyszukaj_Programy(Szukane);
Szukane="[X64*.*";
Wyszukaj_Programy(Szukane);
}
Tylko jest pewien problem, ponieważ chciałem sprawdzić czy wszystko prawidłowo się dodaje, więc dodałem do nowego ListBoxa wszystkie elementy z Zainstaluj_X86 i okazało się, że dodaje wszystkie elementy, lecz później dodaje jeszcze kilka różnych, jakby wylosowanych.
Edit:
A i jeszcze zapomniałem: Co zrobić jeśli pliku nie będzie? Bo zauważyłem, że jeżeli (w przypadku Zainstaluj_X64) nie wyszuka mi programu to wyskakuje błąd. Jaki warunek napisać?
Edit:
Rozwiązałem już problem z dodawaniem kilku różnych elementów, po prostu nie czyściłem tych list, ale nadal wyskakuje błąd jeżeli programu nie będzie.
Edit:
Dodaję również w tym szukaniu nazwy programów do Napis_Nazwa_Programu[i]. Jak mogę usunąć z Search.Name końcówkę .exe?





