Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
ВнизEStringListError . Что делать? Найти похожие ветки
← →
Vasyok (2003-07-23 03:37) [0]Привет! Помогите! Я беру из текстового файла строки и добаляю их в список TStringList :
while not seekeof(f) do
begin
readln(f,s);
list.Add(s);
end;
Затем я пытаюсь записать всё это в другой файл :
for k:=0 to l.count do
begin
s:=l[k];
writeln(f1,s);
end;
При прогоне программы возникает ошибка:
raised exception class
EStringListError with message "List index out
of bounds (575)". Process stopped. Use Step or
Run to continue.
Почему? Что с этим делать и как бороться? Объясните если сможете. Заранее спасибо:)
← →
хм (2003-07-23 03:47) [1]for k:=0 to l.count-1 do
В массиве n элементов, и если считать от нуля, то порядковый номер последнего будет n-1, не так ли?
← →
ЮЮ (2003-07-23 05:37) [2]У TStringList есть методы LoadFromFile, SaveToFile
← →
Anatoly Podgoretsky (2003-07-23 09:02) [3]LoadFromFile даст другой результат
← →
ЮЮ (2003-07-23 09:54) [4]>Anatoly Podgoretsky © (23.07.03 09:02)
LoadFromFile даст другой результат
Sorry! не заметил <> seekeof
Но тогда можно сказать, что и SaveToFile даст другой результат: сработает без EStringListError :-)
← →
Anatoly Podgoretsky (2003-07-23 10:06) [5]Я вообще то совсем не уверен, что ему нужно именно seekeof
← →
VJack (2003-07-23 12:09) [6]Вот пример...чуть навернуто но там есть загрузка-разгрузка данных из/в файл гы-гы-гы
procedure TfrmMain.ProcessFile;
var
fN, fExt, fConv: String;
MSExcel: Variant;
begin
try
Screen.Cursor := crHourglass;
SetControls(False);
fN := sDLLTName + IntToStr(cmbConverters.ItemIndex + 1);
@pFCode := GetProcAddress(m_CH,PChar(fN));
if @pFCode = nil then
Application.MessageBox(PChar(sErrConverting),PChar(sMCaption),MB_ICONSTOP)
else begin
slIn.Clear;
slOut.Clear;
slIn.LoadFromFile(lblMess.Caption);
pFCode(slIn, slOut);
fExt := slOut.Strings[0];
slOut.Delete(0);
fConv := ChangeFileExt(lblMess.Caption, fExt);
slOut.SaveToFile(fConv);
Beep;
if(chbOpen.Checked)then begin
try
MSExcel := CreateOleObject("Excel.Application");
MSExcel.Visible := True;
MSExcel.Workbooks.OpenText(FileName:=fConv,Origin:=866,StartRow:=1,DataType:=1,Other:=True,OtherChar:=sDelim);
MSExcel.ActiveSheet.Cells.Select;
MSExcel.ActiveSheet.Columns.AutoFit;
except
on Exception do
MessageBox(frmMain.Handle,PChar(Exception(ExceptObject).Message),PChar(sMCaption),MB_ICONSTOP);
end;//try
end else ShowMessage(sDone);
end;//main if
finally
lblMess.Caption := "";
SetControls(True);
cmdStart.Enabled := False;
Screen.Cursor := crDefault;
end;
end;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.08.04;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c