Použití dialogu Vypočítat hodnotu pole

Dialog Vypočítat hodnotu pole může být použit k nastavení hodnoty pole jednoho, více nebo všech záznamů v tabulce. Je to užitečný nástroj pro kopírování, spojování nebo vytváření informací v tabulce.

Dialog Vypočítat hodnotu pole

Pokud chcete otevřít dialog Vypočítat hodnotu pole, otevřte tabulku atributů tématu nebo jakoukoliv jinou tabulku. Klikněte na jméno pole, které chcete editovat a vyberte příkaz Vypočítat. Druhým způsob je vybrat příkaz Vypočítat z nabídky Pole a poté zvolit pole, které chcete editovat. Poznamenejme, že tabulka nesmí být otevřena pouze pro čtení. Pokud chcete provést výpočet nad všemi záznamy v tabulce, nesmí být vybrán žádný záznam nebo musí být vybrány všechny záznamy. Výběr jednoho nebo několika záznamů v tabulce Vám umožní vypočítat hodnoty pole pouze pro tyto záznamy.

Jedním z běžných použití dialogu Vypočítat hodnotu pole je kopírování obsahu jednoho pole do druhého. V otevřeném dialogu označte zdrojové pole v seznamu polí tabulky. Název pole v hranatých závorkách se objeví v pracovním okně. Nyní ještě napište středník a stiskněte tlačítko Vypočítat. Takto vyplníte nové pole kopií dat ve zdrojovém poli. Tento postup je možný pouze když je typ obou polí totožný, jinak musíte provést konverzi dat.

Do pracovního okna dialogu Vypočítat hodnotu pole můžete vepsat podstatně komplikovanější výpočet pomocí skriptovacího jazyka Kristýny. Více informací naleznete v kapitole Výpočet hodnot polí v nápovědě Kristýny, nebo v příkladu Změna absolutních cest v katalogu prostorových dat na relativní. Poznamenejme ještě, že můžete použít tlačítko Nápověda v dialogu Vypočítat hodnotu pole k zobrazení popisu metod, které chcete použít. Jednoduše označte metodu napsanou v pracovním okně a stiskněte tlačítko Nápověda.

Další příklady operací, které mohou být provedny pomocí dialogu Vypočítat hodnotu pole jsou obsaženy v následujících tabulkách.


Matematické operace

OperaceKód
Součet hodnot dvou (nebo více) polí [NUMFLD] = [NUMFLD1] + [NUMFLD2];
Odečtení hodnot dvou (nebo více) polí [NUMFLD] = [NUMFLD1] - [NUMFLD2];
Násobení hodnot dvou (nebo více) polí [NUMFLD] = [NUMFLD1] * [NUMFLD2];
Podíl hodnot dvou (nebo více) polí [NUMFLD] = [NUMFLD1] / [NUMFLD2];
Převod jednotek (metry na stopy) [NUMFLD] = [METERS_FLD] * 3.2808;
Převod stupňů, minut a vteřin na desetinné stupně [NUMFLD] = [DEG] + ([MIN]/60) + ([SEC]/3600);
Výpočet hustoty zalidnění [NUMFLD] = [TOTAL_POP] / [AREA];
Průměrná hodnota dvou polí [NUMFLD] = ([NUMFLD1] + [NUMFLD2]) / 2;
Počet znaků v textovém poli [TEXTFLD].GetLength([NUMFLD]);


Textové operace

OperaceKód
Naplnění pole novým textem [TEXTFLD] = "Text";
Spojení obsahu dvou textových polí bez mezery [TEXTFLD] = [TEXTFLD1] + [TEXTFLD2];
Spojení obsahu dvou textových polí s mezerou [TEXTFLD] = [TEXTFLD1] + " " + [TEXTFLD2];
Spojení textu a obsahu textového pole (s mezerou) [TEXTFLD] = "Text" + " " + [TEXTFLD1];
Zapsaní obsahu číselného pole do textového pole [NUMERICFLD].AsString([TEXTFLD]);
Zapíše pouze n levých znaků textu (kde n je počet znaků) [TEXTFLD].Left(n, [TEXTFLD]);
Zapíše pouze n pravých znaků textu (kde n je počet znaků) [TEXTFLD].Right(n, [TEXTFLD]);
Převede celý text na malá písmena [TEXTFLD].LCase();
Převede celý text na velká písmena [TEXTFLD].UCase();
Vymazání prázdných znaků ze začátku a konce textu [TEXTFLD].TrimWhiteSpace(TRUE, TRUE);
Vymění znak v textovém poli za jiný (výměna „C“ za „D“) Number nLen i;
String sStr;
[TEXTFLD].GetLength(nLen);
while(i < nLen);
[TEXTFLD].Get(i, sStr);
if (sStr == "C");
[TEXTFLD].Set(i, "D");
endif;
i = i + 1;
endwhile;