Как определить тип 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С при открытии текстового файла скачивает файл целиком ?
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.