Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2009, 12:02   #1
element
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 21
По умолчанию Файл не читается (

Здраствуйте,
скажите вот пытаюсь файл прочесть, замучился уже.
как он в другой проге:


а как в моей


((
Код:
type
     Tlistik = record
     Number: string[200];
     name: integer;
   end;

   TCop = record
     Name: string[200];
     id: string[200];
  end;

var
Form1: TForm1;
Listik: Tlistik;
Cop: TCop;
Stream: TFileStream;



procedure TForm1.Button2Click(Sender: TObject);
var i: Integer;
begin
  try
   
    Stream := TFileStream.Create(edit1.Text, fmOpenRead);
   except
     ShowMessage('Cannot open file.');
     Exit;
   end;
   listbox2.Clear;
  listbox3.Clear;
  try
  for i:= 1 to strtoint(edit2.Text) do
   begin
     Stream.ReadBuffer(listik, SizeOf(Tlistik));
     Listbox2.Items.Add(listik.number + '-' + inttostr(listik.Name));
   end;
  for i := 1 to strtoint(edit2.Text) do
   begin
     Stream.ReadBuffer(Cop, SizeOf(TCop));
     Listbox3.Items.Add(Cop.Name + ' - ' + Cop.id);
   end;
  finally
    Stream.Free;
 end;
 end;
element вне форума Ответить с цитированием
Старый 23.06.2009, 12:14   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вы его структуру знаете?
похоже что нет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.06.2009, 13:47   #3
element
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 21
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а вы его структуру знаете?
похоже что нет
не знаю структуры, но есть оффсеты листов. как с оффсетами их получить не подскажете?

Код:
Elements.data informations = 10309-MYEN-cli
Start offset = 4
Start From : 4 to 8,
Bytes skipped(4) : 9EE8A848
list0.length in bytes = 0
	========	
Start offset = 8
list1.length : 1905
list1.length in bytes = 160024
	========	
Start offset = 160032
list2.length : 7
list2.length in bytes = 480
	========	
Start offset = 160512
list3.length : 24
list3.length in bytes = 8548
	========	
Start offset = 169060
list4.length : 1819
list4.length in bytes = 2553880
	========	
Start offset = 2722940
list5.length : 7
list5.length in bytes = 480
	========	
Start offset = 2723420
list6.length : 17
list6.length in bytes = 1228
	========	
Start offset = 2724648
list7.length : 1487
list7.length in bytes = 1641652
	========	
Start offset = 4366300
list8.length : 3
list8.length in bytes = 208

и т.д.

Последний раз редактировалось element; 23.06.2009 в 13:51. Причина: offsets
element вне форума Ответить с цитированием
Старый 23.06.2009, 13:58   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это смещения и размеры самих данных а вам нужна их структура
иначе не прочесть(можно попробывать повытягивать данные используя смещение и длину)
и попытатся понять структуру блока
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 23.06.2009, 14:23   #5
element
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 21
По умолчанию

а как их повытягивать?
element вне форума Ответить с цитированием
Старый 23.06.2009, 18:38   #6
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

попробуй каким нибудь редактором посмотреть (типа блокнот или чтото такое)..
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Старый 24.06.2009, 01:29   #7
element
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 21
По умолчанию

структура нашлась, спасибо Ntlegend
element вне форума Ответить с цитированием
Старый 24.06.2009, 18:50   #8
element
Пользователь
 
Регистрация: 08.11.2007
Сообщений: 21
По умолчанию ((

Ntlegend ,ошибку дает



код этот:
Код:
type
 TList1 = record
 xz0: INTEGER;
 Name: string[64];
 xz1: integer;
end;

var List1:array of TList1;


.....
procedure TForm1.Button1Click(Sender: TObject);
var
f:cardinal;
br:cardinal;
p : pchar;
begin
//количество итемов
//list1.length : 1905
p := pchar(fnameedit.Text);
Setlength(List1, 1905);
f:=CreateFile(p,GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING, 0,0);
try
//смещение до начала листа
//Start offset = 8
SetFilePointer(f, 8, nil, 0);

//длинна в байтах всех итемов
//list1.length in bytes = 160024
ReadFile(f, List1[0], 160024, br, nil);//читаем в первый элемент масива
finally
CloseHandle(f);
end;
end;
element вне форума Ответить с цитированием
Старый 24.06.2009, 20:40   #9
Ntlegend
Форумчанин
 
Аватар для Ntlegend
 
Регистрация: 12.05.2007
Сообщений: 373
По умолчанию

list1{
[ID, Name, ??, ??, ??, ??]
int>1
Wstring:64
int>4

после строки не одно а 4 поля integer!!

P.S. не флуди на форуме.. по вопросам в асю пиши
Перемен! - требуют наши сердца. Перемен! - требуют наши глаза.
В нашем смехе и в наших слезах, И в пульсации вен:
"Перемен!Мы ждем перемен!"
Ntlegend вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bmp файл читается не до конца CHizzzER Общие вопросы C/C++ 3 30.03.2009 12:37
Дан файл, содержащий текст на русском языке.Составить в алфавитном порядке список слов в файл. JiLiYa Паскаль, Turbo Pascal, PascalABC.NET 3 26.12.2008 12:05
Не читается файл Акашаев Нурлан PHP 6 17.11.2008 12:58
Как читается Droid Общие вопросы Delphi 2 22.05.2008 00:02
Не читается один из жёстких дисков PsyTech Операционные системы общие вопросы 7 01.12.2007 13:26