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

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


Выпуск # 670

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


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

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

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

Форумы Kbyte.Ru

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

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

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

Visual studio net лучше или С++

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

Ответ #1 @Aleksey Nemiro 28.12.2011 18:06
Их нельзя сравнивать, Visual studio - IDE (среда разработки), C++ - язык программирования
Если вместо Visual Studio имеется ввиду Visual Basic .NET, то его с C++ тоже в принципе сравнивать нельзя. Это абсолютно разные языки, технологии.
Если под Visual Studio подразумевается C#, то аналогично, с C++ сравнивать его бесполезно. Некоторые вещи на C# сделать будет невозможно, а некоторые делать проще на C#, чем C++.
Если под Visual Studio имеется ввиду Visual Basic .NET, а под C++ - C#, то возможности у них одинаковые, есть существенные различия в реализации задач, код, само собой, разный. Что лучше, зависит от задачи. Где-то удобней использовать Visual Basic .NET, а где-то C#. Собственно, это касается абсолютно любого языка программирования и технологии. В идеале, нужно уметь, в той или иной степени, работать со всеми популярными ныне технологиями

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

Ответ #2 @burhonzod-behruz 29.12.2011 01:27
Если бы разница небела то почему же разработали два языка программирования(я имел введу VB.NET) Многие говорят что С++ лучше чем другие языки программирования
,

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

Ответ #3 @Aleksey Nemiro 29.12.2011 11:56
А зачем придумали вилку, когда есть ложка? Ведь ложку вполне можно использовать для поедания спагетти. Собственно, если постараться, и вилку вполне можно использовать для поедания супа. Вообще, зачем придумали все эти ложки и вилки, когда есть руки? Это вопрос удобства. Каждый язык программирования создан для определенных целей и хорош именно в достижении этих целей.
Си++ и Visual Basic .NET слишком далеки друг от друга, чтобы их сравнивать. Это выглядит странно, они в разных весовых категориях Если Си++ с чем-то и сравнивать, так это с C#, ибо у последнего синтаксис си-производный.

В .NET Framework (VB .NET, C#) можно легко создавать красивые приложения для Windows, Windows-службы, создавать сайты, и много чего еще. Сетевые функции в .NET Framework реализованы удобней.
Я, например, под .NET Framework раньше программировал только сайты, тем не менее, когда мне понадобилось написать Windows-приложение, я это легко сделал без дополнительного обучения, просто используя знания .NET Framework. В этом основная фишка .NET Framework - объединение разных типов проектов, технологий для решения разных типов задач.

В то же время, .NET Framework плохо пригоден, а иногда и вовсе бесполезен, для создания чего-нибудь системного, низкоуровневого. Например, как-то у меня возник вопрос создания расширения для IIS, как оказалось без Си тут не обойтись. Но вообще, в Си++ можно использовать .NET Framework, соответственно, сейчас в любом языке программирования высокого уровня реализована поддержка .NET Framework, правда это не так удобно, как в родных языках - Visual Basic .NET и C#. Собственно, также как и Си можно использовать в веб-программировании и это также будет, мягко говоря, не совсем удобно (сомневаюсь, что в наше время вообще найдутся люди использующие его для этих целей).

Так что все зависит от задач. По себе скажу, что я уже напрочь забыл, кто такой Си++, ибо нет необходимости его использовать.
Си - это основа основ, как Ассемблер, только высокого уровня, но .NET Framework на уровень выше будет (конечно, если бы такой уровень был)
разработали два языка программирования
Как я понимаю, под Си++ подразумевается Си Шарп.
Си++ и Си Шарп (C#) - это разные языки программирования.

Два основных языка разработали для удобства миграции программистов в .NET Framework. Кто-то раньше программировал на Visual Basic 6.0, кто-то на Си++. Еще раньше был J#, для удобства миграции программистов Java (по-моему J# был исключен из Visual Studio в 2008 году).

Visual Basec .NET удобен в ASP .NET WebForms, но выглядит неуклюже в ASP .NET MVC. C# в ASP .NET WebForms заставляет делать много лишних и абсолютно бесполезный движений, а вот в ASP .NET MVC вписывается идеально. При разработке Windows-приложений, какой язык выбрать - зависит от задачи. Visual Studio для Visual Basic .NET многие вещи делает автоматически, генерирует автоматический код, который по умолчанию не доступен для программиста (например, код дизайнера форм). В C# автоматического когда мало, весь код доступен, в общем ограничений никаких нет. Если провести аналогию, это как торт, в Visual Basic .NET торт уже выпечен, осталось только нанести крем, а в C# тебе дают кусок теста и делай с ним, что хочешь, ну или что можешь. Новички, взявшиеся за C# не имея представления о .NET, частенько спотыкаются на ровном месте (речь о специфике программирования проектов типа Windows Forms (приложений Windows)), да и Visual Studio не идеальна, иногда косячит. А Visual Basic .NET продуман до мелочей, чтобы не напрягать программиста лишними, в большинстве случаев ненужными, вещами. Если нужно сделать приложение, которое просто работает с базой данных, выводит записи, позволяет их редактировать, удалять, то я бы скорей всего выбрал Visual Basic .NET, просто потому что это проще и быстрее сделать в Visual Basic .NET. Если нужно сделать многопоточное приложение, которое будет работать с сетью, производить большое количество манипуляций с данными, или просто сложно приложение, то я бы выбрал C#, ибо это удобней, а следовательно и быстрее, сделать в C#.

Еще по Visual Basic .NET можно английский выучить, если знания английского совсем нулевые
If you get me money Then I get you program
work:
Do Work
 If time Is evening Then GoTo home
Loop
home:
Call Whore()
Call Tv()
Thread.Sleep(28800000)
Kill "стол:\AlarmClock.wav"
Call Cofe()
GoTo work
Синтаксис Visual Basic .NET - это набор английских слов (команд), он более простой для понимания, нежели C#, и тем более C++. Но с другой стороны, код в C# более гибкий, красивый и позволяет делать много хитрых вещей, которые в Visual Basic .NET просто невозможно осуществить.

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

Добавить свой ответ в эту тему
Помогите написать прогу с использованием ссылок в качестве параметров функций для нахождения минимального элемента на 3-х заданных

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

Добрый день.
Как правильно организовать сохранение в БД возникших в работе программы исключений?

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

Ответ #1 @Aleksey Nemiro 27.12.2011 12:11
Только так:
try
{
}
catch(Exception ex){
 // код сохранения текста ошибки (ex.Message и/или ex.ToString()) в базу
 // лучше сделать для этого хелпер-функцию или класс
}
Универсально - никак.

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

Добавить свой ответ в эту тему
Не могу понять, по какой причине при внесении новой строки в БД она вставляется 2 раза!
просто мистика какая-то.
Отладку осуществляю в VS2010, также установлен в системе IIS(если это имеет какое-либо значение).
Вот, пример кода:
private static SqlConnection sqlCon;
private static SqlCommand insertPersonCommand;

private static SqlConnection SQLCon
    {
        get
        {
            if (sqlCon == null)
                sqlCon = new SqlConnection(connString);
            return sqlCon;
        }
    }

private static SqlCommand InsertPersonCommand
    {
        get
        {
            if (insertPersonCommand == null)
            {
                insertPersonCommand = new SqlCommand();
                insertPersonCommand.CommandText = "InsertPerson";
                insertPersonCommand.CommandType = CommandType.StoredProcedure;
                insertPersonCommand.Connection = SQLCon;

                SqlParameter sqlParameter = new SqlParameter("@Surname", SqlDbType.NVarChar, 20);
                sqlParameter.Direction = ParameterDirection.Input;
                insertPersonCommand.Parameters.Add(sqlParameter);

                sqlParameter = new SqlParameter("@FirstName", SqlDbType.NVarChar, 20);
                sqlParameter.Direction = ParameterDirection.Input;
                insertPersonCommand.Parameters.Add(sqlParameter);

                ...

                sqlParameter = new SqlParameter("@User_ID", SqlDbType.UniqueIdentifier, 0);
                sqlParameter.Direction = ParameterDirection.Input;
                insertPersonCommand.Parameters.Add(sqlParameter);
            }
            return insertPersonCommand;
        }
    }

public static bool InsertPerson(Person person)
    {
        bool rez = false;
        InsertPersonCommand.Parameters["@Surname"].Value = person.Surname;
        InsertPersonCommand.Parameters["@FirstName"].Value = person.FirstName;
        InsertPersonCommand.Parameters["@SecondName"].Value = person.SecondName;
        InsertPersonCommand.Parameters["@Phone_work"].Value = person.Phone_work;
        InsertPersonCommand.Parameters["@Phone_mob"].Value = person.Phone_mob;
        InsertPersonCommand.Parameters["@Phone_home"].Value = person.Phone_home;
        InsertPersonCommand.Parameters["@Email"].Value = person.Email;
        if (person.Birthday != DateTime.MinValue)
            InsertPersonCommand.Parameters["@Birthday"].Value = person.Birthday;
        else
            InsertPersonCommand.Parameters["@Birthday"].Value = DBNull.Value;
        InsertPersonCommand.Parameters["@Address"].Value = person.Address;
        InsertPersonCommand.Parameters["@PersonType_ID"].Value = person.PersonType_ID;
        InsertPersonCommand.Parameters["@User_ID"].Value = person.User_ID;

        try
        {
            SQLCon.Open();
            InsertPersonCommand.ExecuteNonQuery();

            if (InsertPersonCommand.ExecuteNonQuery() == 1)
                rez = true;
        }
        catch
        {

        }
        finally
        {
            if (SQLCon.State == ConnectionState.Open)
                SQLCon.Close();
        }

        return rez;
    }
Вот хранимая процедура:
ALTER PROCEDURE dbo.InsertPerson
(
	@Surname nvarchar(20),
	@FirstName nvarchar(20),
	@SecondName nvarchar(20),
	@Phone_work nvarchar(20),
	@Phone_mob nvarchar(20),
	@Phone_home nvarchar(20),
	@Email nvarchar(50),
	@Birthday date,
	@Address nvarchar(255),
	@PersonType_ID tinyint,
	@User_ID uniqueidentifier
)
	
AS

INSERT INTO [Book]
VALUES (@Surname, @FirstName, @SecondName, @Phone_work, @Phone_mob, @Phone_home, @Email, @Birthday, @Address, @PersonType_ID, @User_ID);

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

Ответ #1 @Aleksey Nemiro 25.12.2011 12:01
В строке 64 данные вставляются первый раз, а в 66 - второй.
 InsertPersonCommand.ExecuteNonQuery();//1
	 
	      if (InsertPersonCommand.ExecuteNonQuery() == 1)//2
	        rez = true;

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

Ответ #2 @Павел 26.12.2011 09:44
А почему это проверка условия выполняет команду?

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

Ответ #3 @Aleksey Nemiro 26.12.2011 12:10
А почему это проверка условия выполняет команду?
Потому что ExecuteNonQuery не содержит никаких данных, это не переменная и не свойство, это функция. Чтобы узнать, какой будет результата выполнения функции, функция должна выполниться и вернуть результат выполнения. В данном случае, функция выполняет SQL-запрос.

Если нужна обработка результата выполнения функции, то это нужно делать либо в условии (как в строке 66), либо переносить результат выполнения функции в промежуточную переменную:
int r = InsertPersonCommand.ExecuteNonQuery();
if (r == 1) rez = true;
int r = 0;
if ((r = InsertPersonCommand.ExecuteNonQuery()) == 1) rez = true;
rez = (InsertPersonCommand.ExecuteNonQuery() == 1);
Приведенные выше фрагменты кода будут работать одинаково, выполнять запрос и в случае успеха, переменной rez будет установлено значение true.

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

Ответ #4 @Aleksey Nemiro 26.12.2011 12:13
Собственно, если код такой же как в тексте вопроса, то функции InsertPerson можно вообще сразу возвращать результат:
return (InsertPersonCommand.ExecuteNonQuery() == 1);
Все что ниже, в блоке finally, все равно будет выполнено, т.е. соединение с БД закроется.
public static bool InsertPerson(Person person)
 {
  bool rez = false;
  InsertPersonCommand.Parameters["@Surname"].Value = person.Surname;
  InsertPersonCommand.Parameters["@FirstName"].Value = person.FirstName;
  InsertPersonCommand.Parameters["@SecondName"].Value = person.SecondName;
  InsertPersonCommand.Parameters["@Phone_work"].Value = person.Phone_work;
  InsertPersonCommand.Parameters["@Phone_mob"].Value = person.Phone_mob;
  InsertPersonCommand.Parameters["@Phone_home"].Value = person.Phone_home;
  InsertPersonCommand.Parameters["@Email"].Value = person.Email;
  if (person.Birthday != DateTime.MinValue)
   InsertPersonCommand.Parameters["@Birthday"].Value = person.Birthday;
  else
   InsertPersonCommand.Parameters["@Birthday"].Value = DBNull.Value;
  InsertPersonCommand.Parameters["@Address"].Value = person.Address;
  InsertPersonCommand.Parameters["@PersonType_ID"].Value = person.PersonType_ID;
  InsertPersonCommand.Parameters["@User_ID"].Value = person.User_ID;

  try
  {
   SQLCon.Open();
   return (InsertPersonCommand.ExecuteNonQuery() == 1);
  }
  catch
  {
   return false;
  }
  finally
  {
   if (SQLCon.State == ConnectionState.Open) SQLCon.Close();
  }
 }

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

Добавить свой ответ в эту тему
Добрый день.
Работаю над сайтом в ASP.Net. Необходимо выводить на экран MessageBox. Как известно, метод Message.Show работает только в WinForms.
Полез в и-нет и нашел довольно много вариантов организации вывода такого сообщения на экран.
Самый простой:
Response.Write("<SCRIPT LANGUAGE='JavaScript'> alert('Выделите необходимую запись в таблице'); </SCRIPT>");
Но мне необходимо не просто кнопка "ОК", а две кнопки "Да" "Нет". А скрипт такого типа почему-то не работает:
Response.Write("<SCRIPT LANGUAGE='JavaScript'> if(confirm('Вы действительно хотите удалить запись?')==false) return false; </SCRIPT>");

Хотя если идти через свойства кнопки "Удалить", то такой код работает:
btn_Delete.Attributes.Add("onclick",
"javascript:if(confirm('Вы действительно хотите удалить запись?')==false) return false;");

Что делаю не так?

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

Ответ #1 @Алексей Немиро 24.12.2011 23:09
Я обычно использую у кнопок готовое свойство OnClientClick, вместо onclick (это одно и то же).
OnClientClick="return confirm('delete?')"

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

Ответ #2 @Алексей Немиро 24.12.2011 23:14
Но мне необходимо не просто кнопка "ОК", а две кнопки "Да" "Нет". А скрипт такого типа почему-то не работает:
А что должно пороисходить? Это код-пустышка :)
Если что-то должно происходить, то только на стороне клиента, в клиентском коде. С сервером можно общаться посредством ajax.

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

Ответ #3 @Павел 24.12.2011 23:29
Попробовал - работает! Спасибо.
При нажатии кнопки "Удалить" выполняется удаление записи из БД. Этот месседж для защиты от случайного удаления.

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

Добавить свой ответ в эту тему
Написал веб сервис (C#).
Из него выполняю код:


			string appProgID = "Word.Application";
			Type typeofOPCserver = Type.GetTypeFromProgID(appProgID);
			if (typeofOPCserver == null)
				Marshal.ThrowExceptionForHR(HRESULTS.OPC_E_NOTFOUND);
			try
			{
				word = Marshal.GetActiveObject(appProgID);
			}
			catch (Exception exc)
			{
				word = Activator.CreateInstance(typeofOPCserver);
			}

			Type typeWord = word.GetType();
			PropertyInfo propVisible = typeWord.GetProperty("Visible");

			propVisible.SetValue(word, true, null);


который ищет открытый ворд, если не находит, то открывает новый и делает его видимым.

Так вот:
1. если запускаю из студии сервис на выполнение, в Develepment Server, то все гуд.

2. если разворачиваю в IIS, то приложение запускается, но остается невидимым. Только в процессах его вижу.
А также, если приложение уже было запущено вручную, то не находит его, а все так же запускает невидимое новое.

почему так?
в чем проблема?
где косяк мой?

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

Ответ #1 @Aleksey Nemiro 23.12.2011 17:08
Видимо на сервере приложение запускается от имени IIS, если вообще запускается (может там сообщение о невозможности запуска появляется). Можно попробовать запускать под конкретным пользователем.

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

Ответ #2 @SocrAT 23.12.2011 18:33
В веб.конфиге у меня есть такая строка:

<identity impersonate="true" userName ="user"
password ="pass"/>

И процесс ворда запускается именно от этого пользователя. Это видно через диспетчер задач.

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

Ответ #3 @Aleksey Nemiro 23.12.2011 18:44
И заходя на сервер под учетной записью userName ="user" password ="pass" все равно Word невидимый?

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

Ответ #4 @SocrAT 23.12.2011 19:05
Я с него и не выходил )

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

Ответ #5 @Aleksey Nemiro 23.12.2011 19:26
У каждого пользователя своя рабочая область, свой Explorer. Все что запущено у юзера, находится только у него (см. через ProcessExplorer дерево процессов). Другие пользователи не могут видеть, то что видит пользователь на своем экране

Если ошибок нет, можно сделать вспомогательное приложение, которое будет манипулировать Word-ом. Скорей всего спотыкается на безопасности. Можно окно Word-а попробовать развернуть из ProcessExplorer-а и посмотреть, запущен он, или может там msgbox с ошибкой.

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

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

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

Вакансии в IT

Программист-системотехник

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

Инженер-программист

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

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

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

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

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

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

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

Программист РНР

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

Веб-программист

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

Web-программист, php-программист

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

Веб-дизайнер

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

Инженер-программист

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

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

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

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

С наступающим Новым 2012 годом!

Уважаемые пользователи Kbyte.Ru!

Администрация портала поздравляет вас с наступающим 2012 годом!

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

С Новым годом!

28.12.2011 16:33 · Категория: Новости Kbyte.Ru · Источник: Kbyte.Ru

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

Создан сверхскоростной пассивный диод для современных микросхем

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

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

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

28.12.2011 16:32 · Категория: Железо · Источник: CyberSecurity.ru

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

Intel начала поставки микропроцессоров Atom Cedar Trail

Intel сегодня объявила о доступности платформы на базе процессоров Atom, ранее известной под кодовым названием Cedar Trail. Новая платформа позволяет создавать компактные мобильные устройства с длительным временем автономной работы. Она привносит ряд новых возможностей в нетбуки, популярные среди учащихся, доманих и других пользователей, которым нужны лишь базовые функции компьютеров и веб-серфинг. Устройства на новой платформе от Acer, Asus, HP, Lenovo, Samsung и Toshiba появятся на рынке в начале 2012 г.

Новые процессоры обладают встроенной графикой, способной обрабатывать видео высокой четкости (1080p) и воспроизводить контено Blu-ray. Согласно данным Intel, cистемы на базе новых Intel Atom предложат 10 часов непрерывной работы от батареи без подзарядки и неделю работы в режиме ожидания, позволяя использовать устройство в течение целого дня. Intel увеличила скорость работы процессора, одновременно снизив потребление энергии на 20% по сравнению с платформой предыдущего поколения, и добавила ряд новых функций: Intel Wireless Display и Intel Wireless Music. Благодаря ним пользователи могут передавать при помощи беспроводной соединения видео, фото и музыку, хранящиеся на жестом диске, на телевизор и домашнюю аудиосистему. Функция Intel Smart Connect позволяет подключаться к интернету сразу после открытия крышки нетбука и автоматически обновлять электронную почту, Twitter и RSS-ленты даже в режиме ожидания. А Intel Rapid Start обеспечивает быстрый выход из режима ожидания и помогает сэкономить заряд аккумулятора. 

Платформа содержит два 2-ядерных процессора: Intel Atom N2600 и Intel Atom N2800 - объединенные с чипсетом Intel NM10 Express в форм-факторе SFF, который позволяет конструировать устройства более компактных размеров. В дополнение к мобильным процессорам Intel предлагает Intel Atom D2500 и D2700 для недорогих настольных ПК и настольных компьютеров «все в одном». Поддерживаются операционные системы Windows, MeeGo, Tizen.

В Intel говорят, что новые Atom обладают пониженным тепловыделением (TDP) и оснащены технологиями управления электропитанием Intel Deeper Sleep и Intel SpeedStep.

Для встраиваемых решений предлагается 7-летний цикл поддержки. Возможно использование операционных систем Windows Embedded Standard 7, Windows XP и XPe, Windows Embedded Compact, Yocto Project и Wind River VxWorks.

28.12.2011 16:30 · Категория: Железо · Источник: 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 если иное не указано отдельно.


В избранное