diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 15ac9ac85d..77af545153 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,417 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-05-31 10:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + * harbour/src/vm/maindllp/dllpcode.c + * harbour/src/vm/procaddr.c + * harbour/src/common/funcid.c + * harbour/src/rtl/hbinetz.c + * harbour/src/rtl/hbcom.c + * harbour/include/hbapicom.h + * harbour/contrib/hbct/ctcom1.c + * harbour/contrib/hbct/ctcom.ch + * harbour/contrib/hbct/ctcom2.c + * harbour/contrib/xhb/xhbhasha.c + * harbour/contrib/xhb/xhw32prn.prg + * harbour/contrib/hbqt/qtgui/HBQTextBlockUserData.cpp + * harbour/contrib/hbqt/qtgui/QStackedWidget.cpp + * harbour/contrib/hbqt/qtgui/QTextList.cpp + * harbour/contrib/hbqt/qtgui/THBQSyntaxHighlighter.prg + * harbour/contrib/hbqt/qtgui/THBQPlainTextEdit.prg + * harbour/contrib/hbqt/qtgui/HBQSyntaxHighlighter.cpp + * harbour/contrib/hbqt/qtgui/HBQPlainTextEdit.cpp + * harbour/contrib/hbqt/qtgui/TQPlainTextDocumentLayout.prg + * harbour/contrib/hbqt/qtgui/TQTextList.prg + * harbour/contrib/hbqt/qtgui/THBQTableView.prg + * harbour/contrib/hbqt/qtgui/QPlainTextDocumentLayout.cpp + * harbour/contrib/hbqt/qtgui/TQPaintEngine.prg + * harbour/contrib/hbqt/qtgui/HBQTableView.cpp + * harbour/contrib/hbqt/qtgui/QPaintEngine.cpp + * harbour/contrib/hbqt/qtgui/TQStackedWidget.prg + * harbour/contrib/hbqt/qtgui/filelist.mk + * harbour/contrib/hbqt/qtgui/HBQMainWindow.cpp + * harbour/contrib/hbqt/qtgui/TQMdiArea.prg + * harbour/contrib/hbqt/qtgui/QMdiSubWindow.cpp + * harbour/contrib/hbqt/qtgui/QMdiArea.cpp + * harbour/contrib/hbqt/qtgui/THBQMainWindow.prg + * harbour/contrib/hbqt/qtgui/TQMdiSubWindow.prg + * harbour/contrib/hbqt/qtgui/THBQTextBlockUserData.prg + * harbour/contrib/hbqt/qtcore/HBSlots.cpp + * harbour/contrib/hbqt/qtcore/THBEvents.prg + * harbour/contrib/hbqt/qtcore/THBDbfModel.prg + * harbour/contrib/hbqt/qtcore/TQBuffer.prg + * harbour/contrib/hbqt/qtcore/THBSlots.prg + * harbour/contrib/hbqt/qtcore/HBEvents.cpp + * harbour/contrib/hbqt/qtcore/HBDbfModel.cpp + * harbour/contrib/hbqt/qtcore/QBuffer.cpp + * harbour/contrib/hbqt/doc/en/class_qtabbar.txt + * harbour/contrib/hbqt/doc/en/class_qfontdatabase.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionmenuitem.txt + * harbour/contrib/hbqt/doc/en/class_qapplication.txt + * harbour/contrib/hbqt/doc/en/class_qmatrix.txt + * harbour/contrib/hbqt/doc/en/class_qabstractslider.txt + * harbour/contrib/hbqt/doc/en/class_qtextdecoder.txt + * harbour/contrib/hbqt/doc/en/class_qlcdnumber.txt + * harbour/contrib/hbqt/doc/en/class_qtextoption.txt + * harbour/contrib/hbqt/doc/en/class_qcolor.txt + * harbour/contrib/hbqt/doc/en/class_qtextlist.txt + * harbour/contrib/hbqt/doc/en/class_qtextboundaryfinder.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptioncombobox.txt + * harbour/contrib/hbqt/doc/en/class_qslider.txt + * harbour/contrib/hbqt/doc/en/class_qitemselectionmodel.txt + * harbour/contrib/hbqt/doc/en/class_qconicalgradient.txt + * harbour/contrib/hbqt/doc/en/class_qcompleter.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionspinbox.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionslider.txt + * harbour/contrib/hbqt/doc/en/class_qwizardpage.txt + * harbour/contrib/hbqt/doc/en/class_qpixmap.txt + * harbour/contrib/hbqt/doc/en/class_qwebsettings.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionprogressbar.txt + * harbour/contrib/hbqt/doc/en/class_qinputcontext.txt + * harbour/contrib/hbqt/doc/en/class_qplaintextdocumentlayout.txt + * harbour/contrib/hbqt/doc/en/class_qdial.txt + * harbour/contrib/hbqt/doc/en/class_qeventloop.txt + * harbour/contrib/hbqt/doc/en/class_qpagesetupdialog.txt + * harbour/contrib/hbqt/doc/en/class_qstyleditemdelegate.txt + * harbour/contrib/hbqt/doc/en/class_qinputdialog.txt + * harbour/contrib/hbqt/doc/en/class_qkeysequence.txt + * harbour/contrib/hbqt/doc/en/class_qtableview.txt + * harbour/contrib/hbqt/doc/en/class_qregion.txt + * harbour/contrib/hbqt/doc/en/class_qmenubar.txt + * harbour/contrib/hbqt/doc/en/class_qactiongroup.txt + * harbour/contrib/hbqt/doc/en/class_qtextcharformat.txt + * harbour/contrib/hbqt/doc/en/class_qmessagebox.txt + * harbour/contrib/hbqt/doc/en/class_qtime.txt + * harbour/contrib/hbqt/doc/en/class_qthread.txt + * harbour/contrib/hbqt/doc/en/class_qtextinlineobject.txt + * harbour/contrib/hbqt/doc/en/class_qtransform.txt + * harbour/contrib/hbqt/doc/en/class_qpushbutton.txt + * harbour/contrib/hbqt/doc/en/class_qcontextmenuevent.txt + * harbour/contrib/hbqt/doc/en/class_qsessionmanager.txt + * harbour/contrib/hbqt/doc/en/class_qtimer.txt + * harbour/contrib/hbqt/doc/en/class_qtextcodec.txt + * harbour/contrib/hbqt/doc/en/class_qprintengine.txt + * harbour/contrib/hbqt/doc/en/class_qpen.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontoolbutton.txt + * harbour/contrib/hbqt/doc/en/class_qprogressdialog.txt + * harbour/contrib/hbqt/doc/en/class_qkeyevent.txt + * harbour/contrib/hbqt/doc/en/class_qtextformat.txt + * harbour/contrib/hbqt/doc/en/class_qpalette.txt + * harbour/contrib/hbqt/doc/en/class_qpainter.txt + * harbour/contrib/hbqt/doc/en/class_qnetworkrequest.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionframe.txt + * harbour/contrib/hbqt/doc/en/class_hbdbfmodel.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionfocusrect.txt + * harbour/contrib/hbqt/doc/en/class_qaction.txt + * harbour/contrib/hbqt/doc/en/class_qfontinfo.txt + * harbour/contrib/hbqt/doc/en/class_qimage.txt + * harbour/contrib/hbqt/doc/en/class_qstylepainter.txt + * harbour/contrib/hbqt/doc/en/class_qwidget.txt + * harbour/contrib/hbqt/doc/en/class_qabstractproxymodel.txt + * harbour/contrib/hbqt/doc/en/class_qbuttongroup.txt + * harbour/contrib/hbqt/doc/en/class_qtranslator.txt + * harbour/contrib/hbqt/doc/en/class_qspaceritem.txt + * harbour/contrib/hbqt/doc/en/class_qsystemtrayicon.txt + * harbour/contrib/hbqt/doc/en/class_qpolygonf.txt + * harbour/contrib/hbqt/doc/en/class_qcolordialog.txt + * harbour/contrib/hbqt/doc/en/class_qlistwidgetitem.txt + * harbour/contrib/hbqt/doc/en/class_qfiledialog.txt + * harbour/contrib/hbqt/doc/en/class_qclipboard.txt + * harbour/contrib/hbqt/doc/en/class_qfontcombobox.txt + * harbour/contrib/hbqt/doc/en/class_qtextstream.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontoolbox.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontabbarbase.txt + * harbour/contrib/hbqt/doc/en/class_qformlayout.txt + * harbour/contrib/hbqt/doc/en/class_qmdiarea.txt + * harbour/contrib/hbqt/doc/en/class_qlist.txt + * harbour/contrib/hbqt/doc/en/class_qdate.txt + * harbour/contrib/hbqt/doc/en/class_qcursor.txt + * harbour/contrib/hbqt/doc/en/class_qlayout.txt + * harbour/contrib/hbqt/doc/en/class_qsignalmapper.txt + * harbour/contrib/hbqt/doc/en/class_qtextdocument.txt + * harbour/contrib/hbqt/doc/en/class_qtextbrowser.txt + * harbour/contrib/hbqt/doc/en/class_qmodelindex.txt + * harbour/contrib/hbqt/doc/en/class_qtablewidget.txt + * harbour/contrib/hbqt/doc/en/class_qpointf.txt + * harbour/contrib/hbqt/doc/en/class_qpaintengine.txt + * harbour/contrib/hbqt/doc/en/class_qbytearray.txt + * harbour/contrib/hbqt/doc/en/class_qrectf.txt + * harbour/contrib/hbqt/doc/en/class_qfontmetricsf.txt + * harbour/contrib/hbqt/doc/en/class_quiloader.txt + * harbour/contrib/hbqt/doc/en/class_qfont.txt + * harbour/contrib/hbqt/doc/en/class_qtextdocumentfragment.txt + * harbour/contrib/hbqt/doc/en/class_qtextframeformat.txt + * harbour/contrib/hbqt/doc/en/class_qtextblockformat.txt + * harbour/contrib/hbqt/doc/en/class_qabstractscrollarea.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontoolbar.txt + * harbour/contrib/hbqt/doc/en/class_qcoreapplication.txt + * harbour/contrib/hbqt/doc/en/class_qimagewriter.txt + * harbour/contrib/hbqt/doc/en/class_qscrollarea.txt + * harbour/contrib/hbqt/doc/en/class_qpaintdevice.txt + * harbour/contrib/hbqt/doc/en/class_qlayoutitem.txt + * harbour/contrib/hbqt/doc/en/class_qrect.txt + * harbour/contrib/hbqt/doc/en/class_qfontmetrics.txt + * harbour/contrib/hbqt/doc/en/class_qabstractitemmodel.txt + * harbour/contrib/hbqt/doc/en/class_qdragmoveevent.txt + * harbour/contrib/hbqt/doc/en/class_qtextfragment.txt + * harbour/contrib/hbqt/doc/en/class_qbuffer.txt + * harbour/contrib/hbqt/doc/en/class_qwebpage.txt + * harbour/contrib/hbqt/doc/en/class_qprintdialog.txt + * harbour/contrib/hbqt/doc/en/class_qbitmap.txt + * harbour/contrib/hbqt/doc/en/class_qdoublespinbox.txt + * harbour/contrib/hbqt/doc/en/class_qspinbox.txt + * harbour/contrib/hbqt/doc/en/class_qlatin1char.txt + * harbour/contrib/hbqt/doc/en/class_qhttpheader.txt + * harbour/contrib/hbqt/doc/en/class_qvariant.txt + * harbour/contrib/hbqt/doc/en/class_qitemselection.txt + * harbour/contrib/hbqt/doc/en/class_qsyntaxhighlighter.txt + * harbour/contrib/hbqt/doc/en/class_qimagereader.txt + * harbour/contrib/hbqt/doc/en/class_qobject.txt + * harbour/contrib/hbqt/doc/en/class_qwebhistoryitem.txt + * harbour/contrib/hbqt/doc/en/class_qtreewidgetitem.txt + * harbour/contrib/hbqt/doc/en/class_qgridlayout.txt + * harbour/contrib/hbqt/doc/en/class_qvalidator.txt + * harbour/contrib/hbqt/doc/en/class_qtextlength.txt + * harbour/contrib/hbqt/doc/en/class_qiodevice.txt + * harbour/contrib/hbqt/doc/en/class_qlinef.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiondockwidget.txt + * harbour/contrib/hbqt/doc/en/class_qhttprequestheader.txt + * harbour/contrib/hbqt/doc/en/class_qresizeevent.txt + * harbour/contrib/hbqt/doc/en/class_qgroupbox.txt + * harbour/contrib/hbqt/doc/en/class_qpicture.txt + * harbour/contrib/hbqt/doc/en/class_qpaintevent.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontab.txt + * harbour/contrib/hbqt/doc/en/class_qsizef.txt + * harbour/contrib/hbqt/doc/en/class_qstackedwidget.txt + * harbour/contrib/hbqt/doc/en/class_qwebpluginfactory.txt + * harbour/contrib/hbqt/doc/en/class_qdatastream.txt + * harbour/contrib/hbqt/doc/en/class_qfontdialog.txt + * harbour/contrib/hbqt/doc/en/class_qstylefactory.txt + * harbour/contrib/hbqt/doc/en/class_hbqplaintextedit.txt + * harbour/contrib/hbqt/doc/en/class_qmouseevent.txt + * harbour/contrib/hbqt/doc/en/class_qdatetime.txt + * harbour/contrib/hbqt/doc/en/class_hbqtextblockuserdata.txt + * harbour/contrib/hbqt/doc/en/class_qwheelevent.txt + * harbour/contrib/hbqt/doc/en/class_qabstractitemdelegate.txt + * harbour/contrib/hbqt/doc/en/class_qfocusevent.txt + * harbour/contrib/hbqt/doc/en/class_qwidgetaction.txt + * harbour/contrib/hbqt/doc/en/class_qstringlistmodel.txt + * harbour/contrib/hbqt/doc/en/class_qtoolbox.txt + * harbour/contrib/hbqt/doc/en/class_qcheckbox.txt + * harbour/contrib/hbqt/doc/en/class_qwebframe.txt + * harbour/contrib/hbqt/doc/en/class_qsound.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoption.txt + * harbour/contrib/hbqt/doc/en/class_qpoint.txt + * harbour/contrib/hbqt/doc/en/class_qftp.txt + * harbour/contrib/hbqt/doc/en/class_qerrormessage.txt + * harbour/contrib/hbqt/doc/en/class_qdirmodel.txt + * harbour/contrib/hbqt/doc/en/class_qsettings.txt + * harbour/contrib/hbqt/doc/en/class_qabstractprintdialog.txt + * harbour/contrib/hbqt/doc/en/class_qurl.txt + * harbour/contrib/hbqt/doc/en/class_qstringlist.txt + * harbour/contrib/hbqt/doc/en/class_qdatetimeedit.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionviewitem.txt + * harbour/contrib/hbqt/doc/en/class_qfileiconprovider.txt + * harbour/contrib/hbqt/doc/en/class_qfilesystemmodel.txt + * harbour/contrib/hbqt/doc/en/class_qabstractspinbox.txt + * harbour/contrib/hbqt/doc/en/class_qmoveevent.txt + * harbour/contrib/hbqt/doc/en/class_qtoolbutton.txt + * harbour/contrib/hbqt/doc/en/class_qfile.txt + * harbour/contrib/hbqt/doc/en/class_qlistwidget.txt + * harbour/contrib/hbqt/doc/en/class_qmovie.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontitlebar.txt + * harbour/contrib/hbqt/doc/en/class_qevent.txt + * harbour/contrib/hbqt/doc/en/class_qtextlayout.txt + * harbour/contrib/hbqt/doc/en/class_qtextcursor.txt + * harbour/contrib/hbqt/doc/en/class_qpolygon.txt + * harbour/contrib/hbqt/doc/en/class_qtreeview.txt + * harbour/contrib/hbqt/doc/en/class_qtextline.txt + * harbour/contrib/hbqt/doc/en/class_qwizard.txt + * harbour/contrib/hbqt/doc/en/class_qtoolbar.txt + * harbour/contrib/hbqt/doc/en/class_qtextitem.txt + * harbour/contrib/hbqt/doc/en/class_qabstracttextdocumentlayout.txt + * harbour/contrib/hbqt/doc/en/class_qsplitter.txt + * harbour/contrib/hbqt/doc/en/class_qwebsecurityorigin.txt + * harbour/contrib/hbqt/doc/en/class_qstandarditem.txt + * harbour/contrib/hbqt/doc/en/class_hbqsyntaxhighlighter.txt + * harbour/contrib/hbqt/doc/en/class_qlatin1string.txt + * harbour/contrib/hbqt/doc/en/class_qheaderview.txt + * harbour/contrib/hbqt/doc/en/class_qtextencoder.txt + * harbour/contrib/hbqt/doc/en/class_qsplashscreen.txt + * harbour/contrib/hbqt/doc/en/class_qsizepolicy.txt + * harbour/contrib/hbqt/doc/en/class_qfocusframe.txt + * harbour/contrib/hbqt/doc/en/class_hbslots.txt + * harbour/contrib/hbqt/doc/en/class_hbevents.txt + * harbour/contrib/hbqt/doc/en/class_qlineedit.txt + * harbour/contrib/hbqt/doc/en/class_qlocale.txt + * harbour/contrib/hbqt/doc/en/class_qtextimageformat.txt + * harbour/contrib/hbqt/doc/en/class_qstandarditemmodel.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionsizegrip.txt + * harbour/contrib/hbqt/doc/en/class_qdropevent.txt + * harbour/contrib/hbqt/doc/en/class_qcombobox.txt + * harbour/contrib/hbqt/doc/en/class_qsize.txt + * harbour/contrib/hbqt/doc/en/class_qchar.txt + * harbour/contrib/hbqt/doc/en/class_qtablewidgetselectionrange.txt + * harbour/contrib/hbqt/doc/en/class_qplaintextedit.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiongroupbox.txt + * harbour/contrib/hbqt/doc/en/class_qtextdocumentwriter.txt + * harbour/contrib/hbqt/doc/en/class_qabstractlistmodel.txt + * harbour/contrib/hbqt/doc/en/class_qprinter.txt + * harbour/contrib/hbqt/doc/en/class_qframe.txt + * harbour/contrib/hbqt/doc/en/class_qfileinfo.txt + * harbour/contrib/hbqt/doc/en/class_qgradient.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptiontabwidgetframe.txt + * harbour/contrib/hbqt/doc/en/class_qinputevent.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionheader.txt + * harbour/contrib/hbqt/doc/en/class_qwidgetitem.txt + * harbour/contrib/hbqt/doc/en/class_qtexttableformat.txt + * harbour/contrib/hbqt/doc/en/class_qradialgradient.txt + * harbour/contrib/hbqt/doc/en/class_qtextobject.txt + * harbour/contrib/hbqt/doc/en/class_qmdisubwindow.txt + * harbour/contrib/hbqt/doc/en/class_qabstractitemview.txt + * harbour/contrib/hbqt/doc/en/class_qboxlayout.txt + * harbour/contrib/hbqt/doc/en/class_qresource.txt + * harbour/contrib/hbqt/doc/en/class_qlineargradient.txt + * harbour/contrib/hbqt/doc/en/class_qtextlistformat.txt + * harbour/contrib/hbqt/doc/en/class_qwebhistory.txt + * harbour/contrib/hbqt/doc/en/class_qtextframe.txt + * harbour/contrib/hbqt/doc/en/class_qtextblock.txt + * harbour/contrib/hbqt/doc/en/class_qinputmethodevent.txt + * harbour/contrib/hbqt/doc/en/class_qtreewidget.txt + * harbour/contrib/hbqt/doc/en/class_qmenu.txt + * harbour/contrib/hbqt/doc/en/class_qstatusbar.txt + * harbour/contrib/hbqt/doc/en/class_qtabwidget.txt + * harbour/contrib/hbqt/doc/en/class_qtablewidgetitem.txt + * harbour/contrib/hbqt/doc/en/class_qdesktopwidget.txt + * harbour/contrib/hbqt/doc/en/class_qprintpreviewdialog.txt + * harbour/contrib/hbqt/doc/en/class_qdir.txt + * harbour/contrib/hbqt/doc/en/class_qpainterpath.txt + * harbour/contrib/hbqt/doc/en/class_qwebhittestresult.txt + * harbour/contrib/hbqt/doc/en/class_qline.txt + * harbour/contrib/hbqt/doc/en/class_qicon.txt + * harbour/contrib/hbqt/doc/en/class_qprogressbar.txt + * harbour/contrib/hbqt/doc/en/class_qtextedit.txt + * harbour/contrib/hbqt/doc/en/class_qregexp.txt + * harbour/contrib/hbqt/doc/en/class_qhelpevent.txt + * harbour/contrib/hbqt/doc/en/class_qabstracttablemodel.txt + * harbour/contrib/hbqt/doc/en/class_qdialog.txt + * harbour/contrib/hbqt/doc/en/class_qabstractbutton.txt + * harbour/contrib/hbqt/doc/en/class_qstyle.txt + * harbour/contrib/hbqt/doc/en/class_qlistview.txt + * harbour/contrib/hbqt/doc/en/class_qhttpresponseheader.txt + * harbour/contrib/hbqt/doc/en/class_qwebview.txt + * harbour/contrib/hbqt/doc/en/class_qmainwindow.txt + * harbour/contrib/hbqt/doc/en/class_qbitarray.txt + * harbour/contrib/hbqt/doc/en/class_qcalendarwidget.txt + * harbour/contrib/hbqt/doc/en/class_qprocess.txt + * harbour/contrib/hbqt/doc/en/class_qhttp.txt + * harbour/contrib/hbqt/doc/en/class_qlabel.txt + * harbour/contrib/hbqt/doc/en/class_qwebhistoryinterface.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptioncomplex.txt + * harbour/contrib/hbqt/doc/en/class_qmimedata.txt + * harbour/contrib/hbqt/doc/en/class_qbrush.txt + * harbour/contrib/hbqt/doc/en/class_qdockwidget.txt + * harbour/contrib/hbqt/doc/en/class_qstyleoptionbutton.txt + * harbour/contrib/hbqt/doc/en/class_qcommandlinkbutton.txt + * harbour/contrib/hbqt/THbQtUI.prg + * harbour/contrib/hbqt/hbqt_hbqplaintextedit.h + * harbour/contrib/hbqt/hbqscintilla/QsciCommand.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciDocument.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciLexer.cpp + * harbour/contrib/hbqt/hbqscintilla/hbqscintilla.hbp + * harbour/contrib/hbqt/hbqscintilla/TQsciCommandSet.prg + * harbour/contrib/hbqt/hbqscintilla/THBQsciScintilla.prg + * harbour/contrib/hbqt/hbqscintilla/QsciAPIs.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciLexerFlagship.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciStyle.cpp + * harbour/contrib/hbqt/hbqscintilla/TQsciStyledText.prg + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qsciapis.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscilexerflagship.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscicommand.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscilexer.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qsciabstractapis.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscistyle.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscilexercpp.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qsciscintilla.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscistyledtext.txt + * harbour/contrib/hbqt/hbqscintilla/doc/en/class_qscicommandset.txt + * harbour/contrib/hbqt/hbqscintilla/TQsciDocument.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciCommand.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciLexer.prg + * harbour/contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.h + * harbour/contrib/hbqt/hbqscintilla/QsciAbstractAPIs.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciLexerCPP.cpp + * harbour/contrib/hbqt/hbqscintilla/QsciScintilla.cpp + * harbour/contrib/hbqt/hbqscintilla/TQsciAPIs.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciLexerFlagship.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciStyle.prg + * harbour/contrib/hbqt/hbqscintilla/QsciCommandSet.cpp + * harbour/contrib/hbqt/hbqscintilla/hbqt_garbage.h + * harbour/contrib/hbqt/hbqscintilla/HBQsciScintilla.cpp + * harbour/contrib/hbqt/hbqscintilla/hbqt_local.h + * harbour/contrib/hbqt/hbqscintilla/hbqscintilla.ch + * harbour/contrib/hbqt/hbqscintilla/QsciStyledText.cpp + * harbour/contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.cpp + * harbour/contrib/hbqt/hbqscintilla/TQsciAbstractAPIs.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciLexerCPP.prg + * harbour/contrib/hbqt/hbqscintilla/TQsciScintilla.prg + * harbour/contrib/hbqt/qtnetwork/filelist.mk + * harbour/contrib/hbqt/hbqt_hbqplaintextedit.cpp + * harbour/contrib/hbxbp/xbpclipboard.prg + * harbour/contrib/hbxbp/hbpprocess.prg + * harbour/contrib/hbxbp/xbpgra.prg + * harbour/contrib/hbbz2/hbbz2.ch + * harbour/contrib/hbbz2/hbbz2.c + * harbour/contrib/hbbz2/Makefile + * harbour/contrib/hbblink/hbblink.hbc + * harbour/contrib/hbblink/Makefile + * harbour/contrib/hbxpp/dmlb.ch + * harbour/contrib/hbxpp/wafuncx.c + * harbour/contrib/hbnetio/tests/netiot03.prg + * harbour/contrib/hbnetio/readme.txt + * harbour/contrib/gtwvg/tests/wvgtbrowser.prg + * harbour/contrib/gtwvg/tests/wvgcuigdialog.prg + * harbour/contrib/gtwvg/tests/wvgutilities.prg + * harbour/contrib/gtwvg/tests/wvgqt.prg + * harbour/contrib/gtwvg/tests/wvgxbp.prg + * harbour/contrib/gtwvg/tests/wvgmodal.prg + * harbour/contrib/gtwvg/tests/wvgdyndialogs.prg + * harbour/contrib/gtwvg/tests/wvgwvtclasses.prg + * harbour/contrib/gtwvg/tests/wvgactivex.prg + * harbour/contrib/sddsqlt3/tests/test1.prg + * harbour/contrib/hbwin/tests/oletst1.prg + * harbour/contrib/hbwin/tests/oletst2.prg + * harbour/contrib/hbwin/tests/oletst3.prg + * harbour/contrib/hbwin/tests/oletst4.prg + * harbour/contrib/hbwin/tests/olesrv4.hbp + * harbour/contrib/hbwin/tests/olesrv1.prg + * harbour/contrib/hbwin/tests/olesrv2.prg + * harbour/contrib/hbwin/tests/olesrv3.prg + * harbour/contrib/hbwin/tests/olesrv4.prg + * harbour/contrib/hbwin/tests/oletst4.hbp + * harbour/contrib/hbwin/win_shell.c + * harbour/contrib/hbwin/hbolesrv.c + * harbour/contrib/hbide/ideharbourhelp.prg + * harbour/contrib/hbide/ideplugins.prg + * harbour/contrib/hbide/ideedit.prg + * harbour/contrib/hbide/idewizard.prg + * harbour/contrib/hbide/ideskeletons.prg + * harbour/contrib/hbide/idefunctions.prg + * harbour/contrib/hbide/plugins/savebackup.prg + * harbour/contrib/hbide/ideenviron.prg + * harbour/contrib/hbide/idehome.prg + * harbour/contrib/hbide/ideshortcuts.prg + * harbour/contrib/hbide/idetools.prg + * harbour/contrib/hbide/idedocwriter.prg + * harbour/contrib/hbsms/tests/send.prg + * harbour/contrib/hbsms/tests/hbmk.hbm + * harbour/contrib/hbsms/hbsms.prg + * harbour/contrib/hbsms/hbsms.hbc + * harbour/contrib/hbsms/Makefile + * harbour/config/linux/open64.mk + ! added missing SVN keywords and/or eol-style attributes + ! converted some hard coded LFCR to native EOLs + 2010-05-31 10:13 UTC+0200 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/hbcompat.ch * contrib/xhb/xhb.ch diff --git a/harbour/contrib/hbblink/Makefile b/harbour/contrib/hbblink/Makefile index ca0439a2a3..52d864e1d1 100644 --- a/harbour/contrib/hbblink/Makefile +++ b/harbour/contrib/hbblink/Makefile @@ -1,16 +1,16 @@ -# -# $Id: Makefile 14244 2010-03-27 12:27:08Z vszakats $ -# - -ROOT := ../../ - -LIBNAME := hbblink - -PRG_SOURCES := \ - blinker.prg \ - -PRG_HEADERS := \ - hbblink.ch \ - -include $(TOP)$(ROOT)config/header.mk -include $(TOP)$(ROOT)config/lib.mk +# +# $Id$ +# + +ROOT := ../../ + +LIBNAME := hbblink + +PRG_SOURCES := \ + blinker.prg \ + +PRG_HEADERS := \ + hbblink.ch \ + +include $(TOP)$(ROOT)config/header.mk +include $(TOP)$(ROOT)config/lib.mk diff --git a/harbour/contrib/hbblink/hbblink.hbc b/harbour/contrib/hbblink/hbblink.hbc index f93054dc21..f7c3adc3a3 100644 --- a/harbour/contrib/hbblink/hbblink.hbc +++ b/harbour/contrib/hbblink/hbblink.hbc @@ -1,7 +1,7 @@ -# -# $Id: hbmisc.hbc 14245 2010-03-27 12:44:42Z vszakats $ -# - -incpaths=. - -libs=hbblink +# +# $Id$ +# + +incpaths=. + +libs=hbblink diff --git a/harbour/contrib/hbsms/Makefile b/harbour/contrib/hbsms/Makefile index 60b3f08f6d..07de5c545b 100644 --- a/harbour/contrib/hbsms/Makefile +++ b/harbour/contrib/hbsms/Makefile @@ -1,14 +1,14 @@ -# -# $Id: Makefile 12881 2009-11-15 04:31:21Z vszakats $ -# - -ROOT := ../../ - -include $(TOP)$(ROOT)config/global.mk - -LIBNAME := hbsms - -PRG_SOURCES := \ - hbsms.prg \ - -include $(TOP)$(ROOT)config/lib.mk +# +# $Id$ +# + +ROOT := ../../ + +include $(TOP)$(ROOT)config/global.mk + +LIBNAME := hbsms + +PRG_SOURCES := \ + hbsms.prg \ + +include $(TOP)$(ROOT)config/lib.mk diff --git a/harbour/contrib/hbsms/hbsms.hbc b/harbour/contrib/hbsms/hbsms.hbc index 3ec2da0ec0..e09543a7ae 100644 --- a/harbour/contrib/hbsms/hbsms.hbc +++ b/harbour/contrib/hbsms/hbsms.hbc @@ -1,9 +1,9 @@ -# -# $Id: hbsms.hbc 12881 2009-11-15 04:31:21Z vszakats $ -# - -incpaths=. - -libs=hbsms - -libs=../hbct/hbct.hbc +# +# $Id$ +# + +incpaths=. + +libs=hbsms + +libs=../hbct/hbct.hbc diff --git a/harbour/contrib/hbsms/hbsms.prg b/harbour/contrib/hbsms/hbsms.prg index 9efc60cb9b..77fa7dd015 100644 --- a/harbour/contrib/hbsms/hbsms.prg +++ b/harbour/contrib/hbsms/hbsms.prg @@ -1,308 +1,308 @@ -/* - * $Id: hbsms.prg 13863 2010-02-13 17:32:18Z vszakats $ - */ - -/* - * Harbour Project source code: - * SMS library. EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES. - * - * Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu) - * www - http://www.harbour-project.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * - * As a special exception, the Harbour Project gives permission for - * additional uses of the text contained in its release of Harbour. - * - * The exception is that, if you link the Harbour libraries with other - * files to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the Harbour library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the Harbour - * Project under the name Harbour. If you copy code from other - * Harbour Project or Free Software Foundation releases into a copy of - * Harbour, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for Harbour, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - */ - -/* TODO: - Unicode support */ -/* TODO: - Receive support */ - -/* NOTE: Source of information: - http://www.smssolutions.net/tutorials/gsm/receivesmsat/ - http://www.developershome.com/sms/readSmsByAtCommands.asp - [vszakats] */ - -#include "common.ch" - -STATIC FUNCTION port_send( h, s ) - RETURN com_send( h, s ) - -/* NOTE: EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES. */ -STATIC FUNCTION port_rece( h, n, t ) - LOCAL cString - LOCAL nEnd - - IF ! ISNUMBER( n ) - n := 64 - ENDIF - - IF ! ISNUMBER( t ) - t := 5 - ENDIF - - cString := "" - nEnd := hb_milliSeconds() + ( t * 1000 ) - DO WHILE Len( cString ) < t .AND. hb_milliSeconds() < nEnd - cString += com_read( h, n - Len( cString ) ) - hb_idleSleep( 0.01 ) - ENDDO - - RETURN cString - -FUNCTION sms_Send( cPort, cPhoneNo, cText, lNotification, cPIN ) - LOCAL smsctx - LOCAL nRetVal - - IF ! Empty( smsctx := smsctx_New( cPort ) ) - smsctx_PIN( smsctx, cPIN ) - nRetVal := smsctx_Send( smsctx, cPhoneNo, cText, lNotification ) - smsctx_Close( smsctx ) - ELSE - nRetVal := -99 - ENDIF - - RETURN nRetVal - -FUNCTION sms_ReceiveAll( cPort, cPIN ) - LOCAL smsctx - LOCAL aRetVal - - IF ! Empty( smsctx := smsctx_New( cPort ) ) - smsctx_PIN( smsctx, cPIN ) - aRetVal := smsctx_Receive( smsctx ) - smsctx_Close( smsctx ) - ELSE - aRetVal := NIL - ENDIF - - RETURN aRetVal - -/* --------------------- */ - -#define _SMSCTX_xHnd 1 -#define _SMSCTX_cPIN 2 -#define _SMSCTX_cPrevName 3 -#define _SMSCTX_MAX_ 3 - -FUNCTION smsctx_New( xPort ) - LOCAL smsctx[ _SMSCTX_MAX_ ] - - IF ISNUMBER( xPort ) - smsctx[ _SMSCTX_xHnd ] := xPort - smsctx[ _SMSCTX_cPrevName ] := NIL - ELSEIF ISCHARACTER( xPort ) - smsctx[ _SMSCTX_xHnd ] := 1 - smsctx[ _SMSCTX_cPrevName ] := com_DevName( smsctx[ _SMSCTX_xHnd ], xPort ) - ELSE - smsctx[ _SMSCTX_xHnd ] := NIL - ENDIF - - IF smsctx[ _SMSCTX_xHnd ] != NIL - IF com_Open( smsctx[ _SMSCTX_xHnd ] ) - IF com_Init( smsctx[ _SMSCTX_xHnd ], 9600, "N", 8, 1 ) - RETURN smsctx - ELSE - com_Close( smsctx[ _SMSCTX_xHnd ] ) - ENDIF - ENDIF - ENDIF - - RETURN NIL - -FUNCTION smsctx_Close( smsctx ) - - IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ - RETURN .F. - ENDIF - - IF ! com_Close( smsctx[ _SMSCTX_xHnd ] ) - RETURN .F. - ENDIF - - /* Restore com port name */ - IF smsctx[ _SMSCTX_cPrevName ] != NIL - com_DevName( smsctx[ _SMSCTX_xHnd ], smsctx[ _SMSCTX_cPrevName ] ) - ENDIF - - RETURN .T. - -FUNCTION smsctx_Send( smsctx, cPhoneNo, cText, lNotification ) - LOCAL tmp - - IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ - RETURN -1 - ENDIF - - port_send( smsctx[ _SMSCTX_xHnd ], "ATE0V1Q0" + Chr( 13 ) ) - IF IsOK( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) - - port_send( smsctx[ _SMSCTX_xHnd ], "AT+CMGF=1" + Chr( 13 ) ) - IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" - - IF ! Empty( smsctx[ _SMSCTX_cPIN ] ) - port_send( smsctx[ _SMSCTX_xHnd ], 'AT+CPIN="' + smsctx[ _SMSCTX_cPIN ] + '"' + Chr( 13 ) ) - IF !( StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" ) - RETURN -5 - ENDIF - ENDIF - - port_send( smsctx[ _SMSCTX_xHnd ], "AT+CMGF=1" + Chr( 13 ) ) - IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" - - IF ISLOGICAL( lNotification ) - port_send( smsctx[ _SMSCTX_xHnd ], "AT+CSMP?" + Chr( 13 ) ) - tmp := GetLines( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) - IF Len( tmp ) < 2 - RETURN -6 - ENDIF - IF !( ATail( tmp ) == "OK" ) - RETURN -7 - ENDIF - IF !( Left( tmp[ 1 ], Len( "+CSMP: " ) ) == "+CSMP: " ) - RETURN -8 - ENDIF - tmp := GetList( SubStr( tmp[ 1 ], Len( "+CSMP: " ) + 1 ) ) - IF Len( tmp ) > 1 - IF lNotification - tmp[ 1 ] := hb_ntos( hb_bitSet( Val( tmp[ 1 ] ), 5 ) ) - ELSE - tmp[ 1 ] := hb_ntos( hb_bitReset( Val( tmp[ 1 ] ), 5 ) ) - ENDIF - port_send( smsctx[ _SMSCTX_xHnd ], "AT+CSMP=" + MakeList( tmp ) + Chr( 13 ) ) - IF !( StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" ) - RETURN -9 - ENDIF - ENDIF - ENDIF - - port_send( smsctx[ _SMSCTX_xHnd ], 'AT+CMGS="' + cPhoneNo + '"' + Chr( 13 ) ) - IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "> " - port_send( smsctx[ _SMSCTX_xHnd ], StrTran( cText, Chr( 13 ) ) + Chr( 26 ) ) - tmp := StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) - IF Left( tmp, Len( "+CMGS: " ) ) == "+CMGS: " - RETURN 0 - ELSE - RETURN -10 - ENDIF - ELSE - RETURN -11 - ENDIF - ELSE - RETURN -12 - ENDIF - ELSE - RETURN -4 - ENDIF - ELSE - RETURN -3 - ENDIF - - RETURN -2 - -FUNCTION smsctx_Receive( smsctx ) - - IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ - RETURN NIL - ENDIF - - // ... - - RETURN {} - -FUNCTION smsctx_PIN( smsctx, cPIN ) - LOCAL cOldValue - - IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ - RETURN NIL - ENDIF - - cOldValue := smsctx[ _SMSCTX_cPIN ] - IF cPIN == NIL .OR. ( ISCHARACTER( cPIN ) .AND. Len( cPIN ) == 4 ) - smsctx[ _SMSCTX_cPIN ] := cPIN - ENDIF - - RETURN cOldValue - -STATIC FUNCTION StripCR( cString ) - RETURN StrTran( cString, Chr( 13 ) ) - -STATIC FUNCTION StripCRLF( cString ) - RETURN StrTran( cString, Chr( 13 ) + Chr( 10 ) ) - -STATIC FUNCTION IsOK( cString ) - LOCAL tmp := GetLines( cString ) - - RETURN ! Empty( tmp ) .AND. ATail( tmp ) == "OK" - -STATIC FUNCTION GetLines( cString ) - LOCAL aLine := {} - LOCAL tmp - - IF Left( cString, 2 ) == Chr( 13 ) + Chr( 10 ) - cString := SubStr( cString, Len( Chr( 13 ) + Chr( 10 ) ) + 1 ) - ENDIF - IF Right( cString, 2 ) == Chr( 13 ) + Chr( 10 ) - cString := hb_StrShrink( cString, Len( Chr( 13 ) + Chr( 10 ) ) ) - ENDIF - - FOR EACH tmp IN hb_ATokens( StrTran( cString, Chr( 13 ) ), Chr( 10 ) ) - AAdd( aLine, tmp ) - NEXT - - RETURN aLine - -STATIC FUNCTION GetList( cString ) - LOCAL aList := {} - LOCAL tmp - - FOR EACH tmp IN hb_ATokens( cString, "," ) - AAdd( aList, tmp ) - NEXT - - RETURN aList - -STATIC FUNCTION MakeList( aList ) - LOCAL cString := "" - LOCAL tmp - - FOR EACH tmp IN aList - cString += tmp + "," - NEXT - - RETURN hb_StrShrink( cString, 1 ) +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * SMS library. EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES. + * + * Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +/* TODO: - Unicode support */ +/* TODO: - Receive support */ + +/* NOTE: Source of information: + http://www.smssolutions.net/tutorials/gsm/receivesmsat/ + http://www.developershome.com/sms/readSmsByAtCommands.asp + [vszakats] */ + +#include "common.ch" + +STATIC FUNCTION port_send( h, s ) + RETURN com_send( h, s ) + +/* NOTE: EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES. */ +STATIC FUNCTION port_rece( h, n, t ) + LOCAL cString + LOCAL nEnd + + IF ! ISNUMBER( n ) + n := 64 + ENDIF + + IF ! ISNUMBER( t ) + t := 5 + ENDIF + + cString := "" + nEnd := hb_milliSeconds() + ( t * 1000 ) + DO WHILE Len( cString ) < t .AND. hb_milliSeconds() < nEnd + cString += com_read( h, n - Len( cString ) ) + hb_idleSleep( 0.01 ) + ENDDO + + RETURN cString + +FUNCTION sms_Send( cPort, cPhoneNo, cText, lNotification, cPIN ) + LOCAL smsctx + LOCAL nRetVal + + IF ! Empty( smsctx := smsctx_New( cPort ) ) + smsctx_PIN( smsctx, cPIN ) + nRetVal := smsctx_Send( smsctx, cPhoneNo, cText, lNotification ) + smsctx_Close( smsctx ) + ELSE + nRetVal := -99 + ENDIF + + RETURN nRetVal + +FUNCTION sms_ReceiveAll( cPort, cPIN ) + LOCAL smsctx + LOCAL aRetVal + + IF ! Empty( smsctx := smsctx_New( cPort ) ) + smsctx_PIN( smsctx, cPIN ) + aRetVal := smsctx_Receive( smsctx ) + smsctx_Close( smsctx ) + ELSE + aRetVal := NIL + ENDIF + + RETURN aRetVal + +/* --------------------- */ + +#define _SMSCTX_xHnd 1 +#define _SMSCTX_cPIN 2 +#define _SMSCTX_cPrevName 3 +#define _SMSCTX_MAX_ 3 + +FUNCTION smsctx_New( xPort ) + LOCAL smsctx[ _SMSCTX_MAX_ ] + + IF ISNUMBER( xPort ) + smsctx[ _SMSCTX_xHnd ] := xPort + smsctx[ _SMSCTX_cPrevName ] := NIL + ELSEIF ISCHARACTER( xPort ) + smsctx[ _SMSCTX_xHnd ] := 1 + smsctx[ _SMSCTX_cPrevName ] := com_DevName( smsctx[ _SMSCTX_xHnd ], xPort ) + ELSE + smsctx[ _SMSCTX_xHnd ] := NIL + ENDIF + + IF smsctx[ _SMSCTX_xHnd ] != NIL + IF com_Open( smsctx[ _SMSCTX_xHnd ] ) + IF com_Init( smsctx[ _SMSCTX_xHnd ], 9600, "N", 8, 1 ) + RETURN smsctx + ELSE + com_Close( smsctx[ _SMSCTX_xHnd ] ) + ENDIF + ENDIF + ENDIF + + RETURN NIL + +FUNCTION smsctx_Close( smsctx ) + + IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ + RETURN .F. + ENDIF + + IF ! com_Close( smsctx[ _SMSCTX_xHnd ] ) + RETURN .F. + ENDIF + + /* Restore com port name */ + IF smsctx[ _SMSCTX_cPrevName ] != NIL + com_DevName( smsctx[ _SMSCTX_xHnd ], smsctx[ _SMSCTX_cPrevName ] ) + ENDIF + + RETURN .T. + +FUNCTION smsctx_Send( smsctx, cPhoneNo, cText, lNotification ) + LOCAL tmp + + IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ + RETURN -1 + ENDIF + + port_send( smsctx[ _SMSCTX_xHnd ], "ATE0V1Q0" + Chr( 13 ) ) + IF IsOK( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) + + port_send( smsctx[ _SMSCTX_xHnd ], "AT+CMGF=1" + Chr( 13 ) ) + IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" + + IF ! Empty( smsctx[ _SMSCTX_cPIN ] ) + port_send( smsctx[ _SMSCTX_xHnd ], 'AT+CPIN="' + smsctx[ _SMSCTX_cPIN ] + '"' + Chr( 13 ) ) + IF !( StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" ) + RETURN -5 + ENDIF + ENDIF + + port_send( smsctx[ _SMSCTX_xHnd ], "AT+CMGF=1" + Chr( 13 ) ) + IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" + + IF ISLOGICAL( lNotification ) + port_send( smsctx[ _SMSCTX_xHnd ], "AT+CSMP?" + Chr( 13 ) ) + tmp := GetLines( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) + IF Len( tmp ) < 2 + RETURN -6 + ENDIF + IF !( ATail( tmp ) == "OK" ) + RETURN -7 + ENDIF + IF !( Left( tmp[ 1 ], Len( "+CSMP: " ) ) == "+CSMP: " ) + RETURN -8 + ENDIF + tmp := GetList( SubStr( tmp[ 1 ], Len( "+CSMP: " ) + 1 ) ) + IF Len( tmp ) > 1 + IF lNotification + tmp[ 1 ] := hb_ntos( hb_bitSet( Val( tmp[ 1 ] ), 5 ) ) + ELSE + tmp[ 1 ] := hb_ntos( hb_bitReset( Val( tmp[ 1 ] ), 5 ) ) + ENDIF + port_send( smsctx[ _SMSCTX_xHnd ], "AT+CSMP=" + MakeList( tmp ) + Chr( 13 ) ) + IF !( StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "OK" ) + RETURN -9 + ENDIF + ENDIF + ENDIF + + port_send( smsctx[ _SMSCTX_xHnd ], 'AT+CMGS="' + cPhoneNo + '"' + Chr( 13 ) ) + IF StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) == "> " + port_send( smsctx[ _SMSCTX_xHnd ], StrTran( cText, Chr( 13 ) ) + Chr( 26 ) ) + tmp := StripCRLF( port_rece( smsctx[ _SMSCTX_xHnd ] ) ) + IF Left( tmp, Len( "+CMGS: " ) ) == "+CMGS: " + RETURN 0 + ELSE + RETURN -10 + ENDIF + ELSE + RETURN -11 + ENDIF + ELSE + RETURN -12 + ENDIF + ELSE + RETURN -4 + ENDIF + ELSE + RETURN -3 + ENDIF + + RETURN -2 + +FUNCTION smsctx_Receive( smsctx ) + + IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ + RETURN NIL + ENDIF + + // ... + + RETURN {} + +FUNCTION smsctx_PIN( smsctx, cPIN ) + LOCAL cOldValue + + IF ! ISARRAY( smsctx ) .OR. Len( smsctx ) != _SMSCTX_MAX_ + RETURN NIL + ENDIF + + cOldValue := smsctx[ _SMSCTX_cPIN ] + IF cPIN == NIL .OR. ( ISCHARACTER( cPIN ) .AND. Len( cPIN ) == 4 ) + smsctx[ _SMSCTX_cPIN ] := cPIN + ENDIF + + RETURN cOldValue + +STATIC FUNCTION StripCR( cString ) + RETURN StrTran( cString, Chr( 13 ) ) + +STATIC FUNCTION StripCRLF( cString ) + RETURN StrTran( cString, Chr( 13 ) + Chr( 10 ) ) + +STATIC FUNCTION IsOK( cString ) + LOCAL tmp := GetLines( cString ) + + RETURN ! Empty( tmp ) .AND. ATail( tmp ) == "OK" + +STATIC FUNCTION GetLines( cString ) + LOCAL aLine := {} + LOCAL tmp + + IF Left( cString, 2 ) == Chr( 13 ) + Chr( 10 ) + cString := SubStr( cString, Len( Chr( 13 ) + Chr( 10 ) ) + 1 ) + ENDIF + IF Right( cString, 2 ) == Chr( 13 ) + Chr( 10 ) + cString := hb_StrShrink( cString, Len( Chr( 13 ) + Chr( 10 ) ) ) + ENDIF + + FOR EACH tmp IN hb_ATokens( StrTran( cString, Chr( 13 ) ), Chr( 10 ) ) + AAdd( aLine, tmp ) + NEXT + + RETURN aLine + +STATIC FUNCTION GetList( cString ) + LOCAL aList := {} + LOCAL tmp + + FOR EACH tmp IN hb_ATokens( cString, "," ) + AAdd( aList, tmp ) + NEXT + + RETURN aList + +STATIC FUNCTION MakeList( aList ) + LOCAL cString := "" + LOCAL tmp + + FOR EACH tmp IN aList + cString += tmp + "," + NEXT + + RETURN hb_StrShrink( cString, 1 ) diff --git a/harbour/contrib/hbsms/tests/hbmk.hbm b/harbour/contrib/hbsms/tests/hbmk.hbm index ff140d731b..aeaa8419c7 100644 --- a/harbour/contrib/hbsms/tests/hbmk.hbm +++ b/harbour/contrib/hbsms/tests/hbmk.hbm @@ -1,7 +1,7 @@ -# -# $Id: hbmk.hbm 12880 2009-11-15 04:22:05Z vszakats $ -# - -../hbsms.hbc - --w3 -es2 +# +# $Id$ +# + +../hbsms.hbc + +-w3 -es2 diff --git a/harbour/contrib/hbsms/tests/send.prg b/harbour/contrib/hbsms/tests/send.prg index 6816bd9ca8..9084a8328f 100644 --- a/harbour/contrib/hbsms/tests/send.prg +++ b/harbour/contrib/hbsms/tests/send.prg @@ -1,24 +1,24 @@ -/* - * $Id: send.prg 12880 2009-11-15 04:22:05Z vszakats $ - */ - -/* - * Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu) - * www - http://www.harbour-project.org - */ - -#include "common.ch" - -PROCEDURE Main( cPort ) - -#if defined( __PLATFORM__WINDOWS ) - DEFAULT cPort TO "\\.\COM22" -#elif defined( __PLATFORM__DARWIN ) - DEFAULT cPort TO "/dev/cu.myport-COM1-1" -#endif - - ? "start" - ? sms_Send( cPort, "555555555", "test msg", .T. ) - ? "end" - - RETURN +/* + * $Id$ + */ + +/* + * Copyright 2009-2010 Viktor Szakats (harbour.01 syenar.hu) + * www - http://www.harbour-project.org + */ + +#include "common.ch" + +PROCEDURE Main( cPort ) + +#if defined( __PLATFORM__WINDOWS ) + DEFAULT cPort TO "\\.\COM22" +#elif defined( __PLATFORM__DARWIN ) + DEFAULT cPort TO "/dev/cu.myport-COM1-1" +#endif + + ? "start" + ? sms_Send( cPort, "555555555", "test msg", .T. ) + ? "end" + + RETURN diff --git a/harbour/contrib/hbwin/tests/olesrv4.hbp b/harbour/contrib/hbwin/tests/olesrv4.hbp index 114700de32..5a5de0a875 100644 --- a/harbour/contrib/hbwin/tests/olesrv4.hbp +++ b/harbour/contrib/hbwin/tests/olesrv4.hbp @@ -1,5 +1,5 @@ # -# $Id: olesrv3.hbp 14596 2010-05-25 23:44:42Z vszakats $ +# $Id$ # -hbdynvm diff --git a/harbour/contrib/hbwin/tests/oletst4.hbp b/harbour/contrib/hbwin/tests/oletst4.hbp index 746140de01..24e7719665 100644 --- a/harbour/contrib/hbwin/tests/oletst4.hbp +++ b/harbour/contrib/hbwin/tests/oletst4.hbp @@ -1,5 +1,5 @@ # -# $Id: oletst3.hbp 14594 2010-05-25 22:23:11Z vszakats $ +# $Id$ # oletst4.prg diff --git a/harbour/contrib/sddsqlt3/tests/test1.prg b/harbour/contrib/sddsqlt3/tests/test1.prg index 12a1197171..09647c0052 100644 --- a/harbour/contrib/sddsqlt3/tests/test1.prg +++ b/harbour/contrib/sddsqlt3/tests/test1.prg @@ -1,42 +1,42 @@ -/* - * $Id$ - */ - -#include "simpleio.ch" -#include "hbrddsql.ch" - -REQUEST SDDSQLITE3, SQLMIX - -PROCEDURE Main() - LOCAL tmp - - RDDSETDEFAULT( "SQLMIX" ) - SET( _SET_DATEFORMAT, "yyyy-mm-dd" ) - - AEVAL( rddList(), {| X | QOut( X ) } ) - - ? "-1-" - ? "Connect:", tmp := RDDINFO( RDDI_CONNECT, { "SQLITE3", hb_dirBase() + "test.sq3" } ) - IF tmp == 0 - ? "Unable connect to the server" - ENDIF - ? "-2-" - ? "Use:", DBUSEAREA( .T.,, "select * from t1", "t1" ) - ? "-3-" - ? "Alias:", ALIAS() - ? "-4-" - ? "DB struct:", HB_VALTOEXP( DBSTRUCT() ) - ? "-5-" - FOR tmp := 1 TO FCount() - ? FIELDNAME( tmp ), HB_FIELDTYPE( tmp ) - NEXT - ? "-6-" - INKEY( 0 ) - BROWSE() - - INDEX ON FIELD->AGE TO age - DBGOTOP() - BROWSE() - DBCLOSEAREA() - - RETURN +/* + * $Id$ + */ + +#include "simpleio.ch" +#include "hbrddsql.ch" + +REQUEST SDDSQLITE3, SQLMIX + +PROCEDURE Main() + LOCAL tmp + + RDDSETDEFAULT( "SQLMIX" ) + SET( _SET_DATEFORMAT, "yyyy-mm-dd" ) + + AEVAL( rddList(), {| X | QOut( X ) } ) + + ? "-1-" + ? "Connect:", tmp := RDDINFO( RDDI_CONNECT, { "SQLITE3", hb_dirBase() + "test.sq3" } ) + IF tmp == 0 + ? "Unable connect to the server" + ENDIF + ? "-2-" + ? "Use:", DBUSEAREA( .T.,, "select * from t1", "t1" ) + ? "-3-" + ? "Alias:", ALIAS() + ? "-4-" + ? "DB struct:", HB_VALTOEXP( DBSTRUCT() ) + ? "-5-" + FOR tmp := 1 TO FCount() + ? FIELDNAME( tmp ), HB_FIELDTYPE( tmp ) + NEXT + ? "-6-" + INKEY( 0 ) + BROWSE() + + INDEX ON FIELD->AGE TO age + DBGOTOP() + BROWSE() + DBCLOSEAREA() + + RETURN