Программирование на C#

zer0day

Ословед
SunnyMan, там нет ответа на мой вопрос.

берем Math.Pow вуаля и у меня есть максимальное количество комбинаций для чарсета 0123456789 и это 10
скрипт генерит 10 строк, как и должно быть, но примерно такого содержания:

1
5
6
9
0
6
7
6
2
3
 

SunnyMan

Namynnuz
там нет ответа на мой вопрос.
У тебя в принципе как такового вопроса не было. Каков вопрос — таков ответ. Никаких StringBuilder'ов тебе не нужно. А следует сделать перестановку массива char[] {'0', '1', ...} любым алгоритмом на выбор. С последующим представлением в виде string. И не используй static методы для этого. И создание инстансов System.Random в методы не пихай, а пихай в соответствующий метод инициализации класса-обёртки.
 

MIDAS

Ословед
Тааак.. Время шло, проект писался. Подошёл через GUI.
Встал вопрос: как в wpf добиться Metro? Возможно есть уже пути?
Статью на хабре прочитал уж - и тот вариант не подошёл.
Я был бы очень благодарен, если б кто пример нашёл.
 

Serge

Ословед
Тааак.. Время шло, проект писался. Подошёл через GUI.
Встал вопрос: как в wpf добиться Metro?
для начала нужно определиться с терминологией: Modern UI (в девичестве Metro UI) - это не оконные приложения, а полноэкранные для планшетов, которые только в Win10 собираются запускать в окне.
 

MIDAS

Ословед
Тааак.. Время шло, проект писался. Подошёл через GUI.
Встал вопрос: как в wpf добиться Metro?
для начала нужно определиться с терминологией: Modern UI (в девичестве Metro UI) - это не оконные приложения, а полноэкранные для планшетов, которые только в Win10 собираются запускать в окне.
Нужно стилизировать под Модерн. Например приложение гитхаба. Плюс я ссылку давал выше.
 
Награды
7
Контракты в конструкторе

В общем есть класс:
Код:
public class Ancestor
{
  public Ancestor(object aNode)
  {
    Contract.Requires<ArgumentNullException>(aNode != null, "aNode");
    ...
  }
}
Ну тут понятно, проверяется значение параметра. Есть наследник:
Код:
public class Descendant: Ancestor
{
  public Descendant(object aNode, int Id):
    base(aNode)
  {
    ...
  }
}
И вот тут начинается странное. На описание второго класса студия заявляет уорнинг:
Warning 1 CodeContracts: Missing precondition in an externally visible method. Consider adding Contract.Requires(aNode != null); for parameter validation
Оно хочет чтобы я ещё раз написал Requires в наследнике. Нахрена!? А то она не видит что это конструктор с вызовом базового конструктора. Или я хочу странного?

P.S. А вообще можно вынести контракт в отдельный класс для конструктора? Для абстрактного метода я освоил, а вот как для конструктора?
 

FallAngel

Ословед
День добрый. У меня вопрос следующий. Имеется 10 PictureBox, известны их координаты. Нужно в рандомном порядке присвоить каждому PictureBox свои координаты. Подскажите в какую сторону копать, просто направление.
 

himera

Ословед
День добрый. У меня вопрос следующий. Имеется 10 PictureBox, известны их координаты. Нужно в рандомном порядке присвоить каждому PictureBox свои координаты. Подскажите в какую сторону копать, просто направление.
А чего там направлять то.
У каждого объекта на форме есть свойства Top и Left. Они задают координаты положения левого верхнего угла на форме. Свойства Height и Width задают высоту и ширину компоненты в пикселях.
Включаешь великий китайский рандомайзер и вперед.
 

FallAngel

Ословед
День добрый. У меня вопрос следующий. Имеется 10 PictureBox, известны их координаты. Нужно в рандомном порядке присвоить каждому PictureBox свои координаты. Подскажите в какую сторону копать, просто направление.
А чего там направлять то.
У каждого объекта на форме есть свойства Top и Left. Они задают координаты положения левого верхнего угла на форме. Свойства Height и Width задают высоту и ширину компоненты в пикселях.
Включаешь великий китайский рандомайзер и вперед.

