본문으로 바로가기

라자루스

해당되는 글 11
생활 속에서 컴퓨터·모바일 기기를 편리하게 사용하는 방법과 IT 소식을 소개합니다.
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 내문서 폴더 위치 구하는 방법

    오픈 소스 윈도우 프로그램 통합개발환경 라자루스에서 내 문서 폴더 위치를 구하는 방법입니다. 라자루스는 델파이 개발환경을 리눅스용으로도 만들자 해서 시작된 프로젝트라서 아마도 최근 버전의 델파이에서도 같은 방법으로 구할 수 있지 않을까 생각됩니다. How to get the "My documents" folder location in lazarus 예제를 위한 폼 디자인은 간단합니다. Button1은 내문서 폴더 위치를 구해서 labDocuments에 출력합니다. 전체 소스는 아래와 같습니다. unit Unit1; {$mode objfpc}{$H+} interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls; type { ..
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 사용자 AppData 폴더 위치 구하기

    프로그램을 윈도우 프로그램 폴더에 저장했다면, 권한 문제 대문에 그 위치에 파일을 생성하지 못합니다. 이런 경우 AppData 폴더를 이용합니다. AppData 폴더 위치는 ShGetSpecialFolderPath() 함수에 CSIDL_LOCAL_APPDATA를 인수로 호출하여 구할 수 있습니다. ShGetSpecialFolderPath() 함수를 사용하려면 uses절에 shlobj를 추가해야 합니다. How to get the appdata folder location in Lazarus 라자루스에서 AppData 폴더 위치를 구하는 예제입니다. Button1을 클릭하면 labAppData에 AppData 폴더 위치를 표시합니다. unit Unit1; {$mode objfpc}{$H+} interfac..
  • thumbnail
    컴퓨터/프로그래밍 (4)

    나도 프로그래머 크로미움 웹브라우저 만들기

    Lazarus와 CEF4Delphi 프리 파스칼로 윈도우 프로그램을 만들 수 있는 Lazarus 통합 개발 환경 프로그램에 CEF4Delphi 컴포넌트를 설치하면 크로미움 브라우저를 만들 수 있습니다. CEF4Delphi 컴포넌트의 이름에서 알 수 있듯이 Delphi에서도 사용이 가능한데요, Delphi7에는 설치하지 못했습니다. 지원하는 변수 타입 때문인데요, Delphi7 상위 버전이어야 가능한 것 같습니다. Lazarus로 크로미움을 만드는 방법을 알아보겠습니다. Lazarus에 대한 상세한 내용은 여기 링크를 참고하세요. 라자루스(lazarus) 설치 ▲ Lazarus 홈페이지에서 [Download Now] 버튼을 클릭합니다. 페이지가 바뀌면서 잠시 기다리면 컴퓨터 환경에 알맞은 설치 파일을 다운..
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 조건 컴파일 방법(Lazarus Conditional compilation)

    Lazarus Conditional compilation 라자루스에서 디버깅을 위해 DebugSever 툴로 문자열 메시지를 전송해서 출력하는 방법을 소개했는데요, 프로젝트 옵션에서 디버거 옵션을 꺼도 DebugServer로 메시지를 전송하는 SendDebug 함수는 계속 남아서 DebugServer로 전송합니다. SendDebug 함수를 겨우 몇 개 사용했다면 제거하겠지만, 여기저기 많이 사용했다면 삭제하기 어렵죠. uses dbugintf; procedure TForm1.btnCloseClick(Sender: TObject); begin SendDebug( '종료 버튼을 클릭했습니다.'); Close; end; procedure TForm1.btnCopyWindowClick(Sender: TObjec..
  • thumbnail
    컴퓨터/프로그래밍

    나도 프로그래머 라자러스 이벤트란?

    윈도우 프로그램의 이벤트 이해 오픈 소스 통합 개발 환경 라자루스의 3 번째 글입니다. 이번에는 라자루스 프로그램의 중요한 개념 중에 하나인 이벤트에 대해서 알아 보겠습니다. 이벤트는 매우 중요하지만, 내용은 쉽습니다. 이벤트 뜻 그대로 사건입니다. 이전 글의 예제를 이해하셨다면 이미 이벤트에 대해 알고 계십니다. 다만, 이벤트 단어를 사용하지 않았을 뿐입니다. ▲ 이전 글에서 만든 예제입니다. 1초마다 타이머가 발생하면 현재 시간을 Label3에 입력하도록 했습니다. 또한, Button1을 마우스로 클릭하면 프로그램이 종료됩니다. 여기서 1초마다 발생하는 타이머와 마우스 버튼을 눌러서 발생하는 클릭을 이벤트라고 합니다. 폼 위에 올려 놓은 Label, Edit, Button, Timer를 컴포넌트라고 ..
  • thumbnail
    컴퓨터/프로그래밍 (2)

    윈도우 프로그램 만들기 라자루스 컴포넌트 속성이란?

    Lazarus IDE component property 필요한 프로그램을 직접 만들고 싶다면 통합 개발 환경 라자루스를 추천하니다. 이전 글에서 라자루스를 소개하면서 간단한 프로그램을 작성했는데요, 자리를 잠시 비울 때 찾는 분을 위해 메시지를 남겨 놓는 프로그램이었죠. ▲ 제대로 작동은 되지만, 뭔가 어색하죠? 처음 보는 분이라면 뭐가 뭔지 이해가 안 될 것입니다. 기능에 따라서 적당한 문장을 넣어 준다면 좀 더 쉬운 프로그램이 되겠습니다. 예를 들어 Button1 보다는 "종료"라고 쓴다면 눌러보지 않아도 어떤 기능인지 알 수 있습니다. Edit1이 어떤 뜻인지 모르겠지만, 알게 되어도 글을 쓰려면 "Edit1" 글자를 지우고 써야 합니다. 이번 글에서는 라자루스에서 컴포넌트의 속성이라는 것을 이해하..
  • thumbnail
    컴퓨터/프로그래밍

    lazarus DebugServer EIPCError

    라자루스 디버그서버 실행 에러 통합개발환경 라자루스가 설치된 폴더 안에 tools 폴더에는 디버깅에 도움을 주는 DebugServer 프로그램이 있습니다. 그런데 실행하면 EIPCError이라는 에러가 발생하네요. Project FPC/Lazarus debug message server raised exception class 'EIPCError' with message: This operation is illegal when the server is active. At address 1001C5C92 ▲ FSrv.StartServer 행에서 에러가 발생합니다. 그렇다고 이 행을 삭제하면 디버그 서버 기능을 하지 못 합니다. 해결 방법은... ▲ FSrv.Active := True를 주석 처리하면 됩니다..
  • thumbnail
    컴퓨터/유틸리티 (2)

    라자루스 디버깅 툴 디버그서버 사용 방법

    Lazarus DebugServer 라자루스로 윈도우 프로그램을 작성할 때 아쉬운 점이 있습니다. 디버깅을 위한 문장을 라자루스의 Messages 윈도우에 출력할 수 있다면 좋겠는데 아직 방법을 찾지 못했습니다. 콘솔 프로그램이라면 가능한 것 같은데 윈도우 프로그램은 Messages 창으로 전송할 방법이 없네요. 대신에 라자루스가 설치된 폴더에 tools 폴더가 있는데, 이 안에 DebugServer라는 프로그램이 있습니다. 이 프로그램을 먼저 실행하고 디버깅을 위한 문자를 전송해서 확인할 수 있습니다. ▲ 라자루스로 lazarus/tools/debugserver 안에 있는 debugserver.lpi 프로젝트 파일을 열기 합니다. ▲ 만일 DebugServer를 컴파일해서 실행했을 때 시작하자마자 "d..
  • thumbnail
    컴퓨터/프로그래밍

    나도 프로그래머 라자루스 통합 개발 환경

    오픈소스 통합개발환경(IDE) 라자루스 윈도우 프로그램을 직접 만들고 싶은 분께 오픈 소스 통합 개발 환경(IDE) 라자루스를 권합니다. 프로그래밍은 전문 지식이 필요해서 매우 어렵게 생각되는데요, 라자루스는 프로그램을 쉽게 만들 수 있는 편리한 기능을 제공해서 프로그래밍의 문턱을 낮추어 줍니다. 라자루스에 대한 자세한 얘기는 밑으로 내리고 과연 라자루스로 어떻게 프로그램을 작성하는지 보겠습니다. 라자루스의 첫 번째 프로그램으로 자리를 잠시 비울 때 나를 찾는 분에게 안내 문장을 보여 주는 작은 윈도우 프로그램을 만들어 보겠습니다. 화면 가운데에 메시지를 입력할 수 있는 입력창을 넣고 그 아래에 종료 버튼을 놓겠습니다. 참고로 이 정도의 프로그램이라면 라자루스 설치에서 만들기까지 10여 분도 채 안 걸릴..
  • thumbnail
    컴퓨터/프로그래밍

    라자루스 Ansi to UTF8, UTF8 to Ansi 변환

    윈도우 프로그램을 작성하다 보면 한글 처리가 걸리는 경우가 있습니다. 자주 경험하는데요, 프로그램을 다 짰다 싶은데 생각지도 않은 한글에서 에러가 발생합니다. 그래서 문자열을 처리할 때는 항상 한글을 넣어 검증합니다. 라자루스에서 Ansi to UTF8 또는 UTF8 to Ansi 변환 방법은 아래와 같습니다. 라자루스 UTF8 to Ansi uses lazutf8; strAnsi := lazutf8.UTF8ToWinCP( strUtf8); uses절에 lazutf8 유닛 추가를 잊지 마세요. 라자루스 Ansi to UTF8 uses lazutf8; SetCodePage(RawByteString( strAnsi), 949, FALSE); strUtf8 := AnsiToUtf8( strAnsi); UTF8..
  • thumbnail
    컴퓨터/프로그래밍 (2)

    라자루스, 리눅스용 델파이 계속 업그레이드되었으면

    라자루스, 리눅스용 델파이 계속 업그레이드 되었으면 마이크로소프트 윈도우에 델파이 개발 툴이 있다면 리눅스에는 라자루스라는 개발툴이 있습니다. 라라러스는 볼랜드에서 리눅스용 델파일을 내놓지 않자, 없다면 만든다라는 지극히 엔지니어적인 생각으로 시작된 프로젝트로 알고 있습니다. 이후에 볼랜드사에서도 카일릭스라는 리눅스용 RAPID 툴을 내놓는다고 해서 학수 고대했지만, 매우 슬프게도 카일릭스는 개발자에게 외면 당했습니다. 저 개인적으로도 얼마나 실망했던지 모릅니다. 물론 지금도 카일릭스를 사용하는 분이 있겠지만, 오히려 저는 라자루스에 더욱 기대하고 있습니다. 그래서 가끔 확인하는데, 라자루스, 정말 대단한 프로젝트입니다. 언제부터 프로젝트가 시작되었는지 모르지만, 10년 가까이 되지 않았나 싶습니다. 오..
    최근글 thumbnail 윈도우10 네트워크 공유 폴더 접속이 안 될 때 thumbnail 접이식 샤오미 전기 모기채 추천 (2) thumbnail 충전식 온수 찜질기 전기 핫팩 사용후기 (1) thumbnail 카카오톡 받은 선물 다시 선물하기 thumbnail 윈도우11 기본앱 삭제 프로그램 레보 언인스톨러 (3) thumbnail 보온병 겸용 여행용 전기포트 사용후기 thumbnail C언어 시리얼 통신 브레이크(break) 신호 전송 방법 (2) thumbnail 윈도우11 키보드 반응속도 빠르게
    대단하지요? ^^ 💬바다야크 샤오미는 뭐 다만드네요ㅋ 💬인생은꿀맛 기억해 주셔서 고맙습니다.⋯ 💬바다야크 감사합니다. 너무나도 감사합⋯ 💬U@PIA [승인대기] 💬짱구노리