텍스트 파일을 읽어서
그 텍스트 파일의 총 라인 수를 얻는 방법과 텍스트의 특정 길이부터 데이터를COPY 하여 처음 라인부터 마지막 라인까지의 데이터의 SUM 알고 싶어서요
예를 들어
테스트.txt 라는 텍스트 파일에는 다음과 같은 내용의 값들이 있습니다
00100020303000
D5000
D6000
D7000
D8000
D9000
020300342200401
이렇게 일곱라인의 형식으로 텍스트 데이터가 있습니다
위 파일의 예제에서 첫 라인과 마지막 라인은 빼고 나머지 순수 데이터의 라인의 총 수와 숫자로 된 값의 전체 합을 구하려고 합니다.
어떻게 하면 될까요?
급한 요청으로 오늘까지 해야 하거든여...
델파이언님들의 많은 도움 요청 합니다.
실행을 해서 버튼을 누르면 그 결과가 오른쪽의 텍스트 박스로 나옵니다.
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.