728x90

OPen CV 사용을 위해  Open CV 설치 방법에 대해 알아 보겠습니다.

1) NuGet에서 OPenCvSharp4를 설치 진행


2) using OpenCvSharp;


3) System.Windows.Window

728x90
728x90

DevExpress Toolbox 사용 방법

1) 탭을 추가하여 DE_2.x라는 이름으로 정해주었으며, DE_2.x 안에 DevExpress Toolbox를 불러오기 위한 준비 완료


2) 항목 선택


3) WPF 구성 요소 선택 하여 원하는 구성 요소 체크 후 확인
   └ 필터를 통해 원하는 항목들만 간추릴 수 있다.



3) DevExpress Toolbox를 불러왔다

728x90
728x90

아래 사이트로 이동하시면 30일 무료 평가판 다운로드 가능

▼▼▼▼▼▼▼▼

https://www.devexpress.com/Products/Try/

728x90
728x90

DevExpress란?

해외에서 가장 많이 사용중인 .NET 기반의 컴포넌트 라이브러리 입니다.
이 라이브러리를 통하여 화려한 시작적인 효과와 다양한 툴 사용이 필요 할 경우 이용합니다.

.NET Framework



.NET Core



IDE



devexpress Prerequisites
 > https://docs.devexpress.com/WPF/8091/prerequisites#net-framework

devexpress Controls and Libraries 
> https://docs.devexpress.com/WPF/7561/controls-and-libraries

728x90
728x90

여러개 버튼을 만들어서 클릭 이벤트를 한번에 모아서 관리하는 방법에 대해 알아보겠습니다.

제가 생각 할 때 이렇게 사용한다면, 가독성을 높여주고, 코드 수정이 편리하다고 생각합니다.

사용방법은 Click 이벤트 명을 동일이름으로 사용하면 됩니다.

 

 

private void But_Remove_Click(object sender, RoutedEventArgs e)
{
    Button button = (Button)sender;
    if(                          )
    {

    }
    else if(                       )
    {

    }
}
728x90
728x90

 

대용량 파일을 읽어들이기 위해서는 전체적으로 읽어들이는 것과 한 줄씩 읽어들이는 것이 있습니다.

하지만 ReadAllLines으로는 읽을 수 없습니다. 또한 유사한 방법으로는 사용 할 수 없다고 생각합니다.

그 이유는 전체 파일을 문자열 배열의 메모리로 읽으려고 합니다. 우리의 대부분 컴퓨터는 약 8GB ~ 16GB 램을 가지고 있기 때문에 이하의 파일은

가능하나, 이상의 파일은 불가능합니다.

또한 Array 기본 최대 크기는 2GB, 파일의 줄 수보다 많을 경우 한번에 전체적으로 읽을 수 없습니다.

한번에 한줄씩 파일을 읽으면 컴퓨터에 많은 양의 메모리 사용이 필요 없으며, 한줄 읽는 메모리만으로 충분 합니다.

 

using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
using (BufferedStream bs = new BufferedStream(fs))
using (StreamReader sr = new StreamReader(bs))
{
    string line;
    while ((line = sr.ReadLine()) != null)
    {

    }
}

 

 

내 컴퓨터 RAM 용량 확인하기
https://clear-sky-sun.tistory.com/62

728x90
728x90


없음

파일은 어떤 방식으로든 빌드에 일부가 아닙니다. 이 값은 예를 들어 "ReadMe" 파일과 같은 문서 파일에 사용할 수 있습니다.

컴파일

파일이 컴파일러에 소스 파일로 전달됩니다.

내용

콘텐츠 로 표시된 파일은 Application.GetContentStream을 호출하여 스트림으로 검색할 수 있습니다. ASP.NET 프로젝트의 경우 이러한 파일은 배포 시 사이트의 일부로 포함됩니다.

포함 된 리소스 

파일이 어셈블리에 포함될 리소스로 컴파일러에 전달됩니다. System.Reflection.Assembly.GetManifestResourceStream을 호출하여 어셈블리에서 파일을 읽을 수 있습니다.

AdditionalFiles

입력으로 C# 또는 Visual Basic 컴파일러에 전달되는 비소스 텍스트 파일입니다. 이 빌드 작업은 주로 코드 품질을 확인하기 위해 프로젝트에서 참조되는 분석기에 입력을 제공하는 데 사용됩니다. 자세한 내용은 추가 파일 사용을 참조하세요.

CodeAnalysisDictionary

코드 분석에서 맞춤법 검사에 사용하는 사용자 지정 단어 사전입니다.
방법: 코드 분석 사전 사용자 지정

ApplicationDefinition

애플리케이션을 정의하는 파일입니다. 프로젝트를 처음 만들 때 App.xaml 입니다.

Page

xaml 파일을 baml로 컴파일하는데 사용한다.
그 다음 baml은 Resource와 동일한 기술로 표현
즉, 'appname.g.resources'로 사용 가능

Resource

해당 파일을 확장명이 .g.resources 인 어셈블리 매니페스트 리소스 파일에 포함하도록 지정합니다.

SplashScreen

응용 프롷그램이 로드 될 때 자동으로 표시된 다음 프로그램 시작합니다

DesignData

XAML ViewModel 파일에 사용되며, 디자인 타임에 사용자 컨트롤을 더미 형식 및 샘플 데이터를 사용하여 볼 수 있도록 합니다.

DesignDataWithDesignTimeCreatableTypes

DesignData와 유사하지만 실제 형식을 사용합니다.

EntityDeploy

EF(Entity Framework)의 경우 EF 아티팩트의 배포를 지정하는 .edmx 파일입니다.

XanlAppDef

포함된 워크플로를 사용하여 워크플로 XAML 파을 어셈블리로 빌드하도록 지시합니다.



사용방법 

빌드 작업에서

1. ApplicationDefinition 선택시
 - 페이지를 시작폼으로 설정

2. SplashScreen 선택시
 - 페이지 시작 전 화면에 띄운 후 프로그램 시작

728x90
728x90

Directory.GetFiles()

 - 지정된 조건을 충족하는 파일 이름을 반환합니다


GetFiles(string)
 지정된 디렉터리 있는 파일의 경로를 반환

GetFiles(string, string)

 지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 경로를 반환

GetFiles(sting, string, EnumerationOptions)

 지정된 디렉터리에서 지정된 검색 패턴 및 열거형 옵션과 일치하는 파일 경로를 반환

GetFiles(String, String, SearchOption)

 하위 디렉터리를 검색할지를 나타내는 값을 사용하여 지정된 디렉터리에서 지정된 검색 패턴과 일치하는 파일 경로을 반환


사용 방법

string path = @"D:\";

var excludedExtensions = new List<string>(new[] { ".txt", ".a" });

var file_Files = Directory.GetFiles(
path , "*.*").Where(file => !excludedExtensions.Any<string>((extension) => file.EndsWith(extension, StringComparison.CurrentCultureIgnoreCase))).ToList();


foreach(string list_file in file_Files)
{
        System.IO.File.Delete(list_file);
}










참조
https://stackoverflow.com/questions/38506928/using-directory-getfiles-to-select-all-the-files-but-a-certain-extension/38507353#38507353

https://docs.microsoft.com/ko-kr/dotnet/api/system.io.directory.getfiles?view=net-5.0

728x90
728x90

이걸 그대로 사용하면 됩니다.


Window.GetWindow(this).Close();


또는


System.Windows.Forms.Application.Restart();

Environment.Exit(0);

728x90
728x90

오늘은 C#에서 특정 문자열 위치와 문자 존재 여부에 대해 알아보겠습니다.


IndexOf : 문자열 인덱스 번호로 출력합니다. 만약 존재하지 않는다면 -1.

LastIndexOf : 같은 문자열이 여러번 있을 때 마지막에 출력 된 문자열 인덱스 번호 출력합니다. 만약 존재하지 않는다면 -1.

Contains : 해당 문자열이 존재하는지 True와 False로 출력합니다.



728x90

+ Recent posts