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

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


Выпуск # 649

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


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

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

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

Блог Kbyte.Ru

Небольшие изменения в форумах Kbyte.Ru

Друзья! Сегодня вышло очередное обновление Kbyte.Ru! Главным образом изменения коснулись форума. [cut]

Теперь принять участие в форуме может любой желающий без регистрации на сайте.

Также форум был продублирован на домене forum.kbyte.ru, это будет удобно тем, кто пользуется только форумом.

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

Приятной работы!


PS: Обо всех ошибках, пожалуйста, сообщайте в форум, либо в комментариях к этой записи. Спасибо.

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

Форумы Kbyte.Ru

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

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

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

Создал на FASMe маленькую DLL, положил в папку с проектом на VB6 - всё работает.
Сделал ещё одну, назвал другим именем - VB6 не находит файл DLL. Почему?
Одна и та же функция находится в этих двух DLL, задекларированы одинаково, но из одной DLL она вызывается нормально, а при вызове из другой - пишет, что файл DLL не найден.
Пытался прописывать полный путь, переносить DLL в корень диска - бестолку

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

Ответ #1 @Aleksey Nemiro 06.07.2011 12:09
Может нужно зарегистрировать? Вот ёлпер по теме.

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

Ответ #2 @kw33 06.07.2011 12:15
Во первых другие DLL работают без регистрации, во вторых при регистрации моей DLL - ошибка насчёт функции LoadLibrary. У меня в DLL её конечно нет.

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

Ответ #3 @Aleksey Nemiro 06.07.2011 12:38
Если первая dll-ка была перемещена/удалена, значит нужно её разрегистрировать, раз обе одинаковые и отличаются только именем файла.

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

Добавить свой ответ в эту тему
Доброго времени суток подскажите пожалуйста как ограничить количество символов в тексте точнее есть <div> и в нем надо ограничить текст.

Заранее спасибо

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

Ответ #1 @Shadowmaster 05.07.2011 22:53
Ширина - width
Высота - height
Полосы прокрутки - overflow
<div style=""width:50px;height:20px;overflow:auto;">текст" текст текст текст текст текст текст текст текст текст текст<br /> 
 текст текст текст текст текст текст текст текст<br /> 
 текст текст текст текст текст текст текст текст текст текст</div>

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

Добавить свой ответ в эту тему
Нашел такой вот класс для определения состояния подключения, но почему-то не работает. Подскажите, плиз, почему?

