Daten kopieren

Guten Morgen in die Runde,
ich habe folgendes Problem, das ich gern in einem Script lösen möchten.
In einem Feld (Spalte) einer Attribut-Tabelle stehen Einträge in folgender Form:
6921/19/7
7894/12547/0
Die erste Zahl ist immer vierstellig, die zweite Gruppe variiert, die dritte besteht
immer aus "/" und einer Zahl.
Ich möchte aus den Einträgen in ein neues Feld übernehmen
WENN die letzten zwei Stellen "/0" sind NUR die zweite Gruppe ohne "/"
WENN die letzten zwei Stellen davon abweichen (also "/1" oder "/3")
dann die zweite UND die dritte Gruppe (also "12456/1" oder "32/5" z.B. )
Wer kann helfen und meinen Knoten lösen ?
Klaus
Ohne das jetzt genau getestet zu haben, würde ich's vermutlich in der Art machen:

for each rec in theVTab

theValStr = theVTab.ReturnValueString(theOldFld,rec)
theValList = theValStr.AsTokens("/")
theFirst = theValList.Get(0)
theSecnd = theValList.Get(1)
theThird = theValList.Get(2)

if (theThird = "0") then
theVTab.SetValue(theNuFld,rec,theSecnd)
else
theVTab.SetValue(theNuFld,rec,theFirst+"/"+theSecnd)
end

end
Hallo Maxilla,
danke für die schnelle Antwort. Nun meldet er "AV-Array : Index 2 nicht im Bereich 0..1"
Was meint er damit (oder "sie" oder "es")
Klaus
Das "AsTokens" splittet den String und macht eine Liste draus, d.h. aus

"6921/19/7"

wird eine Liste mit

List.Get(0) = "6921"
List.Get(1) = "19"
List.Get(2) = "7"

"AV-Array : Index 2 nicht im Bereich 0..1" sagt dir: Du hast in deinem Feld zumindest einen Wert, dem (im Bsp.) der Slash ("/"), die sieben ("7") oder beides fehlt, d.h. die List hat nur 2 Elemente, die Abfrage eines dritten ist also ein (AVArray-) Fehler.

Eine Möglichkeit den Fehler abzufangen, wäre es nach der Variablendefinition von theValList folgendes einzufügen:

if (theValList.count <> 3) then continue end

dann lässt er den Datensatz einfach aus. In dieser If-Schleife könnte man sie/ihn/es natürlich auch was anderes machen lassen (Kaffee holen...)
Vielen Dank Maxilla,
beim zeilenweise überprüfen bin ich rauf gekommen, daß in meiner Bespieltabelle (bevors ans Eingemachte geht)ein falscher Eintrag drin war (mea culpa)
Es läuft jetzt hervorragend !
Klaus
(Ich trinke nur TEE)