надо было просто научится его готовитьк счастью структура документа довольно четкая, по этому все решаемо. но либо не умеет сохранять модифицированные документы, либо я все еще не понимаю как пользоваться тамошний Writer-ом
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;
}
// привычка, для уменьшения многословности кода
internal static void print(this string s) => Console.WriteLine(s);
Что я делаю не так?все
Цель в том, чтобы dll подгружалась с сервера, и существовала только в оперативной памяти, поэтому подобные танцы с бубномнамек - чаще такие вещи решаются через скриптование
я неправильно выразился, под фразой "только подключение сборки" я имел в виду, как раз динамическое подключение сборки, либо через Assembly.Load, либо AppDomain.Load()+
Цель в том, чтобы dll подгружалась с сервера, и существовала только в оперативной памяти, поэтому подобные танцы с бубном.. ну начнем с того, что надо иметь правильно компилированные версии DLL для всех вероятных клиентских ОС.. это изначально выбор пути жуткого геморроя.. думаю на этом можно и закончить ))
хорошо сформулированный вопрос, содержит не менее половины ответа (с)тут так..
CIL действительно компилируется в машинный кодда, действительно
зачем указывать список целевых операционных систем?не поверите, но минимальный ответ примерно таков - правильный формат исполняемого файла
\\(путь к файлу)это синтаксис литералов в тексте программы, что бы компилятор различал применение \ как служебного символа и как просто символа. реально строки путей содержат один символ разделитель \
public static void Show(string dirPath, int level)
{
...
var sb = new StringBuilder();
sb.Append('\t', level);
sb.Append(dirFiles[i]);
Console.WriteLine(sb);
...
Show(dirs[i], level + 1);
...
}
...
static void Main(string[] args)
{
Show("D:\\test", 0);
...
}
public static int level;
...
public static void Show(string dirPath)
{
...
var sb = new StringBuilder();
sb.Append('\t', level);
sb.Append(dirFiles[i]);
Console.WriteLine(sb);
...
level++;
Show(dirs[i]);
level--;
// очевидно что первый вариант будет попроще и понадежнее
...
}
...
static void Main(string[] args)
{
level = 0;
Show("D:\\test");
...
}
using System.IO;
using System.Text;
namespace ansi2utf8
{
class Program
{
static void Main(string[] args)
{
var t = File.ReadAllText("quest.txt", Encoding.Default);
File.WriteAllText("quest8.txt", t, Encoding.UTF8);
}
}
}
textBox1.Text
?@"G:\std\profiles\" + textBox1.Text
?Есть подозрениячто если
textBox1.Text
фрагмент пути, типа конкретное приложение или имя профиля тогдаif (File.Exists(@"G:\std\profiles\" + textBox1.Text + @"\cfg.txt"))
// со слешами тоже повнимательнее надо
но если textBox1.Text
альтернативное имя файла, видимо if (File.Exists(@"G:\std\profiles\" + textBox1.Text))
майки сделали винформы кроссплатформенными в .NET Core 3хотя и без пруфа, но что то гуглится.. надо понимать, что "майки" мало чего будут делать просто так. тут главный вопрос востребованность (особенно в энтерпрайзе, но в нем самом, формы, как бы уже признаны маргинальной веткой эволюции).. ).
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s &= a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
int[,] a = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
bool s = true;
for (int i = 0; i < a.GetLength(0) && s; ++i)
for (int j = 0; j < a.GetLength(1) && s; ++j)
s = a[i, j] == a[j, i];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
using System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
using System;
namespace simm_array
{
class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; ++x)
for (var y = x + 1; y < h && s; ++y)
s = m[x, y] == m[y, x];
Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
}
using System;
namespace simm_array
{
static class Program
{
static void Main(string[] args)
{
var m = new int[,] { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
m.dump();
m.isSymmetrical().report();
}
static bool isSymmetrical(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
var s = w == h;
for (var x = 0; x < w && s; x++)
for (var y = x + 1; y < h && s; y++)
s = m[x, y] == m[y, x];
return s;
}
static void dump(this int[,] m)
{
var w = m.GetLength(0);
var h = m.GetLength(1);
for (var x = 0; x < w; x++)
{
for (var y = 0; y < h; y++)
{
Console.Write($"\t{m[x, y]}");
}
Console.WriteLine();
}
Console.WriteLine();
}
static void report(this bool s) => Console.WriteLine(s ? "Симметрична" : "Ne simmetrichna");
}
}
int n = pictureBox1.Height; // n строк изображения, m столбцов
int m = n;
да ну ладно... ?!!!!!!!!!... почему неint n = pictureBox1.Height; // n строк изображения, m столбцов
int m = pictureBox1.Width;
откуда вы знаете, что там точный квадрат?.. но это мелочи на фоне остальногоstruct complex //комплексное число
{
public float Re;
public float Im;
}
и furie[u][v].Re = ...
furie[u][v].Im = ...
ну тогда и пишитеvar furie = new complex[...
furie[u][v].Re = ...
furie[u][v].Im = ...
for (u = 0; u < 20; u++)
for (v = 0; v < 20; v++)
var furie = new complex[20,20];
Мы подумали про SignalR но так как участники чата не в одном платформе как то использования этой библиотеки будет не правильнос чего вдруг?
G
using System;
using System.IO;
namespace t_text_read_and_parsing
{
class Program
{
static void Main(string[] args)
{
var lines = File.ReadAllLines("text.txt");
foreach (var l in lines)
{
var tokens = l.Split(' ');
if (int.TryParse(tokens[0], out var a) && int.TryParse(tokens[1], out var b))
Console.WriteLine($"\t{a}\t{b}");
}
}
}
}