본문 바로가기

Delphi127

델파이 프로시저와 함수 델파이 프로시저와 함수 https://youtu.be/gIbjirw-UUQ 독립적인 문장(프로그램 코드) 블록, 코드를 독립(분리)하고 재사용 가능 프로시저 procedure 프로시저이름(매개변수 목록); { 선언부 : 구현부에서 사용할 변수,상수,타입 지정 } begin { 구현부 } end; porcedure TForm1.WriteLog(AValue: string); var S: string; begin S := FormatDateTime('HH:NN:SS', Now) + ' ' + AValue; Memo1.Lines.Add(S); end; begin...end 사이의 구현부 실행, 매개변수로 받은 데이터 사용 가능 구현부에서 사용할 변수(var), 상수(const), 타입(type) 선언부에 선언 .. 2021. 7. 19.
델파이 기본함수 델파이 기본함수 procedure read(v1,v2,v3....); procedure readln(v1,v2,v3...); 값을 입력받은 후 다음 행으로 이동 procedure write(v1,v2,....); procedure writeln(v1,v2...); 값을 출력한 후 다음 행으로 이동 function chr(x):char; x(아스키 코드값)에 해당하는 문자로 변환 function ord(x):integer; x(문자)에 해당하는 순서. 즉 아스키코드값 리턴 function int(X: Extended): Extended; 실수값의 소숫점이하를 버리고 정수부분만 취한다. Int(32.45) ← 32.0 function trunc(X: Extended): Int64; 실수값의 소숫점이하를 버리.. 2021. 7. 15.
델파이 GetLastError() 함수 델파이 GetLastError() 함수 Windows 시스템 함수를 호출하는 과정에서 오류가 발생하면 NULL을 리턴하지만 그 원인은 파악할수 없다. 원인을 파악하기 위해서는 시스템 함수뒤에 GetLastError 함수를 호출하여 그 함수의 오류에 해당하는 에러 코드를 리턴(정상일시 0 리턴)받아서 이를 MSDN 에서 참조해야 한다. 하지만 여기서 더 나아가 에러 코드를 해석해 문자열로 만들어주는 함수를 사용한다면 MSDN 을 참조하는 번거로움을 덜 수 있다. ShowMessage(SysErrorMessage(GetLastError)); 2021. 7. 14.
델파이 문자열 관련 함수 델파이 문자열 관련 함수 AnsiCompareText SysUtils Unit 문법 function AnsiCompareStr(const S1,S2:string):Integer; 두 개의 문자열 S1과 S2를 비교하되 대소문자를 구분하지 않고 비교한다. S1과 S2문자열이 같으면 0을 리턴하며 S1이>면 음수의 값을 리턴하며 S1>S2이면 양수를 리턴한다. 문자열끼리의 비교는 문자열을 이루는 각 문자의 문자 코드를 비교하여 수행된다. AnsiLowerCase SysUtils Unit 문법 function AnsiLowerCase(const S: string): string; 문자열 내부의 대문자를 모두 소문자로 바꾼다. 영문자 이외의 글자는 영향을 받지 않는다. 문자 변환은 현재 설치된 언어 드라이버의 .. 2021. 7. 13.
델파이 Delphi FileExists 델파이 Delphi FileExists 파일 존재 여부 Result => True , False Contents 1 Description 2 VCL Code Snippet 3 FMX Code Snippet 4 Uses procedure TForm1.Button1Click(Sender: TObject); var FileName: string; begin Filename:= Edit1.Text; if SysUtils.FileExists(FileName) then begin if MessageDlg(('Do you really want to delete ' + ExtractFileName(FileName) + '?'), mtConfirmation, [mbYes, mbNo], 0, mbNo) = IDYes th.. 2021. 7. 11.
델파이 Delphi Fillchar 델파이 Delphi Fillchar 1. Fillchar(Buffer, Sizeof(Buffer), 0); 는 Buffer를 0으로 채우는 일을 합니다. 2. Sizeof(Buffer)는 버퍼의 크기를 구해서 리턴합니다. 3. Bytes := Comport2.Read(Buffer, Count); 는 COM2로 들어온 데이타를 Count만큼 Buffer에 읽어오라는 명령으로 생각됩니다. Byte에는 실제로 읽은 데이타 량이 리턴될 겁니다. 2021. 7. 9.
델파이 유용한 함수정리 7탄 델파이 유용한 함수정리 7탄 JPEG, String 사용하는 방법 MYJPEG JPEG C:\DownLoad\MY.JPG StringTable begin 1, "DPSC" 2, "Tips" 3, "Source Code" 4, "Interviews, reviews, and articles" end ARJ EXEFILE C:\UTILS\ARJ.EXE WAVEFILE WAVE c:\WaveSound.wav MAINICON ICON "MainIcon.ico" uses Jpeg; procedure LoadJPEGFromRes(TheJPEG : string; ThePicture : TPicture); var ResHandle : THandle; MemHandle : THandle; MemStream : TMemor.. 2021. 7. 8.
델파이 유용한 함수정리 6탄 델파이 유용한 함수정리 6탄 외부 프로그램 위치 이동하기 procedure TFrm_wiseFNUpdateMain.Fnwindowpos; var WinPlac: TWindowPlacement; iRight, iBottom: Integer; begin H:= FindWindow('TfrmValuewise',nil); if (H > 0) and IsWindowVisible(H) then begin FillChar(WinPlac, SizeOf(WinPlac), 0); WinPlac.length := SizeOf(WinPlac); GetWindowPlacement(H, @WinPlac); // 윈도우즈가 표준상태일때의 좌표를 구한다 iRight := WinPlac.rcNormalPosition.Right - W.. 2021. 7. 7.
델파이 유용한 함수정리 5탄 델파이 유용한 함수정리 5탄 전체경로 폴더생성 function ForceDirectories(Dir: string): Boolean; or procedure pCreateDir(sPath: string); var s: string; sList: TStrings; i: Integer; begin s:= sPath; if DirectoryExists(s) then Exit; sList:= TStringList.Create; try while pos('\',s) > 0 do begin sList.Add(Copy(s,1,Pos('\',s))); Delete(s,1,Pos('\',s)); end; if Length(s) > 0 then sList.Add(s); s:= ''; for i:= 0 to sList.Co.. 2021. 7. 6.
델파이 유용한 함수정리 3탄 델파이 유용한 함수정리 3탄 초를 시분초로 분할 function ssTohhnnss(value: double): string; var r, r1,r2: double; begin r:= Value; r1:= Trunc(r / 60); //분 r2:= Trunc(r1 / 60); //시 r:= r - (r1 * 60); r1:= r1 - (r2 * 60); result:= FloatToStr(r2) + '시 ' + FloatToStr(r1) + '분 ' + FloatToStr(r) + '초'; end; 초값으로 정지하기 TTime없이 선언부 procedure Sleep(SleepSecs : Integer); 코딩부 procedure TForm1.Sleep(SleepSecs : Integer); var Sta.. 2021. 7. 2.
델파이 문자열을 거꾸로 변환하는 함수 델파이 문자열을 거꾸로 변환하는 함수 ReverseString(Str:String) Delphi 7 이후 버전에만 가능 System.StrUtils.ReverseString 상위까지 : System.StrUtils 델파이 function ReverseString ( const AText : string ) : string ; / * 오버로드 * / ; 속성 유형 시계 출처 단위 부모의 함수 공공의 System.StrUtils.pas System.StrUtils.hpp System.StrUtils System.StrUtils 기술 지정된 문자열의 반대를 반환합니다. ReverseString 은 AText에서 지정한 문자열을 역순으로 반환합니다. 2021. 7. 1.
델파이 BitBlt 함수 설명 델파이 BitBlt 함수 설명 일단 폼에 메모를 하나 붙이시구요... 버튼도 하나 붙이세요... 글구... 버튼의 OnClick 이벤트에다가 아래와 같이 코딩하시구요... procedure TForm1.Button1Click(Sender: TObject); var FBitmap: TBitmap; FDC: hDC; begin FDC := GetDC(Memo1.Handle); FBitmap := TBitmap.Create; FBitmap.LoadFromFile('C:\aaa.bmp'); BitBlt ( FDC, 0, 0, Width, Height, FBitmap.Canvas.Handle, 0, 0, SRCAND ); ReleaseDC(Handle, FDC); FBitmap.Free; end; 2021. 6. 30.
델파이 ord chr 함수 델파이 ord chr 함수 mpassword := mpassword + chr(ord(copy(vpassword,i,1))+1); --> Copy(..)함수는 String형을 되돌려줍니다. 그런데 Ord(..) 함수는 Ordinal 형을 요구합니다. 그러므로 당연히 에러가 나겠죠. Ordinal 형은 0-255 까지의 서수값을 나타냅니다. 보통 1Byte 짜리 Char형을 인자로 받아들입니다. 아래와 같이 적용하셔야 합니다. 문자열도 넓게보면 문자의 배열이므로 아래와 같이 그 위치의 문자값을 받아 Ord(..)함수로 BYTE형의 값으로 바꿔 님께서 하실려는것처럼 +1을 하셔서 Chr(..) 함수로 다시 문자로 바꾼것입니다. mpassword := mpassword + chr(ord(vpassword[i].. 2021. 6. 29.
델파이 날짜 시간 유틸 함수모음 델파이 날짜 시간 유틸 함수모음 uses DateUtils 델파이에 날짜함수를 모아둔 DateUtils.pas 가 있습니다. 머... 다들 알고있겠지만...^^ DateUtils.pas의 내용이 정리된게 없는거 같아서 나름 정리해서 올립니다. 있는지 몰라서 만들어 쓰던 함수들이 ... 여기 몇몇 보이더군요. 왠만한 날짜 처리는 다 될것 같고... 담에 또- 다른 SysUtils.pas를 정리해서 올리겠습니다. ^^ //일자를 추출한다. function DateOf(const AValue: TDateTime): TDateTime; //시간을 추출한다. function TimeOf(const AValue: TDateTime): TDateTime; //평년,윤년을 구분하다. function IsInLeapYe.. 2021. 6. 28.
델파이 유용한 함수정리 3탄 델파이 유용한 함수정리 3탄 -내장함수- 정수및 실수 관련 함수 시작 Int(Float) 설명 실수값에서 소수부분을 버리고(반올림안함) 정수부분만 구한후 출력한다. 출력값의 데이타형은 실수형이다. 사용 ShowMessage(FloatToStr(Int(3.13333))); // 3 출력 ​※ FloatToStr 대신 IntToStr를 사용하면 에러가 난다. 왜냐하면 원데이타가 실수값이기 때문이다, Trunc(Float) 설명 : 실수는 무조건 버리고 정수만 리턴하는 함수 Frac(Float) 설명 실수값에서 정수부분을 버리고 실수부분만 구한후 출력한다. 출력값의 데이타형은 실수형이다. 사용 ShowMessage(FloatToStr(Frac(3.13333))); // 0.13333 출력 byte(char) .. 2021. 6. 25.
델파이 showmodal 리턴받기 ShowModal로 띄운 폼에서 리턴값을 받을려면 Close()를 사용하지 않습니다. Close()대신 ModalResult에 mrOk, mrCancle, .... 을 넣어주면 바로 폼이 Close됩니다. 2021. 6. 24.
델파이 유용한 함수정리 2탄 델파이 유용한 함수정리 2탄 WinExec() 설명 원 하는 실행파일(외부명령어 파일,EXE 파일)을 실행시킨다. 원도우의 시작버튼>실행에 열기부분에 입력하여 확인버튼을 누른 효과와 같다. 첫번째 파라미터는 실행명 령 문자열이며 두번째 파라미터는 실행형태 타입값이다. ※ 첫번재 파라미터가 문자열값이 아닌 문자열 변수라면 사용시 PChar()로 감싸주어야 한다. procedure TForm1.Button1Click(Sender: TObject); var value:string; begin value:='c:\lee.exe'; WinExec(PChar(value), SW_NORMAL); end; 사용방법 -- 원하는 주소로 브라우저창 열기 winexec(`explorer http://www.daum.net`.. 2021. 6. 23.
델파이 유용한 함수정리 1탄 델파이 유용한 함수정리 Delphi useful functions Int(Float) 설명 실수값에서 소수부분을 버리고(반올림안함) 정수부분만 구한후 출력한다. 출력값의 데이타형은 실수형이다. 사용 ShowMessage(FloatToStr(Int(3.13333))); // 3 출력 ※ FloatToStr 대신 IntToStr를 사용하면 에러가 난다. 왜냐하면 원데이타가 실수값이기때문이다, Trunc(Float) 설명 : 실수는 무조건 버리고 정수만 리턴하는 함수 Frac(Float) 설명 실수값에서 정수부분을 버리고 실수부분만 구한후 출력한다. 출력값의 데이타형은 실수형이다. 사용 ShowMessage(FloatToStr(Frac(3.13333))); // 0.13333 출력 byte(char) 설명 특.. 2021. 6. 23.
델파이 함수 RoundTo 델파이 함수 RoundTo uses Math 추가 원하는 자리수에서 반올림을 하는 함수 입니다 RoundTo(1234567, 3) 하게 되면 1234000 가 나오고 RoundTo(1.234, -2) 하게 되면 결과는 1.23 RoundTo(1.235, -2) 2021. 6. 22.
델파이 자주사용되는 함수/프로시저 델파이 자주사용되는 함수/프로시저 2021. 6. 21.