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

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

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

avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребят, подскажите.
есть 2 массива.в обоих имена файлов с различным регистром в имени, но файлы одинаковые по содержанию.
так вот как реализовать при сравнеии массива 1 с массивом 2, чтобы не учитывался регистр имен файлов, кот находятся в массивах?только по имени.
и еще вопросик .
у меня в ShowBalloonTip не все строки влазят =)

Код:
 
this.notifyIcon1.ShowBalloonTip(500, "", "" + firstfile, ToolTipIcon.Info);
 

скока строк у него влазит?
я так понимаю нужно разбивать firstfile, по другому никак?

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 17:00 25-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток!
нужна помощь, если сможите помогите плиз))
Создаю тест, почти всё сделал только вот с последнем проблемка, не могу никак подсчитать балы для результата...совсем не соображу
вот мой код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
 
namespace Курсовая
{
    public partial class Form1 : Form
    {
        int Num;
        List<string> questions = new List<string>();
        int[] answers;
        public Form1()
        {
            InitializeComponent();
 
             
        }
        private void button1_Click(object sender, EventArgs e)
        {
            if (radioButton1.Checked) answers[Num] = 4;
            if (radioButton2.Checked) answers[Num] = 3;
            if (radioButton3.Checked) answers[Num] = 2;
            if (radioButton4.Checked) answers[Num] = 1;
            Num++;
            richTextBox1.Text = questions[Num];
            switch (answers[Num])
            {
                case 4: radioButton1.Checked = true; break;
                case 3: radioButton2.Checked = true; break;
                case 2: radioButton3.Checked = true; break;
                case 1: radioButton4.Checked = true; break;
            }
        }
   
        private void Form1_Load(object sender, EventArgs e)
        {
            questions.Add("Я чувствителен к молве.");
            questions.Add("Я нуждаюсь в одобрении близких.");
            questions.Add("Я бываю обескуражен проваломю");
            questions.Add("Я смотрю телевизор, занимаясь чем-то другим.");
            questions.Add("Я люблю читать любовные романы.");
            questions.Add("Я придаю значения деталям.");
            questions.Add("Я чувствую себя неловко в незнакомых ситуациях.");
            questions.Add("Я всё время нуждаюсь в движении, действии.");
            questions.Add("Я люблю конкретные,чёткие объяснения.");
            questions.Add("Я скорее нетерпелив.");
            questions.Add("Я уделяю много внимания своей внешности.");
            questions.Add("Я с беспокойством думаю о будущем.");
            questions.Add("Я плохо воспринимаю критику.");
            questions.Add("Я легко отвлекаюсь.");
            questions.Add("Я спонтанно говорю то, что думаю.");
            answers = new int[15];
            Num = 0;
            richTextBox1.Text = questions[0];
        }
 
     
         
         
 
     
        private void button3_Click(object sender, EventArgs e)
        {
            if (radioButton1.Checked) answers[Num] = 4;
            if (radioButton2.Checked) answers[Num] = 3;
            if (radioButton3.Checked) answers[Num] = 2;
            if (radioButton4.Checked) answers[Num] = 1;
            Num--;
            richTextBox1.Text = questions[Num];
            switch (answers[Num])
            {
                case 4: radioButton1.Checked = true; break;
                case 3: radioButton2.Checked = true; break;
                case 2: radioButton3.Checked = true; break;
                case 1: radioButton4.Checked = true; break;
            }
        }
 
    }
}
 

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 20:02 25-05-2009
Omicron_Persey_8



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

Цитата:
как реализовать при сравнеии массива 1 с массивом 2, чтобы не учитывался регистр имен файлов

Как всегда миллионом способов:

Код:
Compare(String, String, Boolean)
Compares two specified String objects, ignoring or honoring their case (Если третий параметр установить в true, то сравнение будет происходить без учета регистра). Дальше как обычно: если результат <0, то левый параметр меньше; если =0, то параметры равны; если >0, то левый параметр больше.
Ну и еще:

Код:
string a = "OnE";
            string b = "one";
            if (a.ToLower() == b.ToLower())
            {
 
            }

 
LuckyStrike

Цитата:
не могу никак подсчитать балы для результата...

Я так понял, что в элементе массива answers[i] содержится количество баллов за i-ый вопрос? Тогда результатом теста будет сумма элементов массива answers.
Вариант простой:

Код:
int sum=0;
foreach(int number in answers)
    sum+=number;
 

