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

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

как сдвинуть строку?


Галинка ©   (2007-11-28 12:23:00) 

а точнее массив байт?


Галинка   (2007-11-29 11:35:00) [1]

@!!ex ©   (28.11.07 22:37) [14]

почему? вроде не падает.


@!!ex   (2007-11-28 22:37:00) [2]

> [10] Галинка ©   (28.11.07 18:30)

Это должно падать.


palva   (2007-11-28 22:23:00) [3]

Ничего не понял.


homm   (2007-11-28 21:52:00) [4]

> [11] Johnmen ©   (28.11.07 21:49)
> Чё за птичий язык?

И не говори, 2 строчки, а дальше сплошной комментарий ;)


Johnmen   (2007-11-28 21:49:00) [5]

Чё за птичий язык?
М.б. изучить его базовые типы? Ну чтобы на вопросы время не терять...


Галинка   (2007-11-28 18:30:00) [6]

Anatoly Podgoretsky ©   (28.11.07 15:19) [9]

ну пояти его и использую. ))) А точнее char buffer[5000].
buf = &szMsg[0] + 5;
while(*buf){
               strOut[0] = '\0';
 ihZahl = (int)(*buf);
 fprintf(stdout, "Количество читаемых байтов: %i\n", ihZahl);
 buf++;
 strncpy(strOut, buf, ihZahl);
 strOut[ihZahl] = '\0';
 if(*(buf+1) != 'P') iFeldWert = atoi(strOut);
 fprintf(stdout, "Значение: %i\n", iFeldWert);
 buf += (ihZahl + 4);
}


Примерно так.


Anatoly Podgoretsky   (2007-11-28 15:19:00) [7]

Используй PChar, оно поддерживает адресную математику


KSergey   (2007-11-28 15:03:00) [8]

Ура!


Галинка   (2007-11-28 13:29:00) [9]

всем спасибо

получилось все...


Правильный_Вася   (2007-11-28 12:57:00) [10]


> сдвинуть указатель на первый элемент массива.

так указатель или массив?
при сдвижке массива указатель-то остается на месте и указывает туда же, а вот в массиве дырка появляется


Галинка   (2007-11-28 12:50:00) [11]

Правильный_Вася   (28.11.07 12:44) [3]

сдвинуть вправо. Т.е. сдвинуть указатель на первый элемент массива.


Галинка   (2007-11-28 12:47:00) [12]

спасибо. Но мне бы алгоритм, а не оператор.

Кстати массив имеет вид типа:
0x2EA0300x04P151A0010x0800000123A0310х03586А0320х03458А0290х03478...
Размер массива взят с запасом )) 5000 элементов.

Пока думается так:
1) заводим указатель на char;
2) сдвигаем его на 4, получаем число байт nByteToRead, подлежащих чтению;
3) если следующий байт не ноль, тогда сдвигаем на nByteToRead+4.


Правильный_Вася   (2007-11-28 12:44:00) [13]

куда сдвинуть?


@!!ex   (2007-11-28 12:28:00) [14]

CopyMemory


Reindeer Moss Eater   (2007-11-28 12:25:00) [15]

move


Наверх

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