JavaScript
function valOf(e) {
var el = document.getElementById(e);
if (!el) return false;
if (el.value == "true") return true;
if (el.value == "false") return false;
return el.value;
}
const fileInput = document.querySelector("input[type=file]");
const output = document.querySelector(".output");
var fileContent = '';
var moci = [[],[],[],[],[]];
var presezki = [0,0,0,0,0];
var cene = [3.61324,0.88240,0.19137,0.01316,0]
var dogovorjeneMoci = [2,2,2,2,2];
var redniZneski = [0,0,0,0,0,0,0,0,0,0,0,0];
var zneskiPresezkov = [0,0,0,0,0,0,0,0,0,0,0,0];
var optimalneMoci = [[],[],[],[],[],[],[],[],[],[],[],[]];
var optimalniZneski = [];
var optimalniPresezki = [];
// preveri v mojelektro csv če štimajo polja
const poljeMesec = 4;
const poljeMoc = 9;
const poljeBlok = 13;
var isciMinimum = true;
var trenutniMesec = 0;
fileInput.addEventListener("change", async () => {
const [file] = fileInput.files;
if (file) {
fileContent = await file.text();
go2it();
}
});
function go2it() {
if (fileContent.length < 10) return;
isciMinimum = valOf('isciMinimum');
redniZneski = [0,0,0,0,0,0,0,0,0,0,0,0];
zneskiPresezkov = [0,0,0,0,0,0,0,0,0,0,0,0];
optimalneMoci = [[],[],[],[],[],[],[],[],[],[],[],[]];
optimalniZneski = [];
optimalniPresezki = [];
trenutniMesec = 0;
var mm = 1;
while (mm < 6) {
cene[mm-1] = parseFloat(valOf('blok'+mm).replace(',','.'));
if (!isciMinimum) dogovorjeneMoci[mm-1] = parseFloat(valOf('moc'+mm).replace(',','.'));
mm++;
}
var lines = fileContent.split('\n');
var mesec = -1;
var moc = -1;
var blok = -1;
var line = []
var first = true;
var k = 0;
for (var l in lines) {
if (first) {
first = false;
continue;
}
if (lines[l].length < 10) continue;
line = lines[l].split(',');
mesec = parseInt(line[poljeMesec]);
moc = parseFloat(line[poljeMoc]);
blok = parseInt(line[poljeBlok]);
if (trenutniMesec != mesec) {
...