Экспорт/импорт из длл операторов???
Участников: 5
Страница 2 из 2
Страница 2 из 2 • 1, 2
Re: Экспорт/импорт из длл операторов???
A, дык, у меня что получается? Есть файлики, выданные прибором, которые по традиции всяких там приборных ASCII файлов выглядят как напечатанные из-под фортрана. Т.е. колонки данных, разделенных пробелами. А Бейсики заточены на чтение данных, разделенных запятой. Плюс - надо отделить заголовок с описанием методики (количество строк разное). Соответственно, приходится читать построчно и загонять в строку, а после ее парсить на предмет выявления признаков заголовка или на наличие численных данных. И после сглаживания функциями в ДЛЛ все это дело надо опять собрать в файл, похожий на исходный, т.е. с разделителями-пробелами. Короче, и чтение, и печать - через строковые переменные, и при чтении возня серьезная. А во FreeBasic все-таки со строками неудобно работать, далеко ему до PowerBasic по оснащенности строковыми функциями. Интерфейс (ГУИ) на PowerBasic стряпается за несколько минут, если есть редактор диалогов. Морока с переносом массивов из бейсика в фортран, я думаю, везде одного порядка. Чисто по работе со строками мне удобнее PowerBasic, да и ДЛЛ-ки он цепляет, похоже, куда увереннее. Мало ли что прикрутить потом надо будет...
MOHCTP- Сообщения : 17
Дата регистрации : 2011-02-07
Re: Экспорт/импорт из длл операторов???
Haконец, удосужился поразбираться в функциях. Вот это да! Кстати, конечный вывод отдельных файлов в случае OpenFileRequester + OFN_ALLOWMULTISELECT сделан так же, как у Silverfrost FTN95, в их GUI библиотеке ClearWin+. По циклу. И строковых функций хороших изрядно... Да, надо будет попробовать с этим повозиться!trew пишет:Посмотри в моей библиотеке функцию OpenFileRequester https://freebasic.forum2x2.ru/t374-topic
MOHCTP- Сообщения : 17
Дата регистрации : 2011-02-07
Re: Экспорт/импорт из длл операторов???
MOHCTP пишет:VerhoLom
Пардон, не сразу отвечаю: ковырялся в программе, на форум не залезал. Нет, вот как раз по ноликам и смотрел. И даже просил их мне во всей возвращаемой строке поменять на символ "|", чтобы можно было вывести на печать и посмотреть. В результате получается: полный буфер нулей, лишь изредка кое-где какие-то случайные символы. Что странно, и с FreeBasic, и с Compaq Visual Fortran у меня получается вот такая вот фигня. Ну, понятное дело, и там, и там написано было по одинаковому сценарию. А вот с PowerBasic файлы открываются на ура, зато целый день мучился, пока нашел способ перекидывать массивы между фортраном и бейсиком. В хелпе к Compaq Visual Fortran хороший совет дали: запихать их внутрь UDT. Так все работает.
А библиотечку я попозже выложу, когда домой с работы приеду. Но там к ней в компаньоны идет еще куча всяких ДЛЛ. И если уж с ней ковыряться, то нужны еще и исходники: в них в комментариях записаны изменения, введенные после составления справки.
Извиняюсь за задержку. Итак, вот работающий код:
- Код:
#Include Once "windows.bi"
#Include Once "win/commdlg.bi"
Dim As OPENFILENAMEA Ptr ofn=New OPENFILENAME
Dim As UByte Ptr buf=New UByte[1024],files=New UByte[1024]
Dim As UInteger cch=0UL
ofn->lStructSize=SizeOf(OPENFILENAME)
ofn->Flags=OFN_ALLOWMULTISELECT+OFN_EXPLORER
ofn->hwndOwner=GetActiveWindow()
ofn->lpstrFilter=StrPtr(Str(!"*.*\0*.*\0\0"))
ofn->lpstrFile=buf
ofn->nMaxFile=1024
If GetOpenFileName(ofn)<>0 Then
Scope
Do
cch=lstrlen(buf)
If cch Then
lstrcat(files,buf)
lstrcat(files,StrPtr(Str(!"\n")))
buf+=cch+1
EndIf
Loop While cch
MessageBox(0,files,0,MB_APPLMODAL)
End Scope
EndIf
Delete(ofn)
Delete[](buf)
Delete[](files)
End
Код на быструю руку, может Вы чего упустили. Вряд-ли GetOpenFileName будет сильно корячиться... Хотя...
VerhoLom- Сообщения : 67
Дата регистрации : 2010-07-06
Возраст : 42
Re: Экспорт/импорт из длл операторов???
VerhoLom
Cпасибо, буду изучать потихоньку. Похоже, использование WinAPI для первичной разборки результата, возвращенного в буфере, (может, и последующей) - действительно хорошая идея. Правда, MSDN вопит, что lstrcat использовать ну никак нельзя, и надо брать StringCchCat.
Cпасибо, буду изучать потихоньку. Похоже, использование WinAPI для первичной разборки результата, возвращенного в буфере, (может, и последующей) - действительно хорошая идея. Правда, MSDN вопит, что lstrcat использовать ну никак нельзя, и надо брать StringCchCat.
MOHCTP- Сообщения : 17
Дата регистрации : 2011-02-07
Страница 2 из 2 • 1, 2
Страница 2 из 2
Права доступа к этому форуму:
Вы не можете отвечать на сообщения
|
|