Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 170


http://www.kbyte.ru/

 

Новый выпуск!

Если у Вас возникнут какие-либо вопросы, замечания, пожелания или предложения, пишите, мы детально рассмотрим каждое Ваше сообщение – mailto: admin@kbyte.ru.

 

Содержание выпуска

Система ЭКСПЕРТ

    Вопрос #000401: Запись данных в последовательный и параллельный...

    Вопрос #000400: Работа с сокетами

    Вопрос #000389: Программный перевод компьютера в спящий режим

    Вопрос #000383: Локализация приложения

    Вопрос #000380: Visible and FOR

Последнее на форумах

    Вопрос по Авторизации

    Вопрос по IIS...

    Ошибка при обновлении в Гриде

    Нужна видюха, порекомендуйте

    Будни программиста (!всем смотреть!)

Последние статьи

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

    Выбор языка программирования для научных работ (2-я редакция)

    Работаем с MIME

Интересные коды и решения

Юмор на Kbyte.Ru

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, никаких наездов, оскорблений и насмешек со стороны гуру, просто спросите и получите ответ ;-)


Вопрос #000401: Запись данных в последовательный и параллельный...

Автор вопроса: // 03.08.2007 / 13:35

Как записать двоичные данные в COM и LPT порт из C# ? Приведите,пожалуйста,примеры.
Спасибо!
__________

Отвечает: EROS // 04.08.2007 / 09:37

Здравствуйте.
В NET для работы с портами предусмотрен класс
System.IO.Ports.SerialPort.
Для записи данных в порт используйте один из перегруженных методов
Write или WriteLine
--
С уважением,
EROS

 

Вопрос #000400: Работа с сокетами

Автор вопроса: Николай // 03.08.2007 / 12:55

Система программирования: Visual Basic.NET 2005.
Пишу диплом(приложение типа клиент-сервер) и сталкнулся со следующей проблемой. В VB6 есть Winsock с которым очень лего работать по сети, а в VB.NET такого нету, там испоьзуются сокеты. Прочитал справку в MSDN, полазил по форумам различным, лишь тока кашу создал у себя в голове. Не могу понять как работать с сокетами. Если можете помогите пожалуйста. Или дайте пример программы клиент-сервер, простейший чат какойнибудь.
Да чуть незабыл :) надо все делать на TCP\IP, т.к. через программу будут проходить файлы, а через UDP их опасно высылать.
Заранее спасибо!

--------------------------------------
Категория: --- Visual Basic .NET

Отвечает: EROS // 04.08.2007 / 08:59

Здравствуйте, Николай.
В VS2005 с сокетами в чистом виде никто не работает (если только для
решения каких то специфичных задач). Для этого используют его
наследников.. в вашем случае это будет TcpClient. Для организации
клиент-севрверного приложения вам понядобятся 2 класса:
TcpClient и
TcpListener.


--
С уважением,
EROS mailto:eros@fromru.com

 

Вопрос #000389: Программный перевод компьютера в спящий режим

Автор вопроса: Игорь Голов // 23.07.2007 / 02:15

Доброго времени суток!
Возникла проблема - необходимо переводить компьютер в спящий режим из разрабатываемой программы.

Как это сделать?

Платформа: Microsoft Visual Basic 2005.

Спасибо!

--------------------------------------
Категория: --- Visual Basic .NET

Отвечает: EROS // 23.07.2007 / 09:38

Application.SetSuspendState Method
Suspends or hibernates the system, or requests that the system be
suspended or hibernated.
 
Подробности тут
 
С Уважением, EROS 

 

Вопрос #000383: Локализация приложения

Автор вопроса: weltkind // 21.07.2007 / 06:23

День добрый! В очередной раз обращаюсь к вам за помощью!!
Решил я перевести свою программку на другой язык (немецкий) решил
реаализовать это таким образом
в свойствах формы пункт Localizable выставить значение True
и всем обектам в пункте Text ввести соответствующие надписи на др языке
задать предварительно в свойствах формы в пункте Language выствить
необходимый мне язык но тут возникла проблема как реализовать
переключение языка непосредственно при выполнении так как в среде
разработке при изменении пункта Language с default на Dutch все надписи на
форме меняються а вот при выполненни незнаю как сделать
добавил сл код непомог:
System.Threading.Thread.CurrentThread.CurrentUICulture = New
System.Globalization.CultureInfo(тут вписывал код языка (1049)(1033) и
т.д.)
Помогите Плиз !!
Если вы знаете как можно по другому реализовать многоязычность сообщите...
Зарание Вам блгадарен!!

Отвечает: EROS // 21.07.2007 / 21:26

Здравствуйте, weltkind!
Ваш код, в принципе, верный. Но вы должны понимать как ЭТО работает.
Дело в том, что локализованные надписи на кнопках, надписях и т.д. загружаются в
процедуре InitializeComponent.. Отсюда можно сделать вывод, что если Вы
установите локаль ДО инициализации компонентов (например в
конструкторе формы Sub New), то у Вас все заработает...
Если же вы хотите менять надписи в режиме Run-Time, то это делается
примерно так...

'// EROS (VB 2005,ChangeUICulture Example)
'//
'// Устанавливаем нужную локаль
My.Application.ChangeUICulture("en-US") '// Англ. локаль
'// Получаем менеджера русурсов для этой локали
Dim resources As ComponentResourceManager = New ComponentResourceManager(Me.GetType)
'// Перебираем все контролы на форме и меняем надписи
For Each item As Control In Controls
resources.ApplyResources(item, item.Name)
Next
'// Это на тот случай если текст заголовка тоже локализованный
resources.ApplyResources(Me, "$this")
'// Наслаждаемся результатом

--
С уважением,
EROS

 

Вопрос #000380: Visible and FOR

Автор вопроса: Taras // 21.07.2007 / 06:23

Здраствуйте!
У меня такой вопросик
создал я форму на ней розместил 4 текстовых поля (1 для ввода количиства видимых текстовых полей, видимый)
3 невидимых тексттовых поля (невидимы)
кнопку которой присвоил следущее значение
Dim i As Integer
Dim n As Integer
n = text1.text
For i=0 to n
text(n).visible = true
next

после того как мы задади текстовому полю 1 значение и нажмем на кнопку
в зависимости от заданого числа станут видимыми н-ное количиство текстовых форм
но после нажатия на клавишу проесходить ошибка...
Где моя ошибка?

--------------------------------------
Категория: --- Visual Basic 5.0/6.0

Отвечает: Алексей Немиро // 21.07.2007 / 07:04

Здравствуйте, Тарас!

Специально для вас накатал небольшой, но интересный пример :)

Создайте стандартный EXE-проект и просто вставьте ниже следующий код:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
Option Explicit
'Пример динамического создания контролов VB 6.0
'Автор примера: Немиро Алексей, 21 июля 2007 года
'Специально для проекта Kbyte.Ru (http://kbyte.ru)
'Copyright (c) Nemiro AS, 2007
'mailto:admin@kbyte.ru

'регистрируем обработчик событий для кнопки - cmdRefresh
Private WithEvents cmdRefresh As CommandButton

Private Sub Form_Load()
 'подгоняем размер формы
 Form1.Width = 6000
 Form1.Height = 4000

 'добавляем надпись - Label
 Form1.Controls.Add "VB.Label", "Label1"
 With Form1!Label1
  .Top = 120
  .Left = 120
  .AutoSize = True
  .Caption = "Введите число:"
  .Visible = True
 End With

 'Добавляем текстовое поля для ввода чисел
 Form1.Controls.Add "VB.TextBox", "txtNum"
 With Form1!txtNum
  .Top = 120
  .Left = Form1!Label1.Width + Form1!Label1.Left + 120
  .Height = 300
  .Width = 500
  .Text = 0
  .Visible = True
 End With

 'Добавляем кнопку
 Set cmdRefresh = Controls.Add("VB.CommandButton", "cmdRefresh")
 With Form1!cmdRefresh
  .Top = 120
  .Left = Form1!txtNum.Width + Form1!txtNum.Left + 120
  .Height = 320
  .Width = 1200
  .Caption = "Обновить"
  .Visible = True
 End With
 
