home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2001 December / pcwk12201b.iso / Reklamy / CAD-Projekt / MegaCAD-4_5 / CC / LEKCJA14.C_ / LEKCJA14.C
C/C++ Source or Header  |  1995-09-01  |  2KB  |  67 lines

  1. /*                      LEKCJA14.C
  2. //---------------------------------------------------------------------------
  3. Temat:
  4.         Wprowadzenie MAKRO 
  5. //---------------------------------------------------------------------------
  6. Funkcja:
  7.         EXT(227) ushort InsertMac(
  8. //---------------------------------------------------------------------------
  9.  
  10. EXT(227) ushort InsertMac(    // 
  11.          char        *fname,  // nazwa pliku
  12.          tCallBack func,      // funkcja Callback 
  13.          void      *para,     // wska½nik dla funkcji Callback 
  14.          void      *edta,     // bufor dla danych tymczasowych
  15.          ushort    esiz);     // wielkoÿå bufora
  16.  
  17. Opis:
  18.     Funkcja pozwala u╛ytkownikowi doêÑczyå 'MAKRO' do opracowywanego
  19.     projektu.
  20.  
  21. Przykêad wywoêania:
  22.      razem= InsertMac(buf1,MojaFunkcja,&eta,NULL,0);
  23.  
  24. */
  25. //---------------------------------------------------------------------------
  26. #include "std.h"
  27. #include "megatyp.h"
  28. #include "megacad.h"
  29. //---------------------------------------------------------------------------
  30. struct _datax
  31. {
  32.    t_entity     dane;
  33.    short        odcinki;
  34.    short        luki;
  35. };
  36. //---------------------------------------------------------------------------
  37. short MojaFunkcja(void *wskaznik)
  38. {
  39.    struct _datax *pdta;
  40.  
  41.    pdta = wskaznik;
  42.    if (pdta->dane.type == E_LINE) pdta->odcinki++;
  43.    if (pdta->dane.type == E_C_ARC) pdta->luki++;
  44.    return (0);
  45. }
  46. //---------------------------------------------------------------------------
  47. short main(char *filename,char *args)
  48. {
  49.    char         buf1[255], buf2[255];
  50.    struct       _datax dta;
  51.    ushort       razem;   
  52.  
  53.    dta.odcinki = 0;
  54.    dta.luki = 0;
  55.    strcpy(buf1,"c:\\megawin\\mac\\1.mac");
  56.  
  57.    if (StringInput("podaj nazw⌐ makro",buf1,255))
  58.    {
  59.      razem= InsertMac(buf1,MojaFunkcja,&dta,NULL,0);
  60.      sprintf(buf1,"w skêad makro wchodzi %d elementów",razem);
  61.      sprintf(buf2,"w tym: %d linii i %d êuków",dta.odcinki,dta.luki);
  62.      Message(buf1,buf2,NULL,NULL,"ok",3);
  63.    };
  64.    return(0);
  65. }
  66. //---------------------------------------------------------------------------
  67.