Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Формат данных, Формат данных 
V
    Опции темы
brusel
Дата 2.3.2008, 22:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Программа сохраняет данные в каком-то формате с расширением *.kap. Помогите определить формат и как записать данные обратно в базу. Пример прилагается.

Присоединённый файл ( Кол-во скачиваний: 6 )
Присоединённый файл  1.RAR 4,63 Kb
PM MAIL   Вверх
Данкинг
Дата 2.3.2008, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Формат лично я не определил, но ИМХО самодельный парсинг поможет.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
brusel
Дата 2.3.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



а можна на нормальном языке, а то туплю!!
PM MAIL   Вверх
Данкинг
Дата 2.3.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 35
Всего: 130



Можно: внимательно изучаешь структуру данных в этом текстовом файле, выявляешь закономерность, а затем пишешь программу на любом известном тебе языке, которая из этой абстракции делает структуры нормальной БД.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
brusel
Дата 2.3.2008, 23:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Короче. Вот программа из которой нужно взять експорт и импорт данных. Формат данных должен быть таким же. Для чего все это нужно? Делаю свою, на мой взгляд лучшую програму. Очень надо. Заранее благодарю.
Если получится, дайте примеры процедур. 
Если кто хочет помочь напише адрес куда скинуть архив. Размер 450 кб.

Мой [email protected]
PM MAIL   Вверх
dumb
Дата 3.3.2008, 03:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: нет
Всего: 158



то, что в Data.rar - это база Paradox. гугл легко выдаст пару сотен тысяч примеров работы с ней.
20.kap - обычный типизированный файл со структурами, которые идентичны структуре записи в таблице Ikpap.db(открыть ее можно через Database Desktop(в оболочке дельфей в меню Tools) - File, Open, Table...)

сэмпл(похоже, я сошел с ума - такой фигней страдать... smile):
Код

type
  SomeRec = packed record
    Counter : String[11];
    C_Code  : String[3];
    N_Code  : String[2];
    DataSkl : String[10];
    ProtNum : String[6];
    FamN    : String[20];
    D_Code  : String[2];
    Pos_Node: String[2];
    ST_Code : String[5];
    Pov_Code: String[1];
    DataV   : String[10];
    FamS    : String[20];
    NameS   : String[14];
    SonameS : String[19];
    DataBD  : String[10];
    ObjName : String[22];
    NamePos : String[22];
    Pos_Code: String[1];
    PRO_Code: String[2];
    NameRoz : String[20];
    Nap_Code: String[1];
    RI_Code : String[2];
    DataRi  : String[10];
    PostN   : String[3];
    SumR    : String[3];
    SumK    : String[2];
    UData   : String[10];
    UNData  : String[10];
    UUData  : String[10];
    SKN_Code: String[1];
    SKP_Code: String[1];
    SS_Code : String[1];
    NPR_Code: String[1];
    PZ_Code : String[1];
    SVS_Code: String[1];
    KZap    : String[20];
    KZData  : String[10];
    PError  : String[1];
    SF      : String[1];
  end;

procedure TForm1.Button1Click(Sender: TObject);
var
  f: File of SomeRec;
  r: SomeRec;
begin
  AssignFile(f, '20.kap');
  Reset(f);
  while not Eof(f) do begin
    Read(f, r);
    // work with record
  end;
  CloseFile(f);
end;

PM MAIL   Вверх
brusel
Дата 3.3.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Сделал пример но выдает ошибку в строке     
Код

Read(f, r[i]);


Где я глючу? Код примера

Код

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, DB, DBTables, Grids, DBGrids;

type
  TMember = record
    Counter : String[11];
    C_Code  : String[3];
    N_Code  : String[2];
    DataSkl : String[10];
    ProtNum : String[6];
    FamN    : String[20];
    D_Code  : String[2];
    Pos_Node: String[2];
    ST_Code : String[5];
    Pov_Code: String[1];
    DataV   : String[10];
    FamS    : String[20];
    NameS   : String[14];
    SonameS : String[19];
    DataBD  : String[10];
    ObjName : String[22];
    NamePos : String[22];
    Pos_Code: String[1];
    PRO_Code: String[2];
    NameRoz : String[20];
    Nap_Code: String[1];
    RI_Code : String[2];
    DataRi  : String[10];
    PostN   : String[3];
    SumR    : String[3];
    SumK    : String[2];
    UData   : String[10];
    UNData  : String[10];
    UUData  : String[10];
    SKN_Code: String[1];
    SKP_Code: String[1];
    SS_Code : String[1];
    NPR_Code: String[1];
    PZ_Code : String[1];
    SVS_Code: String[1];
    KZap    : String[20];
    KZData  : String[10];
    PError  : String[1];
    SF      : String[1];
  end;
type
  TForm1 = class(TForm)
    ReadButton: TButton;
    SaveButton: TButton;
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    Table: TTable;
    StringGrid1: TStringGrid;
    procedure ReadButtonClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
end;

var
  Form1: TForm1;
  r: array of TMember;

implementation

{$R *.dfm}

procedure TForm1.ReadButtonClick(Sender: TObject);
var
  f: File of TMember;
  i:integer;
begin
  AssignFile(f, '20.kap');
  Reset(f);
  try
  i:=0;
  while not Eof(f) do
    begin
    Read(f, r[i]);
    // work with record
    StringGrid1.Cells[0,i]:=r[i].counter;
    StringGrid1.Cells[1,i]:=r[i].C_Code;
    StringGrid1.Cells[1,i]:=r[i].N_Code;
    i:=i+1;
    end;
  finally
  CloseFile(f);
  end;
end;
end.

PM MAIL   Вверх
dumb
Дата 3.3.2008, 22:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: нет
Всего: 158



F1, Dynamic arrays
PM MAIL   Вверх
brusel
Дата 3.3.2008, 23:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Поподробней. Я же сказал глючуууу
PM MAIL   Вверх
dumb
Дата 4.3.2008, 06:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


sceloglauxalbifacies
****


Профиль
Группа: Экс. модератор
Сообщений: 2929
Регистрация: 16.6.2006

Репутация: нет
Всего: 158



Цитата(brusel @  3.3.2008,  23:18 Найти цитируемый пост)
Я же сказал глючуууу
smile
Код

procedure TForm1.ReadButtonClick(Sender: TObject);
var
  f: File of TMember;
  i, count: integer;
begin
  AssignFile(f, '20.kap');
  Reset(f);
  try
    count:=FileSize(f);
    if count<>0 then
      begin
      SetLength(r, count); //!!!
      i:=0;
      while not Eof(f) do
        begin
        Read(f, r[i]);
        // work with record
        StringGrid1.Cells[0,i]:=r[i].counter;
        StringGrid1.Cells[1,i]:=r[i].C_Code;
        StringGrid1.Cells[1,i]:=r[i].N_Code;
        i:=i+1;
        end;
      end;
  finally
    CloseFile(f);
  end;
end;



PM MAIL   Вверх
brusel
Дата 4.3.2008, 09:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 2.3.2008

Репутация: нет
Всего: нет



Ура!! Все рабатает.
Всем спасибо. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема »


 




[ Время генерации скрипта: 0.0526 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.