Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.01.2008, 01:07   #11
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Вообщем делайте класс и будет Вам виселье
Я все-таки не пойму почему нельзя написать функцию... Вообщем ждем автора.

не вижу другого способа да и если вы будете куда то данную запись писать от того что вы узнаете размер вашей записи вместе с полями вам легче не станет, т.к. данные widestring - указатель на массив байт, находяться по другому указателю нежели сама запись. Таким образом указав указатель на запись и вычесленный размер байт у вас ничего не получиться записать Надо сразу писать точный вопрос, а не в самом конце уже узнавать что у вы совсем не в ту сторону идете.

Последний раз редактировалось BOBAH13; 25.01.2008 в 01:10.
BOBAH13 вне форума Ответить с цитированием
Старый 25.01.2008, 01:09   #12
Мессир
Пользователь
 
Аватар для Мессир
 
Регистрация: 24.01.2008
Сообщений: 12
По умолчанию

Автор уже тут И уже ответил на первой странице
Плохо, когда не знаешь, да ещё и забудешь.
Мессир вне форума Ответить с цитированием
Старый 25.01.2008, 01:10   #13
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Мессир, sizeof(Ttest).

Цитата:
Сообщение от BOBAH13 Посмотреть сообщение
.....данные widestring - указатель на массив байт.....
на массив unsigned short!
B_N вне форума Ответить с цитированием
Старый 25.01.2008, 01:12   #14
Мессир
Пользователь
 
Аватар для Мессир
 
Регистрация: 24.01.2008
Сообщений: 12
По умолчанию

ХОтите сказать, что Stream.Write(Pointer(Test[i])); не пройдёт? Или как-то так... Или я опять что-то намудрил?

Ок, варианты? Создам класс, что с ним делать? Влепить в поток? Там будут такие же указатели... Использовать другой тип, не widestring?
Плохо, когда не знаешь, да ещё и забудешь.
Мессир вне форума Ответить с цитированием
Старый 25.01.2008, 01:14   #15
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

а вообще, я уже и сам теперь засомневался, сто лет дельфи в руки не брал, там WideString это длинные ANSI или UNICODE?
B_N вне форума Ответить с цитированием
Старый 25.01.2008, 01:14   #16
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

почему же так точно пройдет, Stream.Write(Test[i], SizeOf(Test[i])); но поля widestring - не будут записаны. p.s. B_N - чесно что за флуд ? Если Вы так придирчивы к словам, то не на массив, а на кучу так лучше ?
BOBAH13 вне форума Ответить с цитированием
Старый 25.01.2008, 01:15   #17
B_N
Новичок
Джуниор
 
Регистрация: 18.01.2008
Сообщений: 1,720
По умолчанию

Мессир, размер записи определяется с помощью sizeof(запись)
B_N вне форума Ответить с цитированием
Старый 25.01.2008, 01:17   #18
Мессир
Пользователь
 
Аватар для Мессир
 
Регистрация: 24.01.2008
Сообщений: 12
По умолчанию

Я вот так и писал, и действительно не записывались значения.... Я сначала не подумал на указатели, потом стали мысли левые в голову лезть, почему ничего не выводится после перезапуска программы, а до перезапуска всё выводится (ибо в памяти ещё хранятся по этому указателю данные). Стал в общем грешить на то, что размер неверный ...
Плохо, когда не знаешь, да ещё и забудешь.
Мессир вне форума Ответить с цитированием
Старый 25.01.2008, 01:20   #19
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Слава богу разобрались со структурой, теперь я думаю Вам понятно как записывать данные со структуры ? Или поставьте полный вопрос описывающий вашу проблему.
BOBAH13 вне форума Ответить с цитированием
Старый 25.01.2008, 01:21   #20
Мессир
Пользователь
 
Аватар для Мессир
 
Регистрация: 24.01.2008
Сообщений: 12
По умолчанию

B_N - это определяется объём, я так понимаю, пустой структуры, в которую входят - объём указателей на данные (даже если их нет?), и объём для типов данных, а сами данные фиг считаются, я записываю строку длинной в 5 тысяч символов, размер выводится - 8 байт если юзать string, и 4 байта если widestring
Плохо, когда не знаешь, да ещё и забудешь.
Мессир вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
определить тактовою частоту процессора и узнать название активной видеокарты и объём памяти SalasAndriy C++ Builder 7 14.04.2012 16:17
Найти объём куба и площадь его боковой поверхности BASIC Ветренная Помощь студентам 23 02.06.2008 13:15
record/file potion Паскаль, Turbo Pascal, PascalABC.NET 3 10.05.2008 20:15
ОБъём скачанного из интернета Kostia Работа с сетью в Delphi 2 23.11.2007 00:25
Направьте на путь истинный! [FlekS] Помощь студентам 3 20.02.2007 11:51