home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 15 / AACD15.ISO / AACD / Programming / MultiDesktop / desk / t.c < prev    next >
Encoding:
C/C++ Source or Header  |  1997-03-27  |  1.6 KB  |  97 lines

  1. #include "multidesktop.h"
  2.  
  3. struct MultiDesktopBase *MultiDesktopBase;
  4. extern struct ExecBase  *SysBase;
  5. APTR IntuitionBase,GfxBase;
  6.  
  7. /* ---- Text einer ID-Nummer ermitteln */
  8. /*
  9.   ID-Nummer:
  10.  
  11.   "Text"       für keine Umwandlung, Ergebnis = "Text"
  12.   "xxx:Text"   für ID xxx aus dem angegebenen Katalog
  13.   "xxx§Text"   für ID xxx aus dem MultiDesktop-Katalog (System-ID)
  14. */
  15.  
  16. ULONG Catalog=7466L;
  17.  
  18. UBYTE *FindIt(cat,id)
  19.  struct Catalog *cat;
  20.  UBYTE           *id;
  21. {
  22.  UBYTE num[30];
  23.  BOOL  hasNum,sysID;
  24.  ULONG catID;
  25.  int   i;
  26.  
  27.  if(id==NULL) return(NULL);
  28.  
  29.  hasNum=sysID=FALSE;
  30.  i=0;
  31.  printf("<%c>\n",'§');
  32.  printf("Scan=");
  33.  while((id[i]!=0x00)&&(i<20))
  34.   {
  35.    if(id[i]==(UBYTE)':')
  36.     {
  37.      num[i]=0x00;
  38.      hasNum=TRUE;
  39.      break;
  40.     }
  41.    else if(id[i]==(UBYTE)0xa7)
  42.     {
  43.      num[i]=0x00;
  44.      hasNum=TRUE;
  45.      sysID=TRUE;
  46.      printf("<STOP>");
  47.      break;
  48.     }
  49.    else
  50.     {  num[i]=id[i]; printf("%c  %ld\n",num[i],num[i]=='§'); }
  51.    i++;
  52.   }
  53.  
  54.  puts("\n---------");
  55.  
  56.  if(!hasNum)
  57.    return(id);
  58.  
  59.  printf("Num=%s\n",&num);
  60.  
  61.  catID=atol(&num);
  62.  if(catID==0)
  63.    return(id);
  64.  
  65.  if(sysID)
  66.    cat=Catalog;
  67.  
  68.  printf("Num=%ld\n",catID);
  69.  printf("Cat=%ld\n",cat);
  70. }
  71.  
  72. main()
  73. {
  74.  struct Node *node;
  75.  struct List  list;
  76.  BOOL         b1,b2;
  77.  long i,j;
  78.  
  79.  IntuitionBase=OpenLibrary("intuition.library",0L);
  80.  GfxBase=OpenLibrary("graphics.library",0L);
  81.  MultiDesktopBase=OpenLibrary("multidesktop.library",0L);
  82.  if(MultiDesktopBase)
  83.   {
  84.    DesktopStartup(0L,STARTUP_ALERTHANDLER|STARTUP_TRAPHANDLER);
  85.    puts("Programm gestartet!");
  86.  
  87.    FindIt(345L,"3§Test!");
  88.  
  89.    DesktopExit();
  90.    CloseLibrary(MultiDesktopBase);
  91.    printf("Avail=%ld\n",AvailMem(MEMF_ANY));
  92.   }
  93.  else
  94.    puts("No Libs!");
  95. }
  96.  
  97.