Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: bonya19
Дата сообщения: 26.12.2007 00:23

подскажите =)
Автор: BlackVetal
Дата сообщения: 26.12.2007 05:10
bonya19
А конкретно что тебе подсказать?
Автор: bonya19
Дата сообщения: 26.12.2007 08:20
BlackVetal
как рандом написать и условие
Автор: BrdGuest
Дата сообщения: 26.12.2007 08:57
bonya19
Randomize ' инициализация генератора псевдослучайных чисел
Val! = Rnd ' присваиваем Val псевдослучайное число в диапазоне [0; 1)
Автор: bonya19
Дата сообщения: 26.12.2007 09:04
BrdGuest
напиши пожалуйста свой номер icq, есть еще пара вопросов.
Автор: tigricina
Дата сообщения: 26.12.2007 22:46
Мне необходимо создать Direct3D-приложение. Скачала с сайта микрософт DirectX SDK 9.0. Но после инсталляции я не обнаружила в каталоге <Windows>\Microsoft.NET\Managed DirectX\v4.09.00.0900\
ни одной из этих сборок:
Microsoft.DirectX.AudioVideoPlayback.dll
Microsoft.DirectX.Diagnostics.dll
Microsoft.DirectX.Direct3D.dll
Microsoft.DirectX.Direct3DX.dll
Microsoft.DirectX.DirectDraw.dll
Microsoft.DirectX.DirectInput.dll
Microsoft.DirectX.DirectPlay.dll
Microsoft.DirectX.DirectSound.dll
Microsoft.DirectX.dll
зато там присутствуют файлы с теми же названиями, но с расширением XML.

Подскажите где скачать данные сборки?
Автор: AndVGri
Дата сообщения: 27.12.2007 00:22
tigricina
У меня
C:\WINDOWS\assembly\GAC\Microsoft.DirectX.DirectSound\1.0.2902.0__31bf3856ad364e35\Microsoft.DirectX.DirectSound.dll
и
"C:\WINDOWS\Microsoft.NET\DirectX for Managed Code\1.0.2902.0\Microsoft.DirectX.DirectSound.dll"
DirectX, правда, староватый - directx_apr2006_redist
Так, что скачивай directx_xxx_redist, при установке запрос на папку для распаковки, затем, стандартно, setup
Автор: eLLoco
Дата сообщения: 27.12.2007 09:46
tigricina

Цитата:
Managed DirectX\v4.09.00.0900

странно, вроде MDX заглох на неоконченной версии 2.0, цитата:

Цитата:

MDX 2.0
* Currently development is no longer active.
* MDX 2.0 has been replaced by Microsoft XNA.
* The API differs from MDX 1.1 in a number of places.
Автор: urodec
Дата сообщения: 27.12.2007 12:06
Подскажите, пожалуйста, как настроить VS так, чтобы при присвоении объекту определенного типа другого объекта иного типа выдавалась бы ошибка?

И ещё... Можно ли сделать так, чтобы VS не заменял автоматически
Set a = b на a = b?
Автор: BaluBig
Дата сообщения: 27.12.2007 13:14
urodec

Цитата:
Подскажите, пожалуйста, как настроить VS так, чтобы при присвоении объекту определенного типа другого объекта иного типа выдавалась бы ошибка?
Не совсем понятно. Когда должны быть ошибка, на этапе компиляции или во время выполнения? Вроде бы всегда, если типы не совместимы, будет ошибка на этапе компиляции...


Цитата:
Можно ли сделать так, чтобы VS не заменял автоматически
Set a = b на a = b?
Сделать можно. Tools\Options...\Text Editor\Basic\VB Specific убрать галочку с Pretty listing (reformatting) of code. Но в этом нет смысла, т.к. Set в смысле присваивания не поддерживается компилятором (у меня VS 2008).

Автор: eLLoco
Дата сообщения: 27.12.2007 13:47
urodec
начать следует с того, чтобы написать при присвоении какого типа какому у тебя не возникает ошибка, может она и не должна возникать? может ты в object присваиваешь? а может а может а может
Автор: urodec
Дата сообщения: 27.12.2007 14:25
BaluBig

Цитата:
Не совсем понятно. Когда должны быть ошибка, на этапе компиляции или во время выполнения? Вроде бы всегда, если типы не совместимы, будет ошибка на этапе компиляции...

В момент компиляции... лучшев, если подчеркиваться будет сразу
Автор: BaluBig
Дата сообщения: 27.12.2007 15:27
urodec
Так оно и подчеркивает и, естественно, при компиляции ругается если нарушается совместимость типов. Не смотри, что там Visual Assist еще виден, он тут не при чем.


Автор: Minissota
Дата сообщения: 29.12.2007 13:26
Привет, народ! У меня возникла проблема при установке Microsoft Visual Studio 2005
Я этот диск купил в магазине, пришол домой а она почему то не ставится... Выкидует ошибку, что типа Microsoft Visual Studio 2005 - ENU не найден, вставте DVD dick...
Это диск такой или там есть свои прибамбасы при установке?????
Заранее благодарен!!!
Автор: eLLoco
Дата сообщения: 29.12.2007 13:49
Minissota
скопируй все установочные файлы в локальную папку на винт и ставь оттуда. должно помочь. известный косяк.
Автор: Minissota
Дата сообщения: 29.12.2007 13:57
eLLoco
Спасибо, что отозвался! Я щас так и делаю... Вроди бы устанавливается...
Спасибо, еще раз...

Цитата:
Стремись к совершенству...
Автор: XPEHOMETP
Дата сообщения: 29.12.2007 15:24
eLLoco

Цитата:
Minissota
скопируй все установочные файлы в локальную папку на винт и ставь оттуда. должно помочь. известный косяк.

Маленькое уточнение: локальная папка должна быть в корневике и не должна иметь длинного имени. DVD1 прокатит однозначно. У купленного DVD наверняка не та метка - должна быть DVD1, тогда бы поставилось без вопросов.
Автор: Lihonosov
Дата сообщения: 08.01.2008 09:16
Есть форма на форме несколько текстбоксов и дата грид виев, они связаны с датасетом, в кот. таблица из базы MSSQL.
Проблема в том, что если в базе стоит параметр столбца CHAR(20), а само значение 15 символов, то остальное забивается пробелами. И на форме в текстовых полях и гриде также все забивается пробелами.
Подскажите где и что я мог не доделать.

C#&ADO.NET
Автор: Solnake
Дата сообщения: 08.01.2008 09:59
Lihonosov
мой тебе совет - пользуйся varchar(рамзерность)(unicod-ный вариант - nvarchar()), он пробелами не добивает.
Автор: Lihonosov
Дата сообщения: 08.01.2008 10:15
Solnake
Спасибо! попробую.
Еще вопрос: в Access можно было указать типу столбца выпадающий список со значениями из другой таблицы, но в MSSQL я такого не нашел!?!? Пока что столбцу назначил CHAR(20), а в программе на форме выпадающему списку назначил другой датасет и при сохранении беру значения из выпадающего списка и сохраняю в таблицу (ту, где CHAR(20)).

Добавлено:
Есть MDI форма в ней меню, по нажатию пунктов которого создаются дочерние формы:

OnClick_Menu1:

Form1 f1=new Form1();
f1.MdiParent=this;
f1.Show();

OnClick_Menu2:
Form2 f2=new Form2();
f2.MdiParent=this;
f2.Show();

Никак не могу понять как сделать, чтобы если дочерняя форма уже создана или свернута, то она разворачивалась, а если нет то создавалась.
В MSDN не нашел.
Автор: Solnake
Дата сообщения: 08.01.2008 11:10
Lihonosov
Про реляционную БД слышал? Про вторичные ключи и т.д?
Если нет - советую почитать.

