Dialóg Vypočítať hodnotu poľa môže byť použitý k nastaveniu hodnoty poľa jedného, viac alebo všetkých záznamov v tabuľke. Je to užitočný nástroj pre kopírovanie, spojovanie alebo vytváranie informácií v tabuľke.
Dialóg Vypočítať hodnotu poľa
Pokiaľ chcete otvoriť dialóg Vypočítať hodnotu poľa, otvorte tabuľku atribútov témy alebo akúkoľvek inú tabuľku. Kliknite na meno poľa, ktoré chcete editovať a vyberte príkaz Vypočítať. Druhým spôsobom je vybrať príkaz Vypočítať z ponuky Pole a potom zvoliť pole, ktoré chcete editovať. Poznamenajme, že tabuľka nesmie byť otvorená len na čítanie. Pokiaľ chcete previesť výpočet nad všetkými záznamami v tabuľke, nesmie byť vybraný žiadny záznam alebo musia byť vybrané všetky záznamy. Výber jedného alebo niekoľkých záznamov v tabuľke Vám umožní vypočítať hodnoty poľa len pre tieto záznamy.
Jedným z bežných použití dialógu Vypočítať hodnotu poľa je kopírovanie obsahu jedného pola do druhého. V otvorenom dialógu označte zdrojové pole v zozname polí tabuľky. Názov poľa v hranatých zátvorkách sa objaví v pracovnom okne. Teraz ešte napíšte stredník a stlačte tlačidlo Vypočítať. Takto vyplníte nové pole kopií dát v zdrojovom poli. Tento postup je možný len keď je typ oboch polí totožný, inak musíte previesť konverziu dát.
Do pracovného okna dialógu Vypočítať hodnotu poľa môžete vpísať podstatne komplikovanejší výpočet pomocou skriptovacieho jazyka Kristíny. Viac informácií nájdete v kapitole Výpočet hodnôt polí v nápovedi Kristíny, alebo v príklade Zmena absolútnych ciest v katalógu priestorových dát na relatívne. Poznamenajme eště, že môžete použiť tlačítko Nápoveď v dialógu Vypočítať hodnotu poľa k zobrazeniu popisu metód, ktoré chcete použiť. Jednoducho označte metódu napísanú v pracovnom okne a stlačte tlačítko Nápoveď.
Ďalšie príklady operácií, ktoré môžu byť prevedené pomocou dialógu Vypočítať hodnotu poľa sú obsiahnuté v nasledujúcich tabuľkách.
Matematické operácie
Operace | Kód |
---|---|
Súčet hodnôt dvoch (alebo viac) polí | [NUMFLD] = [NUMFLD1] + [NUMFLD2]; |
Odčítanie hodnôt dvoch (alebo viac) polí | [NUMFLD] = [NUMFLD1] - [NUMFLD2]; |
Násobenie hodnôt dvoch (alebo viac) polí | [NUMFLD] = [NUMFLD1] * [NUMFLD2]; |
Podiel hodnôt dvoch (alebo viac) polí | [NUMFLD] = [NUMFLD1] / [NUMFLD2]; |
Prevod jednotiek (metre na stopy) | [NUMFLD] = [METERS_FLD] * 3.2808; |
Prevod stupňov, minút a sekúnd na desatinné stupne | [NUMFLD] = [DEG] + ([MIN]/60) + ([SEC]/3600); |
Výpočet hustoty zaľudnenia | [NUMFLD] = [TOTAL_POP] / [AREA]; |
Priemerná hodnota dvoch polí | [NUMFLD] = ([NUMFLD1] + [NUMFLD2]) / 2; |
Počet znakov v textovom poli | [TEXTFLD].GetLength([NUMFLD]); |
Textové operácie
Operace | Kód |
---|---|
Naplnenie poľa novým textom | [TEXTFLD] = "Text"; |
Spojenie obsahu dvoch textových polí bez medzery | [TEXTFLD] = [TEXTFLD1] + [TEXTFLD2]; |
Spojenie obsahu dvoch textových polí s medzerou | [TEXTFLD] = [TEXTFLD1] + " " + [TEXTFLD2]; |
Spojenie textu a obsahu textového poľa (s medzerou) | [TEXTFLD] = "Text" + " " + [TEXTFLD1]; |
Zapísanie obsahu číselného poľa do textového poľa | [NUMERICFLD].AsString([TEXTFLD]); |
Zapíše len n ľavých znakov textu (kde n je počet znakov) | [TEXTFLD].Left(n, [TEXTFLD]); |
Zapíše len n pravých znakov textu (kde n je počet znakov) | [TEXTFLD].Right(n, [TEXTFLD]); |
Prevedie celý text na malé písmená | [TEXTFLD].LCase(); |
Prevedie celý text na velké písmená | [TEXTFLD].UCase(); |
Vymazanie prázdnych znakov zo začiatku a konca textu | [TEXTFLD].TrimWhiteSpace(TRUE, TRUE); |
Vymení znak v textovom poli za iný (výmena “C” za “D”) | Number nLen i; String sStr; [TEXTFLD].GetLength(nLen); while(i < nLen); [TEXTFLD].Get(i, sStr); endwhile;if (sStr == "C"); [TEXTFLD].Set(i,
"D"); endif;i = i + 1; |