End Sub

'Обработчик нажатия динамической кнопки
Private Sub cmdRefresh_Click()
 Dim i As Long
 If Not IsNumeric(Form1!txtNum.Text) Then MsgBox "Допускаются только числа!", vbExclamation: Exit Sub

 'удаляем все контролы с именем txtArr
g:
 For i = 0 To Form1.Controls.Count - 1
  If Left(Form1.Controls(i).Name, 6) = "txtArr" Then
  Form1.Controls.Remove Form1.Controls(i).Name
  GoTo g
  End If
 Next i

 'Добавляем указанное количество текстовых полей
 For i = 0 To CLng(Form1!txtNum.Text)
  Dim sName As String
  sName = "txtArr" & i
  Form1.Controls.Add "VB.TextBox", sName
  With Form1.Controls(Form1.Controls.Count - 1)
   .Top = Form1.Controls(Form1.Controls.Count - 2).Height + Form1.Controls(Form1.Controls.Count - 2).Top + 20
   .Left = 120
   .Height = 300
   .Width = 1200
   .Text = "поле " & i
   .Visible = True
  End With
 Next i

End Sub



--
С наилучшими пожеланиями,
Немиро Алексей

Отвечает: Алексей Немиро // 21.07.2007 / 07:20

Dim i As Integer
Dim n As Integer
n = text1.text
For i=0 to n
text(n).visible = true
next


Если text - это массив текстовых полей, то n должен быть равен UBound(text) - 1
Для работы с массивами элементов управления, также можно использовать операторы Load и Unload:
001:
002:
003:
Load Text(UBound(Text))
Text(UBound(Text) - 1).Text = "заходи на http://kbyte.ru!"
Text(UBound(Text) - 1).Visible = True

или
001:
002:
003:
004:
005:
If UBound(Text) > 1 Then
For i = 1 To UBound(Text)
 Unload Text(i)
Next i
End If

или
001:
002:
003:
004:
005:
006:
007:
Dim i As Long
For i = 0 To 100
 Load Text(UBound(Text))
 Text(UBound(Text) - 1).Text = "текстовое поле #" & i
 Text(UBound(Text) - 1).Left = Text(UBound(Text) - 2).Left + Text(UBound(Text) - 1).Width + 20
 Text(UBound(Text) - 1).Visible = True
Next i

и т.д. и т.п.

--
С наилучшими пожеланиями,
Немиро Алексей

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

Вопрос по Авторизации | Автор: Kolya007
Добавлено: 03.08.2007 / 08:42 | ответов: 18 | просмотров: 171

1) Как её организовать на сайте?..
2) Как проверить авторизован ли пользователь?..
3) см. 2 вопрос... Как работать с Кукисами и без них?
4) О подводных камнях прошу заранее...))
5) Желательно примеры кодов...))

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Bille Gates
Добавлено:03.08.2007 / 09:45
membership - это встроенная система для авторизации регистрации проверки куков и проверки авторизации...
С ней я не работал... Т.к. до конца не разобрался, и не нравится мне что там в пароль обязательно вписывать хотя бы 1 знак(не цифру, и не букву а знак) например #
Пока я с этим разобрался, отпало всякое желание учить эту систему... :D

По этому делай класс... смотри универсальные коды чтобы узнать как работать с куками, для запоминания пользователя используй сессии(Session)
все для создания авторизации ты можешь найти и на форуме... я в свое время тоже спрашивал... ;) А свой код наверняка тебе никто не даст... ибо если у каждого одинаково, то хаккерам работать не придется :D + Многие наверняка используют свою авторизацию в коммерческих проектах, а значит им за неё платят, и им не выгодно давать код просто-так... а делать класс авторизации как пример не хочется могу только написать каркас:


001:
002:
003:
004:
005:
006:
007:
008:
009:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If (Session("Status") IsNot "Off") Then 'проверили статус авторизации человека на сайте... если авторизован, то:
            If (Request.Cookies("Test")("Login").ToString IsNot Nothing) Then ' проверяем на наличие куков(они должны быть зашифрованы для безопасности)
'далее идет расшифровка(твой код)
'потом запись в сессии
Session("Login") = Log
Session("Password") = Pass
Session("Status") = "on"
'Все дальше только твой код...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: EROS
Добавлено:03.08.2007 / 15:44
и не нравится мне что там в пароль обязательно вписывать хотя бы 1 знак(не цифру, и не букву а знак) например #

глупости....

membership - это просто обалденная система!! И кроме нее вообще нифига не надо!! Она все делает сама..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:03.08.2007 / 15:56
membership

не пугайте человека, вопрос по классическому ASP :)
Session и не более того.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Kolya007
Добавлено:04.08.2007 / 06:03
Так, кукисы будут получать имя рандомно и их имена будут записываться в БД...
Вопрос: Как, в случае если пользователь удалит кукисы, мне их восстановить, когда он авторизуется на сайте?..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:04.08.2007 / 07:12
Так, кукисы будут получать имя рандомно и их имена будут записываться в БД...

зачем?

Вопрос: Как, в случае если пользователь удалит кукисы, мне их восстановить, когда он авторизуется на сайте?..

Просто проверяешь их, когда пользователь приходит на сайте, если куков
нет, то ставишь новые.

001:
002:
003:
004:
005:
006:
007:
008:
If Request.Cookies("Kbyte.Ru")("UserName") = "" Then
 'куков нет, ставим новые
 Response.Cookies("Kbyte.Ru")("UserName") = "Вася Пупкин"
 Response.Cookies("Kbyte.Ru").Expires = DateAdd("yyyy", 1, Date)
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


удалять также:
001:
002:
003:
004:
005:
Response.Cookies("Kbyte.Ru")("UserName") = ""
Response.Cookies("Kbyte.Ru").Expires = DateAdd("yyyy", -1, Date)

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Kolya007
Добавлено:04.08.2007 / 07:20
Понятно...
Про шифровку кукисов можно подробнее...))

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 7 | Автор: Алексей
Добавлено:04.08.2007 / 07:30
Шифрование в классическом ASP видимо придется изобретать свое :)

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 8 | Автор: Kolya007
Добавлено:04.08.2007 / 07:38
Отдельным файлом это возможно будет сделать?..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 9 | Автор: Kolya007
Добавлено:04.08.2007 / 07:49
Кстати, как развернуть слово(строку)?..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 10 | Автор: Kolya007
Добавлено:04.08.2007 / 08:17
Для авторизации я использую Private Sub по имени кнопки на событие клик... Т.е. Private Sub In_Click и Private Sub Out_Click, при этом имена кнопок соответственно In и Out... Как мне сделать чтобы при нажатии кнопки, срабатывал соответствующий Private Sub?..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 11 | Автор: EROS
Добавлено:04.08.2007 / 08:45
Если речь идет о классическом ASP, тогда сорри... разумеется, MembershipProvider тут никаким боком не поможет..

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 12 | Автор: Алексей
Добавлено:04.08.2007 / 11:04
Для авторизации я использую Private Sub по имени кнопки на событие клик... Т.е. Private Sub In_Click и Private Sub Out_Click, при этом имена кнопок соответственно In и Out... Как мне сделать чтобы при нажатии кнопки, срабатывал соответствующий Private Sub?..

:) Смотри по имени кнопки в Request:
001:
002:
003:
004:
If Request("In") Then In_Click

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

либо создай поле hidden и при помощи JavaScript, когда пользователь
нажимает на кнопку, изменяй его значение, в зависимости от кнопки, на
которую нажал юзер, например:
<input type="hidden" id="myEvent" value="" />
<input type="button" id="btnOk" value="Ok" onclick="document.forms[0].myEvent.value = 'btnOk_Click'" />
<input type="button" id="btnNo" value="Неа" onclick="document.forms[0].myEvent.value = 'btnNo_Click'" />
<input type="button" id="btnYes" value="Угу" onclick="document.forms[0].myEvent.value = 'btnYes_Click'" />
ну а дальше просто проверяй значение myEvent через Request.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 13 | Автор: Алексей
Добавлено:04.08.2007 / 11:05
Кстати, как развернуть слово(строку)?..

Если мне не изменяет память - StrReverse :) В справочнике VB 6.0
есть список всех функций, в том числе и по развороту строк.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 14 | Автор: Алексей
Добавлено:04.08.2007 / 11:06
Отдельным файлом это возможно будет сделать?..

Что именно?

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 15 | Автор: Kolya007
Добавлено:04.08.2007 / 12:20
Что именно?

Шифрование...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 16 | Автор: Алексей
Добавлено:04.08.2007 / 14:14
Все, что угодно :) пихай все необходимые функции в один файл, а потом
этот файл инклудь на страницу, на которой хочешь использовать эти
функции, и все..

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 17 | Автор: Kolya007
Добавлено:05.08.2007 / 01:10
Алексей, чего у меня нехватает для того, чтобы авторизация работала?.. См. архив...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 18 | Автор: Алексей
Добавлено:05.08.2007 / 06:00
"SELECT * FROM members WHERE login='" & Request("login") & "'"

SQL Injection

Session("Status") = "on"

Вот это в приципе не надо, только зря память занимает, можно проверять
по любому другому параметру. Например:
001:
002:
003:
004:
005:
006:
007:
008:
If Not Session("user") = "" Then
 есть сессия
Else
 нет сессии
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


Для выхода лучше очистить все параметры сессии:
Session("Login") = ""
Session("Password") = ""
Session("user") = ""
Ну и:
Session.Abandon

001:
002:
003:
004:
005:
006:
007:
008:
009:
Private Sub Out_Click()
Session("Status") = "Off"
Response.Redirect("/index.asp")
End Sub
End If
End If

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

прикольный код :) он вообще работает?
Целый Sub в двух уловиях стоит (!)
Выше тоже Sub в условиях :)

Response.Cookies("star_defenders")("user") = user_t

Это, наверное, лишнее, так как есть логин и пароль. Хотя проверку
куков я так и не увидел, должно быть примерно так:
1. Если нет Сессии, значит юзер не авторизирован
1.1. Проверяем куки (логин и пароль)
1.1.1. Куки есть, проверям в базе данных указанный в куках логин и пароль
1.1.1.1. Все нормально, создаем сессию, переписываем куки
1.1.1.2. Юзер не найден, показываем форму входа
1.1.2. Куков нет, показываем форму входа
1.2. Юзер вводит логин и пароль.
1.2.1. Проверяем в БД
1.2.1.1. Все сходится, создаем сессию, пишим куки, показываем приветсвие
1.2.1.2. Юзер не найден, показываем сообщение об ошибке.
2. Сессия есть, показываем сообщение с приветсвием.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Вопрос по IIS... | Автор: Kolya007
Добавлено: 02.08.2007 / 05:39 | ответов: 4 | просмотров: 61

Как мне сделать, что бы IIS не кэшировал старницы?..
А то из-за этого небольшие проблемы...

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:02.08.2007 / 05:45
В самом верху:
001:
002:
003:
004:
005:
006:
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1
adOpenStatic = 3
%>


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Kolya007
Добавлено:02.08.2007 / 08:44
А в самом IIS это можно убрать?.. Спрашиваю на всякий случай...

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:02.08.2007 / 09:02
хз, наверное, если только заголовки прописать..

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Kolya007
Добавлено:02.08.2007 / 10:12
Спасибо...))

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ошибка при обновлении в Гриде | Автор: Буба Касторский
Добавлено: 01.08.2007 / 16:34 | ответов: 3 | просмотров: 57

в ГридВью поле marka_avto сделал TemplateField. Затем в EditItemTemplate, вместо TextBoxа по умолчания, поставил DropDownList1, чтобы марку авто можно было не вводить, а выбирать. В ПравкаDataBindings DropDownList1а свойству SelectedValue прописал BIND("marka_avto"). В ПравкаЭлементов прописал марки авто. При редактировании - по нажатию на кн.ПРАВКА на GridView - появляется ошибка: "DropDownList1 имеет SelectedValue, что недопустимо, тк этот элемент не существует в списке элементов. Имя параметра: value" Где не существует этот ДропДаунЛист?? где мне его прописать???
вот код:
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False" BackColor="White"
BorderColor="#3366CC" Borderstyle=""None"" BorderWidth="1px" CellPadding="4" DataKeyNames="kod_fio"
DataSourceID="SqlDataSource2" AllowSorting="True">
<FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
<Columns>
<asp:CommandField ShowDeleteButton="True" />
<asp:CommandField ShowEditButton="True" />
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="kod_fio" HeaderText="kod_fio" InsertVisible="False" ReadOnly="True"
SortExpression="kod_fio" />
<asp:BoundField DataField="fio" HeaderText="fio" SortExpression="fio" />
<asp:TemplateField HeaderText="tel" SortExpression="tel" ConvertEmptyStringToNull="False">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server"
Width="133px" SelectedValue='<%# Bind("tel") %>'>
<asp:ListItem>99-99-99</asp:ListItem>
<asp:ListItem>88-88-88</asp:ListItem>
<asp:ListItem>77-77-77</asp:ListItem>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("tel") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor="White" ForeColor="#003399" />
<SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
<PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
<HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
</asp:GridView>
как исправить эту ошибку?? где чего подправить ?? где и что прпописать, указать??

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:02.08.2007 / 11:14
Не совсем понятная логика..

001:
002:
<asp:DropDownList ID="DropDownList1" runat="server"
Width="133px" SelectedValue='<%# Bind("tel") %>'>

Вот это не правильно. Если требуется заполнить DropDownList из БД, то
у него есть свойства DataTextField и DataValueField, в которых
указываются имена колонок, из которых будут браться данные.
Если требуется выбрать строку в уже заполненном DropDownList, то
во-первых, надо снять выбор с того, что уже выбрано:
001:
002:
003:
004:
005:
006:
if (DropDownList1.SelectedIndex >= 0) {
 DropDownList1.Items[DropDownList1.SelectedIndex].Selected = false;
}

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

ну а дальше, циклом пролистать все эти Items и выбрать нужный:
001:
002:
003:
004:
005:
006:
007:
008:
009:
for (int i = 0; i <= DropDownList1.Items.Count - 1; i++){
 if (DropDownList1.Items[i].Value = "Что-то такое") {
  DropDownList1.Items[i].Selected = true;
  break;
 }
}

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Алексей
Добавлено:02.08.2007 / 11:18
во второй строке, в последнем примере, в условии два символа равно (==) должно быть.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Буба Касторский
Добавлено:02.08.2007 / 15:42
нет, ДропДаунЛист я заполняю не из БД. Я его ручками заполняю, выбрав свойство ...Item. Открылось окно. Кн ADD подабавлял Итэмы, переименовал как мне надо (по умолч Итэм1, Итеэм2 и тд). Те программно я нигде ничего не заполняю.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Нужна видюха, порекомендуйте | Автор: Алексей
Добавлено: 01.08.2007 / 10:55 | ответов: 6 | просмотров: 69

Нужна нормальная видюха ценой не более 4k-4.5k руб.
PCI-E, Желательно с 512 метрами памяти. Что порекомендуете?

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: BiT
Добавлено:01.08.2007 / 13:09
PCI Express Asustek EN7600GT/2DHT, Geforce 7600GT

Помоему идут как с 256 так и с 512, ни че так карточки - получе чем 7600GS

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Алексей
Добавлено:01.08.2007 / 13:32
PCI Express Asustek EN7600GT/2DHT, Geforce 7600GT

Посмотрел в местном прайсе:
Видеокарта PCI-E Asus GeForce 7600GT 256MB DDR [EN7600GT/2DHT] DVI
TV-Out - 4 609 руб, но в данный момент ее нет..

Помоему идут как с 256 так и с 512, ни че так карточки - получе чем 7600GS

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

Есть Sapphire, что про них скажите?

Вот еще есть какой-то Palit:

Видеокарта PCI-E Palit GeForce 8600GT 256MB DDR3 [NE/8600T+T321] DVI TV-Out


смотрится стремно, но характеристики вроде бы ничего:

