[Delphi] - Obsługa plików i katalogów

0

Witam. Jestem w fazie projektu, którego piszę w delphi i mam następujący problem. Potrzebuje fragmentu kodu w Delphi (Objektowym), który sprawdzi mi ilość plików (*.exe) w katalogu określonym (np. C:\Instalacje) i je wszystkie uruchomi jedną po drugiej. Myślę, że to zrobić można za pomocą pętli, ale potrzebuję tych funkcji odpowiadających za operacje na plikach i katalogach. Czy znacie może link do strony, która pomoże mi w rozwiązaniu tego problemu? Czy może potraficie napisać ten fragment kodu odpowiadający za uruchamianie wszystkich aplikacji jedna po drugiej?

Pozdrawiam, Piczok

0

uruchamianie programu w dodaj do uses Shellapi i np.
WinExec('C:\Instalacje\VistaB.exe',sw_Normal);
i dotwojego problemu fajnym rozwiązamniem beędzie komponent FilelistBox (z zakładki win3.1)
ustaw w nim mask na "*.exe" i w createForm dopisz
FileListBox1.FileName:='c:\Instalacje';
Z reszta sam pokombinuj

0

Uruchamiać wiem jak, tylko przypuśćmy, że mam tam kilka plików exe i chce wybrać te, które będą uruchamiane np. (,,gginst.exe tak, a ,,VistaB.exe nie, bo nie potrzebuje w tej chwili. Chodzi mi o, to , żebym nie musiał pisać od nowa programu jak sobie wrzuce go na płytke i będę tylko dogrywał instalki, które znajde, a program mój będzie je sam znajdować, a wybór co ma być zainstalowane będzie zawsze dla użytkownika. O to chodzi. :)

0

no właśnie komponent Filelist box pokaze ci liste plików .exe mozesz poźniej przez zdarzenie onclick zrobić np
WinExec(FilelistBox1.FileName,sw_Normal);
albo
listbox1.Items.Add(FileListBox1.FileName);
tylko stworz jeszcze komponnt Listbox a poźniej odtworzwszystko co jest na liście listbox1
wiele masz morzliwości.. fajnie by było jakby następna aplikacja soe dopiero otwierała kiedy poprzednia sie zamknie.. ale to juz pokombinuj np. z komunikatami

0

To się da zrobić. A jest taka możliwość, żeby np. zaznaczyć kilka Itemsów i te zaznaczone po kliknięciu na Button1 :) się po kolei uruchomią?

0

masz taki komponent jak checklistbox
i robisz w on create form

checklistbox1.Items:=Filelistbox1.Items;

a poźniej

var
i:integer;
begin
for i := 0 to checklistbox1.ItemIndex do
if checklistbox1.Checked[i] then
WinExec('c:\Instalacje'+checklistbox1.Items.Strings[i],sw_Normal);
end;
0

Dzięki piękne. Bardzo mi ten wątek pomógł. Dzięki. :)

0

(: I pojawił się nowy problem. Mianowicie: Program już jest prawie gotowy, tylko, że jak klikam na BitButton1, to mi się wszystkie aplikacje na raz uruchamiają. Jak mogę zrobić, aby program czekał na skończenie tamtej dopiero potem uruchamiał następną?

0

szukaj bo było nie raz!

1 użytkowników online, w tym zalogowanych: 0, gości: 1