본문 바로가기

C#

(31)
[PowerBuilder] [DataStore].print() 사용 시 가로로 출력하는 법 가로로 출력하고 싶은 데이터 윈도우의 속성창에서 Print Specification 탭으로 들어간다.Paper Orientation을 landscape(1)로 바꾼다.
[PowerBuilder] 데이터 윈도우 footer 추가하기 데이터 윈도우 detail 컬럼 클릭도구 모음창에서 compute 버튼 클릭property > general 탭 Compute Expression에 함수 추가하기... 버튼 클릭하면 좀 더 쉽게 변수와 함수를 추가할 수 있다.컬럼 행 개수count (컬럼이름 for all distinct)컬럼 총 합계sum (컬럼이름 for all)
[PowerBuilder] SelectRow 색상 변경하기 파워빌더 강의를 따라가던 중 사소한 문제를 발견했다. 내 프로그램은 선택된 로우의 사원명이 하이라이트 되고, 직급, 부서명 콜론의 텍스트가 안 보인다. 위 사진이 강좌에 있는 프로그램의 모습이고, 아래 사진이 내 프로그램이다.검색하여 알아낸 사실은 일단 SelectRow를 쓰면, 1) 자동으로 배경색은 파란색, 글자색은 하얀색으로 바뀌고, 2) 수정 가능한 포커스된 콜론은 하이라이트 된다는 것이다. SelectRow를 사용하는 이상 색상을 변경하거나 하이라이트를 없앨 수는 없다.즉 글자가 안보이게 된 이유는 SelectRow로 인해 글자가 흰색으로 변경되었는데 DropDownListBox가 흰색배경이기 때문이다. DropDwonList의 배경 색상을 변경하는 방법은 찾을 수 없었다. 그럼 SelectRo..
[PowerBuilder] Sheet 관련 함수들 OpenSheet()MDI 윈도우에 sheet를 띄우고, 상단메뉴바 목록에 sheet 이름이 보이게 하는 것OpenWithParm(띄우려는 윈도우 이름, 변수)특정 window object를 띄우고 모든 property와 control들을 스크립트에서 사용할 수 있도록 한다. Message object에 parameter를 저장한다.OpenSheetWithParm()MDI 윈도우 내의 sheet를 오픈하고, 상단메뉴바에 sheet가 나타나게 하는 것. 오픈된 sheet에서 넘겨준 parameter 사용가능GetActiveSheet()현재 띄워져있는 sheet를 얻는다.GetFirstSheeet()활성화 여부에 상관없이 최상위 sheet를 얻는다.GetNextSheet(MDI 윈도우, 띄워져있는 sheet..
[PowerBuilder] 기초 파워빌더 개념 이해를 위한 용어 정리4GLFour Generation Language, 제 4세대 프로그래밍 언어들을 말함. 코드를 직접 쓰기보다는 개발툴과 상호작용하는 방식으로 개발한다.ex) 비주얼 베이직, 비주얼 C++, 파워빌더, 델파이 등ERP전사적 자원관리(Enterprise Resource Planning)의 약칭으로, 재무, 제조, 소매유통, 공급망, 인사관리, 운영 전반의 비지니스 프로세스를 자동화하고 관리하는 시스템. 부서간에 데이터 장벽을 해소하고, 정보를 통합하므로 비지니스 책임자 이를 통해 인사이트를 확보하여 운영을 최적화하고 더 나은 의사결정을 내릴 수 있다.=요약하면 경영 효율화 도구DW(DataWindow)Validation 및 다양한 Expression을 포함하고 있는 Ob..
[PowerBuilder] Retrieve argument 1 does not match expected type 파워빌더와 Sql Server를 연동하여 작업하던 중 만난 에러이다.Retrieve Argument에서 타입을 잘못 지정해서 발생한다.나의 경우에는 인수 하나가 String 타입이어야하는데 Number타임으로 잘못 입력되어있었다. String type으로 변경하니 잘 해결되었다.참고DataWindow의 데이터 소스 보는법Design > DataSource데이터 소스에서 Retrieve Argument 입력하는 법Desigin > Retrieval Argument
[WorkerService] 윈도우 서비스 등록하기 윈도우 서비스란? 시스템 부팅~종료시점까지 그 수명을 같이 하는 프로세스  프로젝트 구조  누겟 패키지 설치 프로그램 작성 Program.csusing Microsoft.Extensions.Logging.Configuration;using Microsoft.Extensions.Logging.EventLog;using App.JokeService;HostApplicationBuilder builder = Host.CreateApplicationBuilder(args);var services = builder.Services;// 중요. 없으면 윈도우 서비스로 등록할 수 없음services.AddWindowsService();// 로그 설정하는건가봄LoggerProviderOptions.RegisterPro..
[Blazor Assembly] Java Script 적용 1. 자바스크립트 파일 작성 // wwwroot/scripts/cctv.jswindow.test = () => { console.log("test function is running!" );}//변수가 있는 경우//window.test = (name) => {// console.log("your name is: " + name);//} 2. js 파일 적용// wwwroot/index.html 파일 An unhandled error has occurred. Reload 🗙 //js 파일 추가 참고기존 Blazor ..
[ASP.NET Core Web API] PUT기능 구현 1. 개념 정리 POST값을 할당한 컬럼은 업데이트하고, 할당하지 않은 컬럼은 NULL로 변경. 만약 할당하지 않은 컬럼이 NULL값을 허용하지 않는다면 에러 발생  PUT값을 할당한 컬럼만 업데이트하고, 값을 할당하지 않은 컬럼은 기존의 값을 유지하는 것. 할당하지 않은 컬럼이 NULL값을 허용하지 않아도, 기존 컬럼에 값이 들어있으므로 에러 발생 안함  2. SQL Server UPDATE 쿼리 UPDATE [BugsFarmDev].[dbo].[Camera]SET [CameraName] = ISNULL(@CameraName, [CameraName]) ,[RtspAddress] = ISNULL(@RtspAddress, [RtspAddress]) ,[HttpUrl] = ISNULL(@Htt..
[WorkerService] Quartz 사용하기 1. nuget package 설치 Quartz Quartz.Extensions.Hosting 2. Test Job 생성  // TestJob.csusing Quartz;namespace Test.WorkerService;public class TestJob : IJob{ public async Task Execute(IJobExecutionContext context) { Console.WriteLine("Welcome to .net 8.0"); }} 3. 잡, 트리거 등록 // Program.csusing Test.WorkerService;using Quartz;var builder = Host.CreateDefaultBuilder() .ConfigureService..