![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Гость_guest |
|
|||
|
Unregistered |
st: string;
ch: Pchar; st = '12345'+#0+#0+'....'; Как прочитать st в ch полностью, не ограничиваясь #0 ??? И наоборот из ch в st ??? |
|||
|
||||
| NiJazz |
|
|||
![]() Jazz coder ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2286 Регистрация: 10.8.2003 Где: Москва Репутация: 6 Всего: 23 |
Из string в PChar - StrPCopy
Из PChar в string: var s: string; ....... PChar(s) - s преобразуется в PChar. ....... |
|||
|
||||
| Гость_guest |
|
|||
|
Unregistered |
strpcopy прочитатет до #0
|
|||
|
||||
| youri |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 740 Регистрация: 17.4.2004 Репутация: нет Всего: 16 |
По идее, тип string - динамический, т.е. если присвоить переменной типа string другую строку (более длинную), то переменная будет занимать больше места и не факт, что она будет расположена по тому же адресу. В смысле не понятно, что значит полностью? |
|||
|
||||
| Гость_guest |
|
|||
|
Unregistered |
полностью - значит с нулевыми символами и после них, вот !!!!
|
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
А чем вы вообще сдесь пишите. И ТО И ДРУГОЕ ЭТО УКАЗАТЕЛИ!
Но: а)St:String; -Это указатель на следующий тип -1)@St-указывает на 1 символ -2)(@St-X)-размер строки -3)Полный размер St равен X+[@St-X]+1 б)Ch:PChar; -Это указатель на ячейку памяти в которой может находится все что угодно и любого типа. И по этому: нам надо знать его длину. Вопрос задан конкретный: как скопировать? Как два байта переслать... даже не используя на прямую API
Ну а если тебе надо в какую - то кучу это скопировать... в какую либо позицию этой кучи, то для этого есть API. К примеру WriteProcessMemory, ReadProcessMemory ну и т.д. При этом надо знать формат того чего ты копируеш и формат который готова принять обратная сторона Это сообщение отредактировал(а) Girder - 31.8.2004, 16:33 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
из стринг в пичар - LPCTSTR
Это сообщение отредактировал(а) decoder - 27.8.2004, 14:49 --------------------
Молчать, я вас спрашиваю! |
|||
|
||||
| Girder |
|
|||
![]() Лентяй 2 ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1993 Регистрация: 12.5.2004 Репутация: 31 Всего: 155 |
decoder енто все хорошо когда текст(или что там) на ходится в закрытой памяти. Компилятор, тогда сам разберется и не даст тебе использовать один и тот же указатель.
А иначе.... Как тебе вот такой пример:
PS: В Delphi аналог для LPCTSTR - это PAnsiChar decoder тут на днях Kesh вспомнил бородатый анекдот... Про то, что компилятор Delphi не даст себе ногу от стрелить. Но поверь это не так! Как и любой другой компилятор при кривых ручках... он и голову позволит... Удачи. Это сообщение отредактировал(а) Girder - 27.8.2004, 15:30 -------------------- Как слышим, так и пишим. Истина где-то там... |
|||
|
||||
| decoder |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 204 Регистрация: 18.5.2004 Где: Харьков(хохол, к сожалению) Репутация: нет Всего: -1 |
2Girder
Проверить не решился, на слово верю... звЫняюсь за дезинформацию --------------------
Молчать, я вас спрашиваю! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |