Автор |
Тема: Шрифт (Прочитано 5062 раз) |
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
В отчетной форме строим список имен папок (или файлов директория) какого-то раздела посредством [ged 'ld.'+[intsn i]], получаем: 170129-01 13 279 292-94 рстуфх (─╤) ╬└╬ вместо букв "рстуфх" должно идти "абвгде", про псевдографику .... слов нет. С цифрами все нормально, с английским вариантом тоже все нормально "abcd" это 'abcd', но хотелось бы на руском. Смотрю в предпросмотре, как будет на сайте, там уже псевдографики нет, перешла в цифры. Вопрос наверное понятен без вопроса. Как победить руский шрифт в имени файла в отчетной форме? Да, на всякий ... "на руском" с одной "с" это правильно. Дополнение. Продолжить идти по пути (по адресной строке) не получается, если она выражена не однозначно, а по инструкции вроде бы можно, например: .... \'170129-01'+'*.*'\.... Может быть, тоже, кто подскажет ...
|
| « Изменён в : 31.01.21 в 16:09:51 пользователем: Seroga » |
Зарегистрирован |
|
|
|
mine-R
  
 compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
Не уверен, что понял вопрос Но если по поводу кириллицы, то вот пример: (в каталоге с базой должен быть файл с кириллицей в имени) Code:loaddir [dir 0] + '*.*' A=[ged 'ld.N'] FOR i=1 to A B=[ged 'ld.'+[intsn i]] C=[dos B] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^C ENDFOR |
| Дополнение про "адресную строку".. Скорее всего пропущен один обратный слэш ( '\' ) после 170129-01. Наверное как-то вот так : Code:| .... \'170129-01\'+'*.*'\.... |
| В данном случае, возможно даже: Code:| .... \ '170129-01\*.*' \.... |
|
|
| « Изменён в : 31.01.21 в 17:42:50 пользователем: mine-R » |
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
1) Благодарю. Понято было правильно. Шрифт победили. 2) Имя папки: 170129-01 1 234 567 Предприятие 1 В ней находятся все документы по договору с номером 170129-01 .... которые нужно в отчетной форме вывести в список, с последующей возможностью их открыть из этой отчетной формы. Имя папки это: 170129-01 - номер договора, он уникальный, второго такого нет 1 234 567 - сумма договора Предприятие 1 - наименование предприятия Задача: в адресной строке, в ее части - наименования папки с документами, ограничится номером договора (он неизменный, в нем вероятность ошибки нулевая) вся остальная часть имени папки через звездочку *. q3='170129-01' ..... '\'+q3+'*.*'+'\'+'*.*' Строка выше - это концовка адресной строки. Как это написать чтобы работало? То, что я написал не работает. Может быть я где-то .... что-то .... Один из вариантов, в имени папки оставить только номер, но хотелось бы, чтобы име было полностью. Еще раз благодарю.
|
| « Изменён в : 31.01.21 в 20:58:15 пользователем: Seroga » |
Зарегистрирован |
|
|
|
BBBB
 
 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 89
|
on 31.01.21 в 20:48:48, Seroga wrote:1) Благодарю. Понято было правильно. Шрифт победили. 2) Имя папки: 170129-01 1 234 567 Предприятие 1 В ней находятся все документы по договору с номером 170129-01 .... которые нужно в отчетной форме вывести в список, с последующей возможностью их открыть из этой отчетной формы. Имя папки это: 170129-01 - номер договора, он уникальный, второго такого нет 1 234 567 - сумма договора Предприятие 1 - наименование предприятия Задача: в адресной строке, в ее части - наименования папки с документами, ограничится номером договора (он неизменный, в нем вероятность ошибки нулевая) вся остальная часть имени папки через звездочку *. q3='170129-01' ..... '\'+q3+'*.*'+'\'+'*.*' Строка выше - это концовка адресной строки. Как это написать чтобы работало? ... |
| Не будет так работать. Вот так надо: q3='170129-01 1 234 567 Предприятие 1' ..... '\'+q3+'\'+'*.*'
|
|
Зарегистрирован |
|
|
|
mine-R
  
 compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