А насчет дочерних форм - точно не скажу, но сответую перед сосзданием формы пробежатся по коллекции дочерних форм и посмотреть -есть ли уже она там или нету, если нету - создавать, а если есть то делать то что надо. Думаю зделать это не сложно.
Автор: Lihonosov
Дата сообщения: 08.01.2008 15:34

Цитата:
Про реляционную БД слышал? Про вторичные ключи и т.д?
Если нет - советую почитать.

У меня в каждой таблице есть PRIMARY KEY, с котором связана какая-то другая таблица.

А какую книжку посоветуешь, чтобы было написано понятным языком и чтобы побольше примеров (MSSQL, но не ACCESS!!!). Сейчас читаю "Теория и практика построения баз данных. 8-е издание. Д.Крёнке, Питер, 2003".

Добавлено:

Цитата:
А насчет дочерних форм - точно не скажу, но сответую перед сосзданием формы пробежатся по коллекции дочерних форм и посмотреть -есть ли уже она там или нету, если нету - создавать, а если есть то делать то что надо. Думаю зделать это не сложно.

Ты имел ввиду, что-то такое:
{ foreach (Form childForm in MdiChildren)
{ childForm.Show(); }
}
Автор: eLLoco
Дата сообщения: 08.01.2008 15:46
Lihonosov

Цитата:
в Access можно было указать типу столбца выпадающий список со значениями из другой таблицы, но в MSSQL я такого не нашел!?

Думается, что Access просто "писал" за тебя некий код, ответственный за удобный интерфейс связывания данных из некой таблицы с источником данных контрола.
Solnake

Цитата:
Про реляционную БД слышал? Про вторичные ключи и т.д?

Я думаю, что здесь вопрос немного другой - как без особых хлопот воплотить это дело в интерфейсе. Приходят мысли о создании дочернего контрола с некими свойствами DataTable и DataField. Плюс сюда же ConnectionString. Полет фантазии в общем. Кстати, совсем по-хорошему будет, если это вписывается в идеологию разрабатываемой программы, забацать некий класс FormBuilder, который создает форму по предоставленным данным (таблице / нескольким таблицам по join), сам заполняет ComboBox'ы по вторичным ключам. Чтобы не пересоздавать каждый раз - сериализация. Но это уже зависит от масштабов программы и зарплаты.
Автор: Solnake
Дата сообщения: 08.01.2008 16:03
eLLoco
ну такой правильный класс написать очень даже не просто. Всегда появляется задача которая может просто розрушить полностью все то что перед этим работало. Знакомо такое.

Ну а насчет создания комбика - так это все просто. Как я понял вместимое комбика - это некий справочник. Писаться класс для этого справочника думаю должен был. Вот в нем и пишется какой-то метод Get(int id) который возвращает DataTable или еще что-то (тут уже как кому нравитсо) по результатам соответствующего запроса с нужным значением ключа. Ну и потом этот метод или через ОбжектДатаСорс или на на открытие формы или еще на какое-то нужное событие цепляется к нужному комбику. Все очень просто.
Если не понятно, роскажу более подробно, если понятно - гуд.

Насчет книжек по MSSQL - хм... чесно, сам не прочитал ни одной. Работаю с этой СУБД уже 3 года, вроде более менее дружу.
Ну пока почитай то что читаеш, будет полезно, а там если че не ясно - спрашивай или тут, или чтобы не офтопить в разделе по MSSQL Server-у, что знаю - тем помогу.


Цитата:
Ты имел ввиду, что-то такое:
{ foreach (Form childForm in MdiChildren)
{ childForm.Show(); }
}

да, чтото типа этого. Просто работаю восновном под веб, такчто более конкретно не помогу, ну думаю сам розберешся.
Автор: Lihonosov
Дата сообщения: 08.01.2008 16:29

Цитата:
Как я понял вместимое комбика - это некий справочник

У меня это значения размеров: м, кг, мл, гр...

Цитата:
Писаться класс для этого справочника думаю должен был. Вот в нем и пишется какой-то метод Get(int id) который возвращает DataTable или еще что-то (тут уже как кому нравитсо) по результатам соответствующего запроса с нужным значением ключа. Ну и потом этот метод или через ОбжектДатаСорс или на на открытие формы или еще на какое-то нужное событие цепляется к нужному комбику. Все очень просто.

Отдельно класс не писал. Создал для комбика новый адаптер и датасет и связал его с ними.
В DataGridView есть возможность назначить отдельным колонкам тип комбобокс, например, для моего случая и указать ему тот датасет кот. нужен.
Может есть какой-нибудь "правильный" способ?
Автор: eLLoco
Дата сообщения: 08.01.2008 16:34
Solnake

Цитата:
Ну а насчет создания комбика - так это все просто. Как я понял вместимое комбика - это некий справочник. Писаться класс для этого справочника думаю должен был. Вот в нем и пишется какой-то метод Get(int id) который возвращает DataTable или еще что-то (тут уже как кому нравитсо) по результатам соответствующего запроса с нужным значением ключа. Ну и потом этот метод или через ОбжектДатаСорс или на на открытие формы или еще на какое-то нужное событие цепляется к нужному комбику.

Хм, это уже конечно дело вкуса, но я имел ввиду решение, привязанное только к БД. DataTable и DataField - имя таблицы и поля в БД, указанной в ConnectionString. Так контрол становится универсальней. Впрочем, решение с классами тоже ничего, возможности пошире. Вот только лучше использовать события не формы, а собственные события контрола.

Lihonosov

Цитата:
А какую книжку

Можно почитать в MSDN Microsoft SQL Server 2005 Books Online.
Автор: BlackVetal
Дата сообщения: 09.01.2008 07:51
Lihonosov
Как вариант решения твоей проблемы могу посоветовать библиотеку компонентов "ComponentOne". В библиотеке много компонентов для работы с БД и они более гибкие для настройки.
По второму вопросу про дочерные окна - можно создать какую-нить структуру (дополнительный класс к примеру), который будет хранить хэдары и состояние дочерних окон (свернутое, не свернутое и т.д.)
Автор: Lihonosov
Дата сообщения: 09.01.2008 10:56

Цитата:
По второму вопросу про дочерные окна - можно создать какую-нить структуру (дополнительный класс к примеру), который будет хранить хэдары и состояние дочерних окон (свернутое, не свернутое и т.д.)


Сделал так (В обработчике меню):

int n=0;
foreach (Form childForm in MdiChildren)
{
n++;
if(childForm.Text="Заголовок нужного мне окна")
{
childForm.WindowState=FormWindowState.Maximized;
}
else
{
n--;
}
}
if(n<=0)
{
Form1 myForm=new Form1();
myForm.MdiParent=this;
myForm.Show();
}

Может где-то и встречалось, но я это придумал сам.
Вдруг кому пригодится.

Сейчас подумал и думаю переменную n лючше сделать типа bool.
Т.е. n++ => n=true;
n-- => n=false; => if(n==false){ ... }
Автор: Solnake
Дата сообщения: 09.01.2008 11:19
Lihonosov

Код:
private Form GetMyForm(Form ВашаФорма)
{
foreach (Form f in this.MdiChildren)
{
    if (f is ВашаФорма)
    {
        return f;
    }
}
return null;
}
Автор: Lihonosov
Дата сообщения: 09.01.2008 11:35
Дело в том, что у меня задача:
Если дочернее окно запущено, то его нужно развернуть, а если нет, то создать. И каждый пункт меню должен управлять своим дочерним окном, т.е. если запущено много дочерних окон, то образобчик должен отыскать и развернуть свое окно, а если не нашел, то создать, поэтому как мне кажется, этот код:

Код: private Form GetMyForm(Form ВашаФорма)
{
foreach (Form f in this.MdiChildren)
{
if (f is ВашаФорма)
{
return f;
}
}
return null;
}

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.