Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Получить данные из Object в Byte() массив Добавлено: 02.04.08 16:33  

Автор вопроса:  FIX | ICQ: 348680795 
Всем привет! Имеется структура


Public Structure clsLog
    Public ID As Integer
    Public Content As String
    Public BaseType As String
    Public Type As String
    Public Level As Short
    Public CreatingDate As Date
End Structure

эта структура ппередается в процедуру примерно так

Public Sub SaveStructure(ByRef pStructure As Object)
    '...
End Sub

надо в этой процедуре поместить все данные структуры в массив байтов. Кто знает как это реализовать? Спасибо.

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 sergeisin



ICQ: 465419785 

Вопросов: 1
Ответов: 1
 Профиль | | #1 Добавлено: 02.04.08 18:40
Если тебе нужно сохранить её, то вместо струстуры создай класс (идентичный) с атрибутом [Serializable] и сохрани его как XML, если же таких структур много, то пихай их в ArrayList.

я пишу на C#, но думаю понятно...


//clsLong уже как класс
clsLog my = new clsLog();
Object obj = my;

//Затем твоя функция
SaveStructure(ref obj)
{
   clsLog Log = (clsLog)obj;
//делаем всё что нужно с Log
   obj = Log;
}



P.S. Твой ref излишен. просто пусть твоя функция возвращает обЪект типа Log, ещё лучше было бы функцию держать в классе (иметь прямой доступ). Удачи.

Ответить

Номер ответа: 2
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #2 Добавлено: 03.04.08 01:45
Может, конечно, я чего-то не понял, но как ты собираешся сохранять в одном(!) массиве разнотипные данные? Или это новая фишка .NET :?

Ответить

Номер ответа: 3
Автор ответа:
 FIX



ICQ: 348680795 

Вопросов: 39
Ответов: 62
 Профиль | | #3 Добавлено: 03.04.08 22:10
функция задумана как раз для того чтобы сохранять в файл любую структуру, поэтому напрямую не получится. Раз можно получить размер Len(pStructure) любой структуры, то возможно наврное и ее данные. Есть вариант прочитать на прямую данные в памяти. Но может есть другой способ?

Ответить

Номер ответа: 4
Автор ответа:
 FIX



ICQ: 348680795 

Вопросов: 39
Ответов: 62
 Профиль | | #4 Добавлено: 03.04.08 22:16
To s12
В байтовый массив можно записать любые данные любых типов. Только потом самому соотнести какие байты к каким типам относятся

Ответить

Номер ответа: 5
Автор ответа:
 s12



Вопросов: 24
Ответов: 363
 Профиль | | #5 Добавлено: 04.04.08 01:31
А-а допетрил. :)

Есть вариант прочитать на прямую данные в памяти.


А чем тебя этот вариант не устраивает?

Ответить

Номер ответа: 6
Автор ответа:
 FIX



ICQ: 348680795 

Вопросов: 39
Ответов: 62
 Профиль | | #6 Добавлено: 04.04.08 11:06
Есть вариант прочитать на прямую данные в памяти

А как это можно сделать? API или есть класс какой нибудь?

Ответить

Номер ответа: 7
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #7
Добавлено: 08.04.08 00:53
Public Content As String
    Public BaseType As String
    Public Type As String

Тут будут лежать указатели на строки, а тебе нужны сами строки. Поэтому придется обойтись без байтового массива или очень погеморроиться.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам