DosFileLookUp и еще несколько вопросов

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

DosFileLookUp и еще несколько вопросов

Сообщение lexa »

Подскажите, пожалуйста, где можно скачать полностью аналогичный DosFileLookUp только наоборот - для записи файла.

И еще парочка вопросов, если можно?

Почему, выставив первоначально пароль к определенной таблице в DCT, я не могу его поменять на другой после заполнения таблицы. Конвертор в менеджере DCT ругается - приходится с помощью ADD() просто копировать в аналогичную структуру с новым паролем.
Это правильный подход?

Пытаюсь вставить Control от VB. Что означает последняя литера в VBX для Clarion-a - ActiveX + .exe или .dll или .ctl ? В какой среде программирования Basic-a нужно создавать этот Control, чтобы в среде Clarion-a не было заморочек?
У меня легальный MS Visual Studio 6 и попытка присоеденить мною созданный .ctl ни чем не увенчалась.

У меня C55EE(ABC), XP-Prof-SP2

Зарнее благодарен за отзывчивость.
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3133
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Сообщение Дед Пахом »

1. Достаточно поменять флаг FILE:Open на FILE:Save в вызове FILEDIALOG().

3. Не знаю, что такое .ctl. Кларионовский OLE-контрол понимает COM-объекты, поддерживающие IDispatch-интерфейс
С уважением, ДП
Dias2004
Посетитель
Сообщения: 29
Зарегистрирован: 31 Январь 2006, 15:02
Откуда: Россия, Москва

Сообщение Dias2004 »

Что значит полностью аналогичный?
Выбор или запись файла - зависит от параметров вызываемой функции FILEDIALOG.

Вот пример процедуры выбора имени для вновь создаваемого файла (в программе исполнение процедуры можно, например, повесить на кнопку):

Код: Выделить всё

PrintToFile ROUTINE
 DATA
rPath       STRING(128)

 CODE
  SETCURSOR(CURSOR:Wait)

  gTransferFileName = 'C:\Temp\MyFile' &FORMAT(TODAY(),@d10.)&'.txt'
  rPath = PATH()                                
  !всегда создаем новый архив
  IF FILEDIALOG 'Создание нового файла экспорта ',gTransferFileName,'Архивы'|*.*',FILE:Save)
    CREATE(gExportFile)
    IF ERRORCODE()
      MESSAGE('Не удалось создать файл экспорта' &CLIP(gTransferFileName) &'. Ошибка: ' &CLIP(ERROR()),'Ошибка создания файла',ICON:Exclamation)
    ELSE
      DO SaveQue
  . .
gExportFile описан как глобальная структура:

Код: Выделить всё

gExportReportFile   FILE,DRIVER('ASCII'),NAME(gTransferFileName),PRE(gEF),CREATE,BINDABLE,THREAD
Record                RECORD
Line                  STRING(1024)
                    . .

Параметр 'FILE:Save' при вызове FILEDIALOG обеспечивает вызов диалога "Save...". Шаблонное использование генерит код с параметром FILE:Open. Подробности - см. HELP по FILEDIALOG.
CREATE и последующий анализ ошибки - это проверка возможности записи файла с назначенным пользователем именем.

В процедуру SaveQue открываем уже созданный файл gExportReportFile, анализируем возможную ошибку и добавляем с помощью ADD строчку за строчкой.
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Re: DosFileLookUp и еще несколько вопросов

Сообщение Yufil »

И еще парочка вопросов, если можно?

Почему, выставив первоначально пароль к определенной таблице в DCT, я не могу его поменять на другой после заполнения таблицы. Конвертор в менеджере DCT ругается - приходится с помощью ADD() просто копировать в аналогичную структуру с новым паролем.
Это правильный подход?

Правильный. Если ты сменил пароль, то Словарь пытается прочитать твой файл уже с новым паролем, откуда он будет знать старый.

Пытаюсь вставить Control от VB. Что означает последняя литера в VBX для Clarion-a - ActiveX + .exe или .dll или .ctl ? В какой среде программирования Basic-a нужно создавать этот Control, чтобы в среде Clarion-a не было заморочек?

VBX-устаревший формат, не поддерживаемый ни более поздними версиями VB, ни Clarion. Лучше вообще не использовать.
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Дед Пахом
Меня неправильно поняли или я не смог объяснить свой вопрос, извините.
Не использую FILEDIALOG() по следующим соображениям:
1.Не отображает скрытые файлы и папки
2.Длинные имена папок невозможно увидеть полностью
3.В сети необходимо удаленным общим ресурсам назначать буквы
4.Неудобно переходить на рабочий стол, особенно когда на одном компьютере несколько профилей пользователей
Я имел ввиду шаблон DosFileLookUp - это то, что мне нужно. Только это шаблон для открытия файла.
Возможно ли найти аналогичный шаблон для записи файла для C55EE(ABC)?
Мне подсказали, что в C6.2 аналогичный шаблон уже включен.
Можно ли подсунуть шаблон из C6.2 в С55, будет работать?
Аватара пользователя
StillZero
Ветеран
Сообщения: 454
Зарегистрирован: 06 Июль 2005, 2:17
Откуда: Хабаровск
Контактная информация:

