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

Вниз

Запись типизированных файлов больше 2 гиг   Найти похожие ветки 

 
A_Ton ©   (2010-08-18 12:14) [0]

Нужен пример копирования произвольного непрерывного фрагмента из такого файла в новый файл. Номера фреймов начала и конца фрагмента имею, читать могу, а вот копировать когда фрагмент находится в области за 2 гигами ( до 4 гиг ) не получается ;-(  . Может кто помочь?


 
brother ©   (2010-08-18 12:32) [1]

> читать могу, а вот копировать когда фрагмент находится в
> области за 2 гигами ( до 4 гиг ) не получается ;-(  . Может
> кто помочь?

показывай код ;)


 
A_Ton ©   (2010-08-18 12:33) [2]

Народ, если сами не знаете, то хоть подскажите где должны знать и смогут помочь, плиз...


 
brother ©   (2010-08-18 12:34) [3]

возможно здесь помогут, из тебя код клещами тянуть?


 
Юрий Зотов ©   (2010-08-18 12:34) [4]

Похоже, Вы читаете весь файл сразу.


 
A_Ton ©   (2010-08-18 12:36) [5]


показывай код ;)
Вы от ответа не уходите, я ведь никому не предлагал свой код... мне Ваш пример нужен, а ен разбор моих ошибок!


 
brother ©   (2010-08-18 12:43) [6]

> Вы от ответа не уходите,

я и не ухожу

> я ведь никому не предлагал свой код

спрятал хорошо?

> мне Ваш пример нужен,

тебе нужен программист?
> а ен разбор моих ошибок!

вообще то так обычно и делается


 
A_Ton ©   (2010-08-18 12:43) [7]


> Похоже, Вы читаете весь файл сразу.

Нет, читаю фреймами. Обозначаю начало и конец нужного фрагмента, позиционируюсь правильно. Для записи использую
WriteFile(Hdc,RecFile,SizeOf(RecFile),bytesWritten, nil);
Создаю файл нулевой длинны и вылетаю...


 
sniknik ©   (2010-08-18 12:52) [8]

> и вылетаю...
куда? если на канары, в отпуск, например то хорошо... пришли код по которому можно также вылететь.


 
A_Ton ©   (2010-08-18 12:54) [9]

Hdc:=CreateFile(PChar(SaveFDlg.FileName),GENERIC_WRITE,0,nil,
                               CREATE_NEW,FILE_FLAG_WRITE_THROUGH,0);
    If Hdc=0 then Begin
       MessageBox(Handle,"Не могу открыть файл для копии!","Ошибка",MB_ICONERROR);
       Exit; end;
    ShowMessage("Cozdan!");
    for i:= 0 to NFrames-1 do begin
      if (i>=FrStPos) and (i<=FrEndPos) then continue;
      RdKadr(i);
      WriteFile(Hdc,RecFile,SizeOf(RecFile),bytesWritten, nil);
      Application.ProcessMessages;
      if (i mod 5 =0) then VTrBar.Position:=i;
    end;
    CloseHandle(Hdc);


 
brother ©   (2010-08-18 12:54) [10]

> пришли код по которому можно также вылететь

) он его хорошо спрятал! А хочет - халявного прогера заиметь ;)


 
brother ©   (2010-08-18 12:57) [11]

> [9] A_Ton ©   (18.08.10 12:54)

какие-то "ошметки" кода...


 
A_Ton ©   (2010-08-18 12:59) [12]


> какие-то "ошметки" кода...
> <Цитата>

Вероятно Вы мало что понимаете в работе с фаёлами. Для тех кто соображает этого фрагмента вполне хватит чтобы подсказать хотя бы на уровне идеи...


 
brother ©   (2010-08-18 13:00) [13]

> Вероятно Вы мало что понимаете в работе с фаёлами.

Видимо мало...


 
Игорь Шевченко ©   (2010-08-18 13:01) [14]


> Для тех кто соображает этого фрагмента вполне хватит чтобы
> подсказать хотя бы на уровне идеи...


Подсказываю:
1. Убавь наглость
2. Смени деятельность


 
A_Ton ©   (2010-08-18 13:02) [15]


> Подсказываю:
> 1. Убавь наглость
> 2. Смени деятельность

А по сути не копенгаген?


 
Игорь Шевченко ©   (2010-08-18 13:04) [16]


> А по сути не копенгаген?


вполне копенгаген. но не ведусь


 
A_Ton ©   (2010-08-18 13:07) [17]

Удалено модератором


 
brother ©   (2010-08-18 13:07) [18]

http://www.yakimchuk.ru/questions.htm


 
A_Ton ©   (2010-08-18 13:09) [19]

Удалено модератором


 
brother ©   (2010-08-18 13:11) [20]

Когда спрашиваете о коде

Даже и не просите других отладить ваш неработающий код, без какого-либо описания проблемы, которую должны найти. Отправка нескольких сотен строк кода со словами: «Чего-то у меня не работает», будет проигнорирована. Лучше отправить десяток строк кода со словами: «после 7-ой строки я ожидал увидеть <x>, но вместо этого получил <y>», и скорее всего ответ вы получите.

Если вы хотите, чтобы ваш код просто посмотрели, дали ему оценку, на забудьте указать какие именно куски кода необходимо посмотреть и почему.


 
A_Ton ©   (2010-08-18 13:14) [21]

