ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

26.07.2007, 17:32
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от b2mbey
Спасибо, это работает...
А моё че не работает??? Я вроди проверял ! =\
|
|
|

26.07.2007, 17:45
|
|
Познающий
Регистрация: 25.07.2007
Сообщений: 35
Провел на форуме: 114032
Репутация:
2
|
|
Сообщение от z01b
А моё че не работает??? Я вроди проверял ! =\
Почему работает... Только мне кажеться что твой менее надежный... Сайт же тоже может отказать...
Спасибо конечно, за идею...
|
|
|

26.07.2007, 20:32
|
|
Постоянный
Регистрация: 05.01.2007
Сообщений: 508
Провел на форуме: 2360904
Репутация:
1393
|
|
Сообщение от b2mbey
Почему работает... Только мне кажеться что твой менее надежный... Сайт же тоже может отказать...
Спасибо конечно, за идею...
Какой сайт 
Я тебе сказал чтоб шлюз пинговал 
|
|
|

27.07.2007, 00:54
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме: 2869410
Репутация:
925
|
|
Челы помогите )пишу прогу ReadLn() загинаеться,напишите как через readfile() читать построчно текстовый файл =)
|
|
|

27.07.2007, 01:33
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Через апишку построчно нельзя, только блоками. Примерно так:
Код:
var
f: hFile;
st: _OfStruct;
count: Dword;
buf: array[0..255] of char;
begin
fillchar(st,sizeof(st),0);
f := OpenFile('c:\1.txt',st,OF_READ);
repeat
fillchar(buf,sizeof(buf),0);
ReadFile(f,buf,sizeof(buf),count,nil);
{...операции с блоком данных buf...}
until
count = 0;
CloseHandle(f);
А почему с readln загинается? Мож сорс покажешь?
|
|
|

27.07.2007, 01:59
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме: 2869410
Репутация:
925
|
|
Короче мне надо читать построчно файл (что это представляет из себя):
читает в буфер все символы до #13#10 (конец строки),и так пока не кончиться файл...длинна строки небольшая (не больше 50 символов). ReadLn не подходит т.к мне надо много раз открыть файл на чтение,но если делаю так ошибку выдает.
|
|
|

27.07.2007, 02:09
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Файл как я понимаю текстовый? Есть еще логическая функция EOLN, которая возвращает true, если достигнут конец строки. То есть можно вложенным циклом перебрать все строки файла
Код:
while not EOF(f) do
begin
while not EOLN(f) do
begin
read(f,c);
{...}
end;
{...}
end;
Но в принципе от readln мало чем отличается.
надо много раз открыть файл на чтение
одновременно из одной проги чтоль? Или в разных участках кода? Закрываешь файл перед каждым новым открытием?
|
|
|

27.07.2007, 02:20
|
|
Banned
Регистрация: 13.09.2006
Сообщений: 523
Провел на форуме: 2869410
Репутация:
925
|
|
Сообщение от Joker-jar
Файл как я понимаю текстовый? Есть еще логическая функция EOLN, которая возвращает true, если достигнут конец строки. То есть можно вложенным циклом перебрать все строки файла
Код:
while not EOF(f) do
begin
while not EOLN(f) do
begin
read(f,c);
{...}
end;
{...}
end;
Но в принципе от readln мало чем отличается.
одновременно из одной проги чтоль? Или в разных участках кода? Закрываешь файл перед каждым новым открытием?
То что ты написал толку == 0 я это все знаю,незнал бы неспрашивал  Дела в том что прога может за 1 раз открывать 2 или 3 раза файл ReadLn в этом случае успешно вылетает 
|
|
|

27.07.2007, 02:24
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Ну незнаю, могу еще предложить файловые потоки. Если конечно на Vcl пишешь.
|
|
|

27.07.2007, 02:41
|
|
Постоянный
Регистрация: 11.03.2007
Сообщений: 581
Провел на форуме: 4172659
Репутация:
646
|
|
Вот что-то ужасное накидал
Код:
procedure ReadLNFile(filename: string);
var
f: THandle;
count: Dword;
buf: array[0..255] of char;
s: string;
begin
s := '';
f:= FileOpen(filename, fmOpenRead or fmShareDenyNone);
repeat
fillchar(buf, sizeof(buf), 0);
count := FileRead(f, buf, 256);
s := s + StrPas(buf);
while pos(#13#10, s) > 0 do
begin
messagebox(0,pchar(copy(s,1,pos(#13#10, s))),nil,0);
delete(s,1,pos(#13#10, s));
end;
until
count = 0;
FileClose(f);
messagebox(0,pchar(s),nil,0);
end;
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|