powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк с USE
5 сообщений из 5, страница 1 из 1
Глюк с USE
    #34915087
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет!

Встретился с таким глюком - если в начале имени файла стоит ! то такой файл програмно открыть невозможно, а только если дать команду USE ? и выбрать оный файл. Никакие макроподстановки и тп не работают, не работает даже если в командном окне четко указать USE path\file.dbf причем ошибка во всех случаях выдается всегда одна и та же на любой такой файл бд -
File 'C:\MyProg\Data\.dbc' does not exist

Встретил такую багу, когда писал прогу подмены стандартного грида на свой, потому пришлось SCAN FOR NOT "!"$Filename :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
CLEAR 
CLOSE DATABASES 
ADIR(arSCXFiles,"forms\*.scx")
IF ALEN(arSCXFiles, 1 )> 0 
   CREATE CURSOR curTemp (Filename C( 50 ))
   APPEND FROM ARRAY arSCXFiles
   RELEASE arSCXFiles
   SELECT ;
       Filename ;
     FROM curTemp ;
     INTO CURSOR curSCXFiles ;
     ORDER BY Filename
   USE IN curTemp
   SELECT curSCXFiles
   SCAN FOR NOT "!"$Filename 
     SELECT  0 
USE ('Forms\'+curSCXFiles.Filename)
 SCAN FOR BaseClass = "grid" OR BaseClass = "header" OR BaseClass = "textbox" OR BaseClass = "checkbox"
 DO CASE 
   CASE BaseClass = "grid"
      REPLACE Class WITH "mygrid",;
              ClassLoc WITH '..\class\mygrid.vcx',;
              Properties WITH STRTRAN(Properties ,'Column',"Mycolumn")
      REPLACE Properties WITH STRTRAN(Properties ,'MycolumnCount',"ColumnCount")

      lnOccurs = OCCURS('HeaderClassLibrary',Properties)
      FOR lnI= 1  TO lnOccurs
         lnPos = AT('HeaderClassLibrary',Properties)
         lnEndPos = lnPos +  34 
         DO WHILE SUBSTR(Properties,lnPos, 1 )#"M" &&Mycolumn óæå
            lnPos = LnPos- 1 
         ENDDO
         REPLACE Properties WITH STUFF(Properties,lnPos,lnEndPos-lnPos+ 1 ,'')
      ENDFOR
      
      lnOccurs = OCCURS('HeaderClass = ',Properties)
      FOR lnI= 1  TO lnOccurs
         lnPos = AT('HeaderClass = ',Properties)
         lnEndPos = lnPos +  25 
         DO WHILE SUBSTR(Properties,lnPos, 1 )#"M" &&Mycolumn óæå
            lnPos = LnPos- 1 
         ENDDO
         REPLACE Properties WITH STUFF(Properties,lnPos,lnEndPos-lnPos+ 1 ,'')
      ENDFOR

   CASE BaseClass = "header"
      REPLACE Class WITH "myheader", objname WITH "Myheader1",;
              parent WITH STRTRAN(parent,'Column',"Mycolumn"),;
              Properties WITH STRTRAN(Properties ,'Column',"Mycolumn")
      REPLACE Properties WITH STRTRAN(Properties ,'MycolumnCount',"ColumnCount")

   OTHERWISE 
      REPLACE parent WITH STRTRAN(parent,'Column',"Mycolumn")
   ENDCASE
ENDSCAN 
   USE

   ENDSCAN
   
   MESSAGEBOX("Completed", 64 )
ELSE
   MESSAGEBOX("Forms (.sct/.scx) not found", 64 )
   
ENDIF
при этом, среди прочего (макроподставы и тп), пробовал предварительно переименовывать .sct в .fpt и .scx в .dbf - не помогло.
vfp9sp1
...
Рейтинг: 0 / 0
Глюк с USE
    #34915175
Sergey Sizov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один обнаруживатель глюков. Плохо читавший хелп.
Символ "!" является разделителем между именем базы данных и именем таблицы в этой базе, например: tastrade!customers
...
Рейтинг: 0 / 0
Глюк с USE
    #34915257
CTAC-KO
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ё. Так я и думал! Я когда мессагу писал, то было такое чуйство, что я уже дето чето такое слыхал... Короче, открыл америку через форточку.

А кто шарит небось посмеялсо от души :) ну или хотя бы улыбнуло...

А вывод такой - "!" низзя в именах бд юзать!

С другой стороны грабли альтернативно на то и нужны, штоб на них наступать...
...
Рейтинг: 0 / 0
Глюк с USE
    #34915420
Burn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>А вывод такой - "!" низзя в именах бд юзать!
Ващето соглашения о именах никто не отменял
...
Рейтинг: 0 / 0
Глюк с USE
    #34915665
StandD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CTAC-KOС другой стороны грабли альтернативно на то и нужны, штоб на них наступать...

Во-во, просто бальзам на израненную душу (Обнаруживатель глюков №1) ;-)))
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Глюк с USE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]