![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Код:
for i:=А to Б do for a:=1 to I do readln(Tanek,html); end ShowMessage(html); |
|
#2
|
||||
|
||||
|
Самый легкий вариант - загрузить все в TStringList.
Код:
var
s: TStringList;
i: integer;
A, B: Integer;
begin
s:=TStringList.Create;
S.LoadFromFile('file.txt');
A := Pos('А', S.Text);
B := Pos('Б', S.Text);
for i:=A to B do
...
S.Free;
end; |
|
#3
|
||||
|
||||
|
нет там 12мб так что не вариант
ну так Код:
for a:=1 to I do readln(Tanek,html); же можно прочитать строку I неужели нельзя никак сделать и чтобы от А до Б |
|
#4
|
||||
|
||||
|
Не как если это текстовый файл. Надо прочитать весь файл, а потом уже выдирать то, что тебе надо. Или еще вариант: читать все строки подряд, не сохраняя их не куда (просто readln), пока не встретишь "А". Как встретил - начинать читать дальше, только записывать все в переменную. И только встречается символ "Б" - останавливаешь цикл.
|
|
#5
|
||||
|
||||
|
Загрузить в стринг лист, сделать сортировку, а дальше как в ответе выше.
|
|
#6
|
||||
|
||||
|
v1s2222 можете привести собственно пример
Цитата:
|
|
#7
|
||||
|
||||
|
M.A.D.M.A.N. не вариант, жрет +24мб памяти если грузить в стринг лист
|
|
#8
|
|||
|
|||
|
Читай построчно через textFile, когда появится что-то отличное от A и Б - выбрасывай:
Код:
var
F : TextFile;
L : TStringList;
S : String;
begin
L := TStringList.Create;
Try
AssignFile(F,'c:\myfile.txt');
Reset(F);
While Not EOF(F) Do
Begin
ReadLn(F,S);
If S <> '' Then
If S[1] In ['А','Б','а','б'] Then // Заглавные и нет.
L.Add(S)
End;
CloseFile(F);
Finally
L.Free;
End;
end;Как-то так. |
|
#9
|
||||
|
||||
|
Код:
var
i: integer;
s, buf: string;
b: Boolean;
label x;
begin
b := false;
s:='';
... (assign, reset и т.д.)
while(not(EOF(F)) do begin
ReadLn(F, buf);
for i:=1 to length(buf) do begin
if(buf[i] = 'А') then
b:=true;
if(b) then
S:=S+buf[i];
if(buf[i] = 'Б') then
goto x;
end;
end;
x:
showmessage(s); |
|
#10
|
||||
|
||||
|
не так поняли А и Б это номера строк
|
|
#11
|
||||
|
||||
|
Ну значит не так объяснили. Если использовать типизированные файлы - то функция seek переместит вас куда нужно.
http://www.delphibasics.ru/Seek.php |
|
#12
|
||||
|
||||
|
тогда файл txt как объявить
Tanek: File of ???; |
|
#13
|
||||
|
||||
|
Код:
F: TextFile; |
|
#14
|
||||
|
||||
|
не, тогда Seek(Tanek,3); не работает
|
|
#15
|
||||
|
||||
|
Значит seek для типизированных файлов.
Тогда например так: Код:
F: File of Integer; ![]() |