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

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


Выпуск # 640

Очередной выпуск рассылки! За последнее время на сайте произошло столько всего, столько всего, что все просто не уместилось в этот выпуск! Но ничего, ведь вы всегда можете ознакомиться со всеми обновлениями непосредственно посетив сайт. Кстати, помимо изменения в содержании Kbyte.Ru, появлении новых интересных материалов, проект постоянно совершенствуется технически, и вы можете принять в этом непосредственное участие, присылая свои идеи и предложения.
Надеюсь, этот выпуск будет интересен для вас. Если вы хотите увидеть в следующих выпусках что-то конкретное, напишите мне об этом на ящик subscribe@kbyte.ru.


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

Читайте в этом выпуске:

Если у вас есть вопросы по программированию или работе с компьютером, не стесняйтесь, спрашивайте.

Форумы Kbyte.Ru

На форумах Kbyte.Ru постоянно появляются новые интересные темы и обсуждения. В этом выпуске представлены лишь новые темы, с момента прошлой рассылки.

Кстати, любой желающий может на форумах Kbyte.Ru совершенно свободно получить помощь грамотных специалистов в области программирования, да и в целом информационных технологий.

Задать свой вопрос прямо сейчас

Пытаюсь сделать код, который будет отсылать специальную верификационную ссылку (от ботов)
При запуске на выполнение выдаёт ошибку:
Ошибка сервера в приложении '/'.
--------------------------------------------------------------------------------

Ошибка компиляции
Описание: Ошибка во время компиляции ресурса, необходимого для обслуживания этого запроса. Просмотрите следующие сведения о данной ошибке и измените соответственно исходный код.

Сообщение об ошибке компилятора: CS0234: Имя типа или пространства имен 'VerificationModels' отсутствует в пространстве имен 'MySite.Models' (пропущена ссылка на сборку?)

Ошибка источника:



Строка 134:
Строка 135: [System.Runtime.CompilerServices.CompilerGlobalScopeAttribute()]
Строка 136: public class views_accountverification_create_aspx : System.Web.Mvc.ViewPage<MySite.Models.VerificationModels>, System.Web.SessionState.IRequiresSessionState, System.Web.IHttpHandler {
Строка 137:
Строка 138: private static bool @__initialized;


Исходный файл: c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\root\da0d6f46\31bd4c37\App_Web_create.aspx.cc78e830.-7_edqpe.0.cs Строка: 136

--------------------------------------------------------------------------------
Информация о версии: Платформа Microsoft .NET Framework, версия:2.0.50727.4959; ASP.NET, версия:2.0.50727.4955
Код прилагается. Что я не так делаю? Спасибо.

[- к содержанию -]

Ответ #2 @Aleksey Nemiro 25.04.2011 11:34
У меня подобных ошибок нет, запустил без проблем с первого раза.
Зря используешь IIS, в процессе разработки и без того глючная Visual Studio 2010 будет глючить с IIS еще больше. Я запускал без IIS, он у меня по-моему вообще не установлен :-)

Проще всего для подтверждения регистрации (точнее для подтверждения e-mail) использовать GUID. У тебя используется стандартный мембершип, в нем, если мне не изменяет память, идентификатор пользователей как раз таки является uniquidentifier (guid).

А от ботов помогает каптча.

[- к содержанию -]

Добавить свой ответ в эту тему
Хочу сделать плеер, но смог найти коды только на VB6, вот в чем и вопрос, как воспроизвести и остановить mp3 файл в VB.net?

[- к содержанию -]

Добавить свой ответ в эту тему
Не можете подсказать как сделать так чтобы VisualBasic Net произвел расчет формулы вида (задана как текстовый параметр):
12^(-2)*x^9+12^(-4)*x^8 и т.п.

Где Х конечно же какое то число.
Подстановку числа в формулу сделать не сложно, но как сделать чтобы он это считал?

Находил несколько парсеров, с одним не смог разобраться как работать, а второй считает с ошибкой (порядок расчетов и знаки минус плохо считает)



