error compile my code

No, forget the other method whatever it was intended to mean. Look at your error message:

enc28j60:63: error: no matching function for call to 'EtherCard::browseUrl(char*, String&, char [13], void (&)(byte, word, word))'

See how the compiler suggests something that could work:

... note: candidates are: static void EtherCard::browseUrl(prog_char*, const char*, prog_char*, void (*)(uint8_t, uint16_t, uint16_t))

The main difference between the parameters you are passing and the parameters that the compiler expects is... the String& parameter. Now if you look at your code around line 63 (as the compiler tells you) you see that devid is declared as a String. Can you change it into a (const) char*? The funny thing is that garderobe is actually a char*, but you (implicitly) convert it into a String when you call sendtovera(). Just redefine sendtovera() to accept a char* and it should fix the error.

Btw, the C equivalent of s% in python is sprintf().