Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Вниз

Запись типизированных файлов больше 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.55 MB
Время: 0.004 c
2-1282423057
Rembo
2010-08-22 00:37
2010.11.14
Наследование: вызов метода потомка через родителя


2-1282575219
mfender
2010-08-23 18:53
2010.11.14
Узнать, есть ли свойство у контрола?


3-1247637607
Alexander
2009-07-15 10:00
2010.11.14
ADO: использование Command в качестве source для Recordset


2-1282080138
подмастерье
2010-08-18 01:22
2010.11.14
Изменение свойств формы


15-1280992834
Polkin
2010-08-05 11:20
2010.11.14
MySQL Server has gone away





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский