Имя: Пароль:
1C
 
Как определить тип 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С при открытии текстового файла
скачивает файл целиком ?
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой