Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
dneprcomp
Mirray
Omicron_Persey_8
 
Всем доброго времени суток.
 
  Ребята, может я не понимаю сути проблемы, потому что как мне кажется для определения того какая кнопка мыши была нажата можно проверять статическое св-во MouseButtons у класса System.Windows.Forms.Control.
 

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 21:59 22-01-2011
FEGORA

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
всем привет, я уже писал в этой ветке
 
http://forum.ru-board.com/topic.cgi?forum=33&topic=3706&start=2340#1
 
ответ так и не найден, dll повисла в воздухе, предлагаю помочь мне  на платной основе, кому интересно пишите d.j.vas@mail.ru

Всего записей: 9 | Зарегистр. 17-08-2010 | Отправлено: 00:12 23-01-2011
CyberMaster0



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте, есть вопрос по этому коду:

Код:
 
class Programm
{
    public static void Main()
    {
        Ping pingSender = new Ping ();
        PingReply reply = pingSender.Send("www.contoso.com");
 
        if (reply.Status == IPStatus.Success)
        {
            Console.WriteLine("Address: {0}", reply.Address.ToString());
            Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
            Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
            Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
            Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
        }
        else
        {
            Console.WriteLine(reply.Status);
        }
    }
}
 

 
Если в pingSender.Send запихнуть неправильный URL, то вылетает исключение. Так вот как словить и обработать это исключение? Собственно я делал так:

Код:
 
    public static void Main()
    {
        Ping pingSender = new Ping ();
 
        try
        {
            PingReply reply = pingSender.Send("www.contoso.com");
 
            if (reply.Status == IPStatus.Success)
            {
                Console.WriteLine("Address: {0}", reply.Address.ToString());
                Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);
                Console.WriteLine("Time to live: {0}", reply.Options.Ttl);
                Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);
                Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);
            }
            else
            {
                Console.WriteLine(reply.Status);
            }
        }
        catch (Exception)
        {
            Console.WriteLine("Ошибка");
        }
    }
 

Но может есть более разумный способ?

Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 06:04 23-01-2011
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CyberMaster0
А этот способ чем не разумен? Обработка исключений в .NET всегда была стандартной операцией. Но некоторые исправления все же внести стоит. Не стоит перехватывать все исключения в одном обработчике, так можно терять информацию типе исключения. В результате имеем что-то типа:

Код:
 public static void Main()  
    {  
        Ping pingSender = new Ping ();  
       
        try  
        {  
            PingReply reply = pingSender.Send("www.contoso.com");  
 
            if (reply.Status == IPStatus.Success)  
            {  
                Console.WriteLine("Address: {0}", reply.Address.ToString());  
                Console.WriteLine("RoundTrip time: {0}", reply.RoundtripTime);  
                Console.WriteLine("Time to live: {0}", reply.Options.Ttl);  
                Console.WriteLine("Don't fragment: {0}", reply.Options.DontFragment);  
                Console.WriteLine("Buffer size: {0}", reply.Buffer.Length);  
            }  
            else  
            {  
                Console.WriteLine(reply.Status);  
            }  
        }  
        catch (PingException)  
        {  
            Console.WriteLine("Не пингуется, зараза");  
        }  
    }  
 

 
Я бы еще вывод в консоль из try-блока выкинул, но это по вкусу.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 12:13 23-01-2011
giv5dot26



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8 Отлично, спасибо за подсказку, а вообще средствами  .NET подобные задачи не решить? Мне вот нужно поработать с IShellLink например и тому подобными вещами...

Всего записей: 302 | Зарегистр. 25-07-2007 | Отправлено: 06:21 24-01-2011
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
giv5dot26
Тогда прямая дорога на буржуйский CodeProject.com. Мне в свое время нужно было для C#-ной проги вытаскивать иконки файлов из Shell'а. Очень помог этот проект. Если окажется мало, то ставишь фильтр по C#, в поисковой строке пишешь ShellAPI и понеслась.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 10:34 24-01-2011
giv5dot26



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.

Всего записей: 302 | Зарегистр. 25-07-2007 | Отправлено: 11:25 24-01-2011
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
May_Johnson
Спасибо теперь работает как надо.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 11:31 26-01-2011
CyberMaster0



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, как в Visual Studio 2010 сделать вот такой контрол?

Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 15:41 26-01-2011
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CyberMaster0

Цитата:
Подскажите, как в Visual Studio 2010 сделать вот такой контрол?  

Если WinForms приложение, то есть контрол DataGridView. В WPF - DataGrid. В ASP.Net приложении - DataGrid.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 23:38 26-01-2011
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CyberMaster0
Mextrom
Для WinForms: ListView забыл.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:57 27-01-2011
CyberMaster0



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо.  
И снова я с вопросом Вот чет не могу понять: (Вопрос в комментарии в коде)

Код:
 
class Program
{
    public static void Main()
    {
        Ping pingSender = new Ping();
        int[] mass = new int[10];  
 
        int timeout = 120;
         
 
        foreach (int i in mass)
        {
            PingReply reply = pingSender.Send("google.com", timeout);
            if (reply.Status == IPStatus.Success)
            {
                mass[i] = (int)reply.RoundtripTime;
                Console.WriteLine(mass[i]);
            }
        }
        Console.WriteLine();
 
        for (int i = 0; i < 9; i++)
        {
            Console.WriteLine(mass[i]); // Здесь в первой ячейке массива число (пинг), а во всех остальных ячейках - 0. Почему так получется??
        }
        Console.ReadKey();
    }
}
 

Всего записей: 44 | Зарегистр. 23-04-2010 | Отправлено: 08:54 28-01-2011 | Исправлено: CyberMaster0, 08:59 28-01-2011
Mextrom



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
CyberMaster0

Цитата:
foreach (int i in mass)
        {
            PingReply reply = pingSender.Send("google.com", timeout);
            if (reply.Status == IPStatus.Success)
            {
                mass[i] = (int)reply.RoundtripTime;
                Console.WriteLine(mass[i]);
            }
        }  

Заполняете странно. В данном цикле i - это элемент массива, а не его номер. После того, как вы массив инициализировали, все значения в нем нули. В итоге присваивание
Код:
mass[i] = (int)reply.RoundtripTime;
всегда, на самом деле, будет таким
Код:
mass[0] = (int)reply.RoundtripTime;

Замените "foreach (int i in mass)" на "for (int i = 0; i < mass.Length; i++)" и все должно работать как надо.

Всего записей: 854 | Зарегистр. 30-03-2005 | Отправлено: 11:04 28-01-2011 | Исправлено: Mextrom, 11:08 28-01-2011
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята
Подскажите может кто встречал - мне нужен компонент TabControl обычный вполне, но хочется разместить одну единственную кнопку - закрыть вкладку, точно как в аське есть такая кнопа. В принципе наверно можно и на стандартной вкладке рисовать, но я не знаю её координаты и не смогу отработать клик. Лучше бы готовый копанент.

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:09 01-02-2011
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
delover
Осваивай:
http://www.codeproject.com/KB/tabs/NewCustomTabControl.aspx
http://www.codeproject.com/KB/tabs/MDITabControl.aspx
http://www.codeproject.com/KB/tabs/firefoxtabcontrol.aspx

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 22:22 01-02-2011
giv5dot26



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем. Нужно: установить сочетания клавишь глобальное. Делаю так:

Код:
        [DllImport("user32.dll")]  
        public static extern bool RegisterHotKey(IntPtr hWND, int id, uint fsModifiers, uint vk);
        [DllImport("user32.dll")]
        public static extern bool UnregisterHotKey(IntPtr hWND, int iD);
 
        private const int MOD_ALT = 0x1;
        private const int MOD_CONTROL = 0x2;
        private const int MOD_SHIFT = 0x4;
        private const int MOD_WIN = 0x8;
        private const int WM_HOTKEY = 0x312;
         
       public Form()
       {
             RegisterHotKey(this.Handle, 42, MOD_WIN, (int)Keys.Escape);
       }
 
        protected override void WndProc(ref Message m)
        {
            base.WndProc(ref m);
            if (m.Msg == WM_HOTKEY)
            {
                switch (m.WParam.ToInt32())
                {
                    case 42:
                        if (this.Visible == false)
                        {
                            this.Show();
                            this.Tray.Visible = false;
                            this.ShowInTaskbar = true;
                        }
                        break;
                }
            }            
        }

