Модераторы: Partizan, gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "Ламерские" вопросы, задаем здесь элементарные вопросы 
:(
    Опции темы
XEMyJlb
Дата 2.6.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 10.5.2009

Репутация: нет
Всего: нет



Чего-то не работаеть =( Давайте я свой код швырну, вы посмотрите что не так? В TreeView отображается только диск C:\, что дописать, чтобы отображались и другие локальные диски и сьемные флеш-накопители?
Код

Imports System.IO
Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Устанавливает первый уровень.
        Dim RootNode1 As New TreeNode("c:\")
        Dim RootNode2 As New TreeNode("c:\")
        TreeView1.Nodes.Add(RootNode1)
        TreeView2.Nodes.Add(RootNode2)

        ' Заполняет первый уровень и расширяет его.
        Fill(RootNode1)
        Fill(RootNode2)
        TreeView1.Nodes(0).Expand()
        TreeView2.Nodes(0).Expand()

    End Sub
    Private Sub Fill(ByVal dirNode As TreeNode)

        Dim Dir As New DirectoryInfo(dirNode.FullPath)
        Dim DirItem As DirectoryInfo

        Try
            For Each DirItem In Dir.GetDirectories
                ' Добавляет узлы к директориям.
                Dim NewNode As New TreeNode(DirItem.Name)
                dirNode.Nodes.Add(NewNode)
                NewNode.Nodes.Add("*")
            Next
        Catch Err As UnauthorizedAccessException
            ' Если недостаточно прав доступа к папке, генерируется ошибка, которую пропускаем
        End Try

    End Sub

    Private Sub treeFiles_BeforeExpand(ByVal sender As Object, _
      ByVal e As TreeViewCancelEventArgs) Handles TreeView1.BeforeExpand

        ' Проверка ложных узлов
        If e.Node.Nodes(0).Text = "*" Then
            TreeView1.BeginUpdate()
            TreeView2.BeginUpdate()

            e.Node.Nodes.Clear()
            Fill(e.Node)

            TreeView1.EndUpdate()
            TreeView2.EndUpdate()
        End If

    End Sub

    Private Sub TreeView1_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView1.AfterSelect
        Dim Dir As New DirectoryInfo(e.Node.FullPath)
        ListBox1.Items.Clear()
        ListBox1.Items.AddRange(Dir.GetFiles())
    End Sub

    Private Sub TreeView2_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles TreeView2.AfterSelect
        Dim Dir As New DirectoryInfo(e.Node.FullPath)
        ListBox2.Items.Clear()
        ListBox2.Items.AddRange(Dir.GetFiles())
    End Sub

End Class


Это сообщение отредактировал(а) XEMyJlb - 4.6.2009, 08:18
PM MAIL   Вверх
Lexicss
Дата 4.6.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



DVariuS, Это функция передачи BeginWrite.
И наоборот на приёме я принимаю byte[], мне это нужно принятые данные преобразовать в структуру.
Расскажите побробнее про сериализацию для для записи в NetworkStream.
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
DVariuS
  Дата 5.6.2009, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 10.2.2009
Где: Ukraine

Репутация: 2
Всего: 8



Lexicss, про бинарную сериализацию почитать можно в MSDN.
А пример конкретно под твой случай вот:

Сериализуем и отсылаем структуру:
Код

[Serializable]               //необходимо пометить структуру как сериализуемую
public struct Employee
{
     public string Name;
     public int Salary;
}

//дальше в коде
Employee employee;
employee.Name = "James";
employee.Salary = 2800;

BinaryFormatter bf = new BinaryFormatter();
TcpClient tcpClient = new TcpClient("127.0.0.1", 2112);
NetworkStream ns = tcpClient.GetStream();
bf.Serialize(ns, employee);        //тут происходит сериализация в поток
ns.Close();
tcpClient.Close();


Принимаем и десериализуем:
Код

IPAddress localAddr = IPAddress.Parse("127.0.0.1");
Int32 port = 2112;
TcpListener tcpListener = new TcpListener(localAddr, port);
tcpListener.Start();
BinaryFormatter bf = new BinaryFormatter();
TcpClient tcpClient = tcpListener.AcceptTcpClient();
NetworkStream ns = tcpClient.GetStream();
Employee employee;
employee = (Employee)bf.Deserialize(ns);   //тут десериализуем
tcpClient.Close();
tcpListener.Stop();

PM MAIL   Вверх
Lexicss
Дата 8.6.2009, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 16.8.2006
Где: Беларусь, Минск

Репутация: нет
Всего: 1



DVariuS, ок.
Тока вот пока не могу понять... экземпляр ns есть, а где его вызов BeginWrite? 
Метод Serialize и выполняет функцию передачи? А как тогда мне получить IASyncResult пр иасинхронной отправке?

Аналогично непонятки и  на приёме при использовании BeginRead. :(
--------------------
Бери от жизни всё.
PM MAIL WWW ICQ Skype   Вверх
DVariuS
Дата 8.6.2009, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 10.2.2009
Где: Ukraine

Репутация: 2
Всего: 8



Цитата(Lexicss @ 8.6.2009,  10:24)
DVariuS, ок.
Тока вот пока не могу понять... экземпляр ns есть, а где его вызов BeginWrite? 
Метод Serialize и выполняет функцию передачи? А как тогда мне получить IASyncResult пр иасинхронной отправке?

Аналогично непонятки и  на приёме при использовании BeginRead. :(

Если хочешь отправлять через BeginWrite - сериализуй в MemoryStream, тогда получишь массив байт:
Код

            byte[] buffer = new byte[200];
            BinaryFormatter bf = new BinaryFormatter();
            MemoryStream ms = new MemoryStream(buffer);
            bf.Serialize(ms, employee);
            ms.Close();

PM MAIL   Вверх
zigfrids
Дата 15.6.2009, 15:33 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 15.6.2009

Репутация: нет
Всего: нет



Добрый день.
Хочу использовать в Windows Mobile вместо стандартных кнопок и полей редактирования какие-то другие, более привлекательные компоненты.
Подскажите, что обычно для этого используется: какие-то коммерческие компоненты нужно до устанавливать в Visual Studio или какие-то другие способы есть?
PM MAIL   Вверх
ns4107
Дата 17.6.2009, 15:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.6.2009

Репутация: нет
Всего: нет



Как скопировать файл на флешку если при выполнении:
Код

     System.IO.File.Copy(somefilepath,@"E:\");

ругается исключением DyrectoryNotFoundException "Не удалось найти часть пути "E:\" "? Флешка лежит на диске E:\ и на неё можно зайти эксплорером.

Код

    System.IO.File.Copy(somefilepath,"E:\\");

 тоже не работает.
 smile 
PM MAIL   Вверх
DVariuS
Дата 17.6.2009, 15:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 10.2.2009
Где: Ukraine

Репутация: 2
Всего: 8



ns4107, может somefilepath неверный?
PM MAIL   Вверх
Retro
Дата 17.6.2009, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Диалектик
***


Профиль
Группа: Участник Клуба
Сообщений: 1934
Регистрация: 28.6.2005
Где: Киев

Репутация: 3
Всего: 117



Цитата(DVariuS @  17.6.2009,  14:22 Найти цитируемый пост)
может somefilepath неверный? 

Цитата(ns4107 @  17.6.2009,  14:13 Найти цитируемый пост)
DyrectoryNotFoundException


ns4107, проверь какие диски видны, может быть флешка защищена от записи.
PM MAIL   Вверх
ns4107
Дата 17.6.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 12
Регистрация: 17.6.2009

Репутация: нет
Всего: нет



Понял в чем дело!!!
Оказывается я задал только директорию а надо имя файла!!!
К примеру: "E:\\somefilename.bin"
PM MAIL   Вверх
Heinzz
Дата 17.6.2009, 16:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 381
Регистрация: 12.12.2008
Где: .net

Репутация: 3
Всего: 9



Цитата(ns4107 @  17.6.2009,  15:13 Найти цитируемый пост)
Как скопировать файл на флешку если при выполнении:
код C#
1:
     System.IO.File.Copy(somefilepath,@"E:\");

ругается исключением DyrectoryNotFoundException "Не удалось найти часть пути "E:\" "? Флешка лежит на диске E:\ и на неё можно зайти эксплорером.

код C#
1:
    System.IO.File.Copy(somefilepath,"E:\\");

 тоже не работает.
   




Обратите внимание, указать надо не просто папку куда копировать, а полный путь к файлу. smile 
Код

System.IO.File.Copy("c:\\Photo.docx","f:\\Photo.docx");



--------------------
user posted image
PM MAIL   Вверх
KDAlex
Дата 18.6.2009, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.5.2009
Где: Россия, Киров

Репутация: 1
Всего: 1



Как можно получить изображение с камеры на устройстве под windows mobile (6.0/6.1), не используя Microsoft.WindowsMobile.FormsCameraCaptureDialog?
Заранее благодарен.
PM MAIL WWW ICQ   Вверх
SeventhSon
Дата 18.6.2009, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 29.3.2009

Репутация: нет
Всего: нет



Всем привет!
У меня такая проблема: В поле тексбокс введен текст. я его сохраняю через диалоговое окно сэйвдиалог. разрешение настроил как .txt. но еще требуется  настроить кодировку. так как текстбокс при  открытии файла через оупендиалог не воспринимает русский текст в кодировке ANSI. Юникод и тд он переносит нормально.
Спасибо за советы!
PM MAIL   Вверх
KDAlex
Дата 19.6.2009, 11:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 29.5.2009
Где: Россия, Киров

Репутация: 1
Всего: 1



SeventhSon, можно так сохранять:
Код

DialogResult res = saveFileDialog1.ShowDialog();
if(res==DialogResult.OK)
      File.WriteAllLines(saveFileDialog1.FileName, textBox1.Lines, Encoding.Unicode);


Код

public static void System.IO.File.WriteAllLines(
    string path,
    string[] contents,
    Encoding encoding
)


Для чтения с указанием кодировки есть такой метод:

Код

public static string[] System.IO.File.ReadAllLines(
    string path,
    Encoding encoding
)


File.WriteAllLines
File.ReadAllLines

Это сообщение отредактировал(а) KDAlex - 19.6.2009, 11:57
PM MAIL WWW ICQ   Вверх
SeventhSon
Дата 19.6.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 69
Регистрация: 29.3.2009

Репутация: нет
Всего: нет



Спасибо! Попробую.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0953 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.