Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Открыть новую тему     Написать ответ в эту тему

dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrovil
 
Выучить наизусть. Послать SMS себе самому. Позвонить и наговорить сообщение. На бумажу записать. Рассказать товарищу и попросить запомнить.
 
Ну как можно что-либо сохранить никуда не записывая?

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 21:18 03-03-2010 | Исправлено: dneprcomp, 21:21 03-03-2010
Arrovil

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Пожалуй, принтскрин надежнее будет
А если серьезней - сорри, немного нечетко сформулировал: не записывая в реестр или отдельный файл. То есть все должно происходить в единственном рабочем файле.

Всего записей: 21 | Зарегистр. 14-10-2008 | Отправлено: 21:55 03-03-2010 | Исправлено: Arrovil, 21:56 03-03-2010
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrovil
Да, принтскрин я как то пропустил. Хотя он не удовлетворяет техзаданию. Ты ведь просил сохранить координаты, а не изображение  
Записать можно в ресурсы файла. Но, если я не ошибаюсь, это все равно отдельный XML файл.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 23:10 03-03-2010 | Исправлено: dneprcomp, 23:31 03-03-2010
Arrovil

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Ну а что, на принтскрине все очевиднее и нагляднее, а то SMS какие-то юзать...  
Спасибо за ссылку, но я на С# сижу
В общем, с горем пополам разобрался (тут довольно понятно написано) - сохранить размер и положение формы получается, но если развернуть на весь экран, закрыть, то при последующем открытии восстанавливается размер и положение перед разворачиванием, а не развернутый на весь экран...

Всего записей: 21 | Зарегистр. 14-10-2008 | Отправлено: 00:36 04-03-2010 | Исправлено: Arrovil, 00:38 04-03-2010
dneprcomp



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrovil

Цитата:
но я на С# сижу  

А какая разница? Ну синтаксис несколько отличается.

Цитата:
но если развернуть на весь экран, закрыть, то при последующем открытии восстанавливается размер и положение перед разворачиванием

А вот с этим разбирался
Цитата:
The WindowLocation setting is self-explanatory, but the WindowSize property has a wrinkle. If a window is normal size, we can read its size property in the usual manner. But if a window is minimized or maximized, the size property will return an inaccurate value. So, .NET provides a RestoreBounds property that will return the size of the window in its normal state. But, and here's the wrinkle, the RestoreBounds property returns a valid value only when the window is minimized or maximized. As a result, we have to test the WindowState property, and call either the Size or RestoreBounds property based on the results.

Всего записей: 3920 | Зарегистр. 31-03-2002 | Отправлено: 00:46 04-03-2010 | Исправлено: dneprcomp, 00:49 04-03-2010
AutoIT



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Всем здравствуйте!
Прочел гору инфы и справок.
Вроде все сделала "по уму" а не работает...
Есть 2 формы:
В форме 1 вот такой вот код:  
 

Код:
namespace JustGuardant
{
    public delegate void AddNewEvent(string Time, string Event, string Detail, string Action);
    public partial class Protocol : Form
    {
        public void _AddNewEvent(string Time, string Event, string Detail, string Action)
        {
            listView1.Items.Add(
                new ListViewItem(
                    new string[] {
                        Time, Event, Detail, Action
                    }));
        }
    }
}

 
А во второй вот такой вот метод:
 

Код:
namespace JustGuardant
{
    public partial class MainProgramm : Form
    {
        private void button1_Click(object sender, EventArgs e)
        {
            Protocol _Protocol = new Protocol();
            AddNewEvent AddEventList = _Protocol._AddNewEvent;
            AddEventList(DateTime.Now.ToString(), "Test", "Test", "Test");
        }
    }
}

 
 
По замыслу по клику по кнопке в форме 2, записываются данные в listview формы 1, однако этого не происходит, метод записи верный (когда вызываю его из формы 1, все номально). Подскажите пожалуйста, что я не так сделал?!

Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 19:15 07-03-2010 | Исправлено: AutoIT, 19:20 07-03-2010
xterm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Arrovil
Нужно сохранять и WindowState тоже. На RSDN есть небольшая статья об этом

Всего записей: 96 | Зарегистр. 23-08-2009 | Отправлено: 02:34 08-03-2010
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
AutoIT
Либо отобрази форму со списком : _Protocol.ShowDialog();  
Либо перед событием клаца по кнопке форма _Protocol уже должна быть создана и выведена на экран.

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:17 09-03-2010
AutoIT



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте! У меня возникли трудности с сериализацией.
Я создал класс в котором предполагаю хранить настройки, и написал 2 метода для записи в восстановления,  методы предполагается вызывать из другого класса, вот код:
 

Код:
#region Настройки
    [Serializable]
    internal class Adjustment
    {
        public static string Password = "123";
        public static int SMSinHourCount = 3;
        public static int TimeToNextSMS = 300;
        public static int RestErrorDefault = 30;
        public static int RestErrorCode = 30;
        public static string Telephone = "333333";
        public static string LastEvent = "";
        public static string LastDetail = "";
        public static bool Armed = false;
        public static bool SendingSMS = false;
        public static bool ErrorCode = false;
        public static int TimerTicks = 0;
        public static int LastSMS = 0;
        public static int SMSinHour = 0;
        public static int Timer2Ticks = 0;
    }
 
    public class AdjustmentLoader
    {
        public static void SaveAdjustment(Adjustment adjustment)
        {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream fs = new FileStream
                ("Adjustment.bin", FileMode.Create, FileAccess.Write);
            bf.Serialize(fs, adjustment);
            fs.Close();
        }
        void LoadAdjustment()
        {
            BinaryFormatter bf = new BinaryFormatter();
            FileStream fs = new FileStream
                ("Adjustment.bin", FileMode.Open, FileAccess.Read);
            //Не знаю как восстановить класс
            fs.Close();
        }
    }
#endregion

 
Что я не так делаю? помогите плз.

Всего записей: 77 | Зарегистр. 04-12-2008 | Отправлено: 07:04 09-03-2010 | Исправлено: AutoIT, 07:16 09-03-2010
mrherbrooks



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
 
        public static void LoadAdjustment(out Adjustment res)
        {
            BinaryFormatter bf = new BinaryFormatter();
            using(FileStream fs = new FileStream
                ("Adjustment.bin", FileMode.Open, FileAccess.Read))
                                         res = (Adjustment)bf.Deserialize(fs);
        }  
 

Всего записей: 129 | Зарегистр. 23-08-2008 | Отправлено: 12:13 09-03-2010
Arrovil

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dneprcomp
Спасибо за информацию, буду разбираться.
 
xterm
Благодарю, пробовал - но какие-то косяки выскакивали, надо будет еще повнимательней посмотреть.
 
Теперь появился другой вопрос - что бы почитать (кроме мсдн) про работу с COM-портом (в меньшей степени USB) на С#. В книжках или вообще нет, или крайне мало.  
Желательно в виде теория+примеры...

Всего записей: 21 | Зарегистр. 14-10-2008 | Отправлено: 16:04 09-03-2010
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Arrovil
RSDN.ru почитай ... или gotdotnet.ru

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:27 10-03-2010
LuckyStrike



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго времени суток парни, помогите реализовать алгоритм, в С# через 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  
 
а вот примерный код, не пойму почему не работает(  
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();    
}

Всего записей: 78 | Зарегистр. 10-12-2008 | Отправлено: 15:55 10-03-2010
085



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нужно из кодебехайнд вывести текст в определённый тег <p></p> Не пойму как? . Можно вроде как  написать в  Асп тегах, но не хотелось бы
Заранее спасибо

Всего записей: 79 | Зарегистр. 17-09-2008 | Отправлено: 17:48 10-03-2010
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
LuckyStrike
Я же тебе написал - вызови функцию Calc!!! Либо в методе Main либо по кнопке какой-нить!

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 06:04 11-03-2010
kronic

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
while (dataReader.Read())
{
 
 
//заполняю combox
 
cmbbox.Items.Add(new Record() {Name=dataReader["name"],ID=dataReader["id"]});
}
 
class Record
{
public string Name = null;
public int ID = -1;
 
public override string ToString(){return this.Name;}
}
 
 
Как мне получить ID выбранного элемента???

Всего записей: 168 | Зарегистр. 01-11-2006 | Отправлено: 12:23 15-03-2010
opiume

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне нужно, что бы в моем приложении периодически запускались потоки, выполняющие определенные действия в интернете (загрузка и сохранение web-страниц). Я использую С# (WPF). В методе Window_Loaded главного окна я разместил следующий код:

Код:
 
TreadSearch NewTread = new TreadSearch();
Timer t = new Timer(NewTread.SearchNewNews, null, 0, 5000);
 

 
Вот класс TreadSearch и соответствующий делегат  SearchNewNewsDelegate
 

Код:
 
class TreadSearch
    {
        public void SearchNewNews(Object state)
        {
            SearchNews Rian = new SearchNews();
            SearchNews RBC = new SearchNews();
            SearchNewNewsDelegate RianDelegat = Rian.SearchOnRian;
            RianDelegat.BeginInvoke(Rian.NewsIsUnic, RianDelegat);                  
        }
    }
        delegate Boolean SearchNewNewsDelegate();
 

 