В зависимости от используемой версии, также возможно ограничение на длину папки/файла в 15 символов при загрузке в extrd. Почитать об этом.
|
|
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
Благодарю, сделал чуть по другому, выводится список из полных имен файлов (это даже хорошо, все смогут видеть весь комплект документов по сделке). Все заработало. Теперь вопрос, как открыть эти файлы из отчетной формы. Пока выдает ошибку, что путь неверный или имя файла неверное. Еще раз благодарю.
|
|
Зарегистрирован |
|
|
|
BBBB
 
 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 89
|
on 03.02.21 в 07:27:37, Seroga wrote:... Теперь вопрос, как открыть эти файлы из отчетной формы. Пока выдает ошибку, что путь неверный или имя файла неверное. Еще раз благодарю. |
| Так если при этом открывается программа, из которой вы собираетесь смотреть файлы - значит, путь к ней прописан верно, если не открывается - значит, путь неверный. Если программа открывается, а файл не подхватывается - значит, неверно формируется полный путь к файлу. Так распечатайте имя перед отправкой на печать и посмотрите на него: ^^^^^^^^^имя файла
|
|
Зарегистрирован |
|
|
|
mine-R
  
 compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
А еще лучше, наверное, через список запросов позапускать варианты командной строки запуска. И какой из вариантов запустится, от того и отталкиваться при программировании запуска из формы.
|
|
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
Благодарю всех кто отвечает. loaddir t1+t2+'\'+t3+'\'+t7+'\'+'*.*' t8=[ged 'ld.N'] * ВЫБРАТЬ ПОСМОТРЕТЬ (ENTER-посмотреть; ESC-откатиться назад): for t9=3 to t8 t0=[strip [dos [ged 'ld.'+[intsn t9]]]] BB=[ch 32]+t1+t2+'\'+t3+'\'+t7+'\'+t0+[ch 10] printstr 'N:ENTER:>"C:\Program Files(x86)\Google\Chrome\Application\chrome.exe"'+BB ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^t0 N:ENTER: endfor
|
|
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
Если, из написанного выше, убрать строчки просмотра, то получаем список всех файлов (их полные имена) из нужного директория, т.е. адресная строка правильная и имена файлов правильные - h0: 170129-01 00 7 979 292-94 Дог 05с.pdf 170129-01 01 7 979 292-94 Смета 02с.pdf Пробуем открыть Гуглом. Дома и на работе Операционка 7. Дома "Путь к файлу или имя файла указано не верно" и ничего не запускается. На работе запускаем тоже самое. Открываются 13 вкладок Гугла с таким же сообщением. Файлов в списке 8 шт. Что не так, не понятно. Желательно открывать только те файлы, которые нужно, а не все файлы списка, если Гугл конечно пытается открыть все файлы списка сразу.
|
|
Зарегистрирован |
|
|
|
mine-R
  
 compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
