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

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

Автор: LuckyStrike
Дата сообщения: 26.04.2011 17:23
чу, не кто не поможет?(
Автор: BlackVetal
Дата сообщения: 27.04.2011 05:42
LuckyStrike
под тэгом more выложи алгоритм - у меня антивирь почему-то блокирует страницу твою ...
Автор: LuckyStrike
Дата сообщения: 27.04.2011 13:26
я его из книжки .pdf взял, и вставил ворд, типа принтскрином

Добавлено:
если как то можно скрины выложить тут, подскажите
Автор: PetSerVas
Дата сообщения: 04.05.2011 17:59
Подскажите:
как в C# Отобразить форму, запустить Программу, закрыть Форму и выйти из приложения?

После Delphi никак не въеду
Что-то не так делю, потому как при втором запуске программы вылетает Exception

static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
Application.Exit();
}

public Form1()
{
InitializeComponent();

Process prc = null;

try
{
// Устанавливаем параметры запуска процесса
prc = new Process();
prc.StartInfo.FileName = "MSACCESS.exe";
prc.StartInfo.Arguments = @"c:\My.accdb";

// Старт
prc.Start();

// Ждем пока процесс не завершится
prc.WaitForExit(20);
}
finally
{
if (prc != null) prc.Close();
}

this.Close();

}

Где собака порылась?
Автор: May_Johnson
Дата сообщения: 05.05.2011 01:22
PetSerVas

1 в FileName надо писать не только имя исполняемого файла но и полный путь к нему

2 WaitForExit принимает миллисекунды, и за 20 разумеется ничего не успеет случится
Автор: PetSerVas
Дата сообщения: 05.05.2011 08:53
May_Johnson
Ну, на счет первого я бы не был так категоричен. Полный путь нужен только если система не может найти файл.
На счет второго: Понятно, что за 20 миллисекунд Ассеss может только вывалиться. Access должен остаться работать, а программа - закрыться. Думаю эту строку вообще стоит убрать. Но вопрос не в этом...
Автор: dneprcomp
Дата сообщения: 05.05.2011 09:19
PetSerVas

Цитата:
Access должен остаться работать, а программа - закрыться


Цитата:
при втором запуске программы вылетает Exception

Если Access работает, то база залокана. Вот Exception и выскакивает при попытке открыть тот же файл.
Автор: PetSerVas
Дата сообщения: 05.05.2011 11:12
dneprcomp
Э нет - это было бы слишком просто...
Перед повторным вызовом Программы я Access закрываю.
Я думаю, что не совсем корректно делаю выход из программы
В Диспетчере задач Она(программа) еще некоторое время висит, а потом закрывается
Автор: May_Johnson
Дата сообщения: 05.05.2011 14:23
PetSerVas

Добавте блок catch и напишите сюда какой Exception возникает, а то вслепую сложно разбираться
Автор: PetSerVas
Дата сообщения: 05.05.2011 16:30
May_Johnson
Вобщем Интересное кино:
Если убрать из формы this.Close() то все работает, только форму надо крестиком закрывать.
А если this.Close() вернуть, то при Отладке ругается в Programs.cs:
Автор: Knjaz89
Дата сообщения: 05.05.2011 17:07
Доброго времени суток!

есть вопрос в VB 6 для ввода в текстбокс только цифр использовал


Код: Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < Asc(0) Or KeyAscii > Asc(9) Then
KeyAscii = 0
End If
End Sub
Автор: PetSerVas
Дата сообщения: 05.05.2011 17:37
Всем Спасибо, разобрался
Автор: dneprcomp
Дата сообщения: 05.05.2011 23:42
Knjaz89

Код: Private Sub txt1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Asc(e.KeyChar) <> 8 Then
If IsNumeric(e.KeyChar) = False Then
e.KeyChar = ""
End If
End If
End Sub
Автор: Knjaz89
Дата сообщения: 06.05.2011 00:43
dneprcomp
хоть по английски я понимаю плохо, но вроде понял. спасибо!

кстати, тот код, который ты вставил не работает. просто добавь на форму текстбокс и попробуй. буквы вводит.
Автор: dneprcomp
Дата сообщения: 06.05.2011 01:00
Knjaz89
У меня работает. Наверное не добавил в строку
Private Sub txt1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs)
Handles txt1.KeyPress
или не поменял имя текстбокса
Автор: Knjaz89
Дата сообщения: 06.05.2011 01:21
dneprcomp
Handles txt1.KeyPress не добавил, моя вина.
Автор: v1rtyaluk
Дата сообщения: 12.05.2011 13:50
Привет всем!
Подскажите пожалуйста, есть форма - BorderStyle = None;
Как сделать, что бы форму можно было перетягивать за любую точку?? Даже не за любую, а за определенную область, допустим, вверху.
Автор: dneprcomp
Дата сообщения: 12.05.2011 16:09
v1rtyaluk
move borderless form
Автор: Andryshok
Дата сообщения: 13.05.2011 23:31
v1rtyaluk Вот еще пример кода

Код:
[more=Читать]
001    using System;
002    using System.Collections;
003    using System.ComponentModel;
004    using System.Data;
005    using System.Drawing;
006    using System.Text;
007    using System.Windows.Forms;
008    
009    namespace DraggableForm
010    {
011     public class FormBase :Form
012     {
013     #region Declarations
014     private bool drag = false;
015     private Point start_point = new Point(0, 0);
016     private bool draggable = true;
017     private string exclude_list = "";
018    
019     /// <SUMMARY>
020     /// Required designer variable.
021     /// </SUMMARY>
022     private System.ComponentModel.IContainer components = null;
023     #endregion
024    
025     #region Constructor , Dispose
026    
027     public FormBase()
028     {
029     InitializeComponent();
030    
031     //
032     //Adding Mouse Event Handlers for the Form
033     //
034     this.MouseDown += new MouseEventHandler(Form_MouseDown);
035     this.MouseUp += new MouseEventHandler(Form_MouseUp);
036     this.MouseMove += new MouseEventHandler(Form_MouseMove);
037     }
038    
039     /// <SUMMARY>
040     /// Clean up any resources being used.
041     /// </SUMMARY>
042     /// true if managed resources should be disposed; otherwise, false.
043     protected override void Dispose(bool disposing)
044     {
045     if (disposing && (components != null))
046     {
047     components.Dispose();
048     }
049     base.Dispose(disposing);
050     }
051    
052     #endregion
053    
054     #region Windows Form Designer generated code
055    
056     /// <SUMMARY>
057     /// Required method for Designer support - do not modify
058     /// the contents of this method with the code editor.
059     /// </SUMMARY>
060     private void InitializeComponent()
061     {
062     //
063     // FormBase
064     //
065     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
066     this.ClientSize = new System.Drawing.Size(369, 182);
067     this.Name = "FormBase";
068     this.Text = "AlerterForm";
069     }
070    
071     #endregion
072    
073     #region Overriden Functions
074    
075     protected override void OnControlAdded(ControlEventArgs e)
076     {
077     //
078     //Add Mouse Event Handlers for each control added into the form,
079     //if Draggable property of the form is set to true and the control
080     //name is not in the ExcludeList.Exclude list is the comma separated
081     //list of the Controls for which you do not require the mouse handler
082     //to be added. For Example a button.
083     //
084     if (this.Draggable && (this.ExcludeList.IndexOf(e.Control.Name) == -1))
085     {
086     e.Control.MouseDown += new MouseEventHandler(Form_MouseDown);
087     e.Control.MouseUp += new MouseEventHandler(Form_MouseUp);
088     e.Control.MouseMove += new MouseEventHandler(Form_MouseMove);
089     }
090     base.OnControlAdded(e);
091     }
092    
093     #endregion
094    
095     #region Event Handlers
096    
097     void Form_MouseDown(object sender, MouseEventArgs e)
098     {
099     //
100     //On Mouse Down set the flag drag=true and
101     //Store the clicked point to the start_point variable
102     //
103     this.drag = true;
104     this.start_point = new Point(e.X, e.Y);
105     }
106    
107     void Form_MouseUp(object sender, MouseEventArgs e)
108     {
109     //
110     //Set the drag flag = false;
111     //
112     this.drag = false;
113     }
114    
115     void Form_MouseMove(object sender, MouseEventArgs e)
116     {
117     //
118     //If drag = true, drag the form
119     //
120     if (this.drag)
121     {
122     Point p1 = new Point(e.X, e.Y);
123     Point p2 = this.PointToScreen(p1);
124     Point p3 = new Point(p2.X - this.start_point.X,
125     p2.Y - this.start_point.Y);
126     this.Location = p3;
127     }
128     }
129    
130     #endregion
131    
132     #region Properties
133    
134     public string ExcludeList
135     {
136     set
137     {
138     this.exclude_list = value;
139     }
140     get
141     {
142     return this.exclude_list.Trim();
143     }
144     }
145    
146     public bool Draggable
147     {
148     set
149     {
150     this.draggable = value;
151     }
152     get
153     {
154     return this.draggable;
155     }
156     }
157    
158     #endregion
159     }
160    }
[/more]
Автор: v1rtyaluk
Дата сообщения: 14.05.2011 17:28
dneprcomp и Andryshok, спасибо за помощь!
И еще меня беспокоит такой вопрос: можно-ли полностью отключить(удалить) border вокруг всей формы у wpf-приложения??
Автор: Mextrom
Дата сообщения: 14.05.2011 20:42
v1rtyaluk

Цитата:
можно-ли полностью отключить(удалить) border вокруг всей формы у wpf-приложения??


Код: WindowStyle="None"
Автор: v1rtyaluk
Дата сообщения: 15.05.2011 04:32
Mextrom,
Нет, я так уже сделал.Меня интересует сама стеклянная(win vista/7)рамка.
Вот если я возьму, допустим, Rectangle и "залью " им свою форму с включенным WindowStyle="None" то, все равно останется стеклянная рамка со все сторон.Ее можно убрать??
Автор: Slavich777
Дата сообщения: 16.05.2011 17:07
Пожалуйсто помогите. Нужно В заданном массиве вещественных чисел {aij} (i=1,2,....n; j=1,2,...,m) найти номера компонент с отрицательными значениями.
Автор: Andryshok
Дата сообщения: 16.05.2011 18:01
Slavich777 Да рад бы помочь но вопрос непонятен ? Как это можно в массиве чисел искать номера компонент ? и каких компонент ? Вам надо найти отрицательные значения элементов многомерного массива ? или что ?
Уточните пожалуйста вопрос
Автор: Slavich777
Дата сообщения: 16.05.2011 18:30
Как бы так оно и есть как и написано, и еще Результат нужно оформить в виде двухмерного массива.
Автор: May_Johnson
Дата сообщения: 17.05.2011 00:47

Цитата:
Как бы так оно и есть как и написано

объяснение, такое объяснение...

напишите хоть пару примеров для исходного массива и результата
Автор: v1rtyaluk
Дата сообщения: 17.05.2011 04:08
May_Johnson,
Я полагаю, нужно найти индексы отрицательный чисел и вывести результат в виде двухмерного массива.
Просто, пацан написал с албанским акцентом

Если я правильно понял, то результат должен напоминать:

Код:
for(var i=0;i < массив1.Count;i++)
if(массив1[i] < 0)
массив2 += массив[i] или массив2 += i
Автор: Slavich777
Дата сообщения: 17.05.2011 06:40
Скорей всего Индексы отрицательных элементов.

Добавлено:
Господа, дело в том, что я только пошел учиться на заочку и в этом пока мало что понимаю. Дали задание и сказали делайте. А как делать, с чего начинать, разбирайтесь сами. Вот.
Автор: KChernov
Дата сообщения: 17.05.2011 07:50
Slavich777

Цитата:
Дали задание и сказали делайте

Если вам дали задание и оно вам не понятно, первым делом надо выяснить все нюансы у того, кто это задание дал. Чтобы было всё понятно.
А то есть шанс вообще другую задачу сделать.


Цитата:
А как делать, с чего начинать, разбирайтесь сами.

Книг и статей в инете типа ".Net для начинающих" - полно.
Если реально хотите научиться - начните оттуда, а сюда уже вопросы, когда что-то конкретное не получается.

v1rtyaluk

Цитата:
Если я правильно понял, то результат должен напоминать:
Код:
for(var i=0;i < массив1.Count;i++)
if(массив1[i] < 0)
массив2 += массив[i] или массив2 += i

Если и должен, то весьма отдалённо.
Автор: Mextrom
Дата сообщения: 17.05.2011 08:39
Slavich777
Если нужно найти отрицательные элементы двухмерного массива и запихать их в другой двухмерный массив, могу предложить такой вариант:
Код: using System;

namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
float[,] m1 = new float[3, 3]
{
{ 1.0f, 2.0f, -1.0f },
{ 2.3f, -10.32f, 13.0f },
{ -0.3f, 4.32f, -0.1f }
};

// считаем количество отрицательных элементов,
// чтобы определить размер массива с результатами
int count = 0;
for (int i = 0; i < m1.GetLength(0); i++)
{
for (int j = 0; j < m1.GetLength(1); j++)
{
if (m1[i, j] < 0)
{
count++;
}
}
}

// ищем индексы отрицательных элементов исходного массива
float[,] m2 = new float[2, count];
int k = 0;
for (int i = 0; i < m1.GetLength(0); i++)
{
for (int j = 0; j < m1.GetLength(1); j++)
{
if (m1[i, j] < 0)
{
m2[0, k] = i;
m2[1, k] = j;
k++;
}
}
}

// вывод результата на экран
for (int i = 0; i < m2.GetLength(1); i++)
{
Console.WriteLine("{0} {1}", m2[0, i], m2[1, i]);
}
}
}
}

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

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


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