Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Помогите перевести на дельфовский язык!!!


Василий2 ©   (2002-10-14 10:15:00) 

Вот тут функция на C++. Я не знаю что там написано, поэтому прошу всех, кто знает C++ перевести ее на Delphi.

#define END 0x5c //"\"
#define OFFSET 23

...

char *get_token (char *buffer, char *token) {
char *stri, *strf;
strf = strchr(buffer + OFFSET, 0x00);
*strf = END;
if((stri = strstr(buffer + OFFSET, token))) {
stri = stri + strlen(token);
strf = strchr(stri, END);
*strf = 0x00;
}
else return(NULL);
return(stri);
}


Василий2   (2002-10-14 12:40:00) [1]

Большое спасибо!


Феу   (2002-10-14 11:08:00) [2]

Кажется, эта мерзость ищет конец строки(символ #00) после первых 24 символов и меняет его на символ #5с ("\"); потом ищет первое вхождение строки token в строку buffer, ищет после него символ #5с ("\") и заменяет на #00 (конец строки в Си), после чего возвращает указатель на начало этого вхождения, если ничего не нашла - возвращает NULL(в Паскале - nil).
Например:
buffer = "abcdefghij/klm"; token = "def";
char *a;
a = get_token(*buffer, *token);
В a будет указатель на строку "defghij"
Что касается перевести на Паскаль, тебе нужен аналог функции для паскалевских строк или точный перевод для нулем законченых?


Наверх

Титульная страница Поиск, карта сайта Написать письмо