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

Вниз

Не читает данные из файла   Найти похожие ветки 

 
john-s ©   (2010-06-15 18:25) [0]

Здравствуйте!
Проблема считыванием данных с файла GOOD.DBF именно проблема в файле. Если открыть блокнотом и изменить его дописав один символ все читается. Файл создает другая программа так что повлиять на него нет возможности. В чем проблема и как прочитать? Заранее спасибо!

Вот сам файл http://www.rapidshare.ru/1528375

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
f:TFileStream;
buf: array[0..100000] of char;
begin
f:= TFileStream.Create("D:\Progect Delphi\GOODS.DBF", fmOpenReadWrite);
label2.Caption:=inttostr(f.Seek(0,soFromEnd));
f.Seek(0, SoFromBeginning) ;
label1.Caption:=inttostr(f.Seek(0,soFromCurrent));
f.Read(buf, 100000);
Memo1.Lines.Add(buf);
f.Free;
end;


 
turbouser ©   (2010-06-15 18:29) [1]

Ээмм.. Так этож DBF. У него своя структура.. Зачем его блокнотом насиловать?


 
KilkennyCat ©   (2010-06-15 18:40) [2]

вычисляем шапку, поля, и читаем нативно, смещаясь куда надо, если так охота...
а вышеприведенный код полная глупость.


 
Правильный$Вася   (2010-06-15 18:48) [3]


> TFileStream.Create("D:\Progect Delphi\GOODS.DBF", fmOpenReadWrite);

это ты таким способом дбф читаешь?
ну-ну...
зачем так?


 
john-s ©   (2010-06-15 19:00) [4]

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


 
KilkennyCat ©   (2010-06-15 19:06) [5]

http://www.clicketyclick.dk/databases/xbase/format/index.html


 
_Юрий ©   (2010-06-15 19:25) [6]

Думаю, что разбираться с форматом файла в данном случае - лишнее.
Лучше изучить вопрос, как подключиться к файлу как источнику данных через компоненты доступа к БД.


 
Anatoly Podgoretsky ©   (2010-06-15 19:29) [7]

> turbouser  (15.06.2010 18:29:01)  [1]

Чтобы испортить.


 
john-s ©   (2010-06-15 19:34) [8]

спасибо буду разбираться


 
ixen ©   (2010-06-17 07:53) [9]

а можно открыть этот файл через Excel, он разобьет данные в соответствии со структурой файла и и можно будет свободно эти данные считывать обращаясь к соответствующей ячейке... ну это так ... как вариант...


 
brother ©   (2010-06-17 07:55) [10]

к dbf через excel? оригинально...


 
12 ©   (2010-06-17 08:45) [11]


> к dbf через excel? оригинально...

зато если комп юзерский и нет ничего под рукой - наверное единственный вариант.  Excel есть обычно у таких, а значит и VB
Грузим, и побежали по ячейкам :)
трабла в том, что не всегда поля понимает в правильном коде. Редко, но бывает.


 
Anatoly Podgoretsky ©   (2010-06-17 08:59) [12]


> к dbf через excel? оригинально...

Это нормально, вообще то Эксель в состояние читать из любого источника OLEDB


 
Правильный$Вася   (2010-06-17 11:22) [13]


> Это нормально, вообще то Эксель

ректально


 
KilkennyCat ©   (2010-06-17 12:38) [14]


> Anatoly Podgoretsky ©   (17.06.10 08:59) [12]

это ненормально, даже если Ексель установлен. Все равно что считать что-либо через вызов калькулятора.


 
GanibalLector ©   (2010-06-17 12:47) [15]


> я тока еще осваиваю делфи, с таким чудом столкнулся впервые
> куда копать натолкните в нужную сторону.


Поищи исходник компонента TDBF.


 
ixen ©   (2010-06-17 12:56) [16]

еще можно попробовать открыть файл через утилиту Database Desktop, входящая в состав Delphi и посмотреть структуру таблицы, а затем просто подключиться к ней через dataset какой нибудь...


 
Anatoly Podgoretsky ©   (2010-06-17 13:43) [17]


> ректально


> это ненормально, даже если Ексель установлен. Все равно
> что считать что-либо через вызов калькулятора.

Что же мне из-за ваших фобий отказываться от полноценной работы с данными в Экселе? Прикажете рисовать в Пайнте?


 
KilkennyCat ©   (2010-06-17 13:44) [18]

у тебя еще и паинт есть?!


 
12 ©   (2010-06-17 14:59) [19]

пайнт крутой редактор, не гоните

http://irc.lv/video?id=7Po22vKP74Zp


 
Anatoly Podgoretsky ©   (2010-06-17 15:17) [20]

> 12  (17.06.2010 14:59:19)  [19]

Там руки прямые.


 
KilkennyCat ©   (2010-06-17 15:38) [21]

ага, прямые, а планшет, да еще с подложенной картинкой и кривые выпрямит :)


 
Правильный$Вася   (2010-06-17 15:42) [22]


> Что же мне из-за ваших фобий отказываться от полноценной
> работы с данными в Экселе?

если это требует задача, то не отказываться
а вот автору для разбора данных в дельфе эксель ну как велосипедное колесо для альпиниста, вроде и применить можно, но нахрен не нужно


 
Anatoly Podgoretsky ©   (2010-06-17 16:34) [23]

> KilkennyCat  (17.06.2010 15:38:21)  [21]

Планшет там не поможет, и по демо видно, наклееная картинка окажет
незначительную пользу, но не сильную, там все таки основрое Руки.


 
KilkennyCat ©   (2010-06-17 17:46) [24]


> Правильный$Вася   (17.06.10 15:42) [22]

Зато в описание можно гордо вставить - требует наличие МС Оффиссе 12 и выше



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

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

Наверх





Память: 0.49 MB
Время: 0.007 c
15-1276424776
George
2010-06-13 14:26
2010.09.12
Шифрование на Delphi и PHP


2-1276935710
caesar_88
2010-06-19 12:21
2010.09.12
Windows Служба USB устройства


15-1276689705
AKE
2010-06-16 16:01
2010.09.12
Есть ли аналог TBitmap в Visual c++?


2-1276727283
TechnoDreamer
2010-06-17 02:28
2010.09.12
Zoom в TWebBrowser (обработка мыши)


2-1276848535
LDV
2010-06-18 12:08
2010.09.12
проверка существования поля в таблицах





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