Liebe Nuhsgruppler,
ich habe folgenden KompliziertCode geschrieben. Dieser soll für drei verschiedene Beschriftungen
u.a. auch die Farbe einstellen. Bisher lasse ich das Script dreimal laufen und stelle jeweils den Themen-
name und die Farbe über "TheTextSym.SetColor(Color.Get "und hier dann die Farbe")" neu ein. Die
Farben sollen Black, Blue und Cyan sein.
Ich würd es gern in eine Schleife packen. Etwa so
for each Runde in 1..3
if (Runde = 1) then
Thema = "06_L"
elseif (Runde = 2) then
Thema = "07_P"
elseif (Runde = 3) then
Thema = "08_F"
end
Noch läuft es dreimal so:
theTheme = theView.FindTheme("06_L") **** hier käme dann THEMA rein
theTheme.SetVisible(TRUE)
theTheme.SetActive(TRUE)
theFTab = theTheme.GetFTab
theFTab.SetEditable(TRUE)
Labelfield = theFTab.FindField("beschrift")
theTheme.SetLabelField(LabelField)
theExt = theView.ReturnExtent
theLab = Labeler.Make(theExt)
theLab.SetFeatureWeight(#LABEL_WEIGHT_NO)
theLab.SetLabelWeight(#LABEL_WEIGHT_MEDIUM)
theLab.RemoveDuplicates(FALSE)
theTextSym = TextSymbol.Make
theTextSym.SetColor(Color.GetBlue) *** Welche Variable nehme ich hier ????
theTheme.SetLabelTextSym(theTextSym)
theLab.Load(theTheme)
theView.GetAutoLabels(theLab, FALSE)
theFTab.SetEditable(false)
theView.Invalidate
Vielen Dank für jede Vereinfachung
Klaus
ich habe folgenden KompliziertCode geschrieben. Dieser soll für drei verschiedene Beschriftungen
u.a. auch die Farbe einstellen. Bisher lasse ich das Script dreimal laufen und stelle jeweils den Themen-
name und die Farbe über "TheTextSym.SetColor(Color.Get "und hier dann die Farbe")" neu ein. Die
Farben sollen Black, Blue und Cyan sein.
Ich würd es gern in eine Schleife packen. Etwa so
for each Runde in 1..3
if (Runde = 1) then
Thema = "06_L"
elseif (Runde = 2) then
Thema = "07_P"
elseif (Runde = 3) then
Thema = "08_F"
end
Noch läuft es dreimal so:
theTheme = theView.FindTheme("06_L") **** hier käme dann THEMA rein
theTheme.SetVisible(TRUE)
theTheme.SetActive(TRUE)
theFTab = theTheme.GetFTab
theFTab.SetEditable(TRUE)
Labelfield = theFTab.FindField("beschrift")
theTheme.SetLabelField(LabelField)
theExt = theView.ReturnExtent
theLab = Labeler.Make(theExt)
theLab.SetFeatureWeight(#LABEL_WEIGHT_NO)
theLab.SetLabelWeight(#LABEL_WEIGHT_MEDIUM)
theLab.RemoveDuplicates(FALSE)
theTextSym = TextSymbol.Make
theTextSym.SetColor(Color.GetBlue) *** Welche Variable nehme ich hier ????
theTheme.SetLabelTextSym(theTextSym)
theLab.Load(theTheme)
theView.GetAutoLabels(theLab, FALSE)
theFTab.SetEditable(false)
theView.Invalidate
Vielen Dank für jede Vereinfachung
Klaus
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Torsten am Mo., 29.11.2004 - 15:50
Permalinkfor each <Variable> in <Liste>
<Aktion>
end
Beispiel:
for each ColorVariable in Color.GetBlack Color.GetBlue Color.GetCyan
...
theTextSym.SetColor(ColorVariable)
...
end
siehe auch in der Hilfe unter "For each (Statement)
Viel Erfolg
Torsten
Gespeichert von Gast am Di., 30.11.2004 - 08:29
Permalinkwar ein Hinweis in die richtige Richtung
Klaus