home *** CD-ROM | disk | FTP | other *** search
- ;/* GDir v2.0 - Mark Weller (Aug 2000)
- ; Copies dir/file name selected from ASL file requester to ClipBoard
-
- dcc -o GDir gdir.c clipftxt.c
- quit
- */
-
- #include <exec/types.h>
- #include <exec/ports.h>
- #include <exec/io.h>
- #include <exec/memory.h>
- #include <exec/exec.h>
- #include <devices/clipboard.h>
- #include <libraries/dosextens.h>
- #include <libraries/dos.h>
- #include <libraries/asl.h>
- #include <ctype.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <intuition/intuition.h>
-
- char *version = "$VER: GDir v(02-08-2000)2.0";
-
- /* struct IntuitionBase *IntuitionBase; */
-
- /*--Functions--*/
-
- extern int WriteLong(struct IOClipReq *,long *);
- extern struct IOClipReq *CBOpen(ULONG);
- extern int CBWFTXT(struct IOClipReq *,char *);
- extern void CBClose(struct IOClipReq *);
-
- int GDirectory(char *);
-
- main(int argc, char *argv[])
- {
- struct IOClipReq *ClipIO;
- int error = '0';
- int err = 0;
- char dirname[200];
-
- /* if(!(IntuitionBase=(struct IntuitionBase *)OpenLibrary("intuition.library",0L)))
- { exit(0); } */
-
- err = GDirectory(dirname);
-
- if(err == 1) { printf("Gdir -: ERROR?\n"); }
- else {
- /* Open clipboard.device unit 0 */
- if(!(ClipIO=CBOpen(0L)))
- {
- printf("exit error - Can't open ClipBoard\n");
- }
- else
- {
- CBWFTXT(ClipIO,dirname);
- CBClose(ClipIO);
- }
- }
- /* if(IntuitionBase) CloseLibrary((struct Library *)IntuitionBase); */
-
- exit(0);
- }
-
- int GDirectory(char *dirbuff)
- {
- struct Library *AslBase = NULL;
-
- struct TagItem frtags[] =
- {
- ASL_Hail, (ULONG)"GDir v2.0 Mark Weller (c)2000",
- ASL_Height, 200,
- ASL_Width, 400,
- ASL_LeftEdge, 50,
- ASL_TopEdge, 25,
- ASL_OKText, (ULONG)"OK",
- ASL_CancelText, (ULONG)"Cancel",
- /* ASL_File, (ULONG)"my file", */
- /* ASL_Dir, (ULONG)"RAM:", */
- TAG_DONE
- };
-
- struct FileRequester *fr;
- int err = 0;
- char filebuff[50];
-
-
- if(AslBase=(struct Library *)OpenLibrary("asl.library",0L))
- {
- if(fr = (struct FileRequester *)AllocAslRequest(ASL_FileRequest, frtags))
- {
- if (AslRequest(fr, NULL))
- {
- sprintf(dirbuff,"%s",fr->rf_Dir);
- sprintf(filebuff,"%s",fr->rf_File);
- AddPart(dirbuff,filebuff,200);
- }
- FreeAslRequest(fr);
- }
- else err = 1;
-
- CloseLibrary(AslBase);
- }
-
- return(err);
- }
-
-