Пятница, 26 Апреля 2024, 07:02

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Собственный формат файлов.
Собственный формат файлов.
berzegovДата: Вторник, 20 Декабря 2011, 12:29 | Сообщение # 1
участник
Сейчас нет на сайте
Всем привет.Как создать свой собственный формат файлов, что бы оно содержало нужную мне информацию?

prog_154rusДата: Вторник, 20 Декабря 2011, 12:46 | Сообщение # 2
Lonely Developer
Сейчас нет на сайте
создай текстовый файл с особым расширением и туда зписывай инфу в нужном формате.
berzegovДата: Вторник, 20 Декабря 2011, 12:57 | Сообщение # 3
участник
Сейчас нет на сайте
А как сделать чтобы прога распознала этот формат файла.

LunarPixelДата: Вторник, 20 Декабря 2011, 13:33 | Сообщение # 4
старожил
Сейчас нет на сайте
berzegov, текстовый документ со своим собственным расширением будет распознаваться без проблем как txt. Т.е. работаешь с ним так же, как с текстовыми файлами. smile

arysДата: Вторник, 20 Декабря 2011, 13:53 | Сообщение # 5
почетный гость
Сейчас нет на сайте
Хд

500 символов не хватит, а писать начало... нету смысла без конца..
berzegovДата: Вторник, 20 Декабря 2011, 13:55 | Сообщение # 6
участник
Сейчас нет на сайте
Я тоже об этом думал.Попробую

TimKruzДата: Вторник, 20 Декабря 2011, 22:33 | Сообщение # 7
старожил
Сейчас нет на сайте
berzegov, текстовый файл сможет прочитать любой чайник, блокнотом. biggrin
Есть несколько вариантов, всё зависит от того, какую информацию тебе нужно хранить.
Если куча, например, чисел одинакового типа - file of "тип".
Если одинаковые записи с разными типами - тоже file of "тип", только строки хранить не удобно, т.к. тупо пробелами забивает, следовательно, лишние килобайты.
Можно вообще просто сделать - file of byte, а дальше уже обрабатывать каждый байт так, как тебе удобно.
Вот например, формат (на ходу придумываю):
Quote
  • Первые 4 байта - размер;
  • Следующие 10 байт - имя;
    ...
  • Блок информации размером, указанным в первых 4-х байтах файла;
  • Последние N байт - пожелания здоровья и счастья всем родственникам и друзьям в какой-нибудь вымершей кодировке. biggrin

  • Ну а читать по байтам. Сложно, конечно (ну, сложно писать алгоритм чтения/записи - а потом всё будет очень просто), зато компактно, блокнотом или hex-редактором открыть - ни фига не поймёшь.


    berzegovДата: Среда, 21 Декабря 2011, 00:14 | Сообщение # 8
    участник
    Сейчас нет на сайте
    Quote (TimKruz)
    Quote
    Первые 4 байта - размер;
    Следующие 10 байт - имя;
    ...
    Блок информации размером, указанным в первых 4-х байтах файла;
    Последние N байт - пожелания здоровья и счастья всем родственникам и друзьям в какой-нибудь вымершей кодировке.


    biggrin Мне надо хранить значения Edit'oв и т.д

    P.S. .ini не предлагать


    TimKruzДата: Среда, 21 Декабря 2011, 00:25 | Сообщение # 9
    старожил
    Сейчас нет на сайте
    Quote (berzegov)
    Мне надо хранить значения Edit'oв и т.д

    А, типа стринги, что ли? Ну тут всё просто. Чтобы долго не мучится, можно сделать такую схему:
    Quote
    edit1.text@edit2.text@edit3.text.........блаблабла

    Т.е. значения идут тупо подряд, а т.к. мы не знаем точной длины одной строки (можно, конечно, втыкать пробелы - но, как я уже говорил, это нерационально), вставляем символ-разделитель (например, "@", или любой другой, какой точно не встречается в строчках).
    Quote (berzegov)
    P.S. .ini не предлагать

    А чем тебе ini не нравится? (расширение можно любое поставить)
    И ещё: тебе нужно, чтобы пользователь не мог прочитать, или пусть читает?


    VintДата: Среда, 21 Декабря 2011, 00:56 | Сообщение # 10
    постоянный участник
    Сейчас нет на сайте
    Если до сих пор не разобрался, стучи в аську, дам пример, обьясню на пальцах

    Если ты не оставил комменты, значит ты редиска )))
    karuyДата: Среда, 21 Декабря 2011, 17:51 | Сообщение # 11
    заслуженный участник
    Сейчас нет на сайте
    Если хочешь, чтоб просто данные не были в голом виде, можно просто шифровать нехитрым КСОРОМ, без ключа не разшифруют. В файл пишешь например Едит1@значения# конечно в зашифрованом виде, пример:

    На входе я ввел Delphi: Delphi=ESб}
    berzegovДата: Среда, 21 Декабря 2011, 22:09 | Сообщение # 12
    участник
    Сейчас нет на сайте
    Quote (TimKruz)
    А чем тебе ini не нравится? (расширение можно любое поставить)
    И ещё: тебе нужно, чтобы пользователь не мог прочитать, или пусть читает?


    Буду экспериментировать с ini.Всем спасибо


    TheDanilДата: Четверг, 03 Января 2019, 13:52 | Сообщение # 13
    был не раз
    Сейчас нет на сайте
    Можно через CMD:
    1. пишешь cd и путь где будет храниться файл
    Например:
    Код
    C:\Users> cd C:\Users\"name"\Desktop>

    2. пишем copy con и название файла
    Код
    C:\Users\"name"\Desktop> copy con file.file


    По окончанию нажимаем: Ctrl+Z, Ent

    :D


    Делаю интересные игры)
    Форум игроделов » Программирование » Delphi/Pascal/Object Pascal » Собственный формат файлов.
    • Страница 1 из 1
    • 1
    Поиск:

    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг