• Почему не использовать C# для управленческого учета вместо 1С?

    @Dementor
    программист, архитектор, аналитик
    Уважаемы специалисты, почему для управленческого учета (оперативного учета), не начнут разрабатывать программу на C#?

    Не начнут КТО? Уверен, что есть десятки команд, которые успешно разрабатывают на C# программы для управленческого учета.

    Ведь 1С это оболочка над базой данных, а интерфейс написан на C#.

    Для начала не C#, а C++ (сейчас 11, но переходят на 14). Далее не оболочка, а ORM (с поддержкой MsSQL, PostgreSQL, IBM DB, Oracle и собственный формат) + BSL (со встроенными библиотеками и внешней опенсурс библиотекой БСП) + web-интерфейсы + мобильный и браузерный клиенты + кроссплатформенность на Win-Lin-Mac.

    Зачем создавать платформу и еще встроенный язык 1с (Искусственно создавать новые рабочие кадры???Чтобы выжимать деньги на всяких книжках по программированию 1с и прочих учебных курсов?), если есть .NET Framework и C#?

    Для начала нет и шарп появились после платформы 1С (2002 против первых версий 1С под DOS). И тут же встречный вопрос - а зачем встроенные языки для Матлаба и Автокада, зачем VBA для ворда и экселя, зачем PowerShell для винды? Да, в том числе для написания книжек и продажи курсов, но в первую очередь - новые инструменты удобны и приносят выгоду по сравнению с их отсутствием (заточены под быстрое решение узкого класса задач).

    А что бы не начинать проект постоянно с нуля, можно написать собственную библиотеку с необходимыми инструментами для бухгалтерии и т.п.

    1С-киллиров создавали десятками. И где они сейчас? Пока эти поделки пытались довести до какого-то конкретного состояния, 1С расширяла функциональность своей платформы на порядки - параллельные программы все время были в качестве догоняющих и не приносили денег создателям, а потому умерли.
    Ответ написан
    Комментировать
  • C#. Как сохранить информацию между формами Windows Form?

    petermzg
    @petermzg
    Самый лучший программист
    Вариантов полно:
    1. Передать ссылку на экзепляр класса основного окна формы, через конструктор при создании другого окна.
    2. Передать делегат на функцию, также через конструктор
    3. В классе зависимого окна создать event и подписаться на него после создания.
    и т.д.
    Ответ написан
    4 комментария
  • Как на все элементы GroupBox назначить общий обработчик события в C# WindowsForms?

    @Hedy
    Создайте 1 функцию обработчик и используйт ее для всех элементов внутри вашего GroupBox.
    public void clickHandler(object sender, System.EventArgs e)  {...}
    
    button1.Click += new EventHandler(clickHandler); 
    button2.Click += new EventHandler(clickHandler); 
    button3.Click += new EventHandler(clickHandler);


    Или вот так, для всех элементов внутри:
    foreach (Control ctrl in myGroupBox.Controls)
    {
          ctrl.Click += new EventHandler(clickHandler); 
    }


    Добавив условие отбора элементов по типу, если нужно.
    Ответ написан
    Комментировать
  • Какой язык программирования выбрать, чтобы писать рабочий интерфейс?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    тут в пору говорить об игровых движках, таких как Unity или Unreal
    Ответ написан
    2 комментария
  • Как хранить данные программы?

    @BashkaMen
    C# программист
    Если у вас winforms там есть Settings
    https://www.codeproject.com/Articles/15013/Windows...
    Я думаю везде есть аналоги + реализовать подобное дело 5-10 минут
    Ответ написан
    Комментировать
  • Как хранить данные программы?

    @Ascar
    Завист от размера, если много данных то EF+sql lite, если мало то сериализуйте словарь и сохраните в файл:
    var str = JsonConvert.SerializeObject(new Dictionary<string, string> {
                   { "key","value"},
                    { "key2","value2"}});
    
                File.WriteAllText("config.json", str);
    
                str = File.ReadAllText("config.json");
    
                var dict = JsonConvert.DeserializeObject<Dictionary<string, string>>(str);
    Ответ написан
    Комментировать
  • Где ошибка в коде?

    @Sir_Akakii
    У вас какая-то путаница в структуре кода.
    Функции FixedUpdate и Jump находятся вне класса, последняя фигурная скобка вообще лишняя.
    Ответ написан
    Комментировать
  • Как вставить подстроки строки в ячейки Excel?

    @MamaLuyba
    Бьешь строку на подстроки, записываешь их в массив. Первый элемент массива соединяешь с первой строкой. Последующие элементы вставляешь в остальные ячейки. Ширину выставляешь через параметры.
    Или тебе нужен готовый код на VBA?
    Ответ написан
    Комментировать
  • Как в datagridview C# реализовать сортировку столбцов по нажатию на заголовок?

    @MaximIs
    bool x;
            private void button1_Click(object sender, EventArgs e)
            {
                // сортировка поочерёдно в обе стороны по первому столбцу
                dataGridView1.Sort(dataGridView1.Columns[0], x ? ListSortDirection.Ascending : ListSortDirection.Descending);
                x = !x;
            }

    Так пробовали? Яндекс поиск
    Ответ написан
    2 комментария
  • В чем проблема TCP подключения?

    @res2001
    Developer, ex-admin
    Какое конкретно устройство имеет адрес 18.220.144.236?
    Скорее всего это адрес роутера, на котором работает NAT, он вам и мешает получить доступ. Нужно пробросить порт в настройках NAT на роутере.
    Ответ написан
  • Есть ли смысл разрабатывать приложения для Андроид на C#?

    @nadonado
    С Java тоже довелось поработать когда-то, скажу так: в плане удобства с C# и вообще платформой .NET вряд ли что-то может сравниться на сегодняшний день. Я выбрал Xamarin Forms так как нужно было приложение сразу на две платформы(ios и android) в максимально короткие сроки. Там можно выбрать и нативную разработку под конкретную платформу, конечно, можете почитать в интернете о преимуществах и недостатках Xamarin, но если максимально коротко: вы получаете полностью нативное приложение, разве что если ваше приложение ориентировано на работу со сложными графическими элементами, то, наверное, для достижения максимальной эффективности лучше использовать java или kotlin, в остальном же xamarin - прекрасное решение. Это не значит, что на xamarin нельзя сделать качественное приложение ориентированное на сложную графику, это значит что для этого вы затратите больше сил, чем сделать подобное на той же java, потому что у xamarin свои нюансы. В приложении которое я делал есть и отображение списков с фотками, встроенный мессенджер(а это сотни сообщений среди которых и фотки есть) и ничего не тормозит, при том что я новичок и ничего пока дополнительно не оптимизировал. Ну и стоит отметить что есть уже множество крутых плагинов, которые сильно облегчают жизнь. Как-то так, удачи)
    Ответ написан
    Комментировать
  • Помощь неопытному. Как использовать объект и массив для извлечения информации по имени?

    @dimoff66
    Кратко о себе: Я есть
    Сделать org объектом, имя организации ключом, значением которого будет объект с ключами address и phone

    var org = {
        'org1': {address: 'adr1', phone: 'tel1'}, 
        'org2': {address: 'adr2', phone: 'tel2'}, 
        'orgN': {address: 'adrN', phone: 'telN'}, 
    };
    
    var orgName = 'org14';
    var orgData = org[orgName];
    console.log('Адрес: ' + orgData.address);
    console.log('Телефон ' + orgData.phone);
    Ответ написан
    2 комментария
  • Как строку форматировать в функцию (C#)?

    lexxpavlov
    @lexxpavlov
    Программист, преподаватель
    lam0x86 сказал всё правильно, я распишу про сложный путь.
    Нужно разделить строку на части, состоящие из чисел и операций.
    В простом случае (когда два числа и одна операция) это можно сделать однократным поиском str.IndexOfAny(new []{'+', '-', '*', '/'}), который вернёт индекс символа операции.
    В общем случае (когда несколько операций в строке) нужно искать циклом и добавлять найденные части в список, и потом обрабатывать его другим циклом. Более правильно, но более сложно - учитывать приоритеты операций (сначала умножение, потом сложение).
    Если в строке возможны скобки, то лучше части заполнять не в список, а в специальный класс, который будет разбирать полученные части в дерево вычислений.
    Ответ написан
    6 комментариев
  • Как строку форматировать в функцию (C#)?

    lam0x86
    @lam0x86
    Есть два пути:
    1. Сложный - самому написать калькулятор выражений. Если выражения несложные, то такой путь предпочтительный.
    2. Использовать пакет Microsoft.CodeAnalysis.CSharp.Scripting (для .NET Framework 4.6+ или .NET Core 1.1+):
    • Проинсталировать пакет:
      Install-Package Microsoft.CodeAnalysis.CSharp.Scripting

    • Вычислить выражение:
      int result = await CSharpScript.EvaluateAsync<int>("14 - 15");

    Ответ написан
    Комментировать
  • Не получается сделать отправку сообщения с одного пк на другой подключенных к интернету по UDP?

    15432
    @15432
    Системный программист ^_^
    Да дофига всего. Файрвол в винде режет любые такие внешние запросы, комп может быть включен через роутер, и для проброса с роутера на ПК надо его конфигурировать, наконец, у самого провайдера может быть NAT, и IP что вы видите на 2ip.ru принадлежит половине района... Вот поднимите VPN, заведите оба компа в него и внутри этой виртуальной сети может и достучитесь друг до друга
    Ответ написан
    5 комментариев
  • Как сделать прокрутку изображения в панели с помощью скрола(winForm или WPF)?

    @Got_Oxidus
    Учусь
    Вам понадобиться:
    • Окно
    • 3 контейнера с картинками
    • кнопка

    Закидываете всё это в кучу (окно). Создаете счетчик (путь будет i). И обработчик события, в котором загружаются картинки i, i+1 и i+2, в нем же и обновляете счетчик на 3.
    Ответ написан
    Комментировать
  • Как исправить ошибку в простенькой програмке на C#?

    @MaximIs
    Я бы так написал
    double x1 = Convert.ToDouble(textBox1.Text);
    Ответ написан
    Комментировать
  • Лучшие практики. Как закрыть главную форму из дочерней?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    1 - не обязательно делать "логин" главной формой. можно стартовать главную форму скрытой, а форму логина дочерней, но показывать раньше, и дальше действовать в зависимости от успешности логина

    2 - конкретно в WinForms можно отрабатывать вообще разные формы последовательно

    using System;
    using System.Windows.Forms;
    
    namespace X
    {
        internal static partial class Y
        {
            /// <summary>
            /// Главная точка входа для приложения.
            /// </summary>
            [STAThread]
            static void Main()
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(A = new fmA());
                // bla-bla-bla with login
                Application.Run(B = new fmB());
            }
            internal static fmA A;
            internal static fmB B;
        }
    }


    3 - для WPF не подскажу, но наверняка оба подхода можно рассмотреть и пробовать искать аналогии

    ps для WinForms
    Как закрыть главную форму из дочерней?
    буквальный ответ - ни как, закрытие главной формы, это завершение Application.Run(A = new fmXXX()); и если вы не модифицирутете код Main- тогда это завершение программы
    Ответ написан
    2 комментария