Главная страница
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.032 c
14-1092296755
nikkie
2004-08-12 11:45
2004.09.05
критика кода DMClient


1-1092995437
Ivolg
2004-08-20 13:50
2004.09.05
Стили


1-1092751588
JUS
2004-08-17 18:06
2004.09.05
Я пытаюсь вникнуть в ООП, возникли вопросы. Помогите!


3-1092273424
Ted
2004-08-12 05:17
2004.09.05
База *.dbf


1-1093208613
JohnJ
2004-08-23 01:03
2004.09.05
Парадокс или моя невнимательность?