호빵이 생각나는 계절입니당~~ ^^;;
프로그램이 실행이 되어 배열에 값을 집어 넣습니다.됩니다.
값을 집어 넣은 수를 인식하여
10번 까지의 배열 내용을 한 파일에 몰아 넣습니다.
일반 ini 방식으로 저장을 하게 합니다. ㅡ,.ㅡ;;;;
<!--CodeS-->
Procedure TfrmMain.DataSaveSig();
var
SaveFile : TIniFile;
strTemp,strTemp2 : String;
i : integer;
begin
if WorkD.MF.bSMeaCounter = 0 then begin //초기 실행이라면 파일이름을 생성 하겠당.
strTemp := FormatDateTime('DD',now)+'일_'+FormatDateTime('HHNN',now);
Workd.MF.bsFileName := DirectoryCreat('Press','Sig',workD.sTy) + '\' + strTemp + '.sid';
end;
Try
SaveFile := TIniFile.Create(Workd.MF.bsFileName);
SaveFile.WriteString('Header', 'TypeName', workD.sTy);
if WorkD.MF.bSMeaCounter = 0 then begin
SaveFile.WriteDateTime('Header', 'StartDate', now);
WorkD.MF.bSMeaCounter := 1;
end;
SaveFile.WriteDateTime('Header', 'ENDDate', now);
SaveFile.WriteInteger('Header','iDataNumber', workD.Press.iDataNumber);
SaveFile.WriteInteger('Header', 'ArrayCounter', WorkD.MF.bSMeaCounter);
StrTemp := 'Load'+IntToStr(WorkD.MF.bSMeaCounter);
strTemp2 := 'Stroke'+IntToStr(WorkD.MF.bSMeaCounter);
SaveFile.WriteString(Strtemp,'LoadValue', formatFloat('0.0', WorkD.MF.fValue));
SaveFile.WriteFloat(Strtemp2,'CalibValue',WorkD.Press.vSignal[1,0]);
SaveFile.WriteFloat(Strtemp2,'StartValue',WorkD.Press.vSignal[1,workD.Press.iMPoint+workD.Press.iDDN]);
SaveFile.WriteFloat(Strtemp2,'EndValue',WorkD.Press.vSignal[1,workD.Press.iMPoint+workD.Press.iDDN+workD.Press.iMDN]);
for i:=0 to WorkD.Press.iDataNumber -1 do begin //배열 내용을 무식하게 집어 넣으삼
SaveFile.WriteFloat(Strtemp,'P'+inttostr(i), Workd.Press.vGSignal[i]);
gaugeAICount.Progress := i;
end;
finally
FreeAndNil(SaveFile);
end;
WorkD.MF.bSMeaCounter := WorkD.MF.bSMeaCounter+1; // 몇번 처리 되었삼
if WorkD.MF.bSCounter+1 <= WorkD.MF.bSMeaCounter then begin //만땅이다 초기화삼
WorkD.MF.bSMeaCounter := 0;
end;
end;
<!--CodeE-->
음...제가 원하는 방식으로 저장은 되고 있는데
문제가 되는게 속도 입니다.
아무리 컴퓨터가 팬2 450 이라지만 ㅡㅡ;;;;;;;;;;;
배열 40000 개 로 저렇게 저장을 하니깐
한 10초 가 걸리네요~~ 넘 길어요
어찌하면 좋을까요?
파일 스트림이라고 있던데 그거 동적 배열도 가능 한건가요~
속도를 올리려면 어떻게 해야 할까요?
FIleStream 으로 하시는게 편하실거구요..
직접 파일을 생성하는것도 있습니다.
이건 FileWrite 로 헬프에서 찾아보시면 예제가 있어요..(delphi 6 기준)
둘중에 어떤게 빠를지는 잘모르겠네요..