FreeBasic
Вы хотите отреагировать на этот пост ? Создайте аккаунт всего в несколько кликов или войдите на форум.

Экспорт/импорт из длл операторов???

Участников: 5

Страница 2 из 2 Предыдущий  1, 2

Перейти вниз

Экспорт/импорт из длл операторов??? - Страница 2 Empty Re: Экспорт/импорт из длл операторов???

Сообщение  MOHCTP Пн Фев 14, 2011 11:29 pm

A, дык, у меня что получается? Есть файлики, выданные прибором, которые по традиции всяких там приборных ASCII файлов выглядят как напечатанные из-под фортрана. Т.е. колонки данных, разделенных пробелами. А Бейсики заточены на чтение данных, разделенных запятой. Плюс - надо отделить заголовок с описанием методики (количество строк разное). Соответственно, приходится читать построчно и загонять в строку, а после ее парсить на предмет выявления признаков заголовка или на наличие численных данных. И после сглаживания функциями в ДЛЛ все это дело надо опять собрать в файл, похожий на исходный, т.е. с разделителями-пробелами. Короче, и чтение, и печать - через строковые переменные, и при чтении возня серьезная. А во FreeBasic все-таки со строками неудобно работать, далеко ему до PowerBasic по оснащенности строковыми функциями. Интерфейс (ГУИ) на PowerBasic стряпается за несколько минут, если есть редактор диалогов. Морока с переносом массивов из бейсика в фортран, я думаю, везде одного порядка. Чисто по работе со строками мне удобнее PowerBasic, да и ДЛЛ-ки он цепляет, похоже, куда увереннее. Мало ли что прикрутить потом надо будет... Laughing

MOHCTP

Сообщения : 17
Дата регистрации : 2011-02-07

Вернуться к началу Перейти вниз

Экспорт/импорт из длл операторов??? - Страница 2 Empty Re: Экспорт/импорт из длл операторов???

Сообщение  MOHCTP Вт Фев 15, 2011 11:39 pm

trew пишет:Посмотри в моей библиотеке функцию OpenFileRequester https://freebasic.forum2x2.ru/t374-topic
Haконец, удосужился поразбираться в функциях. Вот это да! Кстати, конечный вывод отдельных файлов в случае OpenFileRequester + OFN_ALLOWMULTISELECT сделан так же, как у Silverfrost FTN95, в их GUI библиотеке ClearWin+. По циклу. И строковых функций хороших изрядно... Да, надо будет попробовать с этим повозиться! bounce

MOHCTP

Сообщения : 17
Дата регистрации : 2011-02-07

Вернуться к началу Перейти вниз

Экспорт/импорт из длл операторов??? - Страница 2 Empty Re: Экспорт/импорт из длл операторов???

Сообщение  VerhoLom Пн Мар 14, 2011 4:34 pm

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 будет сильно корячиться... Хотя... afro

Экспорт/импорт из длл операторов??? - Страница 2 23045352
VerhoLom
VerhoLom

Сообщения : 67
Дата регистрации : 2010-07-06
Возраст : 42

Вернуться к началу Перейти вниз

Экспорт/импорт из длл операторов??? - Страница 2 Empty Re: Экспорт/импорт из длл операторов???

Сообщение  MOHCTP Вс Мар 20, 2011 3:23 pm

VerhoLom
Cпасибо, буду изучать потихоньку. Похоже, использование WinAPI для первичной разборки результата, возвращенного в буфере, (может, и последующей) - действительно хорошая идея. Правда, MSDN вопит, что lstrcat использовать ну никак нельзя, и надо брать StringCchCat.

MOHCTP

Сообщения : 17
Дата регистрации : 2011-02-07

Вернуться к началу Перейти вниз

Страница 2 из 2 Предыдущий  1, 2

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения