free web stats

Programiranje varijabli na osnovu niza vrednosti

Recimo da imate ovakav problem: analizirate neku listu (artikle, stavke dokumenta, usluge, dod.troskove, neke stringove, ...) i na osnovu toga treba da dodelite vrednost nekim promenljivima. To moze da se odradi ovako:

%COMMAND a := {"COKOLADA", "KEKS ", "BUREK "}
%COMMAND v := {"m_cok ", "m_keks ", "m_burek"}
//
%WHILE !Eof()
%COMMAND m_pref := Upper(Left(a_naziv,8))
%IF (n := AScan (a, m_pref)) <> 0
%COMMAND cTmp := v[n]
%COMMAND &cTmp := m_kol
%ENDIF
%SKIP
%ENDDO

Ovde treba obratiti paznju na nekoliko stvari. Prvo, stavljanjem vrednosti u niz je izbegnuto da se koristi nepregledan niz IF naredbi. Vrednost se trazi koriscnjenjem fje ASCAN. Kada ona vrati neki broj <> 0, nadjena je vrednost koja nam treba. Sad sledi sledeci stos: najprostije bi bilo da je niz V niz brojeva i dovoljno bi bilo da stavimo V[N] := m_kol. Ali, recimo da nam bas treba da bude posebna varijabla. Tu se na osnovu naziva varijable koja se dobiaj iz niza (cTmp = "m_cok", recimo) upisuje vrednost u samu varijablu (&cTmp := ).

· Last modified: 2014/06/10 11:17 by cunning