Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 818

/ вопрос открыт /

Здравствуйте, уважаемые эксперты!
Хочу спросить вот такой вопрос. У меня есть файл со своим расширением. Хочу создать такой же по структуре из Делфи.
Со структурой разобрался. Вот только все данные в этом файле как я понял в HEX-формате. На каком байте и что прописано понял, вот только не знаю как реализовать создание такого же файла?
Кто может чем помочь??? Хотя бы куда копать....
Как я понял... нужно создать HEX-файл, но почему там строковые данные сохранены текстом???? А циферные закодированы при просмотре блокнотом.. В общем, не пойму с чего начать.... Прошу помощи...

К вопросу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки вопроса)

Приложение:
  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. ...
  8.  


RAW Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: RAW (статус: Посетитель)
Вопрос отправлен: 15 декабря 2011, 10:05
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Короче, вот тебе пилотный вариант.
Поиграйся, если чо не так - пиши. Будем думать.
А то мне на обед пора.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 15 декабря 2011, 11:54
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 32; последнее сообщение — 15 декабря 2011, 16:15; участников в обсуждении: 2.

Страницы: [1] [2] [Следующая »]

min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 10:18 [#1]:

Надо бы ещё несколько таких файлов, чтобы сделать выводы.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 10:19 [#2]:

да хоть сколько могу сделать... токо как их прикрепить???
RAW

RAW (статус: Посетитель), 15 декабря 2011, 10:27 [#3]:

Да хотя бы точь-в точь такой же файл создать???? Только из Делфи???? Дальше я уж додоумаю!!!!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 10:37 [#4]:

Вот пример 11 мая. Пример 2

64 00 00 00 01 00 00 00 00 00 00 00 0E 4D 79 20
50 72 69 6D 65 72 20 52 61 63 65 05 00 00 00 0F
00 00 00 05 00 00 00 00 00 00 00 0A 00 06 48 6F
72 73 65 31 06 48 6F 72 73 65 32 06 48 6F 72 73
65 33 06 48 6F 72 73 65 34 06 48 6F 72 73 65 35
00 00 00 00 00

64 - первая буква "d" она везде такая
след. код тоже везде одинаковый до OE - это название, оно меняется.
Сразу после него идет номер месяца "05" - май, потом все так же до - "0F" - это день.
Потом все везде одинаково до "06" - это кол-во букв в имени.
Все остальные имена дальше точно как и первое имя
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 10:41 [#5]:

Я тут поковырялся, вот что надумал:

Создать такой файл проще простого, например через TFileStream. Нужно только определиться с его структурой.
1) Что там за 12 байт заголовка (32-битные числа 100, 1, 0)?
2) Что за таинственные 6 байт по смещению 0x1E (00 00 00 00 0A 00)?
3) Что за 6 нулей в конце.
Как объяснишь - напишу код создания файла.

Цитата (RAW):

да хоть сколько могу сделать... токо как их прикрепить???

Сунь штук 5 в один архив и выложи на файлопомойку (например, http://slil.ru), а ссылку - сюда. Посмотрим.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 10:42 [#6]:

структура такая
64 00 00 00 01 00 00 00 00 00 00 00 "кол.букв в названии" "название" "номер месяца" 00 00 00 "день месяца" 00 00 00 "номер класса" 00 00 00 00 00 00 "кол имен" 00 00 00 "кол букв в имени1" "само имя" "кол букв в имени2" и т.д. просто добавляются имена по кол-ву имен
в конце всего 00 00 00
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 10:53 [#7]:

Цитата (RAW):

"день месяца" 00 00 00 "номер класса"

Какой номер класса? После дня месяца идёт кол-во имён (04)!
И ещё вот на это ответь:

Цитата (min@y™):


2) Что за таинственные 6 байт по смещению 0x1E (00 00 00 00 0A 00)?
3) Что за 6 нулей в конце.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 10:57 [#8]:

Честно не очень понял эти последние байты и в середине...

ну вот сссылка на еще один файл такого плана
http://s017.radikal.ru/i401/1112/a9/cfae448c0e6d.jpg

И как он грузится в программу
http://s47.radikal.ru/i118/1112/1b/8db2b47163ed.jpg
RAW

RAW (статус: Посетитель), 15 декабря 2011, 11:00 [#9]:

После кол-ва имен идет номер класса, просто он может быть нудевым, а можно и задать от 0 до 4 в программе...
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 11:09 [#10]:

Цитата (RAW):

После кол-ва имен идет номер класса, просто он может быть нудевым, а можно и задать от 0 до 4 в программе...

Если номер класса = 4, то где же кол-во имён?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 11:11 [#11]:

Цитата (RAW):

Честно не очень понял эти последние байты и в середине...

Надо понять!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 11:25 [#12]:

кол-во идет перед номером класса
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 11:29 [#13]:

Цитата (RAW):

кол-во идет перед номером класса

В твоём первом примере (который я отсканировал) по какому смещению идёт кол-во имён и по какому - номер класса? Мне надо понять, где они располагаются и сколько байт занимают.

А так функция сохранения почти готова. Пока создаёт файл вплоть до даты.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 11:43 [#14]:

в моем примере класс 0, начинается сразу же после
04 00 00 00

класс будет
00 00 00 00
0A 00 - это фиг знает что такое.... разделитель может...

по концовке ощущение такое, что добивание происходит до чего-то в случае если мало имен... не могу врубиться

вот пример еще два файла

на 2 человека (12 декабря, 2 класс, Klassica)

http://i053.radikal.ru/1112/c5/b24ff41bec2d.jpg

на 37 человек (1 октября, 3 класс, New Klass)

http://s010.radikal.ru/i311/1112/50/bdf75aacf4fa.jpg

посмотри, быть может ты поймешь...
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 11:46 [#15]:

Ладно, понял, сделаю щас.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

15 декабря 2011, 12:14: Вопрос перемещён из тематического раздела Delphi » Общие вопросы по программированию в раздел Delphi » Работа с файловой системой модератором Ерёмин А.А.

RAW

RAW (статус: Посетитель), 15 декабря 2011, 12:55 [#16]:

Файл 1.mrn создан из программы?
Он не открывается прогой... Ошибка структуры....
Файл 5818_primer.mrn
открывается норм...
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 13:01 [#17]:

Цитата (RAW):

Файл 1.mrn создан из программы? Он не открывается прогой... Ошибка структуры.... Файл 5818_primer.mrn открывается норм...

А ты сравни эти 2 файла, найди отличия. И скажи мне.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 13:07 [#18]:

у работающего в конце 00 00 00 00 00 00
есть.... а у "1.mrn" нету....
min@y™

min@y™ (статус: Доктор наук), 15 декабря 2011, 13:11 [#19]:

Цитата (RAW):

у работающего в конце 00 00 00 00 00 00 есть.... а у "1.mrn" нету....

Ну так допиши туда эти 6 байт и попробуй открыть. И подумай, что означают эти нули.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
RAW

RAW (статус: Посетитель), 15 декабря 2011, 13:22 [#20]:

с нулями все нормально... только вот эти нули что то да значат... потому что их где-то ваще нет, если много имен, где-то их 6 гдето их 7....
причем больше в программе ничего не вводится, на чтобы можно было бы влиять

Страницы: [1] [2] [Следующая »]

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:59
Выполнено за 0.02 сек.