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

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

Автор: ValeriyZ
Дата сообщения: 05.06.2012 09:07

Цитата:
А что за ошибка?

Непомню как точно, но смысл в том, что Превышен лимит памяти, но памяти не сервера (её там ооочень много) а выделенной в IIS или в PHP. Там толи 12 толи 120 Мб ограничения. Можно конечно добавить памяти, но, на мой взгляд, это не выход. Общем нужно какой-то скрипт чтобы и возможность докачки была и подмена имени и памяти не кушал.
Сейчас мучаю LightTPD
Автор: MrZeRo
Дата сообщения: 12.06.2012 21:02
nikanomo
А как вообще можно понять в случае Web приложения, что пользователь "находится в системе"? Смотрит он еще на ту страницу в своем браузере или уже надоело ему и он ее закрыл, можете ли вы наверняка это определить?
Автор: nikanomo
Дата сообщения: 19.06.2012 12:06
MrZeRo, можно создать в таблице «пользователи» поле IsAuthenticated, и при логине записывать туда true, при logoff — false. Это мне подходит, но может есть готовые решения?
Автор: akselrud
Дата сообщения: 30.06.2012 16:52
Подскажите, как Visual Studio (2008-2010) перенести в редакторе все Control с одной формы на другую с сохранением их имен и всех свойств ?
Автор: dneprcomp
Дата сообщения: 30.06.2012 19:34
akselrud

1.Сделать 'Save As' формы под другим именем. Затем добавить первоначальную фому в проект.
2.Просто сделать copy/paste контролов с первой формы на вторую.
Контролы выбирать для копирования с нажатым 'ctrl'
Автор: Mike13x13
Дата сообщения: 21.07.2012 17:56
MrZeRo
Идея такова: создаем на странице невидимый фрейм с автообновлением, скажем, раз в минуту. Код фрейма на стороне сервера можно организовать, как фантазия подскажет и софт сервера позволит.
Автор: Zabo4ka
Дата сообщения: 14.08.2012 03:05
Проблема со Scrollbar-ом.
В общем, есть у меня форма, в ней 8 picturebox-ов, картинки в которых появляются в завимости от действий пользователя. Т.е. часть picturebox-ов бывает пуста. Для этого у меня окну выставляется нужный размер:

this.Size = new Size(this.Size.Width, Size);

И пустые picturebox-ы просто срезаются.
Но когда все 8 должны показывать свои картинки, окно не помещается на экране и его нужно скроллить.
Проблема в том, что если выставить Autoscrollable = true, либо написать что-то такое:

this.AutoScroll = true; //Скроллбар активируется, когда отображаемых картинок больше семи
//и они уже не помещаются на экране
this.SetAutoScrollMargin(0, 50);

Получается вот такая фигня: http://img856.imageshack.us/img856/8242/73984264.png (55кб)
Т.е. скроллбар проматывает ОЧЕНЬ много, получается полтора экрана пустоты. Выглядит дико!
У мелкомягких нагуглил:

VScrollBar bar = new VScrollBar();
bar.Visible = true;
bar.Maximum = 100;

Но при AutoScroll = false скроллбар не появляется и эта фигня не работает.
Подскажите, что делать? Гуглить по запросу "Скроллбар скроллит слишком много" и т.п. не получается.
Автор: Mextrom
Дата сообщения: 14.08.2012 15:15
Zabo4ka
Можно код посмотреть? Не ясно, что в разметке.
Я так понимаю, что picturebox-ы всегда есть на форме (не создаются динамически). Возможно есть смысл просто скрывать пустые picturebox-ы.
Автор: Zabo4ka
Дата сообщения: 14.08.2012 16:05
Mextrom
Интересует код самой формы?
Да, picturebox-ы есть всегда, не создаются (пока так не умею xD). Скрыть пустые попробую.