Чип GeForce 8600 GT
Кол-во процессоров 32 (работают на удвоенной частоте)
Поддержка API DirectX 10, OpenGL 2.0[/b]
Порты 2 выхода DVI-I

и цена около 4k рубасов.

у nVidea есть карточка:

Видеокарта PCI-E Geforce 7600GS 512MB DDR2 DVI TV-Out


характеристики, естественно хуже, но и цена на 1k меньше :)

фиг знает что брать, хоть

Видеокарта PCI-E Asus GeForce 7300GT 256MB DDR [EN7300GT/SILENT/HTD] DVI TV-Out



или GS..

вот еще есть

Видеокарта PCI-E Asus GeForce 8500GT 512MB 128-bit DDR-2 [EN8500GTSILENT/HTD/512M] DVI TV-Out



_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Bille Gates
Добавлено:01.08.2007 / 13:41
http://rostov-don.polaris.ru/descriptions/18/r335860.html

у меня такая... ничего не тормозит... на примере игры S.T.A.L.K.E.R вся графика по максимуму, тормаза наблюдаются, но жить можно, если уменьшить графику на 1.5 примерно то тормозов ваабще нет, или если убрать HDR то тормоза на макс графике улетучиваются ;)
Test Drive: Unlimited не тормозит совершенно при максимальной графике с 1280 X 1024 и HDR

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Алексей
Добавлено:01.08.2007 / 13:54

Видеокарта PCI-E Sapphire ATI Radeon X1950 Pro 256MB GDDR3 DVI TV-Out


есть у нас такая, всего 4 299 руб.

Вот вопрос по этой карте:
Технические характеристики этого решения позволяют использовать игровые приложения класса не выше SM 3.0 с приемлемым уровнем быстродействия при высоких установках графики

что за SM 3.0 класс такой?

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Bille Gates
Добавлено:01.08.2007 / 14:31
это шейдеры версии 3 (класса 3)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 6 | Автор: Алексей
Добавлено:02.08.2007 / 07:11
Продолжим тему :) Но на этот раз речь пойдет о Блоках Питания.
Какие порекомендуете?

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Будни программиста (!всем смотреть!) | Автор: Алексей
Добавлено: 01.08.2007 / 09:50 | ответов: 1 | просмотров: 43

см. аттач

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: LeX
Добавлено:03.08.2007 / 09:26
:D Да... такое часто бывает :)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 284

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 654

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 112

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

Выбор языка программирования для научных работ (2-я редакция)
Автор: Юдин С. Ю. | добавлено: 15.03.2007 / 02:49 | просмотров: 1768

Идея написания этой статьи возникла после того, как на одном из сайтов по физике http://physics.nad.ru/aniboard/messages/291.html я обнаружил интересный алгоритм моделирования движения тела в поле постоянной напряженности по различным направляющим. Вернее, меня заинтересовал не весь алгоритм, т.к. основа их всех одна (принцип Даламбера, если не считать квазиалгоритма с применением уравнений Лагранжа 2-го рода) и различаются они только способом определения реакций в месте соприкосновения тел. ...

Работаем с MIME
Автор: Немиро Алексей | добавлено: 29.11.2006 / 14:46 | просмотров: 1706

Не так давно мне пришлось немного поработать MIME (Multipurpose Internet Mail Extension) - это стандарт почтовых сообщений, в РуНете (Russian Internet) я не нашел нормального описания спецификации MIME, и посему решил написать небольшую статейку на эту тему. В данной статье вы узнаете об основных особенностях и стандартах MIME, а также научитесь «читать» MIME с использованием синтаксиса языка Visual Basic .NET 2005.

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Как «залить» форму определенным фоном?
Дата добавления: 31.07.2006 / 12:09 | просмотров: 495 | платформа: VB

Как перевести посетителя на другую страницу?
Дата добавления: 31.07.2006 / 14:37 | просмотров: 389 | платформа: ASP .NET (VB)

Поиск и замена
Дата добавления: 16.08.2006 / 18:54 | просмотров: 627 | платформа: VB

