Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Внизкак загрузить из .txt с разделителями "^" в .db? Найти похожие ветки
← →
Daria (2005-12-06 14:47) [80]а что писать вместо SELECT * INTO Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt ????
← →
alex_*** © (2005-12-07 10:32) [81]напиши "Hello world"
← →
ANB © (2005-12-07 12:40) [82]
> alex_*** © (06.12.05 14:20) [78]
> ANB, судя по всему, не помог по аське. c:\Program Files\Borland\Delphi7\Demos\Db\
> - примеры по работе с БД
Ей и БД то не нужно. Нужно файл распилить на несколько, в зависимости от содержимого полей строк.
← →
Engel (2005-12-07 19:19) [83]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;
примерно так...разбираем построчно, а потом в базу.
← →
alex_*** © (2005-12-07 19:35) [84]жесть. кондово. и это предназначено для бедной Даши?
а из каких соображений выбрал такие размеры массивов? а если получим DocName.Length() > 29? Без Pchar и операций с указателями нельзя было? и комменты можно было б проставить.
← →
alex_*** © (2005-12-07 19:37) [85]и что-то я ни одного Dispose не вижу.
← →
аматор © (2005-12-07 22:18) [86]С диском проблема!!!
Проще будет в лине. Там дисков нет.
А текстовой файлик и бде открывает. И вообще обязательно текстовой файлик, может краше дбф иль подобное...(тем более: "ну файла пока нету..... но будет типа следующего:" зачем мучить тхт)...
← →
ANB © (2005-12-08 09:16) [87]
> Engel (07.12.05 19:19) [83]
У нее формат CSV(плавающие размеры полей с разделителями), а ты дал пример для фиксированного размера записи. Впрочем, я не поленился, убил вчера 15 минут и выслал ей работающий код.
ЗЫ. А девчонка ничего, прикольная, только феминистка.
← →
msguns © (2005-12-08 09:23) [88]>Engel (07.12.05 19:19) [83]
Спрячь и никому не показывай.
>ANB © (08.12.05 09:16) [87]
>А девчонка ничего, прикольная, только феминистка.
Я вот кое-кому-то расскажу-то
← →
sniknik © (2005-12-08 11:05) [89]> ЗЫ. А девчонка ничего, прикольная, только феминистка.
бороду сбрить, наколки свести, и ничего будет .... сипатишная. (и вовсе не феминистка, а нормальный)
← →
Daria (2005-12-08 11:23) [90]приветы всем!
а у меня опять проблем.
я тут все-таки поняла, что и базами ничего не помню....
поэтому, хелп!!!
как найти в .db строку, в первом поле которой например "ппп"????
← →
Плохиш © (2005-12-08 11:39) [91]
> Daria (08.12.05 11:23) [90]
Может ты всё-таки сходишь в магазин и купишь поллитра? ... ой блин, об чём это я? книжку каку-нибуть?
← →
ANB © (2005-12-09 10:38) [92]
> sniknik © (08.12.05 11:05) [89]
Ошень даже может быть.
← →
Sergey13 © (2005-12-09 10:54) [93]2[92] ANB © (09.12.05 10:38)
> Ошень даже может быть.
А чего шепелявить то начал. Уже повстречался? 8-)
← →
ANB © (2005-12-09 11:32) [94]
> Sergey13 © (09.12.05 10:54) [93]
Не, еще нет. Да и не стремлюсь - вдруг правда девченкой окажется. А у меня жена ревнивая.
← →
Daria (2005-12-09 11:57) [95]сейчас вас всех прямо-таки удивлю....
я действительно девушка
← →
Sergey13 © (2005-12-09 12:02) [96]2[95] Daria (09.12.05 11:57)
>я действительно девушка
Это твои трудности. 8-)
← →
Плохиш © (2005-12-09 12:22) [97]
> Daria (09.12.05 11:57) [95]
> я действительно девушка
"У каждого свои недостатки" (c) "В джазе только девушки" :-)
← →
Daria (2005-12-09 12:31) [98]:) ну спасибо на добром слове, блин!
Страницы: 1 2 3 вся ветка
Форум: "Базы";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];
Память: 0.62 MB
Время: 0.014 c