Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Автор: BlackVetal
Дата сообщения: 15.01.2010 05:17
AutoIT
Глобально объявить переменную потока в классе ...
Автор: AutoIT
Дата сообщения: 15.01.2010 11:36
BlackVetal
Пример если не сложно.
Я не знаю какой у этой переменной тип...
Автор: Omicron_Persey_8
Дата сообщения: 15.01.2010 15:36
AutoIT

Цитата:
И еще из тойже области вопрос, есть ли функция которая вызывается при выходе из программы?

События
Form.FormClosing
Form.FormClosed
Application.ApplicationExit
Автор: BlackVetal
Дата сообщения: 18.01.2010 06:43
AutoIT
Извини, что так долго не отвечал ...

Код:

private System.Threading.Thread Thread_1;

private void button1_Click(object sender, EventArgs e)
{
if (Thread_1.IsAlive == false)
{

Thread_1 = new System.Threading.Thread(Thread_Th_1);
Thread_1.Start();
}
else
{
Thread_1.Abort();
}

}
Автор: Levitant
Дата сообщения: 18.01.2010 09:33
Здравствуйте. Возникла такая проблема. Для Microsoft Excel требуется некий макрос на VBA. Думаю требуемое пишется очень легко, но я не силён в программировании. Прошу помочь.
В общем в ячейках А1, А2, А3,А4, А5 и т.п. (максимум А10) распологаются разные рандомные числа. В ячейке B1 находится некая сумма, которая складывается из каких то сумм в ячейке (А1...А10), но из каких сумм она складывается - неизвестно. Вот это и надо выяснить! Нужно что бы программа перебором складывала разные сочетания цифр из ячеек А1-А10 до тех пор, пока их сумма не сойдётся с цифрой в ячейки B1 или до тех пор, пока не переберутся все возможные варианты. Помогите пожалуйста!
Автор: BlackVetal
Дата сообщения: 18.01.2010 09:53
Levitant
тебе сюда
Автор: blaro
Дата сообщения: 21.01.2010 21:45
Привет всем! У меня такой вопрос, хочу скопировать содержимое одного файла в другой, но в процессе компиляции появляется сообщение об ошибке

Цитата:

Процесс не может получить доступ к файлу text.txt, потому что файл занят другим процессом

Вот как переписать один файл в другой?
Автор: dneprcomp
Дата сообщения: 22.01.2010 01:53
blaro

Так что все-таки надо? Скопировать файл или его содержимое?

1.Если первое, то перед копированием надо убедиться, что text.txt закрыт
Затем скопировать, назначив новое имя.

2.Если второе, то копировать содержание text.txt в файл с опять же другим именем.

PS.Непонятно причем здесь "процесс компиляции"
Автор: mrherbrooks
Дата сообщения: 25.01.2010 11:40
blaro
скопировать как?
с добавлением или нет в существующий файл?

вообще неплохо бы выкладывать код - а то хрустальный шар он какбе не всегда под рукой.
Автор: blaro
Дата сообщения: 25.01.2010 12:23
mrherbrooks
Человек, вы опоздали. Уже не надо. Я разобрался.
Автор: mrherbrooks
Дата сообщения: 25.01.2010 15:44
blaro
замечательно Человек, рад был бы помочь.
Автор: Drozdov_Sergei
Дата сообщения: 25.01.2010 16:33
Как коректно двигать картинку (задается с помошью множества регионов) по экрану с помошью мыши. Чтоб он не дергалась не мерцала и не стиралась если выходит за пределы экрана.
Автор: Elisy
Дата сообщения: 29.01.2010 09:59
Elisy .Net Bridge - это набор компонентов и методик для бесшовного подключения .Net framework к 1С:Предприятие 7.7/8.0/8.1/8.2 с целью использования всех передовыхразработок .Net. Самое полезное отличие .Net Bridge от существовавших ранее технологий- это собственный механизм преобразования типов, дающий явные преимущества по сравнениюс .Net RCW/CCW- механизмами, написанием плагинов/внешних компонент на C# и VB.Netпод 1С и открывающий неизвестные ранее в 1С:Предприятие возможности. Упор в проектесделан на гармоничную интеграцию двух технологий, где ведущую роль играет 1С:Предприятие.
[more]
Проект Elisy .Net Bridge (1C.Net)
Цели проекта Elisy .Net Bridge состоят в следующем:Обеспечить быстрое подключение существующих .Net-компонентов и приложений к 1С:Предприятие;Существенно расширить объектную модель 1С:Предприятие стандартными классами .Net framework;Существенно расширить возможности программирования на 1С:Предприятие;Популяризировать .Net framework среди разработчиков 1С:Предприятие. Показать егоэффективность и рациональность использования.

Близкие аналоги
Традиционно в 1С существуют следующие аналоги, расширяющие функциональность 1С:

Проект 1С++ (http://1cpp.ru): ориентирован толькона версию 1С 7.7, которая морально устаревает после выхода версий 8.1 и 8.2. В отличиеот него .Net Bridge поддерживает все современные версии 1С: 7.7/8.0/8.1/8.2. В 1С++за основу взяты C++ и система наследования классов. С++ уступает .Net-технологиипо скорости написания ПО и его отлаженности, также требует больше профессиональныхнавыков.

C#/VB.Net –расширения для 1С (http://www.kb.mista.ru/article.php?id=56):до выхода Elisy .Net Bridge традиционным было написание плагинов для 1С по "технологиинаписания внешних компонент для 1С". Традиционный подход уступает подходу, принятомув .Net Bridge, ограниченным набором передаваемых типов. Например, невозможно передатьEnum, а также использовать типы .Net, не помеченные как ComVisible = true.В случае с Elisy .Net Bridge собственный механизм преобразования типов между 1Си .Net "прозрачный" и так не ограничен.

COM-обращения: традиционно сложилось, что у каждого 1С-разработчика естьарсенал dll-библиотек, решающих узкий круг задач. Эти библиотеки написаны разнымиразработчиками, многие уже не поддерживаются. Например, обращение к системным функциямвыполняется через dynwrap.dll, шифрование – через capicom.dll, рисование через JScriptи т.д. .Net Framework через .Net Bridge в отличие от них предоставляет все функцииодним пакетом, опираясь на единую систему типов и стиль API.

Основные возможности
Ключевой библиотекой проекта является Elisy.NetBridge.dll. Она предоставляет следующиепреимущества:Поддерживает создание объектов .Net из GAC и по полному пути к сборке;Поддерживает прямое обращение к свойствам и методам объектов .Net;Не требует атрибута ComVisible=true, назначенного классам .Net;Поддерживает типы Enum и производные;Обеспечивает развернутую информацию об ошибках;Свойства объектов .Net видны при отладке из конфигуратора 1C;Не требует предварительной регистрации через REGSVR32 и REGASM: можно обращатьсячерез функцию 1C ЗагрузитьВнешнююКомпоненту;Содержит логику для обращения к специфическим возможностям .Net framework: вызовстатических методов, обращение к статическим свойствам, обращение к индексным свойствам;

Ниже сравнивается код C# и соответствующий ему код скрипта 1С с использованием Elisy.Net Bridge:
Код C#
[code=csharp]private SeriesCollection getVolumeData()
{
SeriesCollection SC = new SeriesCollection();
Random myR = new Random(1);
for(int i = 0; i < 1; i++)
{
Series s = new Series();
s.Name = "Volume";
double startPrice = 50;

DateTime startDT = new DateTime(2000,1,1);
for(int b = 0; b < 75; b++)
{
Element e = new Element();
e.XDateTime = startDT;
startDT = startDT.AddDays(1);
e.YValue = myR.Next(100);
s.Elements.Add(e);
}

SC.Add(s);
}

return(SC);
} [/code]
Код 1С:Предприятие
[code=text]Function getVolumeData()

SC = net.New("dotnetCHARTING.WinForms.SeriesCollection");
myR = net.New("System.Random", 1);
for a = 0 to 0 do

s = net.New("dotnetCHARTING.WinForms.Series");
s.Name = "Volume";
startPrice = 50;

startDT = net.New("System.DateTime", 2000, 1, 1);
for b = 0 to 74 do

e = net.New("dotnetCHARTING.WinForms.Element");
e.XDateTime = startDT;
startDT = startDT + 1*60*60*24;
e.YValue = myR.Next(100);
s.Elements.Add(e);
enddo;

SC.Add(s);
enddo;

return SC;
EndFunction[/code]

История создания
Компонент Elisy .Net Bridge существует уже около года. За это время накоплены положительныеотзывы от разработчиков, использующих компонент на практике. Исторически выпускрелизов происходил следующим образом:2 Апреля 2009 вышла первая альфа-версия Elisy .Net Bridge;5 Мая 2009 вышел релиз первой версии компонента;Май 2009 – сентябрь 2009 выпущены версии 2.1-2.3;17 октября выпущена утилита LinqTo1CSQL для визуализации внутренней структуры данных1С и прямого доступа к ним;2 ноября 2009 появилась альфа-версия 3й версии компонента;16 января 3я версия перешла в бета-стадию;

Лицензирование и цены
Компонент Elisy .Net Bridge является платным компонентом с бесплатной ознакомительнойверсией. Ознакомительная версия не накладывает никаких ограничений на функциональность.Существующая система лицензирования предполагает приобретение отдельной лицензиина каждый компьютер. Цена колеблется от 50 до 9 Euro в зависимости от числа копийи партнерского статуса.

Факты и результаты
За 9 месяцев существования проекта было выпущено 4 релиза компонента Elisy .NetBridge (версии 1, 2.1, 2.2, 2.3), а 3я версия находится в бета-стадии;

Выпущена бета-версия LinqTo1C-обработки, которая генерирует dbml-файлы для 1С идает возможность прямого обращения к базе данных 1С 8.x на MS SQL. Готовится выпускAsp.Net MVC –примера, поддерживающего такой доступ.

Пользователями было скачано порядка 300 копий ознакомительной версии и около 600копий прикладных примеров;

Были подготовлены развернутые статьи-примеры. Каждая из них вносит элементы новизныи актуальности. Охватывается практически весь .Net framework:Быстрое подключение .Net-компонентов сторонних разработчиков в 1С:Предприятие 7.7/8.0/8.1/8.2на примере диаграмм DotNetChartingАсинхронный вызов веб-сервисовОбращение к системным библиотекам Windows из кода программ 1С:Предприятие. P/Invoke.Получениеизображений, сохраненных в 1С:Предприятие 8.x, прямым доступом из SQL Server + примеркода на Asp.NetМногопоточность 1C и обратная связь из .Net FrameworkИспользование технологии LinqToSql для прямого доступа к данным 1С:ПредприятиеОпределение классов .Net и работа с ними в 1С:ПредприятиеПолучение аргументов командной строки запуска 1С:Предприятие, переменных окруженияи другой информацииЭксперименты с XAML в 1С 7.7/8.0/8.1/8.2РеализацияHTTP-сервера на 1С 7.7/8.0/8.1/8.2Шифрование и защита информации в 1С:Предприятие 7.7/8.0/8.1/8.2(1C.Net) 1C-компонент Elisy.NetBridge добавляет поддержку .Net в 1С:Предприятие7.7/8.0/8.1/8.2

Дополнительные ресурсы
Перечень релизов и описаний изменений:1C:Enterprise forums

Все статьи по Elisy .Net Bridge: richmedia.us

Проект на Инфостарт: infostart.ru

Источник: richmedia.us
[/more]
Автор: vov4ka
Дата сообщения: 02.02.2010 06:19
Здравствуйте,уважаемые программеры. Испытываю регулярные зависания при входе на ВэбМорду(IIS),которая стоит на серваке.Веб-морда именуется ПО Комбат(не дай Бог кому-то столкнуться).Попутно сервак же и держит домен.Писана на ASP .Net. В разделе "приложение" ошибок

Exception: System.Threading.ThreadAbortException
Message: Поток находился в процессе прерывания.
StackTrace: в System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr)
в System.Web.HttpRuntime.ProcessRequestNoDemand(HttpWorkerRequest wr)
в System.Web.Hosting.ISAPIRuntime.ProcessRequest(IntPtr ecb, Int32 iWRType)"
01.02.2010 16:31:42 ASP.NET 2.0.50727.0 Предупреждение Отсутствует 1073 Н/Д REVRES "Сбой обработки запроса.
Автор: TeXpert
Дата сообщения: 02.02.2010 06:47
Есть база на XML, хочу там завести таблицу Users для пользователей, где храниться будут логины и пароли, естественно, в зашифрованном виде. Вопрос: достаточно ли для этого средств самого Framework (никаких там хитрых ключей пока не требуется)? Какой namespace надо пользовать? Спасибо
Автор: mrherbrooks
Дата сообщения: 02.02.2010 08:40

Цитата:
Есть база на XML, хочу там завести таблицу Users для пользователей, где храниться будут логины и пароли, естественно, в зашифрованном виде.

не самое удачное решение - ибо с большими xml - файлами работа будет медленная.


Цитата:
Вопрос: достаточно ли для этого средств самого Framework (никаких там хитрых ключей пока не требуется)?

в принципе да.


Цитата:
Какой namespace надо пользовать?

System.XML;
System.Data;
Автор: TeXpert
Дата сообщения: 02.02.2010 08:49
mrherbrooks
Цитата:
не самое удачное решение - ибо с большими xml - файлами работа будет медленная
Естественно, база небольшая). А большая -- примерно какого размера подразумевается?
Цитата:
System.XML;
System.Data;
Это само собой, я имел в виду что-нибудь типа связанного с ключевым словом "crypto" -- такие не требуются?
Автор: mrherbrooks
Дата сообщения: 02.02.2010 14:08

Цитата:
А большая -- примерно какого размера подразумевается?

25 мб


Цитата:
Это само собой, я имел в виду что-нибудь типа связанного с ключевым словом "crypto" -- такие не требуются?

я думаю стоит хранить хэши.
тем не менее по криптографии посмотрите в namespace System.Security.Cryptography
хеш - в том же namespace - класс MD5
Автор: blaro
Дата сообщения: 09.02.2010 19:56
Привет всем! У меня есть вопрос. У меня есть 2 функции, одна считает строки и печатает номер строки рядом с ней, а вторая "привязана" к вертикальному слайдбару и при прокрутке текста, прокручивает также номера строк. Когда я увеличиваю размер текста, то расстояние между номерами строк не увеличивается. Вопрос: что и где нужно дописать чтобы расстояние между номерами строк увеличивалось тоже? Дальше 2 функции описанные выше.

