home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 22 / AACD 22.iso / AACD / Programming / Emperor_v4.0 / Emperor / Projects / AminetSearcher_lowlevel.h < prev    next >
Encoding:
C/C++ Source or Header  |  2001-05-05  |  3.5 KB  |  144 lines

  1. BOOL stringcompare(char *, char *);
  2. char *makelower(char *, const char *);
  3. char *stringcopy(char *, const char *);
  4. char *stringcopywithoutspace(char *, const char *);
  5. void make_entry(void);
  6. void AllocListbrowserNodes(struct List *);
  7.  
  8. struct IntuiMessage *IntuiMessage = NULL;
  9. struct List founded_files_list;
  10. char founded_files_list_col1_raw[1024][31];
  11. char founded_files_list_col2_raw[1024][31];
  12. char founded_files_list_col3_raw[1024][31];
  13. char founded_files_list_col4_raw[1024][31];
  14. char founded_files_list_col5_raw[1024][31];
  15. char indexdir[101] = "CD0:Lists/Aminet_Dir.doc";
  16. char convert[101];
  17. char executepuffer[300][101];
  18. char pattern[5][31];
  19. char patternlower[5][31];
  20. char puffer[101];
  21. char puffer2[201];
  22.  
  23. BOOL stringcompare(char *buffer1, char *buffer2)
  24. {
  25.   BYTE count = 0, length = 0, count2 = 0;
  26.  
  27.   while(*buffer1++) length++;
  28.   buffer1 -= length;
  29.   buffer1--;
  30.   while((*buffer2) && (count != length))
  31.   {
  32.     count2++;
  33.     buffer2++;
  34.     if(*buffer1 == *buffer2)
  35.     {
  36.       count++;
  37.       buffer1++;
  38.     }
  39.     else
  40.     {
  41.       buffer1 -= count;
  42.       count = 0;
  43.     }
  44.   }
  45.   if(length == count) return(TRUE);
  46.   else return(FALSE);
  47. }
  48.  
  49. char *makelower(char *buffer1, const char *buffer2)
  50. {
  51.   char *d = buffer1, c;
  52.  
  53.   do
  54.   {
  55.     c = *buffer2++;
  56.     if((c >= (char) 65) && (c <= (char) 90)) c += (char) 32;
  57.     *buffer1++ = c;
  58.   }
  59.   while(c);
  60.  
  61.   return(d);
  62. }
  63.  
  64. char *stringcopy(char *buffer1, const char *buffer2)
  65. {
  66.   char *d = buffer1, c;
  67.  
  68.   do
  69.   {
  70.     c = *buffer2++;
  71.     if(c != 0x0a) *buffer1++ = c;
  72.   }
  73.   while(c);
  74.  
  75.   return(d);
  76. }
  77.  
  78. char *stringcopywithoutspace(char *buffer1, const char *buffer2)
  79. {
  80.   char *d = buffer1, c;
  81.  
  82.   do
  83.   {
  84.     c = *buffer2++;
  85.     if(c != ' ') *buffer1++ = c;
  86.     else
  87.     {
  88.       *buffer1 = NULL;
  89.       break;
  90.     }
  91.   }
  92.   while(c);
  93.  
  94.   return(d);
  95. }
  96.  
  97. void make_entry(void)
  98. {
  99.   char buffer1[41];
  100.   BOOL changed = FALSE;
  101.   WORD i;
  102.  
  103.   for(i = 0;i < 5;i++)
  104.   {
  105.     if(pattern[i][0])
  106.     {
  107.       if(stringcompare(patternlower[i], convert))
  108.       {
  109.         strcpy(founded_files_list_col1_raw[entryzahl], pattern[i]);
  110.         changed = TRUE;
  111.       }
  112.     }
  113.   }
  114.   if(changed)
  115.   {
  116.     for(i = 0;i < 19;i++) founded_files_list_col2_raw[entryzahl][i] = puffer[i + 00]; founded_files_list_col2_raw[entryzahl][19] = NULL;
  117.     for(i = 0;i < 9;i++)  founded_files_list_col3_raw[entryzahl][i] = puffer[i + 19]; founded_files_list_col3_raw[entryzahl][9] = NULL;
  118.     for(i = 0;i < 06;i++) founded_files_list_col4_raw[entryzahl][i] = puffer[i + 29]; founded_files_list_col4_raw[entryzahl][06] = NULL;
  119.     for(i = 0;i < 40;i++) buffer1[i] = puffer[i + 39]; buffer1[39] = NULL;
  120.     stringcopy(founded_files_list_col5_raw[entryzahl], buffer1);
  121.     entryzahl++;
  122.     AllocListbrowserNodes(&founded_files_list);
  123.     Emperor_SetGadgetAttrComplex(Listbrowser1, LISTBROWSER_Labels, (STRPTR) &founded_files_list);
  124.   }
  125. }
  126.  
  127. void AllocListbrowserNodes(struct List *list)
  128. {
  129.   struct Node *node;
  130.   WORD i;
  131.  
  132.   NewList(list);
  133.   for(i = 0;i < entryzahl;i++)
  134.   {
  135.     node = AllocListBrowserNode(5, LBNA_Column, 0, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col1_raw[i],
  136.                                    LBNA_Column, 1, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col2_raw[i],
  137.                                    LBNA_Column, 2, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col3_raw[i],
  138.                                    LBNA_Column, 3, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col4_raw[i],
  139.                                    LBNA_Column, 4, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col5_raw[i], TAG_DONE);
  140.     AddTail(list, node);
  141.   }
  142. }
  143.  
  144.