Variable in Schleife zu Beginn nicht defiiert

Ich habe zwei Abfragen.
Die erste liest den Album-Interpreten und den Titel aus. Diese funktioniert.
Die zweite Abfrage soll nun Details pro Titel auslesen.
Für das Album möchte ich eine eindeutige UID erstellen, damit ich sie später in der Datenbank verknüpfen kann.
Nur aus irgendeinem mir nicht klaren Grund gibt er beim ersten Album Durchlauf keine uid aus und beginnt dann mit 1! :angry:
Wer hat den Bohrer für mein Brett vorm Kopf?

Danke.
Gruß Bernd

$filename(DB_CSV_Album_Details.csv,utf-16)
Artist;Titel;Track;Dauer;MB
$puts(uid, 1)
$loop(%_folderpath%)
    $puts(uid, $add($get(uid), 1) )
    $loop(%track%)
       $get(uid);%_counter%;%artist%;%title%;%track%;%_length_seconds%;%_file_size%
    $loopend()
$loopend()

DetlevD hat dazu eine Anmerkung im englischen Forum geschrieben. Die ist aber kurz ...
[X] Export scripting: unexpected variable assignment between loops
vielleicht nützt die was.

Danke für den Hinweis, aber das übersteigt meine Programmierkünste :unsure:

So wie ich es interpretiere, muss die Variable innerhalb einer Schleife gesetzt werden, auch wenn diese Schleife nur einmal durchlaufen wird.
Du müsstest also vor dem
$puts(uid, 1)
ein
$loop(1,1)
einfügen :
$loop(1,1)
$puts(uid, 1)
und am Ende ein weiteres $loopend(), um die zusätzliche Schleife zu schließen.

$filename(DB_CSV_Album_Details.csv,utf-16)
Artist;Titel;Track;Dauer;MB
$loop(1,1)
$puts(uid, 1)
$loopend()
$loop(%_folderpath%)
    $puts(uid, $add($get(uid), 1) )
    $loop(%track%)
       $get(uid);%_counter%;%artist%;%title%;%track%;%_length_seconds%;%_file_size%
    $loopend()
$loopend()

Herzlichen Dank für die Lösung. Funktioniert wie ich es mir vorgestellt habe.
Den Sinn einer "leeren" Schleife verstehe ich aber immer noch nicht :frowning:

Hallo Bernd2, ich schließe mich an, es ist und bleibt unverständlich.

Zum Beispiel dieses Exportskript ...

1: $filename($getEnv('USERPROFILE')'\Desktop\Test.txt',UTF-8)

2: $loop(1,1)'uid_a='$put(uid,1)$loopend()
3: 'uid_b='$get(uid)
4: 'UID;Counter;"Artist";"Title";"Track";Duration;"MB"'
5: $loop(%_folderpath%)
6: 'uid_c='$get(uid)
7: 'uid_d='$put(uid,$add(1,$get(uid)))
8: $loop(%TRACK%)$get(uid)';'%_counter%';"'%ARTIST%"';"'%TITLE%'";"'%TRACK%'";'%_length_seconds%';"'%_file_size%'"'
9: $loopend()$loopend()

... erzeugt diese Ausgabe ...

uid_a=1 uid_b=4 UID;Counter;"Artist";"Title";"Track";Duration;"MB" uid_c=1 uid_d=2 1;1;"Air";"Venus";"1/10";245;"8,41 MB" 1;2;"Air";"Cherry Blossom Girl";"2/10";220;"7,48 MB" 1;3;"Air";"Run";"3/10";253;"7,64 MB" uid_c=2 uid_d=3 2;1;"Al Di Meola";"Flight Over Rio";"1/6";437;"6,68 MB" 2;2;"Al Di Meola";"Midnight Tango";"2/6";449;"6,86 MB" 2;3;"Al Di Meola";"Mediterranean Sundance";"3/6";314;"4,81 MB" uid_c=3 uid_d=4 3;1;"Alannah Myles";"Still Got This Thing";"1/10";278;"7,27 MB" 3;2;"Alannah Myles";"Love Is";"2/10";218;"5,75 MB" 3;3;"Alannah Myles";"Black Velvet";"3/10";288;"6,63 MB"

DD.20150104.1308.CET