검색결과 리스트
2017/05에 해당되는 글 3건
- 2017.05.20 VB .Net에서의 .NET 표준 사용
- 2017.05.19 VS Code
- 2017.05.13 알송의 가사 가져오는 코드
글
VB. Net의 템플릿에는 .Net 표준(.Net Standard)이 기본적으로는 없는데
(나중에 추가 될꺼라고 생각하기는 하지만)
약간 돌아가면 사용하는 방법이 있다
먼저 새 프로젝트에서 이식 가능한 클래스 라이브러리를 생성한다
그리고 프로젝트 속성에 들어가면 아래와 같이 .NET 플랫폼 표준을 대상으로 지정이 있을 것이다
적용하려면 저장이 필요하기에 모두 저장을 통해 프로젝트를 한번 저장해주자
우리는 .NET 표준을 사용할 것이기 때문에 확인을 눌러준다
확인을 누르고 나면 아래와도 같이 .NET 표준으로 바뀌어 있다
여기까지 왔으면 다 된것 같지만 아직 해야 할 일이 남아있다
기본적으로 .NET 표준에서는모듈을 사용할수가 없는데
그래서 NuGet을 통해 "Microsoft.VisualBasic" 라이브러리를 따로 받아줘야 한다
해당 라이브러리는 Nuget 패키지 관리자를 통해 받을 수도 있고
아래와 같이 패키지 관리자 콘솔을 통해 다운로드 받을 수 있다
프리 릴리즈는 버그가 있을 수 있으니 안정적인 버전을 추천한다 (NuGet의 사용법을 모른다면 인터넷에 검색을 해 볼것)
그럼 이제 VB .Net을 통해 .NET 표준을 사용할 수 있다. 끝
'Programming > Visual Basic' 카테고리의 다른 글
VB .Net에서의 .NET 표준 사용 (0) | 2017.05.20 |
---|---|
알송의 가사 가져오는 코드 (0) | 2017.05.13 |
파일 확장자로부터 아이콘 가져오기 (0) | 2016.11.23 |
글
using System;
public int main() {
String Hello = "Hello, World!";
Console.WriteLine(Hello);
return;
}
음..
글
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 | Imports System.Text Imports System.Net Imports System.IO Imports System.Xml Imports System.Security Module ParseAlSong Private Const URL As String = "http://lyrics.alsong.co.kr/alsongwebservice/service1.asmx" Private Const SendXML As String = "<?xml version=""1.0"" encoding=""UTF-8""?>" & vbCrLf & "<SOAP-ENV:Envelope " & "xmlns:SOAP-ENV=""http://www.w3.org/2003/05/soap-envelope"" " & "xmlns:SOAP-ENC=""http://www.w3.org/2003/05/soap-encoding"" " & "xmlns:xsi=""http://www.w3.org/2001/XMLSchema-instance"" " & "xmlns:xsd=""http://www.w3.org/2001/XMLSchema"" " & "xmlns:ns2=""ALSongWebServer/Service1Soap"" " & "xmlns:ns1=""ALSongWebServer"" " & "xmlns:ns3=""ALSongWebServer/Service1Soap12"">" & vbCrLf & " <SOAP-ENV:Body>" & vbCrLf & " <ns1:GetLyric5><ns1:stQuery>" & vbCrLf & " <ns1:strChecksum>{0}</ns1:strChecksum>" & vbCrLf & " <ns1:strVersion></ns1:strVersion>" & vbCrLf & " <ns1:strMACAddress></ns1:strMACAddress>" & vbCrLf & " <ns1:strIPAddress></ns1:strIPAddress>" & vbCrLf & " </ns1:stQuery></ns1:GetLyric5>" & vbCrLf & " </SOAP-ENV:Body>" & vbCrLf & "</SOAP-ENV:Envelope>" Public Structure AlSongInfo Dim ID As Integer Dim RegistDate As Date Dim Title As String Dim Artist As String Dim Album As String Dim CGood As Integer Dim CBad As Integer Dim Lyric As String Dim FirstRegister As AlSongRegister Dim CurrentRegister As AlSongRegister End Structure Public Structure AlSongRegister Dim Name As String Dim eMail As String Dim URL As String Dim Phone As String Dim Comment As String End Structure Public Function GetMP3Info(FileName As String) As AlSongInfo Using FS = New FileStream(FileName, FileMode.Open, FileAccess.Read) Return GetMP3Info(FS) End Using End Function Public Function GetMP3Info(Stream As Stream) As AlSongInfo '오디오 프레임에서 163840 바이트를 읽어 해시 값을 구함 '해당 코드에서는 NuGet의 ID3를 사용함 Const SampleSize As Integer = 163840 Dim MD5 = Cryptography.MD5.Create() Dim Hash() As Byte Using MP3 As New Id3.Mp3Stream(Stream) Hash = MD5.ComputeHash(MP3.GetAudioStream(), 0, SampleSize) End Using Return GetInfo(BitConverter.ToString(Hash).Replace("-", "").ToLower()) End Function Public Function GetInfo(Checksum As String) As AlSongInfo Dim Request = HttpWebRequest.CreateHttp(URL) Request.KeepAlive = False Request.Method = "POST" Request.UserAgent = "gSOAP/2.7" Request.ContentType = "application/soap+xml; charset=utf-8" Request.Headers.Add("SOAPAction", """ALSongWebServer/GetLyric5""") Using Stream = Request.GetRequestStream() WriteStream(Stream, Checksum) End Using Using Response = Request.GetResponse() Using Stream = Response.GetResponseStream() Return ParseStream(Stream) End Using End Using End Function Private Sub WriteStream(Stream As Stream, Checksum As String) Dim XML = Encoding.UTF8.GetBytes(String.Format(SendXML, Checksum)) Stream.Write(XML, 0, XML.Length) End Sub Private Function ParseStream(Stream As Stream) As AlSongInfo Dim XML As New XmlDocument() XML.Load(Stream) Dim Node = XML.SelectSingleNode("*/*/*/*") If Node Is Nothing Then Return Nothing Dim Info As AlSongInfo With Info .ID = GetNodeValue(Node, "strInfoID") .RegistDate = GetNodeValue(Node, "strRegistDate") .Title = GetNodeValue(Node, "strTitle") .Artist = GetNodeValue(Node, "strArtist") .Album = GetNodeValue(Node, "strAlbum") .CGood = GetNodeValue(Node, "strCountGood") .CBad = GetNodeValue(Node, "strCountBad") .Lyric = GetNodeValue(Node, "strLyric").Replace("<br>", vbCrLf) .FirstRegister.Name = GetNodeValue(Node, "strRegisterFirstName") .FirstRegister.eMail = GetNodeValue(Node, "strRegisterFirstEMail") .FirstRegister.URL = GetNodeValue(Node, "strRegisterFirstURL") .FirstRegister.Phone = GetNodeValue(Node, "strRegisterFirstPhone") .FirstRegister.Comment = GetNodeValue(Node, "strRegisterFirstComment") .CurrentRegister.Name = GetNodeValue(Node, "strRegisterName") .CurrentRegister.eMail = GetNodeValue(Node, "strRegisterEMail") .CurrentRegister.URL = GetNodeValue(Node, "strRegisterURL") .CurrentRegister.Phone = GetNodeValue(Node, "strRegisterPhone") .CurrentRegister.Comment = GetNodeValue(Node, "strRegisterComment") End With Return Info End Function Private Function GetNodeValue(Node As XmlElement, Name As String) As String Dim SubNode = Node.GetElementsByTagName(Name) If SubNode.Count = 0 Then Return "" Return SubNode(0).InnerText End Function End Module | cs |
Lyric이 가사임
'Programming > Visual Basic' 카테고리의 다른 글
VB .Net에서의 .NET 표준 사용 (0) | 2017.05.20 |
---|---|
알송의 가사 가져오는 코드 (0) | 2017.05.13 |
파일 확장자로부터 아이콘 가져오기 (0) | 2016.11.23 |