Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Убрать из файла ненужные символы


Автор: SeeD 15.11.2006, 23:15
Доброго времени! 
Вот появилась такая проблема. Ничего подходящего не нашел в инете. 
Смысл такой, что нужно убрать из файла, который содержит 10 символов, все, кроме цифр и 2х букв.  Мне нужно выдернуть кол-во мегабайт. Но в файле могут хранится еще и хтмл тэги. Некоторые не закрытые =( 

Автор: Sunvas 15.11.2006, 23:45
Цитата(SeeD @  15.11.2006,  23:15 Найти цитируемый пост)
 который содержит 10 символов


Цитата(SeeD @  15.11.2006,  23:15 Найти цитируемый пост)
Мне нужно выдернуть кол-во мегабайт.

Че-то я не очень понимаю твоей математики - как 10 символов могут метрами меряться??

Автор: SeeD 16.11.2006, 00:00
В файле хранятся данные(кол-во мегабайт), которые скачал юзер... 
Например, в файле хранится это : 
Код

>130Mb</b><t

Как мне выдернуть значение 130Mb ? 
Извините, что плохо сформулировал вопрос. Спать хоцца...

Автор: Sunvas 16.11.2006, 00:23
Ну дык ищи в файле "Mb", а затем выдергивай то, что лежит между ">" и "Mb"  smile 

Автор: SeeD 16.11.2006, 00:56
Не пойму, как правильно делать поиск.
Например так :
Код

f;=TStringCreate();
f.LoadFromFile('c:\temp.txt');
for i:=0 to f.count-1 do
begin
if f.strings[I]='Mb' then bla-bla-bla
end;
f.free;


Mb он не находит!

Автор: anwe 16.11.2006, 01:37
Ты же сравниваешь всю строку с Mb.
Так найдешь свои Mb:
Код

if pos('Mb',f.strings[i])>0 then ShowMessage('bla-bla-bla');

Автор: Poseidon 16.11.2006, 01:48
Вот, на быструю руку...

Код

procedure TForm1.Button1Click(Sender: TObject);
var
f: TextFile;
str: string;
p, i, tmp: integer;
begin
AssignFile(f, 'D:/file.txt');
Reset(f);
Read(f, str);
CloseFile(f);

p:= pos('Mb', str);

try
  for i:= p-1 DownTo 1 do
  tmp:= StrToInt(copy(str, i, p-i));
  except ShowMessage(IntToStr(tmp));
  end;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)