как обратиться к классу

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

как обратиться к классу

Сообщение Invader » 23.10.2011 (Вс) 23:08

есть форма1 на ней кнопка button 1 с кодом:
Код: Выделить всё
Call Wav2Flac("c:\1.wav", "c:\1.flac")


есть класс class1 (подключен,добавлен как модуль)в нём функция Wav2Flac
Код: Выделить всё
Imports System.Collections.Generic
Imports System.Linq
Imports System.Text
Imports CUETools.Codecs
Imports CUETools.Codecs.FLAKE

Namespace GoogleSpeech
   Public NotInheritable Class SoundTools
      Private Sub New()
      End Sub
      ''' <summary> Конвертирование wav-файла во flac </summary>       
      ''' <returns>Частота дискретизации</returns>
      Public Shared Function Wav2Flac(wavName As [String], flacName As String) As Integer
         Dim sampleRate As Integer = 0

         Dim audioSource As IAudioSource = New WAVReader(wavName, Nothing)
         Dim buff As New AudioBuffer(audioSource, &H10000)

         Dim flakewriter As New FlakeWriter(flacName, audioSource.PCM)
         sampleRate = audioSource.PCM.SampleRate

         Dim audioDest As FlakeWriter = flakewriter
         While audioSource.Read(buff, -1) <> 0
            audioDest.Write(buff)
         End While
         audioDest.Close()

         audioDest.Close()

         Return sampleRate
      End Function
   End Class
End Namespace

пишет что Wav2Flac не определено...
Но когда эту функцию влепил в Public Class Form1
всё заработало, но код загромождается .
ВОПРОС:
как вынести функцию отдельно в модуль и передать ей значения?
умён и жаден,
характер отсуствует

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: как обратиться к классу

Сообщение Admiralisimys » 23.10.2011 (Вс) 23:38

GoogleSpeech.SoundTools.Wav2Flac("src.wav", "dest.flc")

Invader
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 285
Зарегистрирован: 18.01.2005 (Вт) 4:22
Откуда: Молдавия, Виноград

Re: как обратиться к классу

Сообщение Invader » 23.10.2011 (Вс) 23:56

спасибо, а если надо из функции получить ответ переменой (x) в текстбокс на форме,
тогда в самом модуле под функцией можно было бы записать Form1.Textbox1.text = x как и в VB6?
умён и жаден,
характер отсуствует

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: как обратиться к классу

Сообщение Admiralisimys » 24.10.2011 (Пн) 1:00

В данном примере можно так
Dim smpRate As Integer = GoogleSpeech.SoundTools.Wav2Flac("src.wav", "dest.flc")
В функции, размещённой в модуле, уже всё для этого написано (Return sampleRate).

lexander
Начинающий
Начинающий
 
Сообщения: 1
Зарегистрирован: 21.05.2013 (Вт) 12:22

Re: как обратиться к классу

Сообщение lexander » 21.05.2013 (Вт) 12:26

Может подскажите как модифицировать код для vb6? Буду крайне признателен.

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: как обратиться к классу

Сообщение FireFenix » 21.05.2013 (Вт) 14:26

lexander писал(а):Может подскажите как модифицировать код для vb6? Буду крайне признателен.

Никак, проекты VB.NET не совместимы с VB6, но проекты VB6 можно преобразовать в VB.NET
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList