Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.05;
Скачать: CL | DM;

Вниз

Чтение файла, Pos(x,y,z)   Найти похожие ветки 

 
Ragazor   (2004-08-20 20:24) [0]

Делаю так (лишнее вытер)

procedure TForm1.Button1Click(Sender: TObject);
var f:TEXTFILE; news,all:ansistring;
begin
Filen:=GetcurrentDir+"\11111.htm";
Assignfile(f,fileN);
Reset(f);
while not EOF(f) do begin
readln(f,S);
all:=all+s;
end;
closefile(f);
c1:=POS("<TD bgColor=#efefef colSpan=2>",all);
c2:=POS("<BR></FONT></TD></TR></TBODY></TABLE>",all)+30;
news:=copy(all,c1,length(all)-c2-c1);
memo1.Lines.Add(news); - и в итоге пустая переменная news
end;

Коорче идея такая, процедура должна считать весь файл в одну строку, потом найти 2 куска текста через POS. Куски это начало и конец того что я хочу вырезать из файла.Определяется позиция начала и конца вырезания, потом через СОРУ вырезаца должно - а не хочет.

В чем ошибка, помогите разобраться.


 
Sergey Kaminski ©   (2004-08-20 22:57) [1]

А посмотреть в отладчике значения c1,c2?

Кроме того, лучше файл закачать в TStrings:


var
 AStrings: TStrings;
...
 AStrings := TStringList.Create;
 try
   AStrings.LoadFromFile (AFileName);
   c1 := Pos (Pattern1,AStrings.Text);
   c2 := Pos (Pattern1,AStrings.Text);
   if (c1<>0) and (c2<>0) then
     ....
   else
     ...
 finally
   AString.Free;
 end;
...

ну, в таком духе и легче разобраЦЦа


 
Ragazor   (2004-08-20 23:26) [2]

с1 с2 нормальные числа все находит что нада.

все разобрался, математику плохо учил...эххх
Копирует отлично!


 
Ragazor   (2004-08-20 23:28) [3]

насчет Тстрингс: мне очень важно весь файлик в строку запихать.
а с ним чуть больще писанины.


 
Fay ©   (2004-08-20 23:29) [4]

Мне ваще сегодня лениво за тебя что-либо писать, но GetcurrentDir - это ужасно. УЖАСНО.
Понятно?


 
Sergey Kaminski ©   (2004-08-20 23:57) [5]

>>очень важно весь файлик в строку запихать.

свойство Text как раз и есть одна строка.

>> а с ним чуть больще писанины.

ну это кому как

А уж насчет GetCurrentDir"а это таки да... Привыкать нужно к такому
ExtractFilePath(ParamStr(0))+"1111.html";

или "чуть больше писанины"? ;)


 
KADAN ©   (2004-08-21 03:09) [6]


> А уж насчет GetCurrentDir"а это таки да... Привыкать нужно
> к такому
> ExtractFilePath(ParamStr(0))+"1111.html";

или просто Filen:="11111.html"


 
Ragazor   (2004-08-22 00:27) [7]

А почему GetcurrentDir ужаснее
ExtractFilePath(ParamStr(0)) ???


 
PVOzerski ©   (2004-08-24 11:07) [8]

GetcurrentDir и ExtractFilePath(ParamStr(0)) могут вообще разные директории вернуть, ведь текущей директорией для приложения вовсе не обязана быть та, в которой находится его исполняемый файл. Так что автору виднее. Плохо лишь то, что если текущим каталогом окажется корневой, при таком подходе бэкслэш "сдвоится".



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

Текущий архив: 2004.09.05;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.023 c
8-1087117501
Genie
2004-06-13 13:05
2004.09.05
Использование шрифта


4-1090329440
Rem
2004-07-20 17:17
2004.09.05
Ловушки для активИксов


6-1088490331
leonidus
2004-06-29 10:25
2004.09.05
Компонент idHTTP не работает через прокси


1-1092860702
Maker
2004-08-19 00:25
2004.09.05
MDI + Docking


1-1092819673
yaric
2004-08-18 13:01
2004.09.05
Работа с TStrings