Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: LuckyStrike
Дата сообщения: 03.12.2009 18:27
Доброго времени суток парни....нужно решить реализовать алгоритм квайна Мак-Класки в с#....никак не соображу как....помогите плиз
Автор: delover
Дата сообщения: 03.12.2009 22:52
Простите меня тёмного заранее, так как я ещё не перешёл на великий ADO.NET. У меня вопрос который может быть кому-то знаком. Я наваял первоё своё COM+ приложение с датамодулем ADO. Модуль создаётся таким образом

Код: library...
...
begin
application.createform(tdm_common, dm_common);
end.
Автор: blaro
Дата сообщения: 06.12.2009 13:39
Я в своем проекте подключил внешнюю библеотеку, а потом создал новый объект

Цитата:

IConfigSource source = new IniConfigSource("config.ini");

после этого компилятор выдал сообщение об ошибке

Цитата:

object reference not set to an instance of an object

Пошел погуглил. Из описания в некоторых сообщенях понял, что есть объекты которые не инициализированы. Кто знает как это исправить?

Добавлено:
Проверил опять. Вроде как объект source не null перед вызовом. Хотя это не так.

Добавлено:
Нашел проблему. В файле были записи. После того как я стер все в файле все ошибки исчезли. Вот только теперь прога не пишет в файл.

Добавлено:
Вот код:

Цитата:

using Nini.config; // ссылка на описание этой библиотеки есть выше

private void Button_Click(object sender, EventArgs e)
{
IConfigSource source = new IniConfigSource("config.ini");
IniConfig ic=new IniConfig("Editor",source);
source.AddConfig("Configs"); //Только эта запись добавляется в файл в виде [Config]
ic.Set("Editor", tbeditor.Text);
ic.Set("Color", picColor.BackGroundColor.ToString());
source.Save();
Setting.ActiveForm.Close();
}
Автор: derelict
Дата сообщения: 06.12.2009 20:39
blaro
Надо делать так:

Код:
IConfigSource source = new IniConfigSource("config.ini");
IConfig config = source.AddConfig("Configs");
config.Set("Editor", tbeditor.Text);
Автор: blaro
Дата сообщения: 07.12.2009 11:07
derelict
Да я уже разобрался с этим. Но все равно спасибо.
Автор: derelict
Дата сообщения: 07.12.2009 11:28

Цитата:
Да я уже разобрался с этим.

Просто ты же не написал, что проблема уже решена.
Автор: blaro
Дата сообщения: 07.12.2009 18:32
У меня теперь такой вопрос, как перевести строку в объект Color?
Строка дается в таком формате:

Цитата:

[A=xx, R=xxx, G=xxx, B=xxx] // где ххх это число

Пробовал сделать через функции ColorConverter'а, а он ругается что строка, которую он получает из файла неправильного формата.
Автор: derelict
Дата сообщения: 07.12.2009 18:59
Можно так:

Код:
Match result = Regex.Match(str, @"\[A=(\d+), R=(\d+), G=(\d+), B=(\d+)\]", RegexOptions.Singleline | RegexOptions.IgnoreCase);
Color c = Color.FromArgb(int.Parse(result.Groups[1].Value), int.Parse(result.Groups[2].Value), int.Parse(result.Groups[3].Value), int.Parse(result.Groups[4].Value));
Автор: blaro
Дата сообщения: 07.12.2009 22:10
Спасибо. Теперь работает как мне надо.
Автор: numetalist
Дата сообщения: 08.12.2009 10:29
ppkp

Цитата:
Повторил полностью Ваш код - мерцания нет. DirectX март 2009

Убрал данный код из метода, который вызывается сразу после инициализации формы и переместил в обработчик события нажатия клавиш. Всё работает нормально.

Цитата:
В обрработчике Paint написал

с текстом вроде как разобрался, только он не выводится в полноэкранном режиме.
на сколько целесообразно создавать и инициализировать устройство каждый раз с перерисовкой области? Не будет ли это отрицательно влиять на производительность приложения? Перерисовка выполняется 25 раз в секунду....
Автор: alexuni
Дата сообщения: 08.12.2009 12:26
Всем добрый день! Мне необходимо написать лабу с заголовком "ведение статистики количества запущенных процессов на хост-системе", соответственно и рассчитать то, что указано в названии... Рассчитываю на вашу помощь!!
Автор: niichavo
Дата сообщения: 08.12.2009 13:59
alexuni

Цитата:
Рассчитываю на вашу помощь!

Помощь: Process.GetProcesses(); // пространство имён - System.Diagnostics
Автор: blaro
Дата сообщения: 09.12.2009 20:52
У меня такой вопрос. Я написал функцию (новая версия) которая должна сравнивать два текста и отмечать отличия. Добавил индекс, и теперь функция отмечает цветом отличия, но только на первой строке Что нужно добавить/изменить чтобы функция также отмечала отличия на всех последующих строках если они есть?
Вот сам код:

Код:
public void CompareFile(RichTextBox rtb1, RichTextBox rtb2)
{
int index = -1;
for (int i = 0; i < rtb1.Lines.Length || i < rtb2.Lines.Length; i++)
{
if (rtb2.Lines[i].Equals(rtb1.Lines[i].ToString()))
{
continue;
index +=rtb2.Lines[i].Length-1;
}
else
{
string st1 = rtb1.Lines[i], st2 = rtb2.Lines[i];
for (int j = 0; j < rtb2.Lines[i].Length - 1; j++)
{
index++;
if (st2[j] != st1[j])
{
rtb2.SelectionBackColor = Color.Pink;
rtb2.Select(index, 1);
}
}
}
}
Автор: BlackVetal
Дата сообщения: 10.12.2009 05:19

Код: public void CompareFile(RichTextBox rtb1, RichTextBox rtb2)
{
int index = 0;
for (int i = 0; i < rtb1.Lines.Length || i < rtb2.Lines.Length; i++)
{
if (rtb2.Lines[i].Equals(rtb1.Lines[i].ToString()))
{

index +=rtb2.Lines[i].Length-1;
continue;
}
else
{
string st1 = rtb1.Lines[i], st2 = rtb2.Lines[i];
for (int j = 0; j < rtb2.Lines[i].Length - 1; j++)
{
index++;
if (st2[j] != st1[j])
{
rtb2.SelectionBackColor = Color.Pink;
rtb2.Select(index, 1);
}
}
}
}
Автор: blaro
Дата сообщения: 10.12.2009 13:44
Нет, все равно работает с ошибками. Если есть различия между двумя первыми строками, то функция отмечает где надо, на других строках отмечает не то что надо или не отмечает совсем.
Автор: Denchik
Дата сообщения: 10.12.2009 15:03
blaro
вызовите rtb2.Refresh() в конце CompareFile. Также можно избавиться от index используя GetFirstCharIndexFromLine().
Автор: blaro
Дата сообщения: 10.12.2009 19:15
Denchik
И что мне делть с этой функцией GetFirstCharIndexFromLine()?
Автор: StanFreeWare
Дата сообщения: 10.12.2009 21:48
Требуется помощь.
Запускаю через System.Diagnostic.Process.Start консольную утилиту, которая принимает как один из параметров путь к файлу, и в процессе работы добавляет к этому файлу некоторую информацию. Если путь к папке, в которой находится файл, содержит русские буквы, то все проходит как надо - после работы утилиты остается один файл с добавленной информацией. Если не содержит, то после работы утилиты появляется новый файл с именем раза в 2 длиннее, чем исходный, куда и добавляется информация утилитой. Похоже на то, что Unicode-кодировка, которой было записано имя файла побайтно преобразуется в кодироку 1251 файловой системы во время добавления информации утилитой
Пока что придумал создавать русскую подпапку, перемещать туда файл, там обрабатывать утилитой, перемещать обратно, удалять русскую подпапку.

Интересует, есть ли более адекватный задаче способ решения?
Автор: blaro
Дата сообщения: 12.12.2009 13:07

Цитата:
И что мне делть с этой функцией GetFirstCharIndexFromLine()?

Cнимаю этот вопрос...
Автор: blaro
Дата сообщения: 13.12.2009 22:29
У меня возникли пара вопросов
1) Есть groupbox в котором есть несколько checkbox'ов. Как узнать помечен ли checkbox галочкой? Половину условия я написал, а дальше не знаю как

Цитата:
if(qroupbox.Controls[i] is CheckBox && ...


2) Когда я загружаю свою программу, она читает некоторые настройки из файла. Если изменить настройки во время работы программы, они сохранятся в файл как положенно, но сама программа не будет с ними работать. Она продолжит работать с старыми настройками, которые были получены при запуске. Настройки читаются из файла при вызове функции. Что нужно изменить в программе, чтобы она принимала измененые настройки?
Автор: ppkp
Дата сообщения: 13.12.2009 22:54
blaro
Смотря какие настройки. Если в них хранится, например, размер формы, то он и так поменяется при Resize и сохранится при выходе. Но это очевидно. У Вас какие-то специфические настройки? Уточните.
Автор: derelict
Дата сообщения: 13.12.2009 23:27

Цитата:
Есть groupbox в котором есть несколько checkbox'ов. Как узнать помечен ли checkbox галочкой? Половину условия я написал, а дальше не знаю как


Код:
if(qroupbox.Controls[i] is CheckBox && ((CheckBox)qroupbox.Controls[i]).Checked)
{
...
}
Автор: blaro
Дата сообщения: 13.12.2009 23:37
ppkp

Цитата:
У Вас какие-то специфические настройки? Уточните.

Настройки цвета как число, пути к программам. Пока что все, но будут еще...

Добавлено:
Отжеж, как я не догадался сделать кастинг? Обидно
Автор: derelict
Дата сообщения: 13.12.2009 23:49
Насчет настроек - скорее всего их надо применять сразу после сохранения, то есть изменять цвет, обновлять переменные, которые хранят пути - получается проделывать те же действия, что и при загрузке программы. Ну или как вариант, можно действовать как авторы некоторых программ - после сохранения настроек перезапускать программу.
Автор: ppkp
Дата сообщения: 13.12.2009 23:49
blaro

Цитата:
Отжеж, как я не догадался сделать кастинг? Обидно

Я думал, это уже сделано
Автор: blaro
Дата сообщения: 14.12.2009 01:11
derelict

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

Вот вот, я тоже об этом подумал. Только не знаю как сделать.
ppkp

Цитата:
Я думал, это уже сделано

Я сидел и думал что, чего то не хватает. А решение было так близко..
Автор: derelict
Дата сообщения: 14.12.2009 01:26

Цитата:
Только не знаю как сделать.

Самый простой вариант:

Код: Application.Restart();
Автор: dmention
Дата сообщения: 16.12.2009 10:20
Подскажите пожалуйста как реализовать элементарную вещь...

Есть форма, есть файл-обработчик formpost.asp. Использую VBScript.

Необходимо, чтобы данные формы сохранялись в текстовом файле с именем в зависимости от текущей даты и времени в формате ГГГГММДД_ччммсс.

Не могу сделать так чтобы имя файло задавалось именно в таком формате.

Сохраняю текущую дату и время в переменной dNow.

Если пишу YEAR(dNow) & MONTH(dNow) & ... & SECOND(dNow), то проблема когда значения времени меньше 12.

Т.е. 1ч:15м:35с он сохранит как 11535 и не будет понятно. Нужно чтобы все было из двух знаков.

Функция FormatDateTime не позволяет вроде этого сделать. У нее конкретные возможные варианты.

А на функцию Format(dNow,"yyyymmdd") он вообще ругается...

Подскажите, как выйти из сложившейся ситуации?
Автор: derelict
Дата сообщения: 16.12.2009 10:52
dmention

Код: Year(dNow) & Right("0" & Month(dNow), 2) & Right("0" & Day(dNow), 2) & "_" & Right("0" & Hour(dNow), 2) & Right("0" & Minute(dNow), 2) & Right("0" & Second(dNow), 2)
Автор: dmention
Дата сообщения: 16.12.2009 14:05
derelict

Спасибо огромное!

А что он действительно функцию Format не знает?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.