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

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

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.12.2011, 15:36   #1
Катя Анисина
 
Регистрация: 12.12.2011
Сообщений: 7
Печаль Подключение в Бд DTL & EVT формат

О уважаемые умы этого форума, столкнулась с производственной задачей создание БД. Никогда не с талкивалась. Необходимо прочитать их в dbf или в MS Access. Есть конвертор к этим файлам, конвертирует их в xls, они в 16-ти ричной системе, вроде, но тот же notepad их не просматривает. Все сделано, только с xls -> бд, все работает программа написана, но преобразование затрудняет, то что читаешь конвертором, потом xls в базу, а файлы огромные. Может кто сталкивался с таким форматом. При необходимости могу прикрепить конвертор.
Вложения
Тип файла: rar data.rar (258.6 Кб, 31 просмотров)
Катя Анисина вне форума Ответить с цитированием
Старый 13.12.2011, 05:33   #2
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Вы знаете сложно сказать чем можно почитать эти файлы не зная от чего они.
Что за программа их создает.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 13.12.2011, 09:27   #3
Катя Анисина
 
Регистрация: 12.12.2011
Сообщений: 7
По умолчанию

Файлы считываються с дисплея, в котором есть память на 128мб. Софт пишеться через программу EasyBuilder8000 там же есть и конвертор. Я прикрепила отделила конвертор для просмотра файлов. Все пишеть в битах по строчно.
Вложения
Тип файла: rar EasyConverter.rar (8.90 Мб, 15 просмотров)
Катя Анисина вне форума Ответить с цитированием
Старый 13.12.2011, 09:35   #4
alexiz
Пользователь
 
Регистрация: 19.08.2010
Сообщений: 54
По умолчанию

Цитата:
Программное обеспечение EasyBuilder 8000 предназначено для создания пользовательского интерфейса ( экранов ) для операторских панелей EasyView серий 6000i , 8000 .

Что можно делать с помощью EasyBuilder8000:

- размещать на экранах графические файлы в формате BMP ( логотипы, схемы, пиктограммы, итд)
- создавать кнопки,в том числе и невидимые, при нажатии на которые будет изменяться заданный регистр в PLC (бит, байт, выход, счетчик)
- выводить на экран значение любого регистра PLC в цифровом виде с возможностью пересчета
- выводить на экран значение любого регистра PLC в графическом виде ( прогресс бар, график, анимация, смена нескольких изображений в зависимости от состояния регистра )
- создавать текстовые надписи, изменяющиеся в зависимости от состояния регистра в PLC
- переключать экраны (до 2000 экранов ) в произвольном порядке, с помощью кнопок, либо с помощью регистра в PLC
- защищать любые парамеры с помощью пароля
- создавать макросы, запускаемые по таймеру, по нажатию кнопки, либо с PLC
И ни слова про работу с базами данных.

Если конвертер умеет сохранять в XLS, то Excel умеет сохранять в DBF!

Лучше прикрепить кусочек файла данных..
Ваша благодарность может быть материальной:
WM R103871054215, WM Z710411027344, ЯндД: 410011167596676
alexiz вне форума Ответить с цитированием
Старый 13.12.2011, 12:28   #5
Катя Анисина
 
Регистрация: 12.12.2011
Сообщений: 7
По умолчанию

В теме есть dtl & evt формат в файле data.rar в первом сообщение, и конвенртор в xls.Excel я подключаю к БД но проблема в том, что это процесс очень долгий, в каждом файле 80 тыс строк и 18 столбцов. Дело в том, что необходимо прочитат сам dtl файл, а с остальным я справилась.
Катя Анисина вне форума Ответить с цитированием
Старый 13.12.2011, 16:13   #6
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

реверс evt дал вот это
Код:
type
  TStaticRec=packed record
    Sec010170:integer;
    Event,Category,Length:byte;
  end;
  TVarRec=packed record
    Head:TStaticRec;
    Message:string;
  end;

function FormatRec(const Rec:TVarRec):string;
var d:TDateTime;
begin
  d:=EncodeDate(1970,01,01);
  d:=IncSecond(d,Rec.head.Sec010170);
  result:=AnsiQuotedStr(IntToStr(Rec.Head.Event),'"')+','+
          AnsiQuotedStr(IntToStr(Rec.Head.Category),'"')+','+
          AnsiQuotedStr(FormatDateTime('YY"/"MM"/"DD',d),'"')+','+
          AnsiQuotedStr(FormatDateTime('HH:mm:ss',d),'"')+','+
          AnsiQuotedStr(UTF8Decode(Rec.Message),'"');
end;


procedure TForm1.Button1Click(Sender: TObject);
var
  Stream:TFileStream;
  Rec:TVarRec;

begin
  Stream:=TFileStream.Create('EL_20110922.evt',fmOpenRead);
  try
    Stream.Position:=16;
    while Stream.Position<Stream.Size do
    begin
      Stream.ReadBuffer(Rec.Head,SizeOf(Rec.Head));
      SetLength(Rec.Message,Rec.Head.Length);
      Stream.ReadBuffer(PChar(Rec.Message)^,Rec.Head.Length);
      memo1.Lines.Add(FormatRec(Rec));
    end;
  finally
    Stream.Free;
  end;
end;
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 13.12.2011, 17:05   #7
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

первичный реверт dtl напоминает структуру dbf
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 14.12.2011, 10:26   #8
Катя Анисина
 
Регистрация: 12.12.2011
Сообщений: 7
Радость

Slym ты просто ГУРУ. УРАА! Работает. только функция incsecond ругаеться, пишет Undeclared identifier: 'IncSecond', сейчас посмотрю. С dtl еще не смотрела, если что можно обратиться в личку???
Катя Анисина вне форума Ответить с цитированием
Старый 14.12.2011, 16:53   #9
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

uses dateutils;
можно и в личку...
если dtl однотипный могу по типу evt смастерить, если разные (с разными полями) то сложнее... в личку не запретиш
Не стесняемся, плюсуем!
Slym вне форума Ответить с цитированием
Старый 14.12.2011, 19:25   #10
Катя Анисина
 
Регистрация: 12.12.2011
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Slym Посмотреть сообщение
uses dateutils;
можно и в личку...
если dtl однотипный могу по типу evt смастерить, если разные (с разными полями) то сложнее... в личку не запретиш
Да dtl однотипный, если тебя это не затруднит =). Я прописала ручками функцию IncSecond и все заработало=) Я еще не совсем разобралась как это работает =( Пока изучаю TStream и все что с ним связанно =)
Катя Анисина вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
КАК ПЕРЕДЕЛАТЬ ФОРМАТ mp4 В ФОРМАТ 3gp,MPEG4 kamalruslan Софт 4 20.08.2015 16:16
Определить:формат последовательности параметров & способ размещения последовательности переменных DenSyntax Помощь студентам 0 22.06.2010 17:26
подключение двух компьютеров к интернет через одно подключение Chudo4258 Помощь студентам 3 30.03.2010 16:07
Delphi подключение Help & manual DelphiQuestions Помощь студентам 0 17.11.2009 15:25
TForm & TImage & PNG & Прозрачность delphi_beginner Общие вопросы Delphi 7 19.09.2009 08:46