home *** CD-ROM | disk | FTP | other *** search
- /* LEKCJA14.C
- //---------------------------------------------------------------------------
- Temat:
- Wprowadzenie MAKRO
- //---------------------------------------------------------------------------
- Funkcja:
- EXT(227) ushort InsertMac(
- //---------------------------------------------------------------------------
-
- EXT(227) ushort InsertMac( //
- char *fname, // nazwa pliku
- tCallBack func, // funkcja Callback
- void *para, // wska½nik dla funkcji Callback
- void *edta, // bufor dla danych tymczasowych
- ushort esiz); // wielkoÿå bufora
-
- Opis:
- Funkcja pozwala u╛ytkownikowi doêÑczyå 'MAKRO' do opracowywanego
- projektu.
-
- Przykêad wywoêania:
- razem= InsertMac(buf1,MojaFunkcja,&eta,NULL,0);
-
- */
- //---------------------------------------------------------------------------
- #include "std.h"
- #include "megatyp.h"
- #include "megacad.h"
- //---------------------------------------------------------------------------
- struct _datax
- {
- t_entity dane;
- short odcinki;
- short luki;
- };
- //---------------------------------------------------------------------------
- short MojaFunkcja(void *wskaznik)
- {
- struct _datax *pdta;
-
- pdta = wskaznik;
- if (pdta->dane.type == E_LINE) pdta->odcinki++;
- if (pdta->dane.type == E_C_ARC) pdta->luki++;
- return (0);
- }
- //---------------------------------------------------------------------------
- short main(char *filename,char *args)
- {
- char buf1[255], buf2[255];
- struct _datax dta;
- ushort razem;
-
- dta.odcinki = 0;
- dta.luki = 0;
- strcpy(buf1,"c:\\megawin\\mac\\1.mac");
-
- if (StringInput("podaj nazw⌐ makro",buf1,255))
- {
- razem= InsertMac(buf1,MojaFunkcja,&dta,NULL,0);
- sprintf(buf1,"w skêad makro wchodzi %d elementów",razem);
- sprintf(buf2,"w tym: %d linii i %d êuków",dta.odcinki,dta.luki);
- Message(buf1,buf2,NULL,NULL,"ok",3);
- };
- return(0);
- }
- //---------------------------------------------------------------------------
-