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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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

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

V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли через Regex.Replace() заменить строку на такую же, но чтобы символы были в верхнем регистре.
Или надо что-то помощнее использовать?

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 19:58 19-04-2007
distance

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

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 20:04 19-04-2007
V0lt



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

Код:
 
static string RepLo(Match m)  
{
    return m.ToString().ToLower();
}
 
static string RepUp(Match m)
{
    return m.ToString().ToUpper();
}
 
private string MarkUpCase(string s)
{
    //...
    p = Regex.Replace(p, @"%[A-Fa-f\d]{2}", new MatchEvaluator(RepLo), RegexOptions.Compiled);
    //...
    p = Regex.Replace(p, @"%[a-f\d]{2}", new MatchEvaluator(RepUp), RegexOptions.Compiled);
    //...
}
 

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 23:36 19-04-2007
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Требуется для каждого узла TreeView, хранить некую строку ("Инфа").
Нашел возможность хранить ее в  TreeNode.Name,
Очень удобно получается, в одну команду...

Код:
 
    treeView_Folders.Nodes.Add("Инфа", "Текст");
 

тоже самое, развернуто

Код:
 
    TreeNode TN = new TreeNode("Текст");
    TN.Name = "Инфа";
    treeView_Folders.Nodes.Add(TN);
 

 
Еще есть возможность использовать TreeNode.Tag

Код:
 
    TreeNode TN = new TreeNode("Текст");
    TN.Tag = "Инфа";
    treeView_Folders.Nodes.Add(TN)
 

 
Вопрос: Какой вариант правильный? правильнее?

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 06:55 28-04-2007
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V0lt
правильнее в таге, он как раз для таких случаев и туда можно положить не только стринг, нейм используется для поиска нодов treeView.Nodes.Find(...)

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 09:03 28-04-2007
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
rew
спасибо
 
еще вопросы
1. Как в WebBrowser запретить диалог загрузки файла?
2. Как в WebBrowser открыть нераспознанные файлы в виде обычного текста?
3. В TreeView есть баг. Если добавить ноды и при этом выйти за пределы окна, то через прокрутку нельзя увидеть последний узел. Если раскыть любой узел, то прокрутка начинает прокручивать правильно. Это можно вылечить? (добавить и тут же удалить нод, не помогло)

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 07:03 02-05-2007
rew



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
V0lt
3. никогда с таким не встречался, но попробуй  

Код:
myTreeView.BeginUpdate();
myTreeView.Nodes.Add(..);
myTreeView.EndUpdate();

Всего записей: 442 | Зарегистр. 09-09-2001 | Отправлено: 07:15 02-05-2007
V0lt



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

Цитата:

Код:
myTreeView.BeginUpdate();
myTreeView.Nodes.Add(..);
myTreeView.EndUpdate();

спасибо помогло
 
PS: глюк возникал при первом заполнении TreeView, если его в последующем очистить и по-новой заполнить глюк изчезает.

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 19:00 02-05-2007 | Исправлено: V0lt, 19:02 02-05-2007
Zox



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте уважаемые. Такая у меня дилема. Тока начал под шарпом писать и не пойму как одну вещь сделать. У меня есть клиент к базе данных, но перед тем как в него зайти поидее должна быть авторизация. Так вот как сделать так что-бы сначало появлялось окно авторизации, потом оно убивалось и появлялось главное окно из которого так же нужно вызавть еще некторые вспомогательные? Надо ли создавать MDI приложение или можно как SDI обойтись? И есть ли где нибудь книги по таким вот много оконным и диалогоподобным(т.е. авторизация-вход) интерфейсам?

Всего записей: 44 | Зарегистр. 01-04-2006 | Отправлено: 23:09 09-05-2007
sdubovitsky

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Тебе подойдет и MDI и не MDI вид приложений. Видел когда-нибудь интерфейс Делфей? Панель сверху, панель слева, окно по центру. Не MDI. А вижал студия? MDI приложение.
При создании нового Windows приложения в студии создается файл Form1.cs. В нем есть такой код:

Цитата:
 
static void Main()  
{
    Application.Run(new Form1());
}

Чтобы сделать авторизацию можно поступить следующим образом. Создать форму Login, и а приведенный выше код заменить на следующий:

Цитата:
 