Сообщение StillZero »

Не использую FILEDIALOG()
пацматри в папке C55\TEMPLATE файл ABCONTRL.TPW: первым идет шаблон DosFileLookup, этот шаблон использует класс SelectFileClass, текста которого находятся в C55\LIBSRC ABUTIL.INC и ABUTIL.CLW,
можно также дойти до метода SelectFileClass.Ask, который находится в файле ABUTIL.CLW...по итогу ты увидишь, что данный класс и соответственно шаблон используют FILEDIALOG!

Патаму...почитай стд help по FILEDIALOG

удачи
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

Тебя правильно поняли. Ты просто не слушаешь :)
Можно ли подсунуть шаблон из C6.2 в С55, будет работать?
Нет. Нельзя. Работать не будет!

P.S. Прочитай HELP и не парься. Если английский не куришь - русский хелп есть на http://www.clarionlife.net в разделе Файлы-Документация (по моему так ...)
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Ответили достаточно нормально. Где сгрубили-то??? А по поводу хелпа, прально сказано. Я, например, Клару уже забывать стал, так вот хелпик открыл, почитал и усё у порядке. Будьте проще.... ИМХО Без обид
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Во блина, пока тред писал, сообщение удалили :D
Аватара пользователя
Олег
Ветеран движения
Сообщения: 122
Зарегистрирован: 16 Июль 2005, 2:35
Откуда: Москва
Контактная информация:

Сообщение Олег »

lexa писал(а): Не использую FILEDIALOG() по следующим соображениям:
1.Не отображает скрытые файлы и папки
Прекрасно все отображает, ЕСЛИ ЭТО РАЗРЕШЕНО в настройках Винды! Если запрещено, то их не будет отображать НИКАКОЙ СТАНДАРТНЫЙ диалог (включая эксплорера) Винды!
А для отображения папок необходимо задать соответствующий ключик - см. хелп по этой функции.
Если хочешь видеть все, независимо от настроек Винды, то пользуй функцию Directory и на ее основе напиши свой диалог.
2.Длинные имена папок невозможно увидеть полностью
3.В сети необходимо удаленным общим ресурсам назначать буквы
4.Неудобно переходить на рабочий стол, особенно когда на одном компьютере несколько профилей пользователей
"Курите, Шура, мануал!" - достаточно задать этой функции "магический ключик" FILE:LongName и вид вызываемого диалога разительно меняется - вся доступная структура отображается в виде дерева, у самого окна диалога можно изменять размеры, что-бы влезали самые длинные имена, прекрасная навигация по всем доступным сетям и их ресурсам, аналогично и по личным папкам всех пользователей компа!
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Олег
Олег+StillZero ! ! !
Спасибо за правильный и четкий совет. Да мануал, как Вы это выражаетесь, надо читать, согласен.
Подсказали ли бы вначале это волшебное слово - FILE:LongNane - и тема давно была бы закрыта.
А точнее FILE:Save+FILE:LongNane=(00001b)+(10000b)=17
Еще раз спасибо.
Последний раз редактировалось lexa 22 Июнь 2006, 4:25, всего редактировалось 1 раз.
lexa
Посетитель
Сообщения: 25
Зарегистрирован: 03 Июнь 2006, 23:57
Откуда: Зимбабве

Сообщение lexa »

Andrew Listiev
Если стали забывать Клару , как это Вы выражаетесь, что Вы тогда тут делаете? По поводу удаленного сообщения Вы все правильно поняли, оно предназначалось только Вам, я его написал и я его тут же удалил, убедившись о его прочтении именно Вами, и Вы на самом деле правильно среагировали. Вы по-русскому можете выражать? Что такое ИХМО, как понять 'усе'. СЧАСТЛИВО!, я думаю последует ответ. Я готов.
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Сообщение Admin »

"усё" от слова "всё"
ИМХО (IMHO) примерно = "по моему личному мнению"
Аватара пользователя
Andrew Listiev
Активист
Сообщения: 166
Зарегистрирован: 07 Июль 2005, 11:16
Откуда: Латвия, Рига

Сообщение Andrew Listiev »

Если стали забывать Клару , как это Вы выражаетесь, что Вы тогда тут делаете?
А вы угадайте??? :lol:
оно предназначалось только Вам
Свят, свят, свят... Чем это я насолил именно Вам???? :roll: Я тут самый добрый :lol:
Вы по-русскому можете выражать?
Выражать что????? :lol: Алаверды :wink:
По поводу аббревиатур, Вам уже ВСЁ объяснили.
самолетчик
Посетитель
Сообщения: 33
Зарегистрирован: 31 Август 2005, 5:29
Откуда: г. Артем

Сообщение самолетчик »

Велик и могуч русский язык. Выражаться можно по - русски или на русском, но ни как не по - русскому :cry:
Закрыто