Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Объединение мелких файлов в один большой [D7, XP]


Цукор5 ©   (2012-04-03 14:08:00) 

Есть много мелких файлов, которые мне нужно объединить в один большой.
Делаю так:
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

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


Jeer   (2012-04-03 20:08:00) [1]


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


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


Sha   (2012-04-03 16:10:00) [2]

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


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

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


Jeer   (2012-04-03 15:06:00) [4]


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


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


Inovet   (2012-04-03 15:05:00) [5]

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


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

Вот паскальный вариант на дельфи
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;


sniknik   (2012-04-03 14:30:00) [7]

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


sniknik   (2012-04-03 14:28:00) [8]

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


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

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


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

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


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

А что не так?


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

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо