문제

가 TXT 파일이 가져올 필요가를 통해 응용 프로그램,하지만 몇 가지 이유로 내가 그것을 열 필요가 워드패드에서 먼저 저장기 전에 그것을 가져오.나는 그것을 함께 할 수 있습니다.면 그것을 열 메모장에 먼저,줄 바꿈이 없어지면 그것을 열과 함께 워드패드 라인이 있습니다.

사람이 왜 이 발생하고 어떻게 피할 수 있는 수동으로 파일을 열고 저장과 함께 워드패드?습니다 vb6(Yikes!).

어떤 도움을 주셔서 감사합니다

도움이 되었습니까?

해결책

이 라인이 끝나는 문제입니다.귀하의 코드(메모장)보고 싶은 캐리지 리턴(CR)/라인 피(LF)쌍,그리고 이것은 아마 CR 만(Macintosh)or LF 만(Unix)파일이 들어 있습니다.워드패드 더 많은 용서하는 것,그리고 저장은 분명히(을 테스트하지 않았다)절약 CR/LF pairs 습니다.

을 변경할 수 있습 응용 프로그램에서 코드를 찾아의 엔딩 및 치료를 그들을 쉽게:그냥 보는 중지에 대한 vbCrLf 쌍으로 찾 중 하나로 라인의 끝.내 자신의 전략을 검색 CR LF 또는과 소비하는 모든 CR/LF 문자는 다음:이렇게 빈 줄 뿐입니다.

다른 팁

파일에는 아마도 각 줄 끝에 캐리지 리턴 (CR) 또는 라인 피드 (LF) 문자 만있을 수 있습니다.

Windows에는 각 라인의 끝에 CR과 LF 문자가 모두 필요합니다. 이것은 일정한 VBCRLF를 사용하여 VB6에서 쉽게 수행 할 수 있습니다.

플립 측면에서 파일을 읽는 사람이라면 파일이 누락 된 파일을 결정하고 파일을 읽을 때 수동으로 추가 할 수 있습니다 (즉, 교체 기능을 사용하여 CR을 CRLF 또는 LF로 CRLF로 변환합니다).

이러한 파일이 매우 크고 성능이 중요하지 않으면 adodb.stream 객체를 통해 라인으로 읽을 수 있습니다.

이것은 여러 라인 구분 기호 (stream.lineseparator = adcr, adcrlf 또는 adlf)를 처리 할뿐만 아니라 유니 코드 (UTF-16), UTF-8, System CodePage ANSI 및 대안 "ANSI"인코딩을 포함하는 파일을 처리하는 데 사용될 수도 있습니다. 다른 지역.

예를 들어 러시아어 로케일의 "ANSI"가 포함 된 텍스트 파일이있는 경우 Stream.CHARSET = "KOI8-R"을 설정하고 VB6 Unicode (UTF-16)로 적절한 변환 데이터를 읽을 수 있습니다.

Dim Stm As ADODB.Stream
Dim Line As String
Dim Counter As Long
Set Stm = New ADODB.Stream
With Stm
    .Open
    .LoadFromFile "russian.txt"
    .Type = adTypeText
    .Charset = "koi8-r"
    .LineSeparator = adLF
    Do Until .EOS
        Line = .ReadText(adReadLine) 'Text is in Unicode now.
        Counter = Counter + 1
    Loop
    .Close
End With

charset은 "유니 코드"(UTF-16) 값으로 기본값을 기본적으로하지만 기본 코드 페지로 ANSI에서 스트림을 읽거나 쓸 수 있습니다.

hkcr mime database charset에는 사용 가능한 값이 포함되어 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top