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

Вниз

Как можно открыть типизированый файл, не зная его структуры?   Найти похожие ветки 

 
Diver   (2004-06-11 23:21) [0]

Как можно открыть типизированый файл, не зная его структуры?


 
default ©   (2004-06-11 23:24) [1]

тогда на основании чего ты жестоко обозвал его типизированным?


 
KilkennyCat ©   (2004-06-11 23:24) [2]

очень просто:

Var
f : file of byte;
b : byte;
begin
assignfile(f,"....");
reset(f)
while not EOF(f) do begin
  read(f, b);
// а вот тут уже надо делать анализ
 end;
closefile;
end;


 
KilkennyCat ©   (2004-06-11 23:25) [3]


> default ©   (11.06.04 23:24) [1]

почему нет? другая прога его записала типизированно...


 
default ©   (2004-06-11 23:26) [4]

KilkennyCat ©   (11.06.04 23:25) [3]
так если он не знает формата для него он нетипизированный


 
Anatoly Podgoretsky ©   (2004-06-11 23:27) [5]

А может просто слово красивое


 
KilkennyCat ©   (2004-06-11 23:29) [6]


> default ©   (11.06.04 23:26) [4]


точнее, для его программы :) Он-то знает, что типизированный :)
ИМХО, разработка алгоритма для анализа - охренеть. Того, кто разработает, без собеседования возьму к себе на работу :)


 
default ©   (2004-06-11 23:33) [7]

KilkennyCat ©   (11.06.04 23:29) [6]
имеется ввиду размер записи определить?
может попробовать перехватить API для работы с файлами в программе которая формир-ет этот файл, там посмотреть какими кусками читается он, может что и вышло бы...


 
Palladin ©   (2004-06-11 23:33) [8]

Хохо... сколько дашь? :)


 
Diver   (2004-06-11 23:35) [9]

он точно не текстовый! и состоит из базы определенных чисел распределенных по категориям...,тип и количество которых очень хотелось бы найти.


 
KilkennyCat ©   (2004-06-12 00:00) [10]


> Palladin ©   (11.06.04 23:33) [8]


400 зеленых :) я не богат. В моей фирме два человека, помимо меня, я им по 400 плачу. Экономлю даже на безине - пользуюсь метро :)


 
Diver ©   (2004-06-12 00:04) [11]

вот это тему изменили, тогда я буду посредником...


 
Anatoly Podgoretsky ©   (2004-06-12 00:27) [12]

Это твое заднее слово?


 
ИМХО ©   (2004-06-12 02:19) [13]

hex-едитор и вперед!


 
KilkennyCat ©   (2004-06-12 02:24) [14]


> ИМХО ©   (12.06.04 02:19) [13]


куда вперед?
предположим, я создал такой тип:

type AAA = record
 a : byte;
 b : byte;
 c : word
 d : word;
 e : integer;
end;


Что Вы увидите в хекс-едиторе?


 
ИМХО ©   (2004-06-12 02:36) [15]

Ну и что ты хочешь этим сказать?


 
Johnmen ©   (2004-06-12 02:46) [16]

>Anatoly Podgoretsky ©  (11.06.04 23:27) [5]
>А может просто слово красивое

:)))


 
GuAV ©   (2004-06-12 02:57) [17]


> Что Вы увидите в хекс-едиторе?

Integerы часто там, где весь их диапазон не нужен, т.е. dword aligned куски с "случайными данными" ближе к началу, с более-менее повторяющимися с нулями на конце :)


 
GuAV ©   (2004-06-12 02:58) [18]

ну т.е. сначало - что угодно, потом повторяющиеся значения, потом 0


 
GuAV ©   (2004-06-12 02:59) [19]

<offtop text="кстати в hex-editore иконки 32х32 клёво смотрятся">


 
KilkennyCat ©   (2004-06-12 03:27) [20]

т.е., если мой тип не знать, то вы его без проблем определите?

а может, он такой?

type AAA = record
s : string[6];
e : integer;
end;


 
Johnmen ©   (2004-06-12 03:41) [21]

>KilkennyCat ©  (12.06.04 03:27) [20]
>т.е., если мой тип не знать, то вы его без проблем определите?

Или даже такой
type AAA = record
s : MySuperType1;
e : MySuperType2;
end;

:)


 
KilkennyCat ©   (2004-06-12 05:05) [22]

вот именно :)
Так что, хекседитор отдыхает.


 
Рамиль ©   (2004-06-12 11:36) [23]


> KilkennyCat ©   (12.06.04 03:27) [20]

Не, ну если он такой, то скорее всего без проблем, так как будут повторяться осмысленные строки, и размер блока, по крайней мере, найти можно.


 
KilkennyCat ©   (2004-06-12 12:10) [24]


> Рамиль ©   (12.06.04 11:36) [23]


А можно поподробней? Каким образом найти размер блока? И как определить смысл, если String[6] я решил использовать для хранения почтовых индексов (ну захотелось мне их в строковом виде) ?


 
Рамиль ©   (2004-06-12 12:28) [25]


> KilkennyCat ©   (12.06.04 12:10) [24]

Строка, обычно, содержит только определенные символы, и в hex редакторе не будет "закорючек" (что я и имел ввиду под осмысленностью). Не, я конечно понимаю, что можно извратиться и хранить в string, все кроме #0, но я бы так не делал.

P. S. Поехал я в деревню, отдохну от города, достало уже... Всем пока:)


 
KilkennyCat ©   (2004-06-12 12:40) [26]

Мда. У меня есть описание. Есть осмысленный текстовый файл, вордовского формата... и у меня пока с трудом получается его разобрать.


 
iZEN   (2004-06-13 10:34) [27]

to KilkennyCat ©   (12.06.04 12:40) [26].

Вам надо вордовский файл не ручками разбирать, а использовать доступ к нему как к объектному хранилищу через COM.
Здесь это доступно описано:
"Разработка COM-приложений в среде Delphi"
Автор(ы): Эрик Хармон
Издательство: Вильямс
Объём: 464 стр.
Год издания: 2000 г.
ISBN: 5-8459-0074-3


 
KilkennyCat ©   (2004-06-13 11:10) [28]


> iZEN   (13.06.04 10:34) [27]


Да? Спасибо. Это будет работать под ДОСом?


 
RealRascal ©   (2004-06-13 11:10) [29]

а если винайсом посмотреть что там и как сохраняется другой прогой?
(может я повторяю [13]?)
а вообще, файл - это как факт, и интепретировать его можно как угодно. Не зная ничего о его происхождении врядли удастся что-нибудь оттудова высосать полезного...
Вот интересно, как формируются эти типизированные файлы?
Я как-то пробовал объявлять тип, содержащий строки, и наполнял типизированный файл переменными этого типа, потом открыл его блокнотом в надежде увидеть буковки... ан нет, там ваще белиберда какая-то была... Не представляю себе, как это происходит...
Может кто просвятит?
Заодно это и автору поможет...


 
iZEN   (2004-06-13 11:26) [30]

/**KilkennyCat ©   (13.06.04 11:10) [28]
> iZEN   (13.06.04 10:34) [27]
Да? Спасибо. Это будет работать под ДОСом?
*/
НЭТ.



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

Форум: "Потрепаться";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.033 c
10-1016527979
Dmitry Borisovets
2002-03-19 11:52
2004.07.04
Manage clients


9-1078843848
Zak3D[@Tm]
2004-03-09 17:50
2004.07.04
Создание карты в РПГ


4-1085547587
Bar
2004-05-26 08:59
2004.07.04
Как отловить обновление рабочего стола?


3-1086330712
freeman82
2004-06-04 10:31
2004.07.04
Добавление новой записи


1-1087724570
killer
2004-06-20 13:42
2004.07.04
Меню состоящее из одних изображений?





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