NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Jednoduchý skript ve VB(ArcGis)

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Standa Drong
Člen
Avatar
Standa Drong:2.11.2015 10:41

Ahoj, prosím o pomoc s formulací skriptu, jedná se o jednoduchý skript v ArcGis, v field calculatoru- je to tabulka jako v Excelu, potřebuju tam přidat funkci if.., je tam na výběr jazyk VB nebo Phyton. Vybral jsem VB.

Tabulka obsahuje sloupec pojmenovaný KAT- (obsahuje text( NPR, PR..) a
ROZL( rozloha v hektarech).
Mám zadáno pokud je v KAT vyraz "NPR", přiřad číslo 20 do slopce BODY. Pokud je v KAT vyraz "PR" a v ROZL 40 a méně, zapiš do sloupce BODY číslo 10, pokud je nad 40, zapiš číslo 13. Zkouším tu první část, ale hláška je chybná syntaxe.

dim n as string
if n = "NPR" then
BODY = 20
else
BODY = 10

end if

Děkuju

 
Odpovědět
2.11.2015 10:41
Avatar
Milan Křepelka
Tvůrce
Avatar
Milan Křepelka:2.11.2015 12:19

Ahoj,

myslím, že sis spetl sekci.

VB .... je lehce něco trochu jiného než VBA .... a ty právě potřebuješ podle mě to A - application

V excelu se hodnoty buněk nastavují a vracejí takto

http://www.excel-easy.com/…-object.html

V argisu nevím.

Případně by ti možná stačila jenom funkce

http://office.lasakovi.com/…gicka-excel/

 
Nahoru Odpovědět
2.11.2015 12:19
Avatar
Standa Drong
Člen
Avatar
Odpovídá na Milan Křepelka
Standa Drong:2.11.2015 13:25

Našel jsem stránku o VBA.. píšou:

VBA neboli Visual Basic for Application. Vychází z VB (Visual Basic), ze kterého je odvozen a upraven pro produkty MS Office. Tj. VBA má stejnou syntaxi (příkazy se píší stejně, takže přechod z VBA na VB a naopak je bezproblémový). Každý z produktu MS office (Word, Excel, PowerPoint, Project, Access, Outlook, atd. má k dispozici VBA). Podobně VBA naleznete některých dalších SW produktů.

Jenže v tom ArcGis je boužel jen VB nebo Python.
Běžně se tyto syntaxe používají v tomto programu,

np.: def myCalc(year,y­earVal):
if (year == yearVal):
return 1
else:
return 0

viz odkaz: http://gis.stackexchange.com/…python-or-vb

 
Nahoru Odpovědět
2.11.2015 13:25
Avatar
Standa Drong
Člen
Avatar
Odpovídá na Standa Drong
Standa Drong:2.11.2015 13:29

Potřeboval bych skript ve VB, jenže at se snažím jak se nažím, vždy dostanu hlášku: chybná syntaxe. Bude to nejspíš drobná chyba.

 
Nahoru Odpovědět
2.11.2015 13:29
Avatar
Standa Drong
Člen
Avatar
Odpovídá na Standa Drong
Standa Drong:2.11.2015 18:54

Psal jsem kamarádovi, který programuje ale v jiném jazyce,
snažil se pomoct :

if Range("KAT").Value = "NPR" then
Range("BODY").Value = 20
else
Range("BODY").Value = 20
end if

boužel taky nefunkční..

 
Nahoru Odpovědět
2.11.2015 18:54
Avatar
Milan Křepelka
Tvůrce
Avatar
Odpovídá na Standa Drong
Milan Křepelka:3.11.2015 7:55

Polož dotaz přímo do fóra k tomu SW.

Range("BODY").Value = 20 bude spíš špatně. Počítal bych, že tam budou X,Y souřadnice.

 
Nahoru Odpovědět
3.11.2015 7:55
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.