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

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

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

SchwarzeSonne

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток! Не так давно начал писать под .NET(на C#) и опять-таки не дает покоя вопрос памяти. Как я понял, диспетчер задач в случае НЕТ приложения  в графе "памятЬ"показывает его working-set(а не память реально потребляемую). Но почему при перемещении окна, изменении размера и даже при перемещении указателя мыши поверх активного приложения увеличивается этот самый working-set? Нигде не могу найти какое-либо внятное объяснение... Буду оч. признателен за помощь!

Всего записей: 1 | Зарегистр. 31-03-2009 | Отправлено: 20:13 31-03-2009
avkorets



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

Код:
 
            string[] lines = File.ReadAllLines(@"C:\Program Files\1\123.txt",Encoding.Default);
            for (int i = 0; i < lines.Length; i++)
            {
                if (lines[i].IndexOf("x") != -1)  
//как тока находит строку с этого момента начинаем выводить строки ну в мессажбокс например
//до момента пока не встретиться строка
                if (lines[i].IndexOf("y") != -1)
//после этой строки перестаем выводить в месаж бокс и показваем месаж бокс.
 

вот ищу по совпадениям indexof(x) -нашел а как сделать чтоб дальше выводил все до момента пока не найдет indexof(y) не пойму...
то бишь все строки между x и y грубо говоря =)

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 20:17 31-03-2009
Lazy KoT



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

Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 21:09 31-03-2009
V0lt



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

Код:
string[] lines = File.ReadAllLines(@"C:\Program Files\1\123.txt",Encoding.Default);
bool getstr = false;
for (int i = 0; i < lines.Length; i++)
{
    if (lines[i].IndexOf("y") != -1) getstr = false;
    if (getstr) MessageBox.Show(lines[i], "Строка "+i, MessageBoxButtons.OK, MessageBoxIcon.Information);
    if (lines[i].IndexOf("x") != -1) getstr = true;
}

PS: строки содержащие x и y не выводятся. Не понятно, что делать если в строке есть x и y, но это ты сам.

Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 21:23 31-03-2009 | Исправлено: V0lt, 21:24 31-03-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
=)
дык после первого   if (lines[i].IndexOf("x") != -1)  он мне выдаст 1 строку которую нашел по совпадению..а мне нужно чтобо ее и после нее печатал до момента if (lines[i].IndexOf("y") != -1) ну тут уже как Вы сказали break;

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 21:26 31-03-2009
Omicron_Persey_8



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

Код:
private void InitializeComponent()
        {
            this.dateTimePicker1 = new System.Windows.Forms.DateTimePicker();
            this.SuspendLayout();
            //  
            // dateTimePicker1
            //  
            this.dateTimePicker1.Location = new System.Drawing.Point(127, 86);
            this.dateTimePicker1.MaxDate = DateTime.Today;
            this.dateTimePicker1.Name = "dateTimePicker1";
            this.dateTimePicker1.Size = new System.Drawing.Size(200, 20);
            this.dateTimePicker1.TabIndex = 0;

Хм, ни разу не видел, чтобы студия себе такие фортели позволяла. Попробовал твой пример повторить - устанавливал для dateTimePicker'а максимальную дату от DateTime.Today. Все очень пристойно, дату позволяет выбирать нормально.
 
Disperados

Цитата:
myCommand.Parameters.Add("DDATA", SqlDbType.DateTime);  
 myCommand.Parameters["DDATA"].Value = dateTimePicker2.Value;  
формат даты в базе такой 2006-01-23 10:30:00.000  
dateTimePicker2.CustomFormat = "yyyyMMdd hh:mm:ss";

Все с полпинка заработало в MSVS 2008:

Код:
cmd.Parameters.Add("Data", SqlDbType.DateTime);
            cmd.Parameters["Data"].Value = dateTimePicker1.Value;

И CustomFormat будет работать, если  

Код:
dateTimePicker1.Format = DateTimePickerFormat.Custom;
 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 11:33 01-04-2009
Lazy KoT



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

Код:
            string[] lines = File.ReadAllLines(@"C:\Program Files\1\123.txt", Encoding.Default);
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < lines.Length; i++)
            {
                if (lines[i].IndexOf("x") != -1)
                {
                    sb.AppendFormat("{0}\n", lines[i]);
                }
 
                if (lines[i].IndexOf("y") != -1)
                {
                    break;
                }
            }
            MessageBox.Show(sb.ToString());


Всего записей: 204 | Зарегистр. 10-09-2004 | Отправлено: 13:14 01-04-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Lazy KoT
спсиб
V0lt
спасиб
Omicron_Persey_8
спасиб вроде разобрался
 
Ток вот чойт не пойму почему выводит в одну строку??

Код:
 
string[] lines = File.ReadAllLines(@"C:\Program Files\1\123.txt",Encoding.Default);  
bool getstr = false;
string line ="";  
for (int i = 0; i < lines.Length; i++)  
{  
    if (lines[i].IndexOf("y") != -1) getstr = false;  
    if (getstr) line += lines[i];
    if (lines[i].IndexOf("x") != -1) getstr = true;  
}
MessageBox.Show(line );
 

почему в переменной line он отображает перенос \n
а при выводе в мессаджбокс клеит кусок от х до у все слитно?
если добавить line += lines[i]+"\n" то ставит два интера т.е. переносит строку дважды
...это глюк?
 
 
Добавлено:
да и еще а как распечатать line?
из файла научился печатать а сразу из стринга как?

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 16:20 01-04-2009
dfHunter

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
нужны функции для работы с sqlite3 на C#
дайте линк плз