static void Main()  
{
    using (Login lf = new Login())
    {
        lf.ShowDialog();
        Guid userId = InterOp.GetUserId(lf.tbLogin.Text, lf.tbPass.Text);
        if (userId == Guid.Empty)
        {
            MessageBox.Show("В доступе отказано!", "Ошибка!", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
            return ;
        }
        Application.Run(new Form1());
    }
}
 

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

Цитата:
появлялось главное окно из которого так же нужно вызавть еще некторые вспомогательные?

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

Цитата:
 
    private void button1_Click(object sender, System.EventArgs e)
    {
        using (Form2 f = new Form2())
        {
            //модальный режим
            f.ShowDialog();
 
            //открытие не модального окна
            f.Show();
        }
    }

Всего записей: 22 | Зарегистр. 25-07-2006 | Отправлено: 02:05 10-05-2007
Zox



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sdubovitsky - болщой тебе СПС, усе заработало.

Всего записей: 44 | Зарегистр. 01-04-2006 | Отправлено: 22:32 11-05-2007
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вывожу картинку

Код:
try
{
    pictureBox.Image = Image.FromFile(path);
}
catch (Exception)
{
}

Как узнать какой формат файла (jpeg, gif, ...) я загрузил?

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 09:00 16-06-2007
mTxDruG



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Точно не помню, но помоему так:
 

Код:
 
if(image.RawFormat == ImageFormat.Gif)
{
...
}
 

Всего записей: 40 | Зарегистр. 12-01-2003 | Отправлено: 18:13 26-06-2007 | Исправлено: mTxDruG, 18:14 26-06-2007
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mTxDruG
не работает, похоже придется самому глядет в файлы и гадать что там
 
...еще
Можно ли сделать массив из структур (2числа+строка) без жесткого задания количества элементов массива, по аналогии ArrayList? Т.е. мне надо будет добавлять элементы, но сколько их будет неизвестно.

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 20:43 26-06-2007
V0lt



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

Код:
if (pictureBox_viewer.Image.RawFormat.Guid == ImageFormat.Jpeg.Guid)
{
    MessageBox.Show("Это JPEG!", "Информация", MessageBoxButtons.OK);
}

спасибо

Всего записей: 10457 | Зарегистр. 05-02-2003 | Отправлено: 06:44 27-06-2007
mTxDruG



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Угу. Есть там баг какой-то. Можно еще так:
 

Код:
if (ImageFormat.Png.Equals(image1.RawFormat)) MessageBox.Show("image1 is .png");


Всего записей: 40 | Зарегистр. 12-01-2003 | Отправлено: 23:50 02-07-2007
Cosmo_vk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
может кто подскажет, а может и нет. Почему то вылазит ошибка во второй строке:
string strContactID = Convert.ToString(GridView1.DataKeys[intindex].Value);
что индекс выходит за границы допустимого. Но как он может выходить, если в debuger'e значение индекса меньше чем предел у int32? И еще ID-к в колонке "ContactID" не совпадает с номером строки(сортировка по имени идет). Может в этом дело?  

Код:
int intindex = Convert.ToInt32(e.CommandArgument);
         string strContactID = Convert.ToString(GridView1.DataKeys[intindex].Value);
        SqlConnection myCon = new SqlConnection(conSTR);
        try
        {
            string strQuery = "delete from Person.Contact where ContactID =@ContactID";
            SqlCommand myCom = new SqlCommand(strQuery, myCon);
            myCom.Parameters.AddWithValue("@ContactID", Request.QueryString["ContactID"]);
            myCon.Open();
            myCom.ExecuteNonQuery();
            queryresult.Text = "Убил запись ' " +
                Request.QueryString["ContactID"] + " ' причем удачно!";
        }
        catch (Exception ex)
        {
            queryresult.Text = "Ошибочка: " + ex.Message;
        }
        finally
        {
            myCon.Close();
        }
 

Всего записей: 59 | Зарегистр. 08-06-2007 | Отправлено: 23:05 03-07-2007 | Исправлено: Cosmo_vk, 23:06 03-07-2007
BlackVetal



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

Цитата:
Convert.ToString(GridView1.DataKeys[intindex].Value);

 
у тебе вроде выходит за диапозон твоих индексов а не INT32. Попробуй вот такое выражение:
 

Цитата:
Convert.ToString(GridView1.DataKeys[intindex + 1].Value);

 
насколько я помню в гриде индесация начинается с единицы ...

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:38 04-07-2007
Cosmo_vk



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BlackVetal
индексация идет с нуля. Единственное, что в коде что я привел, вытаскивается индекс текущей строки, что меня вообще не устраивает. Поясню, вываливается таблица по запросу и сортировкой по фамилии, соответственно индекс строки и индекс(ContactID) в базе данных не совпадает(например, индекс строки 5, а индекс в базе вообще во второй тысяче). Придется делать по другому и вытаскивать значение в ячейке(ContactID) и уже через него работать.  
 
А по твоей поправке все правильно, действительно надо +1, но опять выкидывается ошибка с OutOfRange.

Всего записей: 59 | Зарегистр. 08-06-2007 | Отправлено: 14:06 04-07-2007
prizrakm

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
помогите с таким вопросом:
 
string rv = "@C:\\WINDOWS\\system32\\SHELL32.dll,-9216";  
string rp = "\\Software\\Microsoft\\Windows\\ShellNoRoam\\MUICache";
RegistryKey r = Registry.CurrentUser.OpenSubKey(rp, true);
textBox1.Text = r.GetValue(rv).ToString();
 
пишет ошибку: NullReferenceExeption was unhandled.
Object reference not set to an instance of an object.
-
как обратится к параметру реестра если его имя "@C:\\WINDOWS\\system32\\SHELL32.dll,-9216"  ???

Всего записей: 2 | Зарегистр. 04-07-2007 | Отправлено: 23:24 04-07-2007 | Исправлено: prizrakm, 23:26 04-07-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 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