Q&A

  • 파일 읽고 쓰기
안녕 하세요.. 언제나 좋은 정보를 얻어가고만 있는 허접 눈이큰아이입니다.

다름이 아니라.. 파일처리를 하는데 감이 잘 안잡히네요..^^;
하나의 파일을 읽어서 바로 그파일을 수정하여 다시 저장하는 방법을
모르겠습니다. 제가 알기로는 파일 처리를 할때는 파일을 읽은 후 다시 닫는것이 정석이라고 알고 있구여
또 제가 한번 해보니깐 기존에 있던 파일 내용이 다 지워지고 다른 내용만 남아 있습니다.
도대체 어떻게 처리를 해야 할지 난감 합니다.

예를 들어
text파일 구성은
111  111
122  122
141  152
.
.
.

이런 두개의 레코드 형식으로 되어있구여

만약 앞의 첫번째 레코드를 기준으로 하여 그 값이 있으면.. 두 번째 값을 읽어 오구여(이것은 해결)
첫번째 값이 현재 존재하지 않는 값이면 그 값을 파일 마지막 라인 뒤에 저장 하는 방식입니다.

즉 if  123 이면
111  111
122  122
141  152
.
.
.
123  456
이런식으로 저장이 되야 하는데요..  아무리 머리를 굴려도 감을 잡을 수가 없네여
너무 초보라성...

질답이나 강좌 등 간단한 예제라도 있으면 좋은데.. 아무것도 없는거 같습니다.