P.S. сам слабоват в порграммировании, парсеры написать не смогу сам :(

[- к содержанию -]

Ответ #2 @miki2343 24.04.2011 14:42
Прошу прощения забыл сказать где это будет использоваться и примерная строка. Использоваться это будет при построении графика (точек около 100 и выше).

Формулка у меня не маленькая, даже очень не маленькая. Вот один из ее видов (это тарировка прибора по научной работе :) ):
(1.5755632*10^ (-25)) * X^8-(6.4676145*10^(-22))*X^7+(1.087097*10^(-18))*X^6-(9.6082057*10^(-16))*X^5+(4.7617623*10^(-13))*X^4-(1.301162*10^(-10))*X^3+(1.7611007*10^(-8))*X^2+(4.8411282*10^(-7))*X+(1.3951399*10^(-5))

А так конечно работает этот метод и спасибо огромное (только очень долго). Еще, кстати находил методы работы с экселем, но тоже скорость мала и привязка к экселю не радует.

[- к содержанию -]

Ответ #3 @Aleksey Nemiro 24.04.2011 14:54
Использоваться это будет при построении графика (точек около 100 и выше).
Можно просто всю сотню (или больше) передать в виртуальную функцию, будет работать быстрее, чем считать по одной.

[- к содержанию -]

Ответ #4 @miki2343 24.04.2011 15:00
а можете подсказать как? сейчас эта, так скажем, сотня находится в массиве с N элементов (правда массив здесь двумерный, но это не суть)

[- к содержанию -]

Ответ #5 @Aleksey Nemiro 24.04.2011 15:09
Примерно так:
Imports System.Reflection 
Imports System.CodeDom.Compiler 
 
Public Class Form1 
 
 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
 Dim myCode As CodeDomProvider = CodeDomProvider.CreateProvider("VB") 
 Dim myPar As New CompilerParameters() 
 'формируем виртуальный класс, в котором будет производиться расчет 
 Dim myCodeBody As New System.Text.StringBuilder() 
 myCodeBody.AppendLine("Public Class MyCalculator") 
 myCodeBody.AppendLine("Public Function Calc() As System.Collections.Generic.List(Of Double)") 
 myCodeBody.AppendLine("Dim result As New System.Collections.Generic.List(Of Double)") 'коллекция с результатами 
 'создаем 100 точек со случайными значениями 
 Dim r As New Random() 
 For i As Integer = 0 To 99 
  Dim x As Double = r.Next(0, 1000)'значение переменной икс выбираем случайно в интервале от 0 до 1000 
  myCodeBody.AppendLine(String.Format("result.Add({0})", TextBox1.Text.ToLower().Replace("x", x).Replace(",", ".")))'добавляем в нашу функцию формулу с заменой икса 
 Next 
 myCodeBody.AppendLine("Return result") 'возвращаем результат 
 myCodeBody.AppendLine("End Function") 
 myCodeBody.AppendLine("End Class") 
 'компилируем 
 Dim myResult As CompilerResults = myCode.CompileAssemblyFromSource(myPar, myCodeBody.ToString()) 
 If myResult.Errors.HasErrors Then 
  'какие-то ошибки 
  For i As Integer = 0 To myResult.Errors.Count - 1 
  ListBox1.Items.Insert(0, myResult.Errors(i).ErrorText) 
  Next 
  Return 
 End If 
 'ошибок нет, выдергиваем наш класс 
 Dim myAsm As Assembly = myResult.CompiledAssembly() 
 Dim myCls As Object = myAsm.CreateInstance("MyCalculator", True) 
 'получаем результат 
 Dim result As System.Collections.Generic.List(Of Double) = myCls.Calc() 
 'выводим результат 
 For Each rp As Double In result 
  ListBox1.Items.Insert(0, rp) 
 Next 
 End Sub 
 
End Class

[- к содержанию -]

Добавить свой ответ в эту тему · В теме есть еще 6 ответов. Смотреть все ответы.

Все темы и обсуждения

Исходные коды

Воспроизведение mp3 с использованием DirectX

Visual Basic .NET: Звук @Интернет 25.04.2011 11:48
Пример проигрывания mp3-файлов на Visual Basic .NET с использованием Microsoft.DirectX.AudioVideoPl ayback.Audio.
Dim WithEvents PLR As Microsoft.DirectX.AudioVideoPlayback.Audio
  
'Кнопка для выбора mp3-файла 
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
        Using FBD As New OpenFileDialog 
            With FBD 
                .Filter = "Аудио|*.mp3" 
                .Multiselect = True 
                .InitialDirectory = My.Computer.FileSystem.SpecialDirectories.Desktop 
            End With 
            If FBD.ShowDialog = Windows.Forms.DialogResult.OK Then 
                If MsgBox("Очистить список предварительно?", MsgBoxStyle.OkCancel Or MsgBoxStyle.Question) = MsgBoxResult.Ok Then 
                    Me.ListBox1.ClearSelected() 
                    Me.ListBox1.Items.AddRange(FBD.FileNames) 
                Else 
                    Me.ListBox1.Items.AddRange(FBD.FileNames) 
                End If 
            End If 
        End Using 
End Sub 
  
'кнопка воспроизведения mp3-файла 
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click 
        If PLR Is Nothing = False Then PLR.Stop() 
        PLR = New Microsoft.DirectX.AudioVideoPlayback.Audio(Me.ListBox1.SelectedItem) 
        PLR.Play() 
        Me.HScrollBar1.Maximum = PLR.Duration 
End Sub 
 
'пауза  
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click 
        PLR.Pause() 
End Sub 
  
'остановка 
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click 
        PLR.Stop() 
End Sub

[- к содержанию -]

MP3-плеер

Visual Basic .NET: Звук @Southampton Solent University 25.04.2011 11:39
Реализация MP3-плеера на Visual Basic .NET с использованием Windows Media Player.

К данном исходному коду прилагаются файлы примеров. Скачать.

[- к содержанию -]

Решатель

Visual Basic .NET: Числа, математика, финансы @Алексей Немиро 24.04.2011 14:07
Небольшая программка - решатель математических формул. В программе два текстовых поля, в одно вводится формула с неизвестным X (икс), во второе поле вводится значение X. После нажатия на кнопку, производится расчет формулы. Формула может быть любой. Программа создает динамический класс с функцией расчета и вставляет в него формулу, компилирует его на лету и возвращает результат. В формуле должны использоваться операторы VB, однако можно легко расширить функционал программы.
Imports System.Reflection 
Imports System.CodeDom.Compiler 
 
Public Class Form1 
 
  Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click 
    Dim myCode As CodeDomProvider = CodeDomProvider.CreateProvider("VB") 
    Dim myPar As New CompilerParameters() 
    'формируем виртуальный класс, в котором будет производиться расчет 
    Dim myCodeBody As New System.Text.StringBuilder() 
    myCodeBody.AppendLine("Public Class MyCalculator") 
    myCodeBody.AppendLine("Public Function Calc() As Double") 
    'TextBox1.Text.ToLower().Replace("x", TextBox2.Text) - меняем икс в формуле (TextBox1) на число указанное в TextBox2 
    '.Replace(",", ".") - меняем запятые на точки, т.к. в VB в качестве десятичного разделителя используются точки 
    myCodeBody.AppendLine(String.Format("Return {0}", TextBox1.Text.ToLower().Replace("x", TextBox2.Text).Replace(",", "."))) 
    myCodeBody.AppendLine("End Function") 
    myCodeBody.AppendLine("End Class") 
    'компилируем 
    Dim myResult As CompilerResults = myCode.CompileAssemblyFromSource(myPar, myCodeBody.ToString()) 
    If myResult.Errors.HasErrors Then 
      'какие-то ошибки 
      For i As Integer = 0 To myResult.Errors.Count - 1 
        ListBox1.Items.Insert(0, myResult.Errors(i).ErrorText) 
      Next 
      Return 
    End If 
    'ошибок нет, выдергиваем наш класс 
    Dim myAsm As Assembly = myResult.CompiledAssembly() 
    Dim myCls As Object = myAsm.CreateInstance("MyCalculator", True) 
    'выводим результат 
    ListBox1.Items.Insert(0, TextBox1.Text.ToLower().Replace("x", TextBox2.Text) & " = " & myCls.Calc()) 
  End Sub 
 
End Class

К данном исходному коду прилагаются файлы примеров. Скачать.

[- к содержанию -]

Все исходные коды

Вакансии в IT

Инженер Oracle

Россия, Москва | Работа в офисе

Системный администратор

Россия, Москва | Работа в офисе | 55 000.00 RUB

Программист C# / MSSQL

Россия, Москва | Работа в офисе | 100 000.00 EUR

Инженер-программист С++/С#

Россия, Нижний Новгород | Работа в офисе

Web-программист (студент)

Россия, Москва | Работа в офисе | 75 000.00 RUB

Tестировщик

Россия, Москва | Работа в офисе | 40 000.00 RUB

Системный администратор UNIX

Россия, Санкт-Петербург | Работа в офисе | 80 000.00 RUB

Разработчик клиентских WEB-приложений под Android на языке Java

Россия, Самара | Работа в офисе | 50 000.00 RUB

Программист PHP

Россия, Санкт-Петербург | Работа в офисе | 60 000.00 RUB

Руководитель отдела разработки

Россия, Москва | Работа в офисе | 150 000.00 RUB

Все вакансии в IT · Создать резюме

[- к содержанию -]

Новости мира IT

На YouTube открыт собственный канал "Мосфильма"

Сегодня компания Google и киноконцерн «Мосфильм» объявили о подписании партнерского соглашения и запуске канала  Mosfilm на YouTube (http://www.youtube.com/mosfilm). Это первый в России партнерский канал YouTube, на котором пользователям будут постоянно доступны полнометражные картины. В других странах люди смогут увидеть киноленты Мосфильма с субтитрами.

На сегодняшний день на канале представлены 50 кинокартин. Каждую неделю Мосфильм будет загружать туда пять новых фильмов. К концу 2011 года на канале появятся более 200 кинолент в высоком разрешении.

28.04.2011 08:58 · Категория: Бизнес в IT · Источник: CyberSecurity.ru

[- к содержанию -]

Россия является основным генератором атакующего трафика - данные Akamai

Согласно последнему отчету компании Akamai, российский сегмент глобальной сети стал основным генератором атакующего трафика в мире. В Akamai пришли к выводу, что злонамеренный трафик, исходящий из России, представляет собой 10% всего зафиксированного глобального атакующего трафика. Немного отстает США - 7,3%, правда, компания отмечает, что доля США падает уже третий квартал подряд.

Дэвид Белсон, один из авторов отчета Akamai State of the Internet, говорит, что компания при составлении отчета смотрела на атаки на уровне конкретных адресов и портов, а не исследовала источники атак и их вероятных организаторов.

"Эти вещи подобны тому, как распространяются сетевые черви наподобие Conficker, как работают системы сканирования портов и различные эксплоиты", - говорит Белсон. По его словам, многие из атак, исходящих из России, представляют собой атаки по перебору паролей, попытки использования эксплоитов, о которых известно уже годами, а также попытки взлома систем SSH или FTP.

В компании говорят, что факт генерации в России значительных объемов атакующего трафика не обязательно говорит о том, что за данными атаками стоят русскоязычные операторы. "С нашей точки зрения, эти атаки просто берут свое начало в России, но мы просто исследуем IP-адреса. Вероятно, что реальные заказчики находятся где-то в других странах, а трафик лишь проксируется через российский сегмент", - говорит эксперт.

28.04.2011 08:56 · Категория: Безопасность · Источник: CyberSecurity.ru

[- к содержанию -]

Apple и Microsoft: мы не следим и не следили за пользователям

Компании Apple и Microsoft сегодня с разницей в несколько часов дали объяснения в отношении недавних обвинений о том, что все основные разработчики смартфонов оставляют для себя локационные данные о перемещениях смартфонов с привязкой ко времени и пространству.

В Microsoft говорят, что операционная система Windows Phone 7 собирает локационную информацию только в том случае, если пользователь это явно разрешает, причем сама ОС в каждом конкретном случае дает запрос на соответствующее действие. Также компания подтвердила, что локационные данные хранятся не в виде простых текстовых файлов, а в виде специальных данных Microsoft database.

Напомним, что на прошлой неделе в отношении компаний Microsoft, Apple и Google разразился скандал, причиной которого стал факт, что смартфоны на базе разработок указанных компаний тайно собирают данные о местоположении пользователей. В Google еще на прошлой неделе заявили, что все данные собираются с согласия пользователей, причем всегда получаемые сведения являются анонимными, то есть ни коем образом они не указывают на конкретного человека.

В Microsoft говорят, что они собирают и управляют базами данных местоположений с сотовых вышек и точек доступа WiFi, что позволяет предоставлять пользователям персональный контент, оптимизированный географически. Когда пользователей открывает приложение, работающее с локационными данными, Microsoft сравнивает точки доступа WiFi и получает служебную информацию от сотовых станций, чтобы на основе имеющихся данных получить приблизительную информацию о местоположении пользователя и выдать ему релевантный контент.

Сбор локационных данных, говорят в Microsoft, осуществляется двумя путями. Первый: группы людей собирают данные о работающих точках доступа, сравнивая эти данные с GPS. Другой способ заключается в том, что примерно те же сведения передают сами пользователи, так как их смартфоны также оснащены WiFi и GPS.

В Microsoft говорят, что собирают только ту локационную информацию, которая необходима для работы "ряда" приложений. Кроме того в корпорации заверяют, что с каждыми поступающими данными массиву присваивается уникальный случайный идентификатор, не указывающий на пользователя или устройство.

В Apple также говорят, что компания не занимается целенаправленным сбором данных о пользователях. По словам компании, система сбора локационной информации позволяет точнее определить, где находится человек и предоставить ему географически подходящие сведения.

Что касается злополучного файла, обнаруженного независимыми ИТ-специалистами, то в Apple говорят, что этот файл хранится в системе ровно год и само существование этого файла - софтверная ошибка. По словам представителей Apple, на практике хранить данные о том, где человек был год назад, нет никакого смысла. В компании отмечают, что считают актуальной информацию сроком до 7 дней.

Apple пообещала в будущем выпустить программное обновление, которое скроет указанный файл и ограничит срок хранения данных в нем одной неделей.

"Пользователи оказались в смущении, так как компания не предоставила достаточно справочной информации о системе определения местоположения", - заявил представитель компании.

28.04.2011 08:56 · Категория: Бизнес в IT · Источник: CyberSecurity.ru

[- к содержанию -]

Все новости


Подпишитесь на тематические RSS-ленты Kbyte.Ru, чтобы быть в курсе последних новостей:

Основная лента · Форумы (темы и сообщения) · Visual Basic 5.0/6.0 · Visual Basic .NET · C# (Си шарп) · Delphi · JavaScript · ActionScript · ASP .NET · ASP .NET MVC

Ищите Kbyte.Ru в социальных сетях FaceBook, ВКонтакте, Twitter.

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


Международный портал для программистов и разработчиков Kbyte.Ru основан в 2006 году. Целью портала является объединение программистов и специалистов IT-бизнеса, студентов и преподавателей для обмена опытом и знаниями, оказания помощи во всех делах и начинаниях в области IT.
Kbyte.Ru является парнёром компаний Mail.Ru Group, WebMoney Transfer, Ozon.Ru и др.
Выпуск рассылки подготовлен автоматически. Все права на материалы выпуска принадлежат Kbyte.Ru если иное не указано отдельно.


В избранное