• Как полностью удалить Microsoft office?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    почистил реестр ccleaner
    смертельно опасная для системы программа. когда нарветесь на проблему, будет поздно. кстати пользы от нее практически 0
    До этого был установлен 2016 office c пиратской активацией от кмс
    если активатор/устанвщик от ratiborus (а он самый популярный для такого способа активации), он же содержит тулы для полного удаления и офиса, и левых ключей, и фейкового KMS. лучший способ. есть еще geek unistaller, по крайней мере это не соизмеримо безопаснее чем ccleaner
    Ключи никто не проверяет. Проверяют соответствие количества инсталляций количеству купленных лицензий.
    и да и нет. наличие необходимого количества лицензий обязательное условие избежать проблем. дальше все зависит от намерения инспекции. бывают проверки заказанные конкурентами. в такий ситуации, наличие реально пиратского софта могут и будут раскручивать по полной.
    Ответ написан
    8 комментариев
  • Как открыть веб-страницу внутри формы приложения C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    проще всего WebBrowser
    по фичам конечно круче CefSharp но он сложнее в освоении
    есть еще GeckoFx мне показался проще, но к сожалению он редко обновляется.

    ps для WinForms других вариантов нет. для win10 UWP встроенный WebView использует движек Edge. все встроено, докментаци в MSDN. в студии посказки, и тд
    Ответ написан
    Комментировать
  • Ключ из UEFI пробросить в virtual machine реально?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    уточните вопрос:
    - если почереди загружать на реальное железо то линукс то винду, у вас не должно быть проблем
    если хотите винду выселить в вирт полностью, все зависит от того какой ключ:
    - ключ OEM UEFI перенести нельзя, но есть эмуляторы (пиратство. и есть способы по проще)
    - если ключ "коробочный", выполняете чистую установку с этим ключем или переносите образ тем же акронисом. при необходимости запрашиваете подтверждение активации по телефону
    - если это win10 и входили под учеткой МС, должна была произойти привязка активации к учетке. тогда можно выполнить или установку с галочкой "у меня нет ключа", или перенос образа с запросом активации по телефону

    принудительный запрос активации по телефону - в командной строке, с правами админа slui 4

    если ни что из перечисленного не помогает, вам в магазин за новым ключем.. или
    к пиратам ))
    ищите на тематический форумах MAK, и в командной строке, с правами админа
    slmgr /ipk <mak>
    slui 4


    ps а еще можно
    и мультибут, и вирт наизнанку
    можно такой прикол запилить на двух физических носителях, используя виртуалбокс и в винде, и в линуксе. теоритически и на партишенах можно. но у меня не получилось. а на физических делал.

    можно загружать любую систему на физическое железо, при этом вторую систему под ней гостем. потом перегрузить наоборот - гость становтся хостом, а хост гостем. только винда активацию привязывает к железу. при смене железа она считает себя не активированной. а линуксу по барабану

    ну и последний штрих - теряя активацию, винда просто не позволяет вам делать персонализацию. так то все работает. при загрузке на железо делаете все настройки персонализации и перегружатесь обратно ))

    такая чехарда гораздо интереснее чем рецепт из хабра. при включенной паравиртуализации, и буфферизации виртуального дискового контроллера, винда под виртуалбоксом может летать даже быстрее чем на реальном железе (не по графике конечно. но к примеру работа со множеством мелких файлов. мне комфортнее гонять Visual Studio на сборке больших проектов именно в вирте)
    Ответ написан
    Комментировать
  • Как на плюсах программно конвертировать Office документы в PDF и HTML?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    есть. вполне гуглятся. все найденные бесплатные решения сводились к различным оберткам над бинарной тулзой, уже не вспомню название. мне все показалось довольно мутным - везде многоходовка, через конвертацию в html. а задача была не то что из doc, из rtf получить pdf, на C#.
    в итоге, при наличии МС офиса под виндой, проще всего оказалось использовать Word. думаю что это не будет сложно перевести на плюсы
    internal static bool wordAsConverter(string rtf, string pdf, bool verb = true, bool clean = true)
    {
    	$"\t..try convert to pdf...".print();
    	var res = false;
    	var app = new Application();
    	try
    	{
    		var doc = app.Documents.Open(rtf);
    		doc.ExportAsFixedFormat(pdf, WdExportFormat.wdExportFormatPDF);
    		doc.Close(false);
    		res = true;
    		var fn = Path.GetFileName(rtf);
    		if (verb) $"\t{fn} converted to pdf".print();
    		if (clean)
    		{
    			File.Delete(rtf);
    			if (verb) $"\t{fn} deleted".print();
    		}
    	}
    	catch (Exception e) { e.Message.print(); }
    	finally { app.Quit(false); }
    	return res;
    }
    Ответ написан
    Комментировать
  • C#.Как спарсить текст со всеми совпадениями?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    yuopi, думаю уже перебор. достаю свой вариант из каментов
    using System;
    using System.Linq;
     
    namespace parse_ip
    {
        class Program
        {
            static void Main(string[] args)
            {
                var l = Console.In.ReadToEnd()
                    .Split(Environment.NewLine)
                    .Select(s => s.TrimStart('-'))
                    .Where(s => s.Contains("IP:"));
                foreach (var s in l)
                    Console.WriteLine(s);
            }
        }
    }

    .. и использование

    ps
    для работы с произвольным стримом, вставить нужный источник вместо Console.In. хоть WebResponse.GetResponseStream(), хоть сокет.
    для работы с обычным текстовым файлом, всместо Console.In.ReadToEnd().Split(Environment.NewLine), вставить File.ReadAllLines("путь+имя").
    все.
    Ответ написан
    Комментировать
  • Как узнать лицензионный ли офис?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    а цель какая?
    - если вы вернете диск в исходное состояние. офиса на нем может и не быть. в предустановку включают либо триал, либо хоум (а это сразу было бы видно по винде - она тоже была бы хоум). если он нужен для работы, придется ставить заново
    - зачем копировать диск? если офис был предустановлен, но к примеру триал (а Grace как раз триал), возможно будут хлопоты с переактивацией. придется искать где, когда и как куплен ключ, искать сам ключ. при чем триал мог быть скачан сам по себе, и активирован как легально, так и не легально. а еще количество переактиваций ограничено (у меня относительно быстро протухла OEM Home 2013, существенно дольше продержался, но все рано протух коробочный "для дома и бизнеса 2013")
    - если есть ожидания проверки на лицензионность ПО, это в первую очередь вопрос бухгалтерии. должны быть документы о покупке ПО в том количестве и ассортименте, в котором оно эксплуатируется в организации. или больше. но точно не меньше. конкретно по данной копии - доплата за активацию триала, для организации, все равно должна была бы проходить через бухгалтерию. если даже кто то оплатил личной картой - уже не зачет, если комп на балансе фирмы.
    Ответ написан
    2 комментария
  • Что такое windows 7 без модулей?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    лично у меня ощущение, что у вас попросили как раз не оригинальную, а именно кастрированную, предельно облегченную сборку.

    ps из личных наблюдений - как правило сборки сразу содержат вирусню. они очень популярны у потребителей с низким уровнем ИТ-грамотности, по тому и являются отличным каналом дистрибуции свежих ботов, троянов и тд
    Ответ написан
    Комментировать
  • Для чего здесь обрезается строка?

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

    ps в точности для этого сценария, есть и встроенный способ - открываем свойства любого такого файла, и там есть пунктик копировать в выходную папку

    но если программа, во время работы изменяет содержимое дополнительных файлов, и его надо сохранить. тогда доступ в папку проекта - то что надо
    Ответ написан
    Комментировать
  • Чем заменить printf_s("%.0lf", s) в C#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    а так https://docs.microsoft.com/ru-ru/dotnet/standard/b... ?

    ps если сложности с языком "потенциального противника", ищите в урле МСДН фрагмент en-en (может даже en-us) и заменяете на ru-ru. правда бывают страницы для которых даже машинного перевода еще нет. но редко

    еще совет, попробуйте использовать вместо doubleBiginteger
    а то (покоцано, double не заметил, а аналога в шарпе нет)
    выхлоп приведенного фрагмента, даже для C++ не выглядит правдоподобным. double плюсов имеет не более 15 знаков точности https://docs.microsoft.com/ru-ru/cpp/cpp/data-type... а у вас там явно в разы больше

    а 15 знаков точности, таки 6,82455418022865E+86 как раз и будет. что для плюсов, что для шарпа ;)))
    ответ у вас точно из другого источника, совсем не из плюсов. даже excel имеет что то в районе 30 знаков точности, что совпадает с decimal

    pps у вас там 87 знаков. вот пруф https://dotnetfiddle.net/LRji4y
    так что приведеный фрагмент плюсов нервно курит. он тоже не может дать ни чего кроме 6,82455418022865E+86, по тому что использует double. чем заменить в плюсах не знаю.но раз вопрос о шарпе, повторюсь - заменяйте на

    .. раз аналога long double в шарпе нету, берем Biginteger и проверяем https://dotnetfiddle.net/UC8Qwi

    так что ни какой особый спецификатор формата не нужен. это категорически только вопрос точности вычислений. но он еще интереснее. плюсы (у меня тоже)
    выдают
    #include <iostream>
    using namespace std;
    
    int main()
    {
    	int k = 50;
    	//cin >> 50; кстати доставляет
    	// по тому и предположил сразу k = 50
    	long double s = 36 * pow(55, k - 1);
    	printf_s("%.0lf", s);
    }

    682455418022864774674923808460655749191222515615160719133685961958626840651329615953920
    а
    шарп
    using System;
    using System.Numerics;
    
    namespace big_int_net
    {
        class Program
        {
            static void Main(string[] args)
            {
                var s = 36 * BigInteger.Pow(55, 49);
                Console.WriteLine(s);
            }
        }
    }

    682455418022864824778975492858747729001539122984270520078098343219608068466186523437500

    это снова вопрос точности. кто косячит. пока не готов сказать бинго!
    float double на таких больших значения как раз и дает ошибку - верны только старшие 22 знака из 87 (!!!). а BigInteger данное выражение считает точно.
    пруф - https://www.wolframalpha.com/input/?i=36*55%5E49
    Ответ написан
    Комментировать
  • Можно где-то арендовать Windows машину удаленно?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    это называется Windows VPS/VDS hosting так и гуглите
    https://azure.microsoft.com/
    https://ruvds.com/
    https://ultravds.com/
    https://fastvps.ru/
    даже сервисы побора на вкус https://hosting.cafe/
    а вот если надо GPU, это надо проверять у всех отдельно. на азури точно есть (анонс был уже давно на хабре)

    ps ну или так и гуглить Windows VPS/VDS hosting with GPU
    .. вторая же строка выдачи - https://www.1gb.ru/services_hyper-v_gpu_shared.php
    Ответ написан
    Комментировать
  • Как разрабатывать на языке C# без Виндоус 10 в Виндоус 7?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    visual studio code или более старые версии visual studio

    ps но разве что для начального изучения языка, или если найти работу, гду большой парк старых машин и старых систем, ни кто не спешит обновлятся, но есть корпоративные наработки на шарпе.
    разрабатывать на продажу точно лучше уже на 10.
    Ответ написан
    Комментировать
  • Как вы используете ноутбуки с большим разрешением экрана и маленькой диагональю?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    почти в точности таже фигня. всю жизнь работал с максимальными разрешениями, но дальнозоркость подкралась без предупреждения.. сижу за 27 дюймов 1920х1080 и все равно без 125% уже ни как. см личный опыт по осям под спойлерами
    Windows 10

    про винду категорически - вариантов два. один как обычно
    Ub79KPH.png
    и более комфортный. если погуглить тему, это метод увенличения вин 7 и более старых систем. он чуток больше грузит вюдюху, а так же МС предполагает что в будущем весь софт окончательно станет WPF или .Net Core, которые прекрасно работают с "новым методом". в общем МС его не рекомендует. но с размытостью становится полегче. заметно комфортнее. почему уверен что других вариантов нет - ну года 4 уже рыл тему как мог
    V7f1azp.png

    Kubuntu (мой выбор)

    тут все просто - пямое управление DPI. в отлчии от винды весь софт покорно исполняет требования и ни какой размытости (кроме фокса, ему надо явно указать в about:config layout.css.dev = 1.25)
    но конкретно в Kubuntu, некоторые диалоги системы становятся кривоватыми (строки наезжают друг на друга). оказалось по тому что все шрифты по дефолту 10. подсмотрел в suse и fedora размеры fixed и small (9 и 8) все сразу становится оч культурно. но в konsole и kate все равно ставлю размер шрифта 10. еще одна причина выбора KDE (при чем именно Kubuntu) - единственный дистриб, где можно без выноса мозга, задать единую тему и темные цветовые палитры как для Qt так и для GTK программ
    WUaAKFU.png

    Ubuntu

    если кеды не милы, в гноме в общем тоже все вполне настраивается. (кроме темных цветовых палитр для Qt - не асилил ни одну инструкцию). первый скрин стандартные настройки системы
    t231iyw.png
    а после установки пакета Gnome Tweak Tool
    sudo apt-get install gnome-tweak-tool
    можно затемнить (я подсел на темные темы)
    pPMIz8n.png
    и как угодно настраивать размеры шрифтов. прямого управления DPI на поверхности нет. но вроде как в этом и нет особой потребности
    Gwl9QkH.png
    Ответ написан
    1 комментарий
  • Как сделать Distinct для List?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    уточните вопрос - выхотите получить выборку по конкретному id?
    если да, то надо не Distinct() использовать, а Where(d => (d.id == targetId))

    если вы примените Distinct(), то даже при наличии повторяющихся id, но с различными данными, то вы получите ровно всю исходную коллекцию

    ну и как возможный вариант для повторяющихся id, если вы хотите получить только список id, то
    код и выхлоп под спойлером
    using System;
    using System.Collections.Generic;
    using System.Linq;
    
    public class dt
    {
        public int id;
        public int val;
    }
    
    namespace distinct_or_not_distinct
    {
        public static class Program
        {
            public static void Main()
            {
                var listdata = new List<dt>();
                listdata.Add(new dt() { id = 1, val = 11 });
                listdata.Add(new dt() { id = 1, val = 12 });
                listdata.Add(new dt() { id = 2, val = 21 });
                listdata.Add(new dt() { id = 2, val = 22 });
                listdata.Add(new dt() { id = 3, val = 31 });
                
                "distinct dt".print();
                listdata.Distinct().ToList().print();
                newLine();
    
                "distinct id".print();
                (from d in listdata select d.id).Distinct().ToList().print();
                newLine();
    
                var targetId = 2;
                $"target id {targetId}".print();
                listdata.Where(d => (d.id == targetId)).ToList().print();
                newLine();
            }
    
            public static void print(this List<dt> l) { foreach (var d in l) d.print(); }
            public static void print(this dt d) => Console.WriteLine($"\tid:{d.id} val:{d.val}");
    
            public static void print(this List<int> l) { foreach (var i in l) i.print(); }
            public static void print(this int i) => Console.WriteLine('\t' + i.ToString());
            public static void print(this string s) => Console.WriteLine(s);
            public static void newLine() => Console.WriteLine();
        }
    }
    0wU4V8f.png
    Ответ написан
    Комментировать
  • .Net или сразу Net.core для полного нуля в программировании?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    Core.
    традиционный дотнет 4.8 последний релиз. где то через год будет .Net 5, снова единый, но уже кроссплатформенный
    proof - https://habr.com/ru/company/raiffeisenbank/blog/451136/

    ps пикантность ситуации в том, что книги фатально отстают от реальности. все заслуженно уважаемые издания, пишут про виндовый, "традиционный" дотнет. а МС его уже подписал в утиль. пока вы более менее освоитесь в программировании (год минимум), он уже будет конкретным легаси. а все новье буду пилить на 5м дотнет, который вырастет из нынешней корки 3. номер в 4 в релизах корки, пропускается по политическим и психологическим причинам - что бы не было путаницы с 4.* традишеном

    хотя 4.* традишен, конечно еще много лет будут поддерживать (латать дыры безопасности) из за накопленной массы кода. ну и работа на нем, по сопровождению существующих проектов, тоже будет еще годы востребована

    совет - учите оба ;)
    Ответ написан
    Комментировать
  • Параллельное сохранение файла консоли где я хочу?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ну тогда уж гуглите 'mirror stdout', а то 'redirect stdout' именно перенаправит вывод в куда то. на экране будет пусто
    или даже временный файл где все это на самом деле хранится
    не такого
    что то подсказывает мне, что есть некая область памяти
    такое есть, это буффер вашего stdout, но для начала он под капотом системы. если в линуксе, то это одна история, если винде, то абсолютно другая. про винду добавлю - можете погрызть win32 api. с одной стороны гарантированно возможно залезть грязными ручками, даже из шарпа, в буффер stdout. с другой стороны гарантированно придется сильно напрягать мозги (с непривычка, а так то там ни че страшного) и много гуглить. а еще, в процессе такого обучения, наверняка иногда будете ронять систему. я так думаю. ибо если бы вы уже имели опыт общения с win32 api, то вряд ли бы задавали этот вопрос

    ps вишенка на тортик - в шарпе можно элегантно добавить свои методы вывода, и дублировать вывод на экран и в файл, внутри такого метода. а еще есть просто море готовых либ логгирования, с огромным количество параметров

    OMG

    iamserge,
    Я хотел как КРАСИВО! То есть продублировать еще раз, как все, но так чтобы КРАСИВО, как будто я не занимаюсь черти чем, а делаю не как все и весь такой молодец. Понимаете почему?
    понимаю только что до вас не доходит абсолютно
    То есть все таки нет? https://www.opennet.ru/docs/RUS/bash_scripting_gui...
    Хм, нашел такая штука ... Оно Linux судя по всему, но суть ясная ... это вообще команда консоли, что судя по всему означает, что надо в "этом состоянии" запуститься ... Хм, мысль интересная ... Пока не выглядит красивым, что жаль.
    то что вы нашли, это перенаправление. я об этом раз пять уже сказал. в винде тоже самое, с небольшими отличиями:
    если у вас выхлоп без диалога, то все просто до отвращения - пишете скрипт, в котором перенаправляете в "куда хочу" выхлоп проги, а уже после ее оокончания, выводите его еще и на экран
    а потоки ввода вывода, не смотря на различия в исходниках ядер операционнах систем GNU Linix и MS Windosw, иделогочески работают абсолютно одинаково. api разные. но идеология одна. перенаправить выхлоп готовой проги в скрипте элементарно, даже оператор для скриптов одинаковый >. но если вы захотите дублировать вывод (а именно так звучит ваш вопрос)
    Параллельное сохранение файла консоли где я хочу?
    то придеся лезть в системное программирование. и в Linix и Windosw

    и последний раз повторяю - если вы пишете свою собственную программу на C# (!!! а таков тег вопроса), сделать свою функцию-заменитель Console.WriteLine()не соизмеримо проще. и в реализации. и в использовании
    Ответ написан
    9 комментариев
  • Как расшарить папку на ПК с двумя сетевыми картами?

    mindtester
    @mindtester Куратор тега Windows
    http://iczin.su/hexagram_48
    когда я расшариваю папку на ПК, она в какую сеть расшаривается - в доменную или между ПК и сканером?
    во все "домашние"

    найдите у себя
    центр управления сетями и общим доступом
    ORMIZNp.png
    если вынь7, то тип сетей можно менять там же, если 8 и выше, то попробуйте
    gpedit.msc
    CGeqiD3.png
    сеть со сканером скорее врего определяется как "неизвестная сеть" (upd а это дефолту "общественная сеть", и фаервол винды все запрещает), тогда открывате политику, и в явном виде задаете ее как "домашнюю"

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

    pps если прошивка сканера на основе linux (что весьма вероятно) и вы можете добраться до веб интерфейса управления (или с панели устройства), поищите в настройках севого интерфейса сканера слова local link. там наверняка есть возможность ручного назначения адреса/маски/шлюза/днс (где без опыта легко накосячить) и вариант авто(dhcp которого в это паре нет), но возможно отдельным пунктом есть вариант настройки local link

    если вдруг есть, совет - на винде настройте эту сетевую карту на атоматическое определение адреса, а на сканере local link. при этом требование, что бы для неизвестная сеть, была включена политика домашняя, все равно обязательно
    Ответ написан
    4 комментария
  • Где ошибка в коде с#?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    ошибка в строке 18
    SpeechRecogitionEngine sre = // буковку n пропустили

    сейчас проще использовать ключевое слово var, код легче читаетсяvar sre =
    а других ошибок в этом коде нет (скрин под спойлером)
    ToYzQDS.png
    даже подчеркивание на ru-RU это спелчекер а не компилятор

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

    и еще нет смысла создавать локальную переменную в конструкторе класса. она будет утрачена после завершения конструктора. обычно делают члены класса
    Ответ написан
    Комментировать
  • Как распаковать файл .bin?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    из каментов
    fullunpack --keep "C:\alldata\alldata.bin" zlib nY/RHn+XH8T77 64
    zlib это кодек
    nY/RHn+XH8T77 это sid
    64 это длина ключа

    пока что валимся на кодеке, за все остальное не известно
    VS крутой инструмент, в дебагере оказалось легко заметить, что кодаков всего два. точнее 3 варианта параметра zlib, zstd, zstandard, но 2 из них синонимы

    правильная строка параметров
    fullunpack --keep "C:\alldata\alldata.bin" zstd nY/RHn+XH8T77 64


    но на этом мытарства не заканчиваются, библиотека кодека zstandard.net кросс платформенная, но использует сторонние бинарные libzstd.dll, которые различны для x86 и x64, по этому копируются в выходной каталог приложения в подпапки. надо скопировать нужную (по разрядности операционки) в выходной каталог приложения
    пришлось..
    еще немного поскрипеть мозгами и погуглить, что бы разгадать этот ребус

    и последний вопрос - вам в паблик выложить начинку? или свяжтесь в личке? ))
    ps если не свяжетесь в течении 5-10 минут, здесь и выложу
    время вышло

    вот ваш контент https://1drv.ms/u/s!AiSqqnKTCEDNkYdFZT0Pv-YnGbLTpQ...
    что требовалось
    что бы собрать с нуля самостоятельно
    - установить VS2019 Community
    - выбрать рабочую нагрузку .Net Core
    - в "отдельных компонентах" поставить галочку ".Net Core 2.2 runtime"
    - форкнуть проект по ссылке прямо в студии
    - сменить режим просмотра с "папки" на "решение" (автор проекта работает в VS Code)
    - в диспетчере пакетов Nuget, освежить пакеты (когда предлагает обновления, лучше этого не делать)
    - в параметрах проекта, на вкладке Debug, ввести корректную строку параметров
    - собрать приложение
    - скопировать нужную libzstd.dll в выходной каталог
    - запустить и получить содержимое бинарника

    но не имея опыта общения со студией и коркой, все это не так уж и очевидно
    Ответ написан
    6 комментариев
  • Как сделать проверку столбца типа varchar на уникальность?

    mindtester
    @mindtester
    http://iczin.su/hexagram_48
    надо отделить мух от котлет

    вам надо при загрузке получить уникальность?
    или при выгрузке?

    в первом случае, уже был совет с уникальным индексом. но как правильно отмечено, будет отбрасывать дубликаты с ошибкой. а ошибки надо обрабатывать. тут вроде как программирование начинается (а где программирование, вашу задачу и так 1000ю способами решить можно)

    по вопросу не очень понятно, будет ли работа дальнейшая с базой? если работа не предполагается, а СУБД используется только для фильтрации, то DISTINCT вам в помощь. загружаете все как есть, а выгружаете из базы уже результат запроса SELECT DISTINCT .... можно VIEW создать. это более логичный подход, особенно если разбить данные на колонки - фмилии, имена, отчества, звания, и тд.

    ps конкретно по MS SQL и чиувствительности к регистрам, танцы с бубнами не нужны, все придумано до нас (и для нас) https://www.webucator.com/how-to/how-check-case-se...

    сам не еще пробовал, врать не буду. но вроде можно изменить для отдельной таблицы базы конечно же, если на сервере крутятся другие приложения, и не желательно изменять их поведение
    https://docs.microsoft.com/ru-ru/sql/t-sql/stateme...

    на случай многопользовательского сервера, еще резервный вариант - поставить отдельный экземпляр, можно даже LocalDB или Express, и уже в нем задать collation чувствительный к регистру
    Ответ написан
  • Как скрыть параметры приложения/передать параметры уже запущенному приложению?

    mindtester
    @mindtester Куратор тега C#
    http://iczin.su/hexagram_48
    как скрыть или передать аргументы запуска уже в запущенной clientProcess приложение?
    ни как

    мне тут подсказали, что нужно перехватить stdin запущенного процесса

    то что вам подсказали, можно/нужно(?) делать до запуска целевого приложения

    ps все еще хуже, stdin запущенного процесса - это ввод во время работы целевого приложения. если вы сумеете перехватить stdin запущенного процесса, вероятно, вы сможе читать ввод (upd к примеру клавиатурный, и даже изменять его. но только во время работы приложения. и это ни как не повлияет на аргументы командной строки)

    но к аргументам командной строки это не имеет ни какого отношения. если вам действительно нужен текущий ввод, а не аргументы командной строки - переформулируйте вопрос

    pps в терминах винды (и при текущей формулировке вопроса), вам надо что то вроде хука на запуск приложения. это возможно (я так думаю) но потребует изучения. возможно усердного
    Ответ написан
    Комментировать