Главная страница
    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.

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



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

Форум: "Начинающим";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.54 MB
Время: 0.004 c
2-1282687644
Просто Я
2010-08-25 02:07
2010.11.14
Так что ж такое Лейбл


15-1280521768
Юрий
2010-07-31 00:29
2010.11.14
С днем рождения ! 31 июля 2010 суббота


2-1282134061
Сергей
2010-08-18 16:21
2010.11.14
Ошибка отключаю связь таблиц


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


15-1281001916
Аналитик
2010-08-05 13:51
2010.11.14
Какая технология лучше для данной задачи?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский