본문 바로가기

C#83

[C#] BCL - DateTime Tick으로 시간차 계산 static void Main(string[] args) { Console.WriteLine("DateTime을 이용한 시간차 계산"); // DateTime은 struct로 정의된 값 형식 DateTime befor = DateTime.Now; sum(); DateTime after = DateTime.Now; long gap = after.Ticks - befor.Ticks; Console.WriteLine($"Total Ticks : {gap}"); Console.WriteLine($"millisecond : {gap / 10000}"); // 10,000 주의 tick = 1ms*10000 Console.WriteLine($"second : {gap / 10000 / 1000}"); Console.. 2020. 11. 28.
[C#] Dispose 상속 및 재정의 class ClientClass : IDisposable { private bool disposedValue; protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: 관리형 상태(관리형 개체)를 삭제합니다. } // TODO: 비관리형 리소스(비관리형 개체)를 해제하고 종료자를 재정의합니다. // TODO: 큰 필드를 null로 설정합니다. // 비관리 메모리 해제구문 disposedValue = true; } } // // TODO: 비관리형 리소스를 해제하는 코드가 'Dispose(bool disposing)'에 포함된 경우에만 종료자를 재정의합니다. // ~ClientClass() .. 2020. 11. 27.
[C#] 문자열에 특정 문자 개수 찾기 1. LINQ 사용 public List TaskFindText(string[] FindStrlst) { // 1개 또는 목록이 없는 경우 //if (FilelistCount new FileInfo(x)); HashSet resultList = new HashSet(); foreach (var item in FindStrlst) { var queryMatchingFiles = from file in fileInfos where file.Extension.ToLower() == ".log" let fileText = GetFileText(file.FullName) where fileText.Contains(item) select file.FullName; foreach (string filename in .. 2020. 11. 19.
[C#] ini 파일 읽기/쓰기 string iniPath = Environment.CurrentDirectory + @"\setup.ini"; // ini 파일명 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string filePath); [DllImport("kernel32")] private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath); private void Window_Loade.. 2020. 11. 19.
[C#] .Net core 3.1 인코딩 한글 지원 참고 링크 : https://docs.microsoft.com/ko-kr/dotnet/api/system.text.encoding?view=netcore-3.1 //.Net Core는 기본적으로 한글을 지원 안 하기 때문에 //Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); 를 넣어줘야 한다. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance); foreach (var inputFilePath in Filelist) { try { using (var outputFile = new StreamWriter(new FileStream(sOutputPath, FileMode.Append, .. 2020. 11. 19.
[C#] FFMpeg.exe 사용 (m4a -> wav) FFMpeg 다운로드 : ffmpeg.org/download.html using System; using System.Diagnostics; using System.Text; namespace FFMPEG_ConsoleTest { class Program { static void Main(string[] args) { Console.WriteLine("Hello World!"); //var test = RunCmd("C:\\Users\\SEONGHYEON\\Desktop\\ffmpeg-4.3.1-2020-10-01-full_build\\bin\\ffmpeg.exe -i \"C:\\Users\\SEONGHYEON\\Desktop\\녹음\\녹음_원본\\통화 녹음 01098981057_201016_102317.. 2020. 11. 19.
[C#] CMD 사용 private static string RunCmd(string args) { ProcessStartInfo process = new ProcessStartInfo(); Process pro = new Process(); process.FileName = "cmd.exe"; process.CreateNoWindow = true; // cmd창을 띄우지 안도록 하기 process.UseShellExecute = false; process.RedirectStandardOutput = true; // cmd창에서 데이터를 가져오기 process.RedirectStandardInput = true; // cmd창으로 데이터 보내기 process.RedirectStandardError = true; // cmd창.. 2020. 11. 19.
[C#] 델파이 dll 호출 using System; using System.IO; using System.Runtime.InteropServices; namespace Delphi_Dll_Test { class Program { [DllImport("RecEncryptDLL_x64.dll", CallingConvention = CallingConvention.StdCall, CharSet = CharSet.Auto)] public static extern bool Decrypt_FileToFile(string keyFile, string sourceFile, string Targetfile, string msg); // 델파이에서 선언한 name으로 호출 [DllImport("RecEncryptDLL_x64.dll", Callin.. 2020. 11. 19.
15. 파일 보기 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159using System;using System.Col.. 2019. 3. 20.
14. 파일 읽기/쓰기 2019. 3. 20.
13. 프로세스 보기 2019. 3. 20.
12. 트레이 메세지 2019. 3. 20.
11. 폰트 꾸미기 2019. 3. 20.
10. 폼 꾸미기 2019. 3. 20.
09. 트레이 아이콘 2019. 3. 20.
08. 진행상태보기 2019. 3. 20.
07. 그림 보기 2019. 3. 20.
06. 입력 목록 보기 2019. 3. 20.
05. 리스트 추가 2019. 3. 20.
04. 타이머 2019. 3. 20.