Я взял Location, вместо Top и Left. Создал массив, перемешал содержимое, а дальше в тупике... Что делать? Код ниже.
private void button3_Click(object sender, EventArgs e)
{
int[,] mas = new int[,] { { 337, 104 }, { 443, 104 }, { 549, 104 }, { 655, 104 }, { 761, 104 },{ 337, 210 }, { 443, 210 }, { 549, 210 }, { 655, 210 }, { 761, 210 } };


var rand = new Random();
for (int i = mas.Length - 1; i >= 0; i--)
{
int j = rand.Next(i);
var temp = mas[i,0];
mas[i,0] = mas[j,0];
mas[j,0] = temp;
mas[i, 1] = mas[j, 1];
mas[j, 1] = temp;
}
var AllBoxes = Form1.ControlCollection.Where(x => (x is PictureBox)).ToArray();


for (i = 0; i < AllBoxes.count; i++)
{
AllBoxes.Location = mas[i, 0];
AllBoxes.Location = mas[i, 1];
}


}
 

himera

Ословед
Я взял Location, вместо Top и Left. Создал массив, перемешал содержимое, а дальше в тупике... Что делать? Код ниже.
private void button3_Click(object sender, EventArgs e)
Чувак, а ты возьми и напиши все это на Ассемблере. Потом зайди заново на форум и скажи спасибо за совет.
Есть китайский рандом. Есть точки положения компоненты. Зачем тебе изобретать заново такое кривое колесо ?
 

Serge

Ословед
Компания Microsoft представила публике preview версию бесплатного кроссплатформенного редактора программного кода под названием Visual Studio Code. Редактор работает на платформах Windows, MacOS и Linux. Редактор поддерживает подсветку синтаксиса для языков: C#, TypeScript, CSS, HTML, JavaScript, JSON, LESS, SASS, Batch, C++, Closure, Coffee Script, DockerFile, F#, Go, Jade, Java, HandleBars, Ini, Lua, Makefile, Markdown, Objective-C, Perl, PHP, PowerShell, Python, R, Razor, Ruby, SQL, Visual Basic, XML, подсказки IntelliSense для C#, TypeScript, CSS, HTML, JavaScript, JSON, LESS, SASS.

Ссылка https://code.visualstudio.com
 

himera

Ословед
Кто нибудь юзал новый протокол авторизации в Google совместно с C# ?
А то бьюсь уже полдня. С веб авторизацие вроде разобрался. А как из Windows-службы авторизоваться пока не пойму.
 

MIDAS

Ословед
День добрый.
Какие экзамены оффлайн (к таким доверия больше) с получением сертификата можно сдать у нас в Челябинске? (Екатеринбурге в крайнем случае).
Интересует именно сдача экзамена, а не курсы подготовки. Если через курсы - то нет, спасибо.

Мне кажется было бы хорошо создать отдельную тему под это дело (чтобы там про все языки\направления) складировать информацию. Но не могу решить где разместить. Модераторы, обратите свой взор :)
 

MIDAS

Ословед
Такой вопрос.
Есть замечательнейшая вещь: CLang.
Есть (как я понимаю) обёртки для шарпа.
Из NuGet'a поставил себе CLangSharp, LLVMSharp, clang.sharp
В директории проекта создались папки с llvm либами.
И всё.
А дальше-то как? На всех сайтах пишут как установить. А вот чтобы прям от А до Я сделать простенький получатель абстрактного дерева - нет такого. Хотя Clang это позволяет.
По идее задача такая: читаем код из файла, проверяем на ошибки, если всё пучком - то строим AST и в том или ином виде его выводим. Конечно я не жду чуда, что мне вернётся полноценное дерево. Возможно это будет сериализованная строка и\или ещё какой ужас. Но распарсить результат (если в CLangSharp нет классов обёрток и структуры дерева) - это уже задача обозримая. Проблема в том, что я не знаю как это AST получить.

Нашёл только одит пример: http://www.llvmsharp.org/

но чёт-то как-то не заводится. всё что касается LLVM не определяется.
 
Доброго всем дня.
Как можно перехватить ошибки которые не заключены в блоке try catch? а то я пишу сервер локально, а потом сам .exe кидаю на удаленный сервер и если ошибка возникает, то программа никак не реагирует, а хотелось, чтоб в файл ошибка записалась или на консоль вывелась или если возможно коре-файл сформировался
 

Alexandr172

Ословед
Доброго всем дня.
Как можно перехватить ошибки которые не заключены в блоке try catch? а то я пишу сервер локально, а потом сам .exe кидаю на удаленный сервер и если ошибка возникает, то программа никак не реагирует, а хотелось, чтоб в файл ошибка записалась или на консоль вывелась или если возможно коре-файл сформировался

попробуйте AppDomain.CurrentDomain.UnhandledException
 
Сверху