Страница 1 из 2

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

Добавлено: 19 Июнь 2006, 4:08
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

Зарнее благодарен за отзывчивость.

Добавлено: 19 Июнь 2006, 9:09
Дед Пахом
1. Достаточно поменять флаг FILE:Open на FILE:Save в вызове FILEDIALOG().

3. Не знаю, что такое .ctl. Кларионовский OLE-контрол понимает COM-объекты, поддерживающие IDispatch-интерфейс

Добавлено: 19 Июнь 2006, 9:18
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 строчку за строчкой.

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

Добавлено: 19 Июнь 2006, 10:12
Yufil
И еще парочка вопросов, если можно?

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

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

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

VBX-устаревший формат, не поддерживаемый ни более поздними версиями VB, ни Clarion. Лучше вообще не использовать.

Добавлено: 19 Июнь 2006, 23:11
lexa
Дед Пахом
Меня неправильно поняли или я не смог объяснить свой вопрос, извините.
Не использую FILEDIALOG() по следующим соображениям:
1.Не отображает скрытые файлы и папки
2.Длинные имена папок невозможно увидеть полностью
3.В сети необходимо удаленным общим ресурсам назначать буквы
4.Неудобно переходить на рабочий стол, особенно когда на одном компьютере несколько профилей пользователей
Я имел ввиду шаблон DosFileLookUp - это то, что мне нужно. Только это шаблон для открытия файла.
Возможно ли найти аналогичный шаблон для записи файла для C55EE(ABC)?
Мне подсказали, что в C6.2 аналогичный шаблон уже включен.
Можно ли подсунуть шаблон из C6.2 в С55, будет работать?

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

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

удачи

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

P.S. Прочитай HELP и не парься. Если английский не куришь - русский хелп есть на http://www.clarionlife.net в разделе Файлы-Документация (по моему так ...)

Добавлено: 20 Июнь 2006, 22:21
Andrew Listiev
Ответили достаточно нормально. Где сгрубили-то??? А по поводу хелпа, прально сказано. Я, например, Клару уже забывать стал, так вот хелпик открыл, почитал и усё у порядке. Будьте проще.... ИМХО Без обид

Добавлено: 20 Июнь 2006, 22:22
Andrew Listiev
Во блина, пока тред писал, сообщение удалили :D

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

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

Добавлено: 22 Июнь 2006, 4:12
lexa
Andrew Listiev
Если стали забывать Клару , как это Вы выражаетесь, что Вы тогда тут делаете? По поводу удаленного сообщения Вы все правильно поняли, оно предназначалось только Вам, я его написал и я его тут же удалил, убедившись о его прочтении именно Вами, и Вы на самом деле правильно среагировали. Вы по-русскому можете выражать? Что такое ИХМО, как понять 'усе'. СЧАСТЛИВО!, я думаю последует ответ. Я готов.

Добавлено: 22 Июнь 2006, 5:01
Admin
"усё" от слова "всё"
ИМХО (IMHO) примерно = "по моему личному мнению"

Добавлено: 22 Июнь 2006, 10:53
Andrew Listiev
Если стали забывать Клару , как это Вы выражаетесь, что Вы тогда тут делаете?
А вы угадайте??? :lol:
оно предназначалось только Вам
Свят, свят, свят... Чем это я насолил именно Вам???? :roll: Я тут самый добрый :lol:
Вы по-русскому можете выражать?
Выражать что????? :lol: Алаверды :wink:
По поводу аббревиатур, Вам уже ВСЁ объяснили.

Добавлено: 22 Июнь 2006, 11:29
самолетчик
Велик и могуч русский язык. Выражаться можно по - русски или на русском, но ни как не по - русскому :cry: