Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.11.25;
Скачать: CL | DM;

Вниз

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

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

Вот тут функция на 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);
}


 
Феу ©   (2002-10-14 11:08) [1]

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


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

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



Страницы: 1 вся ветка

Текущий архив: 2002.11.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.019 c
4-83040
asasdf
2002-10-12 19:01
2002.11.25
klass


14-82978
Denvor
2002-11-03 03:01
2002.11.25
Как мастдай не назови, хоть NT, а хоть XP...


4-83045
Vit@ly
2002-10-13 23:19
2002.11.25
Обновить (зарефрешить) SysTray, TaskBar?


1-82810
Кот Бегемот
2002-11-13 16:41
2002.11.25
Как розмножить компонент ?


3-82606
Fishka
2002-11-01 16:15
2002.11.25
Table(s) open. Cannot perform this operation. - Почему?