2016-03-16 5 views
0

Как я могу открыть форму, хранящуюся в текущем каталогеоткрыть форму из текущего каталога

do form ADDBS(JUSTPATH(SYS(16,0))) +"\form5.scx" WITH thisform.grid1.Column1.Text1.Value TO aa 

Я попытался это, но говорит, что файл не существует

+1

Если это текущий каталог, вам не нужен путь вообще. Просто DO FORM form5.scx ... –

ответ

1
do form form5 with ... 

VFP использует относительную Pathing а также пути поиска. Если он находится в текущем каталоге, он будет первым, который будет выбран VFP.

+0

Я пробовал то, что вы сказали, но не работает, дает мне эту ошибку «файл» C: \ Users \ ama \ Documents \ Visual FoxPro Projects \ form5.scx 'не существует " – BONIETTE

+0

Ну, это работает с первого дня работы foxpro, и он все еще работает. В вашем случае это означает, что в текущей папке нет Form5.scx. Он действительно существует в «C: \ Users \ ama \ Documents \ Visual FoxPro Projects»? Это странное место, чтобы поместить форму в любом случае. Вместо этого, возможно, вам стоит попробовать: do form (locfile ("form5.scx")) с ... –

+0

My form5.scx находятся в текущей папке. У меня есть form1.scx и form5.scx, которые расположены как в папке C: \ Users \ ama \ Desktop \ New, так и я пытаюсь получить форму form5 из form1. – BONIETTE

0

ADDBS (JUSTPATH ​​(SYS (16,0))) это добавляет уже косую черту ("\") в пути и добавить еще один слэш "\ form5.scx" может сделать сделать форму ADDBS (JUSTPATH ​​(SYS (16,0))) + «form5.scx»

или использовать относительный путь или locfile функции()

+0

Я боюсь, что вы ошибаетесь. VFP будет рассматривать путь таким же образом. Единственное отличие состоит в том, что если justpath (sys (16,0)) возвращает пустую строку, то \ form5.scx будет иметь другое значение. –

+0

ADDBS не будет добавлять другую косую черту, если там уже есть, –

0

, чтобы проверить то, что я сказал Скопируйте этот код и выполнить его: вы можете видеть, что есть 2 "\" addbs() работает только с тем, что оно применяется не во втором независимом члене пути.

local m.myvar 
text to m.myvar noshow 
messagebox(ADDBS(JUSTPATH(SYS(16,0))) +"\form5.scx") 
_cliptext=ADDBS(JUSTPATH(SYS(16,0))) +"\form5.scx" 
endtext 

strtofile (m.myvar, "test.prg")

сделать тест