Доброго времени суток парни....нужно решить реализовать алгоритм квайна Мак-Класки в с#....никак не соображу как....помогите плиз
» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET
Простите меня тёмного заранее, так как я ещё не перешёл на великий ADO.NET. У меня вопрос который может быть кому-то знаком. Я наваял первоё своё COM+ приложение с датамодулем ADO. Модуль создаётся таким образом
Код: library...
...
begin
application.createform(tdm_common, dm_common);
end.
Код: library...
...
begin
application.createform(tdm_common, dm_common);
end.
Я в своем проекте подключил внешнюю библеотеку, а потом создал новый объект
Цитата:
после этого компилятор выдал сообщение об ошибке
Цитата:
Пошел погуглил. Из описания в некоторых сообщенях понял, что есть объекты которые не инициализированы. Кто знает как это исправить?
Добавлено:
Проверил опять. Вроде как объект source не null перед вызовом. Хотя это не так.
Добавлено:
Нашел проблему. В файле были записи. После того как я стер все в файле все ошибки исчезли. Вот только теперь прога не пишет в файл.
Добавлено:
Вот код:
Цитата:
Цитата:
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();
}
blaro
Надо делать так:
Код:
IConfigSource source = new IniConfigSource("config.ini");
IConfig config = source.AddConfig("Configs");
config.Set("Editor", tbeditor.Text);
Надо делать так:
Код:
IConfigSource source = new IniConfigSource("config.ini");
IConfig config = source.AddConfig("Configs");
config.Set("Editor", tbeditor.Text);
derelict
Да я уже разобрался с этим. Но все равно спасибо.
Да я уже разобрался с этим. Но все равно спасибо.
Цитата:
Да я уже разобрался с этим.
Просто ты же не написал, что проблема уже решена.
У меня теперь такой вопрос, как перевести строку в объект Color?
Строка дается в таком формате:
Цитата:
Пробовал сделать через функции ColorConverter'а, а он ругается что строка, которую он получает из файла неправильного формата.
Строка дается в таком формате:
Цитата:
[A=xx, R=xxx, G=xxx, B=xxx] // где ххх это число
Пробовал сделать через функции ColorConverter'а, а он ругается что строка, которую он получает из файла неправильного формата.
Можно так:
Код:
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));
Код:
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));
Спасибо. Теперь работает как мне надо.
ppkp
Цитата:
Убрал данный код из метода, который вызывается сразу после инициализации формы и переместил в обработчик события нажатия клавиш. Всё работает нормально.
Цитата:
с текстом вроде как разобрался, только он не выводится в полноэкранном режиме.
на сколько целесообразно создавать и инициализировать устройство каждый раз с перерисовкой области? Не будет ли это отрицательно влиять на производительность приложения? Перерисовка выполняется 25 раз в секунду....
Цитата:
Повторил полностью Ваш код - мерцания нет. DirectX март 2009
Убрал данный код из метода, который вызывается сразу после инициализации формы и переместил в обработчик события нажатия клавиш. Всё работает нормально.
Цитата:
В обрработчике Paint написал
с текстом вроде как разобрался, только он не выводится в полноэкранном режиме.
на сколько целесообразно создавать и инициализировать устройство каждый раз с перерисовкой области? Не будет ли это отрицательно влиять на производительность приложения? Перерисовка выполняется 25 раз в секунду....
Всем добрый день! Мне необходимо написать лабу с заголовком "ведение статистики количества запущенных процессов на хост-системе", соответственно и рассчитать то, что указано в названии... Рассчитываю на вашу помощь!!
alexuni
Цитата:
Помощь: Process.GetProcesses(); // пространство имён - System.Diagnostics
Цитата:
Рассчитываю на вашу помощь!
Помощь: Process.GetProcesses(); // пространство имён - System.Diagnostics
У меня такой вопрос. Я написал функцию (новая версия) которая должна сравнивать два текста и отмечать отличия. Добавил индекс, и теперь функция отмечает цветом отличия, но только на первой строке Что нужно добавить/изменить чтобы функция также отмечала отличия на всех последующих строках если они есть?
Вот сам код:
Код:
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);
}
}
}
}
Вот сам код:
Код:
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);
}
}
}
}
Код: 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
вызовите rtb2.Refresh() в конце CompareFile. Также можно избавиться от index используя GetFirstCharIndexFromLine().
вызовите rtb2.Refresh() в конце CompareFile. Также можно избавиться от index используя GetFirstCharIndexFromLine().
Denchik
И что мне делть с этой функцией GetFirstCharIndexFromLine()?
И что мне делть с этой функцией GetFirstCharIndexFromLine()?
Требуется помощь.
Запускаю через System.Diagnostic.Process.Start консольную утилиту, которая принимает как один из параметров путь к файлу, и в процессе работы добавляет к этому файлу некоторую информацию. Если путь к папке, в которой находится файл, содержит русские буквы, то все проходит как надо - после работы утилиты остается один файл с добавленной информацией. Если не содержит, то после работы утилиты появляется новый файл с именем раза в 2 длиннее, чем исходный, куда и добавляется информация утилитой. Похоже на то, что Unicode-кодировка, которой было записано имя файла побайтно преобразуется в кодироку 1251 файловой системы во время добавления информации утилитой
Пока что придумал создавать русскую подпапку, перемещать туда файл, там обрабатывать утилитой, перемещать обратно, удалять русскую подпапку.
Интересует, есть ли более адекватный задаче способ решения?
Запускаю через System.Diagnostic.Process.Start консольную утилиту, которая принимает как один из параметров путь к файлу, и в процессе работы добавляет к этому файлу некоторую информацию. Если путь к папке, в которой находится файл, содержит русские буквы, то все проходит как надо - после работы утилиты остается один файл с добавленной информацией. Если не содержит, то после работы утилиты появляется новый файл с именем раза в 2 длиннее, чем исходный, куда и добавляется информация утилитой. Похоже на то, что Unicode-кодировка, которой было записано имя файла побайтно преобразуется в кодироку 1251 файловой системы во время добавления информации утилитой
Пока что придумал создавать русскую подпапку, перемещать туда файл, там обрабатывать утилитой, перемещать обратно, удалять русскую подпапку.
Интересует, есть ли более адекватный задаче способ решения?
Цитата:
И что мне делть с этой функцией GetFirstCharIndexFromLine()?
Cнимаю этот вопрос...
У меня возникли пара вопросов
1) Есть groupbox в котором есть несколько checkbox'ов. Как узнать помечен ли checkbox галочкой? Половину условия я написал, а дальше не знаю как
Цитата:
2) Когда я загружаю свою программу, она читает некоторые настройки из файла. Если изменить настройки во время работы программы, они сохранятся в файл как положенно, но сама программа не будет с ними работать. Она продолжит работать с старыми настройками, которые были получены при запуске. Настройки читаются из файла при вызове функции. Что нужно изменить в программе, чтобы она принимала измененые настройки?
1) Есть groupbox в котором есть несколько checkbox'ов. Как узнать помечен ли checkbox галочкой? Половину условия я написал, а дальше не знаю как
Цитата:
if(qroupbox.Controls[i] is CheckBox && ...
2) Когда я загружаю свою программу, она читает некоторые настройки из файла. Если изменить настройки во время работы программы, они сохранятся в файл как положенно, но сама программа не будет с ними работать. Она продолжит работать с старыми настройками, которые были получены при запуске. Настройки читаются из файла при вызове функции. Что нужно изменить в программе, чтобы она принимала измененые настройки?
blaro
Смотря какие настройки. Если в них хранится, например, размер формы, то он и так поменяется при Resize и сохранится при выходе. Но это очевидно. У Вас какие-то специфические настройки? Уточните.
Смотря какие настройки. Если в них хранится, например, размер формы, то он и так поменяется при Resize и сохранится при выходе. Но это очевидно. У Вас какие-то специфические настройки? Уточните.
Цитата:
Есть groupbox в котором есть несколько checkbox'ов. Как узнать помечен ли checkbox галочкой? Половину условия я написал, а дальше не знаю как
Код:
if(qroupbox.Controls[i] is CheckBox && ((CheckBox)qroupbox.Controls[i]).Checked)
{
...
}
ppkp
Цитата:
Настройки цвета как число, пути к программам. Пока что все, но будут еще...
Добавлено:
Отжеж, как я не догадался сделать кастинг? Обидно
Цитата:
У Вас какие-то специфические настройки? Уточните.
Настройки цвета как число, пути к программам. Пока что все, но будут еще...
Добавлено:
Отжеж, как я не догадался сделать кастинг? Обидно
Насчет настроек - скорее всего их надо применять сразу после сохранения, то есть изменять цвет, обновлять переменные, которые хранят пути - получается проделывать те же действия, что и при загрузке программы. Ну или как вариант, можно действовать как авторы некоторых программ - после сохранения настроек перезапускать программу.
blaro
Цитата:
Я думал, это уже сделано
Цитата:
Отжеж, как я не догадался сделать кастинг? Обидно
Я думал, это уже сделано
derelict
Цитата:
Вот вот, я тоже об этом подумал. Только не знаю как сделать.
ppkp
Цитата:
Я сидел и думал что, чего то не хватает. А решение было так близко..
Цитата:
Ну или как вариант, можно действовать как авторы некоторых программ - после сохранения настроек перезапускать программу.
Вот вот, я тоже об этом подумал. Только не знаю как сделать.
ppkp
Цитата:
Я думал, это уже сделано
Я сидел и думал что, чего то не хватает. А решение было так близко..
Цитата:
Только не знаю как сделать.
Самый простой вариант:
Код: Application.Restart();
Подскажите пожалуйста как реализовать элементарную вещь...
Есть форма, есть файл-обработчик formpost.asp. Использую VBScript.
Необходимо, чтобы данные формы сохранялись в текстовом файле с именем в зависимости от текущей даты и времени в формате ГГГГММДД_ччммсс.
Не могу сделать так чтобы имя файло задавалось именно в таком формате.
Сохраняю текущую дату и время в переменной dNow.
Если пишу YEAR(dNow) & MONTH(dNow) & ... & SECOND(dNow), то проблема когда значения времени меньше 12.
Т.е. 1ч:15м:35с он сохранит как 11535 и не будет понятно. Нужно чтобы все было из двух знаков.
Функция FormatDateTime не позволяет вроде этого сделать. У нее конкретные возможные варианты.
А на функцию Format(dNow,"yyyymmdd") он вообще ругается...
Подскажите, как выйти из сложившейся ситуации?
Есть форма, есть файл-обработчик formpost.asp. Использую VBScript.
Необходимо, чтобы данные формы сохранялись в текстовом файле с именем в зависимости от текущей даты и времени в формате ГГГГММДД_ччммсс.
Не могу сделать так чтобы имя файло задавалось именно в таком формате.
Сохраняю текущую дату и время в переменной dNow.
Если пишу YEAR(dNow) & MONTH(dNow) & ... & SECOND(dNow), то проблема когда значения времени меньше 12.
Т.е. 1ч:15м:35с он сохранит как 11535 и не будет понятно. Нужно чтобы все было из двух знаков.
Функция FormatDateTime не позволяет вроде этого сделать. У нее конкретные возможные варианты.
А на функцию Format(dNow,"yyyymmdd") он вообще ругается...
Подскажите, как выйти из сложившейся ситуации?
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)
Код: 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)
derelict
Спасибо огромное!
А что он действительно функцию Format не знает?
Спасибо огромное!
А что он действительно функцию Format не знает?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
Предыдущая тема: Как удалить/добавить/отключить/включить устройство?
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.