Как узнать, в какой папке находится приложение?
Дата добавления: 01.08.2006 / 20:29 | просмотров: 387 | платформа: VB

Как переключиться в любое окно?
Дата добавления: 31.07.2006 / 12:51 | просмотров: 539 | платформа: VB

Преобразование строки в Double, исключая проблемы с разделителем
Дата добавления: 27.04.2007 / 15:53 | просмотров: 246 | платформа: VB .NET

Проверить корректность E-Mail (стандартный способ)
Дата добавления: 21.08.2006 / 20:23 | просмотров: 603 | платформа: ASP .NET (VB)

Как преобразовать десятичное число в бинарное?
Дата добавления: 16.08.2006 / 20:32 | просмотров: 531 | платформа: VB

Как добавить новые данные в базу данных?
Дата добавления: 31.07.2006 / 12:49 | просмотров: 590 | платформа: VB

Как прочитать текстовой файл?
Дата добавления: 01.08.2006 / 11:24 | просмотров: 662 | платформа: ASP

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

Сын спрашивает у матери одиночки:
- Мама, мама, а кто мой папа?
- Дед Мороз! - зло отвечает мама.
- Как это? - удивляется мальчик.
- Пришёл ночью, сделал подарок и больше его никто не видел.

 

Рейтинг: 42
Всего голосов: 68
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Зима. Замеpзший водоем. Hа лед выходит любитель подледного лова и пpистpаивается бypить лyнкy, как вдpyг откyда-то свеpхy гpомовой голос:
- МУЖИК! ЗДЕСЬ РЫБЫ HЕТ!!!
Мyжик огляделся - кpyгом никого. Плечами пожал, отошел метpов на сто, и опять свеpлить.
- МУЖИК!!! ЗДЕСЬ РЫБЫ HЕТ!!!!!
И опять кpyгом никого. Hy мyжик еще подальше отошел...
- МУЖИК!!!!!! Я ТЕ СКАЗАЛ - HЕТ ЗДЕСЬ РЫБЫ!!!!!!!!!!!!!
Мyжик не выдеpжал и обpатя взоp небy вскpичал:
- Да кто это говоpит?!!!
- КТО,КТО! ДИРЕКТОР КАТКА!!!

 

Рейтинг: 18
Всего голосов: 30
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Михал Ефремович, а как вы намерены бороться с этими, как их там, зарплатами в конвертах?
- Да нет ничего проще, Владимир Владимирович, запретим конверты!

 

Рейтинг: 808
Всего голосов: 1134
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Едет программист и водитель. Вдруг машина останавливается и дальше ну никак не едет. Водитель и так, и эдак... Программист и советует:
- А вы закройте лишние окна. Поможет...

 

Рейтинг: 41
Всего голосов: 71
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- А правда, что Билл Гейтс - самый известный человек не Земле?
- Нет, самый знаменитый человек - его мать, её вспоминают чаще.

 

Рейтинг: 48
Всего голосов: 80
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Почему в Чернобыле грибы нельзя собирать? - разбегаются!
А почему их грибники догнать не могут? - грибы их издалека видят - грибники светятся....

 

Рейтинг: 50
Всего голосов: 76
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Играю в DOOM по переписке.

 

Рейтинг: 52
Всего голосов: 83
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Рабинович узнал о возвращении Гагарина на Землю:
- Вылететь из Советского Союза, облететь вокруг земли - и все это для того, чтобы снова вернуться!

 

Рейтинг: 293
Всего голосов: 436
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Дедушка, а правда, что в Ленинграде во время блокады
хлеба не было?
- Да, внучек, правда. Масло на колбасу мазали.

 

Рейтинг: 12
Всего голосов: 20
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Урок русского языка. Учительница спрашивает детей привести пример на окончание -тся. Отвечает Маша: "Мама стирается."
Учитель: "Садись. Пять."
Отвечает Петя:" Файл копируется."
Учитель:"Садись. Пять. Ну а Вовочка твой пример?"
Вовочка:"Корова залезла на дерево."
Учитель:"Ну и что?"
Вовочка:"Сейчас на@бн%тся!"

 

Рейтинг: 12
Всего голосов: 20
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное