Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Stroki / 19 сообщений из 19, страница 1 из 1
30.05.2006, 18:44
    #33761558
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Ljudi, kak sravnitj stroki s komandoj IF? pitajusj sdelatj eto sledujuschim makarom:
Код: plaintext
1.
2.
3.
IF temp!=""
	dbpath=temp
ENDIF 
temp raven, dopustim "C:\". No delo v tom chto if proskakivajet stroku dbpath=temp
i shurujet dalshe, v chjem delo?
...
Рейтинг: 0 / 0
30.05.2006, 18:54
    #33761583
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
dj_ravenLjudi, kak sravnitj stroki s komandoj IF? pitajusj sdelatj eto sledujuschim makarom:
Код: plaintext
1.
2.
3.
IF temp!=""
	dbpath=temp
ENDIF 
temp raven, dopustim "C:\". No delo v tom chto if proskakivajet stroku dbpath=temp
i shurujet dalshe, v chjem delo?
Попробу так:
Код: plaintext
1.
2.
IF LEN(ALLTRIM(temp)) >  0 
  dbpath=temp
ENDIF
...
Рейтинг: 0 / 0
30.05.2006, 18:58
    #33761594
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Вариантов несколько:

1. if ! temp==""
2. if ! empty(temp)
3. if len(temp)>0
...
Рейтинг: 0 / 0
30.05.2006, 19:01
    #33761603
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
А когда выберешь себе вариант, то его, по моему мнению, лучше записать вот так (для моего первого варианта):

Код: plaintext
dbpath=iif(! temp=="", temp, dbpath)

Вместо трех строчек всего одна.
...
Рейтинг: 0 / 0
30.05.2006, 19:26
    #33761676
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
pervij variant srazu srabotal :)
Mozh mne esche kto-nitj srazu po gorjachim sledam podskazhet i reshenije sledujuschej problemmi? Kod:
Код: plaintext
1.
2.
3.
4.
5.
ind_dep_dbpath=sx

CLOSE DATABASES
SET PATH TO("")
OPEN DATABASE &ind_dep_dbpath SHARED
ind_dep_dbpath soderzhit putj k baze dannih. Problemma sledujuschaja, pri vizove Open database viskakivajet sledujuscheje: "Command contains unrecognized phrased/keyword". Pri starte programmis toit kod 1 k odnomu i vsje rabotajet
...
Рейтинг: 0 / 0
31.05.2006, 10:08
    #33762369
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Vilozhu polnij kod, mozh ponjatnej budet. Kod kotorij ne rabotajet, nahoditsja v forme options:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
sx=THISFORM.db_path.Value
UPDATE config SET Entry_val2=sx WHERE ALLTRIM(Entry_name)=ALLTRIM("ind_dep_path")
ind_dep_dbpath=sx

CLOSE DATABASES
SET PATH TO("")
OPEN DATABASE &ind_dep_dbpath+"dlvmaindb.dbc" SHARED

Kod kotorij rabotajet, nahoditsja v startovom fajle .prg:
Код: plaintext
1.
2.
3.
SET FILTER TO ALLTRIM(entry_name)=ALLTRIM("ind_dep_path") IN config
SCATTER TO temp_config
ind_dep_dbpath=ALLTRIM(temp_config[ 3 ])
OPEN DATABASE &ind_dep_dbpath+"dlvmaindb.dbc" SHARED
...
Рейтинг: 0 / 0
31.05.2006, 10:16
    #33762404
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Содержимое ind_dep_dbpath во втором случае абсолютно корректное?

зы: как-то ты очень сложно пишешь. что-то VB напоминает.
...
Рейтинг: 0 / 0
31.05.2006, 10:21
    #33762419
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Znachenije, schas tolko zametil, v pervom sluchaje "C:\DOCUMENTS AND SETTINGS\PBEZDENEZNIH\MY DOCUMENTS\VISUAL FOXPRO PROJECTS\DLV MAIN DATABASE\". a vov vtorom sluchaje, gde rabotajet, schas razbirajusj pochemu, vchera vsje pokazivalo kak nado, etot parametre vobsche pustoj
...
Рейтинг: 0 / 0
31.05.2006, 10:26
    #33762438
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
C теми данным, что у тебя сейчас есть должна сработать такая конструкция:
Код: plaintext
OPEN DATABASE (["]+ind_dep_dbpath+[dlvmaindb.dbc"]) SHARED
...
Рейтинг: 0 / 0
31.05.2006, 10:32
    #33762468
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
bolshoje spasibo, rabotajet :)
...
Рейтинг: 0 / 0
31.05.2006, 11:01
    #33762602
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
voznikla nebolshaja problemma. Ukazivaju putj v tojzhe permennoj "C:\DLV DATABASE RELEASE\DLVMAINDB.DBC", Reshil dobavitj v samu peremennuju i nazvanije bazi. V rezultate kod izmenil sledujuschim makarom:
Код: plaintext
OPEN DATABASE (["]+ind_dep_dbpath+["]) SHARED
Problemma voznikla takaja, ne vsegda, a ingoda pri starte programmi nachal vikidivatj sledujuschuju opshibku:
...
Рейтинг: 0 / 0
31.05.2006, 11:04
    #33762616
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
v obschem, neponjatno pochemu, on ili menjajet razreshenije dbc na db. ili pripisivajet esche v konce dopolnitelnij putj
...
Рейтинг: 0 / 0
31.05.2006, 11:33
    #33762751
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Он - это кто или что? Фокс? Сам он ничего не делает. Никакие .db не прописывает. Скорее всего это просто обрезка .dbc. Смотри свой код.
...
Рейтинг: 0 / 0
31.05.2006, 12:04
    #33762902
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
ladno vsje, sdelal slegka drugim makarom, zarabotalo. Ja mozh navernoje idiotom kazhusj. No ne sovsem vsegda ponimaju chto foxpro delajet.
Код: plaintext
1.
SET PATH TO (temp_str)
OPEN DATABASE (ind_dep_dbpath) SHARED
po ideje etot kod dolzhen bil smenitj rabochuju bazu dannih. Pered etim prediduschaja baza dannih zakrivajetsja i vibirajetsja drugaja baza dannih. No on prodolzhajet rabotatj s toj zhe bazoj. Pochemu?
...
Рейтинг: 0 / 0
31.05.2006, 12:08
    #33762914
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Это надо очень внимательно посмотреть содержимое temp_str и ind_dep_dbpath и проследить за их состоянием во время выполнения программы.
...
Рейтинг: 0 / 0
31.05.2006, 12:35
    #33763046
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
slushaj, a ne mozhet vlijatj na eto, to chto baza dannih vkljuchena v projekt? Mozh poetomu ona ne menjajetsja?
...
Рейтинг: 0 / 0
31.05.2006, 12:38
    #33763064
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
А это смотря что понимается под словом "включена". Если она включена в проект, но с указанием не включать в .exe - это одно и вполне нормально. А вот если с указанием включать в .exe - это уже совсем другое дело. Такие базы и таблицы в принципе не могут изменяться.
...
Рейтинг: 0 / 0
31.05.2006, 14:01
    #33763371
dj_raven
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
nu v .exe ne vkljucheno :) no vsje ravno bazu smenitj ne udajetsja :(
...
Рейтинг: 0 / 0
31.05.2006, 14:46
    #33763533
Проходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Stroki
Ну я ж не телепат, и сказать пока больше ничего не могу кроме "Ищите да обрящете" :)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Stroki / 19 сообщений из 19, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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