Thread View: pl.comp.lang.vbasic
3 messages
3 total messages
Started by slawek
Tue, 13 Apr 2010 19:22
Jak to zrobić w VBS
Author: slawek
Date: Tue, 13 Apr 2010 19:22
Date: Tue, 13 Apr 2010 19:22
29 lines
1945 bytes
1945 bytes
Chce uruchamiać skryptem program, skrypt jest mniej więcej taki - niestety
nie jest tak prosto jak w bash, bo nie da się łatwo mieć tablicy/listy. Czy
można ten skrypt poprawić, aby działał - tzn. nieznacznie zmienić, a nie np.
rozpisać dane(1)="1.5": dane(2)="2.5" itd.?
function Command(cmd)
' to działa, jest ok
Dim process
Set process = shell.Exec("%ComSpec% /c """ & cmd & """")
Command = process.stdout.ReadAll
' synchroniczne czytanie
end function
dane = {"1.5","2.5","3.0","5.0","15.0"}
'**** w tym miejscu nie działa, nie ta składnia, w VBS nie ma takich
rzeczy?!
for each d in dane
'**** oczywiście i to nie wykona się, jeżeli nie ma tablicy dane
output = "plik-" & d & ".txt"
Command("echo " & parameters & " | a.exe > " & output)
next
Wscript.Quit
TIA
slawek
Re: Jak to zrobić w VBS
Author: Przemysław Rachwał
Date: Tue, 13 Apr 2010 19:45
Date: Tue, 13 Apr 2010 19:45
33 lines
1902 bytes
1902 bytes
W dniu 2010-04-13 21:22, slawek pisze:
> Chce uruchamiać skryptem program, skrypt jest mniej więcej taki -
> niestety nie jest tak prosto jak w bash, bo nie da się łatwo mieć
> tablicy/listy. Czy można ten skrypt poprawić, aby działał - tzn.
> nieznacznie zmienić, a nie np. rozpisać dane(1)="1.5": dane(2)="2.5" itd.?
>
> function Command(cmd) ' to działa, jest ok
> Dim process
> Set process = shell.Exec("%ComSpec% /c """ & cmd & """")
> Command = process.stdout.ReadAll ' synchroniczne czytanie
> end function
>
> dane = {"1.5","2.5","3.0","5.0","15.0"} '**** w tym miejscu nie działa,
> nie ta składnia, w VBS nie ma takich rzeczy?!
>
> for each d in dane '**** oczywiście i to nie wykona się, jeżeli nie ma
> tablicy dane
> output = "plik-" & d & ".txt"
> Command("echo " & parameters & " | a.exe > " & output)
> next
>
> Wscript.Quit
>
>
> TIA
> slawek
>
>
dane = array("1.5","2.5","3.0","5.0","15.0")
--
Przemek
Re: Jak to zrobić w VBS
Author: slawek
Date: Wed, 14 Apr 2010 13:51
Date: Wed, 14 Apr 2010 13:51
19 lines
1975 bytes
1975 bytes
Użytkownik "Przemysław Rachwał" <przemyslaw.rachwal@onet.pl> napisał w
wiadomości grup dyskusyjnych:hq2hl9$8ia$3@news.onet.pl...
> dane = array("1.5","2.5","3.0","5.0","15.0")
Dzięki, skrypt jest zresztą troszkę bardziej skomplikowany (nie chciałem
niepotrzebnie gmatwać i usunąłem zbędne fragmenty) - nie tylko uruchamia
program (z gatunku number cruncher) dla wielu zestawów parametrów, ale
jeszcze sprawdza, czy przypadkiem nie istnieje już plik wyjściowy (tzn. czy
dany zestaw parametrów jest już policzony). A parametrów jest około pół
tuzina (czyli 6^5 albo 6^5 ~ 1000 razy albo i więcej się uruchamia program,
za każdym razem od nowa i całkiem niezależnie).
Cała przyjemność w tym, że mogę teraz zapodać skrypt i samo się liczy... a
jak się przerwie, to nie ma ryzyka że nadpisze się dane (jeden zestaw
parametrów to pół godziny liczenia na jednym rdzeniu).
slawek
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads