Добрый день, у меня такой вопрос: Пытаюсь заменить в текстовом файле определенные строки, делаю это так: Code: with TStringList.Create do begin LoadFromFile(ExtractFilePath(paramstr(0))+'\данные\fff.txt'); Strings[4] := 'Вася'; Strings[5] := 'Игорь'; Strings[15] := 'Сергей'; Strings[43] := 'Никита'; SaveToFile(ExtractFilePath(paramstr(0))+'\данные\fff.txt'); Free; end; Всё компилируется нормально, но при работе вылазит ошибка (скрин прилагаю). Подскажите, в чем проблема? Что и где нужно исправить?
Английский не учил?) Тебе же ясно сказали, что в списке нет 4 элемента, скорей всего в файле меньше 5 строк
экстрасенсов то здесь нету содержимое файла, который читается проверь, потому как Delphi все же гласит, что 5 строк там нету, а если ранее не вылетают ошибки, значит файл загрузился нормально
В том то и дело, содержимое файла в порядке. Видимо почему то этот файл не считывается в TStringList, но почему... Кто в курсе, может код неправильно составлен?
Странно... Попробовал вывести содержимое файла в Memo функцией Memo1.Lines.LoadFromFile('C:\ffff.txt'); - вывело какие-то кракозябры: Code: ÿþ< Хотя в текстовом файле куча текста...... WTF???
Разобрался! Оказывается в текстовом файле почему-то была кодировка "UCS Little Endian", преобразовал всё в ANSI - всё заработало как надо. qw1mb1 благодарю за наводку!