Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.029 c
3-1092032923
lamer_delpheneok
2004-08-09 10:28
2004.09.05
Тупой вопрос наверное, как заполнить dbcombobox ???


6-1088772058
Soft
2004-07-02 16:40
2004.09.05
Отсылка письма через нажатие кнопки в другом письме.


1-1092855479
Vemer
2004-08-18 22:57
2004.09.05
Как отключить некоторые предупреждения.


14-1092370270
Dmitriy O.
2004-08-13 08:11
2004.09.05
48 Конгресс Европейской организации качества. Москва


14-1092582660
Дмитрий12
2004-08-15 19:11
2004.09.05
Пожалуйста, помогите перевести код на C++:




   Наверх