Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Использование данных в рамках программы 
:(
    Опции темы
Sergey_P
  Дата 6.9.2007, 14:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 6.9.2007

Репутация: нет
Всего: нет



Необходимо написать программу, которая читает изображения из файла в массив byte и в поток.
Из потока затем инфа передается в Image, показываются изображения.

С этим справился, однако возник вопрос.


В процедуре public void Form1_Load.
Создаю массив byte, в него из потока гружу данные о картинке.

По нажатию кнопки.
Читаю данные из массива бит в поток.
Из потока гружу данные в Image.


Получается, что (привожу только часть) в процедуре public void Form1_Load код такой:
Код

int pictures;
pictures = files.GetUpperBound(0);           
byte[][] stream_byte;
stream_byte = new byte[pictures][];


при нажатии кнопки:
Код

MessageBox.Show(pictures.ToString(), "В папке картинок:",
MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
...
fs.Read(stream_byte[i], 0, (int)fs.Length);
...


Однако получаю ошибки при компиляции (сообщения об ошибке на каждую переменную, но привожу здесь только 2 сообщения)

The name "pictures" does not exist in the current context
The name "stream_byte" does not exist in the current context



Вопрос, куда поместить объявление переменной и массива бит для того, чтобы они были видны из любого места программы?
PM MAIL   Вверх
archeg
Дата 6.9.2007, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(Sergey_P @  6.9.2007,  14:45 Найти цитируемый пост)
Вопрос, куда поместить объявление переменной и массива бит для того, чтобы они были видны из любого места программы?

В C# понятие глобальных переменных нет. Фактически, можно считать статические паблик филды - глобальными переменными, только нужно старатся использовать статику по-меньше.

А в даном случае просто добавь филды у формы:
Код

partial class Form1 : Form
{
    private int pictures;
    private byte[][] stream_byte;

    //........
}


А в общем обязательно считывать данные в поток? Сам Image поддерживает считывание из файла (см. статический ReadFromFile или FromFile - не помню). Да и запись в поток там есть


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
Sergey_P
Дата 6.9.2007, 16:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 33
Регистрация: 6.9.2007

Репутация: нет
Всего: нет



Огромное спасибо!! smile
 
Картинки записываю в память для быстродействия (они потом будут быстро меняться).

P.S.
...так, статические использовать поменьше, а надо классы(данных) использовать, я верно понимаю?



Это сообщение отредактировал(а) Sergey_P - 6.9.2007, 17:00
PM MAIL   Вверх
archeg
Дата 7.9.2007, 13:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 612
Регистрация: 6.1.2007
Где: Киев

Репутация: 4
Всего: 27



Цитата(Sergey_P @  6.9.2007,  16:55 Найти цитируемый пост)
...так, статические использовать поменьше, а надо классы(данных) использовать, я верно понимаю?

Статику не передашь, как аргумент, в ней легче запутаться и статика - это какой-то своеобразный отход от иерархии, которая, как известно, позитивное явления по-скольку дает легкое восприятие кода приложения. Легкое восприятие кода приложения - меньше багов и лучше архитектура, что снова же приводит к еще более легкому восприятию и быстроте как разработки, так и работы самой программы.


--------------------
ИМХО задница есть универсальный интерфейс. Ибо через задницу можно сделать абсолютно ВСЕ (bash.org.ru)

Дядька всегда можно спросить в аське, если не задалбывать - не откажет smile
И вообще, на самом деле я студент, и ненавижу обращение на "Вы") Тут все свои  ;)
PM MAIL ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0417 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.