Вариант еще проще:

Код:
answers.Sum();

 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 08:55 26-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо большое!
но у меня еще один вопрос...делайю прогу, типа небольшого фотошопа, написал код для изменения цветов красного, синего и зелённого....вроде работает, но как-то не так) медленно и не аккуратно меняет цвета...посмотрите плиззз
 
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
 
namespace ФотоЖоп
{
    public partial class Form1 : Form
    {
        Panel panel;
        Label[] alabelName = new Label[33];
        Label[] alabelValue = new Label[33];
        VScrollBar[] avsscroll = new VScrollBar[33];
        protected Image image;
 
        private void Form1_Load(object sender, EventArgs e)
        {
            Application.Run(new Form1());
        }
 
        public Form1()
        {
            Text = "ФотоЖоп";
            Color[] acolor = { Color.Red, Color.Green, Color.Blue };
 
            panel = new Panel();
            panel.Parent = this;
            panel.Location = new Point(0, 0);
            panel.BackColor = Color.White;
 
 
            for (int i = 0; i < 3; i++)
            {
                alabelName[i] = new Label();
                alabelName[i].Parent = panel;
                alabelName[i].ForeColor = acolor[i];
                alabelName[i].Text = "" + acolor[i].ToKnownColor();
                alabelName[i].TextAlign = ContentAlignment.MiddleCenter;
 
                avsscroll[i] = new VScrollBar();
                avsscroll[i].Parent = panel;
                avsscroll[i].SmallChange = 1;
                avsscroll[i].LargeChange = 16;
                avsscroll[i].Minimum = 0;
                avsscroll[i].Maximum = 255 + avsscroll[i].LargeChange - 1;
                avsscroll[i].ValueChanged += new EventHandler(ScrollOnValueChanged);
                avsscroll[i].TabStop = true;
 
                alabelValue[i] = new Label();
                alabelValue[i].Parent = panel;
                alabelValue[i].TextAlign = ContentAlignment.MiddleCenter;
            }
 
            Color color = BackColor;
            avsscroll[0].Value = color.R;
            avsscroll[1].Value = color.G;
            avsscroll[2].Value = color.B;
            OnResize(EventArgs.Empty);
            }
           
           protected override void OnResize(EventArgs e)
        {
            base.OnResize(e);
 
            int cx = ClientSize.Width;
            int cy = ClientSize.Height;
            int cyFont = Font.Height;
 
            panel.Size = new Size(cx / 2, cy);
 
            for (int i = 0; i < 3; i++)
            {
                alabelName[i].Location = new Point(i * cx / 6, cyFont / 2);
                alabelName[i].Size = new Size(cx / 6, cyFont);
 
                avsscroll[i].Location = new Point((4 * i + 1) * cx / 24, 2 * cyFont);
                avsscroll[i].Size = new Size(cx / 12, cy - 4 * cyFont);
 
                alabelValue[i].Location = new Point(i * cx / 6, cy - 3 * cyFont / 2);
                alabelValue[i].Size = new Size(cx / 6, cyFont);
            }
        }
 
        void ScrollOnValueChanged(object sender, EventArgs e)
        {
            for (int i = 0; i < 3; i++)
                if ((VScrollBar)sender == avsscroll[i])
                    alabelValue[i].Text = avsscroll[i].Value.ToString();
            if (image != null)
            {
                Bitmap B = new Bitmap(image);
                for (int x = 0; x < B.Width; x++)
                    for (int y = 0; y < B.Height; y++)
                    {
                        Color c = B.GetPixel(x, y);
                        byte p = (byte)(c.R + avsscroll[0].Value);
                        byte q = (byte)(c.G + avsscroll[1].Value);
                        byte r = (byte)(c.B + avsscroll[2].Value);
                        B.SetPixel(x, y, Color.FromArgb(p, q, r));
                    }
                image = (Image)(B.Clone());
            }
            Invalidate();
 
        }
    }
}

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 18:07 26-05-2009
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добрый вечер, вопрос по WPF :
  В памяти есть обьект System.Drawing.Icon с некой иконкой.
  У формы есть свойство Window.Icon имеющее тип ImageSource,  
что на самом деле является URI ссылкой(ориентация под www и
 совместимость с SilverLight)
 
Вопрос в том как поместить эту иконку на форму не сохраняя ее на диск.

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 01:38 27-05-2009 | Исправлено: May_Johnson, 01:42 27-05-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike
Ну, первое, что бросается в глаза, это пара функций GetPixel/SetPixel. В .NET их производительность ужасна, особенно, если применять их к каждому пикселу bitmap'а. Да и к тому же, чтобы залить bitmap одним цветом не обязятельно делать это попиксельно. Почему бы не нарисовать прямоугольник определенного цвета?

Код:
Graphics g = Graphics.FromImage(bitmap); // Создаем канву для рисования из Bitmap'а
            g.Clear(Color.LightBlue);  // Заливаем фон
            g.FillRectangle(Brushes.Red, 10,10,50,50); // Что-нибудь рисуем
            g.Dispose(); // И удаляем канву, чтобы не мешалась

И если уж совсем нужна попиксельная обработка, то тогда нужно фиксировать в памяти данные bitmap'а и из неуправляемого кода с помощью указателей пробегать по массиву.
И засовывай код в теги кода, а то читать неудобно.
 
 
Добавлено:
May_Johnson
А чего она в памяти-то? Во время выполнения рисуется что ли? Что мешает ее сохранить?
Ну если совсем нужно, то обрати внимание на  System.Windows.Media.Imaging.BitmapSource, у которого есть метод Create, позволяющий загружать bitmap из массива пикселов
Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32) - Creates a new BitmapSource from an array of pixels.  
Сreate(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32) - Creates a new BitmapSource from an array of pixels that are stored in unmanaged memory.  
 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 08:16 27-05-2009 | Исправлено: Omicron_Persey_8, 08:28 27-05-2009
deadsy



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа Гуру, подскажите,
как можно на C# снять скриншот с компонента наследника от Control
и загрузить его в компонент PictureBox не используя временных файлов (ну к примеру пользуясь MemoryStream'ами) ?

Всего записей: 44 | Зарегистр. 05-08-2004 | Отправлено: 17:18 27-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Прямоугольник определенного цвета мне не надо, я же говорю, создаю по типа фотошопа, то есть цвета менять на какой-либо картинке

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 17:20 27-05-2009
May_Johnson



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

Цитата:
Omicron_Persey_8
А чего она в памяти-то? Во время выполнения рисуется что ли? Что мешает ее сохранить?
Ну если совсем нужно, то обрати внимание на  System.Windows.Media.Imaging.BitmapSource, у которого есть метод Create, позволяющий загружать bitmap из массива пикселов
Create(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, Array, Int32) - Creates a new BitmapSource from an array of pixels.  
Сreate(Int32, Int32, Double, Double, PixelFormat, BitmapPalette, IntPtr, Int32, Int32) - Creates a new BitmapSource from an array of pixels that are stored in unmanaged memory.  

 
 
Иконка не внутри формы, это иконка самой формы, а переделывать template совсем не хочется. как получить BitмapSource я знаю, вот только это не то что нужно (несовместимые типы) нужен ImageSource.  
 
 А конка обьектом а не ссылкой потомучто берется  из коллекции System.Drawing.SystemIcons
 если такскать с приложением набор картинок то не будет зависимости от настроек системы, а сохранять картинку каждый раз при вызове окна - глупость

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 19:49 27-05-2009 | Исправлено: May_Johnson, 19:52 27-05-2009
Omicron_Persey_8



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

Код:
Image myImage = new Image();
            // Set image source.
            myImage.Source = Imaging.CreateBitmapSourceFromHIcon(System.Drawing.SystemIcons.Information.Handle, new Int32Rect(0, 0, 32, 32), System.Windows.Media.Imaging.BitmapSizeOptions.FromWidthAndHeight(32, 32));
            this.Icon = myImage.Source;

Черт, на этот код рожает исключение "ImageSource for Icon property must be an icon file."
Что в принципе довольно-таки логично, так как пока WPF отвечает за прорисовку только клиентской части окна (заголовок и рамку рисует винда).
Придется, видать, все иконки в ресурсы кидать или на целевой винде искать (где-то они храниться должны)

Цитата:
а сохранять картинку каждый раз при вызове окна - глупость

А зачем каждый раз? Один раз при инсталляции, ну или совсем на крайняк при запуске
LuckyStrike

Цитата:
Прямоугольник определенного цвета мне не надо

А чего же, уважаемый, вам надо? Судя по сему коду
Код:
for (int x = 0; x < B.Width; x++)  
                    for (int y = 0; y < B.Height; y++)  
                    {  
                        Color c = B.GetPixel(x, y);  
                        byte p = (byte)(c.R + avsscroll[0].Value);  
                        byte q = (byte)(c.G + avsscroll[1].Value);  
                        byte r = (byte)(c.B + avsscroll[2].Value);  
                        B.SetPixel(x, y, Color.FromArgb(p, q, r));  
                    }

вы каждый пиксел изображения закрашиваете одним цветом, логично закрасить всю картинку одноцветным прямоугольником, что будет гораздо быстрее. Ну не знаю я, что такое этот ваш "Фотошоп". А если вам нужно все красные пикселы на картинке заменить на зеленые (например), то стоило так и написать. На это обратите внимание:
http://habrahabr.ru/blogs/net/60085/
http://habrahabr.ru/blogs/net/60175/
 
Добавлено:
deadsy
Вот так

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 09:38 28-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
А ти мне бы не мог подкинуть пару ссылочек с кодами, мне нужно еще написать увелечение, уменьшение картинки и кадрирование(то есть вырезать определенный кусок из картинки)

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 19:39 28-05-2009
Omicron_Persey_8



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

Цитата:
мне нужно еще написать увелечение, уменьшение картинки

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

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:11 29-05-2009
May_Johnson



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

Цитата:
deadsy
Господа Гуру, подскажите,
как можно на C# снять скриншот с компонента наследника от Control
и загрузить его в компонент PictureBox не используя временных файлов (ну к примеру пользуясь MemoryStream'ами) ?

 
 
 Почитай http://coder89.habrahabr.ru/blog/58806/
только надо будет самому вычислить координаты конрола, и вырезать его из скриншота

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 18:03 29-05-2009 | Исправлено: May_Johnson, 18:06 29-05-2009
deadsy



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

Цитата:
 Почитай http://coder89.habrahabr.ru/blog/58806/
только надо будет самому вычислить координаты конрола, и вырезать его из скриншота

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

Всего записей: 44 | Зарегистр. 05-08-2004 | Отправлено: 22:24 29-05-2009
Omicron_Persey_8



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

Цитата:
Добавлено:  
deadsy  
Вот так

Это-то чем не устраивает? И сразу в объект Bitmap сохраняет. Рисуй где хочешь

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 13:58 30-05-2009 | Исправлено: Omicron_Persey_8, 13:59 30-05-2009
085



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Чтобы в mssql server пароль мог быть и цифрой и текстом надо ставить sqlvariant ? Просто до того когда проект скомилится ещё долго и немогу сам глянуть

Всего записей: 79 | Зарегистр. 17-09-2008 | Отправлено: 10:33 31-05-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
млин....я никак не соображу....помогите, нужен код для изменения цвета в картинки, как в фотошопе, например изменение RGB цветов, то есть больше допустим красного, меньше зелённого и т.п. и масштабирование картинки увеличить, уменьшать

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 14:50 05-06-2009
Omicron_Persey_8



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

Цитата:
 нужен код для изменения цвета в картинки, как в фотошопе, например изменение RGB цветов, то есть больше допустим красного, меньше зелённого и т.п. и масштабирование картинки увеличить, уменьшать

Это сколько угодно. Качаешь прогу Paint.NET, декомпилируешь Reflector'ом и выбираешь код, который тебе нужен.
А если серьезно, то почти все, что нужно есть здесь.  
Вот мой вариант. Оно?

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 18:50 05-06-2009
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сори, а что за Reflector...первый раз слышу?) ^_^
 
Добавлено:
я тоже подумал насчет Paint.Net...мне как раз вроде него надо, тока немного попроще, тока код найти никак не могу, Omicron_Persey_8
если надешь, пришли ссылку пожалуйста
 
Добавлено:
я тоже подумал насчет Paint.Net...мне как раз вроде него надо, тока немного попроще, тока код найти никак не могу, Omicron_Persey_8
если надешь, пришли ссылку пожалуйста
 
Добавлено:
Omicron_Persey_8
у меня чет не получаеться твой файл скачать....через че качать?
 
Добавлено:
Omicron_Persey_8
А помоги вытащить код из paint.net масштабирования, я чет ищу ненайду((

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 18:53 05-06-2009
Lihonosov

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
LuckyStrike
http://www.getpaint.net/download.html

Всего записей: 537 | Зарегистр. 05-07-2007 | Отправлено: 00:01 06-06-2009
Открыть новую тему     Написать ответ в эту тему

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