Sintak Condition & Looping Visual Foxpro



Berikut adalah contoh Condition dan looping pada Visual Foxpro :

Condition 

1. IF 

Format :

• IF … ENDIF
• IF … ELSE … ENDIF

Sintak perintah ini adalah :
IF <kondisi>
<Bagian program yang akan dijalankan bila kondisi benar>
ELSE
<Bagian program yang akan dijalankan bila kondisi salah>
ENDIF


2. Case

Format :

Do Case.....End Case

Sintak perintah ini adalah :

DO CASE
CASE <expresi-1>
<Bagian program yang akan dijalankan bila kondisi-1 benar>
CASE <expresi-2>
<Bagian program yang akan dijalankan bila kondisi-2 benar>
CASE <expresi-n>
<Bagian program yang akan dijalankan bila kondisi-n benar>
OTHERWISE
<Bagian program yang akan dijalankan bila semua kondisi salah>
ENDCASE


Looping

1. For

Format :

FOR VarName = nInitialValue TO nFinalValue [STEP nIncrement] 
      Commands
   [EXIT]
   [LOOP]
ENDFOR | NEXT

Contoh :

string p
for a=1 to 20 STEP 2
    p = p + a + " "
next a
 MESSAGEBOX("Loop For", 16, p)


2.   DO WHILE – ENDDO

Perintah ini mengeksekusi perintah-perintah yang ada didalam loop kondisional. Perulangan akan dilakukan terus menerus selama kondisi tersebut terpenuhi .

Format :

DO WHILE .T.
        Bagian yang akan diulang
[Loop]
[Exit]
ENDDO


Proses pengulangan dilakukan memproses record-record suatu tabel satu persatu hingga habis. Untuk membatasi pengulangan biasa digunakan fungsi EOF() (End Of File) dan BOF() (Begin Of File). Fungsi tersebut akan memberikan fungsi nilai logika .T. bila pointer telah berada diakhir file.

DO WHILE.NOT.EOF()
Bagian yang akan diulang
ENDDO


Contoh :
x=1
DO WHILE x <= 20
? x
x=x+1
ENDDO


3.  SCAN . . . ENDSCAN

Perintah ini memindahkan pointer record melewati tabel yang sedang dipilih dan mengeksekusi blok perintah setiap kali record memenuhi syarat kondisi yang ditentukan.

Format :
SCAN [FOR <kondisi1>] [WHILE <kondisi2>]
Bagian yang akan diulang
[loop]
[Exit]
ENDSCAN

Contoh :
SCAN FOR pelajaran = “Matematika”
? nama, nilai
ENDSCAN