@Don_Adan, post #89
;WYBIERAMY WERSJE DO INSTALACJI (set #wersja (askchoice (prompt "Select a version of LHA for You") (help "Version must be compatible with Your CPU") (choices "LHA 1.50r with keyfile" "LHA 2.10" "LHA 2.15 for 68000" "LHA 2.15 for 68020" "LHA 2.15 for 68040" ) (default 2) ) ) ;WYBIERAMY SCIEZKE INSTALACJI - POZNIEJ I TAK BEDZIE "SYS:C/" (set #dest (askdir (prompt "Select a drawer to install files") (help "Select a drawer to install files") (default "RAM:") ) ) ;USTAWIAMY NAZWE KOPIOWANEGO PLIKU (set #plik (select #wersja "LHA_1.50r" "LHA_2.10" "LHA_68k" "lha_68020" "lha_68040" ) ) ;KOPIUJEMY KONKRETNY PLIK (copyfiles (source #plik) (dest #dest) ) ;JESLI ISTNIEJE PLIK "LHA" TO GO USUWAMY, BO NIE ZMIENIMY NAZWY PLIKU (if =0 (exists (tackon #dest "LhA")) (delete (tackon #dest "LhA")) ) ;ZMIENIAMY NAZWE SKOPIOWANEGO PLIKU NA "LhA" (rename (tackon #dest #plik) (tackon #dest "LhA")) ;SZYBKIE WYJSCIE (exit (quiet))
@tukinem, post #90
@Krashan, post #92
@tukinem, post #94
Powiedz mi jeszcze jak poprawnie zapisać np If #wersja = 0 Then ...
(if <warunek> <zrób_to_jeżeli_prawdziwy> <zrób_to_jeżeli_fałszywy>)Natomiast warunek zapisujemy tak:
(<operator> <wartość1> <wartość2>)Zbierając to wszystko w całość, sprawdzenie czy #wersja jest równa 0 i zrobienie wtedy czegoś będzie wyglądało tak:
(if (= #wersja 0) <zrób_dla_wersji_0>)
@tukinem, post #96
;WYBIERAMY WERSJE DO INSTALACJI (set #wersja (askchoice (prompt "Select a version of LHA for You") (help "Version must be compatible with Your CPU") (choices "LHA 1.50r with keyfile" "LHA 2.10" "LHA 2.15 for 68000" "LHA 2.15 for 68020" "LHA 2.15 for 68040" ) (default 2) ) ) (set #dest "SYS:C/") (set #destplik (tackon #dest "LhA")) ;USTAWIAMY NAZWE KOPIOWANEGO PLIKU (set #plik (select #wersja "LHA_1.50r" "LHA_2.10" "LHA_68k" "lha_68020" "lha_68040" ) ) ;KOPIUJEMY KONKRETNY PLIK (copyfiles (source #plik) (dest #dest) ) ;JESLI ISTNIEJE PLIK "LHA" TO GO USUWAMY, BO NIE ZMIENIMY NAZWY PLIKU (if (= 1 (exists #destplik)) (delete #destplik) (message "File not exists") ) ;ZMIENIAMY NAZWE SKOPIOWANEGO PLIKU NA "LhA" (rename (tackon #dest #plik) #destplik) ;KOPIUJEMY KLUCZ (if (= #wersja 0) (copyfiles (source "LhA.key") (dest "SYS:L/") ) ) ;SZYBKIE WYJSCIE (exit (quiet))
@tukinem, post #97
Tu są dwie sekwencje z If. Czy obie są prawidłowe? Na pewno obie działają tak, jak chcę, ale czy zapis może być i taki i taki? Chodzi o kolejność:Tu kolejność nie ma znaczenia, bo operator "=" jest przemienny. Czyli jeżeli a = b, to również b = a. Z operatorem nieprzemiennym różnica już jest, np.
(> 1 #zmienna) (> #zmienna 1)nie oznaczają tego samego warunku.
(if (exists #file) ...)
@tukinem, post #99
(if (warunek) ( (dzialanie1) (dzialanie2) (dzialanie3) ) ( (dzialanieELSE1) (dzialanieELSE2) (dzialanieELSE3) ) )
(set #source "Birdie") (set #dest "SYS:C/") (set #question "Do you want to setup Birdie in User-Startup?") ;KOPIUJE PLIK BIRDIE (copyfiles (source #source) (dest #dest) ) ;PYTANIE O PIERWSZE USTAWIENIE PROGRAMU (set #choice (askchoice (prompt #question) (help #question) (choices "Yes" "No") (default 0) ) ) ;JESLI TAK TO WYBIERAMY PIERWSZY IFF DLA AKTYWNEGO OKIENKA (if (= #choice 0) (set #iff1 (askfile (prompt "Select IFF for active pattern") (help "Select IFF for active pattern") (default "SYS:") ) ) ) ;JESLI TAK TO WYBIERAMY DRUGI IFF DLA NIEAKTYWNYCH OKIENEK (if (= #choice 0) (set #iff2 (askfile (prompt "Select IFF for non-active pattern") (help "Select IFF for non-active pattern") (default (pathonly #IFF1)) ) ) ) ;USTAWIAM ZMIENNA TEKSTOWA DO WPISU W USER-STARTUP (set #us ("Run >NIL: C:Birdie %s %s Activepattern" #IFF1 #IFF2)) ;ZNOWU JESLI TAK TO DODAJE WPIS DO USER-STARTUP (if (= #choice 0) (startup "Birdie" (prompt "Birdie sequence") (help "Adding user-startup sequence for Birdie") (command #us) ) )
@tukinem, post #100
(if (warunek) ( (dzialanie1) (dzialanie2) (dzialanie3) ) ( (dzialanieELSE1) (dzialanieELSE2) (dzialanieELSE3) ) )Czy taki zapis jest poprawny?