Всего записей: 27 | Зарегистр. 22-05-2008 | Отправлено: 17:07 01-04-2009
V0lt



Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь пишет утилиты для Solid Edge на C#?

Всего записей: 10456 | Зарегистр. 05-02-2003 | Отправлено: 19:38 01-04-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dfHunter
Да пожалуйста
http://www.phpguru.org/static/SQLite.NET.html
http://sqlite.phxsoftware.com/
 
avkorets

Цитата:
да и еще а как распечатать line?  
из файла научился печатать а сразу из стринга как?

Используй компонент PrintDocument, подписывайся на событие PrintPage и печатай. Адекватный пример есть в MSDN.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 10:46 02-04-2009 | Исправлено: Omicron_Persey_8, 10:49 02-04-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
ага спасибо разобрался..
правда если строка вылазиит за поля как вылечить?

Код:
 
        private void OnPrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            int y = e.MarginBounds.Left;
            int x = e.MarginBounds.Top;
            Font arialFont = new Font("Arial", 10, FontStyle.Regular);
            Brush blackBrush = new SolidBrush(Color.Black);
            e.Graphics.DrawString(line, arialFont, blackBrush, x, y);
            y += 15;
        }
 

line  у меня такого типа "wwww\n sdsdsd\n sdasdasd\n fff.............fff"
если f вылазит за границу листа то он не переносит а печатае себе дальше =)

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 12:05 02-04-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
Это придется самому руками измерять длинну печатаемой строки при помощи Graphics.MeasureString()
Вот пример из MSDN:

Код:
private void printDocument1_PrintPage(object sender, PrintPageEventArgs e)
{
    int charactersOnPage = 0;
    int linesPerPage = 0;
 
    // Здесь мы считаем, сколько символов заданным шрифтом
    // уместится на странице
    e.Graphics.MeasureString(stringToPrint, this.Font,
        e.MarginBounds.Size, StringFormat.GenericTypographic,
        out charactersOnPage, out linesPerPage);
 
    // Рисуем строку
    e.Graphics.DrawString(stringToPrint, this.Font, Brushes.Black,
        e.MarginBounds, StringFormat.GenericTypographic);
 
    // Обрезаем часть строки, которую уже напечатали
    stringToPrint = stringToPrint.Substring(charactersOnPage);
 
    // Check to see if more pages are to be printed.
    e.HasMorePages = (stringToPrint.Length > 0);
}
 

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 14:27 02-04-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
Спасибо огромное =)
 
Попутно возник вопрос по массивам.
ищу файлы найденные загоняю в массив А.Через 1 минуту опять ищу загоняю в массив Б.
Нан сравнить и вывести ток то что есть в Б за исключением элементов которые есть в А.
т.е. если  в Б есть эелемнты которых нет в А то вывести если есть совпадения то не выводить.Ну типа отслеживание появления новых файлов...К сожалению watcher  не выход (файлы переносятся утилитой х.з. кем написанной так вот при переносе данной утилитой винда не отслеживает появление нового файла, хотя если создавать или копировать средствами винды то норм отслеживает.)

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 17:03 02-04-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
У массива есть метод Contains(), который проверяет наличие элемента. Пробегай в цикле массив Б, для каждого элемента ищи вхождение в А.
Если по производительности устроит, то так и оставь. Если нет, то надо будет копать в сторону словарей и LINQ'а

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 09:52 03-04-2009
NiFiGaSebe

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите каким образом можно считать данные из флешки (swf)? Есть флеш, который динамически обновляется, грубо говоря это какие-то цифры. Возможно ли как-нибудь образом их считать?

Всего записей: 55 | Зарегистр. 21-04-2006 | Отправлено: 13:05 03-04-2009
avkorets



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Omicron_Persey_8
спасиб еще раз.
а как условие написать совпало или нет???
 
а все разобрался =)
ток единственное не получается скопировать один массив в другой...
делаю так myBL.CopyTo(myAL);
но видимо нужно подругому...

Всего записей: 81 | Зарегистр. 09-09-2008 | Отправлено: 13:35 03-04-2009 | Исправлено: avkorets, 14:12 03-04-2009
Omicron_Persey_8



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
avkorets
Ну не позорься. Ты же из студии работаешь, а там, сигнатуру метода всегда можно узнать, нажав клавиши CTRL+Space (по умолчанию)
Полная сигнатура метода: bool Array.Contains().

Код:
foreach(int item in myBL)
{
    if(myAL.Contains(item))
    {
        // чего-то там
    }
}

Массивы лучше перебирай при помощи foreach, он пошустрей работает. Если, конечно, не будешь массив в цикле изменять.

Всего записей: 282 | Зарегистр. 02-09-2007 | Отправлено: 14:22 03-04-2009
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В vb.net при загрузке формы помимо всего прочего контрол заполняется thumbnails. Аналогично Adobe Reader. Эта процедура занимает довольно ощутимое(для юзера) время. Сама програма на это время замерзает. Скрин не доступен.  
Пробовал вынести в tread, но не помогло. Пробовал делать контрол невидимым. По аналогии с заполнением гридов(без построчной перерисовки скрина). Тоже самое - форма не реагирует на обращения до окончания работы функции.
 
Что можно сделать что бы данный процесс не мешал отработке событий формы и других контролов.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:19 04-04-2009 | Исправлено: dneprcomp, 21:21 04-04-2009
eLLoco



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Попробуй BackgroundWorker (MSDN).

Всего записей: 217 | Зарегистр. 03-08-2007 | Отправлено: 09:18 05-04-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