Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

как загрузить из .txt с разделителями "^" в .db? [D7]


Страницы:   1 2 3 4 5

Daria ©   (2005-12-05 13:19:00) 

Подскажите, пожалуйста, как загрузить из .txt с разделителями "^" в .db в Delphi???


Daria   (2005-12-09 12:31:00) [1]

:) ну спасибо на добром слове, блин!


Плохиш   (2005-12-09 12:22:00) [2]


> Daria   (09.12.05 11:57) [95]
> я действительно девушка

"У каждого свои недостатки" (c) "В джазе только девушки" :-)


Sergey13   (2005-12-09 12:02:00) [3]

2[95] Daria   (09.12.05 11:57)
>я действительно девушка
Это твои трудности. 8-)


Daria   (2005-12-09 11:57:00) [4]

сейчас вас всех прямо-таки удивлю....
я действительно девушка


ANB   (2005-12-09 11:32:00) [5]


> Sergey13 ©   (09.12.05 10:54) [93]

Не, еще нет. Да и не стремлюсь - вдруг правда девченкой окажется. А у меня жена ревнивая.


Sergey13   (2005-12-09 10:54:00) [6]

2[92] ANB ©   (09.12.05 10:38)
> Ошень даже может быть.
А чего шепелявить то начал. Уже повстречался? 8-)


ANB   (2005-12-09 10:38:00) [7]


> sniknik ©   (08.12.05 11:05) [89]

Ошень даже может быть.


Плохиш   (2005-12-08 11:39:00) [8]


> Daria   (08.12.05 11:23) [90]

Может ты всё-таки сходишь в магазин и купишь поллитра? ... ой блин, об чём это я? книжку каку-нибуть?


Daria   (2005-12-08 11:23:00) [9]

приветы всем!
а у меня опять проблем.
я тут все-таки поняла, что и базами ничего не помню....
поэтому, хелп!!!
как найти в .db строку, в первом поле которой например "ппп"????


sniknik   (2005-12-08 11:05:00) [10]

> ЗЫ. А девчонка ничего, прикольная, только феминистка.
бороду сбрить, наколки свести, и ничего будет .... сипатишная. (и вовсе не феминистка, а нормальный)


msguns   (2005-12-08 09:23:00) [11]

>Engel   (07.12.05 19:19) [83]

Спрячь и никому не показывай.

>ANB ©   (08.12.05 09:16) [87]
>А девчонка ничего, прикольная, только феминистка.

Я вот кое-кому-то расскажу-то


ANB   (2005-12-08 09:16:00) [12]


> Engel   (07.12.05 19:19) [83]

У нее формат CSV(плавающие размеры полей с разделителями), а ты дал пример для фиксированного размера записи. Впрочем, я не поленился, убил вчера 15 минут и выслал ей работающий код.

ЗЫ. А девчонка ничего, прикольная, только феминистка.


аматор   (2005-12-07 22:18:00) [13]

С диском проблема!!!
Проще будет в лине. Там дисков нет.
А текстовой файлик и бде открывает. И вообще обязательно текстовой файлик, может краше дбф иль подобное...(тем более: "ну файла пока нету..... но будет типа следующего:" зачем мучить тхт)...


alex_***   (2005-12-07 19:37:00) [14]

и что-то я ни одного Dispose не вижу.


alex_***   (2005-12-07 19:35:00) [15]

жесть. кондово. и это предназначено для бедной Даши?
а из каких соображений выбрал такие размеры массивов? а если получим DocName.Length() > 29? Без Pchar и операций с указателями нельзя было? и комменты можно было б проставить.


Engel   (2005-12-07 19:19:00) [16]

unit t;

interface

uses Classes, SysUtils;

type
T0Rec=packed record
 LineCode      : char;
 ENRD        : array [0..15] of char;
 DocName       : array [0..29] of char;
 PlDocNum      : array [0..2] of char;
 LineTerminator   : array [0..1] of byte;
end;

 T0Imp=Class
 private
 F0Recs: TList;
   FKBKList: TStringList;
   FKBKCount: Integer;

   function Get(Index: Integer): T0Rec;
   procedure put(Index: Integer; const Value: T0Rec);
   function GetCount: Integer;
   function IsKBKPresent (KBK: String): Boolean;
   function GetKBKList: Integer;
 public
  constructor Create;
  destructor Free;
  procedure Add (Value: T0Rec);
  function LoadData (FileName: String): Integer;
   function FindENRD (ENRD: String): Integer;
  property Items[Index: Integer]: T0Rec read Get write put; default;
  property Count: Integer read GetCount;
   property KBKList: TStringList read FKBKList;
   property KBKCount: Integer read FKBKCount;
 end;

implementation

uses
 Dialogs;

{ T0Imp }

procedure T0Imp.Add(Value: T0Rec);
var
Tmp: ^T0Rec;
begin
New (Tmp);
Tmp^:=Value;
F0Recs.Add(Tmp);
end;

constructor T0Imp.Create;
begin
inherited Create;
F0Recs:=TList.Create;
FKBKList:=TStringList.Create;
FKBKCount:=0;
end;

destructor T0Imp.Free;
begin
F0Recs.Clear;
F0Recs.Free;
FKBKList.Clear;
FKBKList.Free;
inherited Destroy;
end;

function T0Imp.Get(Index: Integer): T0Rec;
begin
Result:=T0Rec(F0Recs[Index]^);
end;

function T0Imp.LoadData(FileName: String): Integer;
var
F: TFileStream;
Buff: T0Rec;
begin
Try
Try
 F:=TFileStream.Create(FileName, fmOpenRead);
except
  MessageDlg('Ошибка открытия файла '+FileName, mtError, [mbOK], 0);
   Result:=-1;
 Exit;
end;
While (F.Read(Buff, SizeOf(Buff))=SizeOf(Buff)) do
 Begin
  If (Buff.LineCode='1') or (Buff.LineCode='2') or (Buff.LineCode='3') Then
    Add(Buff);
  end;
Try
 FKBKCount:=GetKBKList;
except
  MessageDlg('Ошибка извлечения списка КБК из '+FileName, mtError, [mbOK], 0);
 Exit;
end;
Finally
F.Free;
Result:=F0Recs.Count;
end;
end;

procedure T0Imp.put(Index: Integer; const Value: T0Rec);
var
Tmp: ^T0Rec;
begin
New (Tmp);
Tmp^:=Value;
F0Recs[Index]:=Tmp;
end;

примерно так...разбираем построчно, а потом в базу.


ANB   (2005-12-07 12:40:00) [17]


> alex_*** ©   (06.12.05 14:20) [78]
> ANB, судя по всему, не помог по аське. c:\Program Files\Borland\Delphi7\Demos\Db\
> - примеры по работе с БД

Ей и БД то не нужно. Нужно файл распилить на несколько, в зависимости от содержимого полей строк.


alex_***   (2005-12-07 10:32:00) [18]

напиши "Hello world"


Daria   (2005-12-06 14:47:00) [19]

а что писать вместо SELECT * INTO Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt ????


Daria   (2005-12-06 14:41:00) [20]

ой, блин, он мне пишет, "нераспознаваемый формат базы данных" когда я в connection свой текстовый файл указываю....


Страницы:   1 2 3 4 5

Наверх

Титульная страница Поиск, карта сайта Написать письмо