Код:
private void linenumber(RichTextBox rtb, Label lbl)
{
Point p = new Point(0, 0);
int firstindex = rtb.GetCharIndexFromPosition(p);
int firstline = rtb.GetLineFromCharIndex(firstindex);
p.X = ClientRectangle.Width;
p.Y = ClientRectangle.Height;
int lastindex = rtb.GetCharIndexFromPosition(p);
int lastline = rtb.GetLineFromCharIndex(lastindex);
p = rtb.GetPositionFromCharIndex(lastindex);
lbl.Text = "";
for (int i = firstline; i <= lastline; i++)
{
lbl.Text += i + 1 + "\n";
}
}
Автор: rwdtxgflnsxljcl
Дата сообщения: 10.02.2010 10:15
можете помочь по этому вопросу?

http://forum.ru-board.com/topic.cgi?action=notifyon&forum=33&topic=10982&start=0
Автор: onyxhall
Дата сообщения: 11.02.2010 15:25
Имеется DXperience ASpxNavBar. Все GroupHeader - ы у него выглядят и работают как ссылки. Подскажите пожалуйста как сделать, чтобы это был просто текст
Автор: StanFreeWare
Дата сообщения: 12.02.2010 07:23
Есть функция, задающая всем текстовым свойствам элементов данной формы локализованное значение (мгновенное переключение русский <-> английский).

private static void TranslateFormTo(Form form, CultureInfo cultureInfo)
{
Type formType = form.GetType();
ResourceManager res = new ResourceManager(formType);

FieldInfo[] formFields = formType.GetFields(BindingFlags.NonPublic | BindingFlags.DeclaredOnly | BindingFlags.Instance);
foreach (FieldInfo fieldInfo in formFields)
{
// некий код, задающий локализацию для ToolTip'ов
object field = fieldInfo.GetValue(form);
PropertyInfo propertyInfo = fieldInfo.FieldType.GetProperty("Text");
//Нет свойства Text
if (propertyInfo != null)
{
string textProperty = (string)res.GetObject(fieldInfo.Name + '.' + propertyInfo.Name, cultureInfo);
if (textProperty != null && field != null)
propertyInfo.SetValue(field, textProperty, null);

// заголовок формы
form.Text = (string)res.GetObject("$this.Text", cultureInfo);
}
}
}

Не могу понять, как пройти аналогичным образом по ToolTip'ам
В свойствах, я так понимаю их нет, по крайней мере
propertyInfo = fieldInfo.FieldType.GetProperty("ToolTip");
ничего не находит.
По условию if (field is ToolTip) находится только один элемент, что с ним дальше делать, тоже неясно...

Автор: Nikolas2500
Дата сообщения: 13.02.2010 15:58
Помогите по Visual Basic

Припустим у меня эсть форма в которой имеэтса елемент webBrowser1 и label1
Нужно зделать так чтоб при натисненни левой кнопки миши на обэкте webBrowser1 обэктови label1 надавалося значення координат мишки видносно обэкта webBrowser1.
Ну типа кординат не всого екрана а толька улемента webBrowser1 причом эсли обэкт скрит ну нивидно его щтоп прога сама проворачовала линию прокрутки.
Автор: Lihonosov
Дата сообщения: 13.02.2010 17:24
Nikolas2500
Зачем же так ... смесь русского и украинского
Автор: dneprcomp
Дата сообщения: 13.02.2010 18:37
Nikolas2500
На этот вопрос уже отвечали. Если не подошло, то надо объяснить что и почему не подошло.
Вопросы задаются не во всех более-менее подходящих темах одновременно, а в теме по используемому языку програмирования.
http://forum.ru-board.com/topic.cgi?forum=33&topic=10981#1

Если вопросы по VB6, то продолжай в Задачи на Visual Basic (VB)

Если же по VB.Net то продолжай здесь.
Автор: LuckyStrike
Дата сообщения: 16.02.2010 15:51
Доброго времени суток парни, помогите реализовать алгоритм, в С# через Windows приложения с помощью инструмента Panel, вот задачка:
Реализовать в виде процедуры CDA алгоритм «Цифровой дифференциальный анализатор».
Предполагается, что:
•    (x1, y1) — начальная точка отрезка;
•    (x2, y2) — конечная точка отрезка;
•    IntRe(x) — функция, преобразующая вещественные числа в целые;
•    Sign(x) — функция, возвращающая -1, 0, 1 для отрицательного, нулевого и положительного аргументов соответственно;
•    Plot(x,y) — функция, отображающая на экране точку с координатами (x, y).

Алгоритм:
If abs(x2-x1)>=abs(y2-y1) then
    Длина=abs(x2-x1)
else
    Длина=abs(y2-y1)
