2021년 10월 18일 월요일

델파이 소스를 간명하게 하기위한 방법중 하나

델파이 소스를 간명하게 하기위한 방법중 하나입니다.

필드영역에 보면 디자인 이후에 사용되지 않는 컨트롤이 잡다하게 있어 보기 싫을 경우가 있으면 해당 필드를 소스에서만 삭제하면 간명해집니다.  또다른 방법은 해당 콘트롤의 이름 속성을 오브젝트인스펙터에서 지워서 빈칸으로 하면 됩니다.

대신 삭제된 클라스를 ResisterClass()  로 등록해주면 됩니다.

아래 예제 그림 참조!





2021년 9월 17일 금요일

델파이 이전버전의 폼을 불러와 실행하면 스크린에 확대되어 보이는 경우가 있다.

 델파이 이전버전의 폼을 불러와 실행하면 스크린에 확대되어 보이는 경우가 있다.

아마도 아래와 같은 형태일 것이다.

 SnapBuffer = 5

  OnClose = FormClose

  OnCreate = FormCreate

  PixelsPerInch = 192

  DesignSize = (

    2733

    1783)

  TextHeight = 54


에서 처럼 PixelsPerInch = 192 로 되어 있다. 이것을 96으로 바꾸어 주자.

그렇기 위해서는 .DFM 파일을 텍스트로 변환하여야 한다.

델파이에서는 View as Text 가 안된다.

2021년 9월 13일 월요일

Delphi 11에서 RXLIB 2.7.5 사용하기

 Non offcial

다운로드 받은다음

rx.inc 파일 중간을

{$IFDEF VER350} { Embarcadero Delphi 11  }   // 
  {$DEFINE RX_D3}
  {$DEFINE RX_D4}
  {$DEFINE RX_D5}
  {$DEFINE RX_D6}
  {$DEFINE RX_D7}
  {$DEFINE RX_D9}
  {$DEFINE RX_D10}
  {$DEFINE RX_D11}
  {$DEFINE RX_D12}
  {$DEFINE RX_D14}
  {$DEFINE RX_D15}
  {$DEFINE RX_D16}
  {$DEFINE RX_D17}
  {$DEFINE RX_D18}
  {$DEFINE RX_D19}
  {$DEFINE RX_D20}
  {$DEFINE RX_D21}
  {$DEFINE RX_D22}
  {$DEFINE RX_D23}
  {$DEFINE RX_D24}
  {$DEFINE RX_D25}
  {$DEFINE RX_D26}
  {$DEFINE RX_D27} //Sydney specific
  {$DEFINE RX_D28} //Alexandria
{$ENDIF}

로 고치면 됩니다.


2021년 8월 7일 토요일

GarageBand 에 Komplete 사의 Kontrol M32를 연결하는 방법

 작곡과 반주를 공부하기위해 마스터키보드를 하나 구입했는데 막상 USB를 통하여 붙여보니 기본기능 밖에 하지 못해서 각종 스위치와 로브를 잘사용해보기위해 관련 설정을 해봅니다.

우선 Komplete 사에 접속하여 사용자등록을 합니다.

그림1

(1) 로그인하고,
그림2

 (2) Support 선택

그림3


(1) 다운로드를 선택

그림4


자신의 컴퓨터 종류에 맞게 (1) 또는 (2)를 다운받아 설치하고 실행(Native Access)합니다.

그림5
(1) 로그인하고, (2) 제품에 들어있는 Serial Number를 이용하여 등록하고 (3) Not installed를 선택합니다.

마스터키보드를 USB로 연결하고
그림6

(1) Komplete Kontrol을 설치합니다. 설치과정에서 마스터키보드가 꺼졌다 켜지면서 각종 디스플레이가 정상으로 표시됩니다.

그림7

GarageBand를
실행하고, (1) 소프트웨어 악기, (2) 생성을 선택합니다. 마스터 키보드 건반을 두드리면 소리를 들을 수 있습니다.  작곡또는 연주반주를 녹음하기위하여 마스터키보드의 왼쪽에 있는 12버튼중 Rec 버튼을 눌러봅니다. 아쉽게도 작동을 하지 않습니다. 
할 수 없이 마우스로 트랙에 이동하여, 트랙에서 오른쪽 크릭하고 미디영역을 생성하고 빨간 Rec 동그라미를 크릭해야겠지요.
그림8

(1) 트랙보기 버튼을 선택하고, (2) 플러그인을 선택하여

그림9


방금전에 설치한 Komplete Kontrol을 선택합니다. 그러면 아래와 같은 화면이 올라옵니다.
적당히 읽어 주시고...
그림10

그러면 마스터키보드의 오른쪽 위에 Plug-in MIDI 불이 들어옵니다.
그러나 아직도 연동이 안되네요. 더군다나 키보드를 눌러봐도 소리가 안나옵니다.

그림6의 (2)번을 선택하여 Mesine 2 Essential 을 설치합니다.
그러면 이러한 화면이 나오니 연결을 선택합니다.

그림11

이제 Metro나, Rec, Loop등의 버튼이 정상동작합니다.
그런데 건반을 눌러도 소리가 안나오네요...
새로운 트랙을 하나 추가해서 개러지밴드의 악기를 추가하거나,



그림9에서 프러그인을 다시 애플의 AUMIDISynsth로 지정해 줍니다.

개러지밴드를 종료하고 다시실행하면 그림11의 화면이 올라옵니다. (1) 연결을 선택하고 개러지밴드의 악기를 추가하면 프로그인 설정을 하지 않아도 됩니다.

첫번째 로브(볼륨)은 첫번째 트랙에 활당됩니다.
2번째 로브는 두번째 악기에 할당됩니다.
많은 도움이 되셨기를 바랍니다.






2021년 8월 5일 목요일

LibreCAD 무료 2D CAD 맛보기 - 1

   도학(제도?)에 쓸만한 가볍고 무료인 2D 캐드가 없나 찾던중 LibreCAD 라는 것을 찾아서 설치하여 도면을 그려보려 했더니 상당히 적응이 안되더군요. 너튜브에 자료가 있으나 별로도움이 안되고, 기본적인것 몇가지만 익히면 금방적응이 될것이라는 생각에 LibreCAD를 처음접하시는 분들에게 도움을 드리고자 배우면서 익힌것을 정리해 보렵니다.

윈도우, 맥, 리눅스에서도 된다고합니다. 저는 윈도우와 맥에 설치해서 이 강좌를 진행할까 합니다.

LibreCAD 를 통해 소스포지나 깃허브를 통해 다운받아 설치합니다. 


설치하고 처음나타나는 화면입니다.

그림1

리브레는 독과 툴바가 있는데 독을 상하좌우 플로팅위치의 것을 (1)에서 조절할 수 있습니다.  처음 이것을 못찾아서 프로그램을 헤멤, 나머지 툴바는 한번씩 눌러보면 그 의미를 쉽게 알 수 있습니다. 

선택된 툴바의 1개의 파라메터를 입력할 필요가 있을 때는 (2)에서 입력하면 됩니다. 파라메터가 2개 이상일 경우에는 Command: (오른쪽 하단에 있슴)에서 입력합니다.

나중에 툴바별로 적용하여 시험해 보겠습니다. 

(1)에서 왼쪽아이콘 을 크릭하면됩니다.  그림2와 같이 (1)번 독이 보이네요. 툴바를 풀어놓은 것입니다. 나중에 숙달되면 보이지 않게 해도 되겠지요. (별도 지정이 없으면 그림2를 기준으로 합니다)

그리고 Command Line 캡션바(화면 오른쪽 중간)를 드래그앤드롭하여 아래그림처럼 화면 아래쪽에 위치시키고 크기를 조절합니다.

하나의 화면에 본블러그 편집화면을 같이 쓰기위해 (5)독위치에서 오른쪽 독을 보이지않게 하였습니다.

그림2

(2)번은 스냅(자석=마우스로 위치지정할때)을 어떤기준으로 할 것 인가하는 것을 지정하는 것이고요, 

(3)번은 기준점을 [0, 0]으로 하거나, 현재의 위치를 기준점으로 바꾸어주는 것입니다.

(4)번은 줌기능인데 마우스 스크롤업다운으로 대신할수 있습니다. (4)번 문자 위의 버튼은  자동줌입니다.

그럼 큰 사각형 안에 모서리가 잘린 사각형을 그려보는 것으로 마무리를 해보겠습니다.

(5)에서 오른쪽 독이 보이게하고,  그림3의 Layer List에서 (1) +를 선택하여 레이어를 추가합니다.

그림3

그림3의 (2) 레이어 이름과 (3)선의 굵기를 선택한다음 (4)확인하여 레이어 추가를 완료합니다. 

그림 (2)에서 스냅온엔티티(Snap on entity)아이콘을 선택하고,  

(1)에서 사각형을 선택합니다.

(6) Specify first coner 에 0, 0 리턴합니다. 커서가 [0, 0]으로 옮겨갔네요.

계속하여 5000, 5000을 입력합니다.  (4) AutoZoom을 선택합니다.

이제 안쪽에 모서리가 잘린 사각형을 그려보겠습니다.

(1)에서 2 Points Line을 선택하고 Command 창에서 [1000, 4000], [4000, 4000]을 두번에 걸쳐서 입력합니다.
(1)에서 Vertical Line을 선택하고,  Length = -3000(화면 상단중앙 툴바에 있슴)을 입력하고, 화면상의 직선라인 오른쪽(+ 표시된곳)을 크릭합니다.
(1)에서 Horizontal Line을 선택하고, Length = -2000을 입력하고, 빨간(+)를 크릭합니다.
(1)에서 2 Points Line을 선택하고,  (2)에서 Restrict Vertical아이콘을 선택한다음, 빨간(+)를 크릭하고 마우스를 위쪽으로 드래그하여 적당한위치( 오토줌을 하였으면 위쪽 그리드)에서 크릭하면 수직선이 그려집니다.
(1)에서 2 Points Line을 선택하고, (2)에서 Restrict Horizontal아이콘을 선택한다음 빨간(+)를 크릭하고 왼쪽으로 드래그하여 크틱하면  수평선이 그려집니다.
(1)에서 2 Points Line을 선택하고, 빨간(+)를 크릭하고 마우스를 위쪽으로 드래그하고 크릭하면 수직선이 그려집니다.

이 예제만 익힌다면 다른 툴들은 같은 방법으로 사용할 수 있습니다. 


! 그런데 이도면은 .dxf와 .svc 로 저장이되고, Autocad에서 읽으니 못읽어 들이는 부분이 있네요... 









2021년 7월 28일 수요일

MAC 에서는 sketch, Windows에서는 Lunacy

 MAC 에서는 sketch  Windoes에서는 Lunacy를 사용하는것을 권장합니다.

Lunacy의 사용방법은 sketch와 거의 유사하더군요.

다만, 한글 폰트 사용이 잘 안된 다는 것입니다.

한글폰트를 지정했으나 실제 적용은 되지 않더군요.

이런방법으로 해결하였습니다.

윈도우10 최신버전에서 [제어판 > 국가 또는 지역 > 관리자 옵션 > 시스템 로갤변경 >지역설정] 에서 [현재 시스템 로갤은 그대로 두고, Beta:세계 언어 지원을 위해 Unicode UTF-8 사용을 체크]하여 주시고, 컴퓨터를 재부팅하면 상당한 시간(1분정도..)이 경과된후에 정상부팅이 됩니다. 이후에는 사용이 가능합니다. 



#Lunacy #Font #UTF-8 #Windows #Sketch

2021년 7월 24일 토요일

Mac Xcode에서 Python 3.9 사용하기

 일단은 Python 사이트에가서 dmg 파일을 다운받아 설치합니다.

m1 프로세서일경우에는 아래에 있는 파일이겠죠.
터미널을 열어 파이썬의 위치를 확인합니다.
파이썬3의 위치로 이동합니다.  [cd /usr/local/bin]
파인더를 엽니다. [open . ]
파인더에서 살펴보면 python3.9 가 있는데 Xcode에서 선택이 안되니...
링크(바로가기x)를 만듭니다. [ln python3.9 python39]

파인더를 닫지말고 열어둔 상태로 Xcode를 실행하고 
External Build System 프로젝트를 생성합니다.

프로젝트를 저장하고 위치를 기억합니다.
새로운 empty 파일을 하나 만들고 확장자를 .py로 합니다.
Xcode 메뉴 [Product > Scheme > EditScheme]을 실행하고 [Command + Shift + ,(<)]
Info Tab에서 Run(Debug) 항목의 Executable이 None으로 되어 있는 것을 영상과  바꾸어 줍니다.
[Executable > None > Other] 하고 방금전에 열어둔 파인더의 python39 파일을 열린창의 상단 Choose an executable to launch으로 드래그&드롭합니다.
python39 파일을 선택할 수 있게 됩니다. 선택합니다.
Debug executable은 선택제외하고, 
Option, Arguments Tab에서 영상과 같이 지정합니다.


콘솔창에서 확인합니다.


 


맥에서 스케치업 사용시 3D Text 안될때...

 맥에서 스케치업 사용시 3D Text 안되어서 원인을 알아본결과

맥 재 OS설치시 포맷할때 "APFS"로 되어있어야 하는데 "대소문자구분"로 하였더니 특정앱이 정상으로 작동하지 않았습니다.

스케치업의경우에 3D Text, instructor 등이 정상으로 작동되지 않았습니다.

mac sketchup instructor not showing

Text Tool not placing text






2021년 7월 23일 금요일

패러럴즈 네트워크 초기화 에러 대처법

Parallels 16: Network initialization failed.

Try this if you Parallels 16’s network not working on BigSur

1. sudo nano /Library/Preferences/Parallels/network.desktop.xml
2. find <UseKextless>1</UseKextless> (value can be -1), and change the value to the <UseKextless>0</UseKextless>
3. if you can’t to find this tag, then just create it under root tag <ParallelsNetworkConfig …>here</ParallelsNetworkConfig>

Result: you can start/restart Parallels without sudo – network will work.

주의할 것은 ~/Library 가 아니고 root   /Library 임에 주의!

이것을 알기전까지는 root로 로그인하여 실행하거나

sudo -b /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_client_app 으로 실행함.

https://policeman0077.wordpress.com/2021/01/10/parallels-16-network-initialization-failed 에서가져옴.

2021년 7월 22일 목요일

swift vs delphi: 01

Swift를 공부하면서 Delphi를 재정립하자.

Structure

//Swift
struct Resolution {
var width = 0;
var height = 0;
}
let hd = Resolution(width: 1920, height: 1080)
var someResolution = Resolution(width: 640, height: 480) 

//Delphi
type
  TResolution = record
    width: integer;
    height: integer;
  end;
const
  hd: TResolution = (width: 1920; height: 1080);
var
  someResolution: TResolution = (width: 640; height: 480);

//Swift
  1. @propertyWrapper
  2. struct TwelveOrLess {
  3. private var number = 0
  4. var wrappedValue: Int {
  5. get { return number }
  6. set { number = min(newValue, 12) }
  7. }
  8. }

  9. //Delphi
  10. type TResolution = record private number : integer; function getWappedValue: integer; procedure setWappedValue(const Value: integer); property wrapValue: integer read number write number; property wrappedValue: integer read getWappedValue write setWappedValue; end;

  11. function TResolution.getWappedValue: integer;
  12. begin
  13.   Result:= number;
  14.   // willSet
  15. end;
  16. procedure TResolution.setWappedValue(const Value: integer);
  17. begin
  18.   if Value > 0 then
  19.     number:= Value
  20. else Value := 0;
  21.   // didSet
  22. end;


델파이의 부활(Antigravity와의 만남)?

 델파이 프로그램을 사용하여 개인적으로 필요한 프로그램을 생성해 왔는데, 얼마전부터 파이썬으로 옮겨갔다.  그런데 Google 의 Antigravity를 만나고 나서 델파이에 대한 미련을 버리지 못해  제미나이가 Delphi이에 대한 학습도 엄청 했을...