public Form2()
{
InitializeComponent();
StreamReader rd = new StreamReader("Data.zt");
string [] tempArray = rd.ReadToEnd().Split('\n');
rd.Close();

{Здесь картинки распихиваются по пикчербоксам}

//Тут занимаемся подгоном размера окна и активацией скроллбара
int TrueCounter = 1;
int a = 1;
while (a <= 8)
{
if (Avaible(a) == true) TrueCounter++; //В TrueCounter пишется количество отображаемых картинок (выполненные достижения)
a++;
}
VScrollBar bar = new VScrollBar();
bar.Visible = true;
bar.Maximum = 100;
if (TrueCounter > 7)
{
this.AutoScroll = true; //Скроллбар активируется, когда отображаемых картинок больше семи
//и они уже не помещаются на экране
this.SetAutoScrollMargin(0, 50);
}
if (TrueCounter > 7) TrueCounter = 7; //Чтобы окно не увеличивалось (тогда нижний край уползает за трей), а появлялся скроллбар
//Вычисляем необходимый размер окна.
int Size = 0;
Size = 51 + 92 * TrueCounter;
this.Size = new Size(this.Size.Width, Size); // Высота окна установлена

}

Автор: Mextrom
Дата сообщения: 14.08.2012 20:56
Zabo4ka
Я, честно говоря, наверное не понимаю задачу. Например, зачем нужно менять размер окна? Почему нельзя сразу задать размер или вообще развернуть на весь экран? Дальше:

Код: VScrollBar bar = new VScrollBar();
bar.Visible = true;
bar.Maximum = 100;
Автор: Zabo4ka
Дата сообщения: 14.08.2012 23:09
Mextrom
Размер окна менять, в общем, не обязательно, просто я хотел сделать, чтобы при наличии пустых picturebox-ов окно уменьшалось, не оставляя пустого места под ними. Но с этим как раз проблем не было, всё работало, так или иначе.

А не работает, как раз, Скроллбар. Дело в том, что если поставить AutoScroll = true, появляется скроллбар. Хорошо. Но он, по непонятной для меня причине, скроллит на два экрана вниз после последнего элемента! Как на том скриншоте, что я выкладывал.

Сейчас попробовал написать:

AutoScroll = false;
VScrollBar bar = new VScrollBar();
Controls.Add(bar);
bar.Dock = DockStyle.Right;
bar.Minimum = 0;
bar.Maximum = 100;

Бар появился, но форма на него никак не реагирует, не скроллится, хотя скроллбокс тягать можно.
Я, наверно, как-то не так его использую?
Автор: Mextrom
Дата сообщения: 15.08.2012 19:35
Zabo4ka
Попробуйте, как у вас работает такой вариант (может он подойдёт):
[more=Form1.cs]
Код: using System;
using System.Drawing;
using System.Windows.Forms;

namespace ScrollTest
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
this.AutoSize = true;
this.AutoScroll = true;
this.MaximumSize = new Size(int.MaxValue, 500);
}

private void button1_Click(object sender, EventArgs e)
{
if (pictureBox2.Visible)
{
pictureBox2.Visible = false;
this.Size = new Size();
}
else
{
pictureBox2.Visible = true;
this.ScrollControlIntoView(pictureBox2);
}
}
}
}
Автор: Zabo4ka
Дата сообщения: 16.08.2012 01:46
Mextrom
Есть! Заработала!
В итоге:

pictureBox2.Visible = false;
this.Size = new Size();

Стало уменьшать окошко, как надо. Не сразу, правда, допёр, что с пустым picturebox-ом не получается, картинка там должна быть. Но это уже частности. Спасибо большое.
Автор: delover
Дата сообщения: 27.08.2012 19:12
Во первых хочу сказать, что я в восхищении от библиотеки NHipernate. Простите за моё нубство (лол-ство), честно сказать - я новичёк. Не загружалась сборка, я нашел проблему - это мой репозитарий. Он работал, а потом перестал работать, я только добавил одно поле. Тест проект не проходит именно по моей табличке. Пока мои поиски в интернете мне не помогли - если поможете заранее спасибо.
Автор: delover
Дата сообщения: 28.08.2012 12:33
пишет Problem trying to set property by reflection не компилится документ
Автор: delover
Дата сообщения: 29.08.2012 15:22
поправил репозитарий и востановил NHibernate.dll. Там была 3.0 а ByteCode.LinFu 2.1.
В ошибках ругалась на велформед конфиг. ))) вобщем вопрос закрыт.
Автор: IFKey
Дата сообщения: 30.08.2012 07:37
Прошу помощи от мастеров прикладного программирования с задачей на С#:

Цитата:
Вывести на форму фрагмент кода программы из текстового файла. Имя файла выбирать с помощью стандартного диалогового окна. В выведенном тексте выделить щелчком мыши какую-либо скобку, после чего найти в тексте парную ей (если такая есть) и выделить ее тем же цветом (Указание: для вывода текста использовать шрифт Courier с одинаковой шириной символов).

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

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

