![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Чтение из файла по байтно [Delphi, Windows]
KOLBoss © (2007-09-02 06:31:00)Доброе время Суток всем!
Добрые люди подсажите как провельно с помошью KOL считывать файлы по байтам.
Справку я читал вот и написал примерчик нерабочий
F:= FileCreate(sFile, ofOpenRead);
while FileEOF(F) and (i < 101) do
begin
FileSeek(F, 7, 0);
FileRead(F, B, 2);
s:= s + StringHex(B);
inc(i);
end;
FileClose(F);
Зарание Большое спасибо.
KOLBoss (2007-09-03 12:04:00) [1]Спасибо работает!
Compiler (2007-09-03 11:27:00) [2]
> Compiler © (03.09.07 11:25) [19]
Ошибочка вышла.
Rename и KOL нет.
Использовать MoveFile(...);
Compiler (2007-09-03 11:25:00) [3]
> а как тогда переименовать файл?
RenameFile(Pchar('OldName'),Pchar('NewName'),True);
KOLBoss (2007-09-03 09:38:00) [4]В книшке написано
ChangeFileExt( fname, ext ) - изменяет расширение указанного файла.
а как тогда переименовать файл?
Vladimir Kladov (2007-09-03 08:33:00) [5]Это функция, возвращает строку 'C:\123.txt'. Вы ее просто не используете.
KOLBoss (2007-09-03 07:46:00) [6]
procedure TForm1.Button1Click(Sender: PObj);
begin
ChangeFileExt('C:\123.xxx', '.txt')
end;
Почему неработает
версия KOL 2.69
KOLBoss (2007-09-03 06:17:00) [7]Большое спасиба всем (Осебенно "ANTPro"),
Заработала!
ANTPro (2007-09-02 17:27:00) [8]> [13] KOLBoos (02.09.07 17:04)
Пойдет?
program Project1;
uses KOL;
var
ST: PStream;
FileID: array[0..3] of Char;
begin
ST := NewReadFileStream('test.rar');
ST.Position := 0;
ST.Read(FileID, 4);
if FileID='Rar!' then MsgOK('Это RAR');
ST.Free;
end.
KOLBoos (2007-09-02 17:04:00) [9]http://www.kolnmck.ru/lessons/lessons11.shtml
там тоже рабрта с картинками
у меня снифилка на спутник настроена
много неизвестных файлов, понятно что вручную только парится м время тратить
вот и мне надо програмулинку для определения типа файла.
ANTPro (2007-09-02 16:59:00) [10]> [11] KOLBoss © (02.09.07 16:44)
http://www.kolnmck.ru/lessons/lessons11.shtml- сюда ходи :)
Кстати а что ты хочешь то? :)
KOLBoss (2007-09-02 16:44:00) [11]http://www.kolnmck.ru/lessons/lessons.shtml
зачем мне справочник на английском у меня уже есть на русском
наверно имелось ввиду http://www.kolnmck.ru/lessons/H_File.shtml
там нет FileCreate
homm (2007-09-02 16:37:00) [12]> Спасибо за www.KOLNMCK.ru но там одни обновления
http://www.kolnmck.ru/lessons/lessons.shtml
KOLBoos (2007-09-02 16:36:00) [13]
> Vladimir Kladov
Зачем такие замудрения на VCL всё просто работает через Stream кроме Reset по сети не работает (нехватает прав)
я ненавичёк в делфи долько в KOL навичок
неужеле нет нигде в инете примерчика (дайте линк пожалуйста).
KOLBoos (2007-09-02 16:31:00) [14]Спасибо за www.KOLNMCK.ru но там одни обновления
наверно имелось ввиду http://kolmck.net/я там не нашёл примера для чтения из вайлов кроме битмепов
Stream:= NewReadFileStream(sFile);
SetLength(s, 100); //выделяем память
Stream.Read(s[1], 100);
пробывал неработает.
Vladimir Kladov (2007-09-02 16:20:00) [15]String это указатель на то место, где хранится строка. Вы пытаетесь затереть указатель и еще 100-4=96 байт памяти в стеке, убивая программу наповал. Сначала вам нужно прочитать книжку по Delphi и по Паскалю. В своей книжке Вирта, Семашко и других авторов переписывать я не намерен у меня книга по KOL.
Вам нужен 1 байт, читайте в Char или в Byte.
s := s + x; в цикле - это самое медленное, что можно придумать. Память выделять нужно заранее, или большими блоками, по 1 байту - процессор сгорит.
Дмитрий К (2007-09-02 16:15:00) [16]
Stream:= NewReadFileStream(sFile);
SetLength(s, 100); //выделяем память
Stream.Read(s[1], 100);
...
ANTPro (2007-09-02 16:15:00) [17]> [3] KOLBoos (02.09.07 15:12)
Кстати на www.KOLNMCK.ru есть куча статей :)
ANTPro (2007-09-02 16:14:00) [18]> [3] KOLBoos (02.09.07 15:12)
Stream.ReadStr;
KOLBoos (2007-09-02 15:12:00) [19]Чего-то неполучается, почемуто в s:string; пусто
что там что здесь всеравно пусто.
Stream:= NewReadFileStream(sFile);
Stream.Read(s, 100);
Дайте примерчик
В книшке нет примеров в чём у меня и затруднения.
KOLBoos (2007-09-02 12:53:00) [20]Спасибо за совет, попрубую
а зачем тогда FileCreate
и небудет-ли медленно если огромный файл, а мне нужен только заголовок
StringHex это моя функция