본문 바로가기

Delphi Tip/파일28

파일 경로/이름/확장자 등 알아내기 파일 경로,이름,확장자 등 알아내기 Example code : Extract all of the parts of a full file name 코드 var fullFileName : string; begin // Set up a full file name with drive and path fullFileName := `C:\Program Files\Borland\Delphi7\Projects\Unit1.dcu`; // Show the component parts of this full name ShowMessage(`Drive = `+ExtractFileDrive (fullFileName)); ShowMessage(`Dir = `+ExtractFileDir (fullFileName)); ShowMess.. 2021. 10. 7.
Unix파일 (.sam) 델파이에서 읽기 방법 Unix파일 (.sam) 델파이에서 읽기 방법 procedure ReadUnixLn(var fd: TextFile; var s: string); var i,a: integer; c: char; begin i := 0; a := 0; while ( not Eof(fd) ) do begin Read(fd,c); if ( c=Chr(10) ) then exit; SetLength(s,i+1); s[i] := c; Inc(i); inc(a); end; end; procedure TfrmSisdMain.Button2Click(Sender: TObject); var fd: TextFile; s: string; begin try AssignFile(fd,'C:\Root\post_real\IN\20140219.IAQ0.. 2021. 10. 6.
텍스트 파일읽기 비교 텍스트 파일읽기 비교 목적 : 파일을 읽어들여 라인별로 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. 10. 5.
델파이 파일복사 방법 델파이 파일복사 방법 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.