예제라도 알려주심 감사하겠습니다.  여러 고수님들의 답을 지둘리며
2  COMMENTS
  • Profile
    김동석 2003.11.21 02:06
    구체적으로 어떤 처리를 하려는 것인지 모르겠지만

    TStrings를 써도 될거 같네요...

    TStrings의 LoadFromFile과 SaveToFile을 사용하면 파일 입출력을

    쉽게 할 수 있습니다.

    읽어온 데이터를 배열로 다루므로 원하는 데이터를 쉽게 찾을 수도 있습니다...
  • Profile
    손희석 2003.11.19 19:56
    fmCreate        

    If the file exists, open for write access, otherwise, create a new file. Unlike the other constants, which are declared in the SysUtils unit, this constant is declared in tge classes unit.

    fmOpenRead        

    Open for read access only.

    fmOpenWrite        
    Open for write access only.

    fmOpenReadWrite        
    Open for read and write access.

    작업 파일 모드 설정을 Create로 하시게 되면 당연히 이전에 있던 정보는

    지워진답니다.. 따라서 파일 모드 설정을 fmOpenReadWrite로 지정하셔야

    됩니다. 지정 화일에 레코드를 추가하실려면

    if 파일존재한다면 then
    begin
      파일포인터 = FileOpen(화일명, fmOpenReadWrite);
      FileSeek(파일포인터,2); // 2번은 화일의 끝을 가리킵니다..
      FileWrite(파일포인터, 레코드, 레코드사이즈);  
    end;

    이런식으로 하실수 있겠습니다..

    • 김배성
    • 2003.11.20 02:40
    • 1 COMMENTS
    • /
    • 0 LIKES
    • pbi12
      2003.11.22 08:04
      안녕하세요. 저도 살짝해본적은 있는데, 트리뷰를 보시면은 / root가 있고, 그 아래 서브트리구조가 생성...
    • 양진영
    • 2003.11.20 01:02
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 이추형
      2003.11.21 02:31
      프로젝트를 새로 만드시고요 delphi 3.0에서 delphi 5.0으로 Up되면서 바뀐내용을 적요하시야 겠네요 ...
    • 임진묵
      2003.11.20 00:50
      안녕 하세요. 델 5사용자인데요. 님의 말을 들어 보면..페스트넷에 있는 것을 사용할때 나타나는 증...
    • 곰다방~미스김
      2003.11.20 01:24
      델 6이구요...인디 깔려있어서 인디에 있는 idSMTP사용했습니다. 인증타입을 atLogin으로 하면 인증실패라...
    • 임진묵
      2003.11.20 18:16
      안녕 하세요. 인증 받으려면...인증 체크 하시고  당연 아이디 하고 비밀번호가 있어야 겠지...
    • 곰다방~미스김
      2003.11.20 23:44
      그렇게도 해보고 저렇게도 해봤는데... 안되네요.... 데모도 없고.... 메일서버세팅값을 변경하는 방법...
    • 임진묵
      2003.11.21 19:50
      이상하군요... 제가  센드 메일 8.11.6 과 8.12.5 에서 테스트 하기엔 잘 되는데요.. 제가 처...
    • 최인권
    • 2003.11.19 23:31
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 초초보
      2003.11.20 12:12
      못열어 보는 방법은 당근 없구요... 차라리 그냥 문자열 자체를 별도의 암호화 함수 가져오셔서 암호화 ...
    • 최윤호
    • 2003.11.19 23:13
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 남영석
      2003.11.19 23:46
      해당기능은 저도 몇번해봤는데 안되더라구요. 익스플로러를 임베딩은 되는데 그 안에서 발생하는 키의...
    • 김광호
    • 2003.11.19 23:09
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 이진균
    • 2003.11.19 21:23
    • 2 COMMENTS
    • /
    • 0 LIKES
    • 박동호
      2003.11.19 23:20
      됩니다. 그리드에다 Canvas.Brush.Color  해 놓고 색깔 넣어주면 됩니다.
    • 이진균
      2003.11.22 03:05
      Canvas.Brush.Color를 두번 쓰니 되네요
    • 이추형
      2003.11.21 02:32
      Locate 명령을 쓰셔서 첫번째 스트링그리드의 값에 해당하는 두번째 스트링그리드의 값에 Locate명령주...
    • 채수정
    • 2003.11.19 10:09
    • 10 COMMENTS
    • /
    • 0 LIKES
    • 김경록
      2003.11.23 00:58
      이건, Sub-Query가 없다면, 해결할 수 없는 문제이군여.. Paradox는 Sub-Query를 지원하지 않으므로 편법...
    • 최진술
      2003.11.21 00:03
      원하시는게 SQL 한 문장으로 JOIN 해서 답을 얻고자 하신다면 아래의 방법을 써보세요.. FROM 이후절에 S...
    • 채수정
      2003.11.21 04:19
      관심과 도움 말씀에 감사드림돠.(-.-)(_._) 도움 말씀대로 해 보았습니다..만.. From 이후 Select 절에...
    • 최진술
      2003.11.22 19:15
      코딩하신 소스를 보면 생략된 부분이 있긴하지만  잘못된 부분은 없는 것 같네요.. 하지만 MESSA...
    • 채수정
      2003.11.22 21:03
      부족한 소스를 정리까지 해주시고 정말 고맙습니다. 헌데 역쉬..님께서 테스트 하신 버젼과 DB 차이의 ...
    • 너구리
      2003.12.02 02:49
      아 updatesql만 붙이는게 아니라요.. cachedupdate도 tru로 해주고 requestlive도 true로 해주시면 ...
    • 열심히
      2003.11.22 13:27
      전에 Delphi 4.0 쓸때에 저도 그런적이 있는데.. 그냥 Query1에 updatesql을 연결해 보세요 그러니깐 ...
    • • • •
    • 김동석
      2003.11.21 02:06
      구체적으로 어떤 처리를 하려는 것인지 모르겠지만 TStrings를 써도 될거 같네요... TStrings의 Load...
    • 손희석
      2003.11.19 19:56
      fmCreate         If the file exists, open for write acces...
    • 선게
    • 2003.11.19 08:30
    • 0 COMMENTS
    • /
    • 0 LIKES
    • 델초보
    • 2003.11.19 06:37
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 델초보
      2003.11.21 21:53
      출처 http://www.howtodothings.com/showarticle.asp?article=111" With the Delphi Active Form i...
    • 공왕주
    • 2003.11.19 06:34
    • 1 COMMENTS
    • /
    • 0 LIKES
    • LDS
      2003.11.21 00:39
      꼭 dbGrid를 사용 하셔야 한다면 작업결과가 배열로 넘어 온는 것을 새 테이블을 만들면 간단 할것 같습...
    • goodlsw
    • 2003.11.19 05:54
    • 1 COMMENTS
    • /
    • 0 LIKES
    • skysoft
      2003.11.19 19:53
      만약 텍스트에디터에서 델파이5의 DFM 파일이 열린다면 텍스트에디터에서 제공하는 파일에서 바꾸기(AcroE...
    • 작스
    • 2003.11.19 04:07
    • 1 COMMENTS
    • /
    • 0 LIKES
    • 초초보
      2003.11.20 12:14
      통신관련 부분은 윈도우API를 포장해서 쓰거든요 아마 인디컨포넌트면 될꺼 같은데 근데 ㅡ.ㅡㅋ 왜케 낮...
    • 김종곤
    • 2003.11.19 03:25
    • 0 COMMENTS
    • /
    • 0 LIKES
    • ^자]물병[리^
      2003.11.22 00:22
      제가 찾은 쿼리를 함 올려볼까 합니다.. sqler라는 사이트에서 참고한 겁니다. SELECT   (SE...