코딩을 사용할 수있는 방법이 있습니까?Memo1.lines.savetofile ('textfile1.txt')없이 메모 행을 저장하려면 이미 texfile에있는 내용을 삭제해야합니까?Delphi에서 텍스트 파일로 저장
답변
아마도 파일에 텍스트를 추가하려고합니다.
TFile.AppendAllText(FileName, Memo1.Text);
이것은 IOUtils
장치에서 TFile
클래스를 사용과 같이 그렇게. 사용 된 인코딩을 제어하려는 경우 인코딩 매개 변수를 전달하십시오.
이 단점은 파일에 손을 대기 전에 메모 내용 전체를 메모리에 임시 문자열로 저장해야한다는 것입니다. 그리고 그 String은 파일에 사용 된 인코딩으로 변환되어야합니다. Memo에 많은 텍스트가있는 경우 많은 메모리를 낭비 할 수 있지만 (일시적 임) 천천히 실행됩니다. 그러니 조심하십시오. –
@remy 나는이 성능이 좋을 것으로 기대한다. 관련된 Windows 메시지가 약간 비싸기 때문에 줄 단위 처리보다 좋습니다. 그러나 확실한 메모리 비용이 있습니다. 나는 속도가 문제가 될지 의심 스럽다. 그리고 인코딩은 무엇이든 상관없이 처리되어야합니다. 이 코드의 장점은 단순한 한 줄짜리로 매우 읽기 쉽고 간결하다는 것입니다. –
기존 파일을 열고 스트림 끝까지 검색 한 다음 스트림을 Memo1.Lines.SaveToStream()
으로 전달하십시오. TFileStream
성능면에서이 코드는'TFile.AppendAllText'와 동일하다는 것을 아는 것은 흥미로울 것입니다. 왜냐하면'TMemoStrings.SaveToStream()'은 실제로'GetTextStr'를 기반으로하는'TStrings.SaveToStream()'이기 때문입니다. 또한이 코드는 작성된대로 BOM을 방출합니다. –
BOM이없는'TEncoding'을'SaveToStream()'에 제공함으로써 출력되는 BOM을 건너 뛸 수 있습니다. 예를 들어 UTF-8을 원한다면 XE 및 그 이전 버전에서'TEncoding.GetEncoding (65001)'을 사용하거나 XE2 이후 버전에서'TUTF8Encoding'에서 파생되어'GetPreamble()'을 오버라이드 할 수 있습니다. 'TMBCSEncoding' (GetEncoding()이 리턴하는)은 XE2까지 BOM을 출력하지 않았습니다. –
실제로 WriteBOM 또는 유사한 TStrings 속성을 사용하는 것이 가장 간단합니다. 당신은 성과를 언급하지 않았다. 다른 답변에 성능 문제가 있음을 설명하는 댓글을 남겼습니다. 그러나이 대답의 코드는 동일한 성능 문제가 있습니다. 당신이 그 일을 처리하는 것이 공평한 것처럼 보입니다. –
- 1. 목록을 텍스트 파일로 저장
- 2. 자바 - 텍스트 파일로 저장
- 3. 사전 주문을 텍스트 파일로 저장
- 4. JTable 내용을 텍스트 파일로 저장
- 5. BeautifulSoup, 결과를 텍스트 파일로 저장
- 6. 데이터 파일을 텍스트 파일로 저장
- 7. 스크립트에서 텍스트 파일로 정보 저장 -
- 8. udid 문자열을 텍스트 파일로 저장
- 9. 사전을 텍스트 파일로 저장 (C#)
- 10. 스톱워치 시간을 텍스트 파일로 저장
- 11. Silverlight 2.0 - 텍스트 파일로 저장
- 12. 좌표 파일을 텍스트 파일로 저장
- 13. 데이터 구조를 텍스트 파일로 저장
- 14. matlab 출력을 텍스트 파일로 저장
- 15. 사용자 활동을 텍스트 파일로 저장
- 16. 텍스트 상자에서 텍스트 파일로 데이터 저장
- 17. Delphi에서 문자열을 .txt 파일로 저장하는 방법은 무엇입니까?
- 18. 데이터베이스의 모든 값을 텍스트 파일로 저장 하시겠습니까?
- 19. Canvas에서 텍스트 및 이미지 편집 파일로 저장
- 20. 여러 텍스트 파일을 CSV 파일로 저장
- 21. IronPython에서 Excel 워크 시트를 텍스트 파일로 저장
- 22. 점수를 텍스트 파일로 저장 Java Eclipse android
- 23. Matlab에서 셀 배열을 텍스트 파일로 저장
- 24. 2 차원 벡터를 텍스트 파일로 저장
- 25. 정보를 C++에서 텍스트 파일로 저장
- 26. 수정 된 텍스트 상자의 내용을 파일로 저장
- 27. C#을 사용하여 목록을 텍스트 파일로 저장
- 28. 새 사용자 만들기 및 텍스트 파일로 저장
- 29. Java 다중 행 문자열을 텍스트 파일로 저장
- 30. 목록 상자의 항목을 텍스트 파일로 저장
기존 파일에 메모 데이터를 추가하고 데이터를 저장하기 전에 기존 파일의 백업을 만들거나 파일이 이미 존재하며이 경우 계속/중단하라는 메시지를 표시 하시겠습니까? – Lars