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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
Lexicss
Дата 17.5.2009, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



DVariuS, спасибо.
Но ещё такой есть вопрос.
У меня есть некий массив байт arr1, есть переменная int value. Мне надо начиная с i-ого элемента массива arr1 записать 4 байта в переменную value. 
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
DVariuS
  Дата 18.5.2009, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Lexicss
Код

int value = BitConverter.ToInt32(arr1, i);

PM MAIL   Вверх
Lexicss
Дата 18.5.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



Цитата(DVariuS @ 18.5.2009,  10:12)
Lexicss
Код

int value = BitConverter.ToInt32(arr1, i);

спасибо. И на последок уже хочу уточнить. Что бы сделать обратную операцию из переменной в массив байтов. это получается так?
Код

   byte[] temp = BitConverter.GetBytes(value);
   Array.ConstrainedCopy(temp,0,arr1,i,4);


Т.е. в две команды. В одну нельзя?

Это сообщение отредактировал(а) Lexicss - 18.5.2009, 10:45
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
DVariuS
Дата 18.5.2009, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Lexicss, если результат необходимо "всунуть" в массив большего размера - то да. Можно извратиться и написать так:
Код

Array.ConstrainedCopy(BitConvert.GetBytes(value),0,arr1,i,4);

PM MAIL   Вверх
Lexicss
Дата 18.5.2009, 10:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



DVariuS, Всё ясно. Спасибо.
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
aximand
Дата 25.5.2009, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Пишу программу в .NET на C++, не могу понять, почему приведенный ниже кусок кода по-разному работает в Vista и в XP:
Код

...
System::IO::BinaryWriter^ TWriter=gcnew System::IO::BinaryWriter( File::Open(TPath,FileMode::Create) );
...

Здесь требуется создавать файл с именем TFile или перезаписывать, если такой уже существует.
В момент выполнения (XP SP2,Visual Studio 2008, Debug) генерируется такое исключение:

"An unhandled exception of type 'System.IO.DirectoryNotFounfException' occurred in mscorlib.ll
Additional information: Не удалось найти часть пути "C:\Data\_T1.thf" "


Значение переменной TPath - "Data/_T1.thf" - путь к файлу из корневой папки приложения (не "C:\Data\_T1.thf").

Проверил на трёх системах с XP - везде происходит эта ошибка, на Vista и W7 такого нету.
PM MAIL   Вверх
KDAlex
Дата 29.5.2009, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Имеется одно приложение, в нем на форме единственная кнопка "button1". У нее событие OnClick:
Код

private void button1_Click(object sender, EventArgs e)
{
         MessageBox.Show("Button Clicked!!!");
}


Имеется другое приложение, консольное. В нём я хочу нажать на кнопку в первом.
Код


        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
        [DllImport("user32.dll", SetLastError = true)]
        static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);
        [DllImport("user32.dll", SetLastError = true, CharSet = CharSet.Auto)]
        static extern bool SendNotifyMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);
        public const int WM_LBUTTONDOWN = 0x201;
        public const int WM_LBUTTONUP = 0x202;
        static void Main(string[] args)
        {
            IntPtr hWnd = new IntPtr(0);
            string sWindow = "Form1";
            hWnd = FindWindow(null, sWindow);
            Console.WriteLine(hWnd);
            IntPtr buttonHWnd = new IntPtr(0);
            string buttonText = "button1";
            buttonHWnd = FindWindowEx(hWnd, IntPtr.Zero, null, buttonText);
            Console.WriteLine(buttonHWnd);
            SendNotifyMessage(buttonHWnd, WM_LBUTTONDOWN, 0, 0); 
            SendNotifyMessage(buttonHWnd, WM_LBUTTONUP, 0, 0);
        }


Дескрипторы окна и кнопки получаю верные, а вот событие нажатия на кнопку не вызывается. В чём дело?

Это сообщение отредактировал(а) KDAlex - 29.5.2009, 12:07
PM MAIL WWW ICQ   Вверх
Partizan
Дата 29.5.2009, 13:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



KDAlex, наверно надо слать SendMessage с WM_LBUTTONCLICK


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Fish
Дата 29.5.2009, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Partizan, WM_LBUTTONCLICK не существует. Код написанный KDAlex работает, достаточно закоментировать второй sendmessage, кнопка нажимается. 
PM MAIL   Вверх
Partizan
Дата 29.5.2009, 14:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



Цитата(Fish @ 29.5.2009,  14:02)
Partizan, WM_LBUTTONCLICK не существует. 

М-да...действительно...в MSDN только WM_LBUTTONDBLCLK


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
KDAlex
Дата 29.5.2009, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Цитата(Fish @ 29.5.2009,  14:02)
Partizan, WM_LBUTTONCLICK не существует. Код написанный KDAlex работает, достаточно закоментировать второй sendmessage, кнопка нажимается.

Несовсем, если закомментировать вторую строку, то кнопка так и осается нажатой и событие не вызывается.

Проблема оказалась банальной - студия была развернута на весь экран, и, в результате, окно с формой сворачивалось. Если же окно с формой не свернуто, то все отлично работает.
Спасибо PartizanFish за участие.

Это сообщение отредактировал(а) KDAlex - 29.5.2009, 16:05
PM MAIL WWW ICQ   Вверх
Lexicss
Дата 29.5.2009, 15:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

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



Как структуру преобразовать в массив байт?
Или другими словами: у меня имеется структура с данными. Эти данные нужно куда-то передать, но параметр в функции передачи требует тип byte[] buffer и явное преобразование типов не помогает структуру в этот параметр запихнуть. Какие будут варианты решения? 
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
DVariuS
Дата 2.6.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Lexicss, что выполняет функция, в которую необходимо передать экземпляр структуры в виде массива байт? Может, проще написать свою? Если необходимо передать структуру по сети, то на мой взгляд лучше воспользоваться сериализацией для записи в NetworkStream.
PM MAIL   Вверх
XEMyJlb
Дата 2.6.2009, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Доброго всем времени суток. Я собираю на VB программку - синхронизатор файлов. Есть 2 TreeView, но они показывают только диск С: Что надо прописать, чтобы было видно все диски на данной машине, включая сьемные носители?
PM MAIL   Вверх
Partizan
Дата 2.6.2009, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

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



XEMyJlb, надо прописать изменения в коде судя по всему...

получить список локальных/съёмных дисков можно через вызов DriveInfo.GetDrives


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

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


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

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


 




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


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

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