Удалено модератором


 
A_Ton ©   (2010-08-18 13:17) [22]

Удалено модератором


 
brother ©   (2010-08-18 13:21) [23]

Удалено модератором


 
A_Ton ©   (2010-08-18 13:24) [24]

Удалено модератором


 
RWolf ©   (2010-08-18 13:24) [25]


> A_Ton ©   (18.08.10 12:14)

> Запись типизированных файлов больше 2 гиг

> A_Ton ©   (18.08.10 12:54) [9]
> Hdc:=CreateFile(PChar(SaveFDlg.FileName),GENERIC_WRITE,0,nil,
>                               CREATE_NEW,FILE_FLAG_WRITE_THROUGH,0);


Но ведь это же не типизированный файл.


 
brother ©   (2010-08-18 13:25) [26]

Согласен с [14]


 
A_Ton ©   (2010-08-18 13:28) [27]


> Но ведь это же не типизированный файл.

Спасибо! Можно пояснить чайнику? А как надо?


 
A_Ton ©   (2010-08-18 13:31) [28]


> Но ведь это же не типизированный файл.

Hd:=CreateFile(PChar(CrrDatFName),GENERIC_READ,0,nil,
                               OPEN_EXISTING,FILE_FLAG_WRITE_THROUGH,0);
Для чтения. Прекрасно работает до 4Гб !


 
RWolf ©   (2010-08-18 13:35) [29]

и больше работает — WinAPI всё-таки.
в чём затруднение-то? если в позиционировании, то см. SetFilePos.


 
A_Ton ©   (2010-08-18 13:37) [30]


> в чём затруднение-то? если в позиционировании, то см. SetFilePos.

Если бы я это знал... Создаёт файл, пашет некоторое время и вылетает. На выходе создан файл 0 байт.


 
A_Ton ©   (2010-08-18 13:39) [31]


> SetFilePos

Это не работает, всё не так просто...


 
RWolf ©   (2010-08-18 13:40) [32]


> RWolf ©   (18.08.10 13:35) [29]

SetFilePointer, я хотел сказать.


 
A_Ton ©   (2010-08-18 13:42) [33]


> SetFilePointer, я хотел сказать.

Вы точно коллега, честное спасибо! Но нужен типовой код от мастера...
И статейка бы не помешала... А то только про текстовые файлики пишут ;-(


 
A_Ton ©   (2010-08-18 13:55) [34]

Удалено модератором


 
Игорь Шевченко ©   (2010-08-18 14:07) [35]

все работает, файлы создаются и больше 2-х гиг и больше 4-х гиг.

Читайте справку, выпрямляйте руки.


 
A_Ton ©   (2010-08-18 14:11) [36]


> все работает, файлы создаются и больше 2-х гиг и больше
> 4-х гиг.

Всё это что? И про справку уточните - Где читать????


 
Игорь Шевченко ©   (2010-08-18 14:34) [37]

A_Ton ©   (18.08.10 14:11) [36]


> Всё это что?


Всё - это про то, что файлы сказанного размера создаются при помощи CreateFile и WriteFile. Справку тоже надо по ним читать. Обрабатывать неудачный результат работы функции, получать больше информации, думать над ней.


 
RWolf ©   (2010-08-18 14:34) [38]

Delphi: Help — Windows SDK; SetFilePointer, CreateFile и т. п.


 
A_Ton ©   (2010-08-18 14:40) [39]


> Всё - это про то, что файлы сказанного размера создаются
> при помощи CreateFile и WriteFile.

Это инфа для студенток из литературного колледжа ;=))))
Пример в студию!


 
A_Ton ©   (2010-08-18 14:46) [40]


> Всё - это про то, что файлы сказанного размера создаются
> при помощи CreateFile и WriteFile.

Люди работающие над серьёзными проектами в промышленности такую фигню не используют... У меня видео с данными в одном фрейме - легко ваш код уложу при Вашей неаккуратности....


 
grammar-nazi   (2010-08-18 14:50) [41]


> A_Ton ©   (18.08.10 14:46) [40]

что-то я подозреваю, что люди, "работающие над серьёзными проектами в промышленности", знают разницу между паскалевским типизированным файлом и файлом-объектом ядра.


 
A_Ton ©   (2010-08-18 14:54) [42]


> разницу между паскалевским типизированным файлом и файлом-
> объектом ядра

В данном случае НЕТ - сейчас это не нужно!


 
antonn ©   (2010-08-18 15:17) [43]

integer?


 
Игорь Шевченко ©   (2010-08-18 15:18) [44]


> Пример в студию!


У тебя денег-то хватит, чудо ?



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

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

Наверх




Память: 0.57 MB
Время: 0.009 c
15-1280471380
tesseract
2010-07-30 10:29
2010.11.14
Всех причастных с днём сисамдмина.


2-1281828999
Гость
2010-08-15 03:36
2010.11.14
В каком параметре записана ширина стрелочки у TComboBox?


2-1281521447
unknow
2010-08-11 14:10
2010.11.14
Как избежать повторного ввода данных в базу?


10-1169756215
Asail
2007-01-25 23:16
2010.11.14
Неполный список книг в Excel 2003


11-1226388197
Максим
2008-11-11 10:23
2010.11.14
Ошибка в последнем дистрибутиве KOL MCK!