Схема должна быть вот такая: * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * [>] ["Путь к программе в кавычках"] [пробел (ch32)] ["Путь к файлу в кавычках"] * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Хром не устанавливал. Погонял ваш пример на другой установленной программе. Тут важно отметить что для строки запуска нужно передавать имена файлов, не обработанные с помощью [dos]. [ch10] в данном случае не нужен. А вот [ch32] наоборот - нужен. Хотя пробел можно и просто в кавычках (' ') указать. В общем, вот моя вариация вашего примера, которая отрабатывает нормально (интерпретатор скриптов автоматизации открывает файлы скриптов): Code: z1='C:\Program Files (x86)\AutoIt3\Examples' t1='C:\Program Files (x86)\AutoIt3\Examples\*.*' loaddir t1 t8=[ged 'ld.N'] * ВЫБРАТЬ ПОСМОТРЕТЬ (ENTER-посмотреть; ESC-откатиться назад): for t9=3 to t8 z0=[strip [ged 'ld.'+[intsn t9]]] t0=[strip [dos [ged 'ld.'+[intsn t9]]]] BB=[ch32]+'"'+z1+'\'+z0+'"' printstr 'N:ENTER:>"C:\Program Files (x86)\AutoIt3\autoit3.exe"'+BB ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^t0 N:ENTER: endfor |
|
|
| « Изменён в : 03.02.21 в 20:26:34 пользователем: mine-R » |
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
*Д \ Договор \ ИНН \ Год \ Номер \ Файлы i1='C:\Program Files (x86)\AutoIt3\Examples' j1='C:\Program Files (x86)\AutoIt3\Examples\*.*' loaddir j1 * t1='D:\DOGOVOR\' t2=[strip [ged q1+'ИНН']] t3='20'+[cp q3,1,2] loaddir t1+t2+'\'+t3+'\'+'*.*' * t4=[ged 'ld.N'] for t5=3 to t4 t6=[ged 'ld.'+[intsn t5]] if [cp t6,1,9]=q3 t7=[strip t6]; goto d-t7; endif endfor :d-t7 * loaddir t1+t2+'\'+t3+'\'+t7+'\'+'*.*' t8=[ged 'ld.N'] for t9=3 to t8 i0=[strip [ged 'ld.'+[intsn t9]]] i2=t1+t2+'\'+t3+'\'+t7+'\'+i0 t0=[strip [dos [ged 'ld.'+[intsn t9]]]] BB=[ch32]+'"'+i1+'\'+i0+'"' printstr 'N:ENTER:>"C:\Program Files (x86)\AutoIt3\autoit3.exe"'+BB ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^t0 N:ENTER: endfor
|
|
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
Если мое (твое), то что выше правильно, то все равно не работает. Поставил твою программу, для чистоты эксперимента. Список документов не показывает. Убираем показ, список документов показывает. Может быть печать t0 сделать сразу после ее вычисления? При открытии файла пишет: Ошибка открытия файла. Файлы PDF. Да, а где у тебя пробел, о котором ты пишешь?
|
| « Изменён в : 03.02.21 в 22:59:23 пользователем: Seroga » |
Зарегистрирован |
|
|
|
mine-R
  
 compact & flexible rulezzz
Просмотреть Профиль |
Сообщений: 150
|
Странно. Я прямо рабочую формочку скопировал. Если программа (autoit) встала на те же пути что и в примере, то скрипты должны запускаться. В ваших примерах отсутствует пустая строка перед строкой с форматными вставками (^^^^t0). Попробуйте добавить, а лучше в отдельную формочку мой пример скопируйте и пустите. Пробел это [ch32] BB=[ch32]+'"'+z1+'\'+z0+'"' или же BB=' '+'"'+z1+'\'+z0+'"' у меня эти варианты одинаково запускаются. Где-то что-то упущено... Отладочная итоговая строка в соответствии со схемой получается? И двойные кавычки и пробел - всё на своих местах?
|
|
Зарегистрирован |
|
|
|
Seroga

 Я люблю этот Форум!
Просмотреть Профиль |
Сообщений: 40
|
... от начинающего, что бы все моменты осознавать ... - Зачем мы в начале загружаем t1 ? - Что такое ВВ ? Нам нужно получить: путь к программе + пробел + путь к файлу. ВВ= ...z1... Что делает z1 в определении ВВ ? Либо программа сама находит полный путь к указанному файлу? - У меня полный путь к файлу, без dos, это i2. Пустую строку вставил пред t0, не работает. Я скопировал полный фрагмент программы, который выдает список имен файлов и должен открыть нужные файлы. Свое писал, как у тебя. Попробую в отдельном файле, но уже не знаю … Правда, у тебя твое идет, у Светланы свое идет, почему у меня ….
|
|
Зарегистрирован |
|
|
|
|
|