![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
LabVIEW: 조건문 (Select 함수)을 알아보자!!
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
LabVIEW: 클러스터를 알아보자!!
LabVIEW Cluster
랩뷰의 클러스터에 대해 알아보자.
이번 시간에는 프로그래밍에서 빼놓을 수 없는 또 다른 핵심 원소인 클러스터에 대해 알아보았습니다.
랩뷰에서 클러스터를 활용할 수 있는 다양한 팁들을 오늘 다 알려드리지 못하였지만,
계속해서 유익한 정보 많이 알려드릴 수 있도록 노력하겠습니당~~!!
랩뷰에서 클러스터를 활용할 수 있는 다양한 팁들을 오늘 다 알려드리지 못하였지만,
계속해서 유익한 정보 많이 알려드릴 수 있도록 노력하겠습니당~~!!
감사합니당~
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
LabVIEW: 배열을 알아보자!!
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
Labview: 문자형 타입을 알아보자!!
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
Labview: 랩뷰로 프로그래밍 하기
랩뷰의 사용자 인터페이스와 프로그래밍 하는 방법을 소개한 간단한 동영상입니다.
텍스트로 내용을 작성하는 것도 좋긴한데, 사진을 하나하나 캡쳐하는 작업이 생각보다 만만치 않아서,
이렇게 동영상으로 만들어봤습니다. ㅎㅎ
이렇게 동영상으로 만들어봤습니다. ㅎㅎ
보기 좋네요. ㅎㅎㅎ
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
[Excel Tip-07] VBA를 알아보자!!
엑셀을 사용하면서 '이런 기능들은 없을까?'와 같은 생각에 검색들을 해보면,
응용하는 방법을 몰랐을 뿐이지 참으로 다양한 함수들과 기능들을 많아 한번씩 놀라곤 한다.
그런데, 엑셀이 분명 유용한 도구임은 확실하지만, 어디까지나 도구일 뿐이지 메인이 될 순 없다는 생각이 들다보니,
자연스레 눈이 VBA를 향하게 되었다.
엑셀이 가진 그 수많은 기능들을 다 기억하지 못한다면... 그냥 내가 만들어 쓰지 뭐. ㅎㅎ
1. VBA는 무엇인가?
그 자체로도 풍요로운 기능을 제공하는 엑셀을 더 혜자스러운 도구로 변신하게 만들어주는 숨겨진 보물인 VBA.
무엇을 할 수 있고 어떤 혜자스러움을 품고 있는지 알아보기 전에 VBA란 무엇인가를 먼저 살펴보자.
Visual Basic for Application의 머리 글자를 따서 VBA라고 이름을 붙였단다.
다시 말해, 특정 어플리케이션을 위한 비쥬얼 베이직이고, MS에서 윈도우용 VB를 출시한 만큼
Office 제품군 (그러니까, 파워포인트나 엑셀, 워드... 이런 친구들)에 어느 순간부터 VBA를 넣기 시작했다.
아무래도, 비쥬얼 베이직은 너무너무 잘 알려진 프로그래밍 언어이고,
특정 어플리케이션의 활용을 돕기 위해 이런 프로그래밍 도구가 엑셀을 포함한 오피스 제품군에 포함되어 있는 만큼
잘 활용만 한다면 손가락 하나만 까딱해도 데이터가 착!착! 처리되는 진귀한 경험을 할 수 있다.
(물론 잘~ 활용해야지... ㅎㅎ)
그럼 그렇게 잘난 친구가 어떻게 생겼고, 엑셀의 어디에 숨어있었는지부터 찾아봐야한다.
VBA Editor는 엑셀 메뉴 중 '개발 도구' 안에 있다.
그림에서 보는 것처럼 '개발 도구' 메뉴를 클릭하면 제일 왼쪽에 비쥬얼 베이직 에디터를 여는 버튼이 나온다.
만약 위 그림처럼 '개발 도구'가 안보인다면, 엑셀의 옵션에 가서 활성화시킬 수 있다.
이도 저도 귀찮다면, 단축키 (Alt + F11)를 눌러서 에디터를 열 수도 있다.
2. VBA의 간단한 예제
이제 VBA 에디터도 열었으니, 간단한 예제를 한번 만들어보자.
간단한 예제라면 누가 뭐라 해도, 'Hello, World!' 만한게 있을까? ㅎㅎ
(만성 창의력 제로인 내가 새로운 것을 할리는 없지...)
VBA의 프로그래밍 구조는 천천히 하나씩 뜯어보기로 하고,
간단한 예제이니만큼, 그냥 한번 만들어보자.
먼저, Sheet1을 마우스 오른쪽 클릭해서, 모듈을 하나 추가하자.
추가된 Module1에 아래의 코드를 똑같이 입력하자.
1
2
3
4
|
Sub mySubRoutine()
Sheet1.Range("A1").Value = "Hello, World!"
End Sub
| cs |
엑셀로 돌아가서 매크로를 실행시켜보면 (단축기 Alt + F8), Sheet1의 A1 셀에 Hello, World!가 찍힌다. ㅎㅎㅎ
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)
WPF: TextBlock & Label
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIN9K-3oJTKKAkDxW_YlZQLAA1RTvYVWIt1panD4vgw1gV7rPZMADBzjgACPEhZsJORFHBJW7QWf8U5ssAtxfVeNKgpm78s6XMaoy-3-K7nTTalMnOB05IOVK2D4EZ1qjbqP27u7O_KZoh/s400/WPF.png)
TextBlock을 알아보자.
WPF에서 TextBlock은 말 그대로 Text를 처리하는 컨트롤 중 하나이다.
이렇게 Text를 처리하는 컨트롤로 Label이 있지만, Label은 짧은 1줄 정도의 텍스트를 처리하는 용도라고 한다면, TextBlock은 여러 줄의 문자열을 처리할 수 있다.
(대신, Label은 이미지를 담을 수도 있지만, TextBlock은 문자열만 담을 수 있다.)
간단한 예제를 한번 보자. (feat. 나라 사랑 ㅎㅎ) __φ(。。)
MyWPFApp.xaml
|
<Window x:Class="WpfApp1.MyWPFApp"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="180" Width="220"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
</Window.Resources>
<Grid Margin="10">
<TextBlock Margin="10" FontSize="14"> 우리 나라 좋은 나라 대한민국 만세!!</TextBlock>
</Grid>
</Window>
|
예제에서 볼 수 있듯이 <TextBlock>과 </TextBlock> 이라는 태그 안에 원하는 텍스트를 입력하면 쉽게 윈도우에 표시할 수 있다.
그러나, 윈도우 크기에 비해 긴 문자열을 입력했을 때 글자가 한번에 표시되지 않는다.
이럴 때 활용할 수 있는 몇 가지 방법을 알아보자. (´▽`)ノ♪
MyWPFApp.xaml
|
<Window x:Class="WpfApp1.MyWPFApp"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="180" Width="220"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
</Window.Resources>
<StackPanel>
<TextBlock Margin="10" FontSize="14" Foreground="Red"> 우리 나라 좋은 나라 대한민국 만세!!</TextBlock>
<TextBlock Margin="10" FontSize="14" Foreground="Blue" TextTrimming="CharacterEllipsis"> 우리 나라 좋은 나라 대한민국 만세!!</TextBlock>
<TextBlock Margin="10" FontSize="14" Foreground="Green" TextWrapping="Wrap"> 우리 나라 좋은 나라 대한민국 만세!!</TextBlock>
</StackPanel>
</Window>
|
파란색으로 작성된 텍스트 블럭은 'TextTrimming'이라는 속성을 'CharacterEllipsis'로 했을 때의 결과를 보여준다.
윈도우 크기를 넘어서는 텍스트의 경우 '...'을 표시하여 뒤에 더 많은 글자가 있음을 나타내고 있다.
녹색으로 작성된 텍스트 블럭은 'TextWrapping'이라는 속성을 'Wrap'으로 했을 때의 결과를 보여준다.
윈도우 크기를 넘어서는 텍스트의 경우 자동으로 다음 줄에 이어서 텍스트를 표시한다.
텍스트 블럭에서 텍스트의 일부만 꾸미는 작업도 가능하다. (글자를 굵게 한다던지, 색상을 바꾼다던지...)
그럴 때는 'Span'을 사용한다.
MyWPFApp.xaml
|
<Window x:Class="WpfApp1.MyWPFApp"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="180" Width="220"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
</Window.Resources>
<StackPanel>
<TextBlock Margin="10" FontSize="14" TextWrapping="Wrap">
우리 나라
<Span FontWeight="Bold" Foreground="Blue">좋은 나라</Span>
<Span Background="Black" Foreground="Yellow"> 대한민국 만세!!</Span>
</TextBlock>
</StackPanel>
</Window>
|
Label을 알아보자.
Label은 텍스트를 처리하는 아주 간단한 컨트롤 중 하나이다.
텍스트를 처리하는 텍스트 블록과 달리 레이블은 Content 속성을 가지면서 다른 컨트롤을 다룰 수 있다.
그래서, 단순히 텍스트만을 처리하는 목적이라면 레이블에 비해 텍스트 블록을 사용하는 것이 훨씬 가볍다는 점을 기억하자!! ٩(ˊ〇ˋ*)و
다음의 예제를 한번 살펴보자!
MyWPFApp.xaml
<Window x:Class="WpfApp1.MyWPFApp"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="180" Width="220"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
</Window.Resources>
<StackPanel Margin="10">
<Label Content="_ID:" Target="{Binding ElementName=txtID}" />
<TextBox Name="txtID" />
<Label Content="_PW:" Target="{Binding ElementName=txtPW}" />
<TextBox Name="txtPW" />
</StackPanel>
</Window>
활성화 된 윈도우에서 'Alt' 키를 눌렀을 때 'ID' 와 'PW'의 머리글자에 밑 줄이 생기는 것을 확인할 수 있다.
그리고, 키보드로 머리글자를 눌렀을 때 각 레이블에 바인딩 되어 있는 텍스트 박스로 커서가 넘어가는 것도 확인할 수 있다. (⊙_⊙)
이런 액세스 키는 문자 앞의 밑줄(_)을 통해 지정할 수 있다. 바꿔 말하면, 꼭 첫 번째 문자일 필요는 없다는 의미이다. ㅎㅎ
Label은 텍스트를 처리하는 아주 간단한 컨트롤 중 하나이다.
텍스트를 처리하는 텍스트 블록과 달리 레이블은 Content 속성을 가지면서 다른 컨트롤을 다룰 수 있다.
그래서, 단순히 텍스트만을 처리하는 목적이라면 레이블에 비해 텍스트 블록을 사용하는 것이 훨씬 가볍다는 점을 기억하자!! ٩(ˊ〇ˋ*)و
다음의 예제를 한번 살펴보자!
MyWPFApp.xaml
|
<Window x:Class="WpfApp1.MyWPFApp"
xmlns:local="clr-namespace:WpfApp1"
mc:Ignorable="d"
Title="MainWindow" Height="180" Width="220"
ResizeMode="CanResizeWithGrip">
<Window.Resources>
</Window.Resources>
<StackPanel Margin="10">
<Label Content="_ID:" Target="{Binding ElementName=txtID}" />
<TextBox Name="txtID" />
<Label Content="_PW:" Target="{Binding ElementName=txtPW}" />
<TextBox Name="txtPW" />
</StackPanel>
</Window>
|
활성화 된 윈도우에서 'Alt' 키를 눌렀을 때 'ID' 와 'PW'의 머리글자에 밑 줄이 생기는 것을 확인할 수 있다.
그리고, 키보드로 머리글자를 눌렀을 때 각 레이블에 바인딩 되어 있는 텍스트 박스로 커서가 넘어가는 것도 확인할 수 있다. (⊙_⊙)
이런 액세스 키는 문자 앞의 밑줄(_)을 통해 지정할 수 있다. 바꿔 말하면, 꼭 첫 번째 문자일 필요는 없다는 의미이다. ㅎㅎ
![spacer](https://1.bp.blogspot.com/-65NY_Xae6lE/WqTIjxpmK2I/AAAAAAAATp4/8w3TYc8EwgQ2xpzZcxLXajNh8uz7a8SEgCLcBGAs/s1600/post-shadow.png)