Přejít na obsah


Fotka

Programování v Geogetu

geoget

  • Pokud chcete vložit odpověď, přihlašte se
30 odpovědí na toto téma

#21 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14532 příspěvků(y)

Publikováno 18 July 2018 - 20:31

Jen pozor na to, ze Geogeti script neni Delphi! Je to jen vybraná podmnozina stejnych funkci. Tedy ne vsechno, co se najde v dokumentaci od Delphi, tam vubec bude.


  • 0

#22 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10144 příspěvků(y)

Publikováno 19 July 2018 - 8:11

Jasne, nejsou vsechny funkce, tridy, metody, vlastnosti, ... Ale vetsina je. Pokud neco neni dostupne, preklad v GG nahlasi chybu - vetsinou neznamy identifikator.


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#23 mpik

mpik

    Advanced Member

  • Members
  • PipPipPip
  • 8815 příspěvků(y)

Publikováno 19 July 2018 - 9:39

Funkce copy je v Pascalu snad od jeho počátků, alespoň v Turbo Pascalu pod Dosem byla. Nazvaná dost nelogicky, předpokládal bych, že bude něco kopírovat, jinde je to funkce Substring, nebo tak nějak. Je to nelogické, ale je to Pascal, starší než céčko a tedy nedodržující zvyklosti z novějších jazyků.


  • 0

#24 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14532 příspěvků(y)

Publikováno 19 July 2018 - 9:44

Copy je naopak pojmenovani zcela logicke, protoze bere kus obsahu a kopiruje je na nove misto. Substring by naopak logicke nebylo, protoze se to da pouzit i na jine datove typy, nez je jen string. Aneb, neradno soudit, dokud neznam problematiku obsirneji.


  • 2

#25 Kreten8

Kreten8

    Advanced Member

  • Members
  • PipPipPip
  • 1807 příspěvků(y)

Publikováno 19 July 2018 - 13:02

Tak funkce StrToDateTime zde není implementovaná, takže s tou mi to nejde. Takže jsem pomocí IntToDate dokázal udělat datum (nechápu, proč se jmenuje IntToDate, když převádí ze stringu a nikoliv z integeru), ale ty hodiny a minuty mi tam nejdou. Vytvořím si proměnou typu extended, když do ní uložím hodnotu třeba l:=1.2347;, tak pomocí funkce FormatFloat si jí zobrazím, ale když do té samé proměnné zkusím udělat podíl hodin, tak se mi ukáže prázdný výsledek l:=7/24; prostě z nějakého důvodu se neprovede. Kde může být chyba? Nebo jaká je jiná cesta jak dostat hodiny a minuty do proměnné TDateTime? Samozřejmě jsem nejprve zkoušel udělat rovnou d1:=d1+7/24 což mi taky nefungovalo.
  • 0

#26 kiReGPS

kiReGPS

    Advanced Member

  • Members
  • PipPipPip
  • 2345 příspěvků(y)

Publikováno 19 July 2018 - 13:40

(Implicitní) typová konverze. 7/24 nevyjde jako racionální číslo, alébrž se začíná integerem a tak standardně vyjde integer. Když dáš 7.0/24, vyjde real.


Tento příspěvek byl upraven od kiReGPS: 19 July 2018 - 14:15

  • 0

#27 HaLuMa

HaLuMa

    Autor Geogetu

  • Members
  • PipPipPip
  • 14532 příspěvků(y)

Publikováno 19 July 2018 - 14:08

IntToDate neni standardni funkce, je to funkce Geogetu. Je to proto, ze pracuje s datem zakodovanym do cisla jako treba "20180719". Ono StrToDate uz bylo zabrano. ;-)

 

Pamatuj si, pro kazdou blbost existuje minimalne jeden dobry duvod.


  • 0

#28 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10144 příspěvků(y)

Publikováno 19 July 2018 - 14:08

Pouzivam napr. toto:

  //prevadi format dd.mm.rrrr hh:mm:ss na TDateTime
  s1:=Fetch(str,'.');
  s2:=Fetch(str,'.');
  s3:=Fetch(str,' ');
  dt:=EncodeDate(StrToInt(s3), StrToInt(s2), StrToInt(s1));
  s1:=Fetch(str,':');
  s2:=Fetch(str,':');
  s3:=sDateTime;
  dt:=dt+EncodeTime(StrToInt(s1), StrToInt(s2), StrToInt(s3),0);

  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#29 Kreten8

Kreten8

    Advanced Member

  • Members
  • PipPipPip
  • 1807 příspěvků(y)

Publikováno 20 July 2018 - 8:49

Díky Gorde, tohle mi pomohlo, jen mi to nechtělo fungovat v tvé podobě a musel jsem ty funkce StrToInt dát ven.


  • 0

#30 gord

gord

    Advanced Member

  • Members
  • PipPipPip
  • 10144 příspěvků(y)

Publikováno 20 July 2018 - 9:46

Ven? Myslis naplnit tim promennou a tu pak predat funkci? To je dost divne, jedna k tomu neni duvod a pak jsem to zkopiroval z fungujiciho scriptu.

 

Taky to jde udelat takto:

 i1:=StrToInt(Fetch(str,'.'));
 i2:=StrToInt(Fetch(str,'.'));
 i3:=StrToInt(Fetch(str,'.'));
 dt:=EncodeDate(i3, i2, i1);

Je pravda, ze obcas nejde do funkce predat jako parametr vysledek jine funkce primo a musi se pres promennou, ale v tomto pripade mi to vzdy chodi.

 

Nekdy nejde ani predat string, ktery je soucasti neceho jineho. Treba prekladem neprojde

str:=Fetch(GgForm_list1.Items[1],'-');

Ale to je jiny pripad.


  • 0

MHD/PID vybranych mest CR jako POI (diskuse)
GeoGet:
- Combine - automatizace opakovanych cinnosti (diskuse, dávky)

Stator - statistiky y GeoGetu (diskuse)

- Spoiler - uložení spoilerů do GPS jako POI (diskuse)

- Náhrada GJ legálními postupy

 


#31 Kreten8

Kreten8

    Advanced Member

  • Members
  • PipPipPip
  • 1807 příspěvků(y)

Publikováno 20 July 2018 - 9:58

jo přesně tak jsem to udělal


  • 0





Také označené jedním nebo více z těchto klíčových slov:geoget

2 uživatel(ů) prochází toto téma

0 uživatelů, 2 návštěvníků 0 anonymních uživatelů

Reklama