Informix-4gl Pętla IF, argumenty programu ARG i wyjście z programu EXIT
Podczas pisania programu czasami zachodzi potrzeba podania parametru podczas jego wywołania. W przedstawionym poniżej przykładzie wykorzystamy funkcję warunkową IF do sprawdzenia czy parametr został podany, oraz czy jest on tylko jeden – przy wykorzystaniu NUM_ARGS. Poniżej znajduje się kompletny program napisany w Informix-4gl oraz wyjaśnienia:
main define x_parametr char(1) if NUM_ARGS()<>1 then display "BŁĄD: Program oczekiwał jednego parametru" exit program -1 end if let x_parametr = ARG_VAL(1) display "Podany parametr to: ", x_parametr end main
Wpierw otwieramy ciało naszego programu poprzez słówko main, następnie definiujemy zmienne wykorzystywane w programie poprzez define. Nasza zmienna będzie nazywała się x_parametr i będzie typu CHAR o długości 1 znaku.
Za pomocą funkcji IF oraz NUM_ARGS()<>1 sprawdzamy, czy został podany dokładnie jeden parametr. Jeżeli nie, wyświetlamy komunikat “BŁĄD: Program oczekiwał jednego parametru” za pomocą komendy display i kończymy program: exit program -1.
Jeżeli program nie zakończył się na tym etapie, oznacza to że został podany dokładnie jeden parametr. Zatem możemy przypisać go do zmiennej x_parametr za pomocą słówka let, a następnie wyświetlić i zamknąć ciało programu: end main.
Definiując zmienną x_parametr określiliśmy jej typ jako char(1). Co zatem stanie się w przypadku gdy jako parametr podamy dłuższy ciąg znaków, np: abcdef? Czy program zakończy się błędem?
Program nie zakończy się błędem i wykona się poprawnie. Z podanego ciągu znaku zostanie przypisana tylko pierwsza litera do zmiennej i tak nasza zmienna x_parametr przyjmie wartość: a