|
|
Как определить тип DBF? |
☑ |
|
0
Chum
28.05.10
✎
06:16
|
Программно из 7-ки или 8-ки как определить что за тип файла DBF - dbase 3/4/5?
|
|
|
1
PaulBC
28.05.10
✎
06:23
|
|
|
|
2
Chum
28.05.10
✎
06:31
|
и как не используя всякие hexviewrs получить первый байт заголовка?
|
|
|
3
skunk
28.05.10
✎
06:52
|
|
|
|
4
miki
28.05.10
✎
07:15
|
как вариант, заюзать текст:
_Text = CreateObject("Text");
_Text.Open("E:\123.dbf");
_Line = _Text.GetLine(1);
FirstSimb = Left(_Line,1);
If FirstSimb=2 Then
_Type = "FoxBase";
ElsIf FirstSimb=3 Then
_Type = "FoxBASE+/dBASE III PLUS/File without DBT";
ElsIf FirstSimb=4 Then
_Type = "dBASE IV w/o memo fil";
ElsIf FirstSimb=5 Then
_Type = "dBASE V w/o memo file";
ElsIf FirstSimb=48 Then
_Type = "Visual FoxPro";
ElsIf FirstSimb=123 Then
_Type = "dBASE IV with memo";
ElsIf FirstSimb=139 Then
_Type = "dBASE IV";
<...>
Else
_Type = "hz";
EndIf;
Message(_Type);
|
|
|
5
miki
28.05.10
✎
07:18
|
сорри, надо код символа:
FirstSimb = Asc(Left(_Line,1));
|
|
|
6
Chum
28.05.10
✎
07:22
|
(4) не взлетит ни разу
(1)(3) спасибо, ушел тестить
|
|
|
7
Chum
28.05.10
✎
07:24
|
(5) сорри, так должно получится. только то, что dbf открывается целиком в ( _Text.Open("E:\123.dbf"); ) есть очень большой минус.
|
|
|
8
skunk
28.05.10
✎
07:26
|
(7)тут уже аналогичная тема была ... поиском поискай
|
|
|
9
Torquader
29.05.10
✎
22:49
|
Блин, всё просто. Fso=CreateObject("Scripting.FileSystemObject); f=Fso.OpenTextFile("E:\123.dbf",1,0,0); s=f.Read(1);// читаем только один символ f.Close();// закрываем нафиг с=Asc(s);// получаем код первого символа
|
|
|
10
kiruha
30.05.10
✎
01:56
|
(7) А кто сказал что 1С при открытии текстового файла скачивает файл целиком ?
|
|