//Создаем класс InternetConnection для проверки состояния соединения с Интернетом 
 //через Win API (проверить компьютер подключенный к локальной сети с использованием метода  
 //NetworkInterface.GetIsNetworkAvailableне получится) и задаем константы 
 public class InternetConnection 
 { 
  /// <summary> 
  /// Состояние соединения 
  /// </summary> 
  [Flags] 
  public enum InternetConnectionState : int 
  { 
   INTERNET_CONNECTION_MODEM = 0x1, 
   INTERNET_CONNECTION_LAN = 0x2, 
   INTERNET_CONNECTION_PROXY = 0x4, 
   INTERNET_RAS_INSTALLED = 0x10, 
   INTERNET_CONNECTION_OFFLINE = 0x20, 
   INTERNET_CONNECTION_CONFIGURED = 0x40 
  } 
 
  private bool isInternetConnected; 
  private bool isUsingModem; 
  private bool isOffline; 
  private bool isUsingLAN; 
  private bool isUsingProxy; 
  private bool isRasEnabled; 
 
  #region Свойства 
  public bool IsInternetConnected 
  { 
   get { return isInternetConnected; } 
  } 
 
  public bool IsUsingModem 
  { 
   get { return isUsingModem; } 
  } 
 
  public bool IsOffline 
  { 
   get { return isOffline; } 
  } 
 
  public bool IsUsingLAN 
  { 
   get { return isUsingLAN; } 
  } 
 
  public bool IsUsingProxy 
  { 
   get { return isUsingProxy; } 
  } 
 
  public bool IsRasEnabled 
  { 
   get { return isRasEnabled; } 
  } 
  #endregion 
 
  //Импортируем нужную нам функцию из библиотеки WININET: 
  [DllImport("wininet.dll", CharSet = CharSet.Auto)] 
  static extern bool InternetGetConnectedState(ref InternetConnectionState lpdwFlags, int dwReserved); 
 
  //Пишем метод Init, в котором будет проходить вся инициализация: 
  public void Init() 
  { 
   InternetConnectionState flags = 0; 
   isInternetConnected = InternetGetConnectedState(ref flags, 0); 
   isUsingModem = (flags & InternetConnectionState.INTERNET_CONNECTION_MODEM) != 0; 
   isUsingLAN = (flags & InternetConnectionState.INTERNET_CONNECTION_LAN) != 0; 
   isOffline = (flags & InternetConnectionState.INTERNET_CONNECTION_OFFLINE) != 0; 
   isUsingProxy = (flags & InternetConnectionState.INTERNET_CONNECTION_PROXY) != 0; 
   isRasEnabled = (flags & InternetConnectionState.INTERNET_RAS_INSTALLED) != 0; 
  } 
 
  /* 
  После этого, доступ к переменным можно получить таким вот образом: 
  InternetConnection inet = new InternetConnection(); 
  inet.Init(); 
  Console.WriteLine("Соединение с интернетом: " + inet.IsInternetConnected); 
  Console.WriteLine("В оффлайне: " + inet.IsOffline); 
  Console.WriteLine("Посредством модема: " + inet.IsUsingModem); 
  Console.WriteLine("Посредством LAN: " + inet.IsUsingLAN); 
  Console.WriteLine("Используется proxy: " + inet.IsUsingProxy); 
  Console.WriteLine("Установлен ли RAS: " + inet.IsRasEnabled); 
   */ 
 } 

У меня есть такой код, использующий этот класс:

InternetConnection inet = new InternetConnection(); 
   inet.Init(); 
   if (!inet.IsInternetConnected) 
   { 
    MessageBox.Show("Internet is not connected");}

Но и при отключенном Интернете мессага не появляется...

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

Ответ #1 @stringer 06.07.2011 15:57
Неужели никто не знает как проверить подключен ли компьютер к Интернету или нет?

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

Добавить свой ответ в эту тему
Друзья! Для упрощения работы с форумом он был продублирован на домен forum.kbyte.ru. Надеюсь, это будет удобно тем, кто пользуется только форумом.

На домене forum.kbyte.ru размещен только форум и пользовательское меню, т.е. навигация там более простая, чем на основном сайте.

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

Приятной работы!

PS: Если вы обнаружите какие-либо ошибки, пожалуйста, сообщите об этом в этот топик, либо мне на e-mail: admin@kbyte.ru. Спасибо.

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

Ответ #1 @ArkIv 05.07.2011 02:47
Хотел написать ..
но подумал нет не буду..
я хочу про АД вам поведать сделаю на днях.

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

Добавить свой ответ в эту тему
Добрый день.

Есть страничка, где пользователь загружает изображение. Можно ли сделать так, чтобы одновременно, в соседнюю папочку, загружалась превьюшка этого изображения, размером по ширине 100 пикселей? Интересует только JPG. Все примеры, которые удалось найти в сети, внедрить в страничку не удалось, сорри...

Код загрузки вот такой:

Sub SubmitUploadFile(ByVal sender As Object, ByVal e As EventArgs)
 Dim strFileName, strRootUpload, strUniqueName, PathToUploadFile, CheckFile As String  
 Dim Index As Integer 
 If Not (frmFileUpload.PostedFile Is Nothing) then  
 Try  
  strFileName = frmFileUpload.PostedFile.FileName  
 If strFileName <> "" then  
  strFileName = strFileName.Replace("/", "\") 
  Index = strFileName.LastIndexOf("\") 
  strFileName = strFileName.Substring(Index + 1) 
  strUniqueName = "picture_" & Request.QueryString("PictureID") 
  frmFileUpload.PostedFile.SaveAs(strRootUpload & "\" & strUniqueName) 
 End If 
 Catch 
 End Try 
 End If 
End Sub 

Помогите, плз...

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

Ответ #1 @Shadowmaster 05.07.2011 12:05
JPEG:
    Dim myImage
As System.Drawing.Image = System.Drawing.Image.FromStream(frmFileUpload.FileContent) 
    Response.ContentType = "image/jpeg" 
 
    Using m As New MemoryStream() 
     Dim myEncoder As System.Drawing.Imaging.Encoder = System.Drawing.Imaging.Encoder.Quality 
     Dim myEncoderParameter As System.Drawing.Imaging.EncoderParameter 
     Dim myEncoderParameters As New System.Drawing.Imaging.EncoderParameters(1) 
     Dim myImageCodecInfo As System.Drawing.Imaging.ImageCodecInfo 
     myImageCodecInfo = Yolper.Models.ImageHelper.GetEncoderInfo(System.Drawing.Imaging.ImageFormat.Jpeg) 
     myEncoderParameter = New System.Drawing.Imaging.EncoderParameter(myEncoder, CType(75L, Integer)) '75L - качество jpeg 
     myEncoderParameters.Param(0) = myEncoderParameter 
 
     'сохранение в MemoryStream, если понадобится что-нибудь сделать с изображением, например сохранить в базу, или кешировать 
     myImage.Save(m, myImageCodecInfo, myEncoderParameters) 
 
     b = m.ToArray() 
 
     'вывод 
     Response.OutputStream.Write(b, 0, b.Length) 
    End Using 
 
   End Using
Уменьшение картинки
'картинка определенного размера 
        If w > 0 OrElse h > 0 Then 'w и h - переменные, которые могут содержать необходимый размер картинки 
          If w <= 0 Then 
            'ширина не указан, рассчитываем в зависимости от изменения высоты 
            Dim p As Integer = Math.Round((h * 100) / myImg.Height) 
            w = Math.Round(myImg.Width * p / 100) 
          End If 
          If h <= 0 Then 
            'высота не указан, рассчитываем в зависимости от изменения ширины 
            Dim p As Integer = Math.Round((w * 100) / myImg.Width) 
            h = Math.Round(myImg.Height * p / 100) 
          End If 
          Dim bmp As New System.Drawing.Bitmap(w, h) 
          Dim g As System.Drawing.Graphics = System.Drawing.Graphics.FromImage(bmp) 
 
          g.DrawImage(myImage, 0, 0, w, h) 
          g.Flush() 
          myImage = bmp ' можно сохранить как JPEG, используя выше указанный код 
        End If

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

Ответ #2 @anka_x 05.07.2011 18:59
Спасибо за помощь, Shadowmaster!

...но ругается уже на первой строке:
"FileContent" не является членом "System.Web.UI.HtmlControls.HtmlInputFile".

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

Ответ #3 @Shadowmaster 05.07.2011 22:50
Скорей всего frmFileUpload.PostedFile.FileContent, или как-нибудь по другому. В общем нужно просто передать в экземпляр myImage тело картинки из frmFileUpload, либо из любого другого источника.

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

Ответ #4 @anka_x 05.07.2011 23:48
Единственное, на что не ругается - это:

frmFileUpload.PostedFile.InputStream

но через пару строк опять беда, справиться с которой не получается...

Сообщение об ошибке компилятора: BC30451: Имя "Yolper" не объявлено.

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

Ответ #5 @Shadowmaster 06.07.2011 12:00
Имя "Yolper" не объявлено.
ага, я из ёлпера код стырил
Вот код функции GetEncoderInfo:
 Public Shared Function GetEncoderInfo(ByVal format As System.Drawing.Imaging.ImageFormat) As System.Drawing.Imaging.ImageCodecInfo 
  Dim j As Integer 
  Dim encoders() As System.Drawing.Imaging.ImageCodecInfo 
  encoders = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders() 
  j = 0 
  While j < encoders.Length 
   If encoders(j).FormatID = format.Guid Then 
    Return encoders(j) 
   End If 
   j += 1 
  End While 
  Return Nothing 
 End Function

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

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

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

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

Microsoft прекратит поддержку Office XP и Vista SP1

Компания Microsoft после 12 июля прекратит поддержку офисного пакета Office XP и пакета обновлений SP1 для ОС Vista. Пользователям этих продуктов рекомендовано перейти на более новые версии. Пользоваться устаревшими программами не рекомендуется из соображений безопасности.

07.07.2011 10:51 · Категория: Бизнес в IT · Источник: Lenta.ru

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

Facebook и Skype запустили видеочат

В социальной сети Facebook появился видеочат, общаться в котором могут несколько пользователей одновременно. Видеочат интегрирован с текстовым чатом. Сервис является совместной разработкой Facebook и сервиса интернет-телефонии Skype. Аналогичная функция присутствует в социальной сети Google+.

07.07.2011 10:51 · Категория: Бизнес в IT · Источник: Lenta.ru

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

ИТ-компании оказались между европейских и американских законов

Члены Европарламента сегодня потребовали от юристов и членов Европейской комиссии разрешить конфликт, возникший между интересами США и Европы. Речь идет о Директиве Евросоюза о защите пользовательских данных, а также о так называемом Патриотическом законе в США.

Впервые о правовой коллизии заговорила Microsoft, которая на прошлой неделе уведомила своих европейских клиентов, в том числе и высокопоставленных о том, что может возникнуть ситуация, когда американские власти затребуют у Microsoft, как у американской компании, данные о европейских пользователях облачных сервисов корпорации. Согласно Патриотическому закону США (US Patriot Act) Microsoft должна будет передать запрашиваемые сведения в Вашингтон, причем она не должна уведомлять об этом европейскую сторону. С другой стороны, это прямо противоречит европейской директиве, которая требует, чтобы перед отправкой данных в известность ставились владельцы этих данных.

"Считает ли Европейская комиссия, что Патриотический закон США эффективно отменяет Директиву ЕС о защите данных? Что будет делать Комиссия для разрешения этой ситуации и как гарантировать защиту собственной информации? Имеют ли законодательства третьих стран преимущества перед законодательством ЕС?", - задается вопросом София Вельд, член гражданского комитета по гражданским свободам.

Ранее еврокомиссар Вивиан Рединг, отвечающая за вопросы защиты цифровых данных, заявляла о том, что США и Европа должны создать "полностью совместимые" законы, связанные с информационным обществом. За то же самое высказывался и экс-кандидат в президенты США Джон Маккейн, являющийся сенатором от штата Аризона.

Ранее между ЕС и США уже было достигнуто соглашение, по которому компании, в частности Microsoft, могут передавать европейские данные в США, но лишь в том случае, если будет обеспечен "приемлемый уровень" их безопасности. Трансфер осуществляется в рамках соглашения Safe Harbor, куда входят семь основных принципов. Однако Safe Harbor имеет более низкий приоритет, в сравнении с Патриотическим законом.

"Многие американские компании предлагают европейцам хранить данные в их вычислительных облаках. Однако все они тактично умалчивают об опасностях, подстерегающих европейских пользователей. Уверен, что европейцам лучше держать свои данные в Европе", - говорит Тэо Босбум, ИТ-юрист компании Dirkzager. "С учетом реальной обстановки, будет лучше, если европейские данные останутся в пределах Европейского союза".

Независимые эксперты говорят, что за данной юридической коллизией очень пристально следят не только в Microsoft, но также в Apple, Google, IBM, Facebook и Twitter, так как все эти компании работают в США и с европейскими данными. Строго говоря, бизнес-подрядчики уже начинают предлагать клиентам географический выбор мест хранения данных, многие компании даже оформляют свои европейские датацентры на независимых операторов, дабы успокоить местных клиентов и избежать запросов по US Patriot Act.

"Уверена, что если бы возникла обратная ситуация, когда американской стороне пришлось бы хранить свои данные в Европе, то Вашингтон предпринял бы все рычаги давления, для того, чтобы избежать раскрытия информации", - говорит София Вельд.

06.07.2011 12:02 · Категория: Бизнес в 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 если иное не указано отдельно.


В избранное