Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Объединение мелких файлов в один большой   Найти похожие ветки 

 
Цукор5   (2012-04-03 14:08) [0]

Есть много мелких файлов, которые мне нужно объединить в один большой.
Делаю так:
ListAll:=TStringList.Create;
try
 for I:=0 to FileListBox1.Count-1 do
 begin
   List:=TStringList.Create;
   try
     List.LoadFromFile(FileListBox1.Items.Strings[I]);
     ListAll.AddStrings(List);
   finally
     List.Free;
   end;
 end;
 ListAll.SaveToFile("Res.txt");
finally
 ListAll.Free;
end;


В результате, добавляется какая-то ерунда в начале каждого объединения.
Скриншот: http://gyazo.com/a4a0f0eb4748f8a33b4e19cfc8356e77

Что это? Что я делаю не так?


 
bibip   (2012-04-03 14:20) [1]

)))
Тоесть объединяешь текст из нескольких текстовых файлов


 
bibip   (2012-04-03 14:24) [2]

А что не так?


 
Сергей М. ©   (2012-04-03 14:25) [3]

Так это у тебя в самих файлах "ерунда" в самом начале каждого)
Поди bom там ..


 
bibip   (2012-04-03 14:26) [4]

Ерунда я так понял символ похожий на твердый знак?


 
sniknik ©   (2012-04-03 14:28) [5]

попробуй так
ListAll.Add(List.Text);
не поможет, то так
ListAll.Add(Trim(List.Text));
не поможет... ну тогда там реально есть что то (типа BOM/признака конца файла) и это нужно "выкусывать"


 
sniknik ©   (2012-04-03 14:30) [6]

наиболее вероятно там BOM, который ты смотря в блокноте просто не видишь. посмотри в Far-е/NC-ре.


 
bibip   (2012-04-03 14:53) [7]

Вот паскальный вариант на дельфи
var
f, t: TextFile;
i: integer;
s: string;
begin
AssignFile(T, "Bes.txt");
Rewrite(T);
 for I:=0 to ListBox1.Count-1 do
  begin
   AssignFile(f, ListBox1.Items.Strings[I]);
   reset(f);
   readln(f, s);
   Writeln(t, s);
  end;
CloseFile(f);
CloseFile(t);
end;


 
Inovet ©   (2012-04-03 15:05) [8]

Есть комаеда
copy 1 + 2 + 3 dst
с разными ключами: /A, /B.


 
Jeer ©   (2012-04-03 15:06) [9]


> Inovet ©   (03.04.12 15:05) [8]


Кому это надо :)


 
Цукор5   (2012-04-03 15:27) [10]

Спасибо! Действительно BOM был. Век живи, век учись )))
Выкусил так:
List.Strings[0] := StringReplace( List.Strings[0], Chr($EF)+Chr($BB)+Chr($BF),"",[rfReplaceAll]) ;


 
Sha ©   (2012-04-03 16:10) [11]

кабы не было листов


 
Jeer ©   (2012-04-03 20:08) [12]


> Sha ©   (03.04.12 16:10) [11]
>
> кабы не было листов


то бы не было гл..ов. :)



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.074 c
2-1335082063
Влад_
2012-04-22 12:07
2013.03.22
Кол-во запущенных экземпляров программы


2-1328179304
cardon
2012-02-02 14:41
2013.03.22
Подсказка в StringGrid


2-1336087027
Андрей Другой
2012-05-04 03:17
2013.03.22
Все файлы в папке


2-1337504907
Глеб
2012-05-20 13:08
2013.03.22
Поиск нужного компонента


2-1344328033
Pcrepair
2012-08-07 12:27
2013.03.22
Чем лучше заменить TidHTTP Indy 10?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский