Пост N: 326
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 07.08.07 10:28. Заголовок: Re:
vintik пишет:
цитата:
Петр, если есть инфа по основам
К сожалению инфы на русском по Пурику очень мало. Кое что здесь найти можно, только там очень мало инфы и она для версии PB 2.90, а у нас PB 4.0
Все дело в том, что непопулярен у нас бейсик. Все пишут на Си или Дельфи. Я вот на одним форуме видел что некоторые люди до сих пор считают бейсик интерплитатором и что на нём ничего толкового не напишешь. Это далеко не так. Конечно, Пурик уступает по возможностям Си и Дельфи, но его можно быстрее изучить. Скорость работы созданых с его помощью приложений не уступает таким же программам написаным на Си и во много раз превосходит программы написаные на Дельфи У нас ещё это не "пронюхали", а вот за бугром уже многие на Пурик начали преходить.
Пост N: 215
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 07.08.07 12:54. Заголовок: Re:
Пётр пишет:
цитата:
Кое что здесь найти можно
Эта ссылка уже выставлялась, но всеравно спасибо. Из тех материалов, что мне попадались выходит, что с ЛПТ портом на прямую не поработаеш, а СОМ порта у меня нет. По этому тяга, в этом направлении несколько поубавилась.
Пост N: 327
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 07.08.07 13:33. Заголовок: Re:
vintik пишет:
цитата:
Из тех материалов, что мне попадались выходит, что с ЛПТ портом на прямую не поработаешь,
Почему же можно, только проще работать через файл inpout32.dll. В принципе в этом не ничего очень сложного. Через некоторое время выложу исходник и объясню как он работает. Только вот полноценный COM на LPT реализовать трудно, мешает этому многозадачность Винды. Нужно будет у проги ставить высокий приоритет или приоритет реального времени. Что не есть хорошо.
Пост N: 328
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 07.08.07 14:30. Заголовок: Re:
цитата:
Очень помогло бы, может ссылки на электронные варианты книг?
На русском языке инфу найти будет сложно, но на английском её должно быть много. К сожалению, из-за того что я плохо английский знаю, по "забугровым" сайтам мало брожу. Это вопрос можно задать здесь Там на него объязательно ответят.
На этих файлообмениках можно найти пример обмена информацией через LPT1. В исходнике 4 процедуры. Процедура OpenInpOut32() открывает ДЛЛ-ку. Её следует вызывать перед работой с портом. Процедура CloseInpOut32() закрывает ДЛЛ-ку. Её следует вызывать когда порт больше не нужен, например, в конце программы. Процедура InLPT считывает один байт с линий DATA0-DATA7. Процедура OutLPT записывает один байт на линии DATA0-DATA7.
Пост N: 222
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 08.08.07 12:37. Заголовок: Re:
Пётр пишет:
цитата:
не поддерживает EPP
Не ругайся EPP это как..., или что?
При написании программы работы с портом ЛПТ, потом нужно отдельно ставить драйвер для порта. Тоесть, имея программу нужно чтобы этот драйвер был вместе с ней. В противном случае, при переустановке системы (винХП), этот драйвер теряется и программа перестает работать. Получается, что в отличии от СОМ, для ЛПТ нужен воз и еще маленькая тележка
Пост N: 332
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 08.08.07 13:18. Заголовок: Re:
Пётр пишет:
цитата:
Несколько часов не мог понять почему инфа в порт поступает а из порта нет.
Что-то я перепутал. Нужно читать так: Несколько часов не мог понять почему инфа из порта поступает во внешнее устройство а в порт непоступает.
vintik пишет:
цитата:
EPP это как..., или что
Это режим работы порта. Его можно задать в BIOS. В моём компе есть два LPT порта. Один на ISA плате разширения, другой на системной плате. Так вот, тот что на плате разширения не поддерживает на аппаратном уровне режим EPP. А может и поддерживает, только на плате куча перемычек, попробуй определи какая для чего.
vintik пишет:
цитата:
При написании программы работы с портом ЛПТ, потом нужно отдельно ставить драйвер для порта
Для работы с LPT портом в качестве драйвера используется файл inpout32.dll. Причём он может быть как в системной папке, так и в папке с программой (без разницы). Можно сделать ещё круче. Берём этот файл, помещаем в тело программы, и при каждом запуске программы проверяем есть ли в системной папке файл inpout32.dll. Если его там нет, просто извлекаем из программы его и помещаем в системную папку.
Пост N: 223
Зарегистрирован: 26.12.06
Откуда: Одесса
Рейтинг:
0
Отправлено: 08.08.07 13:31. Заголовок: Re:
Пётр пишет:
цитата:
Берём этот файл, помещаем в тело программы, и при каждом запуске программы проверяем есть ли в системной папке файл inpout32.dll. Если его там нет, просто извлекаем из программы его и помещаем в системную папку.
Так это совсем другое дело На сколько понял, прога и inpout32.dll, будет одно целое -исполняемый файл хххх.ехе???
Пост N: 334
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 10.08.07 11:47. Заголовок: Re:
vintik пишет:
цитата:
теперь слепить схемку как нарисунке, со светодиодами?
Можно и ту схему слепить. Есть там ещё и схема с кнопками, её тоже сделать можно.
Вот это
цитата:
Берём этот файл, помещаем в тело программы, и при каждом запуске программы проверяем есть ли в системной папке файл inpout32.dll. Если его там нет, просто извлекаем из программы его и помещаем в системную папку
я ещё не реализовал. Для этого сначала следует с файлами разобраться (это будет следующий раздел).
PS. К сожалению, я пока ещё не доконца разобрался как LPT порт работает, поэтому и так мало инфы о порте.
Пост N: 338
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
1
Отправлено: 11.08.07 10:52. Заголовок: Re:
Пётр пишет:
цитата:
Берём этот файл, помещаем в тело программы, и при каждом запуске программы проверяем есть ли в системной папке файл inpout32.dll
Если скопировать этот код в программу LPT.pb то больше не понадобится тащить файл inpout32.dll. Скрытый текст
Procedure SysLib() Path.s=Space(500) ; Узнаём путь к системной папке GetSystemDirectory_(@Path,500) SysLib.s=Path+"\inpout32.dll" ; Пытаемся открыть файл inpout32.dll в системной папке Lib=OpenLibrary(7,SysLib) If Lib=0 ; Если такого файла там нет, спрашиваем, установить его туда или нет. Result=MessageRequester("Отсутствует драйвер.","В системной папке отсутствует файл inpout32.dll"+Chr(10)+Chr(13)+"установить его?",#MB_YESNO | #MB_ICONQUESTION) If Result=#PB_MessageRequester_Yes ; Если ответ положительный, соэдаём в системной папке пустой файл inpout32.dll If CreateFile(32,SysLib) length = ?Dll_LibEnd-?Dll_Lib ; Считываем код из Дата-блока и записываем в созданный файл. WriteData(32,?Dll_Lib, length) ; Закрываем файл CloseFile(32) Else ; Если не удалось создать файл inpout32.dll, сообщаем об этом MessageRequester("Фатальная ошибка","Не удалось создать файл inpout32.dll в папке"+Chr(10)+Chr(13)+Path , #MB_OK | #MB_ICONERROR) EndIf EndIf Else ; Если же в системной папке существовал необходимый файл закрываем его. CloseLibrary(7) EndIf ; Начало Дата-блока DataSection Dll_Lib: ; Помещаем файл inpout32.dll в бинарном (двоичном) виде в Дата-блок IncludeBinary "inpout32.dll" Dll_LibEnd: ; Конец Дата-блока EndDataSection ; Конец процедуры EndProcedure
; Вызываем процедуру SysLib()
Помесить его следует в самое начало программы, просто скопировать. При компиляции программы, файл inpout32.dll должен быть обязательно в одной папке с исходником. При этом, EXE-ник будет содержать в себе ДЛЛ-ку. При каждом запуске, проверяться наличие файла inpout32.dll в системной папке (C:\WINDOWS\System32) и если его там не окажется, программа спросит Вас, установить его или нет.
Пост N: 248
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 13.08.07 12:10. Заголовок: Re:
Alberto пишет:
цитата:
у меня где-то есть информация по LPT
надо было сначала посмотреть, а потом обещать выложить , информация - то есть, но все что я нашел на настоящий момент на испанском , было где-то и на русском (хотя может и ошибаюсь, просто не обратил внимание на язык), одним словом буду искать.
Пост N: 211
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
1
Отправлено: 17.08.07 19:02. Заголовок: Re:
Петр, здравствуйте. У меня к Вам вопрос: не смогли бы Вы в Pure Basic написать программу, аналогичную программе Марова Николая Андреевича "Pause"? Я очень часто пользуюсь этой программой (думаю, что и не только я), и очень благодарен ему за неё! Хотелось-бы, чтобы в программе была возможность формировать код задержки не только в машинных циклах, но и формировать код по необходимому времени задержки в сек, мс, мкс, с возможность самому выбирать тактовую частоту используемого процессора вплоть до 20 МГц. Я писал письмо Марову Николаю, но он сообщил, что пока нет времени.
Пост N: 345
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 20.08.07 17:08. Заголовок: Re:
RW1ZK пишет:
цитата:
Вам вопрос: не смогли бы Вы в Pure Basic написать программу, аналогичную программе Марова Николая Андреевича "Pause"
Может для начала подойдёт простенький калькулятор, преобразующий частоту кварца и количество секунд в машинные циклы? А то начал я с этими задержками разбираться и наступил на "грабли".
Теперь об "Уроках программирования на PureBasic". Судя по всему не всё понятно что я объяснял, возможно за это время скопилось много вопросов. Поэтому задавайте любые вопросы.
Пост N: 352
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 24.08.07 17:13. Заголовок: Re:
kaligraf пишет:
цитата:
Нашёл у себя на диске PureBasic 3.51
Есть он у меня, именно с него я и начинал. Вам же советую скачать PureBasic 4.0 он намного лучше.
Между ними есть следующие отличия: PureBasic 3.51 некорректно работает с Русскими буквами, в PureBasic 4.0 этот глюк устранён. Между этими версиями есть много различий, например, изменился синтаксис языка, правда несильно. Есть много других отличий, которые перечислять долго.
Пост N: 365
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
2
Отправлено: 30.08.07 11:24. Заголовок: Re:
С этого сайта следует скачать три файла Pure, Basic и REANIMATOR.exe расположив их в одной папке. Затем, следует запустить программу REANIMATOR.exe, которая переименнует файл Pure в Setup.sfx.part1.exe а файл Basic в Setup.sfx.part2.rar При необходимости эти файлы можно вручную переименовать.
Пост N: 71
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 30.08.07 13:42. Заголовок: Re:
Похоже была ошибка при скачивании программы. Скачал с http://www.rampark.70mb.ru/purebasic/ - там в виде целого архива файл лежит, установился нормально, буду осваивать.
Пост N: 303
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
1
Награды:
Отправлено: 01.10.07 12:28. Заголовок: Re:
Пётр пишет:
цитата:
какие успехи?
пока не очень , времени мало... Хотел вывести график температуры от времени, но что-то не получается нарисовать график на белом фоне, только на черном. Правда надо бы еще посидеть, хочется разобраться самому .
Все даты в формате GMT
3 час. Хитов сегодня: 13
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет