Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по Базе данных
Вопрос по Базе данных
Alex3AДата: Вс, 08 Марта 2009, 02:27 | Сообщение # 31
Друг клуба ММВ
Quote (Peter)
Да, и вообще, достали уже эти тормоза с нашим сайтом!

У меня аналогичная картина, так как "всякия банеры" не присутствуют во множестве, скорее всего у юкоса полосы не хватает.
Quote (mishem)
Никак я с переменными не разберусь, куда, когда и что нужно прописывать

Зачастую, многие участки кода неоднократно повторяються во всех программах, ты сначала сделай несколько тестовых примеров,
и отработай на них определенные функции, когда поймеш что делает и зачем нужен каждый элемент, будеш воспринимать
текст программы как предложение написанное человеческим языком. biggrin
Quote (mishem)
, а Outpost не дал

Странно, у меня то же стоит, но скачал и распаковалбез проблем и никакого ffjmpweb.dll правда бука у меня не стоит и я его не запускал, однако, ловушки запускаются только из длл,
так что выходит это она и есть.
П,С, Сейчас заметил, при наборе поста какие то тормоза, а это уже чегото с перемудрено со скриптами на странице.
 
Сообщение
Quote (Peter)
Да, и вообще, достали уже эти тормоза с нашим сайтом!

У меня аналогичная картина, так как "всякия банеры" не присутствуют во множестве, скорее всего у юкоса полосы не хватает.
Quote (mishem)
Никак я с переменными не разберусь, куда, когда и что нужно прописывать

Зачастую, многие участки кода неоднократно повторяються во всех программах, ты сначала сделай несколько тестовых примеров,
и отработай на них определенные функции, когда поймеш что делает и зачем нужен каждый элемент, будеш воспринимать
текст программы как предложение написанное человеческим языком. biggrin
Quote (mishem)
, а Outpost не дал

Странно, у меня то же стоит, но скачал и распаковалбез проблем и никакого ffjmpweb.dll правда бука у меня не стоит и я его не запускал, однако, ловушки запускаются только из длл,
так что выходит это она и есть.
П,С, Сейчас заметил, при наборе поста какие то тормоза, а это уже чегото с перемудрено со скриптами на странице.

Автор - Alex3A
Дата добавления - 08 Марта 2009 в 02:27
mishemДата: Вс, 08 Марта 2009, 02:33 | Сообщение # 32
Эксперт форума
Quote (Peter)
Код - в студию, плиз!

:Open
GoSub "SaveResult"

FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""

FileCopy "[FileName]" "sample"
dbfOpen "sample" ""
dbfSetColumnTitles "[PubDir]sample" " НАИМЕНОВАНИЕ ТОВАРА| КОЛ-ВО| ЦЕНА| ИТОГ| ОСТАТОК| БРАК| ВЫРУЧКА"
dbfSetTitleStyle "[PubDir]sample" "44,61,211" "Times New Roman" "9" "Bold" "White"
dbfSetCellStyle "[PubDir]sample" "White" "Arial" "9" "Normal" "Black"
dbfShowTable "[PubDir]sample" "Rectangle1" "ReadOnly"
dbfSetSortLocale "24"

ExtractFileName "[FileName]" "[ActiveTable]"
ChangeFileExt "[ActiveTable]" "" "[ActiveTable]"
dbfGetRecordCount "[PubDir]sample" "[Count]"
dbfGetSeqRecordNumber "[PubDir]sample" "[RecNum]"
StrUpper "[ActiveTable]" "[ActiveTable]"

dbfSort "[PubDir]sample" "[PubDir]sample" "NAZVANIE" "Ascending"
dbfSetSortLocale "24"
Return

Quote (Peter)
Можно, но...
При запуске плагины подключаются к приложению раньше, чем начинает работать код, прописанный даже в секции "Startup", поэтому DBPro ругнется раньше, чем ключ окажется в Реестре.

А зачем вообще изощряться, можно файл реестра вместе с прогой кинуть. happy И ВСЕ happy А там уж сами пускай решают. happy

Добавлено (08 Март 2009, 02:33)
---------------------------------------------

Quote (mishem)
Зачастую, многие участки кода неоднократно повторяються во всех программах, ты сначала сделай несколько тестовых примеров,
и отработай на них определенные функции, когда поймеш что делает и зачем нужен каждый элемент, будеш воспринимать
текст программы как предложение написанное человеческим языком

С простенькими кое как доходит, когда переменные есть. А вот когда их откуда то взять надо, или присвоить, или назначить.. Вот тут я торможу конкретно. happy Сижу и все подрят перебираю. Авось натолкнусь happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
Код - в студию, плиз!

:Open
GoSub "SaveResult"

FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""

FileCopy "[FileName]" "sample"
dbfOpen "sample" ""
dbfSetColumnTitles "[PubDir]sample" " НАИМЕНОВАНИЕ ТОВАРА| КОЛ-ВО| ЦЕНА| ИТОГ| ОСТАТОК| БРАК| ВЫРУЧКА"
dbfSetTitleStyle "[PubDir]sample" "44,61,211" "Times New Roman" "9" "Bold" "White"
dbfSetCellStyle "[PubDir]sample" "White" "Arial" "9" "Normal" "Black"
dbfShowTable "[PubDir]sample" "Rectangle1" "ReadOnly"
dbfSetSortLocale "24"

ExtractFileName "[FileName]" "[ActiveTable]"
ChangeFileExt "[ActiveTable]" "" "[ActiveTable]"
dbfGetRecordCount "[PubDir]sample" "[Count]"
dbfGetSeqRecordNumber "[PubDir]sample" "[RecNum]"
StrUpper "[ActiveTable]" "[ActiveTable]"

dbfSort "[PubDir]sample" "[PubDir]sample" "NAZVANIE" "Ascending"
dbfSetSortLocale "24"
Return

Quote (Peter)
Можно, но...
При запуске плагины подключаются к приложению раньше, чем начинает работать код, прописанный даже в секции "Startup", поэтому DBPro ругнется раньше, чем ключ окажется в Реестре.

А зачем вообще изощряться, можно файл реестра вместе с прогой кинуть. happy И ВСЕ happy А там уж сами пускай решают. happy

Добавлено (08 Март 2009, 02:33)
---------------------------------------------

Quote (mishem)
Зачастую, многие участки кода неоднократно повторяються во всех программах, ты сначала сделай несколько тестовых примеров,
и отработай на них определенные функции, когда поймеш что делает и зачем нужен каждый элемент, будеш воспринимать
текст программы как предложение написанное человеческим языком

С простенькими кое как доходит, когда переменные есть. А вот когда их откуда то взять надо, или присвоить, или назначить.. Вот тут я торможу конкретно. happy Сижу и все подрят перебираю. Авось натолкнусь happy

Автор - mishem
Дата добавления - 08 Марта 2009 в 02:33
PeterДата: Вс, 08 Марта 2009, 03:15 | Сообщение # 33
Админ NeoBook
Quote (mishem)
:Open

Once again...
Quote (Peter)
Тут нужно усвоить очень четко одно правило: компьютер будет делать не то, что вы имели ввиду, а то, что вы ему ПРИКАЗАЛИ!
В NeoBook (как, собственно и в других языках) выполнение команд происходит ПОСТРОЧНО, согласно скрипта.
У вас в распоряжении есть такая штука, как отладчик! Он позволяет ПОШАГОВО отслеживать ход выполнения программы, состояние переменных, и т.д.. Пользуйтесь им. Очень часто помогает найти ошибку!
Кроме того...
Вот, например, код открытия базы данных из вашего примера:

Code
ClearVariables ""
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
dbfDefineAlias "[FileName]" "Новый"
dbfOpen "Новый" ""
dbfShowTable "Новый" "Rectangle1" ""

Формально, вроде, все правильно. Но в нем и заложена потенциальная ошибка - ЧТО будет если пользователь НЕ выберет файл в окне диалога?
И эту ситуацию (и ей подобные) нужно ОБЯЗАТЕЛЬНО ПРЕДУСМОТРЕТЬ!
Иными словами, нужна обработка соблюдения (или НЕсоблюдения) какого-либо условия (или целой группы условий).


Я кое-что выделил жирным...

Да, что такое sample? wacko
Псевдоним для имен баз или же имя базы?

Quote (Alex3A)
Странно, у меня то же стоит, но скачал и распаковалбез проблем и никакого ffjmpweb.dll

Там - инсталлятор, а при установке и появляются сам плагин и ещё две длл-ки.
Quote (Alex3A)
ловушки запускаются только из длл

Для глобальных ловушек - да.
Если нужно перехватывать сообщения потоков того же процесса, то можно и из экзешника (теоретически).
Но плагин и так уже внешняя dll.
Надо будет при случае поизголяться как-нибудь...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
:Open

Once again...
Quote (Peter)
Тут нужно усвоить очень четко одно правило: компьютер будет делать не то, что вы имели ввиду, а то, что вы ему ПРИКАЗАЛИ!
В NeoBook (как, собственно и в других языках) выполнение команд происходит ПОСТРОЧНО, согласно скрипта.
У вас в распоряжении есть такая штука, как отладчик! Он позволяет ПОШАГОВО отслеживать ход выполнения программы, состояние переменных, и т.д.. Пользуйтесь им. Очень часто помогает найти ошибку!
Кроме того...
Вот, например, код открытия базы данных из вашего примера:

Code
ClearVariables ""
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
dbfDefineAlias "[FileName]" "Новый"
dbfOpen "Новый" ""
dbfShowTable "Новый" "Rectangle1" ""

Формально, вроде, все правильно. Но в нем и заложена потенциальная ошибка - ЧТО будет если пользователь НЕ выберет файл в окне диалога?
И эту ситуацию (и ей подобные) нужно ОБЯЗАТЕЛЬНО ПРЕДУСМОТРЕТЬ!
Иными словами, нужна обработка соблюдения (или НЕсоблюдения) какого-либо условия (или целой группы условий).


Я кое-что выделил жирным...

Да, что такое sample? wacko
Псевдоним для имен баз или же имя базы?

Quote (Alex3A)
Странно, у меня то же стоит, но скачал и распаковалбез проблем и никакого ffjmpweb.dll

Там - инсталлятор, а при установке и появляются сам плагин и ещё две длл-ки.
Quote (Alex3A)
ловушки запускаются только из длл

Для глобальных ловушек - да.
Если нужно перехватывать сообщения потоков того же процесса, то можно и из экзешника (теоретически).
Но плагин и так уже внешняя dll.
Надо будет при случае поизголяться как-нибудь...

Автор - Peter
Дата добавления - 08 Марта 2009 в 03:15
mishemДата: Вс, 08 Марта 2009, 03:34 | Сообщение # 34
Эксперт форума
Quote (Peter)
Что такое sample?
Псевдоним для имен баз или же имя базы

Имя базы. Создается файл, в него потом при открытии копируется файл и открывается.

Это код создать базу

Code

GoSub "SaveResult"

FileErase "[PubDir]sample"

dbfCreateMultiUser "[PubDir]sample" "NAZVANIE,String,37|KOLIHESTVO,Integer,0|CENA,Currency,0|ITOG,Currency,0|OSTATOK,Integer,0|BRAK,Integer,0|VSEGO,Currency,0" ""
dbfSetColumnTitles "[PubDir]sample" "    НАИМЕНОВАНИЕ ТОВАРА|    КОЛ-ВО|      ЦЕНА|      ИТОГ|   ОСТАТОК|      БРАК|    ВЫРУЧКА"
dbfSetTitleStyle "[PubDir]sample" "44,61,211" "Times New Roman" "9" "Bold" "White"
dbfSetCellStyle "[PubDir]sample" "White" "Arial" "9" "Normal" "Black"
dbfShowTable "[PubDir]sample" "Rectangle1" "ReadOnly"
dbfSetSortLocale "24"
FileSaveBox "Сохранить" "Any File|*.*" "[PubDir]" "[FileName]"
ChangeFileExt "[FileName]" ".dbf" "[FileName]"
FileCopy "sample" "[FileName]"

ExtractFileName "[FileName]" "[ActiveTable]"
ChangeFileExt "[ActiveTable]" "" "[ActiveTable]"
dbfGetRecordCount "[PubDir]sample" "[Count]"
dbfGetSeqRecordNumber "[PubDir]sample" "[RecNum]"
StrUpper "[ActiveTable]" "[ActiveTable]"

dbfSort "[PubDir]sample" "[PubDir]sample" "NAZVANIE" "Ascending"
dbfSetSortLocale "24"


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
Что такое sample?
Псевдоним для имен баз или же имя базы

Имя базы. Создается файл, в него потом при открытии копируется файл и открывается.

Это код создать базу

Code

GoSub "SaveResult"

FileErase "[PubDir]sample"

dbfCreateMultiUser "[PubDir]sample" "NAZVANIE,String,37|KOLIHESTVO,Integer,0|CENA,Currency,0|ITOG,Currency,0|OSTATOK,Integer,0|BRAK,Integer,0|VSEGO,Currency,0" ""
dbfSetColumnTitles "[PubDir]sample" "    НАИМЕНОВАНИЕ ТОВАРА|    КОЛ-ВО|      ЦЕНА|      ИТОГ|   ОСТАТОК|      БРАК|    ВЫРУЧКА"
dbfSetTitleStyle "[PubDir]sample" "44,61,211" "Times New Roman" "9" "Bold" "White"
dbfSetCellStyle "[PubDir]sample" "White" "Arial" "9" "Normal" "Black"
dbfShowTable "[PubDir]sample" "Rectangle1" "ReadOnly"
dbfSetSortLocale "24"
FileSaveBox "Сохранить" "Any File|*.*" "[PubDir]" "[FileName]"
ChangeFileExt "[FileName]" ".dbf" "[FileName]"
FileCopy "sample" "[FileName]"

ExtractFileName "[FileName]" "[ActiveTable]"
ChangeFileExt "[ActiveTable]" "" "[ActiveTable]"
dbfGetRecordCount "[PubDir]sample" "[Count]"
dbfGetSeqRecordNumber "[PubDir]sample" "[RecNum]"
StrUpper "[ActiveTable]" "[ActiveTable]"

dbfSort "[PubDir]sample" "[PubDir]sample" "NAZVANIE" "Ascending"
dbfSetSortLocale "24"

Автор - mishem
Дата добавления - 08 Марта 2009 в 03:34
PeterДата: Вс, 08 Марта 2009, 04:06 | Сообщение # 35
Админ NeoBook
Quote (mishem)
Имя базы.

Ошибка здесь:
Quote (mishem)
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
FileCopy "[FileName]" "sample"

Этот код надо переписАть примерно так:
Code
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""  
IF "[FileName]" "<>" ""
    FileCopy "[FileName]" "sample"
ENDIF


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Имя базы.

Ошибка здесь:
Quote (mishem)
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
FileCopy "[FileName]" "sample"

Этот код надо переписАть примерно так:
Code
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""  
IF "[FileName]" "<>" ""
    FileCopy "[FileName]" "sample"
ENDIF

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:06
mishemДата: Вс, 08 Марта 2009, 04:15 | Сообщение # 36
Эксперт форума
Да, вот еще на всякий случай
Code

:SaveResult
SetVar "[NameOfDatabase]" "sample"
GoSub "IsDB_Open"
If "[DB_Open]" "=" "True"
If "sample" "<>" ""
     MessageBox "Сохранить?" "Сохранить изменения в [ActiveTable]?" "Да|Нет|Отменить" "[SaveResult]"
EndIf
If "[SaveResult]" "=" "1"
     FileCopy "[PubDir]sample" "[FileName]"
     dbfClose "sample"
EndIf
If "[SaveResult]" "=" "2"
     dbfClose "sample"
EndIf
If "[SaveResult]" "=" "3"
     dbfFirst "[PubDir]sample"
EndIf
If "[SaveResult]" "=" "0"
     dbfFirst "[PubDir]sample"
EndIf
Return

Добавлено (08 Март 2009, 04:15)
---------------------------------------------

Quote (Peter)
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
IF "[FileName]" "<>" ""
FileCopy "[FileName]" "sample"
ENDIF

Блин, я пробовал так, не получается. Все равно ошибку выдает


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеДа, вот еще на всякий случай
Code

:SaveResult
SetVar "[NameOfDatabase]" "sample"
GoSub "IsDB_Open"
If "[DB_Open]" "=" "True"
If "sample" "<>" ""
     MessageBox "Сохранить?" "Сохранить изменения в [ActiveTable]?" "Да|Нет|Отменить" "[SaveResult]"
EndIf
If "[SaveResult]" "=" "1"
     FileCopy "[PubDir]sample" "[FileName]"
     dbfClose "sample"
EndIf
If "[SaveResult]" "=" "2"
     dbfClose "sample"
EndIf
If "[SaveResult]" "=" "3"
     dbfFirst "[PubDir]sample"
EndIf
If "[SaveResult]" "=" "0"
     dbfFirst "[PubDir]sample"
EndIf
Return

Добавлено (08 Март 2009, 04:15)
---------------------------------------------

Quote (Peter)
FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
IF "[FileName]" "<>" ""
FileCopy "[FileName]" "sample"
ENDIF

Блин, я пробовал так, не получается. Все равно ошибку выдает

Автор - mishem
Дата добавления - 08 Марта 2009 в 04:15
PeterДата: Вс, 08 Марта 2009, 04:18 | Сообщение # 37
Админ NeoBook
Quote (mishem)
Блин, я пробовал так, не получается. Все равно ошибку выдает

Покажите скриншот ошибки.


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Блин, я пробовал так, не получается. Все равно ошибку выдает

Покажите скриншот ошибки.

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:18
mishemДата: Вс, 08 Марта 2009, 04:27 | Сообщение # 38
Эксперт форума
Я не умею картинки тут выкладывать, вернее сайт не знаю куда заливать. Давайте проект скину, так легче будет понять наверно.
Прикрепления: 6758095.pub (68.6 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ не умею картинки тут выкладывать, вернее сайт не знаю куда заливать. Давайте проект скину, так легче будет понять наверно.

Автор - mishem
Дата добавления - 08 Марта 2009 в 04:27
PeterДата: Вс, 08 Марта 2009, 04:35 | Сообщение # 39
Админ NeoBook
Чисто визуально (без отладчика)...
У вас в обеих подпрограммах SaveResult и Open при копировании файла используется одна и та же переменная [FileName], но если в подпрограмме Open в диалоговом окне файл выбран НЕ будет, то эта переменная станет пустой, и тогда SaveResult выдаст сообщение об ошибке. Эта ошибка рекурсивно "замыкается" на обе подпрограммы до тех пор пока не будет в диалоге выбран файл.
Проверьте в ПОШАГОВОМ режиме отладчика ход выполнения обеих подпрограмм.
Тогда обнаружите в каком месте кода вылетает ошибка!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеЧисто визуально (без отладчика)...
У вас в обеих подпрограммах SaveResult и Open при копировании файла используется одна и та же переменная [FileName], но если в подпрограмме Open в диалоговом окне файл выбран НЕ будет, то эта переменная станет пустой, и тогда SaveResult выдаст сообщение об ошибке. Эта ошибка рекурсивно "замыкается" на обе подпрограммы до тех пор пока не будет в диалоге выбран файл.
Проверьте в ПОШАГОВОМ режиме отладчика ход выполнения обеих подпрограмм.
Тогда обнаружите в каком месте кода вылетает ошибка!

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:35
mishemДата: Вс, 08 Марта 2009, 04:38 | Сообщение # 40
Эксперт форума
Там нужно сначало создать базу, она поругается, потом новый, опять поругается happy а потом уже новый можно открывать, или без имени с расширением dbf. Он создается когда при создании базы на отмену нажимаешь.

Добавлено (08 Март 2009, 04:38)
---------------------------------------------

Quote (mishem)
Тогда обнаружите в каком месте кода вылетает ошибка!

Имено в месте копирования файла.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеТам нужно сначало создать базу, она поругается, потом новый, опять поругается happy а потом уже новый можно открывать, или без имени с расширением dbf. Он создается когда при создании базы на отмену нажимаешь.

Добавлено (08 Март 2009, 04:38)
---------------------------------------------

Quote (mishem)
Тогда обнаружите в каком месте кода вылетает ошибка!

Имено в месте копирования файла.

Автор - mishem
Дата добавления - 08 Марта 2009 в 04:38
PeterДата: Вс, 08 Марта 2009, 04:40 | Сообщение # 41
Админ NeoBook
Quote (mishem)
Давайте проект скину

Попробую посмотреть, но только уже не сегодня...
Хорошо?...
Сил нетути...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Давайте проект скину

Попробую посмотреть, но только уже не сегодня...
Хорошо?...
Сил нетути...

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:40
mishemДата: Вс, 08 Марта 2009, 04:42 | Сообщение # 42
Эксперт форума
Quote (Peter)
Попробую посмотреть, но только уже не сегодня...
Хорошо?...
Сил нетути...

Да я сам уже вторые сутки не сплю, happy Мож поспать и решение прдет? happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
Попробую посмотреть, но только уже не сегодня...
Хорошо?...
Сил нетути...

Да я сам уже вторые сутки не сплю, happy Мож поспать и решение прдет? happy

Автор - mishem
Дата добавления - 08 Марта 2009 в 04:42
PeterДата: Вс, 08 Марта 2009, 04:46 | Сообщение # 43
Админ NeoBook
Quote (mishem)
она поругается,

Этого быть не должно!
Quote (mishem)
опять поругается

Не программа, а сама Любезность! biggrin
Попробую все внимательно глянуть завтра.
Если время, конечно, будет.
Праздник ведь!....

Добавлено (08 Март 2009, 04:46)
---------------------------------------------

Quote (mishem)
Мож поспать и решение прдет?

Ну да!
Утро вечера мудренее!
Правда, я люблю добавлять: Если ночь не будет Варфоломеевской!.. biggrin


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
она поругается,

Этого быть не должно!
Quote (mishem)
опять поругается

Не программа, а сама Любезность! biggrin
Попробую все внимательно глянуть завтра.
Если время, конечно, будет.
Праздник ведь!....

Добавлено (08 Март 2009, 04:46)
---------------------------------------------

Quote (mishem)
Мож поспать и решение прдет?

Ну да!
Утро вечера мудренее!
Правда, я люблю добавлять: Если ночь не будет Варфоломеевской!.. biggrin

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:46
mishemДата: Вс, 08 Марта 2009, 04:46 | Сообщение # 44
Эксперт форума
Я вообще то думаю что как раз проблема в копировании. Если нечего копировать, нужно перенаправить на что то другое. smile Но не могу придумать на что
Ну все на сегодня happy Спокойного дня Вам happy Я еще покапаюсь.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ вообще то думаю что как раз проблема в копировании. Если нечего копировать, нужно перенаправить на что то другое. smile Но не могу придумать на что
Ну все на сегодня happy Спокойного дня Вам happy Я еще покапаюсь.

Автор - mishem
Дата добавления - 08 Марта 2009 в 04:46
PeterДата: Вс, 08 Марта 2009, 04:49 | Сообщение # 45
Админ NeoBook
Quote (mishem)
Имено в месте копирования файла.

В переменной [FileName] ЧТО находится?...
Она не должна быть пустой!Всё!
Спокойной ночи!...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Имено в месте копирования файла.

В переменной [FileName] ЧТО находится?...
Она не должна быть пустой!Всё!
Спокойной ночи!...

Автор - Peter
Дата добавления - 08 Марта 2009 в 04:49
mishemДата: Вс, 08 Марта 2009, 06:39 | Сообщение # 46
Эксперт форума
Quote (Peter)
Не программа, а сама Любезность!
Попробую все внимательно глянуть завтра.

Не наверно еще не все happy Это она ругается только в самом начале.Потом все нормально. happy Ну пока отмену не нажмешь happy С этим тоже еще придется побороться. Но думаю принцип тот же самый. Потом просто в дистрибутив файлы нужные запокавать и ругаться не будет. Насчет плагина , что не паковался. Прога патченная была, в этом вся причина. Нашел ключик, теперь пакуется нармально, короче прога полностью рабочая стала.
Ну теперь думаю все happy Покаместь.. happy

Добавлено (08 Март 2009, 05:12)
---------------------------------------------

Quote (Peter)
В переменной [FileName] ЧТО находится?...
Она не должна быть пустой!Всё!

Ну это я уже на потом отвечаю happy Когда создаем НОВУЮ базу, мы ее сохраняем под каким нибудь именем. Также и последующие. Потом когда любой файл открываем, то имя файла и будет [FileName].
Quote
Она не должна быть пустой!

В том то и дело, Чтоб работать с независимыми файлами, не должно быть псевданима. Иначе вся информация по любому сохраняется в sample. При открытии любой другой базы мы увидем те изменения, которые происходили до закрытия файла. Я уже не помню, но помоему удаление переменных не помагало. Я что то пробывал тогда. Вы когда у меня спрашивали что такое sampli? Пришлось в код заглядывать. happy Память ни кудышняя happy Так вот, получается что с псевдонимом хорошо работать в многопользовательском режиме с одной и той же базой. Для каждой другой нужно заново задавать параметры. Так я и думал в начале сделать. Помните несколько страниц создавал. Потом когда решилась проблема с сохранением, все переиграл. Хотя может быть я и ошибаюсь. Кстати и функция на запрет вывода окна с ошибкой не срабатывает. Но скорей всего я где то ошибаюсь. Ну все пока, а то жена проснулась, теперь с мыслями еще сложней собраться happy happy

Добавлено (08 Март 2009, 06:39)
---------------------------------------------
От первой ошибки избавился. При открытой базе когда нажимал отменить.Практически то что Вы раньше написали, только поменял местами True и False.

Code

SetVar "[NameOfDatabase]" "sample"
dbfShowErrors "False"
SetVar "[dbfError]" ""
DefineVar "[DB_Feelds]" "String" "" "Local" ""
dbfGetFieldNames "[NameOfDatabase]"  "[DB_Feelds]"
If "[dbfError]" ">" ""
     SetVar "[DB_Open]" "False"
    Else
     SetVar "[DB_Open]"  "True"
EndIf
dbfShowErrors "True"
If "[DB_Open]" "=" "False"

FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
FileCopy "[FileName]" "sample"

Будем искать..... happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
Не программа, а сама Любезность!
Попробую все внимательно глянуть завтра.

Не наверно еще не все happy Это она ругается только в самом начале.Потом все нормально. happy Ну пока отмену не нажмешь happy С этим тоже еще придется побороться. Но думаю принцип тот же самый. Потом просто в дистрибутив файлы нужные запокавать и ругаться не будет. Насчет плагина , что не паковался. Прога патченная была, в этом вся причина. Нашел ключик, теперь пакуется нармально, короче прога полностью рабочая стала.
Ну теперь думаю все happy Покаместь.. happy

Добавлено (08 Март 2009, 05:12)
---------------------------------------------

Quote (Peter)
В переменной [FileName] ЧТО находится?...
Она не должна быть пустой!Всё!

Ну это я уже на потом отвечаю happy Когда создаем НОВУЮ базу, мы ее сохраняем под каким нибудь именем. Также и последующие. Потом когда любой файл открываем, то имя файла и будет [FileName].
Quote
Она не должна быть пустой!

В том то и дело, Чтоб работать с независимыми файлами, не должно быть псевданима. Иначе вся информация по любому сохраняется в sample. При открытии любой другой базы мы увидем те изменения, которые происходили до закрытия файла. Я уже не помню, но помоему удаление переменных не помагало. Я что то пробывал тогда. Вы когда у меня спрашивали что такое sampli? Пришлось в код заглядывать. happy Память ни кудышняя happy Так вот, получается что с псевдонимом хорошо работать в многопользовательском режиме с одной и той же базой. Для каждой другой нужно заново задавать параметры. Так я и думал в начале сделать. Помните несколько страниц создавал. Потом когда решилась проблема с сохранением, все переиграл. Хотя может быть я и ошибаюсь. Кстати и функция на запрет вывода окна с ошибкой не срабатывает. Но скорей всего я где то ошибаюсь. Ну все пока, а то жена проснулась, теперь с мыслями еще сложней собраться happy happy

Добавлено (08 Март 2009, 06:39)
---------------------------------------------
От первой ошибки избавился. При открытой базе когда нажимал отменить.Практически то что Вы раньше написали, только поменял местами True и False.

Code

SetVar "[NameOfDatabase]" "sample"
dbfShowErrors "False"
SetVar "[dbfError]" ""
DefineVar "[DB_Feelds]" "String" "" "Local" ""
dbfGetFieldNames "[NameOfDatabase]"  "[DB_Feelds]"
If "[dbfError]" ">" ""
     SetVar "[DB_Open]" "False"
    Else
     SetVar "[DB_Open]"  "True"
EndIf
dbfShowErrors "True"
If "[DB_Open]" "=" "False"

FileOpenBox "Открыть" "Any File|*.*" "[PubDir]" "[FileName]" ""
FileCopy "[FileName]" "sample"

Будем искать..... happy


Автор - mishem
Дата добавления - 08 Марта 2009 в 06:39
Alex3AДата: Вс, 08 Марта 2009, 10:43 | Сообщение # 47
Друг клуба ММВ
Quote (Peter)
Для глобальных ловушек - да.
Если нужно перехватывать сообщения потоков того же процесса, то можно и из экзешника (теоретически).

Суть сей басни такова- если чето нужно перехватить в своей же проге просто ставиш обработчик, тебе ведь доступен
майн процес основного окна, а хук же совсем иное дело. Если сказать по простому, такой же обработчик но только
самого главного окна винды, если детализировать то експлорера, грубо говоря, мягко выражаясь, все программы
это типа плагинов винды. Стоят цепочки обработчиков, один получил, передал другому и так далее.
Таким образом, процесс установки хука сводиться к внедрению в цепочку своего кода. Свойства длл в том что
они могут использоваться одновременно в разных процессах, зачастую даже с общей областью памяти,
таким образом сообщение проходит через внедренную библу для всех окон. Каждый процес имеет свою
область памяти, за пределы которой его не пускают. Вот по этой то причине
хуки ставятся исключительно из библы.
 
Сообщение
Quote (Peter)
Для глобальных ловушек - да.
Если нужно перехватывать сообщения потоков того же процесса, то можно и из экзешника (теоретически).

Суть сей басни такова- если чето нужно перехватить в своей же проге просто ставиш обработчик, тебе ведь доступен
майн процес основного окна, а хук же совсем иное дело. Если сказать по простому, такой же обработчик но только
самого главного окна винды, если детализировать то експлорера, грубо говоря, мягко выражаясь, все программы
это типа плагинов винды. Стоят цепочки обработчиков, один получил, передал другому и так далее.
Таким образом, процесс установки хука сводиться к внедрению в цепочку своего кода. Свойства длл в том что
они могут использоваться одновременно в разных процессах, зачастую даже с общей областью памяти,
таким образом сообщение проходит через внедренную библу для всех окон. Каждый процес имеет свою
область памяти, за пределы которой его не пускают. Вот по этой то причине
хуки ставятся исключительно из библы.

Автор - Alex3A
Дата добавления - 08 Марта 2009 в 10:43
PeterДата: Вс, 08 Марта 2009, 12:24 | Сообщение # 48
Админ NeoBook
Quote (Alex3A)
Суть сей басни такова

Гм...
Вообще-то, мы - "в курсах"! biggrin
Я же отметил:
Quote (Peter)
(теоретически).

Это я так выеживаюсь! smile
Quote (Alex3A)
грубо говоря, мягко выражаясь

Мы - похожи!
Я тоже нередко глаголю эту фразу: "мягко говоря и грубо выражаясь"... biggrin

"Товарищь! Товарищь, можно вас на минуточку!.... Хотелось бы , так сказать, в общих чертах...."
"А понять-то его, царь-батюшка, не мудрено: они Кемскую волость требуют! Воевали значит, говорят, отдайте!"
....
"О! Я-Я! Кемска волост! Я! Я!"....

Всё!
Пора начинать праздновать!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (Alex3A)
Суть сей басни такова

Гм...
Вообще-то, мы - "в курсах"! biggrin
Я же отметил:
Quote (Peter)
(теоретически).

Это я так выеживаюсь! smile
Quote (Alex3A)
грубо говоря, мягко выражаясь

Мы - похожи!
Я тоже нередко глаголю эту фразу: "мягко говоря и грубо выражаясь"... biggrin

"Товарищь! Товарищь, можно вас на минуточку!.... Хотелось бы , так сказать, в общих чертах...."
"А понять-то его, царь-батюшка, не мудрено: они Кемскую волость требуют! Воевали значит, говорят, отдайте!"
....
"О! Я-Я! Кемска волост! Я! Я!"....

Всё!
Пора начинать праздновать!


Автор - Peter
Дата добавления - 08 Марта 2009 в 12:24
PeterДата: Вс, 08 Марта 2009, 18:00 | Сообщение # 49
Админ NeoBook
Quote (mishem)
Нашел ключик, теперь пакуется нармально, короче прога полностью рабочая стала.

Какой версией пользуетесь?
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей! wink
Правда, одна из них не запускается, зато вторая работает вполне исправно! rockon
Quote (mishem)
В том то и дело, Чтоб работать с независимыми файлами,

Посмотрел я ваш исходник...
Накрутили вы там... wacko
Не все, естесственно, я просмотрел, но...
Короче, я переделал ваш код в точном соответствии с тем, о чем я и говорил.
Все элементарно просто! smile
Теперь работает не ругаясь, и не плеваясь ошибками!
См.прикрепление.
Проверяйте, если что не так будет, пишите, ведь я столько слегка кавырнул исходник, не влезая в "дебри".

А вообще, чую я, нужно целую отдельную лекцию-статью варганить об обработке ошибок в NeoBook!
Тема явно достойна внимания! Учитывая ещё и то, что в необушной справке по этому вопросу всего пара строк.

Прикрепления: 6758095.rar (7.2 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Нашел ключик, теперь пакуется нармально, короче прога полностью рабочая стала.

Какой версией пользуетесь?
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей! wink
Правда, одна из них не запускается, зато вторая работает вполне исправно! rockon
Quote (mishem)
В том то и дело, Чтоб работать с независимыми файлами,

Посмотрел я ваш исходник...
Накрутили вы там... wacko
Не все, естесственно, я просмотрел, но...
Короче, я переделал ваш код в точном соответствии с тем, о чем я и говорил.
Все элементарно просто! smile
Теперь работает не ругаясь, и не плеваясь ошибками!
См.прикрепление.
Проверяйте, если что не так будет, пишите, ведь я столько слегка кавырнул исходник, не влезая в "дебри".

А вообще, чую я, нужно целую отдельную лекцию-статью варганить об обработке ошибок в NeoBook!
Тема явно достойна внимания! Учитывая ещё и то, что в необушной справке по этому вопросу всего пара строк.


Автор - Peter
Дата добавления - 08 Марта 2009 в 18:00
mishemДата: Вс, 08 Марта 2009, 18:17 | Сообщение # 50
Эксперт форума
Quote (Peter)
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей!

Искал я для нее, не нашел cry
Quote (Peter)
А вообще, чую я, нужно целую отдельную лекцию-статью варганить об обработке ошибок в NeoBook!
Тема явно достойна внимания! Учитывая ещё и то, что в необушной справке по этому вопросу всего пара строк.

Не плохо было бы. Хорошо было бы ветку с примерами создать, да что б примеры посерьезней были. Тогда и простое легко даваться будет. И народу я думаю больше заинтересуется. Я раза 4 бросить все хотел. Справку начинал читать, думаю, не , не для меня. Коды, переменные это не мое. Потом потихоньку втягиваться начал. smile Тут смысл поймать надо, а не получается smile Информации мало. Методом тыка долгл решение искать приходится. Програмку простенькую задумал, а вожусь уже месяц с ней happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей!

Искал я для нее, не нашел cry
Quote (Peter)
А вообще, чую я, нужно целую отдельную лекцию-статью варганить об обработке ошибок в NeoBook!
Тема явно достойна внимания! Учитывая ещё и то, что в необушной справке по этому вопросу всего пара строк.

Не плохо было бы. Хорошо было бы ветку с примерами создать, да что б примеры посерьезней были. Тогда и простое легко даваться будет. И народу я думаю больше заинтересуется. Я раза 4 бросить все хотел. Справку начинал читать, думаю, не , не для меня. Коды, переменные это не мое. Потом потихоньку втягиваться начал. smile Тут смысл поймать надо, а не получается smile Информации мало. Методом тыка долгл решение искать приходится. Програмку простенькую задумал, а вожусь уже месяц с ней happy

Автор - mishem
Дата добавления - 08 Марта 2009 в 18:17
PeterДата: Вс, 08 Марта 2009, 18:19 | Сообщение # 51
Админ NeoBook
Да, сейчас ещё раз глянул...
В подпрограмме SaveResult
Вот это:
Code
If "[SaveResult]" "=" "1"
      IF "[FileName]" "<>" ""
        FileCopy "[PubDir]sample" "[FileName]"
        dbfClose "sample"
      ENDIF
      .FileCopy "[PubDir]sample" "[FileName]"
      .dbfClose "sample"
EndIf

лучше передалать все же вот так:
Code
If "[SaveResult]" "=" "1"
      IF "[FileName]" "<>" ""
        FileCopy "[PubDir]sample" "[FileName]"
      ENDIF
      dbfClose "sample"
      .FileCopy "[PubDir]sample" "[FileName]"
      .dbfClose "sample"
EndIf

Да и вообще, всю подпрограмму лучше переделать, т.к. в ней много лишнего!


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеДа, сейчас ещё раз глянул...
В подпрограмме SaveResult
Вот это:
Code
If "[SaveResult]" "=" "1"
      IF "[FileName]" "<>" ""
        FileCopy "[PubDir]sample" "[FileName]"
        dbfClose "sample"
      ENDIF
      .FileCopy "[PubDir]sample" "[FileName]"
      .dbfClose "sample"
EndIf

лучше передалать все же вот так:
Code
If "[SaveResult]" "=" "1"
      IF "[FileName]" "<>" ""
        FileCopy "[PubDir]sample" "[FileName]"
      ENDIF
      dbfClose "sample"
      .FileCopy "[PubDir]sample" "[FileName]"
      .dbfClose "sample"
EndIf

Да и вообще, всю подпрограмму лучше переделать, т.к. в ней много лишнего!


Автор - Peter
Дата добавления - 08 Марта 2009 в 18:19
mishemДата: Вс, 08 Марта 2009, 18:55 | Сообщение # 52
Эксперт форума
Quote (Peter)
FileCopy "[PubDir]sample" "[FileName]"
dbfClose "sample"
ENDIF

Quote (Peter)
FileCopy "[PubDir]sample" "[FileName]"
ENDIF
dbfClose "sample"

Вот в чем тут разница?

Добавлено (08 Март 2009, 18:55)
---------------------------------------------
Посмотрел, еще не пробовал. Спасибо. Вот сдесь понять надо, когда и где что прописывать надо. Две три Если, и прога по другому работает.

Quote (Peter)
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей!

Не получается найти angry На мыло не кинете? Мой логин rambler.ru А русик на нее есть? Я себя не уютно чувствую когда на инглиш. happy Когда ж америкосы на нашем общаться начнут? happy happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Quote (Peter)
FileCopy "[PubDir]sample" "[FileName]"
dbfClose "sample"
ENDIF

Quote (Peter)
FileCopy "[PubDir]sample" "[FileName]"
ENDIF
dbfClose "sample"

Вот в чем тут разница?

Добавлено (08 Март 2009, 18:55)
---------------------------------------------
Посмотрел, еще не пробовал. Спасибо. Вот сдесь понять надо, когда и где что прописывать надо. Две три Если, и прога по другому работает.

Quote (Peter)
Кстати, вы в курсе, что два дня назад для версии NB 5.6.2 появились сразу аж ДВЕ генерилки ключей!

Не получается найти angry На мыло не кинете? Мой логин rambler.ru А русик на нее есть? Я себя не уютно чувствую когда на инглиш. happy Когда ж америкосы на нашем общаться начнут? happy happy

Автор - mishem
Дата добавления - 08 Марта 2009 в 18:55
PeterДата: Вс, 08 Марта 2009, 20:52 | Сообщение # 53
Админ NeoBook
Quote (mishem)
Вот в чем тут разница?

По-порядку...

1.If "[SaveResult]" "=" "1"
2. IF "[FileName]" "<>" ""
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
5. ENDIF
6. .FileCopy "[PubDir]sample" "[FileName]"
7. .dbfClose "sample"
8.EndIf
9. .......
Две, вложенных одна в другую, инструкции перехода IF..ELSE..ENDIF (обратие внимание: я даже регистр разный употребил, чтобы было понятнее)
1.If "[SaveResult]" "=" "1"
Говорит, что есди переменная [SaveResult] равна единице, то идем дальше к следующей строке (2), а если - нет, то вообще сразу переходим к строке, идущей за EndIf, т.е. к 9
2. IF "[FileName]" "<>" ""
Здесь сразу же начинается вторая условная иструкция (команда): если переменная [FileName] не равна пустоте, то переходим к 3 строке, а иначе идем к строке 6. (строки 6 и 7 здесь закомментированы и работать не будут, т.е в реальности переход произойдет к строке 8, а потом к 9)
Теперь как-раз самое главное..
Если [FileName] содержит имя файла, то будуь выполнены строки 3 и 4
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
т.е. мы скопируем файл и закроем базу.
Но, если нам нужно закрыть базу независимо от того скопирован файл или нет, то команду dbfClose нужно вынести ЗА пределы условия IF "[FileName]" "<>" "" , т.е dbfClose поместить в строку, следующую после ENDIF, который обозначает конец выполнения команды IF "[FileName]" "<>" "" . И в этом случае база будет закрыта ВСЕГДА, вне зависмости от того скпировался файл или нет!

Добавлено (08 Март 2009, 20:52)
---------------------------------------------
Ещё одни косяк заметил...
В подпрограмме New сразу после
GoSub "SaveResult"
вставьте это:

Code
IfEx "[SaveResult] = 3 OR [SaveResult] = 0"
    Return
EndIf

А в саму подпрограмму SaveResult в самом начале вставьте
Code
SetVar "[SaveResult]" ""

Еще пара ошибок пропадет!
Хотя, я бы (наверное) сделал многое иначе...


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Вот в чем тут разница?

По-порядку...

1.If "[SaveResult]" "=" "1"
2. IF "[FileName]" "<>" ""
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
5. ENDIF
6. .FileCopy "[PubDir]sample" "[FileName]"
7. .dbfClose "sample"
8.EndIf
9. .......
Две, вложенных одна в другую, инструкции перехода IF..ELSE..ENDIF (обратие внимание: я даже регистр разный употребил, чтобы было понятнее)
1.If "[SaveResult]" "=" "1"
Говорит, что есди переменная [SaveResult] равна единице, то идем дальше к следующей строке (2), а если - нет, то вообще сразу переходим к строке, идущей за EndIf, т.е. к 9
2. IF "[FileName]" "<>" ""
Здесь сразу же начинается вторая условная иструкция (команда): если переменная [FileName] не равна пустоте, то переходим к 3 строке, а иначе идем к строке 6. (строки 6 и 7 здесь закомментированы и работать не будут, т.е в реальности переход произойдет к строке 8, а потом к 9)
Теперь как-раз самое главное..
Если [FileName] содержит имя файла, то будуь выполнены строки 3 и 4
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
т.е. мы скопируем файл и закроем базу.
Но, если нам нужно закрыть базу независимо от того скопирован файл или нет, то команду dbfClose нужно вынести ЗА пределы условия IF "[FileName]" "<>" "" , т.е dbfClose поместить в строку, следующую после ENDIF, который обозначает конец выполнения команды IF "[FileName]" "<>" "" . И в этом случае база будет закрыта ВСЕГДА, вне зависмости от того скпировался файл или нет!

Добавлено (08 Март 2009, 20:52)
---------------------------------------------
Ещё одни косяк заметил...
В подпрограмме New сразу после
GoSub "SaveResult"
вставьте это:

Code
IfEx "[SaveResult] = 3 OR [SaveResult] = 0"
    Return
EndIf

А в саму подпрограмму SaveResult в самом начале вставьте
Code
SetVar "[SaveResult]" ""

Еще пара ошибок пропадет!
Хотя, я бы (наверное) сделал многое иначе...


Автор - Peter
Дата добавления - 08 Марта 2009 в 20:52
mishemДата: Вс, 08 Марта 2009, 22:09 | Сообщение # 54
Эксперт форума
Все равно, ошибки прут дуром.
Действия:
1 Открыть, Отменить
2 Новый, Отменить = Ошибка: Unknown Error #32
3 Ok = Ошибка : A database named sample is already open.
4 Файл, Создать , Отменить = Ошибка:Unknown Error #32
5 3 Ok = Ошибка : A database named sample is already open.
Ну и в таком духе sad
Я понимаю конечно намеренно таких действий производить ни кто не будет, но все же.
Еще одна не приятная вещь получается, После Нажатия Новый, файл открылся, Кликаю закрыть, Ошибка Exclusive access is required for this operation.
В том месте где происходит сжатие базы. И только при создании Нового. Чувствую еще намучаюсь с Открыть Отменить happy

Добавлено (08 Март 2009, 21:41)
---------------------------------------------
Добавление не увидел сразу, сейчас попробую

Добавлено (08 Март 2009, 21:45)
---------------------------------------------
Теперь на втором пункте Ошибка: Database not open.

Добавлено (08 Март 2009, 21:47)
---------------------------------------------
И такая же ошибка при Открыть, выбрал файл, Закрыть.

Добавлено (08 Март 2009, 21:47)
---------------------------------------------
Короче одно тянет за другим happy

Добавлено (08 Март 2009, 22:09)
---------------------------------------------

Quote (Peter)
Хотя, я бы (наверное) сделал многое иначе...
Да вот и я думаю все с начала начать. happy Уже путаться начал. Еак сказать закрепить пройденное. happy


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВсе равно, ошибки прут дуром.
Действия:
1 Открыть, Отменить
2 Новый, Отменить = Ошибка: Unknown Error #32
3 Ok = Ошибка : A database named sample is already open.
4 Файл, Создать , Отменить = Ошибка:Unknown Error #32
5 3 Ok = Ошибка : A database named sample is already open.
Ну и в таком духе sad
Я понимаю конечно намеренно таких действий производить ни кто не будет, но все же.
Еще одна не приятная вещь получается, После Нажатия Новый, файл открылся, Кликаю закрыть, Ошибка Exclusive access is required for this operation.
В том месте где происходит сжатие базы. И только при создании Нового. Чувствую еще намучаюсь с Открыть Отменить happy

Добавлено (08 Март 2009, 21:41)
---------------------------------------------
Добавление не увидел сразу, сейчас попробую

Добавлено (08 Март 2009, 21:45)
---------------------------------------------
Теперь на втором пункте Ошибка: Database not open.

Добавлено (08 Март 2009, 21:47)
---------------------------------------------
И такая же ошибка при Открыть, выбрал файл, Закрыть.

Добавлено (08 Март 2009, 21:47)
---------------------------------------------
Короче одно тянет за другим happy

Добавлено (08 Март 2009, 22:09)
---------------------------------------------

Quote (Peter)
Хотя, я бы (наверное) сделал многое иначе...
Да вот и я думаю все с начала начать. happy Уже путаться начал. Еак сказать закрепить пройденное. happy

Автор - mishem
Дата добавления - 08 Марта 2009 в 22:09
PeterДата: Вс, 08 Марта 2009, 22:28 | Сообщение # 55
Админ NeoBook
Ничего не понимаю: У МЕНЯ ВСЁ РАБОТАЕТ !
Попробуйте мою демку!
См.прикрепления

Добавлено (08 Март 2009, 22:28)
---------------------------------------------

Quote (Peter)
Да вот и я думаю все с начала начать. Уже путаться начал.

А я вот только-только начал врубаться в вашу логику обновления-сохранения баз. biggrin
С начала начинать не надо!
Просто привести в порядок то, что имеется.
Это вполне возможно!
Прикрепления: Test.rar (7.2 Kb)


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
СообщениеНичего не понимаю: У МЕНЯ ВСЁ РАБОТАЕТ !
Попробуйте мою демку!
См.прикрепления

Добавлено (08 Март 2009, 22:28)
---------------------------------------------

Quote (Peter)
Да вот и я думаю все с начала начать. Уже путаться начал.

А я вот только-только начал врубаться в вашу логику обновления-сохранения баз. biggrin
С начала начинать не надо!
Просто привести в порядок то, что имеется.
Это вполне возможно!

Автор - Peter
Дата добавления - 08 Марта 2009 в 22:28
mishemДата: Вс, 08 Марта 2009, 22:38 | Сообщение # 56
Эксперт форума
Пока работает. smile Вот сдесь не пойму
Code
If "[SaveResult]" "=" "1"
     IF "[FileName]" "<>" ""
       FileCopy "[PubDir]sample" "[FileName]"
ENDIF
     dbfClose "sample"
EndIf

После dbfClose "sample" EndIf. То есть EndIf можно ставить без IF? Скопировал файл, конец команде, перешел к следующей, закрыть, конец команде.?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеПока работает. smile Вот сдесь не пойму
Code
If "[SaveResult]" "=" "1"
     IF "[FileName]" "<>" ""
       FileCopy "[PubDir]sample" "[FileName]"
ENDIF
     dbfClose "sample"
EndIf

После dbfClose "sample" EndIf. То есть EndIf можно ставить без IF? Скопировал файл, конец команде, перешел к следующей, закрыть, конец команде.?


Автор - mishem
Дата добавления - 08 Марта 2009 в 22:38
PeterДата: Вс, 08 Марта 2009, 22:48 | Сообщение # 57
Админ NeoBook
Quote (mishem)
Вот сдесь не пойму

Quote (Peter)
Если [FileName] содержит имя файла, то будуь выполнены строки 3 и 4
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
т.е. мы скопируем файл и закроем базу.
Но, если нам нужно закрыть базу независимо от того скопирован файл или нет, то команду dbfClose нужно вынести ЗА пределы условия IF "[FileName]" "<>" "" , т.е dbfClose поместить в строку, следующую после ENDIF, который обозначает конец выполнения команды IF "[FileName]" "<>" "" . И в этом случае база будет закрыта ВСЕГДА, вне зависмости от того скпировался файл или нет!

Quote (mishem)
После dbfClose "sample" EndIf. То есть EndIf можно ставить без IF? Скопировал файл, конец команде, перешел к следующей, закрыть, конец команде.?

Quote
If
...
IF
...
ENDIF
...
EndIf

Да, похоже надо ещё и про условия с переходами "лекции" готовить. biggrin
Эх, мама-родная!
За ЧТО?... cry


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Вот сдесь не пойму

Quote (Peter)
Если [FileName] содержит имя файла, то будуь выполнены строки 3 и 4
3. FileCopy "[PubDir]sample" "[FileName]"
4. dbfClose "sample"
т.е. мы скопируем файл и закроем базу.
Но, если нам нужно закрыть базу независимо от того скопирован файл или нет, то команду dbfClose нужно вынести ЗА пределы условия IF "[FileName]" "<>" "" , т.е dbfClose поместить в строку, следующую после ENDIF, который обозначает конец выполнения команды IF "[FileName]" "<>" "" . И в этом случае база будет закрыта ВСЕГДА, вне зависмости от того скпировался файл или нет!

Quote (mishem)
После dbfClose "sample" EndIf. То есть EndIf можно ставить без IF? Скопировал файл, конец команде, перешел к следующей, закрыть, конец команде.?

Quote
If
...
IF
...
ENDIF
...
EndIf

Да, похоже надо ещё и про условия с переходами "лекции" готовить. biggrin
Эх, мама-родная!
За ЧТО?... cry

Автор - Peter
Дата добавления - 08 Марта 2009 в 22:48
mishemДата: Вс, 08 Марта 2009, 23:06 | Сообщение # 58
Эксперт форума
Извиняюсь, проглядел smile А лекции не помешают.
Quote (mishem)
Еще одна не приятная вещь получается, После Нажатия Новый, файл открылся, Кликаю закрыть, Ошибка Exclusive access is required for this operation.
В том месте где происходит сжатие базы. И только при создании Нового. Чувствую еще намучаюсь с Открыть Отменить

Поглядите вот сдесь еще, в чем ошибка?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеИзвиняюсь, проглядел smile А лекции не помешают.
Quote (mishem)
Еще одна не приятная вещь получается, После Нажатия Новый, файл открылся, Кликаю закрыть, Ошибка Exclusive access is required for this operation.
В том месте где происходит сжатие базы. И только при создании Нового. Чувствую еще намучаюсь с Открыть Отменить

Поглядите вот сдесь еще, в чем ошибка?

Автор - mishem
Дата добавления - 08 Марта 2009 в 23:06
PeterДата: Вс, 08 Марта 2009, 23:08 | Сообщение # 59
Админ NeoBook
Quote (mishem)
Поглядите вот сдесь еще, в чем ошибка?

ГДЕ? wacko


- А вам какую операционку поставить - экспи, семерку или висту?
- Это ты сейчас о чем?
- Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный?
- Ну, конечно, надежный!
- Вот, значит - экспи, без вопросов! Сейчас сделаем...

(Улицы разбитых фонарей, сезон 10, серия 17)

Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!


При модном втюхе модоподдающимся начинает нравиться
 
Сообщение
Quote (mishem)
Поглядите вот сдесь еще, в чем ошибка?

ГДЕ? wacko

Автор - Peter
Дата добавления - 08 Марта 2009 в 23:08
mishemДата: Вс, 08 Марта 2009, 23:57 | Сообщение # 60
Эксперт форума
Вверху в панеле где длинная кнопка Добавить, справа кнопка закрыть окно.

Добавлено (08 Март 2009, 23:57)
---------------------------------------------
Возвращаюсь к предыдущему вопросу

Code

If "[DB_Open]" "=" "True"
        If "sample" "<>" ""
                MessageBox "Сохранить?" "Сохранить изменения в [ActiveTable]?" "Да|Нет|Отменить" "[SaveResult]"
        EndIf
        If "[SaveResult]" "=" "1"
               IF "[FileName]" "<>" ""
                             FileCopy "[PubDir]sample" "[FileName]"
               ENDIF
                    dbfClose "sample"
         EndIf
         If "[SaveResult]" "=" "2"
                    dbfClose "sample"
         EndIf
         If "[SaveResult]" "=" "3"
                    dbfFirst "[PubDir]sample"
         EndIf
         If "[SaveResult]" "=" "0"
                    dbfFirst "[PubDir]sample"
         EndIf

Return

Перед Return еще EndIf не надо? Или Return Завершает IF? И конец всем командам.
Извиняюсь за назойливость, иначе , так и не пойму smile


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВверху в панеле где длинная кнопка Добавить, справа кнопка закрыть окно.

Добавлено (08 Март 2009, 23:57)
---------------------------------------------
Возвращаюсь к предыдущему вопросу

Code

If "[DB_Open]" "=" "True"
        If "sample" "<>" ""
                MessageBox "Сохранить?" "Сохранить изменения в [ActiveTable]?" "Да|Нет|Отменить" "[SaveResult]"
        EndIf
        If "[SaveResult]" "=" "1"
               IF "[FileName]" "<>" ""
                             FileCopy "[PubDir]sample" "[FileName]"
               ENDIF
                    dbfClose "sample"
         EndIf
         If "[SaveResult]" "=" "2"
                    dbfClose "sample"
         EndIf
         If "[SaveResult]" "=" "3"
                    dbfFirst "[PubDir]sample"
         EndIf
         If "[SaveResult]" "=" "0"
                    dbfFirst "[PubDir]sample"
         EndIf

Return

Перед Return еще EndIf не надо? Или Return Завершает IF? И конец всем командам.
Извиняюсь за назойливость, иначе , так и не пойму smile

Автор - mishem
Дата добавления - 08 Марта 2009 в 23:57
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Вопрос по Базе данных
Поиск: