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

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

Автор: Lihonosov
Дата сообщения: 03.04.2010 21:25
v1rtyaluk
Solution Explorer - References - Add reference... - на вкладке .NET выбрать System.Management

Код: using System.Management;
Автор: v1rtyaluk
Дата сообщения: 04.04.2010 00:43
Lihonosov
спасибо, все работает
теперь понял, что сначала нужно проделать

Цитата:
Solution Explorer - References - Add reference... - на вкладке .NET выбрать System.Management

а потом писать
using System.Management;

и еще вопрос:
можно-ли в качестве пути к папке назначения использовать переменную со значением из реестра
допустим:
string loadstring = (string)reg.GetValue("Patch") \\где Patch допустим, C:\Windows\Reources\Themes
для копирования файлов:
File.Copy("где-то", можно-ли здесь использовать loadstring и как????
Автор: Lihonosov
Дата сообщения: 04.04.2010 11:40
v1rtyaluk

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

да без разницы откуда переменную получать, лишь бы она была "корректна"

Цитата:
The name of the destination file. This cannot be a directory.

MSDN File.Copy
Автор: v1rtyaluk
Дата сообщения: 04.04.2010 13:05
Lihonosov
что если, допустим, loadstring = "C:\\Windows\\Resources",
а в File.Copy DestinationFolder нужно C:\\Windows\\Resources\\Themes
то так и писать:
File.Copy("C:\\some_folder", "loadstring\Themes");
или так _folder", loadstring"\\themes");
??как правильно??
Автор: Lihonosov
Дата сообщения: 04.04.2010 17:35
v1rtyaluk

Цитата:
что если, допустим, loadstring = "C:\\Windows\\Resources",
а в File.Copy DestinationFolder нужно C:\\Windows\\Resources\\Themes
то так и писать:
File.Copy("C:\\some_folder", "loadstring\Themes");
или так _folder", loadstring"\\themes");

неправильно
Много есть вариантов, вот некоторые из них:

Код: string str = "C:\\Windows\\Resources";
str = str + "\\Themes";
str = Path.Combine(str,"Themes");
...
Автор: v1rtyaluk
Дата сообщения: 04.04.2010 18:38

Цитата:
P.S.: Вы бы книжку хоть какую-нибудь почитали...

посоветуйте какую-то, а то действительно сложно методом тыка...
Автор: Lihonosov
Дата сообщения: 04.04.2010 20:45
v1rtyaluk

Цитата:
посоветуйте какую-то, а то действительно сложно методом тыка...

Ну если есть понимание базовых концепций ООП, то возьмите любую где есть основы C#, например, "C# 2008 и платформа .NET для профессионалов", а если нет, то я думаю нужно начать с самих основ ООП, например "Объектно-ориентированный анализ и проектирование" Гради Буча - поначалу будет нелегко...
Также книги из разряда: C# в задачах и примерах, C#. Сборник рецептов, C#. Советы программистам и т.п.
В принципе, классика жанра - Троелсен, Шилдт, Рихтер, etc

Автор: BlackVetal
Дата сообщения: 05.04.2010 06:10
v1rtyaluk
Сам еще не разбирался с WPF ... MSDN и гугл тебе помогут!
Автор: sedzor
Дата сообщения: 05.04.2010 14:42
Не подскажете с помощью какого компонента возможен вывод диаграмм Excel на приложение VB.NET
Автор: BlackVetal
Дата сообщения: 06.04.2010 05:10
sedzor
Таким не интересовался - именно Excel диаграммы, но в компонентах DevExpress есть свой компонент для вывода диаграмм ... Посмотри - может тебе поможет.
Автор: Lihonosov
Дата сообщения: 06.04.2010 10:27
sedzor
Еще MSChart есть, но незнаю есть ли возможность работать с Excell.
Или как вариант сохранить диаграмму картинкой, а затем загрузить ее в PictureBox.
Автор: mrherbrooks
Дата сообщения: 08.04.2010 09:33
Lihonosov
Цитата:
но незнаю есть ли возможность работать с Excell


Excell -> ADO.NET -> MSChart
Автор: v1rtyaluk
Дата сообщения: 10.04.2010 14:11
а есть-ли способ по простому запустить какую-то программу, а не создавать каждый раз новый процесс и т.д.???
Автор: ruslrusl
Дата сообщения: 10.04.2010 14:16
У меня тоже вопрос возник: создал проект при помощи OpenGL на С#. Проект (экзешник) не хочет запускаться на другой машине. Я догадываюсь, что необходимо подключать какие-о компоненты, но как это делать и какие - кто подскажет??!
Автор: Lihonosov
Дата сообщения: 10.04.2010 19:38
ruslrusl
может на другой машине не стоит Microsoft .NET Framework?
Автор: svs123456789
Дата сообщения: 11.04.2010 07:36
а нет ли класса для проверки наличия необходимого фреймворка и вывода соответствующего сообщения юзеру с закачкой с микрософт?
Автор: v1rtyaluk
Дата сообщения: 11.04.2010 16:45
как в
private void GetData(object obj)
        {
            foreach(string file in Directory.GetFiles("C:\\windows\\system32\\ru-ru"))
            {
....
добавить исключения для файлов т.е.
обрабатываются все файлы в директории окромя, допустим, file1.exe.mui, file2.dll.mui??????
Автор: ruslrusl
Дата сообщения: 11.04.2010 22:18
v1rtyaluk

Если я тебя правильно понял, то можно делать все прямо в "лоб", а именно

Код:
foreach(string file in Directory.GetFiles("C:\\windows\\system32\\ru-ru"))
{
try
{
if (file.CompareTo("file1.exe.mui")==0)
throw new MyException();//здесь вызываешь свое исключение
.......
}
catch (MyException e)
{
    ......
}

}
Автор: V0lt
Дата сообщения: 12.04.2010 06:01
ruslrusl
а зачем так мудрить, имхо для случая v1rtyaluk вот так пойдет:

Код: foreach(string file in Directory.GetFiles("C:\\windows\\system32\\ru-ru"))
{
if (file.CompareTo("file1.exe.mui")==0) continue;
...
}
Автор: ruslrusl
Дата сообщения: 12.04.2010 07:56
V0lt

Автор глаголил:

Цитата:
добавить исключения для файлов


Само слово исключение уже подразумевает конструкцию try-catch...
Автор: mrherbrooks
Дата сообщения: 12.04.2010 10:23

Цитата:
У меня тоже вопрос возник: создал проект при помощи OpenGL на С#. Проект (экзешник) не хочет запускаться на другой машине. Я догадываюсь, что необходимо подключать какие-о компоненты, но как это делать и какие - кто подскажет??!

возможно необходим какой нибудь redistributable. OpenGL юзаешь через TAO Framework?


Цитата:
а нет ли класса для проверки наличия необходимого фреймворка и вывода соответствующего сообщения юзеру с закачкой с микрософт

не слыхал от таком.
Автор: svs123456789
Дата сообщения: 12.04.2010 10:58

Цитата:
не слыхал от таком.

я тоже
Автор: ruslrusl
Дата сообщения: 12.04.2010 12:23
mrherbrooks

Цитата:
OpenGL юзаешь через TAO Framework?


Да
Автор: mrherbrooks
Дата сообщения: 12.04.2010 12:49
ruslrusl
попробуй так.
в свойствах проекта - в публикации - необходимые компоненты - и поставь галку на супротив той библиотеки которую юзаешь.
либо в ссылках - посмотри на свойство используемых библиотек TAO - копировать локально и если стоит false - меняй на true. Но вариант через опции проекта - кошернее.
Автор: SIgor33
Дата сообщения: 12.04.2010 14:27
Возник такой вопрос (перехожу с delphi на С#)
Если я в delphi поместил на форму компонент sqlConnection1 прописал строку подключения и методом open подключился и данный компонент использую уже для различных выборок и запросов.
В шарпе сделал то же самое пытаюсь вызвать метод open ругается если же пишу создание
bConnection sqlconnection = new sqlConnection(connectionString);
connection.Open();
все работает
Как можно использовать sqlConnection1 для всех форм и запросов;
Автор: v1rtyaluk
Дата сообщения: 12.04.2010 19:22
ruslrusl
V0lt
мне нужно исключить из результата некоторые файлы из-за которых "падает" ОС(т.е. зависает)
я знаю что можно так:
string[] filePaths = Directory.GetFiles(@"c:\windows\", "*.extencion",
SearchOption.AllDirectories);
только загвоздка в том, что, во-первых, я не знаю как сделать так чтоб НЕНУЖНЫЕ файлы не находило!
во-вторых, этот пример отказывается работать в моей программе т.е. ссылается на недоступность аргументов в методе и на невозможность преобразовать второй аргумент в стринг
если-же пишу:
string[] filePaths = Directory.GetFiles(@"c:\windows\", "*.exe", "*.dll", "*.cpl", "*.mui"
SearchOption.AllDirectories);
та ошибка гласит о том, что метод перегружен аргументами.

если нет решения этим проблемам то, скажите, пожалуйста, вообще возможно-ли осуществить мою задумку т.е. применить права на запись всем файлам в переменной file окромя нескольких файлов.

[more=вот код, если кто сможет помочь]
Form1.cs
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
using System.Diagnostics;
using System.IO;
using Microsoft.Win32;
namespace takeown
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        Thread th;
        Process process = new Process();

        private void button1_Click(object sender, EventArgs e)
        {
RegistryKey regKey1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
string windir = (string)regKey1.GetValue("SystemRoot");
regKey1.Close();
            Control.CheckForIllegalCrossThreadCalls = false;
            int count = 0;
            foreach(string file in Directory.GetFiles(windir))
            {
                count++;
            }

            progressBar1.Maximum = count;
            th = new Thread(new ParameterizedThreadStart(this.GetData));
            th.Start();
            
        }
        private void GetData(object obj)
        {
RegistryKey regKey1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
string windir = (string)regKey1.GetValue("SystemRoot");
regKey1.Close();
            foreach(string file in Directory.GetFiles(windir))
            {
                string FileName = "cmd.exe";
                string Arguments = @"/f " + file;
                ProcessStartInfo StartInfo = new ProcessStartInfo(FileName, Arguments);
                StartInfo.CreateNoWindow = true;
                StartInfo.UseShellExecute = false;
                process.StartInfo = StartInfo;
                label1.Text = ("Идет обработка файла " + file);
                progressBar1.Value += 1;
                process.Start();
                process.WaitForExit(10);
            }
            label1.Text = "Готово.";
            progressBar1.Value = 0;
        }

private void progressBar1_Click(object sender, EventArgs e)
{

}

private void label1_Click(object sender, EventArgs e)
{

}

private void button2_Click(object sender, EventArgs e)
{
Close();
}

private void Form1_Load(object sender, EventArgs e)
{
RegistryKey regKey1 = Registry.LocalMachine.OpenSubKey("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion");
string windir = (string)regKey1.GetValue("SystemRoot");
regKey1.Close();
}
    }
}


Form1.Designer.cs
namespace takeown
{
    partial class Form1
    {
        /// <summary>
        /// Required designer variable.
        /// </summary>
        private System.ComponentModel.IContainer components = null;

        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
        protected override void Dispose(bool disposing)
        {
            if(disposing && (components != null))
            {
                components.Dispose();
            }
            base.Dispose(disposing);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
this.button1 = new System.Windows.Forms.Button();
this.progressBar1 = new System.Windows.Forms.ProgressBar();
this.label1 = new System.Windows.Forms.Label();
this.button2 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(415, 47);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 27);
this.button1.TabIndex = 0;
this.button1.Text = "Применить";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// progressBar1
//
this.progressBar1.Location = new System.Drawing.Point(12, 14);
this.progressBar1.Name = "progressBar1";
this.progressBar1.Size = new System.Drawing.Size(558, 27);
this.progressBar1.Step = 1;
this.progressBar1.TabIndex = 2;
this.progressBar1.Click += new System.EventHandler(this.progressBar1_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(13, 47);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(65, 15);
this.label1.TabIndex = 3;
this.label1.Text = "Ожидание...";
this.label1.Click += new System.EventHandler(this.label1_Click);
//
// button2
//
this.button2.Location = new System.Drawing.Point(497, 47);
this.button2.Name = "button2";
this.button2.Size = new System.Drawing.Size(75, 27);
this.button2.TabIndex = 4;
this.button2.Text = "Выход";
this.button2.UseVisualStyleBackColor = true;
this.button2.Click += new System.EventHandler(this.button2_Click);
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 15F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(582, 81);
this.Controls.Add(this.button2);
this.Controls.Add(this.label1);
this.Controls.Add(this.progressBar1);
this.Controls.Add(this.button1);
this.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(204)));
this.Name = "Form1";
this.Text = "Take Ownership for Windows Vista\\7";
this.Load += new System.EventHandler(this.Form1_Load);
this.ResumeLayout(false);
this.PerformLayout();

        }

        #endregion

        private System.Windows.Forms.Button button1;
        private System.Windows.Forms.ProgressBar progressBar1;
        private System.Windows.Forms.Label label1;
private System.Windows.Forms.Button button2;
    }
}


[/more]
Автор: ruslrusl
Дата сообщения: 12.04.2010 22:13
v1rtyaluk
а ты знаешь какой именно файл забивает?? если их немного, то мы тебе идею уже подали

Код:
foreach (string file in Directory.GetFiles(windir))
{
string FileName = "cmd.exe";
string Arguments = @"/f " + file;
if (file.CompareTo("C:\\WINDOWS\\0.log") == 0)
continue;

ProcessStartInfo StartInfo = new ProcessStartInfo(FileName, Arguments);
Автор: v1rtyaluk
Дата сообщения: 12.04.2010 23:07
ruslrusl
всмысле?? т.е. 0.log тот файл который надо пропустить???
ого!!! это нада методом тыка каждый файл перепробовать....
если это верно тогда пример будет выглядеть так:
foreach (string file in Directory.GetFiles(windir))
{
string FileName = "cmd.exe";
string Arguments = @"/f " + file;
if (file.CompareTo("C:\\WINDOWS\\0.log") == 0)
continue;
if (file.CompareTo("C:\\Windows\\explorer.exe") == 0)
continue;
if (file.CompareTo("C:\\Windows\\system32\\shell32.dll") == 0)
continue;
ProcessStartInfo StartInfo = new ProcessStartInfo(FileName, Arguments);
и это каждый файл так писать?????
Автор: SerBUser
Дата сообщения: 13.04.2010 04:48
Вопрос по портальным технологиям SharePoint и C#.
Есть список с вложениями. Мне нужно все вложения из списка сохранить на локальный диск с сохранением структуры, потому как в разных пунктах списка вложенный файлы могу называться одинаково.
Вложения получаю так:

Код:
SPWeb site = SPContext.Current.Web;
SPList oList = site.Lists["Спиcок с вложениями"];
int k = oList.Items.Count;
for (int i = 0; i < k; i++)
{
SPListItem item = oList.Items[i];
SPAttachmentCollection oattaches = item.Attachments;
for (int l = 0; l < oattaches.Count; l++)
{
string fileName = oattaches[l];
string fileURL = oattaches.UrlPrefix + fileName;
SPFile file = site.GetFile(fileURL);
}
}
Автор: ruslrusl
Дата сообщения: 13.04.2010 07:42
v1rtyaluk

Цитата:
ruslrusl
всмысле?? т.е. 0.log тот файл который надо пропустить???
ого!!! это нада методом тыка каждый файл перепробовать....
если это верно тогда пример будет выглядеть так:
foreach (string file in Directory.GetFiles(windir))
{
string FileName = "cmd.exe";
string Arguments = @"/f " + file;
if (file.CompareTo("C:\\WINDOWS\\0.log") == 0)
continue;
if (file.CompareTo("C:\\Windows\\explorer.exe") == 0)
continue;
if (file.CompareTo("C:\\Windows\\system32\\shell32.dll") == 0)
continue;
ProcessStartInfo StartInfo = new ProcessStartInfo(FileName, Arguments);
и это каждый файл так писать?????


поэтому я и писал раньше


Цитата:
а ты знаешь какой именно файл забивает??



Добавлено:
v1rtyaluk
Ты писал:

Цитата:
мне нужно исключить из результата некоторые файлы из-за которых "падает" ОС(т.е. зависает).
только загвоздка в том, что, во-первых, я не знаю как сделать так чтоб НЕНУЖНЫЕ файлы не находило!


НЕНУЖНЫЕ кому???

или ты хочешь чтоб компилятор (вроде он ) автоматически отлавливал тот файл из-за которого зависает ОС и пропускал его???

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102

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


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