본문 바로가기

Delphi Tip/파일25

델파이 파일복사 방법 델파이 파일복사 방법 unit Unit1; interface uses Windows, Messages, SysUti= False; end; end; // 파일의 존재여부 검사 function CheckSrcF(st: string): boolean; begin Resr(tgtfname); inf.fFlags := 0 or FOF_MULTIDESTFILES; if SHFileOperation(inf) = 0 tte(srcfname, fmOpenRead); try t := TFileStream.Create(tgtfname,fmOpenWrite or fmCreate ); try t.CopyFrom(s, s.Size); finally t.Free; end; finally s.Free; end; end; // Bl.. 2021. 10. 1.
파일크기 구하기 파일크기 구하기 // 파일크기 반환. 파일이 없으면 -1 function GetFileSize(FilePath: String): Int64; var SR: TSearchRec; begin if FindFirst(FilePath, faAnyFile, SR)=0 then Result:=Int64(SR.FindData.nFileSizeHigh) shl Int64(32)+Int64(SR.FindData.nFileSizeLow) else Result:=-1; FindClose(SR); end; 2021. 9. 30.
ini 파일 읽기/생성 ini 파일 읽기/생성 procedure TForm1.FormCreate(Sender: TObject); var ini: TIniFile; tmp, iniFileName: String; begin iniFileName := 'c:\test.ini'; ini := TIniFile.Create(iniFileName); if FileExists(iniFileName) then begin tmp := ini.ReadString('Section', 'value01', '0'); ShowMessage(tmp); end else begin ini.WriteString('Section', 'value01', '1'); end; ini.Free; end; 2021. 9. 29.
UTF-8 인코딩 파일 읽기 UTF-8 인코딩 파일 읽기 Delphi 2009 기준. (String이 기본적으로 WideString) uses SysUtils 필요. function ReadUTF8File(Path: String): String; var fStream: TFileStream; Buffer: TBytes; begin Result:=''; if not FileExists(Path) then Exit; fStream:=TFileStream.Create(Path, fmOpenRead); try SetLength(Buffer, fStream.Size); fStream.ReadBuffer(Pointer(Buffer)^, Length(Buffer)); Result:=TEncoding.UTF8.GetString(Buffer, 0,.. 2021. 9. 28.
텍스트 파일읽기 비교 텍스트 파일읽기 비교 목적 : 파일을 읽어들여 라인별로 StringList 에 저장하는 것 1. FileStream : 빠르다. 라인수도 줄일 수 있다. (사실 Readln 빼고는 거의 동일한 수준) procedure Test_FileStream; var FileStream: TFileStream; sList: TStringList; begin sList:=TStringList.Create; FileStream:=TFileStream.Create(FILE_NAME, fmShareDenyNone); try sList.LoadFromStream(FileStream); finally FreeAndNil(FileStream); FreeAndNil(sList); end; end; 2. Readln : 두배 이상 .. 2021. 9. 27.