Info |
---|
...
Katso myös CSV_Tuonti.htm esimerkki.
Numerot
...
Eroja normaaliin pascal syntaksiin
Eroja on, tässä muutama maininta.
Muuttujat ovat pääsääntöisesti aina variantteja.
Case lause on erilainen , lauseessa ei vaadi että casen arvot ovat vakiota. Ehto totetuu kun funktio paluu arvo täsmää verrattavaan
Code Block | ||
---|---|---|
| ||
sanat := 'SIKA;PORSAS;LEHMA;KISSA';
s := 'elainLehma';
case lowercase(copy(s,5)) of
lowercase(extractWord(1,sanat,';')) : showmessage('RÖH');
lowercase(extractWord(2,sanat,';')) : showmessage('röh');
lowercase(extractWord(3,sanat,';')) : showmessage('ammuu');
lowercase(extractWord(4,sanat,';')) : showmessage('miau');
end; |
Numerot
- Arc
- Tan
- Dec
- Inc
- Lisää yhden muuttujaan, esim Inc(count)
- Pyorista(Luku; tarkkuus)
- Pyöristää luvun annettuun tarkkuuteen, esim -2 -> 2 desimaaliin, 2 = lähimpään 100:n
- SimpleRoundTo
- Sama kuin pyöristä, mutta johtuen d7 system kirjaston bugista, toimii väärin jossain tilanteissa. Pyorista korjaa sen. D2007 versioon korjautunut.
- RoundTo
- Kuten SimpleRoundto, mutta käyttää pyöristykseen Pankkiirin pyöristystä (??) tarkempi selvitys esim. tässä linkissä.
- Ceil
- Pyöristä ylöspäin 17,01 → ceil(17,01*10)/10 → 17,10
Päiväys
- function Date:TDateTime;
- palauttaa nykyisen päiväyksen DateTime tyyppinä
...
- function TTbTable.TryPost (ms_viive: integer);
tTbTable-luokan menetelmä. Yrittää saada muokkausoikeuden taulun nykyiseen tietueeseen ja yritetään korkeintaan ms_viiveen ajan. Aika on millisekunteina. Palauttaa false jos epäonnistui, esim.
Code Block language delphi if varsaldo.tryEdit(2000) then begin varsaldo.fieldbyname('saldo').asfloat := 0; varsaldo.fieldbyname('muutosklo').asdatetime := now; if not varsaldo.trypost(2000) then begin logentry('Varsaldoa ei voi tallentaa'); varsaldo.cancel; end; end else showmessage('Saldoa ei voi muokata');
Pervasive sql
Hakuindeksin vaihtaminen; esim toimittajataulussa key0=tunnus, key1 nimi, jos halutaan hakea nimellä vaihdetaan haun kohdistuminen niin käytetään: taul.indexname := '1';
Tällä voi tarkistaa onko joku taulu olemassa: Select count(*) from X$File where Xf$Name = 'taulunnimi' , palauttaa 1 jos taulu olemassa
Koska pervasiven PDAC komponenttikirjastoista ei ole saatavilla lähdekoodeja, siitä emme ole voineet tuottaa titan rajanpinnan kaltaista liittymää. Sql rajapinta on tehty omilla rutiineilla jotka ovat
...
Code Block | ||
---|---|---|
| ||
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; |
Uudet funktiot (D10 versio)
Code Block |
---|
function LisaaAsiakas(kanta: string; Numero:integer=0; valialku, valiloppu: integer=0): integer |
...