Однако, добиться периодичности создания потоков не выходит. Через какое-то время создание потоков прекращается (т.е. сначала с интервалом 5 секунд создаются несколько потоков и на этом все заканчивается). Приложение работает стабильно, но не так как мне хотелось бы. Мне необходимо добиться периодического выполнения метода (каждый раз в новом потоке).
Прошу помочь разобраться, что не так в моем коде или предложить другой способ исполнить то, что я задумал.
 
 
Добавлено:
Для порядка добавляю, что Timer в моем коде - это System.Threading.Timer
 
Добавлено:
С моей проблемой разобрался. Забыл, что ссылка на Timer нигде не сохраняется. Теперь сохраняю ее в статическое поле, чтобы сборщик мусора не удалял объект.  

Всего записей: 7 | Зарегистр. 02-05-2009 | Отправлено: 15:01 15-03-2010
BlackVetal



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
kronic
Если не ошибаюс - свойство SelectedValue.

----------
Регистрация ника))
ОСАГО и КАСКО
Работа

Всего записей: 1094 | Зарегистр. 13-11-2005 | Отправлено: 08:34 16-03-2010
May_Johnson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kronic
(cmbbox.SelectedItem as Record).ID

Всего записей: 47 | Зарегистр. 10-02-2008 | Отправлено: 17:51 19-03-2010 | Исправлено: May_Johnson, 17:51 19-03-2010
karakurt2



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли использовать в ADO.NET параметризованный запрос select, который выбирает значение, соответствующее ключевому полю таблицы? Например, вот так:

Код:
 
 
            Component[] component = new Component[]
        {
            new Component() { name="METHANE", frac=98.251},            //   1. CH4     98.251  
            new Component() { name="ETHANE", frac=0.105},              //   2. C2H6    0.105  
            new Component() { name="PROPANE", frac=0.024},             //   3. C3H8    0.024  
            new Component() { name="ISOBUTANE", frac=0.008},           //   4. iC4H10  0.008  
            new Component() { name="N-BUTANE", frac=0.019},            //   5. nC4H10  0.019  
            new Component() { name="CARBON DIOXIDE", frac=0.301},      //   6. CO2     0.301  
            new Component() { name="NITROGEN", frac=1.2},              //   7. N2      1.200  
            new Component() { name="HELIUM-4", frac=0.016},            //   8. He      0.016  
            new Component() { name="HYDROGEN", frac=0.057},            //   9. H2      0.057  
            new Component() { name="ARGON", frac=0.019}                //   10. Ar     0.019  
        };
 
          conn.Open();
          
          for (int i = 0; i < component.Length; ++i)
          {
            SqlCommand cmd = new SqlCommand("select mm from substance where name='"
                +component[i].name+"'", conn);
            float mm = (float) cmd.ExecuteScalar();
              Console.WriteLine(component[i].name + " " + mm);
          }
 
 
 

 
А хотелось бы использовать параметризованный запрос для этой же цели, но получаю в ответ null:

Код:
 
 
            Component[] component = new Component[]
        {
            new Component() { name="METHANE", frac=98.251},            //   1. CH4     98.251  
            new Component() { name="ETHANE", frac=0.105},              //   2. C2H6    0.105  
            new Component() { name="PROPANE", frac=0.024},             //   3. C3H8    0.024  
            new Component() { name="ISOBUTANE", frac=0.008},           //   4. iC4H10  0.008  
            new Component() { name="N-BUTANE", frac=0.019},            //   5. nC4H10  0.019  
            new Component() { name="CARBON DIOXIDE", frac=0.301},      //   6. CO2     0.301  
            new Component() { name="NITROGEN", frac=1.2},              //   7. N2      1.200  
            new Component() { name="HELIUM-4", frac=0.016},            //   8. He      0.016  
            new Component() { name="HYDROGEN", frac=0.057},            //   9. H2      0.057  
            new Component() { name="ARGON", frac=0.019}                //   10. Ar     0.019  
        };
 
          conn.Open();
          
          SqlCommand cmd = new SqlCommand("select mm from substance where name='@Param'", conn);
          cmd.Parameters.Add("@Param", SqlDbType.NChar);
 
          for (int i = 0; i < component.Length; ++i)
          {
              cmd.Parameters["@Param"].Value = component[i].name;
            float mm = (float) cmd.ExecuteScalar(); // <== Здесь возвращается null!!!
              Console.WriteLine(component[i].name + " " + mm);
          }
 
 

Всего записей: 733 | Зарегистр. 06-12-2003 | Отправлено: 18:21 21-03-2010 | Исправлено: karakurt2, 18:24 21-03-2010
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Программирование в среде .NET (ASP.NET,ADO.NET) на C#/VB.NET


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru