Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];
ВнизПроблема с размером файла более 64К Найти похожие ветки
← →
Destroyer (2002-05-13 14:51) [0]Есть файл ДОС-текста. Счтиываю его в TStringList, преобразую в WIN-текст, затем обрабатываю строки текста, обработанные строки пихаю в Excel. Ну типа конвертора своеобразного...
При файлах размером более 64К все падает...:о(( Пробовал обойтись без TStringList, грузил через файловую переменную, но результат одинаков...ПОМОГИТЕ, ПОЖАЛУЙСТА
← →
Song (2002-05-13 14:56) [1]Испольхуйте TRichEdit, если в 98.
Чтобы TStringList или TMemo был побольше w2k установите.
А через файловую переменную должно получиться. Странно, что не получилось. Напишите как использовали.
← →
Destroyer (2002-05-13 15:05) [2]var F:TextFile;
CurStr:String;
AssignFile(F,OpenDialog.FileName);
Reset(F);
while not(Eof(F)) do
begin
Readln(F,CurStr);
if not(CurStr="") then
OEMToChar(PChar(CurStr),PChar(CurStr));
Далее собственно обработка строки и заталктвание в Эксель
end;
← →
Destroyer (2002-05-13 15:06) [3]ну и закрытие файла ессно
← →
Slym (2002-05-14 06:37) [4]Ты не думал что строка более 255 символов не бывает?
читай не лайнами, а буферами
и чето не припомню textfile, var f:text; может?
если даже и так то попробуй просто file, и чтение буфером
← →
MBo (2002-05-14 07:11) [5]> Slym (14.05.02 06:37)
> Ты не думал что строка более 255 символов не бывает?
А я верю, что бывают
так у меня работает c большим файлом
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
sl:tstringlist;
begin
sl:=tstringlist.create;
sl.LoadFromFile("e:\idos.txt");
for i:=0 to sl.count-1 do
if length(sl[i])>0 then
OemToChar(PChar(sl[i]),PChar(sl[i]));
sl.SaveToFile("e:\iwin.txt");
sl.free;
end;
← →
Destroyer (2002-05-14 14:34) [6]Похоже, что это не связано с TStringList...
Потому что если я гружу в него большой файл, преобразую в виндовый текст, а затем каждую строку этого текста пихаю в первую ячейку соответствующей строки Экселя, не делая разбиения на ячейки, то все нормально. Если же делаю разбиение строки на ячейки, но в Эксель не пихаю, то тоже все ОК. Но вот если делаю разбиение и пихаю в соответствующие ячейки - то все, умирает как Эксель, так и сама прога. Причем зачастую и сами винды...Чего-то страшное делаю...
← →
kull (2002-05-14 14:59) [7]Да TStringList - отличный класс.
> Song © (13.05.02 14:56)
> Испольхуйте TRichEdit, если в 98.
> Чтобы TStringList или TMemo был побольше w2k установите.
объем TStringList не зависит от версии системы, скорее ограничен свободной памятью.
Короче ошибки в первую очередь у себя искать надо...
← →
Destroyer (2002-05-14 15:21) [8]Хехе, ну понятно, что ошибки-то у меня...
У меня порядка 15 столбцов в экселевской таблице. Соответственно я строку файла бью на 15 частей и пихаю в нужную ячейку. К примеру, пихаю в Эксел только первые 5 частей, остальное отбрасываю - НЕ ГЛЮЧИТ!!! То есть получается, что Экселю не все равно сколько информации в него пихать? Опять же если строки вообще не разбиваю, а пишу в Эксель целиком, то тоже НЕ ГЛЮЧИТ! Не понимаю, зациклился уже второй день на дурацкой проблеме...
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.05.23;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.006 c