Но ничего не происходит когда я нажимаю комбинацию клавишь. Ставлю точку останова на строке  if (m.Msg == WM_HOTKEY) но программа туда даже не заходит. Что я сделал не так?

Всего записей: 302 | Зарегистр. 25-07-2007 | Отправлено: 06:52 02-02-2011
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
delover
в девках есть extratabcontrol - в настройках выставляется кнопка закрытия на каждой закладке.

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 07:22 02-02-2011
delover

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
BlackVetal
Спасибо всё нарисовал. Мне помог примерчик с
http://www.codeproject.com/KB/tabs/firefoxtabcontrol.aspx
Пришлось правда немного доделать, чтобы первую картинку рисовал и чтобы неактивные табы были немного придавленными. А в общем работает!

Всего записей: 1395 | Зарегистр. 25-06-2007 | Отправлено: 10:10 02-02-2011
llerik

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Дали задание перевести БД с FoxPro на SQL-server, ввиду корявости исходной решил пересоздать с нуля. Саму БД сделал, но проблема с оболочкой, т.к. не знаком с Basic.
 
Значит есть в БД таблица login, в ней 3 поля: user (ключевое), password и admin (true/false). На форме авторизации в фоксе писал так:

Код:
    Locate For Upper(login.user) = Upper(Alltrim(Thisform.mycombobox1.Value))
    If Found() And Alltrim(login.password) == Alltrim(Thisform.Mytextbox2.Value)
        If login.admin=.T.
           Do 'data\menu\menu_admin.mpr'
            Thisform.Release()
        Else
            Do 'data\menu\menu_user.mpr'
            Thisform.Release()
        Endif
    Else
        Messagebox("Имя пользователя или пароль неправильные!"+Chr(13)+Chr(13)+'Введите имя пользователя и пароль еще раз!',16,'Вход в систему')
        Thisform.Mytextbox2.Value = ""
        Thisform.Mytextbox2.SetFocus()
    Endif
 

Там на форме авторизации в комбобоксе выбирался логин и набирался пароль, дальше сверялся по нажатию на кнопку.
 
Пытался подобным образом организовать сверку введенного логина и пароля, но не пойму как обратиться к значению конкретного поля определенной таблицы. Если это вообще нельзя или геморрно очень, то как лучше поступить?
 
P.S. Пишу оболочку под Visual Studio 2008 Basic

Всего записей: 8 | Зарегистр. 02-05-2008 | Отправлено: 00:09 03-02-2011 | Исправлено: llerik, 00:10 03-02-2011
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
llerik

Цитата:
дальше сверялся по нажатию на кнопку.  

Не понял, что значит "сверить" и для чего логины.
Если для захода на SQL Server, то там passwords не лежат в открытом доступе. Да и сверять для логина ничего не надо.
Создается connection. Если не вернула error, значит логин правильный.
Или же логины для чего-либо еще?

Код:
Try
     Dim cnn As New SqlConnection
     Dim ConnectionString as string
     ConnectionString = "Data Source=" & [имя сервера]  & ";async=true;Initial Catalog=" & [имя базы] & ";Persist Security Info=True;User "  & "ID=" & [логин ID] & ";Password=" & [пас] & ";Connect Timeout=300"
     If ConnectionString <> "" Then
           cnn = New SqlConnection(ConnectionString)
           cnnLaw.Open()
      End if
Catch ex As Exception
 
           msgbox ex.ToString & " " & ex.Message
 
End Try

 
 

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 04:27 03-02-2011 | Исправлено: dneprcomp, 04:30 03-02-2011
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru