private void frmRecord_FormClosing(object sender, FormClosingEventArgs e)
    {
        if (e.CloseReason == CloseReason.UserClosing)
        {
           this.Hide();
           e.Cancel = true;
        }
    }

 

부 호

명 칭

정 의

SOH

Start of Heading

정보 메세지의 헤딩 개시

STX

Start of Text

본문개시(Heading의 종료)표시

ETX

End of Text

본문의 종료표시

EOT

End of Transmission

전송의 결과를 표시

ENQ

Enquriy

상대국에서 응답(국식별, 국상태 등)을 요구

ACK

Acknowledge

수신측에서 수신한 정보에 대한 긍정 응답

DLE

Data Link Escape

전송제어 기능을 추가할 때 사용

NAK

Negative Acknowledge

수신측에 수신한 정보에 대한 부정 응답

SYN

Synchronous Idle

문자동기를 유지

ETB

End of Transmission Block

전송 블럭의 종료 표시

 

'Web' 카테고리의 다른 글

[PHP] sublime text(서브라임텍스트) FTP 설정  (0) 2019.02.27
[PHP] FTP 파일질라 설정  (0) 2019.02.26

프로젝트 속성에서 Windows 설정 보기로 들어가면 아래와 같이 app.Manifest가 나온다.

 

 

 

'VB.net' 카테고리의 다른 글

Visual Studio 2017 Installer Projects(Setup파일 만들기)  (0) 2019.07.02
tcp/ip  (0) 2019.06.14

1. 현재 솔루션에 Visual Studio 확장프로그램인 Microsoft Visual Studio Installer Projects를 추가한다.

 

2. 추가된 프로젝트의 우클릭 --> View --> 파일 시스템을 선택하면 다음과 같은 화면이 실행된다.

 

2. Application Folder를 우클릭 --> Add --> 프로젝트 출력을 클릭한다. 설정은 기본출력으로 해도 좋다.

Application Folder : 설치 경로에 생성되는 폴더

User's Desktop : 바탕화면

User's Programs Menu - 시작 메뉴

3. 오른쪽에 추가된 dll파일 등을 확인하고 빠진 파일은 우클릭 --> Add 하여 추가한다.

 

4. 바로가기는 기본출력 --> 우클릭 Create Shortcut to 기본출력 from~ 을 클릭하면 자동으로 생성된다.

   생성된 바로가기를 User's Desktop, User's Programs Menu로 옮겨 준다. 

   만들어진 바로가기는 아이콘 모양이 없는 상태다. 속성창에서 (Browse...)를 클릭하여 아이콘을 선택해준다.

5. Setup 프로젝트의 속성 페이지 --> 구성관리자를 누르면 배포할 프로젝트를 선택할 수 있다. 모두 체크

   Setup프로적트도 체크 해줘야 한다. 배포용의 구성은 Release..(Release로 빌드를 한번 해줘야 한다.)

 

6. .NET Framework의 설치가 필요할수도 있다.

    Perequisites...를 클릭하여 필수 구성 요소를 체크하고 확인.

6. 나머지 Setup 프로젝트의 속성에서 설정을 맞춰주고 Setup프로젝트를 빌드하면 설치 파일이 생성된다.

 

'VB.net' 카테고리의 다른 글

프로젝트 권한 변경  (0) 2019.07.02
tcp/ip  (0) 2019.06.14

tcp/ip 통신 규약(프로토콜)

 

tcp/ip 5계층

 

-애플리케이션 계층  Application Layer  : HTTP

-트랜스포트 계층  Transport Layer  :  TCP

-네트워크 계층(인터넷 계층)  Network Layer  :  IP

-데이터링크 계층(네트워크 인터페이스 계층)  DataLink Layer  

-물리 계층  Physical Layer

 

OSI 7계층

 

-애플리케이션 계층  Application Layer    :   크롬,  파이어폭스,  사파리  등

-프레젠테이션 계층  Presentation Layer  :  데이터를 표현, 암호화, 복호화

-세션 계층  Session Layer   :   "대화"를 위한 세션을 만듬

-트랜스포트 계층  Transport Layer   :  TCP

-네트워크 계층(인터넷 계층)  Network Layer   : IP

-데이터링크 계층(네트워크 인터페이스 계층)  DataLink Layer  :  노드간의 데이터 전송

-물리 계층  Physical Layer   :   기기

 

tcp 프로토콜 - 서버와 클라이언트간에 데이터를 신회성 있게 전달하기 위한 프로토콜

                 - 패킷이 빠졌을 경우 재전송을 요청

                 - 패킷에 일련번호를 주고 서로 다르게 도착하는 패킷의 순서를 재조합

ip 프로토콜 - 데이타 패킷을 전송하기 위해서 각 단말기를 ip주소로 구분하고 목적지를 찾아간다

 

노드 : 데이터 링크 상의 기기(컴퓨터, 라우터 등)

 

패킷 - 데이터 전송 단위, 한 패킷은 보통 1,024비트(128바이트)

 

라우터 - 네트워크 간을 연결하는 장비, 들어오는 패킷을 목적지로 보내는 역할

 

소켓 - 클라이언트와 서버가 데이터를 주고 받는 통로

'VB.net' 카테고리의 다른 글

프로젝트 권한 변경  (0) 2019.07.02
Visual Studio 2017 Installer Projects(Setup파일 만들기)  (0) 2019.07.02

클래스

- 1개의 primary constructor를 가진다.

- N개의 secondary constructor를 가진다.

- secondary constructor에서는 primary constructor를 호출해야 한다.

- primary constructor는 init() {...} 블록을 가진다.

- primary constructor에 정의된 변수는 전역 변수이다.

- 전역 변수는 default값을 가질 수 있다.

- default값을 정의한 클래스를 자바에서 사용하려면 @JvmOverloads 어노테이션을 적용해야 한다.

자바

public class Sample {

    private String name = "";

    private String name2 = "";

 

    Sample(String name) {

        this.name = name;

    }

    Sample(String name, String name2) {

        this.name = name;

        this.name2 = name2;

    }

}

코틀린

class Sample(val name: String, val name2: String) {

    init() {

        println("name : $name, name2 : $name2")

    }

    constructor(name: String) : this(name, "") {

        println("name : $name")

    }

}

 

 

 

 

 

상속

자바

default class

- Non final (재정의 가능)

abstract

- extends로 상속

interface

- implements로 상속

 

public class Sample extends abstract implements interface {

    Sample() {  }

}

 

코틀린

default class

- final (재정의 불가능)

- 재정의 하려면 open 키워드를 추가

 

상속은 콜론(:)으로 한다.

다중상속은 콤마(,)로 한다.

abstract와 interface의 순서는 상관없다.

 

class Sample : interface, abstract () {

    init() {  }

}

 

interface

자바

public interface Sample {

    int Type = 0;

    

    default void init() {

    }

 

    static void initstatic() {

    }  //call Sample.initstatic();

    

    void out();

}

코틀린

 

interface Sample() {

    val type: Int

 

    fun init() {

    }

    fun out()

}

 

변수를 자바처럼 사용하면 오류 발생

    val type = 0

 

companion object

- 자바에서 처럼 인터페이스에서 변수를 사용할수 있게 해주는 객체

interface Sample() {

    companion object {

        const val type: Int = 0

    }

    fun init() {  }

    fun out()

}

 

다중 상속

- 자바에서는 class의 init()만 접근가능.

- 코틀린에서는 super.init()을 할 경우 에러 발생 <타입>을 꼭 써줘야함.

자바

public interface InterfaceSample {

    default void init() {}

}

 

public abstract class AbstractSample {

    public void init() {}

}

public class Sample extends AbstractSample implements InterfaceSample {

    @Override

    public void init() {

        super.init();

    }

}

코틀린

interface InterfaceSample {

    fuc init() {}

}

 

abstract class AbstractSample {

    open fun init() {}

}

 

class Sample : InterfaceSample, AbstractSample() {

    override fun init() {

        super<InterfaceSample>.init()

        super<AbstractSample>.init()

    }

}

 

data class

자바

public final class User {

    private final long id;

    private final String name;

    private final String email;

 

    public final int getId() { return this.id; }

    public final String getName() { return this.name; }

    public final String getEmail() { return this.email; }

}

코틀린

data class User(val id: Long = 0,

                    val name: String? = null,

                    val email: String? = null)

 

 

 

 

 

 

 

Sealed class

- 다형성

sealed class Expr

data class Const(val number: Int) : Expr()

data class Sum(val e1: Expr, val e2: Expr) : Expr()

 

fun eval(expr: Expr): Int = when(expr) {

    is Const -> expr.number

    is Sum -> eval(expr.e1) + eval(expr.e2)

}

 

fun test() {

    eval(Sum(Const(0), Const(1)))

}

 

singleton

자바

public class Sample {

    private static Sample instance = new Sample();

    Sample() { }

    public Sample getInstance() {

        return instance;

    }

}

코틀린

object Sample

 

 

 

 

 

 

 

'Android' 카테고리의 다른 글

[Android] 코틀린 기본 문법 - 1  (0) 2019.04.09
[Android] Appcompat Library 란?  (0) 2019.04.08
[Android] retrofit 통신  (0) 2019.04.02
[Android] CustomListener 사용  (0) 2019.04.02
[Android] AlertDialog 사용  (0) 2019.04.02

변수 타입

코틀린은 대문자로 시작

자바

double  :  123.5

float  :  123.5f

long  :  123L

int  :  123

short  :  16

byte  :  8

String

코틀린

Double  :  123.5

Float  :  123.5f

Long  :  123L

Int  :  123

Short  :  16

Byte  :  8

String

 

변수 선언

var 변수이름: 변수타입 = 값

자바

String name = "a";

final String name = "a";

코틀린

var name = "a"

val name = "a"

 

Null의 사용

코틀린은 Null을 허용하지 않는다 허용하려면 물음표(?)를 추가해야 한다

자바

String name = "a";

name = null;

코틀린

var name: String? = a

name = null

 

변수 Casting

자바 instanceof

Object object = "name";

int index = 0;

if (object instanceof Integer) {

    index = (int) object;

}

System.out.println("index : " + index);

 

 

 

 

 

 

코틀린 as 와 is

as의 사용

val a: Any? = "ABC"

val b: Int? = a as? Int

println("Out b $b") //Out b null

 

is의 사용

val a: Any? = "ABC"

val b: Int? = 0

if (a is Int) {

    b = a as? Int

}

println("Out b $b") //Out b 0

 

Elvis Operator

val a: Any? = "ABC"

val b: Int? = a as? Int ?: 0

println("Out b $b")

 

is와 when 활용

자바

Object object = "name";

int index = 0;

if (object instanceof Integer) {

    index = (int) object;

}

System.out.println("index : " + index);

코틀린

val a: Any? = "ABC"

when(a) {

    is Int -> println(a)

    is String -> println(a)

    else -> println("nothing")

} //print "ABC"

 

'Android' 카테고리의 다른 글

[Android] 코틀린 기본 문법 - 2  (0) 2019.04.09
[Android] Appcompat Library 란?  (0) 2019.04.08
[Android] retrofit 통신  (0) 2019.04.02
[Android] CustomListener 사용  (0) 2019.04.02
[Android] AlertDialog 사용  (0) 2019.04.02

Appcompat 라이브러리는 안드로이드 UI가 발전함에 따라 이전 버전에서 발전된 UI를 지원하지 않을 경우

앱 내부의 Appcompat 라이브러리에 포함된 UI를 사용하고 사용자의 안드로이드 버전에서 지원할 경우

사용자 안드로이드의 UI를 사용한다.

'Android' 카테고리의 다른 글

[Android] 코틀린 기본 문법 - 2  (0) 2019.04.09
[Android] 코틀린 기본 문법 - 1  (0) 2019.04.09
[Android] retrofit 통신  (0) 2019.04.02
[Android] CustomListener 사용  (0) 2019.04.02
[Android] AlertDialog 사용  (0) 2019.04.02

+ Recent posts