#include "Demo.h"
#include "Daten.h"  
#include <exec/memory.h>
 
 
 extern char Dir[];
 
/*************************************************************************
 *************************************************************************
 *************************************************************************

Function: GetFileName5()
 Stub function, asks for a filename.

Return: LONG

Author: Rüdiger Dreier

History:
 25.07.1993: Initial version

 *************************************************************************
 *************************************************************************
 *************************************************************************/
 
 LONG GetFileName5(struct FileRequester *Rq,
                   char *Text,
                   char *Ziel,
                   char *Pattern,
                   ULONG FlagS,
                   WORD  laenge)
  {
   LONG  i;
   char   *Source, *Ende;
   
   
   /* Vorgeben eines Pfades ist wohl etwas aufwendiger (geht das */
   /* einfacher ?). FileName() gibt Zeiger auf das erste Zeichen */
   /* zurück, das nicht mehr zum Pfad gehört. Also alle Zeichen  */
   /* bis auf dieses kopieren. Schließlich muß noch eine Null    */
   /* angehängt werden.                                          */
   
   Source = Ziel;
   Ende   = FilePart(Ziel);
   i=0;
   
   while(Source != Ende)
    {
     Dir[i] = *Source;
     Source ++;
     i      ++;
    }
   Dir[i] = 0;
   
   return(GetFileName6(Rq,
                       Text,
                       Ziel,
                       FilePart(Ziel),
                       Dir,
                       Pattern,
                       FlagS,
                       laenge));
  }
 
 
/*************************************************************************
 *************************************************************************
 *************************************************************************

Function: GetFileName6()
 Opens an ASL filerequester to ask for a filename.

Return: LONG
 -1: Fehler

Author: Rüdiger Dreier

History:
 25.07.1993: Initial version
 
 *************************************************************************
 *************************************************************************
 *************************************************************************/
 
 LONG GetFileName6(struct FileRequester *Rq,
                   char *Text,
                   char *Ziel,
                   char *File,
                   char *Drawer,
                   char *Pattern,
                   ULONG FlagS,
                   WORD  laenge)
  {
   SHORT  Flag = 0;
   
   struct Window *Window;
   
   get(WI_Cost, MUIA_Window_Window, &Window);
   
   
   Flag = MUI_AslRequestTags(Rq,
                         ASLFR_TitleText       , (LONG) Text   ,
                         ASLFR_Window          , (LONG) Window ,
                         ASLFR_InitialDrawer   , (LONG) Drawer ,
                         ASLFR_InitialFile     , (LONG) File   , 
                         ASLFR_Flags1          , (LONG) FlagS  ,
                         ASLFR_InitialPattern  , (LONG) Pattern,
                         TAG_DONE);
   if(Flag)
    {
     /* TRUE, daher Text kopieren */
     if(strlen(Rq->fr_Drawer) < laenge) 
      {
       strcpy(Ziel,Rq->fr_Drawer);
      }
     
     /* Text zu lang ??? */
     if(! AddPart(Ziel,Rq->fr_File,laenge)) Flag = -1;
    }
   
   return(Flag);
  }
 
