Speichern unter

Was ich mache:
In einer Basis-Apr sind Scripte gespeichert, die auf Knopfdruck
abgearbeitet werden. (Es werden Karten im Layout aufbereitet,
Tabellen werden abgearbeitet und und und )
Diese Basis-Apr fragt beim Start scriptgesteuert nach dem Arbeitsverzeichnis,
in dem die zu bearbeitenden Daten liegen. Der Name dieses Ver-
zeichnisses wird ausgelesen und per <av.SetName(Verzeichnisname)>
zum Projektnamen. Das klappt soweit.
Was ich möchte:
Ich möchte dieses neue Projekt AUTOMATISCH in das neue
Arbeitsverzeichnis unter seinem NEUEN Namen speichern. Die
Basis-Apr soll dabei nicht verändert werden. Bisher habe Ich
es über ein Beenden-Script versucht. Er speichert auch schön
ab, schiebt aber gleichzeitig die Basis-Apr in das neue Arbeits-
verzeichnis.
Kann mir bittebitte jemand helfen ?
NochnKlaus
Hi Klaus,

was hast du gegen deinen eigenen Codeschnippel von gestern?

'Pfad- u. Dateiname des Basisprojektes (a):
theSrcFileName = av.GetProject.GetFileName

' Pfad- u. Dateiname der noch zu erstellenden Kopie (b):
theDestFileName = "C:\Temp\Dest.apr".AsFilename

'Erstelle Kopie von a als b
File.Copy(theSrcFileName,theDestFileName)
Weil:
Über ein Startscript übernehme ich den Projektnamen
'*****************************************
' *** globale Variablen festlegen
theProject = av.GetProject
_lpfad = "C:\Av-snk\Legenden\"

theWorkDir = theProject.GetWorkDir
VerfName = "Ansbach" >>> Kann ich evt. hier was drehen ?????
' *** Abfrage Arbeitsverzeichnis
thePath = FileDialog.Put(VerfName.AsFileName, "*", "Bitte wählen Sie das Projektverzeichnis aus !")
If (thePath = Nil ) then exit end
thePath.StripFile
NewWorkDir = thePath.AsString
Auswahl = MsgBox.YesNo("Ihr neues Projektverzeichnis : "+newWorkDir,"Richtige Wahl?", true )

ProjektName = thePath.GetBaseName

av.SetName("_" +ProjektName)
theProject.SetName("_" +ProjektName)
(In diesem Startscript findet noch vieles andere statt (Abfrage,
ob im neuen Arbeitsverzeichnis Dateien vorhanden sind usw. -
die Verarbeitung braucht das)
Bei dem erwähnten Codeschnipsel
'Pfad- u. Dateiname des Basisprojektes (a):
theSrcFileName = av.GetProject.GetFileName >>> sagt er hier NIL !!!
Wo soll ich den den herkriegen bzw. in mein Startscript schmuggeln ???
Klaus
Noch zusätzlich

ich wollte ihn jetzt mit folgendem Projektende-Script
überlisten

' *** Projekt beenden
theProject = av.GetProject
If (av.Run("Project.CheckForEdits",nil).Not) then
return Nil
end

defName = av.GetName

theFName = FileDialog.Put(defName. AsFileName , "*.apr", "Projekt speichern unter")
theProject.SetFileName(theFName)
If (theProject.Save) then
av.ShowMsg( "Projekt gespeichert unter '"+theProject.GetFileName.GetBaseName+"'")
end
av.Quit

Aber damit speichert er doppelt ab, einmal als "Ansbach.apr"
und einmal "Verzeichnisname.apr"
Klaus
Ach so, verstehe, dann würd ich das Startskript so schreiben (oder hab ich das immernoch nicht kapiert?):

theProject = av.GetProject

theWorkDir = theProject.GetWorkDir
VerfName = "Ansbach.apr"
' *** Abfrage Arbeitsverzeichnis
thePath = FileDialog.Put(VerfName.AsFileName, "*", "Bitte wählen..!")
If (thePath = Nil ) then exit end
thePathG = thePath.Clone
thePath.StripFile
NewWorkDir = thePath.AsString
Auswahl = MsgBox.YesNo("Ihr neues...: "+newWorkDir,"Richtig?", true )
if (Auswahl.not) then return nil end

ProjektName = thePathG.GetBaseName

theProject.SetFileName(thePathG)
theProject.Save
Oder noch ein bisl sauberer:

theProject = av.GetProject

theWorkDir = theProject.GetWorkDir
VerfName = ((theWorkDir.GetFullName.AsString)+"\Ansbach.apr")
' *** Abfrage Arbeitsverzeichnis
thePath = FileDialog.Put(VerfName.AsFileName, "*", "Bitte wählen..!")
If (thePath = Nil ) then exit end
thePathG = thePath.Clone
thePath.StripFile
NewWorkDir = thePath.AsString
Auswahl = MsgBox.YesNo("Ihr neues...: "+newWorkDir,"Richtig?", true )
if (Auswahl.not) then return nil end

ProjektName = thePathG.GetBaseName

theProject.SetFileName(thePathG)
theProject.Save
theProject.SetWorkDir(thePath)
Danke Maxilla,
ich bin jetzt ganz verschüchtert und gehe jetzt in mich (wo ich noch nicht war)und bewege Deine Hinweise in meinem Herzen
Klaus