;/* filereq.c - Execute me to compile me with SASC 5.10
LC -b1 -cfistq -v -y -j73 filereq.c
Blink FROM LIB:c.o,filereq.o TO filereq LIBRARY LIB:LC.lib,LIB:Amiga.lib
quit
**
** Here's a short example showing how to create a file requester with
** asl.library. If AslRequest() returns TRUE then the rf_File and
** rf_Dir fields of the requester data structure contain the name and
** directory of the file the user selected. Note that the user can type
** in the a name for the file and directory, which makes it possible for
** a file requester to return a file and directory that do not
** (currently) exist.
*/
#include <exec/types.h>
#include <exec/libraries.h>
#include <libraries/asl.h>
#include <clib/exec_protos.h>
#include <clib/asl_protos.h>
#include <stdio.h>
#ifdef LATTICE
int CXBRK(void) { return(0); } /* Disable Lattice CTRL/C handling */
void chkabort(void) { return; } /* really */
#endif
UBYTE *vers = "$VER: filereq 37.0";
#define MYLEFTEDGE 0
#define MYTOPEDGE 0
#define MYWIDTH 320
#define MYHEIGHT 400
struct Library *AslBase = NULL;
struct TagItem frtags[] =
{
ASL_Hail, (ULONG)"The RKM file requester",
ASL_Height, MYHEIGHT,
ASL_Width, MYWIDTH,
ASL_LeftEdge, MYLEFTEDGE,
ASL_TopEdge, MYTOPEDGE,
ASL_OKText, (ULONG)"O KAY",
ASL_CancelText, (ULONG)"not OK",
ASL_File, (ULONG)"asl.library",
ASL_Dir, (ULONG)"libs:",
TAG_DONE
};
void main(int argc, char **argv)
{
struct FileRequester *fr;
if (AslBase = OpenLibrary("asl.library", 37L))
{
if (fr = (struct FileRequester *)
AllocAslRequest(ASL_FileRequest, frtags))
{
if (AslRequest(fr, NULL))
{
printf("PATH=%s FILE=%s\n", fr->rf_Dir, fr->rf_File);
printf("To combine the path and filename, copy the path\n");
printf("to a buffer, add the filename with Dos AddPart().\n");
}
FreeAslRequest(fr);
}
else printf("User Cancelled\n");
CloseLibrary(AslBase);
}
}