Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.09;
Скачать: CL | DM;

Вниз

Проблема в работе с файлами   Найти похожие ветки 

 
npAKTuk ©   (2003-12-24 20:41) [0]

Суть: надо считать 128 последних байтов файла на заданную последовательность.

h:=fileopen("e:\1.mp3",fmOpenReadWrite);
Buffer := PChar(AllocMem(128 + 1));
fileseek(h,-128,2);
fileread(h,Buffer,128);
fileclose(h);

Вот так я пытался это сделать, но буфер остается пустым!
Люди, помогите! я уже не просто не понимаю!


 
Тимохов ©   (2003-12-24 20:50) [1]

Ты проверь, что у тебя возвращает FileSeek.

If FileSeek is successful, it returns the new position of the file pointer; otherwise, it returns -1.


 
Тимохов ©   (2003-12-24 20:51) [2]

ShowMessage(IntToStr(fileseek(h,-128,2)));


 
npAKTuk ©   (2003-12-24 20:53) [3]

Это проходит. возвращает правильную позицию fileseek(h,0,2)-128.


 
Автоответчик   (2003-12-24 20:54) [4]

А как объявляешь Buffer?


 
npAKTuk ©   (2003-12-24 20:55) [5]

var buffer: PChar;


 
Тимохов ©   (2003-12-24 21:02) [6]

Напиши fileread(h,Buffer^,128);


 
npAKTuk ©   (2003-12-24 21:06) [7]

Есть!!! очень большое спасибо!

ЗЫ ой как же я не люблю указатели!


 
Тимохов ©   (2003-12-24 21:07) [8]

Да я сам эти Var Buffer; терпеть не могу.
Дельфи люблю - но это полное г...


 
Автоответчик   (2003-12-24 21:08) [9]

Buffer := PChar(AllocMem(128 + 1));
нельзя делать если ты объявил
var buffer: PChar;

сделай хотя бы Buffer: array [0..129] of byte(или char) и увидишь, что все будет Ок, а там и поймешь, что у тебя не так (это принципиально и лучше ты поймешь это сам - крепче запомнится).


 
Автоответчик   (2003-12-24 21:09) [10]

Ну вот, я и опоздал, уже разьяснили ;)



Страницы: 1 вся ветка

Текущий архив: 2004.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
9-25179
G A M E R
2003-06-17 13:14
2004.01.09
Colission Detector


1-25397
Michael K
2003-12-24 14:54
2004.01.09
GraphicEx требует JPG.PAS, а его нет!


14-25569
Думкин
2003-12-18 07:36
2004.01.09
С днем рождения! 18 декабря.


9-25164
Солер
2003-06-25 16:43
2004.01.09
Карточные игры


4-25661
Spawn
2003-10-30 15:53
2004.01.09
Хук в разных ОС