end if
dx=(x2-x1)/Длина
dy=(y2-y1)/Длина
x=x1+0.5*Sign(dx)
y=y1+0.5*Sign(dy)
i=1
while (i<=Длина)
    Plot(IntRe(x),IntRe(y))
    x=x+dx
    y=y+dy
    i=i+1
end while
finish
Автор: BlackVetal
Дата сообщения: 17.02.2010 05:33
LuckyStrike
Примерно так должно быть.


Код:
Graphics _graphic;
Pen _pen;

private int Sign(double arg)
{
if(arg>0) return 1;
else if (arg<0)return -1;
else return 0;
}

private int IntRe(double arg)
{
return Trancate(arg);
}

private void Plot(int cordX, int cordY)
{
_graphic.DrawCurve(_pen, new Point[] {new Point(cordX, cordY)});
}

private void Calc()
{
double x1=0;
double x2=0;
double y1=0;
double y2=0;
double len=0;
double dx=0;
double dy=0;
double x=0;
double y=0;
if(Abs(x2-x1)>=Abs(y2-y1))
{len = Abs(x2-x1);}
else
{len = Abs(y2-y1);}
dx=(x2-x1)/len;
dy=(y2-y1)/len;
x=x1+0.5*Sign(dx);
y=y1+0.5*Sign(dy);
for(int i=0;i<len;i++)
{
Plot(IntRe(x),IntRe(y));
x+=dx;
y+=dy;
}
}

void main()
{
...
_pen = new Pen(Color.Red, 3);
_graphic = _panel.CreateGraphic();
...
}
Автор: say24
Дата сообщения: 17.02.2010 11:10
На этот раз - хочу поделиться ответом:

Писал маленькую задачку, которая анализирует некоторые данные и складывает результат в БД, в частности - в .mdb
Упёрся в создание самого файла БД: таскать пустой файл-шаблон - похоже на изврат, создавать через ADOX - неуниверсально и т. д. В общем - долго искал простой быстрый способ создания БД на ходу.
В итоге пришёл к выводу: не надо создавать, можно таскать готовый прямо в коде:

Пишем что-то вроде этого:

Цитата:

byte[] bBuffer = File.ReadAllBytes(@"S:\Empty.mdb");
string sBuffer = Convert.ToBase64String(bBuffer);
File.WriteAllText(@"S:\Empty_mdb.txt", sBuffer);

Далее буквально через clipboard содержимое получившегося текстового файла кладём в переменную:

Цитата:

string s = "YmAJwlXpqWdyQD... ... ...8AnH6fkP+FmjHFebrtM";

Для красоты можно было разрезать на части, но у меня редактор и так не возмутился на 250Кб строку.

P.S. Возможно, что кто-то сейчас скажет: "Датычо! Пустой .mdb содаётся в одну коману через тот же MS Jet, вот так: ... ". Хорошо, если так, но я не нашёл. Кроме того, метод универсален для таскания в коде мелких однофайловых неинсталлирующихся утилит чего угодно, любых шаблонов.

P.P.S. Если кто-то подскажет как очень быстро (быстрее всего) залить данные в .mdb - буду рад.
Автор: Postscriptum
Дата сообщения: 19.02.2010 04:23
Подскажите, плиз - вот простой код:

Код:
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<script runat="server">
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked)
Label1.Text = "Птичка";
else
Label1.Text = "Не птичка";
}
</script>
<form id="form1" runat="server">
<div>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" />
</div>
</form>
</body>
</html>
Автор: BlackVetal
Дата сообщения: 19.02.2010 05:54
Postscriptum
Сдается мне что у тебя у CheckBox1 не стоит своиство "AutoPostBack"

Код:
<asp:CheckBox ID="CheckBox1" runat="server"
oncheckedchanged="CheckBox1_CheckedChanged" AutoPostBack="True" />

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

Предыдущая тема: Как удалить/добавить/отключить/включить устройство?


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.