Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.007 c
3-73016
rem_
2002-04-25 10:54
2002.05.23
LookUp


3-73038
gizar
2002-04-24 18:38
2002.05.23
Отключить юзеров от базы


14-73406
SPeller
2002-04-13 10:13
2002.05.23
MySQL


14-73357
greenrul
2002-04-13 17:27
2002.05.23
Помогите перевести текстовичок маленький


3-72999
M@X
2002-04-25 15:06
2002.05.23
ADO (dBase), не воспринимает BLOB! Как картинку запихнуть то?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский