Q&A

  • 텍스트 파일의 총 라인 수를 얻는 방법과 데이터의 합계 얻는 방법좀
텍스트 파일을 읽어서

그 텍스트 파일의 총 라인 수를 얻는 방법과 텍스트의 특정 길이부터 데이터를COPY 하여  처음 라인부터 마지막 라인까지의 데이터의 SUM 알고 싶어서요

예를 들어

테스트.txt 라는 텍스트 파일에는 다음과 같은 내용의 값들이 있습니다

00100020303000
D5000
D6000
D7000
D8000
D9000
020300342200401

이렇게 일곱라인의 형식으로 텍스트 데이터가 있습니다

위 파일의 예제에서 첫 라인과 마지막 라인은 빼고 나머지 순수 데이터의 라인의 총 수와 숫자로 된 값의 전체 합을 구하려고 합니다.

어떻게 하면 될까요?

급한 요청으로 오늘까지 해야 하거든여...

델파이언님들의 많은 도움 요청 합니다.
2  COMMENTS
  • Profile
    강도욱 2004.03.19 22:18
    아래는 소스구여.. 파일도 첨부했으니.. 테스트해보세요.

    실행을 해서 버튼을 누르면 그 결과가 오른쪽의 텍스트 박스로 나옵니다.



    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;

    type
      TForm1 = class(TForm)
        Button1: TButton;
        Edit1: TEdit;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.Button1Click(Sender: TObject);
    var
    MyList,MyList2 : TStringList;
    i,sum : integer;
    CurrPath : string;

    begin
    try
    MyList := TStringList.Create;
    MyList.Clear;

    CurrPath := ExtractFilePath( Application.ExeName );
    MyList.LoadFromFile(CurrPath + '테스트.txt');

    //MyList.Sorted := True;

    sum := 0;
    MyList2 := TStringList.Create;
    for i := 0 to MyList.Count -1 do
    begin
      if (i >0) and (i <MyList.Count - 1) then
      begin
           MyList2.Clear;
           ExtractStrings(['D'],[],PChar(MyList.strings[i]), MyList2);
           sum := sum + StrToInt(MyList2.Strings[0]);
      end;
    end;
      Edit1.Text := IntToStr(sum);
      finally
      FreeAndNil(MyList2);
      FreeAndNil(MyList);
      end;


    end;

    end.
  • Profile
    겨울남자 2004.03.19 23:02
    강도욱님 답변 감사합니다.

    조금만 변형해서 하면 잘 될 거 같습니다

    다시 한번 감사의 말씀 드립니다.