На всякий случай есть еще куча вариантов задач, сделать можно любой:
[more=Еще варианты задач]
Группа №1
1. Вывести на форму фрагмент кода программы из текстового файла. Имя файла выбирать с помощью стандартного диалогового окна. В выведенном тексте выделить щелчком мыши какую-либо скобку, после чего найти в тексте парную ей (если такая есть) и выделить ее тем же цветом (Указание: для вывода текста использовать шрифт Courier с одинаковой шириной символов).

2. Создать и отобразить на форме двунаправленный список символьных строк. Выбрать с помощью мыши любую часть этого списка, указав начальную и конечную строку, и выделить ее другим цветом. Создать командную кнопку, вызывающую функцию, удаляющую выбранную часть списка.
3. Создать и отобразить на форме кольцевой однонаправленный список, иллюстрирующий выполнение заданий в мультипрограммной ОС. Каждое задание выполняется заданный квант времени, после чего процессор переходит к выполнению следующего в списке задания. Список содержит числа, соответствующие времени, оставшемуся до завершения выполнения каждого задания.

4. Нарисовать змейку, которая будет гоняться за курсором мыши. Если змейка догонит курсор, завершить работу. В случайных позициях экрана расположить кружки. Для выигрыша необходимо, чтобы змейка съела все кружки (при этом увеличиваясь в размере) и не доходила до края формы. Змейка не должна пересекать сама себя. Управление змейкой – с помощью мышки: левая кнопка – поворот налево, правая – направо.

5. Игра «Квадратики». Игровое поле имеет вид квадрата, разделенного на клетки. В начале игры на поле уже имеется некоторое количество линий, образующих подобие лабиринта. Игрок и программа по очереди рисуют линии по любой свободной стороне любой из клеток, стараясь (по возможности) получить квадратик. Как только одному из игроков удается это сделать, квадратик закрашивается цветом этого игрока и игрок получает еще один ход. Побеждает тот, кто к концу игры имеет больше закрашенных квадратиков.



Группа №2
1. Создать и отобразить на форме два списка символьных строк. Найти в первом списке строку, которые можно составить из двух любых строк второго списка, и выделить эти строки другим цветом. Создать две командные кнопки, первая из которых удаляет из первого списка найденную строку, а вторая – вызывает поиск следующей такой строки. При отсутствии такой строки в первом списке выдать соответствующее сообщение.

2. Разработать программу, моделирующую использование стека для хранения информации о выбираемых пользователем цветах. Разместить в поле формы изображение стека и палитру цветов (8 – 12) для помещения в стек. Выбор цвета – с помощью мыши, выбранный элемент палитры выделяется рамкой. Помещение выбранного цвета в стек – командной кнопкой. Извлечение – второй кнопкой, при этом извлеченный элемент помещается в очередь, расположенную под палитрой.

3. Создать и отобразить на форме двунаправленный список символьных строк. Выбрать с помощью мыши любую строку этого списка и выделить ее другим цветом. Выбрать с помощью мыши другую строку этого списка и также выделить ее цветом. С помощью двух командных кнопок выполнить перенос первой выделенной строки перед (первая кнопка) либо после (вторая кнопка) второй выделенной строки.

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

5. Разработать программу, использующую дек для моделирования работы склада с двумя терминалами. Грузы имеют идентификационный номер, вводимый пользователем, и поступают на склад с любого терминала (создать на форме две командные кнопки). Извлечение груза со склада происходит с ближайшего к нему терминала. Для временного хранения грузов, препятствующих извлечению заданного, использовать стек.



Группа №3
1. Создать и отобразить на форме два списка символьных строк. Создать командную кнопку, вызывающую функцию, которая определяет, входит ли один список в другой. При нахождении одного списка внутри другого найденный список выделить другим цветом.

2. Создать и отобразить на форме кольцевой однонаправленный список из символьных строк, содержащих имена игроков. Реализовать для этого списка алгоритм «считалки», определяющий, какой игрок является водящим, для этого ввести целое число, определяющее количество слов в считалке. Создать на форме командную кнопку, при нажатии на которую анимируется процесс считалки и определяется игрок, покидающий список. Процесс повторять, пока не останется последний игрок, который и является водящим.
3. Разработать программу, моделирующую использование двух стеков для вычисления значения арифметического выражения, вводимого пользователем. Выражение может содержать только целые числа и знаки арифметических операций. Отобразить в форме анализируемое выражение, (текущий просматриваемый символ выделить другим цветом), а также содержимое каждого стека в каждый момент времени. По окончании вычисления выдать сообщение о полученном результате.

4. Разработать программу, моделирующую очередь запросов на чтение данных с жесткого диска и запись на него. Адрес на диске для чтения или записи задается номером дорожки и номером сектора на дорожке. Заявки поступают в конец очереди, выбирается из очереди заявка с адресом, ближайшим к текущему положению головки считывания-записи. Заявки на одной и той же дорожке обслуживаются в порядке возрастания номеров секторов. Начальным положением головки диска считать нулевой сектор нулевой дорожки

5. Игра «Шарики»: На клетчатом поле в каждой клетке появляются шарики N различных цветов. Щелчком мыши можно убрать группу шариков одного цветя (не менее К штук), расположенных рядом. После удаления шарики сдвигаются вниз на освободившиеся места. Задача игрока – убрать все шарики.
[/more]
Автор: delover
Дата сообщения: 12.09.2012 17:25
Поздравляю с днём ПРОГРАММИСТА
Автор: A1exSun
Дата сообщения: 27.09.2012 13:38
В этой теме писать свои глупые вопросы?


Есть некий текст, нужно посчитать количество каждого отдельного символа в нем. Сколько и какие там символы неизвестно, может быть несколько алфавитов.
Я так понимаю нужен двумерный динамический массив, чтобы после прочтения каждого нового символа проверить если ли он в массиве, есть - увеличить рядом счетчик, нету - добавить и установить счетчик в 1. Как это реализовать?
Автор: Undaster
Дата сообщения: 27.09.2012 14:44
A1exSun, если текст в юникоде, то возможно будет проще будет работать с Хэш-таблицами.
Считывать символы из потока, используя подходящий класс из пространства System.IO, например BinaryReader.
Автор: A1exSun
Дата сообщения: 27.09.2012 15:27
Undaster
SortedDictionary мне нужен по идее. Файл читаю с помощью ReadByte.
Автор: Undaster
Дата сообщения: 27.09.2012 16:56
A1exSun, ну вот, и сам всё знаешь, так в чём проблема то?
Автор: A1exSun
Дата сообщения: 27.09.2012 17:16
Undaster
Тогда еще не знал.
А проблем еще будет много Первый раз на C# пишу.
Автор: A1exSun
Дата сообщения: 07.10.2012 11:47
http://forum.ru-board.com/topic.cgi?forum=33&topic=3706&start=2040#10 почему этот код не работает? У меня ничего не рисует.
Автор: SSTREGG
Дата сообщения: 09.10.2012 03:48
A1exSun
Скорее всего pictureBox1 не подписан на событие Paint:
Код: public Form2 ( )
{
InitializeComponent();
this.Resize += ( s, e ) => { pictureBox1.Invalidate(); };
pictureBox1.Paint += pictureBox1_Paint;
}
Автор: A1exSun
Дата сообщения: 13.10.2012 22:37
SSTREGG
Дописал и заработало. Благодарю!
Автор: Xttx
Дата сообщения: 20.10.2012 15:15
Может кто-то сталкивался,
как в vb.net в результатах операций отсекать то, что "не влезло" в заданный тип переменной?
Я не знаю как это точнее сформулировать, к примеру:
Код:
? hex(&H20000000 - &h30000000)
"F0000000"
Автор: lzr173
Дата сообщения: 21.10.2012 13:24
кто-нибудь знает решение этой проблемы с XNA, я скачал книгу и когда загружаю code sample из этой книги, то выскакивает такая ошибка, XNA game studio 4.0 установлена, и еще когда копируешь весь код в новый проект, то все работает без ошибок
http://www.imagebam.com/image/067131216266951
Автор: Xttx
Дата сообщения: 21.10.2012 21:20
lzr173
Попробуй
project / add reference / .NET / Microsoft.XNA*
Автор: Mextrom
Дата сообщения: 22.10.2012 09:51
Xttx
Сразу оговорюсь, что vb.net я не знаю. Но как я понял здесь

Код: ? hex(&H20000000 - &h30000000)
"F0000000"

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

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


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