purebasic.info

PureBasic forum
Текущее время: Пн окт 22, 2018 10:47 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 12:50 pm 
Не в сети
док

Зарегистрирован: Ср апр 16, 2014 5:56 pm
Сообщений: 113
Благодарил (а): 7 раз.
Поблагодарили: 6 раз.
Пункты репутации: 5
Здравствуйте.
Часто коды содержат константы или имена процедур, которые не относятся к базовому набору PureBasic и, соответственно, заставляют гадать, в какой библиотеке они находятся.
Скажем, из строки
dhCallMethod(oGenie, "Stop")
известно (мне), что идёт обращение к PureDispHelper.
А как узнать библиотеку здесь:
PureXLS_WriteStringN(id, " ?>")
или здесь:
XLS_SetFont("Arial",18,#XLS_Italic)
Хочется использовать хороший кусок кода, почерпнутый с англоязычного сайта (эти строки оттуда). Работает прекрасно, но только на латинице.
В самом коде не нашёл ничего антирусского, типа переключения кодовой страницы и т.п.
Есть сильное подозрение, что по умолчанию в библиотеке используется шрифт Sans Serif, так любимый англоязычными разработчиками.
Я бы попытался исправить или достать новую либу, но какую - увы...
Итак: может кто-нибудь чётко ответить названия библиотек и способ опознавания?
ЗЫ. Поход на сайты по MSDN ничего не прояснил.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 1:12 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
6519And писал(а):
Итак: может кто-нибудь чётко ответить названия библиотек и способ опознавания?

Пользовательские либы - такие пользовательские. Если автор кода свинья, и не указал, какие он использовал самописные библиотеки в своем исходнике, то ни кто тебе не поможет. Только сам можешь полазить по забугорному сайту, поискать, где ещё такое встречается и найти эту библиотеку.
На счет PureXLS, эта древняя либа у меня есть в исходных кодах, и примерах, можешь править.
Множество других древних библиотке можн тут искать
http://www.purearea.net/pb/english/user ... ersion_asc


Вложения:
PureXLS.zip [8.07 KiB]
Скачиваний: 163

_________________
read-only
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 1:24 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Как вариант - вбивать название функции в гугл и прибавлять к запросу слово "purebasic". Например, "XLS_SetFont purebasic". Там в результатах будут ссылки либо на зарубежные, либо на наш форум (часто и туда и туда). По вышеприведенному запросу самая первая ссылка выдает нам код

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 2:16 pm 
Не в сети
док

Зарегистрирован: Ср апр 16, 2014 5:56 pm
Сообщений: 113
Благодарил (а): 7 раз.
Поблагодарили: 6 раз.
Пункты репутации: 5
Никита Однороб писал(а):
Как вариант - вбивать название функции в гугл и прибавлять к запросу слово "purebasic". Например, "XLS_SetFont purebasic". ...

Спасибо, Никита, я так и гуглил. Ну, толку от этого...
Но, пользуясь случаем, хочу спросить у профессионала. Вот здесь:
viewtopic.php?f=5&t=669&hilit=ExcelApp+%3D+dhCreateObject+Excel.Application&start=15
Тимур задавал вопрос по использованию PureDisphelper, а конкретно по правильному заданию параметров dhGetObject(File.s, ProgID.s, *IID).
Ответа нет, и в хелпе нет примеров открытия файла (вообще ни одного примера). Я потратил уйму времени на всякие попытки и поиски, и вынужден буду (наверно) отказаться от PureDispHelper-а, потому что "свинья" аффтар писал этот хелп, знать, себе самому. Думай и гадай, в либе ошибка или сам (наверно) криворукий.
Так как правильно файл Excel-я вызвать? Все примеры от Петра (спасибо ему большое) download/file.php?id=308 лишь создают, но не читают файл. Я не знаю, где вы все PureBasic-у учились и столько знаете, но обучающей литературы кот наплакал.
А посему большая просьба. Было бы полезно всем, думаю, если бы можно было перебрасывать результаты работы в Excel и обратно.
В приложении есть файлы, что это делают. Но - с кракозябрами. Вот тут: viewtopic.php?f=5&t=952 похожая проблема обсуждалась, однако моих знаний не хватает, и у меня через Excel_Writer ничего пока не получается. И дело не в c_1252 (давно исправлено).
Вот и прошу починить код во вложении. Заранее спасибо.


Вложения:
PureXLS_PB4.rar [7.83 KiB]
Скачиваний: 154
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 4:19 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
6519And писал(а):
Вот и прошу починить код во вложении. Заранее спасибо.

Смешно, товарищ! Это код без изменений, который я постом выше тебе прислал, и он работает без ошибок и кракозябл ( ибо там все строки есть по сути цифры и латиница) и его чинить не надо! Ты свой пришли, который у тебя ошибки и кракозяблы выдает.
Тестовый файл на русском языке, создан в PureBasuc 5.11. Проверьте на наличие не читаемого текста:


Вложения:
test02.zip [2.68 KiB]
Скачиваний: 161

_________________
read-only
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 5:45 pm 
Не в сети
док

Зарегистрирован: Ср апр 16, 2014 5:56 pm
Сообщений: 113
Благодарил (а): 7 раз.
Поблагодарили: 6 раз.
Пункты репутации: 5
kvitaliy писал(а):
6519And писал(а):
Вот и прошу починить код во вложении. Заранее спасибо.

Смешно, товарищ! Это код без изменений, который я постом выше тебе прислал, и он работает без ошибок и кракозябл ( ибо там все строки есть по сути цифры и латиница) и его чинить не надо! Ты свой пришли, который у тебя ошибки и кракозяблы выдает.
Тестовый файл на русском языке, создан в PureBasuc 5.11. Проверьте на наличие не читаемого текста:

Нет, этот код я нашёл на http://www.purebasic.fr/english, конкретно здесь:http://www.purebasic.fr/english/viewtopic.php?f=5&t=43137&p=330302&hilit=PureXLS#p330302
Твоё возмущение понятно, спасибо за файл. Оказывается, все его знают, а я - нет.
А кракозябры вот почему. Если в строке
If PureXLS_Worksheet(doc, "mySheet")
поменять "mySheet" на "лист", то в Excel-файле они и появятся. Можно менять в ячейках, заголовке - та же картина( см. "Result.xls").
А вот как ты сделал свой файл по-русски - не знаю.
На всякий случай присылаю твои исходники со своим результатом.


Вложения:
PureXLS.rar [9.58 KiB]
Скачиваний: 193
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 5:58 pm 
Не в сети
PureBasic Coder
Аватар пользователя

Зарегистрирован: Чт ноя 10, 2011 10:50 am
Сообщений: 4049
Откуда: Ростов-на-Дону
Благодарил (а): 70 раз.
Поблагодарили: 81 раз.
Пункты репутации: 24
Цитата:
поменять "mySheet" на "лист", то в Excel-файле они и появятся. Можно менять в ячейках, заголовке - та же картина

1. Вырезаешь весь текст из кода (Ctrl+A; Ctrl+X)
2. Файл -> Формат файла -> Кодировка: utf-8
3. Вставляешь код обратно (Ctrl+V)
4. Компилятор -> Настройки компилятора -> Ставишь галочку "Создать unicode приложение"

Всё, с русскими буквами работает на ура

_________________
Пурик - лучший язык программирования


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 6:15 pm 
Не в сети
док

Зарегистрирован: Ср апр 16, 2014 5:56 pm
Сообщений: 113
Благодарил (а): 7 раз.
Поблагодарили: 6 раз.
Пункты репутации: 5
О-о-о, Никита, это супер!!!!
Спасибо!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 8:23 pm 
Не в сети
профессор

Зарегистрирован: Вт май 13, 2014 4:12 am
Сообщений: 684
Благодарил (а): 75 раз.
Поблагодарили: 20 раз.
Пункты репутации: 5
Все левые файлы нужно создавать в utf-8, тогда проблем не будет. И в настройках включить как Никита сказал.
И Забудь о 1251. Вспоминай о ней когда девка будет сидеть на коленях, типа, щас, щас всё исправим. :D


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 10:03 pm 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6384
Благодарил (а): 20 раз.
Поблагодарили: 198 раз.
Пункты репутации: 48
Советы из 2009 г. относительно кодировок естественно должны там и остаться. Тогда в Пурике была v4, а там физически не было возможности изменить формат файла на utf8 в меню Файл->Кодировка: Utf8, это появилось позже. Сейчас же, спустя несколько лет и множество версий, в 5.30 это режим де факто, стоит по умолчанию. И естественно, на всех приличных форумах ответы дают по свежим версиям продукта, если это не указано иначе в вопросе.
А потому уточняйте, насколько старую версию вы используете, хотя бы для того, что бы не выглядеть глупо.

Для тех до кого не сразу доходит написанное, сделал уточнение про Utf8

_________________
read-only


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Чт июл 10, 2014 11:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11303
Благодарил (а): 4 раз.
Поблагодарили: 436 раз.
kvitaliy писал(а):
Тогда в Пурике была v4, а там физически не было возможности изменить формат файла на utf8, это появилось позже.
В 4.00 уже была поддержка UTF-8 и юникода.

Изображение


Вложения:
pb4_utf_8.PNG [14.08 KiB]
Скачиваний: 0

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Вопрос по библиотекам
СообщениеДобавлено: Пт июл 11, 2014 1:07 am 
Не в сети
док

Зарегистрирован: Ср апр 16, 2014 5:56 pm
Сообщений: 113
Благодарил (а): 7 раз.
Поблагодарили: 6 раз.
Пункты репутации: 5
Всем огромное спасибо!
Проблема, думаю, не возникла бы, будь PureDispHelper так же чувствителен к UTF-8, как и PureXLS. Если обе библиотеки проявляют себя одинаково у меня - надо смотреть в настройках. Ан нет, по-разному. Это пример того, что "ларчик просто открывался", хотя пришлось просить помощи на форуме.
Но тогда уж, джентльмены, проясните загадку: как в PureDispHelper корректно открыть Excel-файл? Пример Тимура (см. ссылку выше): если файл C:\book_1.xls, то должно быть:
dhGetObject("C:\book_1.xls", "Excel.Application", @ExcelApp)

Syntax

dhGetObject(File.s, ProgID.s, *IID)
Description

Returns the IDispatch pointer of an existing instance of the object identified by ProgID
or Loads a file from disk into the object identified by ProgID

(из Справки).
Мне в Гугле не удалось найти, как в PureBasic-е обозначать ProgID.s и *IID, и почему ругается:

Member: Excel.Арplication
Function: GetObject
Error In: Create ОbjectEx
Error: Object required
Code: 80004002
Source: Application

если ввести означенную строку.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB