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

Вниз

Файл   Найти похожие ветки 

 
DenKop ©   (2002-04-10 11:20) [0]

Как обрезать последние, например, 2 байта файла.
Файл открываю так:
FileHandle := FileOpen("c:\p1.enc",fmOpenReadWrite);
....
FileClose(FileHandle);

Помнится делал это на Паскале, но там я открывал через
AssignFile(...), но как делал на отрез не помню.


 
Song ©   (2002-04-10 11:27) [1]

Прочитайте файл в BlockRead
А потом через BlockWrite запишите на 2 байта меньше. В чём проблема?


 
vuk ©   (2002-04-10 11:37) [2]

FileSeek, SetEndOfFile


 
Alx2 ©   (2002-04-10 11:41) [3]

SetFilePointer(hFile, dwNewFileSize, NULL, FILE_BEGIN);
SetEndOfFile(hFile);


 
DenKop ©   (2002-04-10 12:34) [4]

to Song © > Это будет слишком громоздко и некрасиво.
to vuk ©,Alx2 © > Спасибо.Этот вариант работает с одним уточнением NULL заменил на NIL.

to Alx2 © > А можно поподробнее про NIL и FILE_BEGIN.
В хелпе ничего не нашёл, нашел только то, что
NIL - lpDistanceToMoveHigh
FILE_BEGIN - dwMoveMethod
Но об этих константах тоже ничего не сказано.


 
Alx2 ©   (2002-04-10 14:41) [5]

FILE_BEGIN - значит смещаемся от начала файла
lpDistanceToMoveHigh не равна Nil, а равна указателю на переменную типа DWORD, если смещение выходит за границы 32-битной арифметики. То есть для поддержки 64-битной


 
DenKop ©   (2002-04-10 15:08) [6]

Alx2 >Спасибо!
P.S.про NIL. Я имел ввиду в моём случае.


 
DenKop ©   (2002-04-10 15:10) [7]

Alx2 >Спасибо!

P.S.про NIL. Я имел ввиду в моём случае.


 
Alx2 ©   (2002-04-10 15:13) [8]

>DenKop © (10.04.02 15:08)
Это я криво написал. В твоем случае как раз Nil :))

... If the value of this parameter is NULL, SetFilePointer can operate only on files whose maximum size is 2^32 - 2. If this parameter is specified, the maximum file size is 2^64 - 2. This parameter also receives the high-order word of the new value of the file pointer.


 
DenKop ©   (2002-04-10 15:43) [9]

OK



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

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

Наверх




Память: 0.48 MB
Время: 0.017 c
3-69675
IronHawk
2002-03-28 13:34
2002.04.22
Приветствую Мастеров ! Всевозможные операции в базе !


14-69994
Дмитрий
2002-03-15 12:24
2002.04.22
Документооборот?


14-70021
KvORubin
2002-03-17 18:24
2002.04.22
RichEdit - как в нём отобразить непечатаемые символы (как в M.Office)


1-69904
ProNix
2002-04-09 16:00
2002.04.22
Преобразование мелких букв


14-69969
Hiks1
2002-03-13 07:15
2002.04.22
Alt+F4