Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagedelphi
var
  s,s1,status,statustxt;
  b,n;
  nro;
begin
  s := restCall('https://t.skj.fi/tapahtuma/products?apikey=wont_tell_you','{"name":"taas uusi tuote"}', '', '', status, statustxt);
  showmessage(s+#13+inttostr(status)+#13+inttostr(statustxt));
  if status=200 then
  begin
    b:= JsonNewDocFromjson(s);        // b on koko dokkari 
    n := jsongetvalue(b,'products');  // n : products elementti, joka on array yhdestä tuotteesta
    n := jsongetvalue(n,0,true);      // n on tämän jälkeen eka alkio tuotearraysta
    nro := jsongetvalue(n,'id');      // otetaan vastauksesta id - tuotenumero
    s1 := restCall('https://t.skj.fi/tapahtuma/products/'+nro+'?apikey=wont_tell_you','', '', '', status, statustxt,'get');
    showmessage(s1);  // s ja s1 pitäisi olla samat
    b := jsonnewdoc;
    b := jsonaddvalue(b, 'id', nro);
    b := jsonaddvalue(b, 'group', 12);
    b := jsonaddvalue(b, 'name', 'lahden kotiin');
    s := restCall('https://t.skj.fi/tapahtuma/products?apikey=wont_tell_you', b, '', '', status, statustxt);
    showmessage(s);
  end;                                                                    
end;


Jatkuva toiminta

Skjscript voidaan laittaa pöyrimään taustalle silmukassa esim lähettämään muutoksia aikaajoin. Tähän pitää rakentaa myös poistumismekanismi. Jos ohjelma pyörii näkyvillä työasemassa, voidaan se hoitaa aiemmilla versiolla, mutta palveluna vaati 28.9.2018 tai uudemman version.

Code Block
languagedelphi
var
  postaaja;
  s;
  laskuri;
  st;
begin
  st := CreateStatus('Päivitys');
  laskuri := 0;
  // allaoleva showstatus palauttaa false jos käyttäjä on painanut peruuta tai skjscript
  // on saanut wm_close viestin. esim process -q skjscript.exe
  while showstatus(st,'Päivitän asiakasdataa ','Päivitetty '+inttostr(laskuri)) do
  begin

      postaaja := LuoPostaaja;
      postaaja_lisaakentta(postaaja,'id','1212');
      postaaja_lisaakentta(postaaja,'data','adadada');
      s := postaaja_post(postaaja,'https://jotain.skj.fi/joku.php','');
      logentry('vastaus'+s);
      sleep(1000);
      inc(laskuri);
      logentry('virhe'+postaaja_virhe(postaaja));
      postaaja_sulje(postaaja);
   end;
  closestatus(st);
end;