--- mseide-msegui-1.8.orig/debian/mseide.install +++ mseide-msegui-1.8/debian/mseide.install @@ -0,0 +1,4 @@ +/usr/bin +/usr/lib/mseide-msegui/apps/ide +/usr/share/applications +/usr/share/pixmaps --- mseide-msegui-1.8.orig/debian/msegui-tools.install +++ mseide-msegui-1.8/debian/msegui-tools.install @@ -0,0 +1,2 @@ +/usr/lib/mseide-msegui/tools +/usr/lib/mseide-msegui/misc --- mseide-msegui-1.8.orig/debian/copyright +++ mseide-msegui-1.8/debian/copyright @@ -0,0 +1,60 @@ +This package was downloaded from +. + +MSEide Copyright (c) 1999-2008 by Martin Schreiber + +MSEide+MSEgui uses two licenses: + +1) GPL (like the license for the Free Pascal compiler) for the IDE : + + 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 of the License, 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 program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +The full text of the GPL 2 can be found in +`/usr/share/common-licenses/GPL-2'. + +2) Modified LGPL (like FPC RTL) for the library and tools : + +The source code of the MSEgui Library is distributed under the GNU Lesser +General Public License (see the corresponding chapter below) with +the following modification: + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library 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 + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +The full text of the LGPL 2.1 can be found in +`/usr/share/common-licenses/LGPL-2.1'. + + As a special exception, the copyright holders of this library give you + permission to link this library with independent modules to produce an + executable, regardless of the license terms of these independent modules, + and to copy and distribute the resulting executable under terms of your choice, + provided that you also meet, for each linked independent module, the terms + and conditions of the license of that module. An independent module is + a module which is not derived from or based on this library. If you modify + this library, you may extend this exception to your version of the library, + but you are not obligated to do so. If you do not wish to do so, delete this + exception statement from your version. + --- mseide-msegui-1.8.orig/debian/mseide-msegui-src.install +++ mseide-msegui-1.8/debian/mseide-msegui-src.install @@ -0,0 +1 @@ +/usr/src --- mseide-msegui-1.8.orig/debian/control +++ mseide-msegui-1.8/debian/control @@ -0,0 +1,155 @@ +Source: mseide-msegui +Section: devel +Priority: optional +Maintainer: Ubuntu MOTU Developers +XSBC-Original-Maintainer: Ivanko B +Uploaders: Torsten Werner +Standards-Version: 3.8.0 +Build-Depends: debhelper (>= 5), dpatch, unzip, fp-compiler, + fp-units-i386 [i386], fp-units-rtl, fp-units-base, fp-units-db, fp-units-fcl, + libx11-dev +Vcs-Svn: https://bollin.googlecode.com/svn/mse/trunk +Vcs-Browser: http://bollin.googlecode.com/svn/mse/trunk +Homepage: http://www.homepage.bluewin.ch/msegui/ + +Package: mseide-msegui +Architecture: all +Depends: msegui, mseide, msegui-tools +Suggests: mseide-msegui-contrib, mseide-msegui-doc +Recommends: fpc, fpc-source +Description: FreePascal-based GUI development library and IDE + The library: + - Uses some revolutionary approaches + - Compiles with FPC 2.2 and FPC 2.3 . + - Tested on i386-linux SuSE 9.0,10.3 and i386-win32 98/2000/XP. + - Links to xlib and gdi32, no external widget library needed. + - Internal character encoding is UCS2. + - Uses anti aliased fonts on Linux (Xft). + - All screen drawing is double buffered. + - Has docking forms and MDI. + - Has embedded forms (similar to TFrame). + - Has database access components and data edit widgets. + - Internationalization functionality with resource modules. + - report generator. + - automatic layout management + - skinning + . + Due to some FPC limitations, only static linking is currently possible. + . + IDE: + - Integrated debugging. + - Source code highlighting. + - Source code navigation with support for include files. + - Code completion for classes. + - Integrated visual form designer with source code update for components and + events. + - Flexible and handy build system with switchable macros. + - Visual form inheritance. + - Integrated report designer. + - WYSIWYG layout management + - inherited forms ( both subclassing and superclassing ) + +Package: mseide-msegui-src +Section: devel +Architecture: all +Suggests: fp-compiler, fp-units-i386 [i386], fp-units-rtl, fp-units-base, + fp-units-db, fp-units-fcl +Description: MSEide+MSEgui - source files + Provides: + - the MSEide+MSEgui source tree + - some patches to FPC ( applicable if needed ) + . + Mainly needed for source debugging MSEgui and bug reporting. + +Package: mseide +Section: devel +Architecture: i386 +Depends: ${shlibs:Depends}, fp-compiler, ${fpc-abi:Depends}, gdb, xfonts-base, + xfonts-100dpi, xfonts-scalable | ttf-freefont, libfontconfig1, libfreetype6, + lpr | cups | lprng | xpp +Suggests: msegui, msegui-tools, mseide-msegui-doc +Recommends: xfstt, foomatic-db-engine, msttcorefonts +Description: A FreePascal-based GUI IDE + Main features: + - Integrated debugging. + - Source code highlighting. + - Source code navigation with support for include files. + - Code completion for classes. + - Integrated visual form designer with source code update for components and + events. + - Flexible and handy build system with switchable macros. + - Visual form inheritance ( both subclassing and superclassing ). + - Integrated report designer. + - WYSIWYG layout management + +Package: msegui +Section: libdevel +Architecture: i386 +Depends: ${shlibs:Depends}, xfonts-base, xfonts-100dpi, + xfonts-scalable | ttf-freefont, fp-units-i386 [i386], fp-units-rtl, + fp-units-base, fp-units-db, fp-units-fcl, ${fpc-abi:Depends}, libsqlite3-dev, + libpq-dev, libmysqlclient15-dev, unixodbc-dev +Suggests: mseide, msegui-tools, mseide-msegui-doc, lpr | cups | lprng | xpp, + ghostscript +Recommends: xfstt, msttcorefonts, sqlite3, mysql-server, + gv | kghostview | evince, foomatic-db-engine +Description: A FreePascal-based GUI development library + - Uses some revolutionary approaches + - Compiles with FPC >= 2.1 + - Tested on i386-linux SuSE 9.0,10.3 and i386-win32 98/2000/XP + - Links to xlib and gdi32, no external widget library needed + - Internal character encoding is UCS2 + - Uses anti-aliased fonts on Linux (Xft) + - All screen drawing is double buffered + - Has docking forms and MDI + - Has embedded forms (similar to TFrame) and form inheritance + - Has database access components and data edit widgets + - Internationalization functionality with resource modules + - Report generator ( to PostScript ) + +Package: msegui-tools +Section: devel +Architecture: i386 +Depends: ${shlibs:Depends}, xfonts-base, xfonts-100dpi, + ttf-freefont | xfonts-scalable +Suggests: msegui, mseide, mseide-msegui-docs, ghostscript +Recommends: xfstt, msttcorefonts +Description: Utility binaries for MSEide+MSEgui + The utilities: + - msei18n: assists to produce loadable libraries for i18n-localization purposes + - bmp2pas: generates Pascal language constants from bitmap files + - form2pas: generates Pascal language constants from MSEide form files + - doc/msegui/*: uses "makeskel+fpdoc" to produce library reference from + MSEgui sources + - svn_upd_script/*: helps to download latest MSEide+MSEgui sources ( for + custom building ) + - xft2gs: generates a prototype of "Fontmap.GS" based on current font set and + "fontconfig" settings ( useful for achieving inentical look on screen and + paper ) + +Package: mseide-msegui-doc +Section: doc +Architecture: all +Description: MSEide+MSEgui -- Documentation + Provides : + - short library reference + - examples and tutorials: + = database + = chart recording + = remote form execution + = treading + = RAW printing + +Package: mseide-msegui-contrib +Section: libdevel +Architecture: i386 +Suggests: msegui,mseide +Description: Contributed software to MSEgide+MSEgui + - RAW text printer + - printer selection dialogue ( for CUPS ) + - themes dialogue + - i82555 LPT access + - examples of : + = MDI application + = SQLite3 datatypes in s simple DB application + = report printing --- mseide-msegui-1.8.orig/debian/msegui.install +++ mseide-msegui-1.8/debian/msegui.install @@ -0,0 +1 @@ +/usr/lib/mseide-msegui/units/common --- mseide-msegui-1.8.orig/debian/compat +++ mseide-msegui-1.8/debian/compat @@ -0,0 +1 @@ +5 --- mseide-msegui-1.8.orig/debian/orig-tar.sh +++ mseide-msegui-1.8/debian/orig-tar.sh @@ -0,0 +1,18 @@ +#!/bin/sh -e + +# called by uscan with '--upstream-version' +DIR=msegui +FILE=../mseide-msegui_$2.orig.tar.gz + +# clean up the upstream tarball +unzip $3 +(cd $DIR && rm -rf ./docs ./contrib*) +tar czf $FILE $DIR +rm -rf $3 $DIR + +# move to directory 'tarballs' +if [ -r .svn/deb-layout ]; then + . .svn/deb-layout + mv $FILE $origDir + echo "moved $FILE to $origDir" +fi --- mseide-msegui-1.8.orig/debian/mseide-msegui.copyright +++ mseide-msegui-1.8/debian/mseide-msegui.copyright @@ -0,0 +1,6 @@ +This package was debianized by Ivanko B on 15 Aug 2008. + +Copyright (c) 1999-2008 by Martin Schreiber + +The MSEide+MSEgui license is a modified LGPL. +Usually each file contains a header describing its own license. --- mseide-msegui-1.8.orig/debian/watch +++ mseide-msegui-1.8/debian/watch @@ -0,0 +1,3 @@ +version=3 +opts="uversionmangle=s/_/./" \ + http://sf.net/mseide-msegui/mseide_msegui_src_([\d_]*).zip debian debian/orig-tar.sh --- mseide-msegui-1.8.orig/debian/rules +++ mseide-msegui-1.8/debian/rules @@ -0,0 +1,246 @@ +#!/usr/bin/make -f +# debian/rules for MSEGUI-MSEIDE + +DEB_DH_BUILDDEB_ARGS := -- -Z bzip2 + +# Define FPC +ifndef FPC +FPC=/usr/bin/fpc +endif +# Set FPCVER +FPCVER=$(shell ${FPC} -iV) +# Get directories +CURDIR:=$(shell pwd) +BUILD_DIR=$(CURDIR)/debian/build +INSTALL_DIR=$(CURDIR)/debian/tmp +DOC_DIR=${INSTALL_DIR}/usr/share/doc/mseide-msegui +# Set default compilation options +BUILDOPTS=PP=$(FPC) +INSTALLOPTS=INSTALL_PREFIX=$(INSTALL_DIR)/usr +# Define FPCDIR if it was not set +ifndef FPCDIR +export FPCDIR=/usr/share/fpcsrc/${FPCVER} +endif + +#export DH_VERBOSE=1 + +################### +# Clean +# + +clean: patch configure clean-patched unpatch +clean-patched: + @echo "--- Cleaning" + dh_testdir + dh_testroot + rm -f build-arch-stamp install-arch-stamp arrange-arch-stamp configure-stamp + rm -f build-doc-stamp install-doc-stamp + rm -f build-indep-stamp install-indep-stamp + rm -f debian-files-stamp + rm -f debian/*.files debian/*.docs debian/*.examples debian/*.postinst debian/*.postrm + rm -f apps/ide/mseide tools/bmp2pas tools/form2pas tools/i18n/msei18n + find '(' -name '*.a' -or -name '*.o' -or -name '*.so' -or -name '*.ppu' ')' -exec rm -f '{}' ';' + dh_clean + +patch: patch-stamp + +patch-stamp: + dpatch apply-all -v + touch patch-stamp + +unpatch: + dpatch deapply-all -v + rm -rf patch-stamp debian/patched + +################### +# Debian files +# + +debian-files: debian-files-stamp +debian-files-stamp: patch + @echo "--- Creating/fixing *.install files" + #/bin/bash debian/fixdeb debian $(FPCTARGET) $(PPNEW) + touch debian-files-stamp + +################### +# Arch packages +# + +configure: configure-stamp +configure-stamp: + dh_testdir + # Remove auto-generated make files. + find -name Makefile.fpc -execdir 'sh' '-c' '${RM} $$(basename {} .fpc)' ';' + # Regenrate make files using fpcmake. + #${FPCMAKE} -r -Tall + touch configure-stamp + +build-arch: build-arch-stamp +build-arch-stamp: debian-files-stamp configure-stamp + @echo "--- Building" + dh_testdir + sh $(CURDIR)/debian/build_all.sh + touch build-arch-stamp + +install-arch: install-arch-stamp +install-arch-stamp: build-arch-stamp debian-files-stamp + @echo "--- Installing" + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + # create all necessary directories + install -d $(INSTALL_DIR)/usr/bin + install -d $(INSTALL_DIR)/usr/lib/mseide-msegui/units/common + install -d $(INSTALL_DIR)/usr/lib/mseide-msegui/apps/ide + install -d $(INSTALL_DIR)/usr/lib/mseide-msegui/tools/i18n + # Install the IDE & its accessories + install -m 755 $(CURDIR)/apps/ide/mseide $(INSTALL_DIR)/usr/lib/mseide-msegui/apps/ide + cp -Rfpl -t $(INSTALL_DIR)/usr/lib/mseide-msegui/apps/ide apps/ide/syntaxdefs apps/ide/templates + # Install the tools + install -m 755 $(CURDIR)/tools/bmp2pas $(INSTALL_DIR)/usr/lib/mseide-msegui/tools/bmp2pas + install -m 755 $(CURDIR)/tools/form2pas $(INSTALL_DIR)/usr/lib/mseide-msegui/tools/form2pas + install -m 755 $(CURDIR)/tools/i18n/msei18n $(INSTALL_DIR)/usr/lib/mseide-msegui/tools/i18n/msei18n + # Install the library files + find -name '*.ppu' -or -name '*.[oa]' -or -name '*.so*' | egrep -ve "\/(designutils|apps|tools)\/" | xargs cp -Rfpl -t $(INSTALL_DIR)/usr/lib/mseide-msegui/units/common + # Install startup scripts & links + install -m 755 $(CURDIR)/install/mseide $(INSTALL_DIR)/usr/bin/mseide + install -m 755 $(CURDIR)/install/mseide-icewm $(INSTALL_DIR)/usr/bin/mseide-icewm + # copy icons and menu entries for the GNOME menu + install -d $(INSTALL_DIR)/usr/share/pixmaps + install -d $(INSTALL_DIR)/usr/share/applications + #convert -geometry 32x32 $(CURDIR)/images/mseide_32x32.png $(INSTALL_DIR)/usr/share/pixmaps/mseide.xpm + cp $(CURDIR)/images/mseide_32x32.xpm $(INSTALL_DIR)/usr/share/pixmaps/mseide.xpm + chmod 644 $(INSTALL_DIR)/usr/share/pixmaps/*.xpm + install -m 644 $(CURDIR)/install/mseide.desktop $(INSTALL_DIR)/usr/share/applications/mseide.desktop + # copy the contrib area + install -d $(INSTALL_DIR)/usr/lib/mseide-msegui/contrib + cp -Rfpl -t $(INSTALL_DIR)/usr/lib/mseide-msegui/contrib $(CURDIR)/contrib/* + # copy the misc area + install -d $(INSTALL_DIR)/usr/lib/mseide-msegui/misc + cp -Rfpl -t $(INSTALL_DIR)/usr/lib/mseide-msegui/misc $(CURDIR)/misc/* + chmod 755 $(INSTALL_DIR)/usr/lib/mseide-msegui/misc/xft2gs/do_xft.sh + chmod 755 $(INSTALL_DIR)/usr/lib/mseide-msegui/misc/svn_upd_script/updatefromsvn + chmod 755 $(INSTALL_DIR)/usr/lib/mseide-msegui/misc/doc_gen/fpc/*.sh + chmod 755 $(INSTALL_DIR)/usr/lib/mseide-msegui/misc/doc_gen/msegui/*.sh + # Install man pages + #$(MAKE) -C install/man installman $(INSTALLOPTS) INSTALL_PREFIX=$(INSTALL_DIR)/usr/share + touch install-arch-stamp + +arrange-arch: arrange-arch-stamp +arrange-arch-stamp: install-arch-stamp debian-files-stamp + dh_testdir + dh_testroot + dh_install -s --sourcedir=debian/tmp --list-missing + + touch arrange-arch-stamp + +build-indep: patch +install-indep: + touch install-indep-stamp + +################### +# Documentation +# + +build-doc: patch build-doc-stamp +build-doc-stamp: debian-files-stamp + @echo "--- Building Documentation" + dh_testdir + #$(MAKE) -C docs $(CONVERTER) $(BUILDOPTS) FPDOC=$(NEWFPDOC) + touch build-indep-stamp + +install-doc: install-doc-stamp +install-doc-stamp: build-doc-stamp debian-files-stamp + @echo "--- Installing Documentation" + dh_testdir + dh_testroot + dh_clean -k + install -d ${DOC_DIR} + install -m 644 $(CURDIR)/README.TXT ${DOC_DIR} + install -m 644 $(CURDIR)/VERSION.TXT ${DOC_DIR} + install -m 644 $(CURDIR)/ZEOS.TXT ${DOC_DIR} + cp -Rfpl -t ${DOC_DIR} docs/* + touch install-doc-stamp + +################### +# Source +# + +install-source: install-source-stamp +install-source-stamp: + @echo "--- Cleaning the tree and copying the source code" + dh_testdir + dh_testroot + install -d $(INSTALL_DIR)/usr/src/mseide-msegui/ + cp -Rfpl -t $(INSTALL_DIR)/usr/src/mseide-msegui \ + $(CURDIR)/apps \ + $(CURDIR)/lib \ + $(CURDIR)/patch_* \ + $(CURDIR)/tools \ + $(CURDIR)/debian/build_all.sh \ + $(CURDIR)/debian/clean_all.sh \ + $(CURDIR)/README.TXT \ + $(CURDIR)/VERSION.TXT \ + $(CURDIR)/ZEOS.TXT + find $(INSTALL_DIR)/usr/src/mseide-msegui \ + \( -name 'COPYING*' -o -name '*.sh' \) -delete + find $(INSTALL_DIR)/usr/src/mseide-msegui -type f | xargs chmod -x + touch install-source-stamp + +################### +# Generic +# + +build: build-arch build-indep +install: install-arch install-indep +binary: binary-arch binary-indep + + +################### +# Deb building +# + +binary-indep: clean-patched build-doc install-doc install-source debian-files + @echo "--- Building: arch-indep packages" + dh_testdir + dh_testroot + dh_installdocs -i + dh_installchangelogs -i + dh_install -i --sourcedir=debian/tmp --list-missing +# install -m644 -D debian/overrides/omseide-msegui-src \ +# debian/mseide-msegui-src/usr/share/lintian/overrides/mseide-msegui-src + dh_compress -i -X.pdf + dh_fixperms -i + dh_installdeb -i + dh_gencontrol -i + dh_md5sums -i + dh_builddeb -i $(DEB_DH_BUILDDEB_ARGS) + +binary-arch: build-arch arrange-arch debian-files + @echo "--- Building: arch packages" + dh_testdir + dh_testroot + dh_link + dh_installdocs -a + dh_installchangelogs -a + dh_installexamples -a + dh_installmenu + fpc-depends + #dh_installman -s + dh_strip -s + dh_compress -a + dh_fixperms -a + dh_installdeb -s + dh_shlibdeps -s + dh_gencontrol -s + dh_md5sums -s + dh_builddeb -s $(DEB_DH_BUILDDEB_ARGS) + +.PHONY: build clean binary binary-arch \ + binary-indep debian-files build-arch \ + install install-indep install-arch \ + configure + +get-orig-source: + uscan --force-download --rename --- mseide-msegui-1.8.orig/debian/clean_all.sh +++ mseide-msegui-1.8/debian/clean_all.sh @@ -0,0 +1,26 @@ +#!/bin/sh + +EXES="\ + app/ide/mseide \ + tools/bmp2pas \ + tools/form2pas \ + tools/i18n/msei18n \ +" + +for f in `find -P ./ -iname '*.a'`; do + [ -f $af ] && rm -f -- $f +done + +for f in `find -P ./ -iname '*.o'`; do + [ -f $of ] && rm -f -- $f +done + +for f in `find -P ./ -iname '*.ppu'`; do + [ -f $uf ] && rm -f -- $f +done + +for exef in $EXES; do + [ -f $exef ] && rm -f -- $exef +done + + --- mseide-msegui-1.8.orig/debian/mseide.menu +++ mseide-msegui-1.8/debian/mseide.menu @@ -0,0 +1,6 @@ +?package(mseide):needs="X11"\ + title="MSEide"\ + section="Applications/Programming"\ + hints="Programming,FreePascal"\ + icon="/usr/share/pixmaps/mseide.xpm"\ + command="/usr/bin/mseide" --- mseide-msegui-1.8.orig/debian/changelog +++ mseide-msegui-1.8/debian/changelog @@ -0,0 +1,22 @@ +mseide-msegui (1.8-1ubuntu2) karmic; urgency=low + + * Bump version number for fake sync + + -- Jonathan Riddell Tue, 02 Jun 2009 15:05:01 +0100 + +mseide-msegui (1.8-1) unstable; urgency=low + + [ Mazen Neifer ] + * First build. (Closes: #501391) + * Fixed clean target to remove generated shared objects libraries. + * Fixed find expression precedence in clean target. + * Set copatibility level to 5. + + [ Bobyr Raisa Efimovna ] + * Fixed minor path issues. + + [ Torsten Werner ] + * Fix build process. + * Lintian fixes. + + -- Torsten Werner Wed, 15 Oct 2008 21:28:52 +0200 --- mseide-msegui-1.8.orig/debian/mseide-msegui-doc.install +++ mseide-msegui-1.8/debian/mseide-msegui-doc.install @@ -0,0 +1 @@ +/usr/share/doc/mseide-msegui --- mseide-msegui-1.8.orig/debian/msegui-tools.links +++ mseide-msegui-1.8/debian/msegui-tools.links @@ -0,0 +1 @@ +/usr/lib/mseide-msegui/tools/i18n/msei18n /usr/bin/msei18n --- mseide-msegui-1.8.orig/debian/mseide-msegui-contrib.install +++ mseide-msegui-1.8/debian/mseide-msegui-contrib.install @@ -0,0 +1 @@ +/usr/lib/mseide-msegui/contrib --- mseide-msegui-1.8.orig/debian/build_all.sh +++ mseide-msegui-1.8/debian/build_all.sh @@ -0,0 +1,30 @@ +#!/bin/sh + +OS=`fpc -iSO` +CPU=`fpc -iSP` + +BUILD_ARGS="-l -Mobjfpc -Sh -CX -OG2p3 -Xs -Fulib/common/* -Fulib/common/kernel/${CPU}-${OS} -Fi/lib/common/kernel" + +function compile_dir() { + local f + for f in `ls -A1 $1/*.pas`; do + ppc386 $f $BUILD_ARGS + done +} + +source `dirname $0`/clean_all.sh + +for f in `ls -A1 lib/common/kernel/mseconsts_*.pas`; do + ppc386 $f $BUILD_ARGS +done + +compile_dir lib/common/i18n +compile_dir lib/common/unicode + +ppc386 tools/bmp2pas.pas $BUILD_ARGS -XX +ppc386 tools/form2pas.pas $BUILD_ARGS -XX + +ppc386 tools/i18n/msei18n.pas $BUILD_ARGS +ppc386 apps/ide/mseide.pas $BUILD_ARGS + +# compile_dir lib/common/ifi --- mseide-msegui-1.8.orig/debian/mseide-msegui.README +++ mseide-msegui-1.8/debian/mseide-msegui.README @@ -0,0 +1,223 @@ +MSEide+MSEgui Pascal Cross Platform GUI Development System. + +2008-08-12 Version 1.9 unstable +Copyright (c) 1999-2008 by Martin Schreiber + +- Compiles with FPC 2.2.2 +- Tested on i386-linux SuSE 9.0,10.3 and i386-win32 98 and 2000. +- Links to xlib and gdi32, no external widget library needed. +- Internal character encoding is UCS2. +- Uses anti aliased fonts on Linux (Xft). +- All screen drawing is double buffered. +- Has docking forms and MDI. +- Has embedded forms (similar to TFrame). +- Has database access components and data edit widgets. +- Internationalization functionality with resource modules. +- Report generator. + +IDE: +- Integrated debugging. +- Source code highlighting. +- Source code navigation with support for include files. +- Code completion for classes. +- Integrated visual form designer with source code update for components and + events. +- Flexible and handy build system with switchable macros. +- Visual form inheritance. +- Integrated report designer. + +License: +IDE is under GPL, library under modified LGPL like FPC-RTL. + +Installation: +************* +1. Download and install FPC 2.2.2, you can get it from + http://www.freepascal.org/download.var +2. Download mseide_msegui_src_1_8.zip and mseide_bin_1_8.zip + http://sourceforge.net/project/showfiles.php?group_id=165409 +3. Extract them to a directory of your choice ('yourdirectory') . +4. Run 'yourdirectory/bin/i386-linux/mseide' on linux or + 'yourdirectory\bin\i386-win32\mseide.exe' on windows. +5. In 'Settings'-'Configure MSEide'-'${MSEDIR}' select 'yourdirectory/msegui'. +5a. On windows you have to setup ${COMPILER} (ppc386.exe) and + ${DEBUGGER} (gdb.exe). +6. In 'Project'-'Open' select 'yourdirectory/msegui/apps/demo/demo.prj'. +7. 'Target'-'Continue'. + +If you wish to to compile the IDE: + +1. In 'Project'-'Open' select 'yourdirectory/msegui/apps/ide/mseide.prj'. +2. 'Target'-'Continue'. + +FPC 2.2.2 +********* +patch_fpc_2_2_2 contains patched FPC files in order to fix FPC Mantis 11774, +11855, 11856. + +Debugging +********* +Breakpoints don't work on win32 in units compiled with -CX +(create smartlinked units). +String and dynamic array variables of units compiled with +-gv (Valgrind debug info) are displayed incorrect. +gdb 6.5 has bugs with threads and forking on linux. Please update to gdb 6.6. +FPC 2.2 projects must be compiled with -O- (no optimization) for debugging. + +Popup widgets behind the forms +****************************** +If the popup widgets are showed behind the forms, try to start the +MSEgui program with the option '--TOPLEVELRAISE'. Do *not* use this option +if is not necessary (KDE, Gnome... work well without). + +Blinking taskbar widgets in IceWM +********************************* +Newer revisions of IceWM let the taskbar icons of MSEgui applications blink. +Start the MSEgui application with the option '--TOPLEVELRAISE'. + +Invalid inputmanager for Ubuntu +******************************* +The utf-8 setup in Ubuntu seems to be incomplete. If you get the exception +"egui : Invalid inputmanager tinternalapplication ." at program start, try to +replace your language locale in /usr/share/X11/locale/locale.dir +by en_US as a workaround. Example for ru_RU.UTF-8: +replace +ru_RU.UTF-8/XLC_LOCALE ru_RU.UTF-8 +with +en_US.UTF-8/XLC_LOCALE ru_RU.UTF-8 + +How to add custom components to MSEide +************************************** +There is a project 'apps/myide/mymseide.prj' as a demo. +Start MSEide, open project 'apps/myide/mymseide.prj', 'Project'-'Build', +'Target'-'Continue', +the IDE with the new component 'tmybutton' will be compiled and +started in the the debugger. +Binary name is 'mymseide' (linux) or 'mymseide.exe' (win32). + +If you wish to do it from scratch: + +- Create a register unit for your components + (see 'apps/myide/regmycomps.pas' for an example). +- Enter the unitname followed by a comma + ('myregunit,' if your regunitfile is 'myregunit.pas') in + a file named 'regcomponents.inc'. +- Build the IDE with -dmorecomponents as option. + +If you want add custom icons to your components: + +- Convert 24*24 pixel BMP files with tools/bmp2pas to + an icon unit ('*_bmp.pas'). +- Add the name of the icon unit to 'uses' in your register unit. + +How to run i18ndemo +******************* +- Start MSEide. +- 'Project'-'Open'-'yourdirectory/msegui/apps/i18ndemo/i18ndemo.prj'. +- 'Project'-'Make' to create the rst files. +- 'Project'-'Open'-'yourdirectory/msegui/tools/i18n/msei18n.prj'. +- 'Target'-'Continue'. +In MSEi18n: + - Adjust 'Settings'-'Configure MSEi18n'-'${MSEDIR}' and ${COMPILER}. + - 'Open'-'yourdirectory/msegui/apps/i18ndemo/i18ndemo.trp' + - 'Make'. + - Close message window. + - Close MSEi18n. +- 'Project'-'Open'-'yourdirectory/msegui/apps/i18ndemo/i18ndemo.prj'. +- 'Target'-'Continue'. + +SQLite +****** +To install tmsesqlite3dataset compile the IDE with -dmse_with_sqlite +(experimental, needs installed libsqlite3.so (linux) or sqlite3.dll (win32) +on your system). + +tsqlite3connection is available without -dmse_with_sqlite. Field type mapping: + + Type name SQLite storage class Field type Data type ++--------------------+---------------------+-------------+-------------+ +| INTEGER or INT | INTEGER 4 | ftinteger | integer | +| LARGEINT | INTEGER 8 | ftlargeint | largeint | +| WORD | INTEGER 2 | ftword | word | +| SMALLINT | INTEGER 2 | ftsmallint | smallint | +| BOOLEAN | INTEGER 2 | ftboolean | wordbool | +| FLOAT[...] or REAL | REAL | ftfloat | double | +| or DOUBLE[...] | | | | +| CURRENCY | REAL | ftcurrency | double! | +| DATETIME | REAL | ftdatetime | tdatetime | +| DATE | REAL | ftdate | tdatetime | +| TIME | REAL | fttime | tdatetime | +| NUMERIC[...] | INTEGER 8 | ftbcd | currency | +| VARCHAR[(n)] | TEXT | ftstring | msestring | +| TEXT | TEXT | ftmemo | utf8 string | +| TEXT | TEXT dso_stringmemo | ftstring | msestring | +| BLOB | BLOB | ftblob | string | ++--------------------+---------------------+-------------+-------------+ + +*** Do not use Sqlite3 in multi-threaded applications. Set treport.options +reo_nothread to true for rendering a Sqlite3 report ***. + +ZeosLib +******* +To install the Zeos components add the path to the Zeos source to 'Project'- +'Options'-'Make'-'Directories' and compile the IDE with -dmse_with_zeoslib. +Dependent of the Zeos version it will be necessary to add -MDelphi to 'Project'- +'Options'-'Make'-'Make options'. +There is a predefined IDE project apps/ide/mseide_zeos.prj, update 'Project'- +'Options'-'Macros' according your installation. + + +How to build MSEide with ZeosLib integration +******************************************** + +1. Download and install SVN: +http://subversion.tigris.org/project_packages.html + +2. Create . +3. cd +4. Execute +" +svn co https://mseide-msegui.svn.sourceforge.net/svnroot/mseide-msegui/trunk . +" +(note the dot at line end to use the current directory as destination). + +5. Create . +6. cd +7. Execute +" +svn co svn://firmos.at/zeos/trunk . +" +(note the dot at line end to use the current directory as destination). + +- Download and install MSEide+MSEgui version 1.2, follow the instructions on: +http://www.homepage.bluewin.ch/msegui/ + +8. Run /bin/i386-linux/mseide on Linux or + \bin\i386-win32\mseide.exe on Windows. +9. 'Project'-'Open' (not File-Open!!!!!). +10. Select /apps/ide/templates/zeos.prj. +11. 'Project'-'Options'-'Macros'. +12. Adjust 'Value' of "msedir" to /, don't forget + the trailing path delimiter. +13. Adjust 'Value' of "zeosdir" to /, don't forget + the trailing path delimiter. + +14. 'Project'-'Open' (not File-Open!!!!!). +15. Select /apps/ide/mseide_zeos.prj. +16. 'Project'-'Options'-'Macros'. +17. Adjust 'Value' of "msedir" to /, don't forget + the trailing path delimiter. +18. Adjust 'Value' of "zeosdir" to /, don't forget + the trailing path delimiter. +19. 'Target'-'Continue', the IDE with Zeos integration will be compiled and + started in debugger. + +The IDE binary is /apps/ide/mseide_zeos, +to remove the debug info run strip or compile the mseide_zeos project with +'Project'-'Make 4'. +To start a new Zeos project select 'Project'-'New'-'From Template' +/apps/ide/templates/zeos.prj. + +*WARNING* ZeosLib compiled with FPC 2.0.4 has giant memory leaks, +use FPC 2.0.5 or FPC 2.1.5. +In order to compile with FPC 2.1.5 add -dmse_FPC_2_2 to the compiler options, +ZeosLib trunk needs a little patch. --- mseide-msegui-1.8.orig/debian/patches/05_contrib_wahono.dpatch +++ mseide-msegui-1.8/debian/patches/05_contrib_wahono.dpatch @@ -0,0 +1,4372 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds contributions of wahono. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/beeport/beeport.pas mseide-msegui-1.8/contrib/wahono/beeport/beeport.pas +*** mseide-msegui-1.8.orig/contrib/wahono/beeport/beeport.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/beeport/beeport.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,623 ---- ++ unit beeport; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$asmmode intel} ++ ++ (*************************************************************** ++ beeport version 1.0 (freeware) ++ by: beesoft(tm) ++ ++ this unit contains two components: ++ - tbyteport: this components access general parallel ports. ++ - tppi8255 : this components access multipurposes parallel ++ port on ppi8255 card from intel. ++ ++ with these components, there'll be no more assembler inline ++ codes to access hardware port. just drop the component onto ++ your form, set the port properties, and go! see the details ++ in readme.txt file. ++ any bugs report, comments, suggestions or regards, send 'em ++ to: bisma@mailcity.com - and feel free to do it! ++ ++ last update: may 12, 1999 on malang, indonesia ++ this unit modified to msegui to use in windows and linux by Sri Wahono ++ ****************************************************************) ++ ++ interface ++ ++ uses ++ msewidgets,{$ifdef mswindows}windows{$else}ports{$endif}, sysutils, classes, strutils; ++ {$ifdef linux} ++ var ++ port:tport; ++ {$endif} ++ type ++ { new type declarations } ++ tbytebitindex = 0..7; ++ tportiomode = (alloutput, allinput, hioutloin, hiinloout); ++ ++ tppi_iomode = (basic, strobed, bidirectional); ++ tppi_ioset = (ioaoutput, ioboutput, iochioutput, ioclooutput); ++ tppi_iocontrol = set of tppi_ioset; ++ ++ pportdata = ^tportdata; ++ tportdata = record ++ address: word; ++ iomode: tportiomode; ++ value: byte; ++ end; ++ ++ tvaluechangeevent = procedure(sender: tobject; var newvalue: byte) of object; ++ ++ { event generator thread } ++ tportmonitor = class(tthread) ++ private ++ foldport: tportdata; ++ fnewport: pportdata; ++ faddrchange, fiomodechange, fvaluechange: tnotifyevent; ++ protected ++ procedure execute; override; ++ public ++ constructor create(var portobj: tportdata); ++ property onaddressdiffer: tnotifyevent read faddrchange; ++ property oniomodediffer: tnotifyevent read fiomodechange; ++ property onvaluediffer: tnotifyevent read fvaluechange; ++ end; ++ ++ { tbyteport class declarations } ++ tbyteport = class(tcomponent) ++ private ++ fbytevalue: byte; ++ faddress: word; ++ fiomode: tportiomode; ++ fvaluechange: tvaluechangeevent; ++ protected ++ function getbyte: byte; ++ function getbit(bitnumber: tbytebitindex): boolean; ++ procedure setbyte(value: byte); ++ procedure setbit(bitnumber: tbytebitindex; bitvalue: boolean); ++ public ++ constructor create(aowner: tcomponent); override; ++ destructor destroy; override; ++ property bitvalue[bitindex: tbytebitindex]: boolean read getbit write setbit; ++ published ++ property iomode: tportiomode read fiomode write fiomode default alloutput; ++ property address: word read faddress write faddress default $300; ++ property bytevalue: byte read getbyte write setbyte default 0; ++ ++ property onvaluechange: tvaluechangeevent read fvaluechange write fvaluechange; ++ end; ++ ++ { tppi8255 class declarations } ++ tppi8255 = class(tcomponent) ++ private ++ //fmonitorport: tportmonitor; ++ fiomode: tppi_iomode; ++ fiocontrol: tppi_iocontrol; ++ fporta, fportb, fportc, fportr: tportdata; ++ fportaresult , fportbresult, fportcresult: string; ++ faddresschange, fcontrolchange, finitppi: tnotifyevent; ++ fpachange, fpbchange, fpcchange: tvaluechangeevent; ++ ++ function getbaseaddress: word; ++ function getctrlword: byte; ++ function getportavalue: byte; ++ function getportbvalue: byte; ++ function getportcvalue: byte; ++ procedure setbaseaddress(ppiaddr: word); ++ procedure setctrlword(ppicw: byte); ++ procedure setiomode(ppiiomode: tppi_iomode); ++ procedure setiocontrol(ppiioctrl: tppi_iocontrol); ++ procedure setportavalue(pavalue: byte); ++ procedure setportbvalue(pbvalue: byte); ++ procedure setportcvalue(pcvalue: byte); ++ procedure analyzeiocontrol; ++ public ++ constructor create(aowner: tcomponent); override; ++ destructor destroy; override; ++ procedure initializeppi; ++ procedure onoff(lineno : byte; status : byte); ++ published ++ property baseaddress: word read getbaseaddress write setbaseaddress; ++ property controlword: byte read getctrlword write setctrlword; ++ property iomode: tppi_iomode read fiomode write setiomode; ++ property iocontrol: tppi_iocontrol read fiocontrol write setiocontrol; ++ property portavalue: byte read getportavalue write setportavalue; ++ property portbvalue: byte read getportbvalue write setportbvalue; ++ property portcvalue: byte read getportcvalue write setportcvalue; ++ ++ property oniocontrolchange: tnotifyevent read fcontrolchange write fcontrolchange; ++ property onaddresschange: tnotifyevent read faddresschange write faddresschange; ++ property oninitializeppi: tnotifyevent read finitppi write finitppi; ++ property onpavaluechange: tvaluechangeevent read fpachange write fpachange; ++ property onpbvaluechange: tvaluechangeevent read fpbchange write fpbchange; ++ property onpcvaluechange: tvaluechangeevent read fpcchange write fpcchange; ++ end; ++ ++ { public routines declarations } ++ function readbit(srcvalue: byte; bitindex: tbytebitindex): boolean; ++ function writebit(srcvalue: byte; bitindex: tbytebitindex; bitvalue: boolean): byte; ++ function rotatebit(srcvalue: byte): byte; ++ function pangkat(x:integer; y:integer) : integer; ++ function bytetobin(value: byte): string; ++ {$ifdef mswindows} ++ procedure outport(addr:word;data:byte);stdcall;external 'inpout32.dll' name 'Out32' ; ++ function inport(addr:word):byte;stdcall;external 'inpout32.dll' name 'Inp32'; ++ {$endif} ++ procedure register; ++ ++ implementation ++ ++ function readbit(srcvalue: byte; bitindex: tbytebitindex): boolean; ++ var ++ dbyte, dbit: byte; ++ begin ++ dbit := 1; ++ dbit := dbit shl bitindex; ++ dbyte := srcvalue; ++ dbyte := dbyte and dbit; ++ result := (dbyte <> 0); ++ end; ++ ++ function writebit(srcvalue: byte; bitindex: tbytebitindex; bitvalue: boolean): byte; ++ var ++ dbyte, dbit: byte; ++ begin ++ dbit := 1; ++ dbit := dbit shl bitindex; ++ dbyte := srcvalue; ++ if not bitvalue then ++ begin ++ dbit := not dbit; ++ dbyte := dbyte and dbit; ++ end ++ else ++ dbyte := dbyte or dbit; ++ result := dbyte; ++ end; ++ ++ function rotatebit(srcvalue: byte): byte; ++ var ++ i: integer; ++ swapval: byte; ++ begin ++ swapval := 0; ++ for i := 0 to 7 do swapval := writebit(swapval,i,readbit(srcvalue,7-i)); ++ rotatebit := swapval; ++ end; ++ ++ function bytetobin(value: byte): string; ++ var ++ po: byte; ++ int1: integer; ++ binres : string; ++ begin ++ po:=value mod 2; ++ value:=value div 2; ++ binres := inttostr(po); ++ while value>0 do begin ++ po:=value mod 2; ++ value:=value div 2; ++ binres:=inttostr(po) + binres; ++ end; ++ if length(binres)<8 then begin ++ for int1:=1 to 8-length(binres) do begin ++ binres:='0' + binres ++ end; ++ end; ++ result := binres; ++ end; ++ ++ function bintobyte(value: string): byte; ++ var ++ po: byte; ++ int1: integer; ++ byteres : byte; ++ begin ++ byteres := 0; ++ for int1:=1 to length(value) do begin ++ po:=strtoint(value[int1]); ++ byteres:=byteres + (po * pangkat(2,(8-int1))); ++ end; ++ result := byteres; ++ end; ++ ++ function pangkat(x:integer; y:integer) : integer; ++ var ++ i : integer; ++ res : integer; ++ begin ++ res:=1; ++ for i:=1 to y do begin ++ res:=res * x; ++ end; ++ result := res; ++ end; ++ ++ { = event generator routines = } ++ ++ constructor tportmonitor.create(var portobj: tportdata); ++ begin ++ foldport := portobj; ++ fnewport := @portobj; ++ freeonterminate := true; ++ inherited create(false); ++ end; ++ ++ procedure tportmonitor.execute; ++ begin ++ if terminated then exit; ++ if fnewport^.address <> foldport.address then ++ begin ++ if assigned(onaddressdiffer) then onaddressdiffer(self); ++ foldport := fnewport^; ++ end; ++ if fnewport^.iomode <> foldport.iomode then ++ begin ++ if assigned(oniomodediffer) then oniomodediffer(self); ++ foldport := fnewport^; ++ end; ++ if fnewport^.value <> foldport.value then ++ begin ++ if assigned(onvaluediffer) then onvaluediffer(self); ++ foldport := fnewport^; ++ end; ++ end; ++ ++ { = tbyteport routines = } ++ ++ constructor tbyteport.create(aowner: tcomponent); ++ begin ++ inherited create(aowner); ++ fiomode := alloutput; ++ faddress := $300; ++ fbytevalue := 0; ++ {$ifdef mswindows} ++ outport(faddress, fbytevalue); ++ {$else} ++ port[faddress]:=fbytevalue; ++ {$endif} ++ end; ++ ++ destructor tbyteport.destroy; ++ begin ++ inherited destroy; ++ end; ++ ++ procedure tbyteport.setbyte(value: byte); ++ begin ++ if fbytevalue <> value then ++ if assigned(onvaluechange) then onvaluechange(self, value); ++ if fiomode <> allinput then ++ begin ++ fbytevalue := value; ++ {$ifdef mswindows} ++ outport(faddress, fbytevalue); ++ {$else} ++ port[faddress]:=fbytevalue; ++ {$endif} ++ end; ++ end; ++ ++ function tbyteport.getbyte: byte; ++ var ++ value: byte; ++ begin ++ if fiomode <> alloutput then ++ begin ++ {$ifdef mswindows} ++ value := inport(faddress); ++ {$else} ++ value := port[faddress]; ++ {$endif} ++ if fbytevalue <> value then ++ if assigned(onvaluechange) then onvaluechange(self, value); ++ fbytevalue := value; ++ end; ++ result := fbytevalue; ++ end; ++ ++ procedure tbyteport.setbit(bitnumber: tbytebitindex; bitvalue: boolean); ++ begin ++ writebit(fbytevalue,bitnumber,bitvalue); ++ end; ++ ++ function tbyteport.getbit(bitnumber: tbytebitindex): boolean; ++ begin ++ result := readbit(fbytevalue,bitnumber); ++ end; ++ ++ { = tppi8255 routines = } ++ ++ constructor tppi8255.create(aowner: tcomponent); ++ begin ++ inherited create(aowner); ++ fportr.address := $303; ++ fportr.iomode := alloutput; ++ fportr.value := $80; ++ analyzeiocontrol; ++ initializeppi; ++ end; ++ ++ destructor tppi8255.destroy; ++ begin ++ {$ifdef mswindows} ++ outport(fportr.address, $80); ++ {$else} ++ port[fportr.address]:=$80; ++ {$endif} ++ inherited destroy; ++ end; ++ ++ procedure tppi8255.onoff(lineno : byte; status : byte); ++ begin ++ if status>1 then status:=1; ++ if status<0 then status:=0; ++ case lineno of ++ 1..8 : ++ begin ++ lineno:=8-lineno+1; ++ fportaresult:=leftstr(fportaresult,lineno-1) + inttostr(status) + rightstr(fportaresult,8-lineno); ++ setportavalue(bintobyte(fportaresult)); ++ setportbvalue(bintobyte(fportbresult)); ++ setportcvalue(bintobyte(fportcresult)); ++ end; ++ 9..16 : ++ begin ++ lineno:=16-lineno+1; ++ fportbresult:=leftstr(fportbresult,lineno-1) + inttostr(status) + rightstr(fportbresult,8-lineno); ++ setportavalue(bintobyte(fportaresult)); ++ setportbvalue(bintobyte(fportbresult)); ++ setportcvalue(bintobyte(fportcresult)); ++ end; ++ 17..24 : ++ begin ++ lineno:=24-lineno+1; ++ fportcresult:=leftstr(fportcresult,lineno-1) + inttostr(status) + rightstr(fportcresult,8-lineno); ++ setportavalue(bintobyte(fportaresult)); ++ setportbvalue(bintobyte(fportbresult)); ++ setportcvalue(bintobyte(fportcresult)); ++ end; ++ end; ++ end; ++ ++ procedure tppi8255.initializeppi; ++ var ++ i:byte; ++ begin ++ {$ifdef mswindows} ++ outport(fportr.address, fportr.value); ++ {$else} ++ port[fportr.address]:=fportr.value; ++ {$endif} ++ fportaresult:='00000000'; ++ fportbresult:='00000000'; ++ fportcresult:='00000000'; ++ if assigned(oninitializeppi) then oninitializeppi(self); ++ end; ++ ++ procedure tppi8255.analyzeiocontrol; ++ begin ++ { analyze port address } ++ fporta.address := fportr.address - 3; ++ fportb.address := fportr.address - 2; ++ fportc.address := fportr.address - 1; ++ { analyze ppi mode } ++ if readbit(fportr.value, 2) then fiomode := strobed else fiomode := basic; ++ if not readbit(fportr.value, 6) and not readbit(fportr.value, 5) then fiomode := basic; ++ if not readbit(fportr.value, 6) and readbit(fportr.value, 5) then fiomode := strobed; ++ if readbit(fportr.value, 6) then fiomode := bidirectional; ++ { analyze porta io } ++ if readbit(fportr.value, 4) then ++ begin ++ fporta.iomode := allinput; ++ fiocontrol := fiocontrol - [ioaoutput]; ++ end ++ else ++ begin ++ fporta.iomode := alloutput; ++ fiocontrol := fiocontrol + [ioaoutput]; ++ end; ++ { analyze portb io } ++ if readbit(fportr.value, 1) then ++ begin ++ fportb.iomode := allinput; ++ fiocontrol := fiocontrol - [ioboutput]; ++ end ++ else ++ begin ++ fportb.iomode := alloutput; ++ fiocontrol := fiocontrol + [ioboutput]; ++ end; ++ { analyze portc io } ++ if readbit(fportr.value, 0) and readbit(fportr.value, 3) then ++ begin ++ fportc.iomode := allinput; ++ fiocontrol := fiocontrol - [iochioutput] - [ioclooutput]; ++ end ++ else if not readbit(fportr.value, 0) and readbit(fportr.value, 3) then ++ begin ++ fportc.iomode := hiinloout; ++ fiocontrol := fiocontrol - [iochioutput] + [ioclooutput]; ++ end ++ else if readbit(fportr.value, 0) and not readbit(fportr.value, 3) then ++ begin ++ fportc.iomode := hioutloin; ++ fiocontrol := fiocontrol + [iochioutput] - [ioclooutput]; ++ end ++ else ++ begin ++ fportc.iomode := alloutput; ++ fiocontrol := fiocontrol + [iochioutput] + [ioclooutput]; ++ end; ++ end; ++ ++ function tppi8255.getbaseaddress: word; ++ begin ++ result := fportr.address - 3; ++ end; ++ ++ procedure tppi8255.setbaseaddress(ppiaddr: word); ++ begin ++ fportr.address := ppiaddr + 3; ++ fporta.address := fportr.address - 3; ++ fportb.address := fportr.address - 2; ++ fportc.address := fportr.address - 1; ++ if assigned(onaddresschange) then onaddresschange(self); ++ initializeppi; ++ end; ++ ++ function tppi8255.getctrlword: byte; ++ begin ++ result := fportr.value; ++ end; ++ ++ procedure tppi8255.setctrlword(ppicw: byte); ++ begin ++ fportr.value := ppicw; ++ if not readbit(fportr.value, 7) then fportr.value := writebit(fportr.value, 7, true); ++ if assigned(oniocontrolchange) then oniocontrolchange(self); ++ analyzeiocontrol; ++ initializeppi; ++ end; ++ ++ procedure tppi8255.setiomode(ppiiomode: tppi_iomode); ++ begin ++ fiomode := ppiiomode; ++ case fiomode of ++ basic : begin ++ fportr.value := writebit(fportr.value,6,false); ++ fportr.value := writebit(fportr.value,5,false); ++ fportr.value := writebit(fportr.value,2,false); ++ end; ++ strobed : begin ++ fportr.value := writebit(fportr.value,6,false); ++ fportr.value := writebit(fportr.value,5,true); ++ fportr.value := writebit(fportr.value,2,true); ++ end; ++ bidirectional: fportr.value := writebit(fportr.value,6,true); ++ end; ++ if assigned(oniocontrolchange) then oniocontrolchange(self); ++ end; ++ ++ procedure tppi8255.setiocontrol(ppiioctrl: tppi_iocontrol); ++ begin ++ fiocontrol := ppiioctrl; ++ if fiocontrol * [ioaoutput] = [ioaoutput] then ++ fportr.value := writebit(fportr.value,4,false) ++ else ++ fportr.value := writebit(fportr.value,4,true); ++ if fiocontrol * [ioboutput] = [ioboutput] then ++ fportr.value := writebit(fportr.value,1,false) ++ else ++ fportr.value := writebit(fportr.value,1,true); ++ if fiocontrol * [iochioutput] = [iochioutput] then ++ fportr.value := writebit(fportr.value,3,false) ++ else ++ fportr.value := writebit(fportr.value,3,true); ++ if fiocontrol * [ioclooutput] = [ioclooutput] then ++ fportr.value := writebit(fportr.value,0,false) ++ else ++ fportr.value := writebit(fportr.value,0,true); ++ if assigned(oniocontrolchange) then oniocontrolchange(self); ++ end; ++ ++ function tppi8255.getportavalue: byte; ++ begin ++ if fporta.iomode <> alloutput then ++ begin ++ {$ifdef mswindows} ++ fporta.value := inport(fporta.address); ++ {$else} ++ fporta.value := port[fporta.address]; ++ {$endif} ++ if assigned(onpavaluechange) then onpavaluechange(self, fporta.value); ++ end; ++ result := fporta.value; ++ end; ++ ++ procedure tppi8255.setportavalue(pavalue: byte); ++ begin ++ if fporta.iomode <> allinput then ++ begin ++ if fporta.value <> pavalue then ++ if assigned(onpavaluechange) then onpavaluechange(self, pavalue); ++ fporta.value := pavalue; ++ fportaresult:=bytetobin(fporta.value); ++ {$ifdef mswindows} ++ outport(fporta.address, fporta.value); ++ {$else} ++ port[fporta.address]:=fporta.value; ++ {$endif} ++ end; ++ end; ++ ++ function tppi8255.getportbvalue: byte; ++ begin ++ if fportb.iomode <> alloutput then ++ begin ++ {$ifdef mswindows} ++ fportb.value := inport(fportb.address); ++ {$else} ++ fportb.value := port[fportb.address]; ++ {$endif} ++ if assigned(onpbvaluechange) then onpbvaluechange(self, fportb.value); ++ end; ++ result := fportb.value; ++ end; ++ ++ procedure tppi8255.setportbvalue(pbvalue: byte); ++ begin ++ if fportb.iomode <> allinput then ++ begin ++ if fportb.value <> pbvalue then ++ if assigned(onpbvaluechange) then onpbvaluechange(self, pbvalue); ++ fportb.value := pbvalue; ++ fportbresult:=bytetobin(fportb.value); ++ {$ifdef mswindows} ++ outport(fportb.address, fportb.value); ++ {$else} ++ port[fportb.address]:=fportb.value; ++ {$endif} ++ end; ++ end; ++ ++ function tppi8255.getportcvalue: byte; ++ begin ++ if fportc.iomode <> alloutput then ++ begin ++ {$ifdef mswindows} ++ fportc.value := inport(fportc.address); ++ {$else} ++ fportc.value := port.pp [fportc.address]; ++ {$endif} ++ if assigned(onpcvaluechange) then onpcvaluechange(self, fportc.value); ++ end; ++ result := fportc.value; ++ end; ++ ++ procedure tppi8255.setportcvalue(pcvalue: byte); ++ begin ++ if fportc.iomode <> allinput then ++ begin ++ if fportc.value <> pcvalue then ++ if assigned(onpcvaluechange) then onpcvaluechange(self, pcvalue); ++ fportc.value := pcvalue; ++ fportcresult:=bytetobin(fportc.value); ++ {$ifdef mswindows} ++ outport(fportc.address, fportc.value); ++ {$else} ++ port[fportc.address]:=fportc.value; ++ {$endif} ++ end; ++ end; ++ ++ { ========= registration routines ========== } ++ ++ procedure register; ++ begin ++ registercomponents('wahono', [tbyteport]); ++ registercomponents('wahono', [tppi8255]); ++ end; ++ ++ end. ++ +Les fichiers binaires mseide-msegui-1.8.orig/contrib/wahono/beeport/inpout32.dll et mseide-msegui-1.8/contrib/wahono/beeport/inpout32.dll sont différents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog.mfm mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog.mfm +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,471 ---- ++ object themesdialogfo: tthemesdialogfo ++ optionswidget = [ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 101 ++ bounds_y = 194 ++ bounds_cx = 349 ++ bounds_cy = 332 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 349 ++ container.bounds_cy = 332 ++ container.frame.colorframe = -1879048191 ++ container.frame.localprops = [frl_colorframe] ++ container.frame.dummy = 0 ++ options = [fo_closeonesc, fo_localshortcuts, fo_autoreadstat, fo_autowritestat, fo_savepos] ++ statfile = tstatfile1 ++ caption = 'Themes Configuration' ++ icon.transparency = -2147483648 ++ onshow = filldefcolor ++ moduleclassname = 'tmseform' ++ object ok: tbutton ++ optionswidget = [ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 232 ++ bounds_y = 304 ++ bounds_cx = 50 ++ bounds_cy = 21 ++ taborder = 1 ++ state = [as_default, as_localdefault, as_localcaption] ++ caption = 'Ok' ++ modalresult = mr_ok ++ reffontheight = 13 ++ end ++ object cancel: tbutton ++ optionswidget = [ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 288 ++ bounds_y = 304 ++ bounds_cx = 50 ++ bounds_cy = 21 ++ state = [as_localcaption] ++ caption = 'Cancel' ++ modalresult = mr_cancel ++ reffontheight = 13 ++ end ++ object defcolorlist: tenumedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 100 ++ bounds_cy = 33 ++ frame.caption = 'Default color name' ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.button.color = -2147483647 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ onchange = changecolorbefore ++ dropdown.datarowlinecolor = -2147483647 ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 13 ++ end ++ object colorareabefore: tpaintbox ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 8 ++ bounds_y = 50 ++ bounds_cx = 50 ++ bounds_cy = 213 ++ color = -2147483645 ++ frame.colorframe = -1610612734 ++ frame.caption = 'old' ++ frame.captionpos = cp_bottom ++ frame.localprops = [frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 0 ++ 16 ++ ) ++ taborder = 3 ++ end ++ object colorarea: tpaintbox ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 58 ++ bounds_y = 50 ++ bounds_cx = 50 ++ bounds_cy = 213 ++ color = -2147483645 ++ frame.colorframe = -1610612734 ++ frame.caption = 'new' ++ frame.captionpos = cp_bottom ++ frame.localprops = [frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 0 ++ 16 ++ ) ++ taborder = 4 ++ end ++ object usecolor: tbutton ++ bounds_x = 8 ++ bounds_y = 278 ++ bounds_cx = 100 ++ bounds_cy = 19 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ caption = '&Use this color' ++ onexecute = usethiscolor ++ end ++ object hue: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 117 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'HUE' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 6 ++ onchange = hsbchange ++ max = 359 ++ reffontheight = 13 ++ end ++ object sat: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 153 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'SAT' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 7 ++ onchange = hsbchange ++ max = 100 ++ reffontheight = 13 ++ end ++ object bright: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 189 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'BRI' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 8 ++ onchange = hsbchange ++ max = 100 ++ reffontheight = 13 ++ end ++ object red: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 228 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'red' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 9 ++ onchange = rgbchange ++ max = 255 ++ reffontheight = 13 ++ end ++ object green: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 265 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'green' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 10 ++ onchange = rgbchange ++ max = 255 ++ reffontheight = 13 ++ end ++ object blue: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 302 ++ bounds_y = 262 ++ bounds_cx = 36 ++ bounds_cy = 35 ++ color = -2147483645 ++ frame.caption = 'blue' ++ frame.captionpos = cp_top ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 11 ++ onchange = rgbchange ++ max = 255 ++ reffontheight = 13 ++ end ++ object sliderblue: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 312 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 12 ++ onsetvalue = blueonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1610612734 ++ -1610612727 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object slidergreen: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 276 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 13 ++ onsetvalue = greenonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1610612734 ++ -1610612728 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object sliderred: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 240 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 14 ++ onsetvalue = redonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1610612734 ++ -1610612729 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object sliderbright: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 199 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 15 ++ onsetvalue = brightonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1610612734 ++ -1610612730 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object slidersat: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 164 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 16 ++ onsetvalue = satonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1610612730 ++ -1610612730 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object sliderhue: tslider ++ optionswidget = [ow_arrowfocusin, ow_arrowfocusout, ow_destroywidgets] ++ bounds_x = 128 ++ bounds_y = 9 ++ bounds_cx = 15 ++ bounds_cy = 250 ++ color = -2147483646 ++ frame.colorclient = -2147483647 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 17 ++ onsetvalue = hueonsetvalue ++ direction = gd_up ++ scrollbar.options = [sbo_moveauto] ++ scrollbar.color = -2147483645 ++ scrollbar.colorpattern = -2147483648 ++ scrollbar.face.image.transparentcolor = -2147483648 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 7 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 0.166666666 ++ 0.333333333 ++ 0.5 ++ 0.66666666 ++ 0.83333333 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 7 ++ scrollbar.face.fade_color.items = ( ++ -1610612729 ++ -1610612724 ++ -1610612728 ++ -1610612726 ++ -1610612727 ++ -1610612725 ++ -1610612729 ++ ) ++ scrollbar.face.fade_direction = gd_up ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object tgroupbox1: tgroupbox ++ bounds_x = 8 ++ bounds_y = 50 ++ bounds_cx = 100 ++ bounds_cy = 197 ++ color = -2147483645 ++ frame.colorframe = -1879048191 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ taborder = 18 ++ end ++ object tstatfile1: tstatfile ++ filename = 'themesdialog.sta' ++ options = [sfo_memory] ++ left = 144 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog_mfm.pas mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog_mfm.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,504 ---- ++ unit msethemesdialog_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,msethemesdialog; ++ ++ const ++ objdata: record size: integer; data: array[0..9720] of byte end = ++ (size: 9721; data: ( ++ 84,80,70,48,15,116,116,104,101,109,101,115,100,105,97,108,111,103,102,111, ++ 14,116,104,101,109,101,115,100,105,97,108,111,103,102,111,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105,110, ++ 16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,11,111,119, ++ 95,115,117,98,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,9,111,119,95,104,105,110,116,111,110,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120, ++ 2,101,8,98,111,117,110,100,115,95,121,3,194,0,9,98,111,117,110,100, ++ 115,95,99,120,3,93,1,9,98,111,117,110,100,115,95,99,121,3,76,1, ++ 8,116,97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8, ++ 23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105, ++ 100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11, ++ 111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119, ++ 102,111,99,117,115,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105, ++ 110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,11,111, ++ 119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116, ++ 114,97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,99,120,3,93,1,19,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,99,121,3,76,1,26,99,111,110,116,97,105,110,101,114, ++ 46,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,1,0, ++ 0,144,26,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,14,102,114,108,95,99,111,108,111,114, ++ 102,114,97,109,101,0,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,13, ++ 102,111,95,99,108,111,115,101,111,110,101,115,99,17,102,111,95,108,111,99, ++ 97,108,115,104,111,114,116,99,117,116,115,15,102,111,95,97,117,116,111,114, ++ 101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101, ++ 115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,0,8,115,116,97, ++ 116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49,7,99,97, ++ 112,116,105,111,110,6,20,84,104,101,109,101,115,32,67,111,110,102,105,103, ++ 117,114,97,116,105,111,110,17,105,99,111,110,46,116,114,97,110,115,112,97, ++ 114,101,110,99,121,4,0,0,0,128,6,111,110,115,104,111,119,7,12,102, ++ 105,108,108,100,101,102,99,111,108,111,114,15,109,111,100,117,108,101,99,108, ++ 97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,7,116, ++ 98,117,116,116,111,110,2,111,107,13,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,3,232,0,8,98,111,117,110,100,115, ++ 95,121,3,48,1,9,98,111,117,110,100,115,95,99,120,2,50,9,98,111, ++ 117,110,100,115,95,99,121,2,21,8,116,97,98,111,114,100,101,114,2,1, ++ 5,115,116,97,116,101,11,10,97,115,95,100,101,102,97,117,108,116,15,97, ++ 115,95,108,111,99,97,108,100,101,102,97,117,108,116,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,0,7,99,97,112,116,105,111,110,6, ++ 2,79,107,11,109,111,100,97,108,114,101,115,117,108,116,7,5,109,114,95, ++ 111,107,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,13,0,0, ++ 7,116,98,117,116,116,111,110,6,99,97,110,99,101,108,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3,32,1,8, ++ 98,111,117,110,100,115,95,121,3,48,1,9,98,111,117,110,100,115,95,99, ++ 120,2,50,9,98,111,117,110,100,115,95,99,121,2,21,5,115,116,97,116, ++ 101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,7, ++ 99,97,112,116,105,111,110,6,6,67,97,110,99,101,108,11,109,111,100,97, ++ 108,114,101,115,117,108,116,7,9,109,114,95,99,97,110,99,101,108,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,13,0,0,9,116,101,110, ++ 117,109,101,100,105,116,12,100,101,102,99,111,108,111,114,108,105,115,116,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111, ++ 117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115, ++ 13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116, ++ 103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117, ++ 110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99,120,2,100,9, ++ 98,111,117,110,100,115,95,99,121,2,33,13,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,6,18,68,101,102,97,117,108,116,32,99,111,108,111,114, ++ 32,110,97,109,101,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102,114,108,95,102, ++ 114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102, ++ 114,97,109,101,0,18,102,114,97,109,101,46,98,117,116,116,111,110,46,99, ++ 111,108,111,114,4,1,0,0,128,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101, ++ 1,2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2, ++ 2,8,111,110,99,104,97,110,103,101,7,17,99,104,97,110,103,101,99,111, ++ 108,111,114,98,101,102,111,114,101,25,100,114,111,112,100,111,119,110,46,100, ++ 97,116,97,114,111,119,108,105,110,101,99,111,108,111,114,4,1,0,0,128, ++ 19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111,117,110,116, ++ 2,1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,105,116,101, ++ 109,115,14,1,0,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,13,0,0,9,116,112,97,105,110,116,98,111,120,15,99,111,108,111,114, ++ 97,114,101,97,98,101,102,111,114,101,13,111,112,116,105,111,110,115,119,105, ++ 100,103,101,116,11,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105, ++ 110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,0,8,98,111, ++ 117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,50,9, ++ 98,111,117,110,100,115,95,99,120,2,50,9,98,111,117,110,100,115,95,99, ++ 121,3,213,0,5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109, ++ 101,46,99,111,108,111,114,102,114,97,109,101,4,2,0,0,160,13,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,6,3,111,108,100,16,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,112,111,115,7,9,99,112,95,98,111, ++ 116,116,111,109,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,0,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,0,2,0,2,0,2,16,0,8, ++ 116,97,98,111,114,100,101,114,2,3,0,0,9,116,112,97,105,110,116,98, ++ 111,120,9,99,111,108,111,114,97,114,101,97,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,15,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,105,110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,0,8, ++ 98,111,117,110,100,115,95,120,2,58,8,98,111,117,110,100,115,95,121,2, ++ 50,9,98,111,117,110,100,115,95,99,120,2,50,9,98,111,117,110,100,115, ++ 95,99,121,3,213,0,5,99,111,108,111,114,4,3,0,0,128,16,102,114, ++ 97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,2,0,0,160,13, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,6,3,110,101,119,16,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,9,99,112,95, ++ 98,111,116,116,111,109,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,0,2,0,2,16, ++ 0,8,116,97,98,111,114,100,101,114,2,4,0,0,7,116,98,117,116,116, ++ 111,110,8,117,115,101,99,111,108,111,114,8,98,111,117,110,100,115,95,120, ++ 2,8,8,98,111,117,110,100,115,95,121,3,22,1,9,98,111,117,110,100, ++ 115,95,99,120,2,100,9,98,111,117,110,100,115,95,99,121,2,19,8,116, ++ 97,98,111,114,100,101,114,2,5,5,115,116,97,116,101,11,15,97,115,95, ++ 108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97, ++ 108,111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105,111,110,6, ++ 15,38,85,115,101,32,116,104,105,115,32,99,111,108,111,114,9,111,110,101, ++ 120,101,99,117,116,101,7,12,117,115,101,116,104,105,115,99,111,108,111,114, ++ 0,0,12,116,105,110,116,101,103,101,114,101,100,105,116,3,104,117,101,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111, ++ 117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115, ++ 13,111,119,95,97,114,114,111,119,102,111,99,117,115,15,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,105,110,16,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,111,117,116,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98, ++ 111,117,110,100,115,95,120,2,117,8,98,111,117,110,100,115,95,121,3,6, ++ 1,9,98,111,117,110,100,115,95,99,120,2,36,9,98,111,117,110,100,115, ++ 95,99,121,2,35,5,99,111,108,111,114,4,3,0,0,128,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,3,72,85,69,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116,111,112, ++ 16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102, ++ 114,108,95,108,101,118,101,108,111,14,102,114,108,95,102,114,97,109,101,119, ++ 105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,16,2,0,2,0, ++ 0,8,116,97,98,111,114,100,101,114,2,6,8,111,110,99,104,97,110,103, ++ 101,7,9,104,115,98,99,104,97,110,103,101,3,109,97,120,3,103,1,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,13,0,0,12,116,105, ++ 110,116,101,103,101,114,101,100,105,116,3,115,97,116,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,15,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,105,110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111, ++ 117,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12, ++ 111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115, ++ 95,120,3,153,0,8,98,111,117,110,100,115,95,121,3,6,1,9,98,111, ++ 117,110,100,115,95,99,120,2,36,9,98,111,117,110,100,115,95,99,121,2, ++ 35,5,99,111,108,111,114,4,3,0,0,128,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,3,83,65,84,16,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,112,111,115,7,6,99,112,95,116,111,112,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108, ++ 101,118,101,108,111,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104, ++ 14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116, ++ 101,114,102,114,97,109,101,1,2,0,2,16,2,0,2,0,0,8,116,97, ++ 98,111,114,100,101,114,2,7,8,111,110,99,104,97,110,103,101,7,9,104, ++ 115,98,99,104,97,110,103,101,3,109,97,120,2,100,13,114,101,102,102,111, ++ 110,116,104,101,105,103,104,116,2,13,0,0,12,116,105,110,116,101,103,101, ++ 114,101,100,105,116,6,98,114,105,103,104,116,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,15,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,105,110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111, ++ 119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120, ++ 3,189,0,8,98,111,117,110,100,115,95,121,3,6,1,9,98,111,117,110, ++ 100,115,95,99,120,2,36,9,98,111,117,110,100,115,95,99,121,2,35,5, ++ 99,111,108,111,114,4,3,0,0,128,13,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,6,3,66,82,73,16,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,112,111,115,7,6,99,112,95,116,111,112,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,111,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102, ++ 114,108,95,99,111,108,111,114,102,114,97,109,101,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114, ++ 102,114,97,109,101,1,2,0,2,16,2,0,2,0,0,8,116,97,98,111, ++ 114,100,101,114,2,8,8,111,110,99,104,97,110,103,101,7,9,104,115,98, ++ 99,104,97,110,103,101,3,109,97,120,2,100,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,13,0,0,12,116,105,110,116,101,103,101,114,101, ++ 100,105,116,3,114,101,100,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105,110,16,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3,228,0,8,98, ++ 111,117,110,100,115,95,121,3,6,1,9,98,111,117,110,100,115,95,99,120, ++ 2,36,9,98,111,117,110,100,115,95,99,121,2,35,5,99,111,108,111,114, ++ 4,3,0,0,128,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6, ++ 3,114,101,100,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111, ++ 115,7,6,99,112,95,116,111,112,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102, ++ 114,108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111, ++ 108,111,114,102,114,97,109,101,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101, ++ 1,2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2, ++ 9,8,111,110,99,104,97,110,103,101,7,9,114,103,98,99,104,97,110,103, ++ 101,3,109,97,120,3,255,0,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,13,0,0,12,116,105,110,116,101,103,101,114,101,100,105,116,5, ++ 103,114,101,101,110,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 15,111,119,95,97,114,114,111,119,102,111,99,117,115,105,110,16,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,111,117,116,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103, ++ 108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99, ++ 97,108,101,0,8,98,111,117,110,100,115,95,120,3,9,1,8,98,111,117, ++ 110,100,115,95,121,3,6,1,9,98,111,117,110,100,115,95,99,120,2,36, ++ 9,98,111,117,110,100,115,95,99,121,2,35,5,99,111,108,111,114,4,3, ++ 0,0,128,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,5,103, ++ 114,101,101,110,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111, ++ 115,7,6,99,112,95,116,111,112,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102, ++ 114,108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111, ++ 108,111,114,102,114,97,109,101,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101, ++ 1,2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2, ++ 10,8,111,110,99,104,97,110,103,101,7,9,114,103,98,99,104,97,110,103, ++ 101,3,109,97,120,3,255,0,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,13,0,0,12,116,105,110,116,101,103,101,114,101,100,105,116,4, ++ 98,108,117,101,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,15, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,105,110,16,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,111,117,116,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,8,98,111,117,110,100,115,95,120,3,46,1,8,98,111,117,110, ++ 100,115,95,121,3,6,1,9,98,111,117,110,100,115,95,99,120,2,36,9, ++ 98,111,117,110,100,115,95,99,121,2,35,5,99,111,108,111,114,4,3,0, ++ 0,128,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,98,108, ++ 117,101,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7, ++ 6,99,112,95,116,111,112,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102,114,108, ++ 95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111, ++ 114,102,114,97,109,101,0,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2, ++ 0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,11,8, ++ 111,110,99,104,97,110,103,101,7,9,114,103,98,99,104,97,110,103,101,3, ++ 109,97,120,3,255,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,13,0,0,7,116,115,108,105,100,101,114,10,115,108,105,100,101,114,98, ++ 108,117,101,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,15,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,105,110,16,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,111,117,116,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,0,8,98,111,117,110,100,115,95,120,3, ++ 56,1,8,98,111,117,110,100,115,95,121,2,9,9,98,111,117,110,100,115, ++ 95,99,120,2,15,9,98,111,117,110,100,115,95,99,121,3,250,0,5,99, ++ 111,108,111,114,4,2,0,0,128,17,102,114,97,109,101,46,99,111,108,111, ++ 114,99,108,105,101,110,116,4,1,0,0,128,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108, ++ 111,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108, ++ 95,99,111,108,111,114,102,114,97,109,101,15,102,114,108,95,99,111,108,111, ++ 114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,8,116,97,98,111,114,100,101,114,2,12,10,111,110,115,101,116,118, ++ 97,108,117,101,7,14,98,108,117,101,111,110,115,101,116,118,97,108,117,101, ++ 9,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,17,115,99, ++ 114,111,108,108,98,97,114,46,111,112,116,105,111,110,115,11,12,115,98,111, ++ 95,109,111,118,101,97,117,116,111,0,15,115,99,114,111,108,108,98,97,114, ++ 46,99,111,108,111,114,4,3,0,0,128,22,115,99,114,111,108,108,98,97, ++ 114,46,99,111,108,111,114,112,97,116,116,101,114,110,4,0,0,0,128,37, ++ 115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,105,109,97,103,101, ++ 46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4,0,0, ++ 0,128,33,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,105,109, ++ 97,103,101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,29,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100, ++ 101,95,112,111,115,46,99,111,117,110,116,2,2,29,115,99,114,111,108,108, ++ 98,97,114,46,102,97,99,101,46,102,97,100,101,95,112,111,115,46,105,116, ++ 101,109,115,1,2,0,2,1,0,31,115,99,114,111,108,108,98,97,114,46, ++ 102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111,117,110, ++ 116,2,2,31,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102, ++ 97,100,101,95,99,111,108,111,114,46,105,116,101,109,115,1,4,2,0,0, ++ 160,4,9,0,0,160,0,29,115,99,114,111,108,108,98,97,114,46,102,97, ++ 99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110,7,5,103, ++ 100,95,117,112,32,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46, ++ 102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,20,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,100,117, ++ 109,109,121,2,0,0,0,7,116,115,108,105,100,101,114,11,115,108,105,100, ++ 101,114,103,114,101,101,110,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105,110,16,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,0,8,98,111,117,110,100, ++ 115,95,120,3,20,1,8,98,111,117,110,100,115,95,121,2,9,9,98,111, ++ 117,110,100,115,95,99,120,2,15,9,98,111,117,110,100,115,95,99,121,3, ++ 250,0,5,99,111,108,111,114,4,2,0,0,128,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,1,0,0,128,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108, ++ 101,118,101,108,111,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104, ++ 14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,13,10,111,110, ++ 115,101,116,118,97,108,117,101,7,15,103,114,101,101,110,111,110,115,101,116, ++ 118,97,108,117,101,9,100,105,114,101,99,116,105,111,110,7,5,103,100,95, ++ 117,112,17,115,99,114,111,108,108,98,97,114,46,111,112,116,105,111,110,115, ++ 11,12,115,98,111,95,109,111,118,101,97,117,116,111,0,15,115,99,114,111, ++ 108,108,98,97,114,46,99,111,108,111,114,4,3,0,0,128,22,115,99,114, ++ 111,108,108,98,97,114,46,99,111,108,111,114,112,97,116,116,101,114,110,4, ++ 0,0,0,128,37,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46, ++ 105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111,108, ++ 111,114,4,0,0,0,128,33,115,99,114,111,108,108,98,97,114,46,102,97, ++ 99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,29,115,99,114,111,108,108,98,97,114,46,102,97,99, ++ 101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2,29,115, ++ 99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,112, ++ 111,115,46,105,116,101,109,115,1,2,0,2,1,0,31,115,99,114,111,108, ++ 108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114, ++ 46,99,111,117,110,116,2,2,31,115,99,114,111,108,108,98,97,114,46,102, ++ 97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109,115, ++ 1,4,2,0,0,160,4,8,0,0,160,0,29,115,99,114,111,108,108,98, ++ 97,114,46,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116,105, ++ 111,110,7,5,103,100,95,117,112,32,115,99,114,111,108,108,98,97,114,46, ++ 102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,20,115,99,114,111,108,108,98,97,114,46,102,97, ++ 99,101,46,100,117,109,109,121,2,0,0,0,7,116,115,108,105,100,101,114, ++ 9,115,108,105,100,101,114,114,101,100,13,111,112,116,105,111,110,115,119,105, ++ 100,103,101,116,11,15,111,119,95,97,114,114,111,119,102,111,99,117,115,105, ++ 110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,0,8,98,111, ++ 117,110,100,115,95,120,3,240,0,8,98,111,117,110,100,115,95,121,2,9, ++ 9,98,111,117,110,100,115,95,99,120,2,15,9,98,111,117,110,100,115,95, ++ 99,121,3,250,0,5,99,111,108,111,114,4,2,0,0,128,17,102,114,97, ++ 109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,1,0,0,128,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114, ++ 108,95,108,101,118,101,108,111,14,102,114,108,95,102,114,97,109,101,119,105, ++ 100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,15,102, ++ 114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,14, ++ 10,111,110,115,101,116,118,97,108,117,101,7,13,114,101,100,111,110,115,101, ++ 116,118,97,108,117,101,9,100,105,114,101,99,116,105,111,110,7,5,103,100, ++ 95,117,112,17,115,99,114,111,108,108,98,97,114,46,111,112,116,105,111,110, ++ 115,11,12,115,98,111,95,109,111,118,101,97,117,116,111,0,15,115,99,114, ++ 111,108,108,98,97,114,46,99,111,108,111,114,4,3,0,0,128,22,115,99, ++ 114,111,108,108,98,97,114,46,99,111,108,111,114,112,97,116,116,101,114,110, ++ 4,0,0,0,128,37,115,99,114,111,108,108,98,97,114,46,102,97,99,101, ++ 46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111, ++ 108,111,114,4,0,0,0,128,33,115,99,114,111,108,108,98,97,114,46,102, ++ 97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,29,115,99,114,111,108,108,98,97,114,46,102,97, ++ 99,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2,29, ++ 115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95, ++ 112,111,115,46,105,116,101,109,115,1,2,0,2,1,0,31,115,99,114,111, ++ 108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,99,111,108,111, ++ 114,46,99,111,117,110,116,2,2,31,115,99,114,111,108,108,98,97,114,46, ++ 102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109, ++ 115,1,4,2,0,0,160,4,7,0,0,160,0,29,115,99,114,111,108,108, ++ 98,97,114,46,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116, ++ 105,111,110,7,5,103,100,95,117,112,32,115,99,114,111,108,108,98,97,114, ++ 46,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101, ++ 110,99,121,4,0,0,0,128,20,115,99,114,111,108,108,98,97,114,46,102, ++ 97,99,101,46,100,117,109,109,121,2,0,0,0,7,116,115,108,105,100,101, ++ 114,12,115,108,105,100,101,114,98,114,105,103,104,116,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,15,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,105,110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111, ++ 117,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 0,8,98,111,117,110,100,115,95,120,3,199,0,8,98,111,117,110,100,115, ++ 95,121,2,9,9,98,111,117,110,100,115,95,99,120,2,15,9,98,111,117, ++ 110,100,115,95,99,121,3,250,0,5,99,111,108,111,114,4,2,0,0,128, ++ 17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,1, ++ 0,0,128,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,10,102,114,108,95,108,101,118,101,108,111,14,102,114,108,95,102,114,97, ++ 109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97, ++ 109,101,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,15,10,111,110,115,101,116,118,97,108,117,101,7,16,98,114,105, ++ 103,104,116,111,110,115,101,116,118,97,108,117,101,9,100,105,114,101,99,116, ++ 105,111,110,7,5,103,100,95,117,112,17,115,99,114,111,108,108,98,97,114, ++ 46,111,112,116,105,111,110,115,11,12,115,98,111,95,109,111,118,101,97,117, ++ 116,111,0,15,115,99,114,111,108,108,98,97,114,46,99,111,108,111,114,4, ++ 3,0,0,128,22,115,99,114,111,108,108,98,97,114,46,99,111,108,111,114, ++ 112,97,116,116,101,114,110,4,0,0,0,128,37,115,99,114,111,108,108,98, ++ 97,114,46,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112, ++ 97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,33,115,99,114,111, ++ 108,108,98,97,114,46,102,97,99,101,46,105,109,97,103,101,46,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,29,115,99,114,111,108, ++ 108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,112,111,115,46,99, ++ 111,117,110,116,2,2,29,115,99,114,111,108,108,98,97,114,46,102,97,99, ++ 101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,2,0,2, ++ 1,0,31,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97, ++ 100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,31,115,99,114, ++ 111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,99,111,108, ++ 111,114,46,105,116,101,109,115,1,4,2,0,0,160,4,6,0,0,160,0, ++ 29,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101, ++ 95,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,32,115,99, ++ 114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,20,115,99,114,111, ++ 108,108,98,97,114,46,102,97,99,101,46,100,117,109,109,121,2,0,0,0, ++ 7,116,115,108,105,100,101,114,9,115,108,105,100,101,114,115,97,116,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,15,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,105,110,16,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,111,117,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100, ++ 103,101,116,115,0,8,98,111,117,110,100,115,95,120,3,164,0,8,98,111, ++ 117,110,100,115,95,121,2,9,9,98,111,117,110,100,115,95,99,120,2,15, ++ 9,98,111,117,110,100,115,95,99,121,3,250,0,5,99,111,108,111,114,4, ++ 2,0,0,128,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101, ++ 110,116,4,1,0,0,128,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102,114,108, ++ 95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111, ++ 114,102,114,97,109,101,15,102,114,108,95,99,111,108,111,114,99,108,105,101, ++ 110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,16,10,111,110,115,101,116,118,97,108,117,101,7, ++ 13,115,97,116,111,110,115,101,116,118,97,108,117,101,9,100,105,114,101,99, ++ 116,105,111,110,7,5,103,100,95,117,112,17,115,99,114,111,108,108,98,97, ++ 114,46,111,112,116,105,111,110,115,11,12,115,98,111,95,109,111,118,101,97, ++ 117,116,111,0,15,115,99,114,111,108,108,98,97,114,46,99,111,108,111,114, ++ 4,3,0,0,128,22,115,99,114,111,108,108,98,97,114,46,99,111,108,111, ++ 114,112,97,116,116,101,114,110,4,0,0,0,128,37,115,99,114,111,108,108, ++ 98,97,114,46,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110,115, ++ 112,97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,33,115,99,114, ++ 111,108,108,98,97,114,46,102,97,99,101,46,105,109,97,103,101,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,29,115,99,114,111, ++ 108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,112,111,115,46, ++ 99,111,117,110,116,2,2,29,115,99,114,111,108,108,98,97,114,46,102,97, ++ 99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,2,0, ++ 2,1,0,31,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102, ++ 97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,31,115,99, ++ 114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,99,111, ++ 108,111,114,46,105,116,101,109,115,1,4,6,0,0,160,4,6,0,0,160, ++ 0,29,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100, ++ 101,95,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,32,115, ++ 99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,20,115,99,114, ++ 111,108,108,98,97,114,46,102,97,99,101,46,100,117,109,109,121,2,0,0, ++ 0,7,116,115,108,105,100,101,114,9,115,108,105,100,101,114,104,117,101,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,15,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,105,110,16,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,111,117,116,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,0,8,98,111,117,110,100,115,95,120,3,128,0,8,98, ++ 111,117,110,100,115,95,121,2,9,9,98,111,117,110,100,115,95,99,120,2, ++ 15,9,98,111,117,110,100,115,95,99,121,3,250,0,5,99,111,108,111,114, ++ 4,2,0,0,128,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105, ++ 101,110,116,4,1,0,0,128,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,14,102,114, ++ 108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108, ++ 111,114,102,114,97,109,101,15,102,114,108,95,99,111,108,111,114,99,108,105, ++ 101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,17,10,111,110,115,101,116,118,97,108,117,101, ++ 7,13,104,117,101,111,110,115,101,116,118,97,108,117,101,9,100,105,114,101, ++ 99,116,105,111,110,7,5,103,100,95,117,112,17,115,99,114,111,108,108,98, ++ 97,114,46,111,112,116,105,111,110,115,11,12,115,98,111,95,109,111,118,101, ++ 97,117,116,111,0,15,115,99,114,111,108,108,98,97,114,46,99,111,108,111, ++ 114,4,3,0,0,128,22,115,99,114,111,108,108,98,97,114,46,99,111,108, ++ 111,114,112,97,116,116,101,114,110,4,0,0,0,128,37,115,99,114,111,108, ++ 108,98,97,114,46,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110, ++ 115,112,97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,33,115,99, ++ 114,111,108,108,98,97,114,46,102,97,99,101,46,105,109,97,103,101,46,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,29,115,99,114, ++ 111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,112,111,115, ++ 46,99,111,117,110,116,2,7,29,115,99,114,111,108,108,98,97,114,46,102, ++ 97,99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,2, ++ 0,5,0,184,162,54,159,170,170,170,252,63,5,0,176,168,205,167,170,170, ++ 170,253,63,5,0,0,0,0,0,0,0,128,254,63,5,0,208,150,8,142, ++ 170,170,170,254,63,5,0,104,75,4,71,85,85,213,254,63,2,1,0,31, ++ 115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95, ++ 99,111,108,111,114,46,99,111,117,110,116,2,7,31,115,99,114,111,108,108, ++ 98,97,114,46,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46, ++ 105,116,101,109,115,1,4,7,0,0,160,4,12,0,0,160,4,8,0,0, ++ 160,4,10,0,0,160,4,9,0,0,160,4,11,0,0,160,4,7,0,0, ++ 160,0,29,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97, ++ 100,101,95,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,32, ++ 115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,20,115,99, ++ 114,111,108,108,98,97,114,46,102,97,99,101,46,100,117,109,109,121,2,0, ++ 0,0,9,116,103,114,111,117,112,98,111,120,10,116,103,114,111,117,112,98, ++ 111,120,49,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100, ++ 115,95,121,2,50,9,98,111,117,110,100,115,95,99,120,2,100,9,98,111, ++ 117,110,100,115,95,99,121,3,197,0,5,99,111,108,111,114,4,3,0,0, ++ 128,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,1, ++ 0,0,144,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,10,102,114,108,95,108,101,118,101,108,111,10,102,114,108,95,108,101,118, ++ 101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102, ++ 114,108,95,99,111,108,111,114,102,114,97,109,101,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,18,0, ++ 0,9,116,115,116,97,116,102,105,108,101,10,116,115,116,97,116,102,105,108, ++ 101,49,8,102,105,108,101,110,97,109,101,6,16,116,104,101,109,101,115,100, ++ 105,97,108,111,103,46,115,116,97,7,111,112,116,105,111,110,115,11,10,115, ++ 102,111,95,109,101,109,111,114,121,0,4,108,101,102,116,3,144,0,0,0, ++ 0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tthemesdialogfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog.pas mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/dialog/msethemesdialog.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/dialog/msethemesdialog.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,437 ---- ++ { MSEgui Copyright (c) 1999-2006 by Martin Schreiber ++ ++ See the file COPYING.MSE, included in this distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ unit msethemesdialog; ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ uses ++ msegui,mseclasses,mseforms,msegraphedits,msewidgets,msesimplewidgets, ++ msedataedits,msegraphics,mseguiglob,msedialog,classes,msetypes,msedropdownlist, ++ msestrings,mseedit,msestat,msestatfile,msedatalist,mseevent,mseformatstr, ++ mseinplaceedit,msewidgetgrid,msedrawtext,msegraphutils, ++ msebitmap,mserichstring, mseglob; ++ ++ const ++ themesdialogstatname = 'themesdialog.sta'; ++ ++ type ++ tthemesdialogfo = class(tmseform) ++ blue: tintegeredit; ++ bright: tintegeredit; ++ cancel: tbutton; ++ colorarea: tpaintbox; ++ colorareabefore: tpaintbox; ++ defcolorlist: tenumedit; ++ green: tintegeredit; ++ hue: tintegeredit; ++ ok: tbutton; ++ red: tintegeredit; ++ sat: tintegeredit; ++ sliderblue: tslider; ++ sliderbright: tslider; ++ slidergreen: tslider; ++ sliderhue: tslider; ++ sliderred: tslider; ++ slidersat: tslider; ++ tgroupbox1: tgroupbox; ++ tstatfile1: tstatfile; ++ usecolor: tbutton; ++ procedure hueonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure satonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure brightonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure hsbchange(const sender: TObject); ++ procedure redonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure greenonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure blueonsetvalue(const sender: TObject; var avalue: realty; var accept: Boolean); ++ procedure rgbchange(const sender: TObject); ++ procedure filldefcolor(const sender: TObject); ++ procedure usethiscolor(const sender: TObject); ++ procedure changecolorbefore(const sender: TObject); ++ private ++ fupdating: boolean; ++ end; ++ ++ tthemesedit = class(tmsecomponent,istatfile) ++ private ++ fstatfile: tstatfile; ++ fstatvarname: msestring; ++ procedure setstatfile(const Value: tstatfile); ++ protected ++ procedure statdataread; virtual; ++ procedure dostatread(const reader: tstatreader); virtual; ++ procedure dostatwrite(const writer: tstatwriter); virtual; ++ procedure statreading; ++ procedure statread; ++ function getstatvarname: msestring; ++ ++ procedure readstatvalue(const reader: tstatreader); virtual; ++ procedure readstatstate(const reader: tstatreader); virtual; ++ procedure readstatoptions(const reader: tstatreader); virtual; ++ procedure writestatvalue(const writer: tstatwriter); virtual; ++ procedure writestatstate(const writer: tstatwriter); virtual; ++ procedure writestatoptions(const writer: tstatwriter); virtual; ++ ++ public ++ constructor create(aowner: tcomponent); override; ++ procedure showdialog; ++ fdefcolor: msestringarty; ++ published ++ property statfile: tstatfile read fstatfile write setstatfile; ++ property statvarname: msestring read getstatvarname write fstatvarname; ++ end; ++ ++ implementation ++ uses ++ msethemesdialog_mfm,msestockobjects; ++ const ++ valuevarname = 'color'; ++ ++ { tthemesedit } ++ ++ constructor tthemesedit.create(aowner: tcomponent); ++ begin ++ inherited; ++ end; ++ ++ procedure tthemesedit.statdataread; ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.setstatfile(const Value: tstatfile); ++ begin ++ setstatfilevar(istatfile(self),value,fstatfile); ++ end; ++ ++ procedure tthemesedit.dostatread(const reader: tstatreader); ++ begin ++ readstatvalue(reader); ++ readstatstate(reader); ++ readstatoptions(reader); ++ end; ++ ++ procedure tthemesedit.dostatwrite(const writer: tstatwriter); ++ begin ++ writestatvalue(writer); ++ writestatstate(writer); ++ writestatoptions(writer); ++ end; ++ ++ procedure tthemesedit.statreading; ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.statread; ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.readstatoptions(const reader: tstatreader); ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.readstatstate(const reader: tstatreader); ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.readstatvalue(const reader: tstatreader); ++ var ++ ar1: msestringarty; ++ int1: integer; ++ defcolorar: msestringarty; ++ anewcolor: msestringarty; ++ begin ++ ar1:= nil; ++ ar1:= reader.readarray(valuevarname+'ar',ar1); ++ fdefcolor:= ar1; ++ if high(fdefcolor)>0 then begin ++ for int1:=0 to high(fdefcolor) do begin ++ anewcolor:= nil; ++ setlength(anewcolor,2); ++ splitstring(fdefcolor[int1],anewcolor,'=',true); ++ setcolormapvalue(stringtocolor(anewcolor[0]),stringtocolor(anewcolor[1])); ++ //setcolormapvalue(anewcolor[0],stringtocolor(anewcolor[1])); ++ end; ++ end; ++ application.invalidate; ++ end; ++ ++ procedure tthemesedit.writestatoptions(const writer: tstatwriter); ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.writestatstate(const writer: tstatwriter); ++ begin ++ //dummy ++ end; ++ ++ procedure tthemesedit.writestatvalue(const writer: tstatwriter); ++ var ++ ar1: msestringarty; ++ begin ++ ar1:= fdefcolor; ++ writer.writearray(valuevarname+'ar',ar1); ++ end; ++ ++ function tthemesedit.getstatvarname: msestring; ++ begin ++ result:= fstatvarname; ++ end; ++ ++ procedure tthemesedit.showdialog; ++ var ++ fo: tthemesdialogfo; ++ result: modalresultty; ++ int1: integer; ++ begin ++ fo:= tthemesdialogfo.create(nil); ++ try ++ result:= fo.show(true); ++ if result = mr_ok then begin ++ fdefcolor := nil; ++ setlength(fdefcolor,fo.defcolorlist.dropdown.valuelist.count); ++ for int1:=0 to fo.defcolorlist.dropdown.valuelist.count-1 do begin ++ fdefcolor[int1]:= fo.defcolorlist.dropdown.valuelist.items[int1] + '=' + colortostring(fo.defcolorlist.enums[int1]); ++ setcolormapvalue(stringtocolor(fo.defcolorlist.dropdown.valuelist.items[int1]),fo.defcolorlist.enums[int1]); ++ //setcolormapvalue(fo.defcolorlist.dropdown.valuelist.items[int1],fo.defcolorlist.enums[int1]); ++ end; ++ application.invalidate; ++ end; ++ finally ++ fo.free; ++ end; ++ end; ++ ++ { tthemesdialogfo } ++ ++ procedure tthemesdialogfo.hueonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ hue.value:= round(avalue * 360); ++ end; ++ ++ procedure tthemesdialogfo.satonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ sat.value:= round(avalue * 100); ++ end; ++ ++ procedure tthemesdialogfo.brightonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ bright.value:= round(avalue * 100); ++ end; ++ ++ procedure tthemesdialogfo.hsbchange(const sender: TObject); ++ var ++ r,g,b: real; ++ r1,g1,b1: integer; ++ int1: integer; ++ rea1,rea2: real; ++ begin ++ int1:= hue.value; ++ r:= 0; ++ g:= 0; ++ b:= 0; ++ if int1 < 60 then begin ++ r:= 60; ++ g:= int1; ++ end ++ else begin ++ if int1 < 120 then begin ++ r:= 120 - int1; ++ g:= 60; ++ end ++ else begin ++ if int1 < 180 then begin ++ g:= 60; ++ b:= int1 - 120; ++ end ++ else begin ++ if int1 < 240 then begin ++ g:= 240 - int1; ++ b:= 60 ++ end ++ else begin ++ if int1 < 300 then begin ++ b:= 60; ++ r:= int1 - 240; ++ end ++ else begin ++ b:= 360 - int1; ++ r:= 60; ++ end; ++ end; ++ end; ++ end; ++ end; ++ r1:= round(r*255/60); ++ g1:= round(g*255/60); ++ b1:= round(b*255/60); ++ slidersat.scrollbar.face.fade_color[1]:= rgbtocolor(r1,g1,b1); ++ rea1:= sat.value / 100; ++ rea2:= 1-rea1; ++ rea1:= rea1 / 60; ++ r:= r * rea1 + rea2; ++ g:= g * rea1 + rea2; ++ b:= b * rea1 + rea2; ++ r1:= round(r*255); ++ g1:= round(g*255); ++ b1:= round(b*255); ++ sliderbright.scrollbar.face.fade_color[1]:= rgbtocolor(r1,g1,b1); ++ rea1:= bright.value / 100; ++ r:= r*rea1; ++ g:= g*rea1; ++ b:= b*rea1; ++ sliderhue.value:= hue.value/360; ++ slidersat.value:= sat.value/100; ++ sliderbright.value:= bright.value/100; ++ if not fupdating then begin ++ fupdating:= true; ++ red.value:= round(r*255); ++ green.value:= round(g*255); ++ blue.value:= round(b*255); ++ fupdating:= false; ++ end; ++ end; ++ ++ procedure tthemesdialogfo.blueonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ blue.value:= round(avalue * 255); ++ end; ++ ++ procedure tthemesdialogfo.greenonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ green.value:= round(avalue * 255); ++ end; ++ ++ procedure tthemesdialogfo.redonsetvalue(const sender: TObject; ++ var avalue: realty; var accept: Boolean); ++ begin ++ red.value:= round(avalue * 255); ++ end; ++ ++ procedure tthemesdialogfo.rgbchange(const sender: TObject); ++ ++ type ++ colorsegmentty = (cs_red,cs_green,cs_blue); ++ var ++ min,max: integer; ++ br,sa,hu: real; ++ segment: colorsegmentty; ++ ++ function calchue(l,c,r: integer): real; ++ begin ++ if c > min then begin ++ if l > r then begin ++ result:= -(l-min)/(c-min); ++ end ++ else begin ++ result:= (r-min)/(c-min); ++ end; ++ end ++ else begin ++ result:= 0; ++ end; ++ end; ++ ++ begin ++ colorarea.frame.colorclient:= rgbtocolor(red.value,green.value,blue.value); ++ sliderred.value:= red.value / 255; ++ slidergreen.value:= green.value / 255; ++ sliderblue.value:= blue.value / 255; ++ if not fupdating then begin ++ fupdating:= true; ++ max:= 0; ++ segment:= cs_red; ++ if red.value > max then begin ++ max:= red.value; ++ end; ++ if green.value > max then begin ++ max:= green.value; ++ segment:= cs_green; ++ end; ++ if blue.value > max then begin ++ max:= blue.value; ++ segment:= cs_blue; ++ end; ++ min:= 255; ++ if red.value < min then begin ++ min:= red.value; ++ end; ++ if green.value < min then begin ++ min:= green.value; ++ end; ++ if blue.value < min then begin ++ min:= blue.value; ++ end; ++ br:= max/255; ++ if br > 0 then begin ++ sa:= 1-min/(255*br); ++ if sa < 0 then begin ++ sa:= 0; ++ end; ++ end ++ else begin ++ sa:= 0 ++ end; ++ bright.value:= round(br*100); ++ sat.value:= round(sa*100); ++ case segment of ++ cs_red: begin ++ hu:= calchue(blue.value,red.value,green.value); ++ hue.value:= (round(hu*60)+360) mod 360; ++ end; ++ cs_green: begin ++ hu:= calchue(red.value,green.value,blue.value); ++ hue.value:= round(hu*60) + 120; ++ end; ++ cs_blue: begin ++ hu:= calchue(green.value,blue.value,red.value); ++ hue.value:= (round(hu*60) + 240) mod 360; ++ end; ++ end; ++ fupdating:= false; ++ end; ++ end; ++ ++ procedure tthemesdialogfo.filldefcolor(const sender: TObject); ++ begin ++ defcolorlist.dropdown.valuelist.asarray:= getcolornames; ++ defcolorlist.enums:= integerarty(getcolorvalues); ++ defcolorlist.min:= minint; ++ //defcolorlist.base:= nb_hex; ++ defcolorlist.valuedefault:= cl_background; ++ defcolorlist.value:= defcolorlist.valuedefault; ++ end; ++ ++ procedure tthemesdialogfo.usethiscolor(const sender: TObject); ++ begin ++ defcolorlist.enums[defcolorlist.dropdown.itemindex]:= colorarea.frame.colorclient; ++ end; ++ ++ procedure tthemesdialogfo.changecolorbefore(const sender: TObject); ++ var ++ int1: integer; ++ begin ++ colorareabefore.frame.colorclient:= defcolorlist.enums[defcolorlist.dropdown.itemindex]; ++ colorarea.frame.colorclient:= defcolorlist.enums[defcolorlist.dropdown.itemindex]; ++ red.value:= colortorgb(defcolorlist.enums[defcolorlist.dropdown.itemindex]).red; ++ green.value:= colortorgb(defcolorlist.enums[defcolorlist.dropdown.itemindex]).green; ++ blue.value:= colortorgb(defcolorlist.enums[defcolorlist.dropdown.itemindex]).blue; ++ end; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regdialogs_bmp.pas mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regdialogs_bmp.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regdialogs_bmp.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regdialogs_bmp.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,266 ---- ++ unit regdialogs_bmp; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,msebitmap; ++ ++ const ++ objdata_tfilelistview: record size: integer; data: array[0..689] of byte end = ++ (size: 690; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,13,116,102,105, ++ 108,101,108,105,115,116,118,105,101,119,12,98,105,116,109,97,112,46,105,109, ++ 97,103,101,10,128,2,0,0,0,0,0,0,0,0,0,0,24,0,0,0, ++ 24,0,0,0,76,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 255,0,255,25,128,128,128,22,255,0,255,2,128,128,128,1,255,0,255,20, ++ 255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,20,255,255,255,1, ++ 255,0,255,2,128,128,128,1,255,0,255,20,255,255,255,1,255,0,255,2, ++ 128,128,128,1,255,0,255,20,255,255,255,1,255,0,255,2,128,128,128,1, ++ 255,0,255,20,255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,20, ++ 255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,3,0,0,0,5, ++ 255,0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,8, ++ 255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,3,0,0,0,1, ++ 255,0,255,7,0,0,0,1,255,0,255,8,255,255,255,1,255,0,255,2, ++ 128,128,128,1,255,0,255,3,0,0,0,1,255,0,255,5,0,0,0,1, ++ 255,0,255,1,0,0,0,1,255,0,255,2,0,0,0,3,255,0,255,3, ++ 255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,3,0,0,0,4, ++ 255,0,255,2,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,1, ++ 0,0,0,1,255,0,255,3,0,0,0,1,255,0,255,2,255,255,255,1, ++ 255,0,255,2,128,128,128,1,255,0,255,3,0,0,0,1,255,0,255,5, ++ 0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,1,0,0,0,5, ++ 255,0,255,2,255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,3, ++ 0,0,0,1,255,0,255,5,0,0,0,1,255,0,255,1,0,0,0,1, ++ 255,0,255,1,0,0,0,1,255,0,255,6,255,255,255,1,255,0,255,2, ++ 128,128,128,1,255,0,255,3,0,0,0,1,255,0,255,5,0,0,0,1, ++ 255,0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,3, ++ 0,0,0,1,255,0,255,2,255,255,255,1,255,0,255,2,128,128,128,1, ++ 255,0,255,3,0,0,0,1,255,0,255,5,0,0,0,1,255,0,255,1, ++ 0,0,0,1,255,0,255,2,0,0,0,3,255,0,255,3,255,255,255,1, ++ 255,0,255,2,128,128,128,1,255,0,255,20,255,255,255,1,255,0,255,2, ++ 128,128,128,1,255,0,255,20,255,255,255,1,255,0,255,2,128,128,128,1, ++ 255,0,255,20,255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,20, ++ 255,255,255,1,255,0,255,2,128,128,128,1,255,0,255,20,255,255,255,1, ++ 255,0,255,2,128,128,128,1,255,0,255,20,255,255,255,1,255,0,255,2, ++ 255,255,255,22,255,0,255,25,0,0) ++ ); ++ ++ const ++ objdata_tfiledialog: record size: integer; data: array[0..551] of byte end = ++ (size: 552; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,11,116,102,105, ++ 108,101,100,105,97,108,111,103,12,98,105,116,109,97,112,46,105,109,97,103, ++ 101,10,248,1,0,0,0,0,0,0,0,0,0,0,24,0,0,0,24,0, ++ 0,0,196,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,128, ++ 128,25,255,255,255,1,255,0,0,18,255,255,255,1,255,0,0,1,255,255, ++ 255,1,128,128,128,25,0,0,0,1,255,0,255,22,0,0,0,2,255,0, ++ 255,22,0,0,0,2,255,0,255,22,0,0,0,2,255,0,255,22,0,0, ++ 0,2,255,0,255,22,0,0,0,2,255,0,255,3,0,0,0,5,255,0, ++ 255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,10,0,0, ++ 0,2,255,0,255,3,0,0,0,1,255,0,255,7,0,0,0,1,255,0, ++ 255,10,0,0,0,2,255,0,255,3,0,0,0,1,255,0,255,5,0,0, ++ 0,1,255,0,255,1,0,0,0,1,255,0,255,2,0,0,0,3,255,0, ++ 255,5,0,0,0,2,255,0,255,3,0,0,0,4,255,0,255,2,0,0, ++ 0,1,255,0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0, ++ 255,3,0,0,0,1,255,0,255,4,0,0,0,2,255,0,255,3,0,0, ++ 0,1,255,0,255,5,0,0,0,1,255,0,255,1,0,0,0,1,255,0, ++ 255,1,0,0,0,5,255,0,255,4,0,0,0,2,255,0,255,3,0,0, ++ 0,1,255,0,255,5,0,0,0,1,255,0,255,1,0,0,0,1,255,0, ++ 255,1,0,0,0,1,255,0,255,8,0,0,0,2,255,0,255,3,0,0, ++ 0,1,255,0,255,5,0,0,0,1,255,0,255,1,0,0,0,1,255,0, ++ 255,1,0,0,0,1,255,0,255,3,0,0,0,1,255,0,255,4,0,0, ++ 0,2,255,0,255,3,0,0,0,1,255,0,255,5,0,0,0,1,255,0, ++ 255,1,0,0,0,1,255,0,255,2,0,0,0,3,255,0,255,5,0,0, ++ 0,2,255,0,255,22,0,0,0,2,255,0,255,22,0,0,0,2,255,0, ++ 255,22,0,0,0,2,255,0,255,22,0,0,0,2,255,0,255,22,0,0, ++ 0,2,255,0,255,22,0,0,0,2,255,0,255,22,0,0,0,1,255,0, ++ 255,1,0,0,0,22,255,0,255,1,0,0) ++ ); ++ ++ const ++ objdata_tfilenameedit: record size: integer; data: array[0..649] of byte end = ++ (size: 650; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,13,116,102,105, ++ 108,101,110,97,109,101,101,100,105,116,12,98,105,116,109,97,112,46,105,109, ++ 97,103,101,10,88,2,0,0,0,0,0,0,0,0,0,0,24,0,0,0, ++ 24,0,0,0,36,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 255,0,255,146,128,128,128,20,255,0,255,4,128,128,128,1,0,0,0,18, ++ 255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,255,255,255,16, ++ 192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1, ++ 255,255,255,1,0,0,0,4,255,255,255,2,0,0,0,1,255,255,255,5, ++ 0,0,0,1,255,255,255,1,0,0,0,1,192,192,192,1,255,255,255,1, ++ 255,0,255,4,128,128,128,1,0,0,0,1,255,255,255,1,0,0,0,1, ++ 255,255,255,3,0,0,0,1,255,255,255,1,0,0,0,1,255,255,255,2, ++ 0,0,0,1,255,255,255,3,0,0,0,1,255,255,255,1,192,192,192,1, ++ 255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,255,255,255,1, ++ 0,0,0,1,255,255,255,5,0,0,0,1,255,255,255,1,0,0,0,1, ++ 255,255,255,1,0,0,0,1,255,255,255,2,0,0,0,1,255,255,255,1, ++ 192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1, ++ 255,255,255,1,0,0,0,3,255,255,255,1,0,0,0,1,255,255,255,1, ++ 0,0,0,1,255,255,255,1,0,0,0,3,255,255,255,2,0,0,0,1, ++ 255,255,255,1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1, ++ 0,0,0,1,255,255,255,1,0,0,0,1,255,255,255,3,0,0,0,1, ++ 255,255,255,1,0,0,0,1,255,255,255,1,0,0,0,1,255,255,255,4, ++ 0,0,0,1,255,255,255,1,192,192,192,1,255,255,255,1,255,0,255,4, ++ 128,128,128,1,0,0,0,1,255,255,255,1,0,0,0,1,255,255,255,3, ++ 0,0,0,1,255,255,255,1,0,0,0,1,255,255,255,1,0,0,0,1, ++ 255,255,255,1,0,0,0,1,255,255,255,2,0,0,0,1,255,255,255,1, ++ 192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1, ++ 255,255,255,1,0,0,0,1,255,255,255,3,0,0,0,1,255,255,255,1, ++ 0,0,0,1,255,255,255,2,0,0,0,1,255,255,255,2,0,0,0,1, ++ 255,255,255,1,0,0,0,1,192,192,192,1,255,255,255,1,255,0,255,4, ++ 128,128,128,1,0,0,0,1,255,255,255,16,192,192,192,1,255,255,255,1, ++ 255,0,255,4,128,128,128,1,192,192,192,18,255,255,255,1,255,0,255,4, ++ 255,255,255,20,255,0,255,122,0,0) ++ ); ++ ++ const ++ objdata_tdirdropdownedit: record size: integer; data: array[0..612] of byte end = ++ (size: 613; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,16,116,100,105, ++ 114,100,114,111,112,100,111,119,110,101,100,105,116,12,98,105,116,109,97,112, ++ 46,105,109,97,103,101,10,48,2,0,0,0,0,0,0,0,0,0,0,24, ++ 0,0,0,24,0,0,0,252,1,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,128,128,128,25,255,0,255,15,255,255,255,8,128,128,128,1,255, ++ 0,255,1,0,0,0,2,255,0,255,2,0,0,0,1,255,0,255,9,255, ++ 255,255,1,255,0,255,5,128,128,128,1,255,255,255,1,128,128,128,1,255, ++ 0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,3,0, ++ 0,0,2,255,0,255,6,255,255,255,1,0,0,0,5,128,128,128,1,255, ++ 255,255,1,128,128,128,1,255,0,255,1,0,0,0,1,255,0,255,1,0, ++ 0,0,1,255,0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255, ++ 0,255,7,255,255,255,1,255,0,255,1,0,0,0,3,255,0,255,1,128, ++ 128,128,1,255,255,255,1,128,128,128,1,255,0,255,1,0,0,0,2,255, ++ 0,255,2,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,7,255, ++ 255,255,1,255,0,255,2,0,0,0,1,255,0,255,2,128,128,128,1,255, ++ 255,255,1,128,128,128,1,255,0,255,15,128,128,128,7,255,255,255,25,0, ++ 0,0,25,255,0,255,22,0,0,0,2,255,0,255,1,128,128,128,1,255, ++ 0,255,20,0,0,0,2,255,0,255,22,0,0,0,2,255,0,255,1,128, ++ 128,128,1,255,0,255,1,128,128,128,1,255,0,255,1,128,128,128,1,255, ++ 0,255,1,0,0,0,1,255,0,255,1,0,0,0,1,255,0,255,1,0, ++ 0,0,2,255,0,255,1,0,0,0,1,255,0,255,7,0,0,0,2,255, ++ 0,255,22,0,0,0,2,255,0,255,1,128,128,128,1,255,0,255,20,0, ++ 0,0,2,255,0,255,7,0,0,0,2,255,0,255,1,0,0,0,1,255, ++ 0,255,11,0,0,0,2,255,0,255,1,128,128,128,1,255,0,255,1,128, ++ 128,128,1,255,0,255,1,128,128,128,1,255,0,255,16,0,0,0,2,255, ++ 0,255,22,0,0,0,2,255,0,255,3,128,128,128,1,255,0,255,3,0, ++ 0,0,1,255,0,255,1,0,0,0,1,255,0,255,12,0,0,0,2,255, ++ 0,255,22,0,0,0,2,255,0,255,3,128,128,128,1,255,0,255,18,0, ++ 0,0,2,255,0,255,22,0,0,0,2,255,0,255,22,0,0,0,1,255, ++ 0,255,1,0,0,0,22,255,0,255,1,0,0) ++ ); ++ ++ const ++ objdata_tcoloredit: record size: integer; data: array[0..906] of byte end = ++ (size: 907; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,10,116,99,111, ++ 108,111,114,101,100,105,116,12,98,105,116,109,97,112,46,105,109,97,103,101, ++ 10,92,3,0,0,0,0,0,0,0,0,0,0,24,0,0,0,24,0,0, ++ 0,40,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255, ++ 146,128,128,128,20,255,0,255,4,128,128,128,1,0,0,0,18,255,255,255, ++ 1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255, ++ 1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0, ++ 1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102, ++ 1,255,0,204,1,204,0,255,1,102,0,255,1,0,0,255,1,192,192,192, ++ 1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255, ++ 1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0, ++ 1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0, ++ 1,255,0,102,1,0,0,0,1,204,0,255,1,0,0,0,1,0,0,255, ++ 1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0, ++ 1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102, ++ 1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0, ++ 1,255,0,0,1,255,0,102,1,255,0,204,1,0,0,0,1,102,0,255, ++ 1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128, ++ 1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204, ++ 1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0, ++ 1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204,1,0,0,0, ++ 1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255, ++ 4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255, ++ 1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0, ++ 1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204, ++ 1,0,0,0,1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255, ++ 1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255, ++ 1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0, ++ 1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102, ++ 1,255,0,204,1,0,0,0,1,102,0,255,1,0,0,255,1,192,192,192, ++ 1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255, ++ 1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0, ++ 1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0, ++ 1,255,0,102,1,255,0,204,1,0,0,0,1,102,0,255,1,0,0,255, ++ 1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0, ++ 1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102, ++ 1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0, ++ 1,255,0,0,1,255,0,102,1,0,0,0,1,204,0,255,1,0,0,0, ++ 1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128, ++ 1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204, ++ 1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0, ++ 1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204,1,204,0,255, ++ 1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255, ++ 4,128,128,128,1,192,192,192,18,255,255,255,1,255,0,255,4,255,255,255, ++ 20,255,0,255,122,0,0) ++ ); ++ ++ const ++ objdata_tthemesedit: record size: integer; data: array[0..906] of byte end = ++ (size: 907; data: ( ++ 84,80,70,48,11,116,98,105,116,109,97,112,99,111,109,112,10,116,99,111, ++ 108,111,114,101,100,105,116,12,98,105,116,109,97,112,46,105,109,97,103,101, ++ 10,92,3,0,0,0,0,0,0,0,0,0,0,24,0,0,0,24,0,0, ++ 0,40,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,0,255, ++ 146,128,128,128,20,255,0,255,4,128,128,128,1,0,0,0,18,255,255,255, ++ 1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255, ++ 1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0, ++ 1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102, ++ 1,255,0,204,1,204,0,255,1,102,0,255,1,0,0,255,1,192,192,192, ++ 1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255, ++ 1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0, ++ 1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0, ++ 1,255,0,102,1,0,0,0,1,204,0,255,1,0,0,0,1,0,0,255, ++ 1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0, ++ 1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102, ++ 1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0, ++ 1,255,0,0,1,255,0,102,1,255,0,204,1,0,0,0,1,102,0,255, ++ 1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128, ++ 1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204, ++ 1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0, ++ 1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204,1,0,0,0, ++ 1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255, ++ 4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255, ++ 1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0, ++ 1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204, ++ 1,0,0,0,1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255, ++ 1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255,1,0,102,255, ++ 1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0,1,102,255,0, ++ 1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0,1,255,0,102, ++ 1,255,0,204,1,0,0,0,1,102,0,255,1,0,0,255,1,192,192,192, ++ 1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0,1,0,0,255, ++ 1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102,1,0,255,0, ++ 1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0,1,255,0,0, ++ 1,255,0,102,1,255,0,204,1,0,0,0,1,102,0,255,1,0,0,255, ++ 1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128,1,0,0,0, ++ 1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204,1,0,255,102, ++ 1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0,1,255,102,0, ++ 1,255,0,0,1,255,0,102,1,0,0,0,1,204,0,255,1,0,0,0, ++ 1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255,4,128,128,128, ++ 1,0,0,0,1,0,0,255,1,0,102,255,1,0,204,255,1,0,255,204, ++ 1,0,255,102,1,0,255,0,1,102,255,0,1,204,255,0,1,255,204,0, ++ 1,255,102,0,1,255,0,0,1,255,0,102,1,255,0,204,1,204,0,255, ++ 1,102,0,255,1,0,0,255,1,192,192,192,1,255,255,255,1,255,0,255, ++ 4,128,128,128,1,192,192,192,18,255,255,255,1,255,0,255,4,255,255,255, ++ 20,255,0,255,122,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata_tfilelistview,tbitmapcomp,'tfilelistview'); ++ registerobjectdata(@objdata_tfiledialog,tbitmapcomp,'tfiledialog'); ++ registerobjectdata(@objdata_tfilenameedit,tbitmapcomp,'tfilenameedit'); ++ registerobjectdata(@objdata_tdirdropdownedit,tbitmapcomp,'tdirdropdownedit'); ++ registerobjectdata(@objdata_tcoloredit,tbitmapcomp,'tcoloredit'); ++ registerobjectdata(@objdata_tthemesedit,tbitmapcomp,'tthemesedit'); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regdialogs.pas mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regdialogs.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regdialogs.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regdialogs.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,29 ---- ++ { MSEgui Copyright (c) 1999-2006 by Martin Schreiber ++ ++ See the file COPYING.MSE, included in this distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ unit regdialogs; ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ Classes,msefiledialog,msedesignintf,regdialogs_bmp,msecolordialog,msethemesdialog; ++ ++ procedure Register; ++ begin ++ registercomponents('Dialog',[tfilelistview,tfiledialog, ++ tfilenameedit,{thistoryfilenameedit,} ++ tdirdropdownedit,tcoloredit,tthemesedit]); ++ end; ++ ++ initialization ++ register; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regwahono.pas mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regwahono.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/regwahono.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/regwahono.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ { MSEgui Copyright (c) 1999-2006 by Martin Schreiber ++ ++ See the file COPYING.MSE, included in this distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ unit regwahono; ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ Classes,msefiledialog,msedesignintf,msecolordialog,msethemesdialog; ++ ++ procedure Register; ++ begin ++ registercomponents('Wahono',[tthemesedit]); ++ end; ++ ++ initialization ++ register; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/whnide.prj mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/whnide.prj +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/regcomponent/whnide.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/regcomponent/whnide.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,834 ---- ++ [componentpalette] ++ order0=33 ++ 0 ++ 1 ++ 2 ++ 3 ++ 4 ++ 5 ++ 6 ++ 7 ++ 8 ++ 9 ++ 10 ++ 11 ++ 12 ++ 13 ++ 14 ++ 15 ++ 16 ++ 17 ++ 18 ++ 19 ++ 20 ++ 21 ++ 22 ++ 23 ++ 24 ++ 25 ++ 26 ++ 27 ++ 28 ++ 29 ++ 30 ++ 31 ++ 32 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ [projectoptions] ++ projectdir=/C:/DATA/msegui project/whnide ++ projectfilename=/C:/DATA/msegui project/whnide/whnide.prj ++ findinfiledialog=46 ++ [findinfileadialogfo] ++ stackedunder= ++ x=268 ++ y=415 ++ cx=331 ++ cy=249 ++ [findinfileadialogfo.findtext] ++ value=mainmenuwidgets ++ history=10 ++ mainmenuwidgets ++ mainmenuwidget ++ math ++ tobyte ++ binary ++ binto ++ case ++ showmessage ++ tochar ++ tostr ++ [findinfileadialogfo.casesensitive] ++ value=0 ++ [findinfileadialogfo.wholeword] ++ value=0 ++ [findinfileadialogfo.indirectories] ++ value=1 ++ [findinfileadialogfo.inopenfiles] ++ value=0 ++ [findinfileadialogfo.dir] ++ filenames=1 ++ /D:/msegui/lib/common/ ++ filehistory=8 ++ /D:/msegui/lib/common/ ++ /D:/fpc-2.2.0/rtl/ ++ /D:/fpc-2.2.0/packages/ ++ /D:/fpc-2.2.0/ ++ /C:/msegui/lib/common/ ++ ++ /home/mse/proj/msegui/ ++ /home/mse/proj/msegui/apps/whnide/ ++ filefilterindex=-1 ++ filecolwidth=174 ++ [findinfileadialogfo.mask] ++ value="*.pas" "*.pp" "*.inc" ++ history=0 ++ [findinfileadialogfo.subdirs] ++ value=1 ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ replacedialog=23 ++ [replacedialogfo] ++ stackedunder= ++ x=383 ++ y=291 ++ cx=421 ++ cy=163 ++ [replacedialogfo.replacetext] ++ value=inport ++ history=10 ++ inport ++ inport32 ++ twhndbnavigator ++ inportb ++ outportb ++ filelistdropdown ++ filelistview ++ mlang ++ componentstate ++ componentmlange ++ [replacedialogfo.selectedonly] ++ value=0 ++ [replacedialogfo.promptonreplace] ++ value=1 ++ options=54 ++ [projectoptionsfo] ++ stackedunder= ++ x=268 ++ y=85 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=188 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=141 ++ width1=332 ++ width2=320 ++ programparameters=15 ++ [programparametersfo] ++ stackedunder= ++ x=272 ++ y=346 ++ cx=328 ++ cy=245 ++ [programparametersfo.workingdirectory] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [programparametersfo.parameters] ++ value= ++ history=0 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=106 ++ cx=358 ++ cy=531 ++ wsize=0 ++ active=1 ++ visible=1 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ THEMESDIALOGFO ++ moduletypes=1 ++ TTHEMESDIALOGFO ++ modulefiles=1 ++ /C:/DATA/msegui project/whnide/msethemesdialog.mfm ++ mainfile=/c:/msegui/apps/ide/mseide.pas ++ targetfile=/c:/data/msegui project/whnide/whnide.exe ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -FE../whnide -FU. -dmorecomponents ++ -gl ++ -B ++ -XX -Xs -OG2p3 ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=2 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=4 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ /d:/msegui/apps/ide/ ++ /e:/msegui project/whnide/ ++ defines=0 ++ defineson=0 ++ unitdirs=5 ++ /e:/msegui project/whnide/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ /d:/msegui/apps/ide/ ++ unitdirson=5 ++ 983103 ++ 65599 ++ 196671 ++ 65599 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=2 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ syntaxdeffiles=2 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=0 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=302 ++ [mainfo] ++ stackedunder= ++ x=80 ++ y=269 ++ cx=1016 ++ cy=701 ++ wsize=3 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /E:/msegui project/whnide/beeport.pas ++ /D:/msegui/lib/common/db/msedbedit.pas ++ /E:/msegui project/whnide/msethemesdialog.mfm ++ /E:/msegui project/whnide/msethemesdialog.pas ++ /E:/msegui project/whnide/whndbnavigator.pas ++ /E:/msegui project/whnide/regmycomps.pas ++ /E:/msegui project/acosys/frmtransaction.pas ++ /E:/msegui project/inoutlibrary/inout.pas ++ /E:/msegui project/acosys/beeport.pas ++ /C:/msegui/lib/common/regcomponents/regeditwidgets.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=473 ++ cx=1280 ++ cy=233 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=236 ++ cx=1280 ++ cy=234 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=1280 ++ cy=233 ++ [componentpalettefo.componentpages] ++ activetab=9 ++ [messagefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.basedock ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=532 ++ cx=1280 ++ cy=174 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=910 ++ y=451 ++ cx=313 ++ cy=70 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=704 ++ y=134 ++ cx=316 ++ cy=575 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=113 ++ width1=187 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=26 ++ cx=1024 ++ cy=708 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [edit] ++ hintwidth=314 ++ hintheight=188 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=inport32 ++ findhistory=10 ++ inport32 ++ inport ++ beginupdate ++ buttons ++ menu ++ tgriddatalink ++ dbnavigatorwidth ++ foptions ++ tdbnavigator ++ tcomponent1 ++ findoptions=2 ++ editpos=6 ++ 0,-1073741823 ++ 0,-1073741823 ++ 0,-1073741823 ++ 33,19 ++ 0,-1073741823 ++ 14,28 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ bookmarks3=0 ++ bookmarks4=0 ++ bookmarks5=0 ++ sourcefiles=6 ++ /E:/msegui project/whnide/regmycomps.pas ++ /E:/msegui project/whnide/whndbnavigator.pas ++ /D:/msegui/lib/common/kernel/msemenuwidgets.pas ++ /C:/DATA/msegui project/whnide/msethemesdialog.pas ++ /D:/msegui/lib/common/db/msedbedit.pas ++ /C:/DATA/msegui project/whnide/beeport.pas ++ relpaths=6 ++ regmycomps.pas ++ whndbnavigator.pas ++ ../../../D:/msegui/lib/common/kernel/msemenuwidgets.pas ++ msethemesdialog.pas ++ ../../../D:/msegui/lib/common/db/msedbedit.pas ++ beeport.pas ++ ismoduletexts=6 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ modules=1 ++ /C:/DATA/msegui project/whnide/msethemesdialog.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ order=6 ++ 1 ++ 3 ++ 0 ++ 5 ++ 2 ++ 4 ++ tabsize=102 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main.mfm mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main.mfm +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,236 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 188 ++ bounds_y = 230 ++ bounds_cx = 428 ++ bounds_cy = 279 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 428 ++ container.bounds_cy = 279 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ bounds_x = 16 ++ bounds_y = 176 ++ bounds_cx = 98 ++ bounds_cy = 19 ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Change &Themes' ++ onexecute = changethemes ++ end ++ object tgroupbox1: tgroupbox ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 226 ++ bounds_cy = 154 ++ frame.caption = 'Sample' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 8 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 24 ++ bounds_cx = 180 ++ bounds_cy = 35 ++ frame.caption = '&Name' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ statfile = tstatfile1 ++ reffontheight = 13 ++ end ++ object tintegeredit1: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 64 ++ bounds_cx = 100 ++ bounds_cy = 35 ++ frame.caption = '&Age' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ reffontheight = 13 ++ end ++ object tcalendardatetimeedit1: tcalendardatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 104 ++ bounds_cx = 148 ++ bounds_cy = 35 ++ frame.caption = '&Birth Day' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ reffontheight = 13 ++ ma = 365000.99998999998 ++ end ++ end ++ object tbutton2: tbutton ++ bounds_x = 128 ++ bounds_y = 176 ++ bounds_cx = 98 ++ bounds_cy = 19 ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ taborder = 2 ++ state = [as_localcaption, as_localonexecute] ++ caption = '&Close' ++ modalresult = mr_windowclosed ++ end ++ object tbutton3: tbutton ++ bounds_x = 240 ++ bounds_y = 16 ++ bounds_cx = 178 ++ bounds_cy = 19 ++ taborder = 3 ++ state = [as_localcaption] ++ caption = 'Default Button' ++ end ++ object tbutton4: tbutton ++ bounds_x = 240 ++ bounds_y = 40 ++ bounds_cx = 178 ++ bounds_cy = 19 ++ color = -1879048189 ++ taborder = 4 ++ state = [as_localcaption] ++ caption = 'Button with cl_light' ++ end ++ object tgroupbox2: tgroupbox ++ bounds_x = 240 ++ bounds_y = 66 ++ bounds_cx = 178 ++ bounds_cy = 105 ++ frame.caption = 'Frame with Face' ++ frame.captiondist = 0 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 15 ++ 0 ++ 0 ++ ) ++ face.localprops = [fal_fadirection] ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ taborder = 5 ++ object tbutton5: tbutton ++ bounds_x = 10 ++ bounds_y = 49 ++ bounds_cx = 155 ++ bounds_cy = 19 ++ state = [as_localcaption] ++ caption = 'Default Button' ++ end ++ object tbutton6: tbutton ++ bounds_x = 10 ++ bounds_y = 72 ++ bounds_cx = 155 ++ bounds_cy = 19 ++ color = -1879048189 ++ taborder = 1 ++ state = [as_localcaption] ++ caption = 'Button with cl_light' ++ end ++ object tlabel1: tlabel ++ bounds_x = 12 ++ bounds_y = 28 ++ bounds_cx = 123 ++ bounds_cy = 13 ++ color = -2147483645 ++ taborder = 2 ++ caption = 'Sample caption with tlabel' ++ reffontheight = 13 ++ end ++ end ++ object tslider1: tslider ++ bounds_x = 240 ++ bounds_y = 177 ++ bounds_cx = 176 ++ frame.dummy = 0 ++ taborder = 6 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object tslider2: tslider ++ bounds_x = 240 ++ bounds_y = 201 ++ bounds_cx = 176 ++ frame.dummy = 0 ++ taborder = 7 ++ scrollbar.facebutton.template = tfacecomp1 ++ scrollbar.facebutton.dummy = 0 ++ scrollbar.faceendbutton.template = tfacecomp1 ++ scrollbar.faceendbutton.dummy = 0 ++ scrollbar.face.image.transparency = -2147483648 ++ scrollbar.face.fade_pos.count = 2 ++ scrollbar.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ scrollbar.face.fade_color.count = 2 ++ scrollbar.face.fade_color.items = ( ++ -1879048189 ++ -1879048191 ++ ) ++ scrollbar.face.fade_direction = gd_down ++ scrollbar.face.fade_transparency = -2147483648 ++ scrollbar.face.dummy = 0 ++ end ++ object tthemesedit1: tthemesedit ++ statfile = tstatfile1 ++ top = 255 ++ end ++ object tfacecomp1: tfacecomp ++ template.image.transparency = -2147483648 ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ -1879048189 ++ -1879048191 ++ ) ++ template.fade_direction = gd_down ++ template.fade_transparency = -2147483648 ++ left = 184 ++ top = 255 ++ end ++ object tstatfile1: tstatfile ++ filename = 'whn.sta' ++ left = 96 ++ top = 255 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main_mfm.pas mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,216 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..3973] of byte end = ++ (size: 3974; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,188,0,8,98,111,117,110,100, ++ 115,95,121,3,230,0,9,98,111,117,110,100,115,95,99,120,3,172,1,9, ++ 98,111,117,110,100,115,95,99,121,3,23,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,172,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,23,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,17,105,99,111,110,46,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,109,111,100,117,108, ++ 101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109, ++ 0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,49,8,98, ++ 111,117,110,100,115,95,120,2,16,8,98,111,117,110,100,115,95,121,3,176, ++ 0,9,98,111,117,110,100,115,95,99,120,2,98,9,98,111,117,110,100,115, ++ 95,99,121,2,19,13,102,97,99,101,46,116,101,109,112,108,97,116,101,7, ++ 10,116,102,97,99,101,99,111,109,112,49,10,102,97,99,101,46,100,117,109, ++ 109,121,2,0,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108, ++ 99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120, ++ 101,99,117,116,101,0,7,99,97,112,116,105,111,110,6,14,67,104,97,110, ++ 103,101,32,38,84,104,101,109,101,115,9,111,110,101,120,101,99,117,116,101, ++ 7,12,99,104,97,110,103,101,116,104,101,109,101,115,0,0,9,116,103,114, ++ 111,117,112,98,111,120,10,116,103,114,111,117,112,98,111,120,49,8,98,111, ++ 117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,8,9, ++ 98,111,117,110,100,115,95,99,120,3,226,0,9,98,111,117,110,100,115,95, ++ 99,121,3,154,0,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6, ++ 6,83,97,109,112,108,101,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2, ++ 0,2,8,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,1,0, ++ 11,116,115,116,114,105,110,103,101,100,105,116,12,116,115,116,114,105,110,103, ++ 101,100,105,116,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111, ++ 119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120, ++ 2,16,8,98,111,117,110,100,115,95,121,2,24,9,98,111,117,110,100,115, ++ 95,99,120,3,180,0,9,98,111,117,110,100,115,95,99,121,2,35,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,5,38,78,97,109,101,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46, ++ 111,117,116,101,114,102,114,97,109,101,1,2,0,2,16,2,0,2,0,0, ++ 8,115,116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101, ++ 49,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,13,0,0,12, ++ 116,105,110,116,101,103,101,114,101,100,105,116,13,116,105,110,116,101,103,101, ++ 114,101,100,105,116,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116, ++ 11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116, ++ 97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18, ++ 111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95, ++ 120,2,16,8,98,111,117,110,100,115,95,121,2,64,9,98,111,117,110,100, ++ 115,95,99,120,2,100,9,98,111,117,110,100,115,95,99,121,2,35,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,4,38,65,103,101,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,0,2,16,2,0,2,0,0,8, ++ 116,97,98,111,114,100,101,114,2,1,13,114,101,102,102,111,110,116,104,101, ++ 105,103,104,116,2,13,0,0,21,116,99,97,108,101,110,100,97,114,100,97, ++ 116,101,116,105,109,101,101,100,105,116,22,116,99,97,108,101,110,100,97,114, ++ 100,97,116,101,116,105,109,101,101,100,105,116,49,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104, ++ 101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8, ++ 98,111,117,110,100,115,95,120,2,16,8,98,111,117,110,100,115,95,121,2, ++ 104,9,98,111,117,110,100,115,95,99,120,3,148,0,9,98,111,117,110,100, ++ 115,95,99,121,2,35,13,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 6,10,38,66,105,114,116,104,32,68,97,121,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114, ++ 97,109,101,1,2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100, ++ 101,114,2,2,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,13, ++ 2,109,97,5,0,72,7,235,255,31,57,178,17,64,0,0,0,7,116,98, ++ 117,116,116,111,110,8,116,98,117,116,116,111,110,50,8,98,111,117,110,100, ++ 115,95,120,3,128,0,8,98,111,117,110,100,115,95,121,3,176,0,9,98, ++ 111,117,110,100,115,95,99,120,2,98,9,98,111,117,110,100,115,95,99,121, ++ 2,19,13,102,97,99,101,46,116,101,109,112,108,97,116,101,7,10,116,102, ++ 97,99,101,99,111,109,112,49,10,102,97,99,101,46,100,117,109,109,121,2, ++ 0,8,116,97,98,111,114,100,101,114,2,2,5,115,116,97,116,101,11,15, ++ 97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108, ++ 111,99,97,108,111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105, ++ 111,110,6,6,38,67,108,111,115,101,11,109,111,100,97,108,114,101,115,117, ++ 108,116,7,15,109,114,95,119,105,110,100,111,119,99,108,111,115,101,100,0, ++ 0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,51,8,98, ++ 111,117,110,100,115,95,120,3,240,0,8,98,111,117,110,100,115,95,121,2, ++ 16,9,98,111,117,110,100,115,95,99,120,3,178,0,9,98,111,117,110,100, ++ 115,95,99,121,2,19,8,116,97,98,111,114,100,101,114,2,3,5,115,116, ++ 97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110, ++ 0,7,99,97,112,116,105,111,110,6,14,68,101,102,97,117,108,116,32,66, ++ 117,116,116,111,110,0,0,7,116,98,117,116,116,111,110,8,116,98,117,116, ++ 116,111,110,52,8,98,111,117,110,100,115,95,120,3,240,0,8,98,111,117, ++ 110,100,115,95,121,2,40,9,98,111,117,110,100,115,95,99,120,3,178,0, ++ 9,98,111,117,110,100,115,95,99,121,2,19,5,99,111,108,111,114,4,3, ++ 0,0,144,8,116,97,98,111,114,100,101,114,2,4,5,115,116,97,116,101, ++ 11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,7,99, ++ 97,112,116,105,111,110,6,20,66,117,116,116,111,110,32,119,105,116,104,32, ++ 99,108,95,108,105,103,104,116,0,0,9,116,103,114,111,117,112,98,111,120, ++ 10,116,103,114,111,117,112,98,111,120,50,8,98,111,117,110,100,115,95,120, ++ 3,240,0,8,98,111,117,110,100,115,95,121,2,66,9,98,111,117,110,100, ++ 115,95,99,120,3,178,0,9,98,111,117,110,100,115,95,99,121,2,105,13, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,6,15,70,114,97,109,101, ++ 32,119,105,116,104,32,70,97,99,101,17,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,100,105,115,116,2,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109, ++ 101,1,2,0,2,15,2,0,2,0,0,15,102,97,99,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,15,102,97,108,95,102,97,100,105,114,101,99, ++ 116,105,111,110,0,13,102,97,99,101,46,116,101,109,112,108,97,116,101,7, ++ 10,116,102,97,99,101,99,111,109,112,49,10,102,97,99,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,5,0,7,116,98,117, ++ 116,116,111,110,8,116,98,117,116,116,111,110,53,8,98,111,117,110,100,115, ++ 95,120,2,10,8,98,111,117,110,100,115,95,121,2,49,9,98,111,117,110, ++ 100,115,95,99,120,3,155,0,9,98,111,117,110,100,115,95,99,121,2,19, ++ 5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116, ++ 105,111,110,0,7,99,97,112,116,105,111,110,6,14,68,101,102,97,117,108, ++ 116,32,66,117,116,116,111,110,0,0,7,116,98,117,116,116,111,110,8,116, ++ 98,117,116,116,111,110,54,8,98,111,117,110,100,115,95,120,2,10,8,98, ++ 111,117,110,100,115,95,121,2,72,9,98,111,117,110,100,115,95,99,120,3, ++ 155,0,9,98,111,117,110,100,115,95,99,121,2,19,5,99,111,108,111,114, ++ 4,3,0,0,144,8,116,97,98,111,114,100,101,114,2,1,5,115,116,97, ++ 116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0, ++ 7,99,97,112,116,105,111,110,6,20,66,117,116,116,111,110,32,119,105,116, ++ 104,32,99,108,95,108,105,103,104,116,0,0,6,116,108,97,98,101,108,7, ++ 116,108,97,98,101,108,49,8,98,111,117,110,100,115,95,120,2,12,8,98, ++ 111,117,110,100,115,95,121,2,28,9,98,111,117,110,100,115,95,99,120,2, ++ 123,9,98,111,117,110,100,115,95,99,121,2,13,5,99,111,108,111,114,4, ++ 3,0,0,128,8,116,97,98,111,114,100,101,114,2,2,7,99,97,112,116, ++ 105,111,110,6,26,83,97,109,112,108,101,32,99,97,112,116,105,111,110,32, ++ 119,105,116,104,32,116,108,97,98,101,108,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,13,0,0,0,7,116,115,108,105,100,101,114,8,116, ++ 115,108,105,100,101,114,49,8,98,111,117,110,100,115,95,120,3,240,0,8, ++ 98,111,117,110,100,115,95,121,3,177,0,9,98,111,117,110,100,115,95,99, ++ 120,3,176,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,6,33,115,99,114,111,108,108,98,97,114,46, ++ 102,97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101, ++ 110,99,121,4,0,0,0,128,32,115,99,114,111,108,108,98,97,114,46,102, ++ 97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,20,115,99,114,111,108,108,98,97,114,46,102,97,99, ++ 101,46,100,117,109,109,121,2,0,0,0,7,116,115,108,105,100,101,114,8, ++ 116,115,108,105,100,101,114,50,8,98,111,117,110,100,115,95,120,3,240,0, ++ 8,98,111,117,110,100,115,95,121,3,201,0,9,98,111,117,110,100,115,95, ++ 99,120,3,176,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,7,29,115,99,114,111,108,108,98,97,114, ++ 46,102,97,99,101,98,117,116,116,111,110,46,116,101,109,112,108,97,116,101, ++ 7,10,116,102,97,99,101,99,111,109,112,49,26,115,99,114,111,108,108,98, ++ 97,114,46,102,97,99,101,98,117,116,116,111,110,46,100,117,109,109,121,2, ++ 0,32,115,99,114,111,108,108,98,97,114,46,102,97,99,101,101,110,100,98, ++ 117,116,116,111,110,46,116,101,109,112,108,97,116,101,7,10,116,102,97,99, ++ 101,99,111,109,112,49,29,115,99,114,111,108,108,98,97,114,46,102,97,99, ++ 101,101,110,100,98,117,116,116,111,110,46,100,117,109,109,121,2,0,33,115, ++ 99,114,111,108,108,98,97,114,46,102,97,99,101,46,105,109,97,103,101,46, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,29,115,99, ++ 114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95,112,111, ++ 115,46,99,111,117,110,116,2,2,29,115,99,114,111,108,108,98,97,114,46, ++ 102,97,99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1, ++ 2,0,2,1,0,31,115,99,114,111,108,108,98,97,114,46,102,97,99,101, ++ 46,102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,31, ++ 115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97,100,101,95, ++ 99,111,108,111,114,46,105,116,101,109,115,1,4,3,0,0,144,4,1,0, ++ 0,144,0,29,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102, ++ 97,100,101,95,100,105,114,101,99,116,105,111,110,7,7,103,100,95,100,111, ++ 119,110,32,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,102,97, ++ 100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128, ++ 20,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,100,117,109,109, ++ 121,2,0,0,0,11,116,116,104,101,109,101,115,101,100,105,116,12,116,116, ++ 104,101,109,101,115,101,100,105,116,49,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,3,116,111,112,3,255,0,0,0, ++ 9,116,102,97,99,101,99,111,109,112,10,116,102,97,99,101,99,111,109,112, ++ 49,27,116,101,109,112,108,97,116,101,46,105,109,97,103,101,46,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,23,116,101,109,112,108, ++ 97,116,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2, ++ 23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111,115,46,105, ++ 116,101,109,115,1,2,0,2,1,0,25,116,101,109,112,108,97,116,101,46, ++ 102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,25,116, ++ 101,109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,105, ++ 116,101,109,115,1,4,3,0,0,144,4,1,0,0,144,0,23,116,101,109, ++ 112,108,97,116,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110, ++ 7,7,103,100,95,100,111,119,110,26,116,101,109,112,108,97,116,101,46,102, ++ 97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,4,108,101,102,116,3,184,0,3,116,111,112,3,255,0,0,0,9,116, ++ 115,116,97,116,102,105,108,101,10,116,115,116,97,116,102,105,108,101,49,8, ++ 102,105,108,101,110,97,109,101,6,7,119,104,110,46,115,116,97,4,108,101, ++ 102,116,2,96,3,116,111,112,3,255,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main.pas mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/sample/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,41 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msedrawtext,mseevent,msegraphics,msesimplewidgets, ++ msestrings,msewidgets,msedataedits,msedatalist,msedropdownlist,mseformatstr, ++ mseinplaceedit,msestat,msestatfile,msetypes,msewidgetgrid,msethemesdialog, ++ msearrayprops,msegraphutils,mseguiglob,msebitmap,msegraphedits; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ tbutton2: tbutton; ++ tbutton3: tbutton; ++ tbutton4: tbutton; ++ tbutton5: tbutton; ++ tbutton6: tbutton; ++ tcalendardatetimeedit1: tcalendardatetimeedit; ++ tfacecomp1: tfacecomp; ++ tgroupbox1: tgroupbox; ++ tgroupbox2: tgroupbox; ++ tintegeredit1: tintegeredit; ++ tlabel1: tlabel; ++ tslider1: tslider; ++ tslider2: tslider; ++ tstatfile1: tstatfile; ++ tstringedit1: tstringedit; ++ tthemesedit1: tthemesedit; ++ procedure changethemes(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ procedure tmainfo.changethemes(const sender: TObject); ++ begin ++ tthemesedit1.showdialog; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/themessample.pas mseide-msegui-1.8/contrib/wahono/themesdialog/sample/themessample.pas +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/themessample.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/sample/themessample.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program themessample; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/themessample.prj mseide-msegui-1.8/contrib/wahono/themesdialog/sample/themessample.prj +*** mseide-msegui-1.8.orig/contrib/wahono/themesdialog/sample/themessample.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/wahono/themesdialog/sample/themessample.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,591 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ [projectoptions] ++ projectdir=/C:/fp/LAT8 ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /C:/fp/LAT8/main.mfm ++ mainfile=ThemesSample.pas ++ targetfile=ThemesSample${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=0 ++ usercolorcomment=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=313 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=1 ++ /C:/msegui/lib/common/dialogs/msethemesdialog.mfm ++ filefilterindex=1 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=313 ++ cy=195 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=115 ++ cx=313 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=109 ++ width1=176 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=157 ++ y=493 ++ cx=323 ++ cy=195 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=2 ++ 0,-1073741823 ++ 63,7 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /C:/fp/LAT8/themessample.pas ++ /C:/fp/LAT8/main.pas ++ relpaths=2 ++ themessample.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=1 ++ /C:/fp/LAT8/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 --- mseide-msegui-1.8.orig/debian/patches/05_contrib_miha.dpatch +++ mseide-msegui-1.8/debian/patches/05_contrib_miha.dpatch @@ -0,0 +1,5813 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds contributions of miha. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/create_doc mseide-msegui-1.8/contrib/miha/Doc/create_doc +*** mseide-msegui-1.8.orig/contrib/miha/Doc/create_doc 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/create_doc 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,9 ---- ++ #!/bin/bash ++ ++ #makeskel --package=ContribMiha --input=../GuiMDIChild.pas --output=GuiMDIChild.xml --disabled-protected --disable-private ++ #makeskel --package=ContribMiha --input=../GuiStyle.pas --output=GuiStyle.xml --disabled-protected --disable-private ++ fpdoc --package=ContribMiha --output=html --hide-protected\ ++ --input=../GuiMDIChild.pas \ ++ --input=../GuiStyle.pas \ ++ --descr=GuiMDIChild.xml \ ++ --descr=GuiStyle.xml +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/GuiMDIChild.xml mseide-msegui-1.8/contrib/miha/Doc/GuiMDIChild.xml +*** mseide-msegui-1.8.orig/contrib/miha/Doc/GuiMDIChild.xml 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/GuiMDIChild.xml 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,393 ---- ++ ++ ++ ++ ++ ++ ++ ++ Simple MDI framework. ++ ++

Unit provides the base functional for creating a MDI-application.

++

Consists of two main parts:

++
    ++
  • TGuiMDIChildFo as ancestor of the MDI child window.
  • ++
  • TMDIController as manager of MDI children windows.
  • ++
++

Usage:

++
    ++
  1. Add unit GuiMDIChild in the project.
  2. ++
  3. Add code for creating instance of the TMDIController. Example...
  4. ++
  5. Attach menu item of the main app menu to MDI-controller.
  6. ++
  7. Make your MDI-forms as inherited from TGuiMDIChildFo. See TGuiViewTextFo form in the sample project.
  8. ++
++
++ ++ ++ ++ Example of MDI initialization. ++ ++ ++ ++ procedure tmainfo.OnLoadedForm(const sender: TObject); ++ begin ++ FMDI := TMDIController.Create(mainfo, MDIArea); ++ FMDI.Menu := MnuMain.menu.Items[1]; // Menu item for filling by the controller ++ end; ++ ++ ++ ++ ++ ++ ++ Callback interface of the MDI-child form ++ ++ For internal usage. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Reimplementation tdockcontroller ++ ++ For internal usage. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Controller of the MDI-child forms. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ MDI-child form implementation ++ ++ Ancestor for your MDI-children windows. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Action used for activating MDI-child form. ++ ++ It's action assigned to a menu item by . ++ ++ ++ ++ ++ ++ ++ ++ Execute event hadler for ActionActivate. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Key of the form. ++ ++ Can be used for identificate children forms. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Owner of the controller instance. ++ ++ ++ ++ ++ MDI-area widget. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Index of the child form. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Return index of the child form according to key. ++ ++ Function return index of the first form with given key. Comparison is case-sensitive. -1 returns if key not found. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Return child form according to key. ++ ++ Function return first founded child form with given key. Comparison is case-sensitive. Nil returned if key not found. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Activate the child form. ++ ++ Form will be activated and raised in z-order. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Deactivate the child form. ++ ++ Form will be deactivated and dropped on one position in the z-order. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Add new MDI-child form. ++ ++ New form will be activated. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Remove MDI-child form. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Set position of the child form on the main MDI-area. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Lock internal management of the z-order. ++ ++ Must be used when MDI-children collection managed from outer code. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Unlock internal management of the z-order. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Indication of the internal management of the z-order is on. ++ ++ ++ ++ ++ ++ ++ ++ ++ Count of MDI-children. ++ ++ ++ ++ ++ ++ ++ ++ ++ Index based list of the child forms. ++ ++ ++ ++ ++ ++ ++ ++ ++ Main MDI-area widget. ++ ++ ++ ++ ++ ++ ++ ++ ++ Root of the MDI-controller menu. ++ ++ Must be set when TMDIController initialized. ++ ++ ++ ++ ++ ++ ++ ++ Submenu with per-child activation items. ++ ++ Created by TMDIController. ++ ++ ++ ++ ++ ++ ++ ++ Created by controller minimize all action. ++ ++ ++ ++ ++ ++ ++ ++ ++ Created by controller maximize all action. ++ ++ ++ ++ ++ ++ ++ ++ ++ Hide minimized forms. ++ ++ ++ ++ ++ ++ ++ ++ ++ Horizontal step used for set position of the child form. ++ ++ ++ ++ ++ ++ ++ ++ ++ Vertical step used for set position of the child form. ++ ++ ++ ++ ++ ++ ++ ++ ++ Iterations count for trying set position of the child form. ++ ++ ++ ++ ++ ++ ++
++ ++
++
+diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/GuiStyle.xml mseide-msegui-1.8/contrib/miha/Doc/GuiStyle.xml +*** mseide-msegui-1.8.orig/contrib/miha/Doc/GuiStyle.xml 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/GuiStyle.xml 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,87 ---- ++ ++ ++ ++ ++ ++ ++ ++ System colors grabber. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ Grab desktop colors and font. ++ ++ The Procedure reads the system colors and assigns them to the mse mapped colors. ++ It works in a Win32 (colors are read by GetSysColor) and in the Linux (but QT based only. Colors are read from ~/.qt/qtrc). ++ In the Linux envinronment the Procedure reads font name and its size from qtrc and assigns them to the mse default and menu font. ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/exampleofmdiinitialize.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/exampleofmdiinitialize.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/exampleofmdiinitialize.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/exampleofmdiinitialize.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,23 ---- ++ ++ ++ ++ ++ Example of MDI initialization. ++ ++ ++ ++ ++ ++ ++ ++ ++
[Up]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

Example of MDI initialization.

++
procedure tmainfo.OnLoadedForm(const sender: TObject);
++ begin
++   FMDI := TMDIController.Create(mainfo, MDIArea);
++   FMDI.Menu := MnuMain.menu.Items[1]; // Menu item for filling by the controller
++ end;
++ 
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-1.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-1.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-1.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-1.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

IMDIChild

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-2.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-2.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-2.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-2.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-3.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-3.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-3.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-3.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,21 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

IMDIChild

 

MDIStateChanged

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-4.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-4.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-4.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-4.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,17 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

 

MDIStateChanged (IMDIChild)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-5.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-5.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-5.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-5.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

IMDIChild

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-6.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-6.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild-6.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild-6.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,42 ---- ++ ++ ++ ++ ++ IMDIChild ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

IMDIChild

++

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

++

Callback interface of the MDI-child form

++

Declaration

++

Source position: GuiMDIChild.pas line 23

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

type IMDIChild = interface

  procedure MDIStateChanged();

end;

++

Inheritance

++ ++ ++ ++ ++ ++ ++

IMDIChild

  

Callback interface of the MDI-child form

++

Description

++

For internal usage.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild.mdistatechanged.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild.mdistatechanged.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/imdichild.mdistatechanged.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/imdichild.mdistatechanged.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,34 ---- ++ ++ ++ ++ ++ IMDIChild.MDIStateChanged ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

IMDIChild.MDIStateChanged

++

++

Declaration

++

Source position: GuiMDIChild.pas line 24

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

procedure IMDIChild.MDIStateChanged(

  const OldState: mdistatety;

  const NewState: mdistatety

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index-2.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index-2.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index-2.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index-2.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,34 ---- ++ ++ ++ ++ ++ Reference for unit 'GuiMDIChild': Constants ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

Reference for unit 'GuiMDIChild': Constants

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

MDI_HSTEP

  

Horizontal step used for set position of the child form.

MDI_MAX_CONTROLPOS

  

Iterations count for trying set position of the child form.

MDI_VSTEP

  

Vertical step used for set position of the child form.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index-4.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index-4.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index-4.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index-4.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,39 ---- ++ ++ ++ ++ ++ Reference for unit 'GuiMDIChild': Classes ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

Reference for unit 'GuiMDIChild': Classes

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

IMDIChild

  

Callback interface of the MDI-child form

TGuiMDIChildFo

  

MDI-child form implementation

TMDIController

  

Controller of the MDI-child forms.

TMDIDockController

  

Reimplementation tdockcontroller

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/index.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/index.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,78 ---- ++ ++ ++ ++ ++ Reference for unit 'GuiMDIChild' ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

Reference for unit 'GuiMDIChild'

++

Simple MDI framework.

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

uses

  msegui,

  mseclasses,

  mseforms,

  msedock,

  MSESysUtils,

  msegraphics,

  Classes,

  SysUtils,

  mseactions,

  msemenus,

  mseshapes;

++

Overview

++

Unit provides the base functional for creating a MDI-application.

++

Consists of two main parts:

++ ++

Usage:

++
    ++
  1. Add unit GuiMDIChild in the project.
  2. ++
  3. Add code for creating instance of the TMDIController. Example...
  4. ++
  5. Attach menu item of the main app menu to MDI-controller.
  6. ++
  7. Make your MDI-forms as inherited from TGuiMDIChildFo. See TGuiViewTextFo form in the sample project.
  8. ++
++

Related topics

++ ++ ++ ++ ++ ++ ++

ExampleOfMDIInitialize

  

Example of MDI initialization.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_hstep.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_hstep.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_hstep.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_hstep.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ MDI_HSTEP ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

MDI_HSTEP

++

Horizontal step used for set position of the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 97

++ ++ ++ ++ ++

const MDI_HSTEP = 20;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_max_controlpos.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_max_controlpos.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_max_controlpos.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_max_controlpos.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ MDI_MAX_CONTROLPOS ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

MDI_MAX_CONTROLPOS

++

Iterations count for trying set position of the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 99

++ ++ ++ ++ ++

const MDI_MAX_CONTROLPOS = 100;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_vstep.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_vstep.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/mdi_vstep.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/mdi_vstep.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ MDI_VSTEP ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

MDI_VSTEP

++

Vertical step used for set position of the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 98

++ ++ ++ ++ ++

const MDI_VSTEP = 20;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-1.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-1.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-1.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-1.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,21 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TGuiMDIChildFo

 

Key

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-2.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-2.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-2.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-2.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,17 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

 

Key (TGuiMDIChildFo)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-3.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-3.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-3.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-3.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TGuiMDIChildFo

 

OnExecuteActionActivate

 

Create

 

Destroy

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-4.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-4.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-4.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-4.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

 

Create (TGuiMDIChildFo)

 

Destroy (TGuiMDIChildFo)

 

OnExecuteActionActivate (TGuiMDIChildFo)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-5.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-5.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-5.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-5.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TGuiMDIChildFo

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-6.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-6.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo-6.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo-6.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.actionactivate.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.actionactivate.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.actionactivate.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.actionactivate.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo.ActionActivate ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo.ActionActivate

++

Action used for activating MDI-child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 37

++ ++ ++ ++ ++

TGuiMDIChildFo.ActionActivate: TAction;

++

Description

++

It's action assigned to a menu item by TMDIController.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.create.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.create.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.create.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.create.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo.Create ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo.Create

++

++

Declaration

++

Source position: GuiMDIChild.pas line 48

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public constructor TGuiMDIChildFo.Create(

  AMDICollection: TMDIController

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.destroy.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.destroy.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.destroy.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.destroy.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo.Destroy ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo.Destroy

++

++

Declaration

++

Source position: GuiMDIChild.pas line 49

++ ++ ++ ++ ++

public destructor TGuiMDIChildFo.Destroy; override;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,75 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo

++

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

++

MDI-child form implementation

++

Declaration

++

Source position: GuiMDIChild.pas line 36

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

type TGuiMDIChildFo = class(tdockform)

  ActionActivate: TAction;

  

Action used for activating MDI-child form.

  procedure OnExecuteActionActivate();

  

Execute event hadler for ActionActivate.

public

  constructor Create();

  destructor Destroy; override;

  property Key: String; [rw]

  

Key of the form.

end;

++

Inheritance

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TGuiMDIChildFo

  

MDI-child form implementation

|

tdockform

?

TObject

++

Description

++

Ancestor for your MDI-children windows.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.key.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.key.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.key.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.key.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo.Key ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo.Key

++

Key of the form.

++

Declaration

++

Source position: GuiMDIChild.pas line 50

++ ++ ++ ++ ++

public property TGuiMDIChildFo.Key: String
  read FKey
  write SetKey;

++

Description

++

Can be used for identificate children forms.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.onexecuteactionactivate.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.onexecuteactionactivate.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tguimdichildfo.onexecuteactionactivate.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tguimdichildfo.onexecuteactionactivate.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ TGuiMDIChildFo.OnExecuteActionActivate ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TGuiMDIChildFo.OnExecuteActionActivate

++

Execute event hadler for ActionActivate.

++

Declaration

++

Source position: GuiMDIChild.pas line 38

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

procedure TGuiMDIChildFo.OnExecuteActionActivate(

  const sender: TObject

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-1.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-1.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-1.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-1.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,61 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIController

 

ro 

Locked

 

ro 

Count

 

ro 

Children

pl 

MainMDIWidget

pl 

Menu

pl 

ro 

WindowsMenu

pl 

ro 

ActionMinAll

pl 

ro 

ActionMaxAll

pl 

HideMinimized

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-2.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-2.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-2.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-2.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,57 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

pl 

ro 

ActionMaxAll (TMDIController)

pl 

ro 

ActionMinAll (TMDIController)

 

ro 

Children (TMDIController)

 

ro 

Count (TMDIController)

pl 

HideMinimized (TMDIController)

 

ro 

Locked (TMDIController)

pl 

MainMDIWidget (TMDIController)

pl 

Menu (TMDIController)

pl 

ro 

WindowsMenu (TMDIController)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-3.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-3.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-3.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-3.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,76 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIController

 

Create

 

Destroy

 

IndexOf

 

IndexByKey

 

ChildByKey

 

Activate

 

Deactivate

 

Add

 

Remove

 

PlaceChild

 

LockSequence

 

UnlockSequence

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-4.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-4.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-4.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-4.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,72 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

 

Activate (TMDIController)

 

Add (TMDIController)

 

ChildByKey (TMDIController)

 

Create (TMDIController)

 

Deactivate (TMDIController)

 

Destroy (TMDIController)

 

IndexByKey (TMDIController)

 

IndexOf (TMDIController)

 

LockSequence (TMDIController)

 

PlaceChild (TMDIController)

 

Remove (TMDIController)

 

UnlockSequence (TMDIController)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-5.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-5.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-5.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-5.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIController

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-6.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-6.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller-6.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller-6.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionmaxall.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionmaxall.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionmaxall.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionmaxall.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.ActionMaxAll ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.ActionMaxAll

++

Created by controller maximize all action.

++

Declaration

++

Source position: GuiMDIChild.pas line 92

++ ++ ++ ++ ++

published property TMDIController.ActionMaxAll: TAction
  read FActionMaxAll;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionminall.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionminall.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionminall.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.actionminall.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.ActionMinAll ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.ActionMinAll

++

Created by controller minimize all action.

++

Declaration

++

Source position: GuiMDIChild.pas line 91

++ ++ ++ ++ ++

published property TMDIController.ActionMinAll: TAction
  read FActionMinAll;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.activate.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.activate.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.activate.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.activate.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,33 ---- ++ ++ ++ ++ ++ TMDIController.Activate ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Activate

++

Activate the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 77

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public procedure TMDIController.Activate(

  AChild: TGuiMDIChildFo

);

++

Description

++

Form will be activated and raised in z-order.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.add.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.add.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.add.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.add.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,33 ---- ++ ++ ++ ++ ++ TMDIController.Add ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Add

++

Add new MDI-child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 79

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public procedure TMDIController.Add(

  AChild: TGuiMDIChildFo

);

++

Description

++

New form will be activated.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.childbykey.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.childbykey.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.childbykey.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.childbykey.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,33 ---- ++ ++ ++ ++ ++ TMDIController.ChildByKey ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.ChildByKey

++

Return child form according to key.

++

Declaration

++

Source position: GuiMDIChild.pas line 76

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public function TMDIController.ChildByKey(

  AKey: String

):TGuiMDIChildFo;

++

Description

++

Function return first founded child form with given key. Comparison is case-sensitive. Nil returned if key not found.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.children.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.children.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.children.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.children.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.Children ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Children

++

Index based list of the child forms.

++

Declaration

++

Source position: GuiMDIChild.pas line 86

++ ++ ++ ++ ++

public property TMDIController.Children: TGuiMDIChildFo
  read GetForm;
  default;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.count.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.count.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.count.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.count.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.Count ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Count

++

Count of MDI-children.

++

Declaration

++

Source position: GuiMDIChild.pas line 85

++ ++ ++ ++ ++

public property TMDIController.Count: Integer
  read GetCount;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.create.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.create.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.create.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.create.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,47 ---- ++ ++ ++ ++ ++ TMDIController.Create ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Create

++

++

Declaration

++

Source position: GuiMDIChild.pas line 72

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public constructor TMDIController.Create(

  AOwner: TComponent;

  AMainMDIWidget: TDockPanel

);

++

Arguments

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

AOwner

  

Owner of the controller instance.

AMainMDIWidget

  

MDI-area widget.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.deactivate.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.deactivate.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.deactivate.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.deactivate.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,33 ---- ++ ++ ++ ++ ++ TMDIController.Deactivate ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Deactivate

++

Deactivate the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 78

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public procedure TMDIController.Deactivate(

  AChild: TGuiMDIChildFo

);

++

Description

++

Form will be deactivated and dropped on one position in the z-order.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.destroy.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.destroy.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.destroy.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.destroy.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.Destroy ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Destroy

++

++

Declaration

++

Source position: GuiMDIChild.pas line 73

++ ++ ++ ++ ++

public destructor TMDIController.Destroy; override;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.hideminimized.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.hideminimized.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.hideminimized.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.hideminimized.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.HideMinimized ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.HideMinimized

++

Hide minimized forms.

++

Declaration

++

Source position: GuiMDIChild.pas line 93

++ ++ ++ ++ ++

published property TMDIController.HideMinimized: Boolean
  read FHideMinimized
  write SetHideMinimized;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,160 ---- ++ ++ ++ ++ ++ TMDIController ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController

++

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

++

Controller of the MDI-child forms.

++

Declaration

++

Source position: GuiMDIChild.pas line 53

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

type TMDIController = class(TMSEComponent)

public

  constructor Create();

  

  destructor Destroy; override;

  

  function IndexOf();

  

Index of the child form.

  function IndexByKey();

  

Return index of the child form according to key.

  function ChildByKey();

  

Return child form according to key.

  procedure Activate();

  

Activate the child form.

  procedure Deactivate();

  

Deactivate the child form.

  procedure Add();

  

Add new MDI-child form.

  procedure Remove();

  

Remove MDI-child form.

  procedure PlaceChild();

  

Set position of the child form on the main MDI-area.

  procedure LockSequence;

  

Lock internal management of the z-order.

  procedure UnlockSequence;

  

Unlock internal management of the z-order.

  property Locked: Boolean; [r]

  

Indication of the internal management of the z-order is on.

  property Count: Integer; [r]

  

Count of MDI-children.

  property Children: TGuiMDIChildFo; default; [r]

  

Index based list of the child forms.

published

  property MainMDIWidget: TDockPanel; [rw]

  

Main MDI-area widget.

  property Menu: TMenuItem; [rw]

  

Root of the MDI-controller menu.

  property WindowsMenu: TMenuItem; [r]

  

Submenu with per-child activation items.

  property ActionMinAll: TAction; [r]

  

Created by controller minimize all action.

  property ActionMaxAll: TAction; [r]

  

Created by controller maximize all action.

  property HideMinimized: Boolean; [rw]

  

Hide minimized forms.

end;

++

Inheritance

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIController

  

Controller of the MDI-child forms.

|

TMSEComponent

?

TObject

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexbykey.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexbykey.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexbykey.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexbykey.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,33 ---- ++ ++ ++ ++ ++ TMDIController.IndexByKey ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.IndexByKey

++

Return index of the child form according to key.

++

Declaration

++

Source position: GuiMDIChild.pas line 75

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public function TMDIController.IndexByKey(

  AKey: String

):Integer;

++

Description

++

Function return index of the first form with given key. Comparison is case-sensitive. -1 returns if key not found.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexof.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexof.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexof.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.indexof.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ TMDIController.IndexOf ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.IndexOf

++

Index of the child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 74

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public function TMDIController.IndexOf(

  AChild: TGuiMDIChildFo

):Integer;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.locked.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.locked.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.locked.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.locked.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.Locked ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Locked

++

Indication of the internal management of the z-order is on.

++

Declaration

++

Source position: GuiMDIChild.pas line 84

++ ++ ++ ++ ++

public property TMDIController.Locked: Boolean
  read FLocked;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.locksequence.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.locksequence.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.locksequence.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.locksequence.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ TMDIController.LockSequence ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.LockSequence

++

Lock internal management of the z-order.

++

Declaration

++

Source position: GuiMDIChild.pas line 82

++ ++ ++ ++ ++

public procedure TMDIController.LockSequence;

++

Description

++

Must be used when MDI-children collection managed from outer code.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.mainmdiwidget.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.mainmdiwidget.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.mainmdiwidget.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.mainmdiwidget.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.MainMDIWidget ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.MainMDIWidget

++

Main MDI-area widget.

++

Declaration

++

Source position: GuiMDIChild.pas line 88

++ ++ ++ ++ ++

published property TMDIController.MainMDIWidget: TDockPanel
  read FMainMDIWidget
  write FMainMDIWidget;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.menu.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.menu.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.menu.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.menu.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ TMDIController.Menu ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Menu

++

Root of the MDI-controller menu.

++

Declaration

++

Source position: GuiMDIChild.pas line 89

++ ++ ++ ++ ++

published property TMDIController.Menu: TMenuItem
  read FMenu
  write SetMenu;

++

Description

++

Must be set when TMDIController initialized.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.placechild.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.placechild.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.placechild.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.placechild.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ TMDIController.PlaceChild ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.PlaceChild

++

Set position of the child form on the main MDI-area.

++

Declaration

++

Source position: GuiMDIChild.pas line 81

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public procedure TMDIController.PlaceChild(

  AChild: TGuiMDIChildFo

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.remove.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.remove.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.remove.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.remove.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ TMDIController.Remove ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.Remove

++

Remove MDI-child form.

++

Declaration

++

Source position: GuiMDIChild.pas line 80

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public procedure TMDIController.Remove(

  AChild: TGuiMDIChildFo

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.unlocksequence.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.unlocksequence.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.unlocksequence.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.unlocksequence.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ ++ ++ ++ ++ TMDIController.UnlockSequence ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.UnlockSequence

++

Unlock internal management of the z-order.

++

Declaration

++

Source position: GuiMDIChild.pas line 83

++ ++ ++ ++ ++

public procedure TMDIController.UnlockSequence;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.windowsmenu.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.windowsmenu.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdicontroller.windowsmenu.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdicontroller.windowsmenu.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ TMDIController.WindowsMenu ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIController.WindowsMenu

++

Submenu with per-child activation items.

++

Declaration

++

Source position: GuiMDIChild.pas line 90

++ ++ ++ ++ ++

published property TMDIController.WindowsMenu: TMenuItem
  read FMenu;

++

Description

++

Created by TMDIController.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-1.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-1.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-1.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-1.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIDockController

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-2.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-2.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-2.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-2.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-3.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-3.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-3.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-3.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,21 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIDockController

 

Create

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-4.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-4.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-4.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-4.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,17 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

 

Create (TMDIDockController)

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-5.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-5.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-5.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-5.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,16 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIDockController

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-6.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-6.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-6.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller-6.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.create.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.create.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.create.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.create.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,34 ---- ++ ++ ++ ++ ++ TMDIDockController.Create ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIDockController.Create

++

++

Declaration

++

Source position: GuiMDIChild.pas line 33

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

public constructor TMDIDockController.Create(

  aintf: idockcontroller;

  AMDIIntf: IMDIChild

);

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.html mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guimdichild/tmdidockcontroller.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,57 ---- ++ ++ ++ ++ ++ TMDIDockController ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Constants][Classes]Reference for unit 'GuiMDIChild' (#ContribMiha)
++

TMDIDockController

++

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

++

Reimplementation tdockcontroller

++

Declaration

++

Source position: GuiMDIChild.pas line 27

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

type TMDIDockController = class(tformdockcontroller)

public

  constructor Create();

end;

++

Inheritance

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

TMDIDockController

  

Reimplementation tdockcontroller

|

tformdockcontroller

?

TObject

++

Description

++

For internal usage.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/index-5.html mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/index-5.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/index-5.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/index-5.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,24 ---- ++ ++ ++ ++ ++ Reference for unit 'GuiStyle': Procedures and functions ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Procedures and functions]Reference for unit 'GuiStyle' (#ContribMiha)
++

Reference for unit 'GuiStyle': Procedures and functions

++ ++ ++ ++ ++ ++ ++

SetDesktopSkin

  

Grab desktop colors and font.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/index.html mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/index.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/index.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/index.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,41 ---- ++ ++ ++ ++ ++ Reference for unit 'GuiStyle' ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Procedures and functions]Reference for unit 'GuiStyle' (#ContribMiha)
++

Reference for unit 'GuiStyle'

++

System colors grabber.

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

uses

  msegraphics,

  msebits,

  msestat,

  strutils,

  sysutils,

  classes;

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/setdesktopskin.html mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/setdesktopskin.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/guistyle/setdesktopskin.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/guistyle/setdesktopskin.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ ++ ++ ++ ++ SetDesktopSkin ++ ++ ++ ++ ++ ++ ++ ++ ++
[Overview][Procedures and functions]Reference for unit 'GuiStyle' (#ContribMiha)
++

SetDesktopSkin

++

Grab desktop colors and font.

++

Declaration

++

Source position: GuiStyle.pas line 21

++ ++ ++ ++ ++

procedure SetDesktopSkin;

++

Description

++

The Procedure reads the system colors and assigns them to the msemapped colors. It works in a Win32 (colors are read by GetSysColor) and in the Linux (but QT based only. Colors are read from ~/.qt/qtrc). In the Linux envinronment the Procedure reads font name and its size from qtrcand assigns them to the mse default and menu font.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/Doc/html/index.html mseide-msegui-1.8/contrib/miha/Doc/html/index.html +*** mseide-msegui-1.8.orig/contrib/miha/Doc/html/index.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/Doc/html/index.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ ++ ++ ++ ++ Reference for package 'ContribMiha' ++ ++ ++ ++ ++ ++ ++ ++ ++
(#ContribMiha)
++

Reference for package 'ContribMiha'

++

++

Units

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

GuiMDIChild

  

Simple MDI framework.

GuiStyle

  

System colors grabber.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild.mfm mseide-msegui-1.8/contrib/miha/GuiMDIChild.mfm +*** mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiMDIChild.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,52 ---- ++ object GuiMDIChildFo: TGuiMDIChildfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 232 ++ bounds_y = 255 ++ bounds_cx = 257 ++ bounds_cy = 194 ++ color = -1879048181 ++ frame.levelo = 1 ++ frame.colordkshadow = -1879048192 ++ frame.colorshadow = -1879048191 ++ frame.colorlight = -1879048189 ++ frame.colorhighlight = -1879048188 ++ frame.framei_left = 1 ++ frame.framei_top = 1 ++ frame.framei_right = 1 ++ frame.framei_bottom = 1 ++ frame.captiondist = -2 ++ frame.captionoffset = 3 ++ frame.font.color = -1879048182 ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_colordkshadow, frl_colorshadow, frl_colorlight, frl_colorhighlight, frl_firight, frl_colorclient] ++ frame.grip_size = 14 ++ frame.grip_grip = stb_dens0 ++ frame.grip_color = -2147483645 ++ frame.grip_coloractive = -2147483645 ++ frame.grip_colorbutton = -1879048187 ++ frame.grip_colorbuttonactive = -1879048187 ++ frame.grip_options = [go_closebutton, go_minimizebutton, go_normalizebutton, go_maximizebutton, go_horz, go_showsplitcaption] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 2 ++ container.bounds_y = 16 ++ container.bounds_cx = 253 ++ container.bounds_cy = 176 ++ container.color = -1879048187 ++ container.frame.dummy = 0 ++ dragdock.caption = 'MDI child form' ++ dragdock.optionsdock = [od_savepos, od_canmove, od_cansize, od_candock] ++ font.name = 'stf_default' ++ font.dummy = 0 ++ options = [fo_freeonclose, fo_defaultpos, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ icon.transparency = -2147483648 ++ moduleclassname = 'tdockform' ++ object ActionActivate: taction ++ onexecute = OnExecuteActionActivate ++ left = 96 ++ top = 32 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild_mfm.pas mseide-msegui-1.8/contrib/miha/GuiMDIChild_mfm.pas +*** mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiMDIChild_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,96 ---- ++ unit GuiMDIChild_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,GuiMDIChild; ++ ++ const ++ objdata: record size: integer; data: array[0..1566] of byte end = ++ (size: 1567; data: ( ++ 84,80,70,48,14,84,71,117,105,77,68,73,67,104,105,108,100,102,111,13, ++ 71,117,105,77,68,73,67,104,105,108,100,70,111,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,11,111,119,95,115,117,98,102,111,99,117,115,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,9,111,119,95,104,105,110,116, ++ 111,110,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117, ++ 110,100,115,95,120,3,232,0,8,98,111,117,110,100,115,95,121,3,255,0, ++ 9,98,111,117,110,100,115,95,99,120,3,1,1,9,98,111,117,110,100,115, ++ 95,99,121,3,194,0,5,99,111,108,111,114,4,11,0,0,144,12,102,114, ++ 97,109,101,46,108,101,118,101,108,111,2,1,19,102,114,97,109,101,46,99, ++ 111,108,111,114,100,107,115,104,97,100,111,119,4,0,0,0,144,17,102,114, ++ 97,109,101,46,99,111,108,111,114,115,104,97,100,111,119,4,1,0,0,144, ++ 16,102,114,97,109,101,46,99,111,108,111,114,108,105,103,104,116,4,3,0, ++ 0,144,20,102,114,97,109,101,46,99,111,108,111,114,104,105,103,104,108,105, ++ 103,104,116,4,4,0,0,144,17,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,108,101,102,116,2,1,16,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,116,111,112,2,1,18,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,114,105,103,104,116,2,1,19,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,98,111,116,116,111,109,2,1,17,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,100,105,115,116,2,254,19,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,111,102,102,115,101,116,2,3,16,102,114,97,109,101,46,102, ++ 111,110,116,46,99,111,108,111,114,4,10,0,0,144,15,102,114,97,109,101, ++ 46,102,111,110,116,46,110,97,109,101,6,11,115,116,102,95,100,101,102,97, ++ 117,108,116,16,102,114,97,109,101,46,102,111,110,116,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,108,101,118,101,108,111,14,102,114,108,95,102,114,97,109, ++ 101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109, ++ 101,17,102,114,108,95,99,111,108,111,114,100,107,115,104,97,100,111,119,15, ++ 102,114,108,95,99,111,108,111,114,115,104,97,100,111,119,14,102,114,108,95, ++ 99,111,108,111,114,108,105,103,104,116,18,102,114,108,95,99,111,108,111,114, ++ 104,105,103,104,108,105,103,104,116,11,102,114,108,95,102,105,114,105,103,104, ++ 116,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,15,102, ++ 114,97,109,101,46,103,114,105,112,95,115,105,122,101,2,14,15,102,114,97, ++ 109,101,46,103,114,105,112,95,103,114,105,112,7,9,115,116,98,95,100,101, ++ 110,115,48,16,102,114,97,109,101,46,103,114,105,112,95,99,111,108,111,114, ++ 4,3,0,0,128,22,102,114,97,109,101,46,103,114,105,112,95,99,111,108, ++ 111,114,97,99,116,105,118,101,4,3,0,0,128,22,102,114,97,109,101,46, ++ 103,114,105,112,95,99,111,108,111,114,98,117,116,116,111,110,4,5,0,0, ++ 144,28,102,114,97,109,101,46,103,114,105,112,95,99,111,108,111,114,98,117, ++ 116,116,111,110,97,99,116,105,118,101,4,5,0,0,144,18,102,114,97,109, ++ 101,46,103,114,105,112,95,111,112,116,105,111,110,115,11,14,103,111,95,99, ++ 108,111,115,101,98,117,116,116,111,110,17,103,111,95,109,105,110,105,109,105, ++ 122,101,98,117,116,116,111,110,18,103,111,95,110,111,114,109,97,108,105,122, ++ 101,98,117,116,116,111,110,17,103,111,95,109,97,120,105,109,105,122,101,98, ++ 117,116,116,111,110,7,103,111,95,104,111,114,122,19,103,111,95,115,104,111, ++ 119,115,112,108,105,116,99,97,112,116,105,111,110,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,7, ++ 118,105,115,105,98,108,101,8,23,99,111,110,116,97,105,110,101,114,46,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98, ++ 102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112, ++ 97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,2,18,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,16,19, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3, ++ 253,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,121,3,176,0,15,99,111,110,116,97,105,110,101,114,46,99,111,108,111, ++ 114,4,5,0,0,144,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,100,114,97,103,100,111,99,107,46, ++ 99,97,112,116,105,111,110,6,14,77,68,73,32,99,104,105,108,100,32,102, ++ 111,114,109,20,100,114,97,103,100,111,99,107,46,111,112,116,105,111,110,115, ++ 100,111,99,107,11,10,111,100,95,115,97,118,101,112,111,115,10,111,100,95, ++ 99,97,110,109,111,118,101,10,111,100,95,99,97,110,115,105,122,101,10,111, ++ 100,95,99,97,110,100,111,99,107,0,9,102,111,110,116,46,110,97,109,101, ++ 6,11,115,116,102,95,100,101,102,97,117,108,116,10,102,111,110,116,46,100, ++ 117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,14,102,111,95,102, ++ 114,101,101,111,110,99,108,111,115,101,13,102,111,95,100,101,102,97,117,108, ++ 116,112,111,115,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116, ++ 16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111, ++ 95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116, ++ 101,0,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121, ++ 4,0,0,0,128,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109, ++ 101,6,9,116,100,111,99,107,102,111,114,109,0,7,116,97,99,116,105,111, ++ 110,14,65,99,116,105,111,110,65,99,116,105,118,97,116,101,9,111,110,101, ++ 120,101,99,117,116,101,7,23,79,110,69,120,101,99,117,116,101,65,99,116, ++ 105,111,110,65,99,116,105,118,97,116,101,4,108,101,102,116,2,96,3,116, ++ 111,112,2,32,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,TGuiMDIChildfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild.pas mseide-msegui-1.8/contrib/miha/GuiMDIChild.pas +*** mseide-msegui-1.8.orig/contrib/miha/GuiMDIChild.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiMDIChild.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,510 ---- ++ { Contributed module by Mikhail Kozlov (mihnik_k@mail.ru) for MSEgui(c) ++ ++ See the file COPYING.MSE the part of the MSEgui distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ ++ unit GuiMDIChild; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msedock,MSESysUtils,msegraphics,Classes,SysUtils, ++ mseactions, msemenus, mseshapes; ++ ++ type ++ TMDIController = class; ++ ++ IMDIChild = interface ++ procedure MDIStateChanged(const OldState, NewState: mdistatety); ++ end; ++ ++ TMDIDockController = class(tformdockcontroller) ++ private ++ FMDIIntf: IMDIChild; ++ protected ++ procedure SetMDIState(const AValue: mdistatety); override; ++ public ++ constructor Create(aintf: idockcontroller; AMDIIntf: IMDIChild); reintroduce; ++ end; ++ ++ TGuiMDIChildFo = class(tdockform, IMDIChild) ++ ActionActivate: TAction; ++ procedure OnExecuteActionActivate(const sender: TObject); ++ private ++ FKey: String; ++ FCollection: TMDIController; ++ protected ++ procedure SetVisible(const Value: Boolean); override; ++ procedure ActiveChanged; override; ++ procedure SetKey(AValue: String); virtual; ++ procedure MDIStateChanged(const OldState, NewState: mdistatety); ++ public ++ constructor Create(AMDICollection: TMDIController); reintroduce; ++ destructor Destroy; override; ++ property Key: String read FKey write SetKey; ++ end; ++ ++ TMDIController = class(TMSEComponent) ++ private ++ FMainMDIWidget: TDockPanel; ++ FChildren: TList; ++ FMenu: TMenuItem; ++ FWindowsMenu: TMenuItem; ++ FActionMinAll: TAction; ++ FActionMaxAll: TAction; ++ FHideMinimized: Boolean; ++ FLocked: Boolean; ++ protected ++ function GetCount(): Integer; ++ function GetForm(Index: Integer): TGuiMDIChildFo; ++ procedure Changed(); virtual; ++ procedure SetMenu(AValue: TMenuItem); virtual; ++ procedure UpdateActions(const Sender: TCustomAction); ++ procedure ExecuteActions(const Sender: TObject); ++ procedure SetHideMinimized(AValue: Boolean); ++ public ++ constructor Create(AOwner: TComponent; AMainMDIWidget: TDockPanel); reintroduce; ++ destructor Destroy; override; ++ function IndexOf(AChild: TGuiMDIChildFo): Integer; ++ function IndexByKey(AKey: String): Integer; ++ function ChildByKey(AKey: String): TGuiMDIChildFo; ++ procedure Activate(AChild: TGuiMDIChildFo); ++ procedure Deactivate(AChild: TGuiMDIChildFo); ++ procedure Add(AChild: TGuiMDIChildFo); ++ procedure Remove(AChild: TGuiMDIChildFo); ++ procedure PlaceChild(AChild: TGuiMDIChildFo); ++ procedure LockSequence; ++ procedure UnlockSequence; ++ property Locked: Boolean read FLocked; ++ property Count: Integer read GetCount; ++ property Children[Index: Integer]: TGuiMDIChildFo read GetForm; default; ++ published ++ property MainMDIWidget: TDockPanel read FMainMDIWidget write FMainMDIWidget; ++ property Menu: TMenuItem read FMenu write SetMenu; ++ property WindowsMenu: TMenuItem read FMenu; ++ property ActionMinAll: TAction read FActionMinAll; ++ property ActionMaxAll: TAction read FActionMaxAll; ++ property HideMinimized: Boolean read FHideMinimized write SetHideMinimized; ++ end; ++ ++ const ++ MDI_HSTEP = 20; ++ MDI_VSTEP = 20; ++ MDI_MAX_CONTROLPOS = 100; ++ ++ implementation ++ ++ uses ++ GuiMDIChild_mfm; ++ ++ //TMDIDockController >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ++ ++ constructor TMDIDockController.Create(aintf: idockcontroller; AMDIIntf: IMDIChild); ++ begin ++ inherited Create(aintf); ++ FMDIIntf := AMDIIntf; ++ end; ++ ++ procedure TMDIDockController.SetMDIState(const AValue: mdistatety); ++ var ++ OldState: mdistatety; ++ begin ++ OldState := MDIState; ++ inherited SetMDIState(AValue); ++ if Assigned(FMDIIntf) then ++ FMDIIntf.MDIStateChanged(OldState, AValue); ++ end; ++ ++ // TGuiMDIChildFo >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ++ ++ constructor TGuiMDIChildFo.Create(AMDICollection: TMDIController); ++ begin ++ if fdragdock = nil then ++ fdragdock:= TMDIDockController.create(idockcontroller(self), IMDIChild(Self)); ++ inherited Create(nil, True); ++ if AMDICollection = nil then ++ raise Exception.Create('MDICollection is nil'); ++ FCollection := AMDICollection; ++ ParentWidget := FCollection.MainMDIWidget.Container; ++ FCollection.Add(Self); ++ if Visible then ++ FCollection.Activate(Self); ++ end; ++ ++ destructor TGuiMDIChildFo.Destroy; ++ begin ++ FCollection.Remove(Self); ++ inherited; ++ end; ++ ++ procedure TGuiMDIChildFo.ActiveChanged; ++ begin ++ inherited; ++ if Active then ++ begin ++ Color := cl_selectedtextbackground; ++ FCollection.Activate(Self); ++ BringToFront; ++ SetFocus; ++ end ++ else begin ++ Color := cl_noedit; ++ end; ++ end; ++ ++ procedure TGuiMDIChildFo.SetKey(AValue: String); ++ begin ++ FKey := AValue; ++ ActionActivate.Caption := FKey; ++ end; ++ ++ procedure TGuiMDIChildFo.MDIStateChanged(const OldState, NewState: mdistatety); ++ begin ++ if (OldState = mds_minimized) and not (NewState = mds_minimized) then ++ Activate; ++ if NewState = mds_minimized then ++ begin ++ if FCollection.HideMinimized then ++ Visible := False; ++ end; ++ end; ++ ++ procedure TGuiMDIChildFo.SetVisible(const Value: Boolean); ++ begin ++ inherited; ++ if not (csLoading in ComponentState) then ++ begin ++ if Value then ++ begin ++ FCollection.Activate(Self); ++ end ++ else begin ++ FCollection.Deactivate(Self); ++ end; ++ end; ++ end; ++ ++ procedure TGuiMDIChildFo.OnExecuteActionActivate(const sender: TObject); ++ begin ++ Self.Visible := True; ++ Self.Activate; ++ end; ++ ++ // TMDIController >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ++ constructor TMDIController.Create(AOwner: TComponent; AMainMDIWidget: TDockPanel); ++ begin ++ inherited Create(AOwner); ++ FMainMDIWidget := AMainMDIWidget; ++ FChildren := TList.Create; ++ FActionMinAll := TAction.Create(AOwner); ++ FActionMinAll.Caption := 'Minimize all'; ++ FActionMinAll.OnUpdate := @UpdateActions; ++ FActionMinAll.OnExecute := @ExecuteActions; ++ FActionMaxAll := TAction.Create(AOwner); ++ FActionMaxAll.Caption := 'Maximize all'; ++ FActionMaxAll.OnUpdate := @UpdateActions; ++ FActionMaxAll.OnExecute := @ExecuteActions; ++ FLocked := False; ++ Changed; ++ end; ++ ++ destructor TMDIController.Destroy; ++ begin ++ FChildren.Free; ++ inherited; ++ end; ++ ++ function TMDIController.GetCount(): Integer; ++ begin ++ Result := FChildren.Count; ++ end; ++ ++ function TMDIController.GetForm(Index: Integer): TGuiMDIChildFo; ++ begin ++ Result := TGuiMDIChildFo(FChildren[Index]); ++ end; ++ ++ procedure TMDIController.Changed(); ++ var ++ I: Integer; ++ M: TMenuItem; ++ begin ++ if Assigned(FMenu) then ++ begin ++ if not Assigned(FWindowsMenu) then ++ begin ++ ++ M := TMenuItem.Create(FMenu, FMenu.Owner); ++ M.Action := FActionMinAll; ++ FMenu.SubMenu.Insert(FMenu.SubMenu.Count, M); ++ ++ M := TMenuItem.Create(FMenu, FMenu.Owner); ++ M.Action := FActionMaxAll; ++ FMenu.SubMenu.Insert(FMenu.SubMenu.Count, M); ++ ++ FMenu.SubMenu.InsertSeparator(FMenu.SubMenu.Count); ++ ++ FWindowsMenu := TMenuItem.Create(FMenu, FMenu.Owner); ++ FWindowsMenu.Caption := 'Windows'; ++ FMenu.Submenu.Insert(FMenu.Submenu.Count, FWindowsMenu); ++ ++ end; ++ FWindowsMenu.SubMenu.Count := 0; ++ for I := FChildren.Count - 1 downto 0 do ++ begin ++ M := TMenuItem.Create(FWindowsMenu, FMenu.Owner); ++ M.Action := TGuiMDIChildFo(FChildren[I]).ActionActivate; ++ FWindowsMenu.SubMenu.Insert(FWindowsMenu.Count, M); ++ end; ++ end; ++ end; ++ ++ procedure TMDIController.SetMenu(AValue: TMenuItem); ++ begin ++ FMenu := AValue; ++ Changed; ++ end; ++ ++ procedure TMDIController.UpdateActions(const Sender: TCustomAction); ++ var ++ I: Integer; ++ Enabled: Boolean; ++ begin ++ Enabled := False; ++ if Sender = FActionMinAll then ++ begin ++ for I := 0 to FChildren.Count - 1 do ++ if not (TGuiMDIChildFo(FChildren[I]).DragDock.MDIState = mds_minimized) then ++ begin ++ Enabled := True; ++ Break; ++ end; ++ end ++ else if Sender = FActionMaxAll then ++ begin ++ for I := 0 to FChildren.Count - 1 do ++ if not (TGuiMDIChildFo(FChildren[I]).DragDock.MDIState = mds_maximized) then ++ begin ++ Enabled := True; ++ Break; ++ end; ++ end; ++ if Enabled then ++ Sender.State := Sender.State - [as_disabled] ++ else ++ Sender.State := Sender.State + [as_disabled]; ++ end; ++ ++ procedure TMDIController.ExecuteActions(const Sender: TObject); ++ var ++ I: Integer; ++ begin ++ LockSequence; ++ try ++ for I := 0 to FChildren.Count - 1 do ++ if Sender is TMenuItem then ++ begin ++ if TMenuItem(Sender).Action = FActionMinAll then ++ TGuiMDIChildFo(FChildren[I]).DragDock.MDIState := mds_minimized ++ else if TMenuItem(Sender).Action = FActionMaxAll then ++ TGuiMDIChildFo(FChildren[I]).DragDock.MDIState := mds_maximized; ++ end; ++ finally ++ UnlockSequence; ++ end; ++ end; ++ ++ procedure TMDIController.SetHideMinimized(AValue: Boolean); ++ var ++ I: Integer; ++ begin ++ LockSequence; ++ FHideMinimized := AValue; ++ try ++ for I := 0 to FChildren.Count - 1 do ++ begin ++ if TGuiMDIChildFo(FChildren[I]).DragDock.MDIState = mds_minimized then ++ TGuiMDIChildFo(FChildren[I]).Visible := not AValue; ++ end; ++ finally ++ UnlockSequence; ++ end; ++ end; ++ ++ function TMDIController.IndexOf(AChild: TGuiMDIChildFo): Integer; ++ begin ++ Result := FChildren.IndexOf(AChild); ++ end; ++ ++ function TMDIController.IndexByKey(AKey: String): Integer; ++ var ++ I: Integer; ++ begin ++ Result := -1; ++ for I :=0 to FChildren.Count - 1 do ++ if Assigned(FChildren[I]) then ++ if TGuiMDIChildFo(FChildren[I]).Key = AKey then ++ begin ++ Result := I; ++ Break; ++ end; ++ end; ++ ++ function TMDIController.ChildByKey(AKey: String): TGuiMDIChildFo; ++ var ++ I: Integer; ++ begin ++ Result := nil; ++ I := IndexByKey(AKey); ++ if I >= 0 then ++ Result := TGuiMDIChildFo(FChildren[I]); ++ end; ++ ++ procedure TMDIController.Activate(AChild: TGuiMDIChildFo); ++ var ++ Index, I: Integer; ++ begin ++ if FLocked then ++ Exit; ++ Index := IndexOf(AChild); ++ if Index = FChildren.Count - 1 then ++ Exit; ++ if Index >= 0 then ++ for I := Index + 1 to FChildren.Count - 1 do ++ FChildren.Exchange(I - 1, I); ++ if not AChild.Active then ++ AChild.Activate; ++ Changed; ++ end; ++ ++ procedure TMDIController.Deactivate(AChild: TGuiMDIChildFo); ++ begin ++ if FLocked then ++ Exit; ++ if IndexOf(AChild) < FChildren.Count - 1 then ++ Exit; ++ if FChildren.Count > 1 then ++ begin ++ FChildren.Exchange(FChildren.Count - 1, FChildren.Count - 2); ++ Children[Count - 1].Activate; ++ end; ++ Changed; ++ end; ++ ++ procedure TMDIController.Add(AChild: TGuiMDIChildFo); ++ begin ++ FChildren.Add(AChild); ++ PlaceChild(AChild); ++ Changed; ++ end; ++ ++ procedure TMDIController.Remove(AChild: TGuiMDIChildFo); ++ var ++ I: Integer; ++ begin ++ if FLocked then ++ Exit; ++ if Assigned(FChildren) then ++ begin ++ I := FChildren.IndexOf(AChild); ++ if I >= 0 then ++ FChildren.Remove(AChild); ++ Changed; ++ end; ++ end; ++ ++ procedure TMDIController.PlaceChild(AChild: TGuiMDIChildFo); ++ type ++ TPosDescr = record ++ X: Integer; ++ Y: Integer; ++ Weight: Integer; ++ end; ++ ++ var ++ I, CurX, CurY, InitX, InitY, Weight, Min, Index: Integer; ++ AvPositions: array of TPosDescr; ++ BuildPositions: Boolean; ++ ++ function ChildrenCountByCorner(CornerX, CornerY: Integer): Integer; ++ var ++ I: Integer; ++ Child: TGuiMDIChildFo; ++ begin ++ Result := 0; ++ for I := 0 to FChildren.Count - 1 do ++ begin ++ Child := TGuiMDIChildFo(FChildren[I]); ++ if (Child.bounds_x = CurX) and (Child.bounds_y = CurY) ++ and (Child <> AChild) then ++ Result := Result + 1; ++ end; ++ end; ++ ++ begin ++ CurX := FMainMDIWidget.Container.bounds_x + ++ FMainMDIWidget.Frame.framei_left - FMainMDIWidget.Frame.leveli; ++ CurY := FMainMDIWidget.Container.bounds_y + ++ FMainMDIWidget.Frame.framei_top - FMainMDIWidget.Frame.leveli; ++ InitX := CurX; ++ InitY := CurY; ++ SetLength(AvPositions, 1); ++ AvPositions[0].X := CurX; ++ AvPositions[0].Y := CurY; ++ AvPositions[0].Weight := ChildrenCountByCorner(CurX, CurY); ++ Min := AvPositions[0].Weight; ++ BuildPositions := True; ++ while BuildPositions do ++ begin ++ CurX := CurX + MDI_HSTEP; ++ CurY := CurY + MDI_VSTEP; ++ if (CurX + AChild.bounds_cx) > FMainMDIWidget.Container.bounds_cx then ++ CurX := InitX; ++ if (CurY + AChild.bounds_cy) > FMainMDIWidget.Container.bounds_cy then ++ CurY := InitY; ++ BuildPositions := not (((CurY = InitY) and (CurX = InitX)) ++ or (Length(AvPositions) > MDI_MAX_CONTROLPOS)); ++ if BuildPositions then ++ begin ++ Weight := ChildrenCountByCorner(CurX, CurY); ++ if Weight < Min then ++ Min := Weight; ++ SetLength(AvPositions, Length(AvPositions) + 1); ++ AvPositions[High(AvPositions)].X := CurX; ++ AvPositions[High(AvPositions)].Y := CurY; ++ AvPositions[High(AvPositions)].Weight := Weight; ++ end; ++ BuildPositions := BuildPositions and (Weight > 0); ++ end; ++ Index := 0; ++ Min := MDI_MAX_CONTROLPOS; ++ for I := 0 to Length(AvPositions) - 1 do ++ begin ++ Weight := AvPositions[I].Weight; ++ if Weight < Min then ++ begin ++ Min := Weight; ++ Index := I; ++ end; ++ end; ++ AChild.bounds_x := AvPositions[Index].X; ++ AChild.bounds_y := AvPositions[Index].Y; ++ end; ++ ++ procedure TMDIController.LockSequence; ++ begin ++ FLocked := True; ++ end; ++ ++ procedure TMDIController.UnlockSequence; ++ begin ++ FLocked := False; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiStyle.pas mseide-msegui-1.8/contrib/miha/GuiStyle.pas +*** mseide-msegui-1.8.orig/contrib/miha/GuiStyle.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiStyle.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,126 ---- ++ { Contributed module by Mikhail Kozlov (mihnik_k@mail.ru) for MSEgui(c) ++ ++ See the file COPYING.MSE the part of the MSEgui distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ ++ unit GuiStyle; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegraphics, msebits ++ {$ifdef mswindows},windows{$endif} ++ {$ifdef linux},msestat,strutils,sysutils,classes{$endif}; ++ ++ procedure SetDesktopSkin; ++ ++ implementation ++ {$ifdef linux} ++ const ++ QT_COLOR_BACKGROUND = 1; ++ QT_COLOR_HILIGHT = 2; ++ QT_COLOR_LIGHT = 3; ++ QT_COLOR_DKSHADOW = 4; ++ QT_COLOR_SHADOW = 5; ++ QT_COLOR_TEXT = 6; ++ QT_COLOR_BTNTEXT = 8; ++ QT_COLOR_FOREGROUND = 9; ++ QT_COLOR_INFOBG = 10; ++ QT_COLOR_SELBACKGROUND = 12; ++ QT_COLOR_SELECTEDTEXT = 13; ++ QT_COLOR_GRAYTEXT = 24; ++ {$endif} ++ ++ procedure SetDesktopSkin; ++ {$ifdef linux} ++ var ++ sr: tstatreader; ++ s: string; ++ sl: TStringList; ++ I, int1: Integer; ++ clrs: colorarty; ++ ++ function StaStringToInt(Str: String): Integer; ++ begin ++ Result := 0; ++ try ++ Result := Hex2Dec(AnsiReplaceStr(Str, '#', '')); ++ except ++ end; ++ end; ++ ++ {$endif} ++ begin ++ {$ifdef mswindows} ++ SetColorMapValue(cl_dkshadow, swaprgb(GetSysColor(COLOR_3DDKSHADOW))); ++ SetColorMapValue(cl_shadow, swaprgb(GetSysColor(COLOR_3DSHADOW))); ++ SetColorMapValue(cl_mid, swaprgb(GetSysColor(COLOR_BTNTEXT))); ++ SetColorMapValue(cl_light, swaprgb(GetSysColor(COLOR_3DLIGHT))); ++ SetColorMapValue(cl_highlight, swaprgb(GetSysColor(COLOR_3DHILIGHT))); ++ SetColorMapValue(cl_background, swaprgb(GetSysColor(COLOR_BTNFACE))); ++ SetColorMapValue(cl_foreground, swaprgb(GetSysColor(COLOR_WINDOW))); ++ SetColorMapValue(cl_active, swaprgb(GetSysColor(COLOR_HIGHLIGHT))); ++ SetColorMapValue(cl_noedit, swaprgb(GetSysColor(COLOR_GRAYTEXT))); ++ SetColorMapValue(cl_text, swaprgb(GetSysColor(COLOR_WINDOWTEXT))); ++ SetColorMapValue(cl_selectedtext, swaprgb(GetSysColor(COLOR_HIGHLIGHTTEXT))); ++ SetColorMapValue(cl_selectedtextbackground, swaprgb(GetSysColor(COLOR_HIGHLIGHT))); ++ SetColorMapValue(cl_infobackground, swaprgb(GetSysColor(COLOR_INFOBK))); ++ {$else} ++ try ++ sr := tstatreader.create('~/.qt/qtrc'); ++ sl := TStringList.Create; ++ try ++ if sr.FindSection('General') then ++ begin ++ s := sr.ReadString('font', s); ++ sl.Text := AnsiReplaceStr(s, ',', #13); ++ if sl.Count > 2 then ++ begin ++ RegisterFontAlias('stf_default', sl[0], fam_overwrite, ++ StrToIntDef(sl[1], 16)); ++ RegisterFontAlias('stf_menu', sl[0], fam_overwrite, ++ StrToIntDef(sl[1], 16)); ++ end; ++ end; ++ if sr.FindSection('Palette') then ++ begin ++ s := sr.ReadString('active', s); ++ sl.Text := AnsiReplaceStr(AnsiReplaceStr(s, '#', ''), '^e', #13); ++ SetLength(clrs, sl.Count * 2); ++ for I := 0 to sl.count - 1 do ++ clrs[I] := StaStringToInt(sl[I]); ++ int1 := sl.Count; ++ s := sr.ReadString('disabled', s); ++ sl.Text := AnsiReplaceStr(AnsiReplaceStr(s, '#', ''), '^e', #13); ++ for I := 0 to sl.count - 1 do ++ clrs[I + int1] := StaStringToInt(sl[I]); ++ SetColorMapValue(cl_dkshadow, clrs[QT_COLOR_DKSHADOW]); ++ SetColorMapValue(cl_shadow, clrs[QT_COLOR_SHADOW]); ++ SetColorMapValue(cl_mid, clrs[QT_COLOR_BTNTEXT]); ++ SetColorMapValue(cl_highlight, clrs[QT_COLOR_HILIGHT]); ++ SetColorMapValue(cl_light, clrs[QT_COLOR_LIGHT]); ++ SetColorMapValue(cl_background, clrs[QT_COLOR_BACKGROUND]); ++ SetColorMapValue(cl_foreground, clrs[QT_COLOR_FOREGROUND]); ++ SetColorMapValue(cl_active, clrs[QT_COLOR_HILIGHT]); ++ SetColorMapValue(cl_noedit, clrs[QT_COLOR_GRAYTEXT]); ++ SetColorMapValue(cl_text, clrs[QT_COLOR_TEXT]); ++ SetColorMapValue(cl_selectedtext, clrs[QT_COLOR_SELECTEDTEXT]); ++ SetColorMapValue(cl_selectedtextbackground, clrs[QT_COLOR_SELBACKGROUND]); ++ SetColorMapValue(cl_infobackground, clrs[QT_COLOR_INFOBG]); ++ end; ++ finally ++ sl.Free; ++ sr.Free; ++ end; ++ except ++ end; ++ {$endif} ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiViewText.mfm mseide-msegui-1.8/contrib/miha/GuiViewText.mfm +*** mseide-msegui-1.8.orig/contrib/miha/GuiViewText.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiViewText.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,60 ---- ++ inherited GuiViewTextFo: tGuiViewTextfo ++ bounds_x = 185 ++ bounds_y = 416 ++ bounds_cx = 353 ++ bounds_cy = 207 ++ frame.font.dummy = 0 ++ frame.grip_colorglyph = -2147483648 ++ frame.dummy = 0 ++ visible = True ++ container.bounds_cx = 349 ++ container.bounds_cy = 189 ++ container.frame.sbhorz.options = [sbo_thumbtrack, sbo_moveauto] ++ container.frame.sbvert.options = [sbo_thumbtrack, sbo_moveauto] ++ container.frame.dummy = 0 ++ font.dummy = 0 ++ icon.transparency = -2147483648 ++ moduleclassname = 'TGuiMDIChildfo' ++ object WidgetGrid: twidgetgrid[0] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 345 ++ bounds_cy = 186 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ optionsgrid = [og_focuscellonenter, og_autofirstrow, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ gridframecolor = -2147483648 ++ datacols.count = 1 ++ datacols.linewidth = 0 ++ datacols.linecolor = -2147483648 ++ datacols.linecolorfix = -2147483648 ++ datacols.colorselect = -1879048181 ++ datacols.items = < ++ item ++ colorselect = -1879048181 ++ width = 2000 ++ options = [co_multiselect, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_nosort, co_mousescrollrow] ++ widgetname = 'Editor' ++ end> ++ datarowlinewidth = 0 ++ datarowlinecolorfix = -2147483648 ++ datarowlinecolor = -2147483648 ++ datarowheight = 15 ++ reffontheight = 13 ++ object Editor: ttextedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontlineheight, ow_autoscale] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 2000 ++ bounds_cy = 15 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_linebreak, oe_eatreturn, oe_keyexecute, oe_savevalue, oe_savestate] ++ marginlinecolor = -2147483648 ++ reffontheight = 13 ++ end ++ end ++ inherited ActionActivate: taction ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiViewText_mfm.pas mseide-msegui-1.8/contrib/miha/GuiViewText_mfm.pas +*** mseide-msegui-1.8.orig/contrib/miha/GuiViewText_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiViewText_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,97 ---- ++ unit GuiViewText_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,GuiViewText; ++ ++ const ++ objdata: record size: integer; data: array[0..1582] of byte end = ++ (size: 1583; data: ( ++ 84,80,70,48,241,14,116,71,117,105,86,105,101,119,84,101,120,116,102,111, ++ 13,71,117,105,86,105,101,119,84,101,120,116,70,111,8,98,111,117,110,100, ++ 115,95,120,3,185,0,8,98,111,117,110,100,115,95,121,3,160,1,9,98, ++ 111,117,110,100,115,95,99,120,3,97,1,9,98,111,117,110,100,115,95,99, ++ 121,3,207,0,16,102,114,97,109,101,46,102,111,110,116,46,100,117,109,109, ++ 121,2,0,21,102,114,97,109,101,46,103,114,105,112,95,99,111,108,111,114, ++ 103,108,121,112,104,4,0,0,0,128,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,7,118,105,115,105,98,108,101,9,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,93,1,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,189,0,30, ++ 99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,115,98,104,111, ++ 114,122,46,111,112,116,105,111,110,115,11,14,115,98,111,95,116,104,117,109, ++ 98,116,114,97,99,107,12,115,98,111,95,109,111,118,101,97,117,116,111,0, ++ 30,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,115,98,118, ++ 101,114,116,46,111,112,116,105,111,110,115,11,14,115,98,111,95,116,104,117, ++ 109,98,116,114,97,99,107,12,115,98,111,95,109,111,118,101,97,117,116,111, ++ 0,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,10,102,111,110,116,46,100,117,109,109,121,2,0,17,105, ++ 99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,14,84, ++ 71,117,105,77,68,73,67,104,105,108,100,102,111,0,242,2,0,11,116,119, ++ 105,100,103,101,116,103,114,105,100,10,87,105,100,103,101,116,71,114,105,100, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,102, ++ 111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98, ++ 111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121,2,0, ++ 9,98,111,117,110,100,115,95,99,120,3,89,1,9,98,111,117,110,100,115, ++ 95,99,121,3,186,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110, ++ 95,116,111,112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116, ++ 116,111,109,0,11,111,112,116,105,111,110,115,103,114,105,100,11,19,111,103, ++ 95,102,111,99,117,115,99,101,108,108,111,110,101,110,116,101,114,15,111,103, ++ 95,97,117,116,111,102,105,114,115,116,114,111,119,20,111,103,95,99,111,108, ++ 99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95,97,117, ++ 116,111,112,111,112,117,112,17,111,103,95,109,111,117,115,101,115,99,114,111, ++ 108,108,99,111,108,0,14,103,114,105,100,102,114,97,109,101,99,111,108,111, ++ 114,4,0,0,0,128,14,100,97,116,97,99,111,108,115,46,99,111,117,110, ++ 116,2,1,18,100,97,116,97,99,111,108,115,46,108,105,110,101,119,105,100, ++ 116,104,2,0,18,100,97,116,97,99,111,108,115,46,108,105,110,101,99,111, ++ 108,111,114,4,0,0,0,128,21,100,97,116,97,99,111,108,115,46,108,105, ++ 110,101,99,111,108,111,114,102,105,120,4,0,0,0,128,20,100,97,116,97, ++ 99,111,108,115,46,99,111,108,111,114,115,101,108,101,99,116,4,11,0,0, ++ 144,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,11,99, ++ 111,108,111,114,115,101,108,101,99,116,4,11,0,0,144,5,119,105,100,116, ++ 104,3,208,7,7,111,112,116,105,111,110,115,11,14,99,111,95,109,117,108, ++ 116,105,115,101,108,101,99,116,12,99,111,95,115,97,118,101,118,97,108,117, ++ 101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111, ++ 119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111, ++ 95,122,101,98,114,97,99,111,108,111,114,9,99,111,95,110,111,115,111,114, ++ 116,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0, ++ 10,119,105,100,103,101,116,110,97,109,101,6,6,69,100,105,116,111,114,0, ++ 0,16,100,97,116,97,114,111,119,108,105,110,101,119,105,100,116,104,2,0, ++ 19,100,97,116,97,114,111,119,108,105,110,101,99,111,108,111,114,102,105,120, ++ 4,0,0,0,128,16,100,97,116,97,114,111,119,108,105,110,101,99,111,108, ++ 111,114,4,0,0,0,128,13,100,97,116,97,114,111,119,104,101,105,103,104, ++ 116,2,15,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,13,0, ++ 9,116,116,101,120,116,101,100,105,116,6,69,100,105,116,111,114,13,111,112, ++ 116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115, ++ 101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,17,111,119,95,102,111,110,116,108,105, ++ 110,101,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115, ++ 95,121,2,0,9,98,111,117,110,100,115,95,99,120,3,208,7,9,98,111, ++ 117,110,100,115,95,99,121,2,15,8,116,97,98,111,114,100,101,114,2,1, ++ 7,118,105,115,105,98,108,101,8,11,111,112,116,105,111,110,115,101,100,105, ++ 116,11,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101,95, ++ 99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120,105, ++ 116,111,110,99,117,114,115,111,114,12,111,101,95,108,105,110,101,98,114,101, ++ 97,107,12,111,101,95,101,97,116,114,101,116,117,114,110,13,111,101,95,107, ++ 101,121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108, ++ 117,101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,15,109,97,114, ++ 103,105,110,108,105,110,101,99,111,108,111,114,4,0,0,0,128,13,114,101, ++ 102,102,111,110,116,104,101,105,103,104,116,2,13,0,0,0,241,7,116,97, ++ 99,116,105,111,110,14,65,99,116,105,111,110,65,99,116,105,118,97,116,101, ++ 0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tGuiViewTextfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/GuiViewText.pas mseide-msegui-1.8/contrib/miha/GuiViewText.pas +*** mseide-msegui-1.8.orig/contrib/miha/GuiViewText.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/GuiViewText.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,38 ---- ++ { This unit is a part of the example that describes contrib/miha usage. ++ Distributed as is.} ++ ++ unit GuiViewText; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,GuiMDIChild,msedataedits,mseactions,msetextedit, ++ mserichstring,msegraphutils,msewidgetgrid; ++ ++ type ++ TGuiViewTextFo = class(TGuiMDIChildFo) ++ Editor: ttextedit; ++ WidgetGrid: twidgetgrid; ++ protected ++ procedure SetKey(AValue: String); override; ++ public ++ procedure LoadFromFile; ++ end; ++ ++ implementation ++ ++ uses ++ GuiViewText_mfm; ++ ++ procedure TGuiViewTextFo.SetKey(AValue: String); ++ begin ++ inherited; ++ DragDock.Caption := AValue; ++ end; ++ ++ procedure TGuiViewTextFo.LoadFromFile(); ++ begin ++ Editor.LoadFromFile(Key, True); ++ end; ++ ++ end. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/Empty.png et mseide-msegui-1.8/contrib/miha/Img/Empty.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/exit.png et mseide-msegui-1.8/contrib/miha/Img/exit.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/fileopen.png et mseide-msegui-1.8/contrib/miha/Img/fileopen.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/view_remove.png et mseide-msegui-1.8/contrib/miha/Img/view_remove.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/window_fullscreen.png et mseide-msegui-1.8/contrib/miha/Img/window_fullscreen.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/window_nofullscreen.png et mseide-msegui-1.8/contrib/miha/Img/window_nofullscreen.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/miha/Img/window_suppressed.png et mseide-msegui-1.8/contrib/miha/Img/window_suppressed.png sont différents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/main.mfm mseide-msegui-1.8/contrib/miha/main.mfm +*** mseide-msegui-1.8.orig/contrib/miha/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,383 ---- ++ object MainFo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 116 ++ bounds_y = 150 ++ bounds_cx = 395 ++ bounds_cy = 317 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 15 ++ container.bounds_cx = 395 ++ container.bounds_cy = 302 ++ container.frame.sbhorz.options = [sbo_thumbtrack, sbo_moveauto] ++ container.frame.sbvert.options = [sbo_thumbtrack, sbo_moveauto] ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ mainmenu = MnuMain ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = MainSta ++ icon.transparency = -2147483648 ++ onloaded = OnLoadedForm ++ moduleclassname = 'tmseform' ++ object MDIArea: tdockpanel ++ optionswidget = [ow_background, ow_destroywidgets, ow_autoscale] ++ bounds_x = 1 ++ bounds_y = 1 ++ bounds_cx = 393 ++ bounds_cy = 298 ++ color = -1879048191 ++ frame.leveli = -2 ++ frame.framei_left = 1 ++ frame.framei_top = 1 ++ frame.framei_right = 1 ++ frame.framei_bottom = 1 ++ frame.localprops = [frl_leveli, frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.grip_size = 0 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ dragdock.optionsdock = [od_candock, od_acceptsdock, od_background] ++ icon.transparency = -2147483648 ++ end ++ object MnuMain: tmainmenu ++ menu.submenu.count = 2 ++ menu.submenu.items = < ++ item ++ submenu.count = 3 ++ submenu.items = < ++ item ++ action = ActionFileOpen ++ end ++ item ++ options = [mao_separator, mao_shortcutcaption] ++ end ++ item ++ action = ActionExit ++ end> ++ caption = 'File' ++ name = 'MnuFile' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 2 ++ submenu.items = < ++ item ++ action = ActionHideMinimized ++ end ++ item ++ options = [mao_separator, mao_shortcutcaption] ++ end> ++ caption = 'Window' ++ name = 'MnuWindow' ++ state = [as_localcaption] ++ end> ++ menu.state = [as_localimagelist] ++ left = 24 ++ top = 32 ++ end ++ object ActionExit: taction ++ caption = 'Exit' ++ imagelist = Img ++ imagenr = 2 ++ onexecute = OnExecActionExit ++ left = 16 ++ top = 167 ++ end ++ object ActionFileOpen: taction ++ caption = 'Open' ++ imagelist = Img ++ imagenr = 1 ++ hint = 'Open file' ++ onexecute = OnExecActionFileOpen ++ left = 16 ++ top = 143 ++ end ++ object FileDialog: tfiledialog ++ statfile = MainSta ++ statvarname = 'File' ++ controller.filterlist.data = ( ++ ( ++ 'Text' ++ '"*.pas" "*.mfm" "*.txt"' ++ ) ++ ( ++ 'All files (Open as text)' ++ '*' ++ ) ++ ) ++ dialogkind = fdk_none ++ left = 216 ++ top = 87 ++ end ++ object MainSta: tstatfile ++ filename = 'status.sta' ++ left = 232 ++ top = 175 ++ end ++ object ActionHideMinimized: taction ++ caption = 'Hide minimized' ++ imagelist = Img ++ imagenr = 3 ++ onexecute = OnExecActionHideMin ++ left = 16 ++ top = 192 ++ end ++ object Img: timagelist ++ colormask = True ++ transparentcolor = -2147483648 ++ count = 7 ++ left = 16 ++ top = 224 ++ image = { ++ 0000000006000000300000003000000058190000000000000000000000000000 ++ 000000000000000000000000000000000000000004047C012222AD012A2ABA0C ++ 2222AD0104047C01FFFFFF1004047C012222AD012A2ABA0C2222AD0104047C01 ++ 2222AD013838D3015C5CC7016060C7036161CA016464CE016767D1016969D501 ++ 6C6CD9016E6EDC017070DE016E6EE0014848EA012222AD01D55E2301E9925E01 ++ E8895301E8885001D1501601C2675101BE756D01BE6E6601BB685D01C0726801 ++ C57A7201B75F5601B75F5501B7564701B7584B01B22A0D012222AD013838D301 ++ 5C5CC7016060C7036161CA016464CE016767D1016969D5016C6CD9016E6EDC01 ++ 7070DE016E6EE0014848EA012222AD012929B8015C5CC601A5A5DF03C0C0E801 ++ D6D6E901EBEBF301EAEAF101D4D4E601BBBBE001AEAEEC01AFAFEE01B0B0F001 ++ 7272E6012929B801D55E2301E9925E01E8895301E8885001D1501601C2675101 ++ BD746B01B8655D01CC888201F0D0CE01F7DEDC01BB635A01B1514601B21E0001 ++ B2170001B01A00012929B8015C5CC601A5A5DF03C0C0E801D6D6E901EBEBF301 ++ EAEAF101D4D4E601BBBBE001AEAEEC01AFAFEE01B0B0F0017272E6012929B801 ++ 2828B7015555C4018E8ED7019494D901D4D4EB01FFFFFF01F7F7F901D8D8E301 ++ D9D9E501F7F7F901FFFFFF01CECEE2019C9CE3019E9EEE016F6FE9012828B701 ++ D35C2101E88D5801E7844E01E7834B01CF4A1101C0644E01C0756E01DDA8A301 ++ FBE9E901FEF1F201FCEBEC01DBA19B01AF4C4101B1220401B21C0001B01C0001 ++ 2828B7015555C4018E8ED7019494D901D4D4EB01FFFFFF01F7F7F901D8D8E301 ++ D9D9E501F7F7F901FFFFFF01CECEE2019C9CE3019E9EEE016F6FE9012828B701 ++ 2727B6013636B9017575CF01CDCDEA01FEFEFE01B1B1CC017272BF017E7ED901 ++ 8383E1018383DB01BDBDDF01FEFEFE01C7C7DD018989E9016868EB012727B601 ++ E0814901FCECB901FCDEA601FCDA9B01EEAB7601CF826F01EDD3D101FEFCFC01 ++ FEF2F201FBE6E601FBE4E601F7DEDE01C36B5D01AF1D0101B21C0001B01C0001 ++ 2727B6013636B9017575CF01CDCDEA01FEFEFE01B1B1CC017272BF017E7ED901 ++ 8383E1018383DB01BDBDDF01FEFEFE01C7C7DD018989E9016868EB012727B601 ++ 2525B3011C1CB0017171CE01FFFFFF01AAAAC9016666CD016E6ED901ABABE501 ++ A4A4D8017272DF017676E501BBBBE701FFFFFF019393CF016060EC012525B301 ++ E0864F01FEFCCA01FCE6AF01ECBB9501DDAAA101FBF1F101FEFEFE01FEF7F701 ++ FEEEEE01FBE8E801F8E2E301F3CEC801D7958901AC331A01AE140001AF1A0001 ++ 2525B3011C1CB0017171CE01FFFFFF01AAAAC9016666CD016E6ED901ABABE501 ++ A4A4D8017272DF017676E501BBBBE701FFFFFF019393CF016060EC012525B301 ++ 2323B1011F1FB401ACACDE01F4F4F8014545AE015858D4015B5BD701F7F7FB01 ++ F6F6F9015656C7016464E4016A6AE801F6F6FB01B8B8D8014A4AEB012323B101 ++ E0834B01FEFBC801E8B69701E4C3C401FEFEFE04FEF8FD01FEF6FB01DE917401 ++ DA704601E2876001D0623A01D1582F01B82A08012323B1011F1FB401ACACDE01 ++ F4F4F8014545AE015858D4015B5BD701F7F7FB01F6F6F9015656C7016464E401 ++ 6A6AE801F6F6FB01B8B8D8014A4AEB012323B1012222AE012222BA01DADAEF01 ++ C7C7DE012A2ABD013838CF014545D501F9F9FC01F9F9FB014646C3015353E501 ++ 5050E701D0D0F001DCDCED014343E0012222AE01E0804901FEFDCB01F1BD8F01 ++ DD8F6E01F0B29201EBAB8D01E8A88901E8A38601E7A08601D87B5A01DB6B3901 ++ F9985701FE904601FE964B01E75D2601B61F04012222AE012222BA01DADAEF01 ++ C7C7DE012A2ABD013838CF014545D501F9F9FC01F9F9FB014646C3015353E501 ++ 5050E701D0D0F001DCDCED014343E0012222AE012020AC012626BF01DBDBEF01 ++ C8C8DF012E2EC8013333D1013636D601F9F9FC01F9F9FB013636C4014242E601 ++ 4444E901D0D0F201DDDDED014343DC012020AC01DE7F4601FEFECF01E78E4F01 ++ E28D6401F5C2A701F7C59F01F5BC8F01F3AF8001F2A36F01F3996501FEA46501 ++ FE863701FC7D2E01EB591D01BC180001AE1600012020AC012626BF01DBDBEF01 ++ C8C8DF012E2EC8013333D1013636D601F9F9FC01F9F9FB013636C4014242E601 ++ 4444E901D0D0F201DDDDED014343DC012020AC011D1DA8012A2AC401B0B0E101 ++ F4F4F8013434BF013636D6013939DA01F9F9FC01F9F9FB013939C8014444E901 ++ 4B4BEC01F5F5FB01B2B2D8014B4BF0011D1DA801DD7C4401FEF2BF01DB703801 ++ FCEBDA01F8E4D001FDFBD501FEDEA901FDB87D01FC985901FB803C01F6672701 ++ E34B1601C9260701BB0B0001B5100001AC1700011D1DA8012A2AC401B0B0E101 ++ F4F4F8013434BF013636D6013939DA01F9F9FC01F9F9FB013939C8014444E901 ++ 4B4BEC01F5F5FB01B2B2D8014B4BF0011D1DA8011B1BA5012D2DC9017070D601 ++ FFFFFF019D9DD1013939DA013C3CDE01BBBBE801B7B7D9013E3ED5014646ED01 ++ ACACF401FFFFFF017575C5014F4FF9011B1BA501DE804801F5BF8501E78F6101 ++ FEFEE101F8D5A201FBC48F01FEAB6F01FB884C01F36A3001ED4F1601DA300601 ++ C91E0001C0150001BC0B0001B0120001A91600011B1BA5012D2DC9017070D601 ++ FFFFFF019D9DD1013939DA013C3CDE01BBBBE801B7B7D9013E3ED5014646ED01 ++ ACACF401FFFFFF017575C5014F4FF9011B1BA5011818A2013030CD013333D201 ++ B7B7E401FEFEFE01A1A1DA014444E0014242E6014141E1014B4BED01ABABF301 ++ FEFEFE01B8B8DC014949E6015050FA011818A201DE814801E3905501F0C29F01 ++ FEEDB901FECC8501F9A46401FC9C5E01F9844701F2642801E43C0801DA290001 ++ D2240001C8190001B90C0001AB120001A91300011818A2013030CD013333D201 ++ B7B7E401FEFEFE01A1A1DA014444E0014242E6014141E1014B4BED01ABABF301 ++ FEFEFE01B8B8DC014949E6015050FA011818A20116169F013333D2013636D601 ++ 4343DB01B7B7E101FFFFFF01F5F5FA01CECEEC01CFCFEF01F5F5FB01FFFFFF01 ++ B8B8DC014E4ED5015050FA015151FC0116169F01D7632901E4885201F8D8B801 ++ FEEDC801FEDAAF01FCC09701F7AE8801F39F7801E87D5801E1674001DA5E3B01 ++ CE533801C4483101B72B1501A8110001A913000116169F013333D2013636D601 ++ 4343DB01B7B7E101FFFFFF01F5F5FA01CECEEC01CFCFEF01F5F5FB01FFFFFF01 ++ B8B8DC014E4ED5015050FA015151FC0116169F0113139B013535D5013939DA01 ++ 3C3CDE013F3FE2017878DA01B3B3DD01DDDDED02B3B3DB017777CB014A4AE901 ++ 5050FA015151FC0213139B01CA3F0801E6966C01FEFDFE01FEFEFE01FEFDFE01 ++ FCF3F601F7E9EC01F1DEE201ECD7DB01E6CED101E0C3C501DAB8BB01D6B2B501 ++ BB513901A60D0001A710000113139B013535D5013939DA013C3CDE013F3FE201 ++ 7878DA01B3B3DD01DDDDED02B3B3DB017777CB014A4AE9015050FA015151FC02 ++ 13139B010D0D90012F2FCA013B3BDD013F3FE2014242E6014444EA014646ED01 ++ 4848EE014848E9014D4DF6014F4FF9015050FA015151FC023E3EDF010D0D9001 ++ C3330301F1C5B101FEFEFE04FBF6F901F2E7EB01E9D8DC01E1CACE01D7BDBF01 ++ CFB2B501CAAAAA01AE290F01A40C0001A61000010D0D90012F2FCA013B3BDD01 ++ 3F3FE2014242E6014444EA014646ED014848EE014848E9014D4DF6014F4FF901 ++ 5050FA015151FC023E3EDF010D0D9001010178010B0B8D010E0E930C0B0B8D01 ++ 01017801BF310401D3673901D56E4401D56B4101D2694101D0653C01CA5D3701 ++ C4563101BD4F2B01B8472501B2402101AE3A1D01AA331601A6120001A60E0001 ++ A60F0001010178010B0B8D010E0E930C0B0B8D0101017801E1923801DA8C3501 ++ D2843101CE7D2D01C9762901C46F2501C0682101BA611C01B75A1801B2531501 ++ AD4C1101A8450C01A43E0801A0360501912E020100000001E6983D01E99F4801 ++ E79B4701E4934201E18B3C01DD823601DA7A3001D7732A01D2692301CF621D01 ++ CC5A1701C8511101C5490B01C2420701B93C0401A9340101DBAA8001E2B28901 ++ E2AF8301E2AB7C01E2A87401E2A46D01E2A06501E29E6001E29C5E01E29D5E03 ++ E4A06501E69942015834000100000001E9A04901F4B76A01F3AD6201F1A35901 ++ EF984F01EE8E4601EC833C01EA783201E86E2801E6621E01E4581401E24C0A01 ++ E0460501DE420401AB31010100000001EBA44D01F5B76A01F4B06501F3A75C01 ++ F19E5401F0934B01EE894101ED7F3801EB742E01E96A2501E8601B01E6551101 ++ E54B0901E3460501DC410301B6350101E2B38B01FFD6AD01FFCB9301FFBC7401 ++ FFA95101FF952F01FF860F01FF7A0001FF740001FF760001FF790001FF7A0002 ++ FC7D00015636000100000001F2B06001FFC48001FFBA76010B0BF401FFA46001 ++ FF985401FF8C4701FF803A01FF732E01FF662001FF5914010B0BF401FF490302 ++ BE31020100000001F1AE5E01FFC88701FFC07F01FFB67401FFAD6B01FFA16001 ++ FF975501FF8C4A01FF803D01FF753201FF692701FF5D1B01FF531101FF510E01 ++ FA4E0E01C33A0601E1B69101F5DDCD01F0D4C201ECCBB801ECC7AE01F8CEA401 ++ F8C89A01F8C59201F8C48E01F5BF8D01E8B28C01F0BA8A01F3BF9201F4B15F01 ++ 5732000100000001F2C28C01FFEFDE01FFECDC010B0BF402FFE4D301FFE1D001 ++ FFDECD01FFDBCA01FFD8C7010B0BF40207073601FBCBB901C676570100000001 ++ F0BC8101FFEBD501FFE8D301FFE5CF01FFE2CC01FFDEC901FFDBC501FFD8C201 ++ FFD4BD01FFD0BA01FFCCB601FEC7B001FDC3AC01FCC0AA01F8BCA701C56D4901 ++ F2CC9C01A09EF901241EEE013934F101B0AEF401FDFFF601FDFBF501FDFCF301 ++ FDFFF101ECEBEF01625FF4012B2AF8014D4CFF01EBC28F015A33000100000001 ++ F1C99B01FFFFFF030B0BF402FFFFFF030B0BF40207073601FAF6F601F8F4F401 ++ C78A720100000001F0C49201FFFFFF09FEFDFD01FCFBFB01FBF8F801F9F6F601 ++ F6F2F201C6856A01F5CF9C019492F9010000ED012C25EF01CFCDEF01FFFFF601 ++ FFFBF501FFFBF301FFFCF201FBF9EE01756CE9010200F201302AF701EBBD8501 ++ 5A34000100000001F0C79A01FFFFFF040B0BF402FFFFFF010B0BF40207073601 ++ FAF6F601F8F4F401F7F1F101C588700100000001EFC39201FFFFFF08FEFDFD01 ++ FDFBFB01FBF8F801F9F6F601F8F4F401F5EFEF01C5836801F4CD9B019490F601 ++ 766FEE013028ED012820ED01CFCAEA01FFFDF301FFFAF201FFFCF0017A70E801 ++ 0300F001746BE501665FF001E3B584015A34000100000001EFC69A01FFFFFF05 ++ 0B0BF40307073601FAF7F701F8F4F401F7F2F201F5EFEF01C4866E0100000001 ++ EEC19101FFFFFF07FEFDFD01FDFBFB01FBF9F901F9F6F601F8F4F401F6F1F101 ++ F3ECEC01C3816601E4BE9A01F0EEF601FEFCF001C0B8ED017B73EB01F0EEEB01 ++ FFFBF201FFF9F001FFFBEF01BDB1E001796EE401FCF8E901F2ECE701EEC08101 ++ 5731000100000001EEAA6D01FFFFFF04FCF9F9010B0BF403FCF9F902FDFCFC02 ++ FCF9F901CA744A0100000001EDBF9001FFFFFF06FEFEFE01FDFBFB01FCF9F901 ++ FAF7F701F8F4F401F7F2F201F5EFEF01F1EAEA01C2806501E1BB9A01FFFFF401 ++ FFFDF601FFFEF401FFFEF301FFFBF201FFF9F001FFF9EF01FFF8ED01FFFAEC01 ++ FFFAEA01FFF9EA01FFFBEC01F3C380015630000100000001E6BA8F01FFFFFF04 ++ 0B0BF402070736010B0BF402FDFCFC04CA744A0100000001ECBE8F01FFFFFF05 ++ FEFEFE01FDFBFB01FBF8F801FAF6F601F8F4F401F6F2F201F5EFEF01F4EDED01 ++ EFE7E701C17E6301E1BB9901FFFFF101FFFDF401FFFDF301FFFDF201FFFBF001 ++ FFF8EF01FFF8ED01FFF7EC01FFFAEA01FFFAE901FFF8E801FFFAEB01F3C37E01 ++ 5630000100000001ECC29701FFFFFF030B0BF40207073601FAF7F701FDFCFC01 ++ 0B0BF402FDFCFC03CA744A0113B3F401EBBD8E01FFFFFF04FEFEFE01FDFBFB01 ++ FCF9F901FAF6F601F8F4F401F7F2F201F5EFEF01F4EDED01F2EBEB01EEE5E501 ++ C07D6201E4BD9801F0EEEF01FEFDF201C0B6E6017B71E801F0EEEB01FFF9ED01 ++ FFF8EC01FFFAEA01BDAFDA01796DE101FCF6E501F2EBE401EEBF7D0157310001 ++ 00000001ECC09601FFFFFF020B0BF40207073601FAF7F701F9F4F401F7F2F201 ++ FDFCFC010B0BF402FDFCFC02CA744A01156CB301EABB8D01FFFFFF03FEFEFE01 ++ FDFBFB01FCF9F901FAF7F701F8F4F401F7F2F201F5F0F001F4EDED01F2EBEB01 ++ F1E8E801ECE3E301BF7C6101F4CC9701948EEF01766EE9013028EC01281FED01 ++ CFC9DE01FFFCEC01FFF8EA01FFF9E9017A6DE1010300F2017469E001665CEB01 ++ E3B27F015A34000100000001EBBF9601FFFFFF01FFFEFE010B0BF40107073601 ++ FAF7F701F9F4F401F7F2F201F6EFEF01FDFCFC020B0BF40107073601FDFCFC01 ++ CA744A0100000001E9BA8D01FFFFFF02FEFEFE01FDFBFB01FCF9F901FAF6F601 ++ F9F4F401F7F2F201F5EFEF01F4EDED01F2EBEB01F1E8E801F0E6E601EBE0E001 ++ BF7B6001F5CC9701948EEE010000F1012C24ED01CFC7DE01FFFDEC01FFF7EB01 ++ FFF7EA01FFF8E801FBF6E4017569E0010200F5013029F601EBB97C015A340001 ++ 00000001EABD9501FFFEFE01FDFCFC01FCFAFA01FAF7F701F9F5F501F7F2F201 ++ F6F0F001F4EDED01FDFCFC05CA744A01156CB301E8B88C01FFFFFF01FEFEFE01 ++ FDFBFB01FCF9F901FAF7F701F9F4F401F7F2F201F5EFEF01F4EDED01F2EBEB01 ++ F1E8E801F0E6E601EEE4E401EADEDF01BF7B6001F5CD9E01A59FF5012923F701 ++ 3E37F501B4ACE901FFFEEF01FFF9EE01FFF8EC01FFFAEA01F0E9E301665DEC01 ++ 2F29F601524BF901EEBE82015A33000100000001DA965A01DFAF8901DBA98501 ++ D7A48101D49E7D01D0987901CC927401CA744A0816AFF901E3AC7B01F4E6DC01 ++ F2E3DA01F0DFD601EEDCD301EBD9D101E9D5CE01E7D2CB01E4CEC801E2CBC501 ++ E0C8C201DFC7C001DEC5BF01DDC4BD01DBC0BA01BA6F5101E4AA6401EFC48B01 ++ EBBE8801E6B98701E7B98501F2C68301F2C38101F2C38001F2C37E01F0BE7D01 ++ E3B37E01EBBA7C01EEBF8301F5B454015F3700010000000C1981D7010ECAFB01 ++ 00000003D5843E01D58E5501D1885101CD814D01C87B4901C4754501C06F4101 ++ BC693E01B7623901B35C3501B0583201B0573204A94316015732000158320001 ++ 5B3400025932000156300004573100015A3400015B3400015A3400015E370001 ++ 2B1A00010000000C1D94F70113B8FA0100000023DBAA8001E2B28901E2AF8301 ++ E2AB7C01E2A87401E2A46D01E2A06501E29E6001E29C5E01E29D5E03E4A06501 ++ E69942015834000100000001C0C0C001F3F3F301FBFBFB01CACACA0127272701 ++ 000000018D8D8D01FAFAFA01FFFFFF01000000011B1B1B01B9B9B901F8F8F801 ++ EBEBEB01A6A6A6010000000135353501E6E6E601DDDDDD01C4C4C401FFFFFF01 ++ 00000002FFFFFF01A4A4A401000000018D8D8D01FAFAFA01FFFFFF0100000001 ++ 16161601B3B3B301E2B38B01FFD4AD01FFCA9301FFB87401FFA65101FF952F01 ++ FF860F01FF7A0001FF740001FF750002FF780001FF770001FB7D000156360001 ++ 00000001727272011A1A1A010000000103030301343434014545450116161601 ++ 00000003101010015F5F5F01BCBCBC01B9B9B90100000012E0B49101FEE7CE01 ++ F8DCC201FDDDB901FDD9AF01FDD2A401F8C89A01F8C59201F8C38E01FFCA8C01 ++ FDC78B01F9C28A01FFCB9101F6B35F015632000100000021E7C19C01E0DFFC01 ++ 5C57F101CAC6F401F4F5F601F1F0F601FDFDF901FDFCF901FBFAF701EAE9EF01 ++ F7F9F301706DF301A09DF801F7CF8F01573100010000000A020202012B2B2B01 ++ 82828201CFCFCF01D4D4D401989898014F4F4F011A1A1A010707070111111101 ++ 505050015B5B5B0197979701D1D1D101CCCCCC0181818101A0A0A00100000006 ++ EDC79C01C2C0FB01201AEE013A33EF015E57EF01AAA3ED01FFFFF701FFFCF501 ++ FCF8F3015E56EB016960E9010903F101756CF001F4C684015832000100000006 ++ 92929201F5F5F501F6F6F601B9B9B9012020200100000016E1BB9B01FFFFFA01 ++ C3BDF0011B13ED010000ED01B2AAEA01FFFFF501FFFBF401FFFBF3013D34EC01 ++ 0000F101695FE701F9F7EE01F8CA820156300001000000191212120164646401 ++ B6B6B601D7D7D702D2D2D201D6D6D601D8D8D801E2BC9A01FFFFF7019C95EE01 ++ 433BED013C34ED01C1B8E701FFFEF401FFFBF301FFFAF201675DE7013C33EA01 ++ 5E54E801E4E0E101FACB80015630000100000021E2BB9A01FFFDF401FCF8F501 ++ FFFDF601FFFDF501FFFBF401FFFAF301FFFAF201FFF9F101FFFAEF01FFFAEE01 ++ FEF7ED01FEFBF801F2C38001563000010000001F2B2B2B0100000001E2BB9901 ++ FFFBF101FCF8F401FFFCF501FFFCF401FFFBF301FFFAF201FFF9F101FFF8EF01 ++ FFFAEE01FFFAED01FEF7EC01FEFBF701F2C27E015630000100000001B7B7B701 ++ 303030010000001EE2BB9801FFFEEE019C94E901433BEB013C33EC01C1B5E201 ++ FFFEF001FFFAEF01FFF9EE01675CE5013C33E9015E53E501E4DFDE01FAC97B01 ++ 5630000100000021E1BA9801FFFFEA01C3BAE6011B13EE010000F001B2A6E001 ++ FFFFEF01FFF9EE01FFFAED013D33EA010000F401695DE201F9F6E801F8C77B01 ++ 563000010000000C7D7D7D01A3A3A30100000013EDC59701C2BEEC012019EF01 ++ 3A32EC015E55E901AA9EE001FFFFEE01FFF9EE01FCF5EB015E54E501695DE301 ++ 0903F4017569E801F4C27B015832000100000021E9C39F01E5E4F001615AF301 ++ CEC4E801F7F4EF01EEE9E801FFFBF101FFFAF001FFF8EF01E9E2E101FBF7EA01 ++ 746AE801A498E801FACA80015732000100000007040404018A8A8A0118181801 ++ 0000000D64646401D1D1D1012828280100000007E3A96501F9CE8A01F3C68701 ++ F8CA8501F8CA8401F7C98201F2C38101F2C38001F3C27E01FAC97B01F7C77A01 ++ F4C27A01FACA8001F7B654015E36000100000021583300015630000159330001 ++ 573100015630000759330001573100015E3700012B1A0001000000141B1B1B01 ++ ACACAC01383838010000003A58050000000000205C5C5C01EEEEEE01FFFFFF0C ++ EEEEEE015C5C5C01000000181010100192929201DEDEDE011717170100000004 ++ EEEEEE01FFFFFF0EEEEEEE01000000173E3E3E01C6C6C601FFFFFF0295959501 ++ 00000004FFFFFF10000000109E9E9E01A5A5A5039A9A9A010C0C0C0177777701 ++ F1F1F101FFFFFF03F2F2F2013E3E3E0100000003FFFFFF1000000010FFFFFF05 ++ E6E6E601FFFFFF06C7C7C7011E1E1E0100000002FFFFFF1000000010F3F3F301 ++ FFFFFF0C6E6E6E0113131302FFFFFF1000000010F3F3F301FFFFFF0CF1F1F101 ++ BCBCBC01B9B9B901FFFFFF1000000010F3F3F301FFFFFF0DFCFCFC01C9C9C901 ++ FFFFFF1000000010F3F3F301FFFFFF0CFDFDFD01FEFEFE0186868601FFFFFF10 ++ 00000010F3F3F301FFFFFF0CE3E3E301EDEDED0152525201FFFFFF1000000010 ++ F3F3F301FFFFFF0BFEFEFE01E1E1E101CFCFCF0128282801FFFFFF1000000010 ++ F3F3F301FFFFFF0BFEFEFE01F1F1F101A4A4A40104040401FFFFFF1000000010 ++ F3F3F301FFFFFF0CFDFDFD017777770100000001FFFFFF1000000010F3F3F301 ++ FFFFFF0CF4F4F4014444440100000001FFFFFF1000000010F3F3F301FFFFFF0C ++ DADADA010B0B0B0100000001EEEEEE01FFFFFF0EEEEEEE0100000010EFEFEF01 ++ FBFBFB0C9D9D9D01000000025C5C5C01EEEEEE01FFFFFF0CEEEEEE015C5C5C01 ++ 0C0C0C012222220D0E0E0E0100000001333333014646460E33333301E0E0E001 ++ EFEFEF0D8484840104040401D8D8D801FFFFFF0DDBDBDB010D0D0D01DFDFDF01 ++ FFFFFF0EDFDFDF01F5F5F501FFFFFF0DADADAD011C1C1C01FFFFFF0F24242401 ++ FFFFFF10EFEFEF01FFFFFF0DB1B1B10123232301FFFFFF0F26262601FFFFFF10 ++ EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF0F26262601FFFFFF10EFEFEF01 ++ FFFFFF0DB0B0B00122222201FFFFFF0F26262601FFFFFF10EFEFEF01FFFFFF0D ++ B0B0B00122222201FFFFFF0F26262601FFFFFF10EFEFEF01FFFFFF0DB0B0B001 ++ 22222201FFFFFF0F26262601FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201 ++ FFFFFF0EE9E9E90117171701FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201 ++ FFFFFF0ED6D6D6011C1C1C01FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201 ++ FFFFFF0EEAEAEA0118181801FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201 ++ FFFFFF0F18181801FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF0F ++ 21212101FFFFFF10EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF0EECECEC01 ++ 3C3C3C01FFFFFF1EB7B7B7012222220113131301262626091111110103030301 ++ 020202010909090126262601070707018B8B8B1084848401AAAAAA01B1B1B101 ++ B0B0B00AB1B1B10184848401232323010000000B010101010404040100000014 ++ 1C1C1C01232323012222220A232323012222220110101001E0E0E001EFEFEF0D ++ 8484840104040401FFFFFF20F5F5F501FFFFFF0DADADAD011C1C1C01FFFFFF20 ++ EFEFEF01FFFFFF0DB1B1B10123232301FFFFFF20EFEFEF01FFFFFF0DB0B0B001 ++ 22222201FFFFFF20EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF20EFEFEF01 ++ FFFFFF0DB0B0B00122222201FFFFFF20EFEFEF01FFFFFF0DB0B0B00122222201 ++ FFFFFF20EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF20EFEFEF01FFFFFF0D ++ B0B0B00122222201FFFFFF20EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF20 ++ EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF20EFEFEF01FFFFFF0DB0B0B001 ++ 22222201FFFFFF20EFEFEF01FFFFFF0DB0B0B00122222201FFFFFF2EB7B7B701 ++ 22222201FFFFFF2084848401AAAAAA01B1B1B101B0B0B00AB1B1B10184848401 ++ 23232301FFFFFF20000000011C1C1C01232323012222220A2323230122222201 ++ 10101001FFFFFF20 ++ } ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/main_mfm.pas mseide-msegui-1.8/contrib/miha/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/miha/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,532 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..10291] of byte end = ++ (size: 10292; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,77,97,105,110,70,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,116,8,98,111,117,110,100,115, ++ 95,121,3,150,0,9,98,111,117,110,100,115,95,99,120,3,139,1,9,98, ++ 111,117,110,100,115,95,99,121,3,61,1,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,15,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,139,1,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,46,1,30, ++ 99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,115,98,104,111, ++ 114,122,46,111,112,116,105,111,110,115,11,14,115,98,111,95,116,104,117,109, ++ 98,116,114,97,99,107,12,115,98,111,95,109,111,118,101,97,117,116,111,0, ++ 30,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,115,98,118, ++ 101,114,116,46,111,112,116,105,111,110,115,11,14,115,98,111,95,116,104,117, ++ 109,98,116,114,97,99,107,12,115,98,111,95,109,111,118,101,97,117,116,111, ++ 0,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11, ++ 14,119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,8,109,97,105, ++ 110,109,101,110,117,7,7,77,110,117,77,97,105,110,10,102,111,110,116,46, ++ 100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,7,102,111,95, ++ 109,97,105,110,19,102,111,95,116,101,114,109,105,110,97,116,101,111,110,99, ++ 108,111,115,101,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116, ++ 16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111, ++ 95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116, ++ 101,0,8,115,116,97,116,102,105,108,101,7,7,77,97,105,110,83,116,97, ++ 17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0, ++ 0,0,128,8,111,110,108,111,97,100,101,100,7,12,79,110,76,111,97,100, ++ 101,100,70,111,114,109,15,109,111,100,117,108,101,99,108,97,115,115,110,97, ++ 109,101,6,8,116,109,115,101,102,111,114,109,0,10,116,100,111,99,107,112, ++ 97,110,101,108,7,77,68,73,65,114,101,97,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,98,97,99,107,103,114,111,117,110, ++ 100,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12, ++ 111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115, ++ 95,120,2,1,8,98,111,117,110,100,115,95,121,2,1,9,98,111,117,110, ++ 100,115,95,99,120,3,137,1,9,98,111,117,110,100,115,95,99,121,3,42, ++ 1,5,99,111,108,111,114,4,1,0,0,144,12,102,114,97,109,101,46,108, ++ 101,118,101,108,105,2,254,17,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,108,101,102,116,2,1,16,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,116,111,112,2,1,18,102,114,97,109,101,46,102,114,97,109,101,105,95, ++ 114,105,103,104,116,2,1,19,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,98,111,116,116,111,109,2,1,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,10,102, ++ 114,108,95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11, ++ 102,114,108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111, ++ 116,116,111,109,0,15,102,114,97,109,101,46,103,114,105,112,95,115,105,122, ++ 101,2,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110, ++ 99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111, ++ 112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109, ++ 0,20,100,114,97,103,100,111,99,107,46,111,112,116,105,111,110,115,100,111, ++ 99,107,11,10,111,100,95,99,97,110,100,111,99,107,14,111,100,95,97,99, ++ 99,101,112,116,115,100,111,99,107,13,111,100,95,98,97,99,107,103,114,111, ++ 117,110,100,0,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,0,0,9,116,109,97,105,110,109,101,110,117,7, ++ 77,110,117,77,97,105,110,18,109,101,110,117,46,115,117,98,109,101,110,117, ++ 46,99,111,117,110,116,2,2,18,109,101,110,117,46,115,117,98,109,101,110, ++ 117,46,105,116,101,109,115,14,1,13,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,3,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14, ++ 1,6,97,99,116,105,111,110,7,14,65,99,116,105,111,110,70,105,108,101, ++ 79,112,101,110,0,1,7,111,112,116,105,111,110,115,11,13,109,97,111,95, ++ 115,101,112,97,114,97,116,111,114,19,109,97,111,95,115,104,111,114,116,99, ++ 117,116,99,97,112,116,105,111,110,0,0,1,6,97,99,116,105,111,110,7, ++ 10,65,99,116,105,111,110,69,120,105,116,0,0,7,99,97,112,116,105,111, ++ 110,6,4,70,105,108,101,4,110,97,109,101,6,7,77,110,117,70,105,108, ++ 101,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46,99,111,117,110, ++ 116,2,2,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,6, ++ 97,99,116,105,111,110,7,19,65,99,116,105,111,110,72,105,100,101,77,105, ++ 110,105,109,105,122,101,100,0,1,7,111,112,116,105,111,110,115,11,13,109, ++ 97,111,95,115,101,112,97,114,97,116,111,114,19,109,97,111,95,115,104,111, ++ 114,116,99,117,116,99,97,112,116,105,111,110,0,0,0,7,99,97,112,116, ++ 105,111,110,6,6,87,105,110,100,111,119,4,110,97,109,101,6,9,77,110, ++ 117,87,105,110,100,111,119,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,0,0,0,10,109,101,110,117,46,115, ++ 116,97,116,101,11,17,97,115,95,108,111,99,97,108,105,109,97,103,101,108, ++ 105,115,116,0,4,108,101,102,116,2,24,3,116,111,112,2,32,0,0,7, ++ 116,97,99,116,105,111,110,10,65,99,116,105,111,110,69,120,105,116,7,99, ++ 97,112,116,105,111,110,6,4,69,120,105,116,9,105,109,97,103,101,108,105, ++ 115,116,7,3,73,109,103,7,105,109,97,103,101,110,114,2,2,9,111,110, ++ 101,120,101,99,117,116,101,7,16,79,110,69,120,101,99,65,99,116,105,111, ++ 110,69,120,105,116,4,108,101,102,116,2,16,3,116,111,112,3,167,0,0, ++ 0,7,116,97,99,116,105,111,110,14,65,99,116,105,111,110,70,105,108,101, ++ 79,112,101,110,7,99,97,112,116,105,111,110,6,4,79,112,101,110,9,105, ++ 109,97,103,101,108,105,115,116,7,3,73,109,103,7,105,109,97,103,101,110, ++ 114,2,1,4,104,105,110,116,6,9,79,112,101,110,32,102,105,108,101,9, ++ 111,110,101,120,101,99,117,116,101,7,20,79,110,69,120,101,99,65,99,116, ++ 105,111,110,70,105,108,101,79,112,101,110,4,108,101,102,116,2,16,3,116, ++ 111,112,3,143,0,0,0,11,116,102,105,108,101,100,105,97,108,111,103,10, ++ 70,105,108,101,68,105,97,108,111,103,8,115,116,97,116,102,105,108,101,7, ++ 7,77,97,105,110,83,116,97,11,115,116,97,116,118,97,114,110,97,109,101, ++ 6,4,70,105,108,101,26,99,111,110,116,114,111,108,108,101,114,46,102,105, ++ 108,116,101,114,108,105,115,116,46,100,97,116,97,1,1,6,4,84,101,120, ++ 116,6,23,34,42,46,112,97,115,34,32,34,42,46,109,102,109,34,32,34, ++ 42,46,116,120,116,34,0,1,6,24,65,108,108,32,102,105,108,101,115,32, ++ 40,79,112,101,110,32,97,115,32,116,101,120,116,41,6,1,42,0,0,10, ++ 100,105,97,108,111,103,107,105,110,100,7,8,102,100,107,95,110,111,110,101, ++ 4,108,101,102,116,3,216,0,3,116,111,112,2,87,0,0,9,116,115,116, ++ 97,116,102,105,108,101,7,77,97,105,110,83,116,97,8,102,105,108,101,110, ++ 97,109,101,6,10,115,116,97,116,117,115,46,115,116,97,4,108,101,102,116, ++ 3,232,0,3,116,111,112,3,175,0,0,0,7,116,97,99,116,105,111,110, ++ 19,65,99,116,105,111,110,72,105,100,101,77,105,110,105,109,105,122,101,100, ++ 7,99,97,112,116,105,111,110,6,14,72,105,100,101,32,109,105,110,105,109, ++ 105,122,101,100,9,105,109,97,103,101,108,105,115,116,7,3,73,109,103,7, ++ 105,109,97,103,101,110,114,2,3,9,111,110,101,120,101,99,117,116,101,7, ++ 19,79,110,69,120,101,99,65,99,116,105,111,110,72,105,100,101,77,105,110, ++ 4,108,101,102,116,2,16,3,116,111,112,3,192,0,0,0,10,116,105,109, ++ 97,103,101,108,105,115,116,3,73,109,103,9,99,111,108,111,114,109,97,115, ++ 107,9,16,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4, ++ 0,0,0,128,5,99,111,117,110,116,2,7,4,108,101,102,116,2,16,3, ++ 116,111,112,3,224,0,5,105,109,97,103,101,10,232,30,0,0,0,0,0, ++ 0,6,0,0,0,48,0,0,0,48,0,0,0,88,25,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,4,4,124,1,34,34,173,1,42,42,186, ++ 12,34,34,173,1,4,4,124,1,255,255,255,16,4,4,124,1,34,34,173, ++ 1,42,42,186,12,34,34,173,1,4,4,124,1,34,34,173,1,56,56,211, ++ 1,92,92,199,1,96,96,199,3,97,97,202,1,100,100,206,1,103,103,209, ++ 1,105,105,213,1,108,108,217,1,110,110,220,1,112,112,222,1,110,110,224, ++ 1,72,72,234,1,34,34,173,1,213,94,35,1,233,146,94,1,232,137,83, ++ 1,232,136,80,1,209,80,22,1,194,103,81,1,190,117,109,1,190,110,102, ++ 1,187,104,93,1,192,114,104,1,197,122,114,1,183,95,86,1,183,95,85, ++ 1,183,86,71,1,183,88,75,1,178,42,13,1,34,34,173,1,56,56,211, ++ 1,92,92,199,1,96,96,199,3,97,97,202,1,100,100,206,1,103,103,209, ++ 1,105,105,213,1,108,108,217,1,110,110,220,1,112,112,222,1,110,110,224, ++ 1,72,72,234,1,34,34,173,1,41,41,184,1,92,92,198,1,165,165,223, ++ 3,192,192,232,1,214,214,233,1,235,235,243,1,234,234,241,1,212,212,230, ++ 1,187,187,224,1,174,174,236,1,175,175,238,1,176,176,240,1,114,114,230, ++ 1,41,41,184,1,213,94,35,1,233,146,94,1,232,137,83,1,232,136,80, ++ 1,209,80,22,1,194,103,81,1,189,116,107,1,184,101,93,1,204,136,130, ++ 1,240,208,206,1,247,222,220,1,187,99,90,1,177,81,70,1,178,30,0, ++ 1,178,23,0,1,176,26,0,1,41,41,184,1,92,92,198,1,165,165,223, ++ 3,192,192,232,1,214,214,233,1,235,235,243,1,234,234,241,1,212,212,230, ++ 1,187,187,224,1,174,174,236,1,175,175,238,1,176,176,240,1,114,114,230, ++ 1,41,41,184,1,40,40,183,1,85,85,196,1,142,142,215,1,148,148,217, ++ 1,212,212,235,1,255,255,255,1,247,247,249,1,216,216,227,1,217,217,229, ++ 1,247,247,249,1,255,255,255,1,206,206,226,1,156,156,227,1,158,158,238, ++ 1,111,111,233,1,40,40,183,1,211,92,33,1,232,141,88,1,231,132,78, ++ 1,231,131,75,1,207,74,17,1,192,100,78,1,192,117,110,1,221,168,163, ++ 1,251,233,233,1,254,241,242,1,252,235,236,1,219,161,155,1,175,76,65, ++ 1,177,34,4,1,178,28,0,1,176,28,0,1,40,40,183,1,85,85,196, ++ 1,142,142,215,1,148,148,217,1,212,212,235,1,255,255,255,1,247,247,249, ++ 1,216,216,227,1,217,217,229,1,247,247,249,1,255,255,255,1,206,206,226, ++ 1,156,156,227,1,158,158,238,1,111,111,233,1,40,40,183,1,39,39,182, ++ 1,54,54,185,1,117,117,207,1,205,205,234,1,254,254,254,1,177,177,204, ++ 1,114,114,191,1,126,126,217,1,131,131,225,1,131,131,219,1,189,189,223, ++ 1,254,254,254,1,199,199,221,1,137,137,233,1,104,104,235,1,39,39,182, ++ 1,224,129,73,1,252,236,185,1,252,222,166,1,252,218,155,1,238,171,118, ++ 1,207,130,111,1,237,211,209,1,254,252,252,1,254,242,242,1,251,230,230, ++ 1,251,228,230,1,247,222,222,1,195,107,93,1,175,29,1,1,178,28,0, ++ 1,176,28,0,1,39,39,182,1,54,54,185,1,117,117,207,1,205,205,234, ++ 1,254,254,254,1,177,177,204,1,114,114,191,1,126,126,217,1,131,131,225, ++ 1,131,131,219,1,189,189,223,1,254,254,254,1,199,199,221,1,137,137,233, ++ 1,104,104,235,1,39,39,182,1,37,37,179,1,28,28,176,1,113,113,206, ++ 1,255,255,255,1,170,170,201,1,102,102,205,1,110,110,217,1,171,171,229, ++ 1,164,164,216,1,114,114,223,1,118,118,229,1,187,187,231,1,255,255,255, ++ 1,147,147,207,1,96,96,236,1,37,37,179,1,224,134,79,1,254,252,202, ++ 1,252,230,175,1,236,187,149,1,221,170,161,1,251,241,241,1,254,254,254, ++ 1,254,247,247,1,254,238,238,1,251,232,232,1,248,226,227,1,243,206,200, ++ 1,215,149,137,1,172,51,26,1,174,20,0,1,175,26,0,1,37,37,179, ++ 1,28,28,176,1,113,113,206,1,255,255,255,1,170,170,201,1,102,102,205, ++ 1,110,110,217,1,171,171,229,1,164,164,216,1,114,114,223,1,118,118,229, ++ 1,187,187,231,1,255,255,255,1,147,147,207,1,96,96,236,1,37,37,179, ++ 1,35,35,177,1,31,31,180,1,172,172,222,1,244,244,248,1,69,69,174, ++ 1,88,88,212,1,91,91,215,1,247,247,251,1,246,246,249,1,86,86,199, ++ 1,100,100,228,1,106,106,232,1,246,246,251,1,184,184,216,1,74,74,235, ++ 1,35,35,177,1,224,131,75,1,254,251,200,1,232,182,151,1,228,195,196, ++ 1,254,254,254,4,254,248,253,1,254,246,251,1,222,145,116,1,218,112,70, ++ 1,226,135,96,1,208,98,58,1,209,88,47,1,184,42,8,1,35,35,177, ++ 1,31,31,180,1,172,172,222,1,244,244,248,1,69,69,174,1,88,88,212, ++ 1,91,91,215,1,247,247,251,1,246,246,249,1,86,86,199,1,100,100,228, ++ 1,106,106,232,1,246,246,251,1,184,184,216,1,74,74,235,1,35,35,177, ++ 1,34,34,174,1,34,34,186,1,218,218,239,1,199,199,222,1,42,42,189, ++ 1,56,56,207,1,69,69,213,1,249,249,252,1,249,249,251,1,70,70,195, ++ 1,83,83,229,1,80,80,231,1,208,208,240,1,220,220,237,1,67,67,224, ++ 1,34,34,174,1,224,128,73,1,254,253,203,1,241,189,143,1,221,143,110, ++ 1,240,178,146,1,235,171,141,1,232,168,137,1,232,163,134,1,231,160,134, ++ 1,216,123,90,1,219,107,57,1,249,152,87,1,254,144,70,1,254,150,75, ++ 1,231,93,38,1,182,31,4,1,34,34,174,1,34,34,186,1,218,218,239, ++ 1,199,199,222,1,42,42,189,1,56,56,207,1,69,69,213,1,249,249,252, ++ 1,249,249,251,1,70,70,195,1,83,83,229,1,80,80,231,1,208,208,240, ++ 1,220,220,237,1,67,67,224,1,34,34,174,1,32,32,172,1,38,38,191, ++ 1,219,219,239,1,200,200,223,1,46,46,200,1,51,51,209,1,54,54,214, ++ 1,249,249,252,1,249,249,251,1,54,54,196,1,66,66,230,1,68,68,233, ++ 1,208,208,242,1,221,221,237,1,67,67,220,1,32,32,172,1,222,127,70, ++ 1,254,254,207,1,231,142,79,1,226,141,100,1,245,194,167,1,247,197,159, ++ 1,245,188,143,1,243,175,128,1,242,163,111,1,243,153,101,1,254,164,101, ++ 1,254,134,55,1,252,125,46,1,235,89,29,1,188,24,0,1,174,22,0, ++ 1,32,32,172,1,38,38,191,1,219,219,239,1,200,200,223,1,46,46,200, ++ 1,51,51,209,1,54,54,214,1,249,249,252,1,249,249,251,1,54,54,196, ++ 1,66,66,230,1,68,68,233,1,208,208,242,1,221,221,237,1,67,67,220, ++ 1,32,32,172,1,29,29,168,1,42,42,196,1,176,176,225,1,244,244,248, ++ 1,52,52,191,1,54,54,214,1,57,57,218,1,249,249,252,1,249,249,251, ++ 1,57,57,200,1,68,68,233,1,75,75,236,1,245,245,251,1,178,178,216, ++ 1,75,75,240,1,29,29,168,1,221,124,68,1,254,242,191,1,219,112,56, ++ 1,252,235,218,1,248,228,208,1,253,251,213,1,254,222,169,1,253,184,125, ++ 1,252,152,89,1,251,128,60,1,246,103,39,1,227,75,22,1,201,38,7, ++ 1,187,11,0,1,181,16,0,1,172,23,0,1,29,29,168,1,42,42,196, ++ 1,176,176,225,1,244,244,248,1,52,52,191,1,54,54,214,1,57,57,218, ++ 1,249,249,252,1,249,249,251,1,57,57,200,1,68,68,233,1,75,75,236, ++ 1,245,245,251,1,178,178,216,1,75,75,240,1,29,29,168,1,27,27,165, ++ 1,45,45,201,1,112,112,214,1,255,255,255,1,157,157,209,1,57,57,218, ++ 1,60,60,222,1,187,187,232,1,183,183,217,1,62,62,213,1,70,70,237, ++ 1,172,172,244,1,255,255,255,1,117,117,197,1,79,79,249,1,27,27,165, ++ 1,222,128,72,1,245,191,133,1,231,143,97,1,254,254,225,1,248,213,162, ++ 1,251,196,143,1,254,171,111,1,251,136,76,1,243,106,48,1,237,79,22, ++ 1,218,48,6,1,201,30,0,1,192,21,0,1,188,11,0,1,176,18,0, ++ 1,169,22,0,1,27,27,165,1,45,45,201,1,112,112,214,1,255,255,255, ++ 1,157,157,209,1,57,57,218,1,60,60,222,1,187,187,232,1,183,183,217, ++ 1,62,62,213,1,70,70,237,1,172,172,244,1,255,255,255,1,117,117,197, ++ 1,79,79,249,1,27,27,165,1,24,24,162,1,48,48,205,1,51,51,210, ++ 1,183,183,228,1,254,254,254,1,161,161,218,1,68,68,224,1,66,66,230, ++ 1,65,65,225,1,75,75,237,1,171,171,243,1,254,254,254,1,184,184,220, ++ 1,73,73,230,1,80,80,250,1,24,24,162,1,222,129,72,1,227,144,85, ++ 1,240,194,159,1,254,237,185,1,254,204,133,1,249,164,100,1,252,156,94, ++ 1,249,132,71,1,242,100,40,1,228,60,8,1,218,41,0,1,210,36,0, ++ 1,200,25,0,1,185,12,0,1,171,18,0,1,169,19,0,1,24,24,162, ++ 1,48,48,205,1,51,51,210,1,183,183,228,1,254,254,254,1,161,161,218, ++ 1,68,68,224,1,66,66,230,1,65,65,225,1,75,75,237,1,171,171,243, ++ 1,254,254,254,1,184,184,220,1,73,73,230,1,80,80,250,1,24,24,162, ++ 1,22,22,159,1,51,51,210,1,54,54,214,1,67,67,219,1,183,183,225, ++ 1,255,255,255,1,245,245,250,1,206,206,236,1,207,207,239,1,245,245,251, ++ 1,255,255,255,1,184,184,220,1,78,78,213,1,80,80,250,1,81,81,252, ++ 1,22,22,159,1,215,99,41,1,228,136,82,1,248,216,184,1,254,237,200, ++ 1,254,218,175,1,252,192,151,1,247,174,136,1,243,159,120,1,232,125,88, ++ 1,225,103,64,1,218,94,59,1,206,83,56,1,196,72,49,1,183,43,21, ++ 1,168,17,0,1,169,19,0,1,22,22,159,1,51,51,210,1,54,54,214, ++ 1,67,67,219,1,183,183,225,1,255,255,255,1,245,245,250,1,206,206,236, ++ 1,207,207,239,1,245,245,251,1,255,255,255,1,184,184,220,1,78,78,213, ++ 1,80,80,250,1,81,81,252,1,22,22,159,1,19,19,155,1,53,53,213, ++ 1,57,57,218,1,60,60,222,1,63,63,226,1,120,120,218,1,179,179,221, ++ 1,221,221,237,2,179,179,219,1,119,119,203,1,74,74,233,1,80,80,250, ++ 1,81,81,252,2,19,19,155,1,202,63,8,1,230,150,108,1,254,253,254, ++ 1,254,254,254,1,254,253,254,1,252,243,246,1,247,233,236,1,241,222,226, ++ 1,236,215,219,1,230,206,209,1,224,195,197,1,218,184,187,1,214,178,181, ++ 1,187,81,57,1,166,13,0,1,167,16,0,1,19,19,155,1,53,53,213, ++ 1,57,57,218,1,60,60,222,1,63,63,226,1,120,120,218,1,179,179,221, ++ 1,221,221,237,2,179,179,219,1,119,119,203,1,74,74,233,1,80,80,250, ++ 1,81,81,252,2,19,19,155,1,13,13,144,1,47,47,202,1,59,59,221, ++ 1,63,63,226,1,66,66,230,1,68,68,234,1,70,70,237,1,72,72,238, ++ 1,72,72,233,1,77,77,246,1,79,79,249,1,80,80,250,1,81,81,252, ++ 2,62,62,223,1,13,13,144,1,195,51,3,1,241,197,177,1,254,254,254, ++ 4,251,246,249,1,242,231,235,1,233,216,220,1,225,202,206,1,215,189,191, ++ 1,207,178,181,1,202,170,170,1,174,41,15,1,164,12,0,1,166,16,0, ++ 1,13,13,144,1,47,47,202,1,59,59,221,1,63,63,226,1,66,66,230, ++ 1,68,68,234,1,70,70,237,1,72,72,238,1,72,72,233,1,77,77,246, ++ 1,79,79,249,1,80,80,250,1,81,81,252,2,62,62,223,1,13,13,144, ++ 1,1,1,120,1,11,11,141,1,14,14,147,12,11,11,141,1,1,1,120, ++ 1,191,49,4,1,211,103,57,1,213,110,68,1,213,107,65,1,210,105,65, ++ 1,208,101,60,1,202,93,55,1,196,86,49,1,189,79,43,1,184,71,37, ++ 1,178,64,33,1,174,58,29,1,170,51,22,1,166,18,0,1,166,14,0, ++ 1,166,15,0,1,1,1,120,1,11,11,141,1,14,14,147,12,11,11,141, ++ 1,1,1,120,1,225,146,56,1,218,140,53,1,210,132,49,1,206,125,45, ++ 1,201,118,41,1,196,111,37,1,192,104,33,1,186,97,28,1,183,90,24, ++ 1,178,83,21,1,173,76,17,1,168,69,12,1,164,62,8,1,160,54,5, ++ 1,145,46,2,1,0,0,0,1,230,152,61,1,233,159,72,1,231,155,71, ++ 1,228,147,66,1,225,139,60,1,221,130,54,1,218,122,48,1,215,115,42, ++ 1,210,105,35,1,207,98,29,1,204,90,23,1,200,81,17,1,197,73,11, ++ 1,194,66,7,1,185,60,4,1,169,52,1,1,219,170,128,1,226,178,137, ++ 1,226,175,131,1,226,171,124,1,226,168,116,1,226,164,109,1,226,160,101, ++ 1,226,158,96,1,226,156,94,1,226,157,94,3,228,160,101,1,230,153,66, ++ 1,88,52,0,1,0,0,0,1,233,160,73,1,244,183,106,1,243,173,98, ++ 1,241,163,89,1,239,152,79,1,238,142,70,1,236,131,60,1,234,120,50, ++ 1,232,110,40,1,230,98,30,1,228,88,20,1,226,76,10,1,224,70,5, ++ 1,222,66,4,1,171,49,1,1,0,0,0,1,235,164,77,1,245,183,106, ++ 1,244,176,101,1,243,167,92,1,241,158,84,1,240,147,75,1,238,137,65, ++ 1,237,127,56,1,235,116,46,1,233,106,37,1,232,96,27,1,230,85,17, ++ 1,229,75,9,1,227,70,5,1,220,65,3,1,182,53,1,1,226,179,139, ++ 1,255,214,173,1,255,203,147,1,255,188,116,1,255,169,81,1,255,149,47, ++ 1,255,134,15,1,255,122,0,1,255,116,0,1,255,118,0,1,255,121,0, ++ 1,255,122,0,2,252,125,0,1,86,54,0,1,0,0,0,1,242,176,96, ++ 1,255,196,128,1,255,186,118,1,11,11,244,1,255,164,96,1,255,152,84, ++ 1,255,140,71,1,255,128,58,1,255,115,46,1,255,102,32,1,255,89,20, ++ 1,11,11,244,1,255,73,3,2,190,49,2,1,0,0,0,1,241,174,94, ++ 1,255,200,135,1,255,192,127,1,255,182,116,1,255,173,107,1,255,161,96, ++ 1,255,151,85,1,255,140,74,1,255,128,61,1,255,117,50,1,255,105,39, ++ 1,255,93,27,1,255,83,17,1,255,81,14,1,250,78,14,1,195,58,6, ++ 1,225,182,145,1,245,221,205,1,240,212,194,1,236,203,184,1,236,199,174, ++ 1,248,206,164,1,248,200,154,1,248,197,146,1,248,196,142,1,245,191,141, ++ 1,232,178,140,1,240,186,138,1,243,191,146,1,244,177,95,1,87,50,0, ++ 1,0,0,0,1,242,194,140,1,255,239,222,1,255,236,220,1,11,11,244, ++ 2,255,228,211,1,255,225,208,1,255,222,205,1,255,219,202,1,255,216,199, ++ 1,11,11,244,2,7,7,54,1,251,203,185,1,198,118,87,1,0,0,0, ++ 1,240,188,129,1,255,235,213,1,255,232,211,1,255,229,207,1,255,226,204, ++ 1,255,222,201,1,255,219,197,1,255,216,194,1,255,212,189,1,255,208,186, ++ 1,255,204,182,1,254,199,176,1,253,195,172,1,252,192,170,1,248,188,167, ++ 1,197,109,73,1,242,204,156,1,160,158,249,1,36,30,238,1,57,52,241, ++ 1,176,174,244,1,253,255,246,1,253,251,245,1,253,252,243,1,253,255,241, ++ 1,236,235,239,1,98,95,244,1,43,42,248,1,77,76,255,1,235,194,143, ++ 1,90,51,0,1,0,0,0,1,241,201,155,1,255,255,255,3,11,11,244, ++ 2,255,255,255,3,11,11,244,2,7,7,54,1,250,246,246,1,248,244,244, ++ 1,199,138,114,1,0,0,0,1,240,196,146,1,255,255,255,9,254,253,253, ++ 1,252,251,251,1,251,248,248,1,249,246,246,1,246,242,242,1,198,133,106, ++ 1,245,207,156,1,148,146,249,1,0,0,237,1,44,37,239,1,207,205,239, ++ 1,255,255,246,1,255,251,245,1,255,251,243,1,255,252,242,1,251,249,238, ++ 1,117,108,233,1,2,0,242,1,48,42,247,1,235,189,133,1,90,52,0, ++ 1,0,0,0,1,240,199,154,1,255,255,255,4,11,11,244,2,255,255,255, ++ 1,11,11,244,2,7,7,54,1,250,246,246,1,248,244,244,1,247,241,241, ++ 1,197,136,112,1,0,0,0,1,239,195,146,1,255,255,255,8,254,253,253, ++ 1,253,251,251,1,251,248,248,1,249,246,246,1,248,244,244,1,245,239,239, ++ 1,197,131,104,1,244,205,155,1,148,144,246,1,118,111,238,1,48,40,237, ++ 1,40,32,237,1,207,202,234,1,255,253,243,1,255,250,242,1,255,252,240, ++ 1,122,112,232,1,3,0,240,1,116,107,229,1,102,95,240,1,227,181,132, ++ 1,90,52,0,1,0,0,0,1,239,198,154,1,255,255,255,5,11,11,244, ++ 3,7,7,54,1,250,247,247,1,248,244,244,1,247,242,242,1,245,239,239, ++ 1,196,134,110,1,0,0,0,1,238,193,145,1,255,255,255,7,254,253,253, ++ 1,253,251,251,1,251,249,249,1,249,246,246,1,248,244,244,1,246,241,241, ++ 1,243,236,236,1,195,129,102,1,228,190,154,1,240,238,246,1,254,252,240, ++ 1,192,184,237,1,123,115,235,1,240,238,235,1,255,251,242,1,255,249,240, ++ 1,255,251,239,1,189,177,224,1,121,110,228,1,252,248,233,1,242,236,231, ++ 1,238,192,129,1,87,49,0,1,0,0,0,1,238,170,109,1,255,255,255, ++ 4,252,249,249,1,11,11,244,3,252,249,249,2,253,252,252,2,252,249,249, ++ 1,202,116,74,1,0,0,0,1,237,191,144,1,255,255,255,6,254,254,254, ++ 1,253,251,251,1,252,249,249,1,250,247,247,1,248,244,244,1,247,242,242, ++ 1,245,239,239,1,241,234,234,1,194,128,101,1,225,187,154,1,255,255,244, ++ 1,255,253,246,1,255,254,244,1,255,254,243,1,255,251,242,1,255,249,240, ++ 1,255,249,239,1,255,248,237,1,255,250,236,1,255,250,234,1,255,249,234, ++ 1,255,251,236,1,243,195,128,1,86,48,0,1,0,0,0,1,230,186,143, ++ 1,255,255,255,4,11,11,244,2,7,7,54,1,11,11,244,2,253,252,252, ++ 4,202,116,74,1,0,0,0,1,236,190,143,1,255,255,255,5,254,254,254, ++ 1,253,251,251,1,251,248,248,1,250,246,246,1,248,244,244,1,246,242,242, ++ 1,245,239,239,1,244,237,237,1,239,231,231,1,193,126,99,1,225,187,153, ++ 1,255,255,241,1,255,253,244,1,255,253,243,1,255,253,242,1,255,251,240, ++ 1,255,248,239,1,255,248,237,1,255,247,236,1,255,250,234,1,255,250,233, ++ 1,255,248,232,1,255,250,235,1,243,195,126,1,86,48,0,1,0,0,0, ++ 1,236,194,151,1,255,255,255,3,11,11,244,2,7,7,54,1,250,247,247, ++ 1,253,252,252,1,11,11,244,2,253,252,252,3,202,116,74,1,19,179,244, ++ 1,235,189,142,1,255,255,255,4,254,254,254,1,253,251,251,1,252,249,249, ++ 1,250,246,246,1,248,244,244,1,247,242,242,1,245,239,239,1,244,237,237, ++ 1,242,235,235,1,238,229,229,1,192,125,98,1,228,189,152,1,240,238,239, ++ 1,254,253,242,1,192,182,230,1,123,113,232,1,240,238,235,1,255,249,237, ++ 1,255,248,236,1,255,250,234,1,189,175,218,1,121,109,225,1,252,246,229, ++ 1,242,235,228,1,238,191,125,1,87,49,0,1,0,0,0,1,236,192,150, ++ 1,255,255,255,2,11,11,244,2,7,7,54,1,250,247,247,1,249,244,244, ++ 1,247,242,242,1,253,252,252,1,11,11,244,2,253,252,252,2,202,116,74, ++ 1,21,108,179,1,234,187,141,1,255,255,255,3,254,254,254,1,253,251,251, ++ 1,252,249,249,1,250,247,247,1,248,244,244,1,247,242,242,1,245,240,240, ++ 1,244,237,237,1,242,235,235,1,241,232,232,1,236,227,227,1,191,124,97, ++ 1,244,204,151,1,148,142,239,1,118,110,233,1,48,40,236,1,40,31,237, ++ 1,207,201,222,1,255,252,236,1,255,248,234,1,255,249,233,1,122,109,225, ++ 1,3,0,242,1,116,105,224,1,102,92,235,1,227,178,127,1,90,52,0, ++ 1,0,0,0,1,235,191,150,1,255,255,255,1,255,254,254,1,11,11,244, ++ 1,7,7,54,1,250,247,247,1,249,244,244,1,247,242,242,1,246,239,239, ++ 1,253,252,252,2,11,11,244,1,7,7,54,1,253,252,252,1,202,116,74, ++ 1,0,0,0,1,233,186,141,1,255,255,255,2,254,254,254,1,253,251,251, ++ 1,252,249,249,1,250,246,246,1,249,244,244,1,247,242,242,1,245,239,239, ++ 1,244,237,237,1,242,235,235,1,241,232,232,1,240,230,230,1,235,224,224, ++ 1,191,123,96,1,245,204,151,1,148,142,238,1,0,0,241,1,44,36,237, ++ 1,207,199,222,1,255,253,236,1,255,247,235,1,255,247,234,1,255,248,232, ++ 1,251,246,228,1,117,105,224,1,2,0,245,1,48,41,246,1,235,185,124, ++ 1,90,52,0,1,0,0,0,1,234,189,149,1,255,254,254,1,253,252,252, ++ 1,252,250,250,1,250,247,247,1,249,245,245,1,247,242,242,1,246,240,240, ++ 1,244,237,237,1,253,252,252,5,202,116,74,1,21,108,179,1,232,184,140, ++ 1,255,255,255,1,254,254,254,1,253,251,251,1,252,249,249,1,250,247,247, ++ 1,249,244,244,1,247,242,242,1,245,239,239,1,244,237,237,1,242,235,235, ++ 1,241,232,232,1,240,230,230,1,238,228,228,1,234,222,223,1,191,123,96, ++ 1,245,205,158,1,165,159,245,1,41,35,247,1,62,55,245,1,180,172,233, ++ 1,255,254,239,1,255,249,238,1,255,248,236,1,255,250,234,1,240,233,227, ++ 1,102,93,236,1,47,41,246,1,82,75,249,1,238,190,130,1,90,51,0, ++ 1,0,0,0,1,218,150,90,1,223,175,137,1,219,169,133,1,215,164,129, ++ 1,212,158,125,1,208,152,121,1,204,146,116,1,202,116,74,8,22,175,249, ++ 1,227,172,123,1,244,230,220,1,242,227,218,1,240,223,214,1,238,220,211, ++ 1,235,217,209,1,233,213,206,1,231,210,203,1,228,206,200,1,226,203,197, ++ 1,224,200,194,1,223,199,192,1,222,197,191,1,221,196,189,1,219,192,186, ++ 1,186,111,81,1,228,170,100,1,239,196,139,1,235,190,136,1,230,185,135, ++ 1,231,185,133,1,242,198,131,1,242,195,129,1,242,195,128,1,242,195,126, ++ 1,240,190,125,1,227,179,126,1,235,186,124,1,238,191,131,1,245,180,84, ++ 1,95,55,0,1,0,0,0,12,25,129,215,1,14,202,251,1,0,0,0, ++ 3,213,132,62,1,213,142,85,1,209,136,81,1,205,129,77,1,200,123,73, ++ 1,196,117,69,1,192,111,65,1,188,105,62,1,183,98,57,1,179,92,53, ++ 1,176,88,50,1,176,87,50,4,169,67,22,1,87,50,0,1,88,50,0, ++ 1,91,52,0,2,89,50,0,1,86,48,0,4,87,49,0,1,90,52,0, ++ 1,91,52,0,1,90,52,0,1,94,55,0,1,43,26,0,1,0,0,0, ++ 12,29,148,247,1,19,184,250,1,0,0,0,35,219,170,128,1,226,178,137, ++ 1,226,175,131,1,226,171,124,1,226,168,116,1,226,164,109,1,226,160,101, ++ 1,226,158,96,1,226,156,94,1,226,157,94,3,228,160,101,1,230,153,66, ++ 1,88,52,0,1,0,0,0,1,192,192,192,1,243,243,243,1,251,251,251, ++ 1,202,202,202,1,39,39,39,1,0,0,0,1,141,141,141,1,250,250,250, ++ 1,255,255,255,1,0,0,0,1,27,27,27,1,185,185,185,1,248,248,248, ++ 1,235,235,235,1,166,166,166,1,0,0,0,1,53,53,53,1,230,230,230, ++ 1,221,221,221,1,196,196,196,1,255,255,255,1,0,0,0,2,255,255,255, ++ 1,164,164,164,1,0,0,0,1,141,141,141,1,250,250,250,1,255,255,255, ++ 1,0,0,0,1,22,22,22,1,179,179,179,1,226,179,139,1,255,212,173, ++ 1,255,202,147,1,255,184,116,1,255,166,81,1,255,149,47,1,255,134,15, ++ 1,255,122,0,1,255,116,0,1,255,117,0,2,255,120,0,1,255,119,0, ++ 1,251,125,0,1,86,54,0,1,0,0,0,1,114,114,114,1,26,26,26, ++ 1,0,0,0,1,3,3,3,1,52,52,52,1,69,69,69,1,22,22,22, ++ 1,0,0,0,3,16,16,16,1,95,95,95,1,188,188,188,1,185,185,185, ++ 1,0,0,0,18,224,180,145,1,254,231,206,1,248,220,194,1,253,221,185, ++ 1,253,217,175,1,253,210,164,1,248,200,154,1,248,197,146,1,248,195,142, ++ 1,255,202,140,1,253,199,139,1,249,194,138,1,255,203,145,1,246,179,95, ++ 1,86,50,0,1,0,0,0,33,231,193,156,1,224,223,252,1,92,87,241, ++ 1,202,198,244,1,244,245,246,1,241,240,246,1,253,253,249,1,253,252,249, ++ 1,251,250,247,1,234,233,239,1,247,249,243,1,112,109,243,1,160,157,248, ++ 1,247,207,143,1,87,49,0,1,0,0,0,10,2,2,2,1,43,43,43, ++ 1,130,130,130,1,207,207,207,1,212,212,212,1,152,152,152,1,79,79,79, ++ 1,26,26,26,1,7,7,7,1,17,17,17,1,80,80,80,1,91,91,91, ++ 1,151,151,151,1,209,209,209,1,204,204,204,1,129,129,129,1,160,160,160, ++ 1,0,0,0,6,237,199,156,1,194,192,251,1,32,26,238,1,58,51,239, ++ 1,94,87,239,1,170,163,237,1,255,255,247,1,255,252,245,1,252,248,243, ++ 1,94,86,235,1,105,96,233,1,9,3,241,1,117,108,240,1,244,198,132, ++ 1,88,50,0,1,0,0,0,6,146,146,146,1,245,245,245,1,246,246,246, ++ 1,185,185,185,1,32,32,32,1,0,0,0,22,225,187,155,1,255,255,250, ++ 1,195,189,240,1,27,19,237,1,0,0,237,1,178,170,234,1,255,255,245, ++ 1,255,251,244,1,255,251,243,1,61,52,236,1,0,0,241,1,105,95,231, ++ 1,249,247,238,1,248,202,130,1,86,48,0,1,0,0,0,25,18,18,18, ++ 1,100,100,100,1,182,182,182,1,215,215,215,2,210,210,210,1,214,214,214, ++ 1,216,216,216,1,226,188,154,1,255,255,247,1,156,149,238,1,67,59,237, ++ 1,60,52,237,1,193,184,231,1,255,254,244,1,255,251,243,1,255,250,242, ++ 1,103,93,231,1,60,51,234,1,94,84,232,1,228,224,225,1,250,203,128, ++ 1,86,48,0,1,0,0,0,33,226,187,154,1,255,253,244,1,252,248,245, ++ 1,255,253,246,1,255,253,245,1,255,251,244,1,255,250,243,1,255,250,242, ++ 1,255,249,241,1,255,250,239,1,255,250,238,1,254,247,237,1,254,251,248, ++ 1,242,195,128,1,86,48,0,1,0,0,0,31,43,43,43,1,0,0,0, ++ 1,226,187,153,1,255,251,241,1,252,248,244,1,255,252,245,1,255,252,244, ++ 1,255,251,243,1,255,250,242,1,255,249,241,1,255,248,239,1,255,250,238, ++ 1,255,250,237,1,254,247,236,1,254,251,247,1,242,194,126,1,86,48,0, ++ 1,0,0,0,1,183,183,183,1,48,48,48,1,0,0,0,30,226,187,152, ++ 1,255,254,238,1,156,148,233,1,67,59,235,1,60,51,236,1,193,181,226, ++ 1,255,254,240,1,255,250,239,1,255,249,238,1,103,92,229,1,60,51,233, ++ 1,94,83,229,1,228,223,222,1,250,201,123,1,86,48,0,1,0,0,0, ++ 33,225,186,152,1,255,255,234,1,195,186,230,1,27,19,238,1,0,0,240, ++ 1,178,166,224,1,255,255,239,1,255,249,238,1,255,250,237,1,61,51,234, ++ 1,0,0,244,1,105,93,226,1,249,246,232,1,248,199,123,1,86,48,0, ++ 1,0,0,0,12,125,125,125,1,163,163,163,1,0,0,0,19,237,197,151, ++ 1,194,190,236,1,32,25,239,1,58,50,236,1,94,85,233,1,170,158,224, ++ 1,255,255,238,1,255,249,238,1,252,245,235,1,94,84,229,1,105,93,227, ++ 1,9,3,244,1,117,105,232,1,244,194,123,1,88,50,0,1,0,0,0, ++ 33,233,195,159,1,229,228,240,1,97,90,243,1,206,196,232,1,247,244,239, ++ 1,238,233,232,1,255,251,241,1,255,250,240,1,255,248,239,1,233,226,225, ++ 1,251,247,234,1,116,106,232,1,164,152,232,1,250,202,128,1,87,50,0, ++ 1,0,0,0,7,4,4,4,1,138,138,138,1,24,24,24,1,0,0,0, ++ 13,100,100,100,1,209,209,209,1,40,40,40,1,0,0,0,7,227,169,101, ++ 1,249,206,138,1,243,198,135,1,248,202,133,1,248,202,132,1,247,201,130, ++ 1,242,195,129,1,242,195,128,1,243,194,126,1,250,201,123,1,247,199,122, ++ 1,244,194,122,1,250,202,128,1,247,182,84,1,94,54,0,1,0,0,0, ++ 33,88,51,0,1,86,48,0,1,89,51,0,1,87,49,0,1,86,48,0, ++ 7,89,51,0,1,87,49,0,1,94,55,0,1,43,26,0,1,0,0,0, ++ 20,27,27,27,1,172,172,172,1,56,56,56,1,0,0,0,58,88,5,0, ++ 0,0,0,0,32,92,92,92,1,238,238,238,1,255,255,255,12,238,238,238, ++ 1,92,92,92,1,0,0,0,24,16,16,16,1,146,146,146,1,222,222,222, ++ 1,23,23,23,1,0,0,0,4,238,238,238,1,255,255,255,14,238,238,238, ++ 1,0,0,0,23,62,62,62,1,198,198,198,1,255,255,255,2,149,149,149, ++ 1,0,0,0,4,255,255,255,16,0,0,0,16,158,158,158,1,165,165,165, ++ 3,154,154,154,1,12,12,12,1,119,119,119,1,241,241,241,1,255,255,255, ++ 3,242,242,242,1,62,62,62,1,0,0,0,3,255,255,255,16,0,0,0, ++ 16,255,255,255,5,230,230,230,1,255,255,255,6,199,199,199,1,30,30,30, ++ 1,0,0,0,2,255,255,255,16,0,0,0,16,243,243,243,1,255,255,255, ++ 12,110,110,110,1,19,19,19,2,255,255,255,16,0,0,0,16,243,243,243, ++ 1,255,255,255,12,241,241,241,1,188,188,188,1,185,185,185,1,255,255,255, ++ 16,0,0,0,16,243,243,243,1,255,255,255,13,252,252,252,1,201,201,201, ++ 1,255,255,255,16,0,0,0,16,243,243,243,1,255,255,255,12,253,253,253, ++ 1,254,254,254,1,134,134,134,1,255,255,255,16,0,0,0,16,243,243,243, ++ 1,255,255,255,12,227,227,227,1,237,237,237,1,82,82,82,1,255,255,255, ++ 16,0,0,0,16,243,243,243,1,255,255,255,11,254,254,254,1,225,225,225, ++ 1,207,207,207,1,40,40,40,1,255,255,255,16,0,0,0,16,243,243,243, ++ 1,255,255,255,11,254,254,254,1,241,241,241,1,164,164,164,1,4,4,4, ++ 1,255,255,255,16,0,0,0,16,243,243,243,1,255,255,255,12,253,253,253, ++ 1,119,119,119,1,0,0,0,1,255,255,255,16,0,0,0,16,243,243,243, ++ 1,255,255,255,12,244,244,244,1,68,68,68,1,0,0,0,1,255,255,255, ++ 16,0,0,0,16,243,243,243,1,255,255,255,12,218,218,218,1,11,11,11, ++ 1,0,0,0,1,238,238,238,1,255,255,255,14,238,238,238,1,0,0,0, ++ 16,239,239,239,1,251,251,251,12,157,157,157,1,0,0,0,2,92,92,92, ++ 1,238,238,238,1,255,255,255,12,238,238,238,1,92,92,92,1,12,12,12, ++ 1,34,34,34,13,14,14,14,1,0,0,0,1,51,51,51,1,70,70,70, ++ 14,51,51,51,1,224,224,224,1,239,239,239,13,132,132,132,1,4,4,4, ++ 1,216,216,216,1,255,255,255,13,219,219,219,1,13,13,13,1,223,223,223, ++ 1,255,255,255,14,223,223,223,1,245,245,245,1,255,255,255,13,173,173,173, ++ 1,28,28,28,1,255,255,255,15,36,36,36,1,255,255,255,16,239,239,239, ++ 1,255,255,255,13,177,177,177,1,35,35,35,1,255,255,255,15,38,38,38, ++ 1,255,255,255,16,239,239,239,1,255,255,255,13,176,176,176,1,34,34,34, ++ 1,255,255,255,15,38,38,38,1,255,255,255,16,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,15,38,38,38,1,255,255,255, ++ 16,239,239,239,1,255,255,255,13,176,176,176,1,34,34,34,1,255,255,255, ++ 15,38,38,38,1,255,255,255,16,239,239,239,1,255,255,255,13,176,176,176, ++ 1,34,34,34,1,255,255,255,15,38,38,38,1,255,255,255,16,239,239,239, ++ 1,255,255,255,13,176,176,176,1,34,34,34,1,255,255,255,14,233,233,233, ++ 1,23,23,23,1,255,255,255,16,239,239,239,1,255,255,255,13,176,176,176, ++ 1,34,34,34,1,255,255,255,14,214,214,214,1,28,28,28,1,255,255,255, ++ 16,239,239,239,1,255,255,255,13,176,176,176,1,34,34,34,1,255,255,255, ++ 14,234,234,234,1,24,24,24,1,255,255,255,16,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,15,24,24,24,1,255,255,255, ++ 16,239,239,239,1,255,255,255,13,176,176,176,1,34,34,34,1,255,255,255, ++ 15,33,33,33,1,255,255,255,16,239,239,239,1,255,255,255,13,176,176,176, ++ 1,34,34,34,1,255,255,255,14,236,236,236,1,60,60,60,1,255,255,255, ++ 30,183,183,183,1,34,34,34,1,19,19,19,1,38,38,38,9,17,17,17, ++ 1,3,3,3,1,2,2,2,1,9,9,9,1,38,38,38,1,7,7,7, ++ 1,139,139,139,16,132,132,132,1,170,170,170,1,177,177,177,1,176,176,176, ++ 10,177,177,177,1,132,132,132,1,35,35,35,1,0,0,0,11,1,1,1, ++ 1,4,4,4,1,0,0,0,20,28,28,28,1,35,35,35,1,34,34,34, ++ 10,35,35,35,1,34,34,34,1,16,16,16,1,224,224,224,1,239,239,239, ++ 13,132,132,132,1,4,4,4,1,255,255,255,32,245,245,245,1,255,255,255, ++ 13,173,173,173,1,28,28,28,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,177,177,177,1,35,35,35,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,32,239,239,239,1,255,255,255, ++ 13,176,176,176,1,34,34,34,1,255,255,255,46,183,183,183,1,34,34,34, ++ 1,255,255,255,32,132,132,132,1,170,170,170,1,177,177,177,1,176,176,176, ++ 10,177,177,177,1,132,132,132,1,35,35,35,1,255,255,255,32,0,0,0, ++ 1,28,28,28,1,35,35,35,1,34,34,34,10,35,35,35,1,34,34,34, ++ 1,16,16,16,1,255,255,255,32,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/main.pas mseide-msegui-1.8/contrib/miha/main.pas +*** mseide-msegui-1.8.orig/contrib/miha/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,107 ---- ++ { This unit is a part of the example that describes contrib/miha usage ++ Distributed as is.} ++ ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msemenus,msesimplewidgets,mseactions,GuiMDIChild, ++ msedock,msefiledialog,msestat,msestatfile,GuiViewText,msefileutils,mseshapes, ++ msebitmap; ++ ++ type ++ tmainfo = class(tmseform) ++ MnuMain: tmainmenu; ++ ActionExit: taction; ++ ActionFileOpen: taction; ++ MDIArea: tdockpanel; ++ FileDialog: tfiledialog; ++ MainSta: tstatfile; ++ ActionHideMinimized: taction; ++ Img: timagelist; ++ procedure OnExecActionExit(const sender: TObject); ++ procedure OnExecActionFileOpen(const sender: TObject); ++ procedure OnLoadedForm(const sender: TObject); ++ procedure OnExecActionHideMin(const sender: TObject); ++ private ++ FMDI: TMDIController; ++ public ++ procedure OpenFile(FileName: String); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ main_mfm; ++ ++ procedure tmainfo.OnExecActionExit(const sender: TObject); ++ begin ++ Application.Terminated := True; ++ end; ++ ++ procedure tmainfo.OnExecActionFileOpen(const sender: TObject); ++ var ++ I: Integer; ++ begin ++ if FileDialog.Execute = mr_Ok then ++ begin ++ for I := 0 to High(FileDialog.Controller.FileNames) do ++ begin ++ OpenFile(FileDialog.Controller.FileNames[I]); ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.OnLoadedForm(const sender: TObject); ++ begin ++ FMDI := TMDIController.Create(mainfo, MDIArea); ++ FMDI.Menu := MnuMain.menu.Items[1]; // Menu item for filling by the controller ++ ++ // Set MDI icons ++ FMDI.ActionMinAll.ImageList := Img; ++ FMDI.ActionMinAll.ImageNr := 6; ++ FMDI.ActionMaxAll.ImageList := Img; ++ FMDI.ActionMaxAll.ImageNr := 5; ++ ++ // Open "readme" ++ OpenFile('./GuiMDIChild.pas'); ++ end; ++ ++ procedure tmainfo.OpenFile(FileName: String); ++ var ++ Editor: TGuiViewTextFo; ++ begin ++ try ++ Editor := TGuiViewTextFo(FMDI.ChildByKey(FileName)); ++ if not Assigned(Editor) then ++ begin ++ Editor := TGuiViewTextFo.Create(FMDI); ++ Editor.Key := FileName; ++ Editor.LoadFromFile; ++ end; ++ Editor.Activate; ++ except ++ Editor.Free; ++ end; ++ end; ++ ++ procedure tmainfo.OnExecActionHideMin(const sender: TObject); ++ begin ++ FMDI.HideMinimized := not FMDI.HideMinimized; ++ if FMDI.HideMinimized then ++ begin ++ ActionHideMinimized.Caption := 'Show minimized'; ++ ActionHideMinimized.ImageNr := 4; ++ ActionHideMinimized.State := ActionHideMinimized.State + [as_checked]; ++ end ++ else begin ++ ActionHideMinimized.Caption := 'Hide minimized'; ++ ActionHideMinimized.ImageNr := 3; ++ ActionHideMinimized.State := ActionHideMinimized.State - [as_checked]; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/MDISample.pas mseide-msegui-1.8/contrib/miha/MDISample.pas +*** mseide-msegui-1.8.orig/contrib/miha/MDISample.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/MDISample.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,18 ---- ++ { This is a main unit of the example that describes contrib/miha usage. ++ Distributed as is.} ++ ++ program MDISample; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main, ++ GuiStyle; ++ ++ begin ++ SetDesktopSkin; ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/miha/MDISample.prj mseide-msegui-1.8/contrib/miha/MDISample.prj +*** mseide-msegui-1.8.orig/contrib/miha/MDISample.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/miha/MDISample.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,667 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ [projectoptions] ++ projectdir=/home/miha/Work/MDISample ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ replacedialog=14 ++ [replacedialogfo] ++ stackedunder= ++ x=142 ++ y=302 ++ cx=421 ++ cy=163 ++ [replacedialogfo.replacetext] ++ value=TMDIController ++ history=1 ++ TMDIController ++ [replacedialogfo.selectedonly] ++ value=0 ++ [replacedialogfo.promptonreplace] ++ value=1 ++ options=44 ++ [projectoptionsfo] ++ stackedunder= ++ x=139 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=5 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ programparameters=12 ++ [programparametersfo] ++ stackedunder= ++ x=272 ++ y=243 ++ cx=328 ++ cy=348 ++ [programparametersfo.twidgetgrid1] ++ width0=20 ++ width1=103 ++ width2=194 ++ col=-1073741823 ++ row=-1073741823 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=106 ++ cx=358 ++ cy=531 ++ wsize=0 ++ active=1 ++ visible=1 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ GUIMDICHILDFO ++ moduletypes=1 ++ TGUIMDICHILDFO ++ modulefiles=1 ++ /home/miha/Work/MDISample/GuiMDIChild.mfm ++ mainfile=MDISample.pas ++ targetfile=MDISample${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=0 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=Courier ++ editfontheight=14 ++ editfontwidth=90 ++ editfontextraspace=0 ++ editfontantialiased=0 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=335 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=920 ++ cy=727 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/miha/Work/MDISample/MDISample.pas ++ /home/miha/Work/MDISample/main.pas ++ /home/miha/Work/MDISample/GuiViewText.pas ++ /home/miha/Work/MDISample/GuiStyle.pas ++ /home/miha/Work/MDISample/GuiMDIChild.pas ++ /home/miha/Work/DataFlexor/GuiEntitiesClasses.mfm ++ /home/miha/Work/DataFlexor/GuiMDIChild.mfm ++ /home/miha/Work/DataFlexor/GuiMDIChild.pas ++ /opt/mse/lib/common/kernel/i386-linux/mseguiintf.pas ++ /C:/Tools/mseide/lib/common/kernel/msebits.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=910 ++ cy=584 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=587 ++ cx=910 ++ cy=106 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=156 ++ y=325 ++ cx=664 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=1 ++ [watchfo.grid] ++ width0=13 ++ values1=8 ++ FChildren ++ Fwidgetstate ++ FComponentState ++ FMainMDIWidget^.Container ++ AChild^.Fwidgetrect ++ FChildren^.FList^.FCount ++ Child^.fwidgetrect ++ FWindowsMenu^ ++ width1=152 ++ values2=8 ++ ++ ++ ++ ++ ++ ++ ++ ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=599 ++ y=115 ++ cx=348 ++ cy=629 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=151 ++ width1=181 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=262 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=115 ++ cx=913 ++ cy=494 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=56 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=920 ++ cy=693 ++ [edit] ++ hintwidth=314 ++ hintheight=119 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=actionstatesty ++ findhistory=10 ++ actionstatesty ++ Changed ++ mdistatety ++ fdragdock ++ file ++ domdistatechanged ++ fonmdistatechanged ++ OnMDIStateChanged ++ actioneventty ++ tdockcontroller ++ findoptions=1 ++ editpos=0 ++ sourcefiles=0 ++ relpaths=0 ++ ismoduletexts=0 ++ modules=1 ++ /home/miha/Work/MDISample/GuiMDIChild.mfm ++ visiblemodules=1 ++ 0 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=-1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=130 ++ y=147 ++ cx=704 ++ cy=473 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 --- mseide-msegui-1.8.orig/debian/patches/00list +++ mseide-msegui-1.8/debian/patches/00list @@ -0,0 +1,10 @@ +01_install +02_images +03_misc +04_zeos +05_contrib_ivankob +05_contrib_juan +05_contrib_miha +05_contrib_wahono +06_docs +07_Makefile --- mseide-msegui-1.8.orig/debian/patches/04_zeos.dpatch +++ mseide-msegui-1.8/debian/patches/04_zeos.dpatch @@ -0,0 +1,67 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds building wiht ZOES lib HOWTO. + +@DPATCH@ +*** mseide-msegui-1.8.orig/ZEOS.TXT 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/ZEOS.TXT 2008-08-18 18:28:47.000000000 +0200 +*************** +*** 0 **** +--- 1,55 ---- ++ How to build MSEide with ZeosLib integration ++ ******************************************** ++ ++ 1. Download and install SVN: ++ http://subversion.tigris.org/project_packages.html ++ ++ 2. Create . ++ 3. cd ++ 4. Execute ++ " ++ svn co https://mseide-msegui.svn.sourceforge.net/svnroot/mseide-msegui/trunk . ++ " ++ (note the dot at line end to use the current directory as destination). ++ ++ 5. Create . ++ 6. cd ++ 7. Execute ++ " ++ svn co svn://firmos.at/zeos/trunk . ++ " ++ (note the dot at line end to use the current directory as destination). ++ ++ - Download and install MSEide+MSEgui version 1.2, follow the instructions on: ++ http://www.homepage.bluewin.ch/msegui/ ++ ++ 8. Run /bin/i386-linux/mseide on Linux or ++ \bin\i386-win32\mseide.exe on Windows. ++ 9. 'Project'-'Open' (not File-Open!!!!!). ++ 10. Select /apps/ide/templates/zeos.prj. ++ 11. 'Project'-'Options'-'Macros'. ++ 12. Adjust 'Value' of "msedir" to /, don't forget ++ the trailing path delimiter. ++ 13. Adjust 'Value' of "zeosdir" to /, don't forget ++ the trailing path delimiter. ++ ++ 14. 'Project'-'Open' (not File-Open!!!!!). ++ 15. Select /apps/ide/mseide_zeos.prj. ++ 16. 'Project'-'Options'-'Macros'. ++ 17. Adjust 'Value' of "msedir" to /, don't forget ++ the trailing path delimiter. ++ 18. Adjust 'Value' of "zeosdir" to /, don't forget ++ the trailing path delimiter. ++ 19. 'Target'-'Continue', the IDE with Zeos integration will be compiled and ++ started in debugger. ++ ++ The IDE binary is /apps/ide/mseide_zeos, ++ to remove the debug info run strip or compile the mseide_zeos project with ++ 'Project'-'Make 4'. ++ To start a new Zeos project select 'Project'-'New'-'From Template' ++ /apps/ide/templates/zeos.prj. ++ ++ *WARNING* ZeosLib compiled with FPC 2.0.4 has giant memory leaks, ++ use FPC 2.0.5 or FPC 2.1.5. ++ In order to compile with FPC 2.1.5 add -dmse_FPC_2_2 to the compiler options, ++ ZeosLib trunk needs a little patch. --- mseide-msegui-1.8.orig/debian/patches/03_misc.dpatch +++ mseide-msegui-1.8/debian/patches/03_misc.dpatch @@ -0,0 +1,1658 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds misc. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_html.sh mseide-msegui-1.8/misc/doc_gen/fpc/make_html.sh +*** mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_html.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/fpc/make_html.sh 2008-08-18 18:25:47.000000000 +0200 +*************** +*** 0 **** +--- 1,151 ---- ++ #!/bin/sh ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ ++ subos= ++ [ $os == "linux" ] && subos="unix" ++ [ $os == "win32" ] && subos="win32" ++ [ $os == "windows" ] && subos="win32" ++ ++ this_dir=`pwd` ++ ++ # reading the settings ++ source ../ini/fplib_doc.ini ++ ++ [ -d $fpc_doc_root ] || { ++ echo -e "Directory $fpc_doc_root does not exist but should be created by a make_xml.sh. So, exiting..." ++ exit ++ } ++ ++ InputFileList=inputfile.txt ++ DescrFileList=descrfile.txt ++ ++ function do_it () { ++ # $1 = $ref ++ # $2 = PkgName ++ # $3 = inc_dirs ++ # $4 = defines ++ # $5 = external imports ++ ++ local inc_dirs; local defs; local imports; ++ local src_dir; local xml_dir; local html_dir; ++ local DescrFiles; local UnitListPp; local UnitListPas; local UnitList; ++ local CurInputFileList; local CurDescrFileList; ++ local unit_file; local pas_file; local pp_file; local cur_dir_inc; ++ local pkg; ++ ++ src_dir="$fpc_src_dir/$1" ++ #echo $src_dir ++ ++ # xml_dir=${fpc_doc_root}/xml/$1 ++ xml_dir=`echo ${fpc_doc_root}/xml/$1 | sed "s/\/src\///"` ++ xml_dir=`echo ${xml_dir} | sed "s/\/src\$//"` ++ ++ echo "\$1:"$1 ++ echo "dr:"${fpc_doc_root} ++ ++ # pkg=`echo $pkg_name | sed "s/_src\$//"` ++ echo "x:"$xml_dir ++ ++ [ -d $xml_dir ] || { ++ echo -e "Directory $xml_dir does not exist. So, skipping..." ++ return ++ } ++ # html_dir=${fpc_doc_root}/html/$1 ++ ++ html_dir=`echo ${fpc_doc_root}/html/$1 | sed "s/\/src\///"` ++ html_dir=`echo ${html_dir} | sed "s/\/src\$//"` ++ echo "h:"$html_dir ++ ++ # recreating the HTML dir to empty its contents ++ rm -rf -- $html_dir ++ mkdir -p -- $html_dir || exit 0 ++ # cp -f -- $this_dir/../xml_templates/$2.xml.start $xml_dir/$2.xml ++ ++ # create description file list ++ DescrFiles=`find $xml_dir -name *.xml` ++ ++ # create unit file list ++ UnitListPp=`find $src_dir -name *.pp` ++ UnitListPas=`find $src_dir -name *.pas` ++ UnitList=`echo -e $UnitListPp" "$UnitListPas | sort -ru` ++ ++ #echo $UnitList ++ ++ inc_dirs= ++ for id in $3; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$1/${id}" ++ done ++ ++ defs= ++ for def in $4; do ++ defs="${defs} -d${def}" ++ done ++ ++ imports= ++ for imp in $5; do ++ imports="${imports} --import=${imp}" ++ done ++ ++ # [re]create input file list ++ CurInputFileList=$html_dir/$InputFileList ++ [ -f $CurInputFileList ] && rm -f $CurInputFileList ++ ++ # [re]create description file list ++ CurDescrFileList=$html_dir/$DescrFileList ++ [ -f $CurDescrFileList ] && rm -f $CurDescrFileList ++ ++ for descr in $DescrFiles; do ++ echo $descr >> $CurDescrFileList ++ ++ # only existing XMLs -> *.(pas|pp) ++ unit_file=`echo $descr | awk -v R1="${fpc_doc_root}/xml/" -v R2="$fpc_src_dir/" '{ gsub(R1,R2,$0); print $0; }' | sed 's/.\xml//g'` ++ ++ pas_file="${unit_file}.pas" ++ if [ -f $pas_file ]; then ++ cur_dir_inc="-Fi"`dirname $pas_file` ++ echo $pas_file $cur_dir_inc "$inc_dirs" >> $CurInputFileList ++ fi ++ ++ pp_file="${unit_file}.pp" ++ if [ -f $pp_file ]; then ++ cur_dir_inc="-Fi"`dirname $pp_file` ++ echo $pp_file $cur_dir_inc "$inc_dirs" >> $CurInputFileList ++ fi ++ ++ done ++ ++ pkg=`echo -e $2 | tr "+\/-" "_"` ++ pkg=`echo $pkg | sed "s/_src_/_/"` ++ pkg=`echo $pkg | sed "s/_src\$//"` ++ ++ # FPDocParams="--content=${html_dir}/$2.xct --package=$2 --descr=$xml_dir/$2.xml --format=html $imports" ++ ++ # FPDocParams="--content=${html_dir}/${pkg}.xct --package=${pkg} --descr=$xml_dir/${pkg}.xml --format=html $imports" ++ FPDocParams="--content=${html_dir}/${pkg}.xct --package=${pkg} --descr=/tmp/1.xml --format=html $imports" ++ echo $FPDocParams ++ ++ cd $html_dir ++ fpdoc --descr=@$DescrFileList --input=@$InputFileList $FPDocParams ++ # rm -f -- $CurInputFileList $CurDescrFileList $html_dir/$2.xml ++ rm -f -- $CurInputFileList $CurDescrFileList $html_dir/${pkg}.xml ++ } ++ ++ # ========== RTL ============== ++ do_it "rtl" "rtl" "$rtl_inc_dirs" "$rtl_defines" ++ ++ for fcld in $fcl_dirs; do ++ do_it "packages/${fcld}" $fcld "$fcl_inc_dirs" "$fcl_defines" "$fcl_imports" ++ done ++ ++ # Uncomment the below lines to make HTML docs for the FPC packages as well - It may take a long ! ++ # ++ #do_it "packages/base" "packages_base" "$base_pkg_inc_dirs" "$base_pkg_defines" ++ #do_it "packages/extra" "packages_extra" "$extra_pkg_inc_dirs" "$extra_pkg_defines" ++ ++ cd $this_dir ++ #=============================== ++ ++ exit 0 ++ +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_xml-new.sh mseide-msegui-1.8/misc/doc_gen/fpc/make_xml-new.sh +*** mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_xml-new.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/fpc/make_xml-new.sh 2008-08-18 14:18:20.000000000 +0200 +*************** +*** 0 **** +--- 1,152 ---- ++ #!/bin/sh ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ ++ subos= ++ [ $os == "linux" ] && subos="unix" ++ [ $os == "win32" ] && subos="win32" ++ [ $os == "windows" ] && subos="win32" ++ ++ #fpc_ver=`fpc -l | head -1 | awk '{ print $5; }'` ++ ++ this_dir=`pwd` ++ ++ # reading the settings ++ source ../ini/fplib_doc.ini ++ ++ [ -d $fpc_doc_root ] || mkdir -p -- $fpc_doc_root || exit ++ #******************************************************************************************* ++ function one_dir () { ++ # $1 : output directory for XML-files ++ # $2 : package name to write in XML-files ++ # $3 : -Fi-s & -d-s ++ ++ local in_file; local out_file; ++ ++ for in_file in `ls -A1 *.pas *.pp 2>/dev/null`; do ++ cat ./$in_file | head -40 | egrep -ie "^[ \t]*program[[:space:]]+[[:alpha:]]+[_[:alnum:]]*[[:space:]]*;" >/dev/null && continue ++ out_file=$1"/"`echo $in_file | sed "s/\.\(pas\|pp\)$/\.xml/"` ++ echo " ${in_file} -> ${out_file}" ++ [ -f $out_file ] || rm -f -- $out_file ++ ++ if ! makeskel --package=$2 --input=./${in_file}" $3" --output=${out_file} --disable-private --disable-protected; then ++ rm -f -- ${out_file} ++ fi ++ ++ done ++ } ++ #---------- RTL start ---------------------------------------- ++ ref= ++ defs= ++ inc_dirs= ++ xml_descr= ++ #-------------- ++ function do_it () { ++ local inc_dirs1; ++ ++ # if docs dir does not exist then to create it ++ xml_dir="${fpc_doc_root}/xml/$ref" ++ rm -rf -- $xml_dir ++ mkdir -p -- $xml_dir || exit 0 ++ cp -f -- $this_dir/../xml_templates/${xml_descr}.xml $xml_dir/ ++ ++ for dir in $1; do ++ src_dir=${fpc_src_dir}/$ref/${dir} ++ inc_dirs1="-Fi./ -Fi${src_dir} ${inc_dirs}" ++ tmp=`echo -e $dir | awk -v R=$fpc_src_dir/ '{ gsub(R,"",$0); print $0; }'` ++ out_dir="${xml_dir}/${tmp}" ++ # package name may not contain "-" ++ pkg_name=`echo -e $tmp | tr "+\/-" "_"` ++ mkdir -p -- $out_dir ++ ++ # the only way to correctly process "../*" path references in the source files ++ cd $src_dir || exit ++ echo -e "\nEntering ${src_dir}..." ++ one_dir $out_dir $pkg_name "$inc_dirs1 $defs" ++ done ++ } ++ ++ #---------- RTL ---------------------------------------- ++ function do_rtl () { ++ ref="rtl" ++ xml_descr="rtl" ++ ++ for id in $rtl_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $rtl_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$rtl_dirs" ++ } ++ #---------- FCL ---------------------------------------- ++ function do_fcl () { ++ ref="packages" ++ # ref1="/src" ++ xml_descr="fcl" ++ defs= ++ inc_dirs= ++ ++ for id in $fcl_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/${ref}/${id}" ++ done ++ ++ # for fd in $fcl_dirs; do ++ # inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/${ref}/${fd}" ++ # done ++ ++ for def in $fcl_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$fcl_dirs" ++ } ++ #---------- BASE PKG ---------------------------------------- ++ function do_base_pkg () { ++ ref="packages/base" ++ # ref1= ++ xml_descr="packages_base" ++ defs= ++ inc_dirs= ++ ++ for id in $base_pkg_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $base_pkg_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$base_pkg_dirs" ++ } ++ #---------- EXTRA PKG ---------------------------------------- ++ function do_extra_pkg () { ++ ref="packages/extra" ++ # ref1= ++ xml_descr="packages_extra" ++ defs= ++ inc_dirs= ++ ++ for id in $extra_pkg_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $extra_pkg_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$extra_pkg_dirs" ++ } ++ #-------------------------------------------------- ++ do_rtl; ++ do_fcl; ++ ++ # Uncomment the below lines to make XML skeletons for the FPC packages as well ++ # ++ #do_base_pkg; ++ #do_extra_pkg; ++ ++ cd $this_dir; exit 0 +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_xml.sh mseide-msegui-1.8/misc/doc_gen/fpc/make_xml.sh +*** mseide-msegui-1.8.orig/misc/doc_gen/fpc/make_xml.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/fpc/make_xml.sh 2008-08-18 14:18:34.000000000 +0200 +*************** +*** 0 **** +--- 1,184 ---- ++ #!/bin/sh ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ ++ subos= ++ [ $os == "linux" ] && subos="unix" ++ [ $os == "win32" ] && subos="win32" ++ [ $os == "windows" ] && subos="win32" ++ ++ #fpc_ver=`fpc -l | head -1 | awk '{ print $5; }'` ++ ++ this_dir=`pwd` ++ ++ # reading the settings ++ source ../ini/fplib_doc.ini ++ ++ [ -d $fpc_doc_root ] || mkdir -p -- $fpc_doc_root || exit ++ #******************************************************************************************* ++ function one_dir () { ++ # $1 : output directory for XML-files ++ # $2 : package name to write in XML-files ++ # $3 : -Fi-s & -d-s ++ ++ local in_file; local out_file; local pkg; local i_f ++ ++ for in_file in `ls -A1 *.pas *.pp 2>/dev/null`; do ++ cat ./$in_file | head -40 | egrep -ie "^[ \t]*program[[:space:]]+[[:alpha:]]+[_[:alnum:]]*[[:space:]]*;" >/dev/null && continue ++ out_file=$1"/"`echo $in_file | sed "s/\.\(pas\|pp\)$/\.xml/"` ++ echo " ${in_file} -> ${out_file}" ++ ++ # out_file=`echo $out_file | sed "s/\/src\//\//"` ++ ++ # pkg=`echo $2 | sed "s/_src_/_/"` ++ #echo "pkg: "$pkg ++ #echo "in: "$in_file ++ #echo "out: "$out_file ++ #return ++ ++ ++ [ -f $out_file ] || rm -f -- $out_file ++ ++ # cat ./${in_file} | egrep -ve "<|>" > /tmp/msegui_doc.tmp ++ if ! makeskel --package=$2 --input=./${in_file}" $3" --output=${out_file} --disable-private --disable-protected; then ++ rm -f -- ${out_file} ++ fi ++ ++ # if ! makeskel --package=$pkg --input=./${in_file}" $3" --output=${out_file} --disable-private --disable-protected; then ++ # rm -f -- ${out_file} ++ # fi ++ ++ ++ # if ! makeskel --package=$pkg --input=/tmp/msegui_doc.tmp" $3" --output=${out_file} --disable-private --disable-protected; then ++ # rm -f -- ${out_file} ++ # fi ++ ++ ++ ++ done ++ } ++ #---------- RTL start ---------------------------------------- ++ ref= ++ defs= ++ inc_dirs= ++ xml_descr= ++ #-------------- ++ function do_it () { ++ local inc_dirs1; ++ ++ # if docs dir does not exist then to create it ++ xml_dir="${fpc_doc_root}/xml/$ref" ++ rm -rf -- $xml_dir ++ mkdir -p -- $xml_dir || exit 0 ++ cp -f -- $this_dir/../xml_templates/${xml_descr}.xml $xml_dir/ ++ ++ for dir in $1; do ++ src_dir=${fpc_src_dir}/$ref/${dir} ++ inc_dirs1="-Fi./ -Fi${src_dir} ${inc_dirs}" ++ tmp=`echo -e $dir | awk -v R=$fpc_src_dir/ '{ gsub(R,"",$0); print $0; }'` ++ ++ # out_dir="${xml_dir}/${tmp}" ++ out_dir=`echo ${xml_dir}/${tmp} | sed "s/\/src\//\//"` ++ out_dir=`echo ${out_dir} | sed "s/\/src\$//"` ++ #echo "--"$out_dir ++ #return ++ # out_file=`echo $out_file | sed "s/\/src\//\//"` ++ ++ # package name may not contain "-" ++ pkg_name=`echo -e $tmp | tr "+\/-" "_"` ++ pkg_name=`echo $pkg_name | sed "s/_src_/_/"` ++ pkg_name=`echo $pkg_name | sed "s/_src\$//"` ++ ++ mkdir -p -- $out_dir ++ ++ # the only way to correctly process "../*" path references in the source files ++ cd $src_dir || exit ++ echo -e "\nEntering ${src_dir}..." ++ one_dir $out_dir $pkg_name "$inc_dirs1 $defs" ++ done ++ } ++ ++ #---------- RTL ---------------------------------------- ++ function do_rtl () { ++ ref="rtl" ++ xml_descr="rtl" ++ ++ for id in $rtl_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $rtl_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$rtl_dirs" ++ } ++ #---------- FCL ---------------------------------------- ++ function do_fcl () { ++ ref="packages" ++ # ref1="/src" ++ xml_descr="fcl" ++ defs= ++ inc_dirs= ++ ++ for id in $fcl_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/${ref}/${id}" ++ done ++ ++ # for fd in $fcl_dirs; do ++ # inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/${ref}/${fd}" ++ # done ++ ++ for def in $fcl_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$fcl_dirs" ++ } ++ #---------- BASE PKG ---------------------------------------- ++ function do_base_pkg () { ++ ref="packages/base" ++ # ref1= ++ xml_descr="packages_base" ++ defs= ++ inc_dirs= ++ ++ for id in $base_pkg_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $base_pkg_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$base_pkg_dirs" ++ } ++ #---------- EXTRA PKG ---------------------------------------- ++ function do_extra_pkg () { ++ ref="packages/extra" ++ # ref1= ++ xml_descr="packages_extra" ++ defs= ++ inc_dirs= ++ ++ for id in $extra_pkg_inc_dirs; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$ref/${id}" ++ done ++ ++ for def in $extra_pkg_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$extra_pkg_dirs" ++ } ++ #-------------------------------------------------- ++ do_rtl; ++ do_fcl; ++ ++ # Uncomment the below lines to make XML skeletons for the FPC packages as well ++ # ++ #do_base_pkg; ++ #do_extra_pkg; ++ ++ cd $this_dir; exit 0 +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/ini/fplib_doc.ini mseide-msegui-1.8/misc/doc_gen/ini/fplib_doc.ini +*** mseide-msegui-1.8.orig/misc/doc_gen/ini/fplib_doc.ini 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/ini/fplib_doc.ini 2008-08-18 14:15:36.000000000 +0200 +*************** +*** 0 **** +--- 1,55 ---- ++ # ********************************* ++ # ++ # User-definable stuff ++ # ++ # A Free Pascal source tree top - contains rtl/, compiler/, utils/, etc ++ # ++ ++ FPC_VER=`fpc -iV` ++ fpc_src_dir="/usr/lib/fpc/${FPC_VER}"; ++ ++ # a common place for all software's non-MAN/INFO documentation ++ # ++ sys_doc_root=/usr/share/doc ++ ++ # a name for FPC documentation within the above, should NOT be mixed with such docs's place installed by the regular way ++ # ++ fplib_doc_subdir="fp-libs-all" ++ ++ # A directory of XML files taken from a "fp-docs" SVN source. Contains "baseunix.xml", "rtl.xml", "fcl.xml", etc. ++ # These files are human documented and meant to replace autogenerated one ++ # ++ fpdocs_from_svn=/usr/src/SVNROOT/fpdocs ++ # ********************************* ++ # ++ # edit on wish but with care ! ++ # ++ fpc_doc_root="$sys_doc_root/$fplib_doc_subdir" ++ ++ rtl_dirs="common $cpu $os objpas $subos inc" ++ rtl_inc_dirs="inc common ${os}/${cpu} $os $cpu objpas objpas/classes objpas/sysutils $subos" ++ rtl_defines="" ++ rtl_imports="" ++ ++ #fcl_prefix="packages/fcl" ++ ++ fcl_dirs="fcl-db/src fcl-db/src/dbase fcl-db/src/memds fcl-db/src/sdf fcl-db/src/sqldb fcl-db/src/sqlite fcl-image/src fcl-net/src fcl-passrc/src fcl-xml/src paszlib/src hash/src fcl-async/src fcl-json/src fcl-process/src fcl-registry/src fcl-web/src" ++ fcl_inc_dirs="inc ${os} $subos" ++ fcl_defines="" ++ fcl_imports="$fpc_doc_root/html/rtl/rtl.xct,../rtl/" ++ ++ base_pkg_dirs="gdbint graph/$subos hash ibase libasync/$subos libc mysql netdb odbc oracle pasjpeg paszlib postgres pthreads regexpr sqlite" ++ base_pkg_inc_dirs="graph/inc libasync" ++ base_pkg_defines="" ++ base_pkg_imports="$fcl_imports $fpc_doc_root/html/fcl/fcl.xct,../../fcl/" ++ ++ extra_pkg_dirs="bfd bzip2 cdrom fftw forms fpgtk fpgtk/def gdbm ggi \ ++ gnome1/gconf/gconf gnome1/gconf/gconfclient gnome1/gnome/libart_lgpl gnome1/gnome/libgnome gnome1/gnome/libgnomeui gnome1/zvt/zvt \ ++ gtk/conv gtk/gdk gtk/glib gtk/gtk gtk/gtkgl \ ++ gtk2/atk gtk2/glib gtk2/gtk+/gdk gtk2/gtk+/gdk-pixbuf gtk2/gtk+/gtk gtk2/gtkglext gtk2/gtkhtml gtk2/libglade gtk2/pango \ ++ hermes imlib/gdk_imlib imlib/imlib libgd libpng ncurses newt numlib opengl ptc rexx sndfile svgalib syslog tcl \ ++ unixutil unzip users utmp uuid x11 zlib" ++ ++ extra_pkg_inc_dirs="hermes/$cpu ptc/x11 ptc/c_api" ++ extra_pkg_defines="" ++ extra_pkg_imports="$base_pkg_imports $fpc_doc_root/html/packages/base/packages_base.xct,../base/" +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/ini/msegui_doc.ini mseide-msegui-1.8/misc/doc_gen/ini/msegui_doc.ini +*** mseide-msegui-1.8.orig/misc/doc_gen/ini/msegui_doc.ini 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/ini/msegui_doc.ini 2008-08-18 18:24:29.000000000 +0200 +*************** +*** 0 **** +--- 1,37 ---- ++ # ********************************* ++ # ++ # User-definable stuff ++ # ++ # A MSEGUI source tree top contains apps/, lib/, tools/, README.TXT, etc ++ # ++ msegui_src_dir="/usr/src/mseide-msegui"; ++ ++ # a subdirectory for MseGUI documentation within "$sys_doc_root" ( see "fplib_doc.ini" ) ++ # ++ msegui_doc_subdir="mseide-msegui-doc/rtl" ++ ++ # ********************************* ++ # ++ # edit on wish but with care ! ++ # Coomonly, "$msegui_imports" may also be extened the FPC (base/extra) packages content (files/directories) for full ++ # type referencing ++ # ++ msegui_doc_root="$sys_doc_root/$msegui_doc_subdir"; ++ ++ msegui_dirs="lib"; ++ msegui_defines="" ++ ++ #msegui_imports="$fpc_doc_root/html/rtl/rtl.xct,../../../$fplib_doc_subdir/html/rtl/ \ ++ # $fpc_doc_root/html/fcl/fcl.xct,../../../$fplib_doc_subdir/html/fcl/" ++ ++ msegui_imports= ++ ++ # Uncomment to make crossreferences with FPC base packages. The xct-file should exist! ++ # ++ # msegui_imports="$msegui_imports \ ++ # $fpc_doc_root/html/packages/base/packages_base.xct,../../../$fplib_doc_subdir/html/packages/base/" ++ ++ # Uncomment to make crossreferences with FPC extra packages. The xct-file should exist! ++ # ++ # msegui_imports="$msegui_imports \ ++ # $fpc_doc_root/html/packages/base/packages_extra.xct,../../../$fplib_doc_subdir/html/packages/extra/" +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/msegui/fpdoc.css mseide-msegui-1.8/misc/doc_gen/msegui/fpdoc.css +*** mseide-msegui-1.8.orig/misc/doc_gen/msegui/fpdoc.css 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/msegui/fpdoc.css 2008-01-23 20:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,129 ---- ++ /* ++ $Id: fpdoc.css 7437 2005-07-28 14:02:24Z vincents $ ++ ++ Default style sheet for FPDoc reference documentation ++ by Sebastian Guenther, sg@freepascal.org ++ ++ Feel free to use this file as a template for your own style sheets. ++ */ ++ ++ body { ++ background: white ++ } ++ ++ body, p, th, td, caption, h1, h2, h3, ul, ol, dl { ++ color: black; ++ font-family: sans-serif ++ } ++ ++ tt, span.kw, pre { ++ font-family: Courier, monospace ++ } ++ ++ body, p, th, td, caption, ul, ol, dl, tt, span.kw, pre { ++ font-size: 14px ++ } ++ ++ A:link { ++ color: blue ++ } ++ ++ A:visited { ++ color: darkblue ++ } ++ ++ A:active { ++ color: red ++ } ++ ++ A { ++ text-decoration: none ++ } ++ ++ A:hover { ++ text-decoration: underline ++ } ++ ++ h1, h2, td.h2 { ++ color: #005A9C ++ } ++ ++ /* Especially for Netscape on Linux: */ ++ h3, td.h3 { ++ font-size: 12pt ++ } ++ ++ /* symbols in source fragments */ ++ span.sym { ++ color: darkred ++ } ++ ++ /* keywords in source fragments */ ++ span.kw { ++ font-weight: bold ++ } ++ ++ /* comments in source fragments */ ++ span.cmt { ++ color: darkcyan; ++ font-style: italic ++ } ++ ++ /* directives in source fragments */ ++ span.dir { ++ color: darkyellow; ++ font-style: italic ++ } ++ ++ /* numbers in source fragments */ ++ span.num { ++ color: darkmagenta ++ } ++ ++ /* characters (#...) in source fragments */ ++ span.chr { ++ color: darkcyan ++ } ++ ++ /* strings in source fragments */ ++ span.str { ++ color: blue ++ } ++ ++ /* assembler passages in source fragments */ ++ span.asm { ++ color: green ++ } ++ ++ ++ td.pre { ++ white-space: pre ++ } ++ ++ p.cmt { ++ color: gray ++ } ++ ++ span.warning { ++ color: red; ++ font-weight: bold ++ } ++ ++ /* !!!: How should we define this...? */ ++ span.file { ++ color: darkgreen ++ } ++ ++ table.remark { ++ background-color: #ffffc0; ++ } ++ ++ table.bar { ++ background-color: #a0c0ff; ++ } ++ ++ span.bartitle { ++ font-weight: bold; ++ font-style: italic; ++ color: darkblue ++ } +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/msegui/make_html.sh mseide-msegui-1.8/misc/doc_gen/msegui/make_html.sh +*** mseide-msegui-1.8.orig/misc/doc_gen/msegui/make_html.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/msegui/make_html.sh 2008-08-18 18:21:34.000000000 +0200 +*************** +*** 0 **** +--- 1,113 ---- ++ #!/bin/sh ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ ++ subos= ++ [ $os == "linux" ] && subos="unix" ++ [ $os == "win32" ] && subos="win32" ++ [ $os == "windows" ] && subos="win32" ++ ++ #fpc_ver=`fpc -l | head -1 | awk '{ print $5; }'` ++ ++ this_dir=`pwd` ++ ++ # reading the settings ++ source ../ini/fplib_doc.ini ++ source ../ini/msegui_doc.ini ++ ++ [ -d $msegui_doc_root ] || { ++ echo -e "Directory $msegui_doc_root does not exist but should be created by a make_xml.sh. So, exiting..." ++ exit ++ } ++ ++ InputFileList=inputfile.txt ++ DescrFileList=descrfile.txt ++ ++ function do_it () { ++ # $1 = $ref ++ # $2 = PkgName ++ # $3 = inc_dirs ++ # $4 = defines ++ # $5 = external imports ++ ++ local inc_dirs; local imports; ++ local src_dir; local xml_dir; local html_dir; ++ local DescrFiles; ++ local CurInputFileList; local CurDescrFileList; ++ local unit_file; local pas_file; local pp_file; local cur_dir_inc; ++ ++ src_dir="$msegui_src_dir/$1" ++ xml_dir=${msegui_doc_root}/xml/$1 ++ [ -d $xml_dir ] || { ++ echo -e "Directory $xml_dir does not exist. So, skipping..." ++ return ++ } ++ html_dir=${msegui_doc_root}/html/$1 ++ ++ # recreating the HTML doc dir to empty its contents ++ rm -rf -- $html_dir ++ mkdir -p -- $html_dir || exit 0 ++ ++ # create description file list ++ DescrFiles=`find $xml_dir -name *.xml` ++ ++ inc_dirs= ++ for id in $3; do ++ inc_dirs="${inc_dirs} -Fi${fpc_src_dir}/$1/${id}" ++ done ++ ++ imports= ++ for imp in $5; do ++ imports="${imports} --import=${imp}" ++ done ++ ++ # [re]create input file list ++ CurInputFileList=$html_dir/$InputFileList ++ [ -f $CurInputFileList ] && rm -f $CurInputFileList ++ ++ # [re]create description file list ++ CurDescrFileList=$html_dir/$DescrFileList ++ [ -f $CurDescrFileList ] && rm -f $CurDescrFileList ++ ++ for descr in $DescrFiles; do ++ echo $descr >> $CurDescrFileList ++ ++ # only existing XMLs -> *.(pas|pp) ++ unit_file=`echo $descr | awk -v R1="${msegui_doc_root}/xml/" -v R2="$msegui_src_dir/" '{ gsub(R1,R2,$0); print $0; }' | sed 's/.\xml//g'` ++ ++ pas_file="${unit_file}.pas" ++ if [ -f $pas_file ]; then ++ cur_dir_inc="-Fi"`dirname $pas_file` ++ echo $pas_file $cur_dir_inc "$inc_dirs" >> $CurInputFileList ++ fi ++ ++ pp_file="${unit_file}.pp" ++ if [ -f $pp_file ]; then ++ cur_dir_inc="-Fi"`dirname $pp_file` ++ echo $pp_file $cur_dir_inc "$inc_dirs" >> $CurInputFileList ++ fi ++ ++ done ++ ++ FPDocParams="--content=${msegui_doc_root}/html/$1/$2.xct --package=$2 --descr=$xml_dir/$2.xml --format=html $imports" ++ ++ cd $html_dir ++ fpdoc --descr=@$DescrFileList --input=@$InputFileList $FPDocParams ++ rm -f -- $CurInputFileList $CurDescrFileList $html_dir/$2.xml ++ } ++ ++ msegui_inc_dirs="" ++ if [ -f ~/mseguidoc_xml.inc ]; then ++ for inc_dir in `cat ~/mseguidoc_xml.inc`; do ++ msegui_inc_dirs="$msegui_inc_dirs ${inc_dir}" ++ done ++ fi ++ ++ do_it "lib" "msegui_lib" "$msegui_inc_dirs" "$msegui_defines" "$msegui_imports" ++ ++ cd $this_dir ++ #=============================== ++ ++ exit 0 ++ +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/msegui/make_xml.sh mseide-msegui-1.8/misc/doc_gen/msegui/make_xml.sh +*** mseide-msegui-1.8.orig/misc/doc_gen/msegui/make_xml.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/msegui/make_xml.sh 2008-08-18 18:21:52.000000000 +0200 +*************** +*** 0 **** +--- 1,116 ---- ++ #!/bin/sh ++ ++ this_dir=`pwd` ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ ++ arch="${cpu}-${os}" ++ ++ #fpc_ver=`fpc -l | head -1 | awk '{ print $5; }'` ++ ++ this_dir=`pwd` ++ ++ # reading the settings ++ source ../ini/fplib_doc.ini ++ source ../ini/msegui_doc.ini ++ ++ [ -d $msegui_doc_root ] || mkdir -p -- $msegui_doc_root || exit ++ #******************************************************************************************* ++ function one_dir () { ++ # $1 : output directory for XML-files ++ # $2 : package name to write in XML-files ++ # $3 : -Fi-s & -d-s ++ ++ local in_file; local out_file; ++ ++ for in_file in `ls -A1 *.pas *.pp 2>/dev/null`; do ++ cat ./$in_file | head -40 | egrep -ie "^[ \t]*program[[:space:]]+[[:alpha:]]+[_[:alnum:]]*[[:space:]]*;" >/dev/null && continue ++ out_file=$1"/"`echo $in_file | sed "s/\.\(pas\|pp\)$/\.xml/"` ++ echo " ${in_file} -> ${out_file}" ++ [ -f $out_file ] || rm -f -- $out_file ++ ++ if ! makeskel --package=$2 --input=./${in_file}" $3" --output=${out_file} --disable-private --disable-protected; then ++ rm -f -- ${out_file} ++ fi ++ ++ done ++ } ++ #-------------- ++ function do_it () { ++ # $1 : source unit dirs list ++ # $2 : subdirectory in the source root dir ++ # $3 : include dirs ++ # $4 : defines ++ ++ local inc_dirs1; local dir; local tmp; local out_dir; local pkg_name; local src_dir; local xml_dir; ++ ++ [ -d $msegui_doc_root/xml/$2 ] || mkdir -p -- $msegui_doc_root/xml/$2 ++ cp -f -- $this_dir/../xml_templates/msegui_${2}.xml $msegui_doc_root/xml/$2 ++ ++ for dir in $1; do ++ # where to put output XML files ++ xml_dir=`echo $dir | awk -v R1="${msegui_src_dir}/" -v R2="$msegui_doc_root/xml/" '{ gsub(R1,R2,$0); print $0; }'` ++ ++ # recreating the XML dir to empty its contents ++ rm -rf -- $xml_dir ++ mkdir -p -- $xml_dir || exit 0 ++ ++ inc_dirs1="-Fi./ -Fi${dir} $3" ++ tmp=`echo -e $dir | awk -v R=${msegui_src_dir}/$2/ '{ gsub(R,"",$0); print $0; }'` ++ # package name may not contain "-" & "+" ++ pkg_name=`echo -e $tmp | tr "+\/-" "_"` ++ ++ # the only way to correctly process "../*" path references in the source files ++ cd $dir || exit ++ echo -e "\nEntering ${dir}..." ++ ++ one_dir $xml_dir $pkg_name "$3 $4" ++ ++ done ++ } ++ ++ #---------- MSEGUI Lib ---------------------------------------- ++ ++ for subdir in $msegui_dirs; do ++ ++ cur_dir=$msegui_src_dir/$subdir ++ [ -d $cur_dir ] || continue ++ ++ # obtaining the list of directories with msegui source files ++ for f in `find $cur_dir/ -iregex '.*\.\(pas\|pp\)'`; do ++ tmp=`dirname $f` ++ [ -d $tmp ] && echo -e $tmp; ++ done | sort -ru | sed '/\(regcomponents\|designutils\)/d' > ~/mseguidoc_xml.dirs; ++ cur_dirs= ++ for dir1 in `cat ~/mseguidoc_xml.dirs`; do ++ cur_dirs="$cur_dirs $dir1" ++ done ++ rm -f -- ~/mseguidoc_xml.dirs ++ ++ # obtaining the list of directories with msegui include files ++ for i in `find $cur_dir/ -iname *.inc`; do ++ tmp=`dirname $i` ++ [ -d $tmp ] && echo -e "-Fi$tmp"; ++ done | sort -u | sed '/\(regcomponents\|designutils\)/d' > ~/mseguidoc_xml.inc; ++ # forming input arguments string for makeskel ++ inc_dirs="" ++ for inc_dir1 in `cat ~/mseguidoc_xml.inc`; do ++ inc_dirs="$inc_dirs $inc_dir1" ++ done ++ # rm -f -- ~/mseguidoc_xml.inc ++ ++ defs="" ++ for def in $msegui_defines; do ++ defs="${defs} -d${def}" ++ done ++ ++ do_it "$cur_dirs" $subdir "$inc_dirs" "$defs" ++ ++ done ++ ++ cd $this_dir ++ ++ exit 0 ++ ++ +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/README.TXT mseide-msegui-1.8/misc/doc_gen/README.TXT +*** mseide-msegui-1.8.orig/misc/doc_gen/README.TXT 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/README.TXT 2008-04-01 20:05:00.000000000 +0200 +*************** +*** 0 **** +--- 1,3 ---- ++ The sources of this tool can be found on : ++ ++ https://msedocumenting.svn.sourceforge.net/svnroot/msedocumenting/mse/trunk/tools/doc +diff -N -c -r mseide-msegui-1.8.orig/misc/doc_gen/xml_templates/msegui_lib.xml mseide-msegui-1.8/misc/doc_gen/xml_templates/msegui_lib.xml +*** mseide-msegui-1.8.orig/misc/doc_gen/xml_templates/msegui_lib.xml 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/doc_gen/xml_templates/msegui_lib.xml 2008-04-01 20:04:00.000000000 +0200 +*************** +*** 0 **** +--- 1,13 ---- ++ ++ ++ ++ MSE GUI Component Library ++ ++

++ The MSE GUI Component Library is a set of visual components to create GUI applications for Window and Linux. ++ No huge toolkits ( Qt,Gtk,.. ) are required - the internal Win32 GUI ( Windows ) and XLibs ( Linux ) are used to draw widgets. ++ It is tightly bound with FPC, not a Delphi clone but more likely a Delphi redesign and extention for particular people needs. ++

++
++
++
+diff -N -c -r mseide-msegui-1.8.orig/misc/svn_upd_script/README.txt mseide-msegui-1.8/misc/svn_upd_script/README.txt +*** mseide-msegui-1.8.orig/misc/svn_upd_script/README.txt 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/svn_upd_script/README.txt 2008-04-01 21:13:00.000000000 +0200 +*************** +*** 0 **** +--- 1,4 ---- ++ Run this script from within a write-enabled directory ++ which then will be used for building ++ your most up-to-date version of MSEide+MSEgui ++ ( /usr/src/SVNROOT/mseide-mse/, etc ). +diff -N -c -r mseide-msegui-1.8.orig/misc/svn_upd_script/updatefromsvn mseide-msegui-1.8/misc/svn_upd_script/updatefromsvn +*** mseide-msegui-1.8.orig/misc/svn_upd_script/updatefromsvn 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/svn_upd_script/updatefromsvn 2008-08-18 18:22:46.000000000 +0200 +*************** +*** 0 **** +--- 1,34 ---- ++ #!/bin/sh ++ # This script gets an update of MSEide+MSEgui into ./trunk or ./ ++ # if ./ is a SVN directory ++ # from SVN and compiles MSEide. The new IDE is ++ # ./trunk/apps/ide/mseide or ./apps/ide/mseide ++ # SVN ++ # http://subversion.tigris.org/project_packages.html ++ # and FPC 2.2 ++ # http://www.freepascal.org/download.var ++ # must be installed on the system. ++ # ++ ++ os=`fpc -iSO` ++ cpu=`fpc -iSP` ++ arch="${cpu}-${os}" ++ ++ CURDIR=$PWD ++ if test -d .svn ++ then ++ DESTDIR=. ++ else ++ DESTDIR=./trunk ++ fi ++ if svn co https://mseide-msegui.svn.sourceforge.net/svnroot/mseide-msegui/trunk $DESTDIR ++ then ++ cd $DESTDIR ++ if ++ ppc386 apps/ide/mseide.pas -Fulib/common/* -B -Fulib/common/kernel/${arch} -Fi/lib/common/kernel ++ then ++ echo Success: ++ echo MSEide compiled to ${PWD}/apps/ide/mseide ++ fi ++ cd $CURDIR ++ fi +diff -N -c -r mseide-msegui-1.8.orig/misc/xft2gs/do_xft.sh mseide-msegui-1.8/misc/xft2gs/do_xft.sh +*** mseide-msegui-1.8.orig/misc/xft2gs/do_xft.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/xft2gs/do_xft.sh 2008-03-31 21:01:00.000000000 +0200 +*************** +*** 0 **** +--- 1,273 ---- ++ #!/bin/sh ++ ++ SHORTPATHS=1 ++ AUTOSHORTGS=1 ++ PSF_ONLYALIASES=1 ++ TTF_ONLYALIASES=0 ++ ++ LANG_NAME=`basename $LANG .$(locale charmap) | sed -e s/_.*//` ++ ++ function prefer_list_1file { ++ cat ${2} | \ ++ egrep -v -e "^[ \t]*$" | sed -e "s/^[ \t]\+//g" | sed -e "s/[ \t]\+$//g" | \ ++ egrep -e "" -B 1 -A 24 | \ ++ egrep "${1}" -A 25 | awk 'BEGIN{toprint=1;}{ ++ if ($0 ~ "") { ++ toprint=0; ++ } ++ if (toprint == 1) { print $0; } ++ }' | \ ++ egrep -v "|" | sed -e "s/<\/*family>//g" | sed 1d >> /tmp/${1}-pref.txt ++ } ++ ++ function prefer_list { ++ local files ++ files= ++ files=$files" "`ls -1 /etc/fonts/conf.d/*-unifont.conf 2>/dev/null` ++ files=$files" "`ls -1 /etc/fonts/conf.d/*-nonlatin.conf 2>/dev/null` ++ files=$files" "`ls -1 /etc/fonts/conf.d/*-latin.conf 2>/dev/null` ++ files=`echo $files | sort -ru` ++ files=$files" /etc/fonts/fonts.conf" ++ [ -f /tmp/${1}-pref.txt ] && rm -f -- /tmp/${1}-pref.txt ++ for file in $files; do ++ echo " ..processing $file for \"$1\"" ++ prefer_list_1file $1 $file ++ done ++ } ++ ++ [ -f /tmp/Fontmap.GS-1 ] && rm -f -- /tmp/Fontmap.GS-1 ++ [ -f /tmp/Fontmap.GS-2 ] && rm -f -- /tmp/Fontmap.GS-2 ++ [ -f /tmp/serif-pref.txt ] && rm -f -- /tmp/serif-pref.txt ++ [ -f /tmp/sans-serif-pref.txt ] && rm -f -- /tmp/sans-serif-pref.txt ++ [ -f /tmp/monospace-pref.txt ] && rm -f -- /tmp/monospace-pref.txt ++ [ -f /tmp/fc-list.txt ] && rm -f -- /tmp/fc-list.txt ++ ++ prefer_list serif ++ prefer_list sans-serif ++ prefer_list monospace ++ ++ fc-list :lang=: file family slant weight > /tmp/fc-list.txt ++ fc-list :lang=$LANG_NAME file family slant weight >> /tmp/fc-list.txt ++ ++ cat /tmp/fc-list.txt | egrep -v "^[ \t]*$" | awk \ ++ -v OPT1=$SHORTPATHS \ ++ -v OPT2=$AUTOSHORTGS \ ++ -v OPT3=$PSF_ONLYALIASES \ ++ -v OPT4=$TTF_ONLYALIASES 'BEGIN { ++ sans_n=0; ++ delete SANS; ++ while (getline SANS[++sans_n] < "/tmp/sans-serif-pref.txt") {;} ++ SANS1=sans_n; ++ sans_styles_n=0; ++ delete SANS_STYLES; ++ delete SANS_TYPES; ++ ++ serif_n=0; ++ delete SERIF; ++ while (getline SERIF[++serif_n] < "/tmp/serif-pref.txt") {;} ++ SERIF1=serif_n; ++ serif_styles_n=0; ++ delete SERIF_STYLES; ++ delete SERIF_TYPES; ++ ++ mono_n=0; ++ delete MONO; ++ while (getline MONO[++mono_n] < "/tmp/monospace-pref.txt") {;} ++ MONO1=mono_n; ++ mono_styles_n=0; ++ delete MONO_STYLES; ++ delete MONO_TYPES; ++ ++ print "" > "/tmp/Fontmap.GS-2"; ++ } { ++ n1=split($0,A,":"); ++ ++ gsub("^[ ]+|[ ]+$","",A[1]); ++ gsub("^[ ]+|[ ]+$","",A[2]); ++ gsub("^[ ]+|[ ]+$","",A[3]); ++ gsub("^[ ]+|[ ]+$","",A[4]); ++ ++ style=""; ++ # weight : ++ # ++ # 50 = Light ++ # 75 = Book ++ # 80,100 = Regular,Normal,Medium ++ # 180 = Demi ++ # 200 = Bold ++ # ++ gsub("weight=","",A[4]); ++ if ( (A[4]+0) > 170) { style="Bold"; } ++ ++ # slant : ++ # ++ # 100 = Italic ++ # 110 = Oblique ++ # ++ gsub("slant=","",A[3]); ++ if ( (A[3]+0) > 90 ) { ++ if ( style != "" ) { ++ style=style" Italic"; ++ } else { ++ style="Italic"; ++ } ++ } ++ ++ famname= A[2]; ++ ++ fstyle= style; ++ fstyle1= style; ++ ++ gsub(" ","",fstyle); ++ if (fstyle != "") { fstyle="-"fstyle; } ++ if (fstyle1 != "") { fstyle1=" "fstyle1; } ++ ++ gsub(" ","-",style); ++ if ( style != "" ) { style="-"style; } ++ gsub("--","-",style); ++ ++ if (( OPT1 == 1 ) || (( OPT2 == 1 ) && ( A[1] ~ /\/gsfonts|defoma|cups|ghostscript\//) ) ) ++ { ++ n2= split(A[1],B,"/"); ++ A[1]=B[n2]; ++ } ++ ++ ft=""; ++ if ( A[1] ~ /\.(ttf|TTF)$/) { ++ ft="TTF-"; ++ } else if ( A[1] ~ /\.(pf(a|b))|(PF(A|B))$/ ) { ++ ft="PSF-"; ++ } else if ( A[1] ~ /\.(gsf|GSF)$/ ) { ++ ft="GSF-"; ++ } ++ ++ # B[n2] - short file name ++ # A[2] - concatenated family name ++ # fam - original family name ++ # style - concatenated style c "-" ++ ++ for (i=1; i<= sans_n; i++) { ++ #-- Font name match ----- ++ if (SANS[i] == A[2] ) { ++ #---- at higher priority --- ++ if (i < SANS1) { ++ #------ set the new priority as current --- ++ SANS1=i; ++ #------ restart the style info for the font ++ #------ with the higher priority ++ sans_styles_n= 0; ++ delete SANS_STYLES; ++ delete SANS_TYPES; ++ SANS_STYLES[++sans_styles_n]=style; ++ SANS_TYPES[sans_styles_n]=ft; ++ #------ continue on the current priority ++ } else if (i == SANS1) { ++ SANS_STYLES[++sans_styles_n]=style; ++ SANS_TYPES[sans_styles_n]=ft; ++ } ++ } ++ } ++ ++ for (i=1; i <= serif_n; i++) { ++ if (SERIF[i] == A[2] ) { ++ if (i < SERIF1) { ++ SERIF1=i; ++ serif_styles_n= 0; ++ delete SERIF_STYLES; ++ delete SERIF_TYPES; ++ SERIF_STYLES[++serif_styles_n]=style; ++ SERIF_TYPES[serif_styles_n]=ft; ++ } else if (i == SERIF1) { ++ SERIF_STYLES[++serif_styles_n]=style; ++ SERIF_TYPES[serif_styles_n]=ft; ++ } ++ } ++ } ++ ++ for (i=1; i <= mono_n; i++) { ++ ++ if (MONO[i] == A[2] ) { ++ if (i < MONO1) { ++ MONO1=i; ++ mono_styles_n= 0; ++ delete MONO_STYLES; ++ delete MONO_TYPES; ++ MONO_STYLES[++mono_styles_n]=style; ++ MONO_TYPES[mono_styles_n]=ft; ++ } else if (i == MONO1) { ++ MONO_STYLES[++mono_styles_n]=style; ++ MONO_TYPES[mono_styles_n]=ft; ++ } ++ } ++ } ++ ++ gsub(" ","-",A[2]); ++ if ((( OPT3 != 1 ) && ((ft == "PSF-") || (ft == "GSF-"))) || (( OPT4 != 1 ) && (ft == "TTF-"))) { ++ print "/"ft""A[2]""style"\t("A[1]")\t;"; ++ print "("famname""fstyle")\t/"ft""A[2]""style"\t;" >> "/tmp/Fontmap.GS-2"; ++ } ++ ++ } END { ++ print "" > "/tmp/Fontmap.GS-1"; ++ ++ for (i=1; i <= sans_styles_n; i++) { ++ SANS_TYPE="" ++ if ((( OPT3 != 1 ) && ((SANS_TYPES[i] == "PSF-") || (SANS_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (SANS_TYPES[i] == "TTF-"))) { ++ SANS_TYPE=SANS_TYPES[i]; ++ } ++ SANS_STYLE=SANS_STYLES[i]; ++ if ( SANS_STYLE != "" ) { ++ gsub("-","",SANS_STYLE); ++ SANS_STYLE="-"SANS_STYLE; ++ } ++ gsub(" ","-",SANS[SANS1]); ++ print "/Sans"SANS_STYLE"\t/"SANS_TYPE""SANS[SANS1]""SANS_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ print "/Helvetica"SANS_STYLE"\t/"SANS_TYPE""SANS[SANS1]""SANS_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ } ++ ++ for (i=1; i <= serif_styles_n; i++) { ++ SERIF_TYPE="" ++ if ((( OPT3 != 1 ) && ((SERIF_TYPES[i] == "PSF-") || (SERIF_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (SERIF_TYPES[i] == "TTF-"))) { ++ SERIF_TYPE=SERIF_TYPES[i]; ++ } ++ SERIF_STYLE=SERIF_STYLES[i]; ++ if ( SERIF_STYLE != "" ) { ++ gsub("-","",SERIF_STYLE); ++ SERIF_STYLE="-"SERIF_STYLE; ++ } ++ gsub(" ","-",SERIF[SERIF1]); ++ print "/Serif"SERIF_STYLE"\t/"SERIF_TYPE""SERIF[SERIF1]""SERIF_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ print "/Times"SERIF_STYLE"\t/"SERIF_TYPE""SERIF[SERIF1]""SERIF_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ } ++ ++ for (i=1; i <= mono_styles_n; i++) { ++ MONO_TYPE="" ++ if ((( OPT3 != 1 ) && ((MONO_TYPES[i] == "PSF-") || (MONO_TYPES[i] == "GSF-"))) || (( OPT4 != 1 ) && (MONO_TYPES[i] == "TTF-"))) { ++ MONO_TYPE=MONO_TYPES[i]; ++ } ++ MONO_STYLE=MONO_STYLES[i]; ++ if ( MONO_STYLE != "" ) { ++ gsub("-","",MONO_STYLE); ++ MONO_STYLE="-"MONO_STYLE; ++ } ++ gsub(" ","-",MONO[MONO1]); ++ print "/Mono"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ print "/Fixed"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ print "/Courier"MONO_STYLE"\t/"MONO_TYPE""MONO[MONO1]""MONO_STYLES[i]"\t;" >> "/tmp/Fontmap.GS-1"; ++ } ++ ++ }' | sort -u > ./Fontmap.GS.xft ++ ++ cat /tmp/Fontmap.GS-2 | sort -u >> ./Fontmap.GS.xft ++ cat /tmp/Fontmap.GS-1 | sort -u >> ./Fontmap.GS.xft ++ ++ rm -f -- \ ++ /tmp/Fontmap.GS-1 \ ++ /tmp/Fontmap.GS-2 \ ++ /tmp/serif-pref.txt \ ++ /tmp/sans-serif-pref.txt \ ++ /tmp/monospace-pref.txt \ ++ /tmp/fc-list.txt ++ ++ ++ exit 0 +diff -N -c -r mseide-msegui-1.8.orig/misc/xft2gs/Fontmap.GS.example mseide-msegui-1.8/misc/xft2gs/Fontmap.GS.example +*** mseide-msegui-1.8.orig/misc/xft2gs/Fontmap.GS.example 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/xft2gs/Fontmap.GS.example 2008-03-31 21:01:00.000000000 +0200 +*************** +*** 0 **** +--- 1,224 ---- ++ /TTF-Arhangai (arhangai.ttf) ; ++ /TTF-Arhangai (Arhangai.ttf) ; ++ /TTF-Arial (arial.ttf) ; ++ /TTF-Arial-Black (ariblk.ttf) ; ++ /TTF-Arial-Bold (arialbd.ttf) ; ++ /TTF-Arial-Bold-Italic (arialbi.ttf) ; ++ /TTF-Arial-Italic (ariali.ttf) ; ++ /TTF-Comic-Sans-MS-Bold (comicbd.ttf) ; ++ /TTF-Comic-Sans-MS (comic.ttf) ; ++ /TTF-Courier-New-Bold (courbd.ttf) ; ++ /TTF-Courier-New-Bold-Italic (courbi.ttf) ; ++ /TTF-Courier-New (cour.ttf) ; ++ /TTF-Courier-New-Italic (couri.ttf) ; ++ /TTF-DejaVu-Sans-Bold (DejaVu-Sans-Bold.ttf) ; ++ /TTF-DejaVu-Sans-Bold (DejaVuSans-Bold.ttf) ; ++ /TTF-DejaVu-Sans-Bold-Italic (DejaVu-Sans-Bold-Oblique.ttf) ; ++ /TTF-DejaVu-Sans-Bold-Italic (DejaVuSans-BoldOblique.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold (DejaVu-Sans-Condensed-Bold.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold (DejaVuSansCondensed-Bold.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold-Italic (DejaVu-Sans-Condensed-Bold-Oblique.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold-Italic (DejaVuSansCondensed-BoldOblique.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed (DejaVu-Sans-Condensed.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed (DejaVuSansCondensed.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Italic (DejaVu-Sans-Condensed-Oblique.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Italic (DejaVuSansCondensed-Oblique.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Light (DejaVu-Sans-ExtraLight.ttf) ; ++ /TTF-DejaVu-Sans,DejaVu-Sans-Light (DejaVuSans-ExtraLight.ttf) ; ++ /TTF-DejaVu-Sans (DejaVu-Sans.ttf) ; ++ /TTF-DejaVu-Sans (DejaVuSans.ttf) ; ++ /TTF-DejaVu-Sans-Italic (DejaVu-Sans-Oblique.ttf) ; ++ /TTF-DejaVu-Sans-Italic (DejaVuSans-Oblique.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Bold (DejaVu-Sans-Mono-Bold.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Bold (DejaVuSansMono-Bold.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Bold-Italic (DejaVu-Sans-Mono-Bold-Oblique.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Bold-Italic (DejaVuSansMono-BoldOblique.ttf) ; ++ /TTF-DejaVu-Sans-Mono (DejaVu-Sans-Mono.ttf) ; ++ /TTF-DejaVu-Sans-Mono (DejaVuSansMono.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Italic (DejaVu-Sans-Mono-Oblique.ttf) ; ++ /TTF-DejaVu-Sans-Mono-Italic (DejaVuSansMono-Oblique.ttf) ; ++ /TTF-DejaVu-Serif-Bold (DejaVu-Serif-Bold.ttf) ; ++ /TTF-DejaVu-Serif-Bold (DejaVuSerif-Bold.ttf) ; ++ /TTF-DejaVu-Serif-Bold-Italic (DejaVu-Serif-Bold-Oblique.ttf) ; ++ /TTF-DejaVu-Serif-Bold-Italic (DejaVuSerif-BoldOblique.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold (DejaVu-Serif-Condensed-Bold.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold (DejaVuSerifCondensed-Bold.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold-Italic (DejaVu-Serif-Condensed-Bold-Oblique.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold-Italic (DejaVuSerifCondensed-BoldOblique.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed (DejaVu-Serif-Condensed.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed (DejaVuSerifCondensed.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Italic (DejaVu-Serif-Condensed-Oblique.ttf) ; ++ /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Italic (DejaVuSerifCondensed-Oblique.ttf) ; ++ /TTF-DejaVu-Serif (DejaVu-Serif.ttf) ; ++ /TTF-DejaVu-Serif (DejaVuSerif.ttf) ; ++ /TTF-DejaVu-Serif-Italic (DejaVu-Serif-Oblique.ttf) ; ++ /TTF-DejaVu-Serif-Italic (DejaVuSerif-Oblique.ttf) ; ++ /TTF-Franklin-Gothic-Medium (framd.ttf) ; ++ /TTF-Franklin-Gothic-Medium-Italic (framdit.ttf) ; ++ /TTF-FreeMono-Bold (FreeMono-Bold.ttf) ; ++ /TTF-FreeMono-Bold (FreeMonoBold.ttf) ; ++ /TTF-FreeMono-Bold-Italic (FreeMono-BoldOblique.ttf) ; ++ /TTF-FreeMono-Bold-Italic (FreeMonoBoldOblique.ttf) ; ++ /TTF-FreeMono (FreeMono-Medium.ttf) ; ++ /TTF-FreeMono (FreeMono.ttf) ; ++ /TTF-FreeMono-Italic (FreeMono-Oblique.ttf) ; ++ /TTF-FreeMono-Italic (FreeMonoOblique.ttf) ; ++ /TTF-FreeSans-Bold (FreeSans-Bold.ttf) ; ++ /TTF-FreeSans-Bold (FreeSansBold.ttf) ; ++ /TTF-FreeSans-Bold-Italic (FreeSans-BoldOblique.ttf) ; ++ /TTF-FreeSans-Bold-Italic (FreeSansBoldOblique.ttf) ; ++ /TTF-FreeSans (FreeSans-Medium.ttf) ; ++ /TTF-FreeSans (FreeSans.ttf) ; ++ /TTF-FreeSans-Italic (FreeSans-Oblique.ttf) ; ++ /TTF-FreeSans-Italic (FreeSansOblique.ttf) ; ++ /TTF-FreeSerif-Bold (FreeSerif-Bold.ttf) ; ++ /TTF-FreeSerif-Bold (FreeSerifBold.ttf) ; ++ /TTF-FreeSerif-Bold-Italic (FreeSerif-BoldItalic.ttf) ; ++ /TTF-FreeSerif-Bold-Italic (FreeSerifBoldItalic.ttf) ; ++ /TTF-FreeSerif (FreeSerif-Medium.ttf) ; ++ /TTF-FreeSerif (FreeSerif.ttf) ; ++ /TTF-FreeSerif-Italic (FreeSerif-Italic.ttf) ; ++ /TTF-FreeSerif-Italic (FreeSerifItalic.ttf) ; ++ /TTF-Georgia-Bold (georgiab.ttf) ; ++ /TTF-Georgia-Bold-Italic (georgiaz.ttf) ; ++ /TTF-Georgia (georgia.ttf) ; ++ /TTF-Georgia-Italic (georgiai.ttf) ; ++ /TTF-Impact (impact.ttf) ; ++ /TTF-Lucida-Console (lucon.ttf) ; ++ /TTF-Lucida-Sans-Unicode (l_10646.ttf) ; ++ /TTF-Microsoft-Sans-Serif (micross.ttf) ; ++ /TTF-Palatino-Linotype-Bold-Italic (palabi.ttf) ; ++ /TTF-Palatino-Linotype-Bold (palab.ttf) ; ++ /TTF-Palatino-Linotype-Italic (palai.ttf) ; ++ /TTF-Palatino-Linotype (pala.ttf) ; ++ /TTF-Sylfaen,SylfaenARM (sylfaen.ttf) ; ++ /TTF-Tahoma-Bold (tahomabd.ttf) ; ++ /TTF-Tahoma (tahoma.ttf) ; ++ /TTF-Thryomanes-Bold-Italic (thrybi__.ttf) ; ++ /TTF-Thryomanes-Bold-Italic (Thryomanes-BoldItalic.ttf) ; ++ /TTF-Thryomanes-Bold (thryb___.ttf) ; ++ /TTF-Thryomanes-Bold (Thryomanes-Bold.ttf) ; ++ /TTF-Thryomanes-Italic (thryi___.ttf) ; ++ /TTF-Thryomanes-Italic (Thryomanes-Italic.ttf) ; ++ /TTF-Thryomanes (Thryomanes-Normal.ttf) ; ++ /TTF-Thryomanes (thryrg__.ttf) ; ++ /TTF-Times-New-Roman-Bold-Italic (timesbi.ttf) ; ++ /TTF-Times-New-Roman-Bold (timesbd.ttf) ; ++ /TTF-Times-New-Roman-Italic (timesi.ttf) ; ++ /TTF-Times-New-Roman (times.ttf) ; ++ /TTF-Trebuchet-MS-Bold-Italic (trebucbi.ttf) ; ++ /TTF-Trebuchet-MS-Bold (trebucbd.ttf) ; ++ /TTF-Trebuchet-MS-Italic (trebucit.ttf) ; ++ /TTF-Trebuchet-MS (trebuc.ttf) ; ++ /TTF-Verdana-Bold-Italic (verdanaz.ttf) ; ++ /TTF-Verdana-Bold (verdanab.ttf) ; ++ /TTF-Verdana-Italic (verdanai.ttf) ; ++ /TTF-Verdana (verdana.ttf) ; ++ ++ (Arhangai) /TTF-Arhangai ; ++ (Arial Black) /TTF-Arial-Black ; ++ (Arial-BoldItalic) /TTF-Arial-Bold-Italic ; ++ (Arial-Bold) /TTF-Arial-Bold ; ++ (Arial-Italic) /TTF-Arial-Italic ; ++ (Arial) /TTF-Arial ; ++ (Comic Sans MS-Bold) /TTF-Comic-Sans-MS-Bold ; ++ (Comic Sans MS) /TTF-Comic-Sans-MS ; ++ (Courier New-BoldItalic) /TTF-Courier-New-Bold-Italic ; ++ (Courier New-Bold) /TTF-Courier-New-Bold ; ++ (Courier New-Italic) /TTF-Courier-New-Italic ; ++ (Courier New) /TTF-Courier-New ; ++ (DejaVu Sans-BoldItalic) /TTF-DejaVu-Sans-Bold-Italic ; ++ (DejaVu Sans-Bold) /TTF-DejaVu-Sans-Bold ; ++ (DejaVu Sans,DejaVu Sans Condensed-BoldItalic) /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold-Italic ; ++ (DejaVu Sans,DejaVu Sans Condensed-Bold) /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Bold ; ++ (DejaVu Sans,DejaVu Sans Condensed-Italic) /TTF-DejaVu-Sans,DejaVu-Sans-Condensed-Italic ; ++ (DejaVu Sans,DejaVu Sans Condensed) /TTF-DejaVu-Sans,DejaVu-Sans-Condensed ; ++ (DejaVu Sans,DejaVu Sans Light) /TTF-DejaVu-Sans,DejaVu-Sans-Light ; ++ (DejaVu Sans-Italic) /TTF-DejaVu-Sans-Italic ; ++ (DejaVu Sans Mono-BoldItalic) /TTF-DejaVu-Sans-Mono-Bold-Italic ; ++ (DejaVu Sans Mono-Bold) /TTF-DejaVu-Sans-Mono-Bold ; ++ (DejaVu Sans Mono-Italic) /TTF-DejaVu-Sans-Mono-Italic ; ++ (DejaVu Sans Mono) /TTF-DejaVu-Sans-Mono ; ++ (DejaVu Sans) /TTF-DejaVu-Sans ; ++ (DejaVu Serif-BoldItalic) /TTF-DejaVu-Serif-Bold-Italic ; ++ (DejaVu Serif-Bold) /TTF-DejaVu-Serif-Bold ; ++ (DejaVu Serif,DejaVu Serif Condensed-BoldItalic) /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold-Italic ; ++ (DejaVu Serif,DejaVu Serif Condensed-Bold) /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Bold ; ++ (DejaVu Serif,DejaVu Serif Condensed-Italic) /TTF-DejaVu-Serif,DejaVu-Serif-Condensed-Italic ; ++ (DejaVu Serif,DejaVu Serif Condensed) /TTF-DejaVu-Serif,DejaVu-Serif-Condensed ; ++ (DejaVu Serif-Italic) /TTF-DejaVu-Serif-Italic ; ++ (DejaVu Serif) /TTF-DejaVu-Serif ; ++ (Franklin Gothic Medium-Italic) /TTF-Franklin-Gothic-Medium-Italic ; ++ (Franklin Gothic Medium) /TTF-Franklin-Gothic-Medium ; ++ (FreeMono-BoldItalic) /TTF-FreeMono-Bold-Italic ; ++ (FreeMono-Bold) /TTF-FreeMono-Bold ; ++ (FreeMono-Italic) /TTF-FreeMono-Italic ; ++ (FreeMono) /TTF-FreeMono ; ++ (FreeSans-BoldItalic) /TTF-FreeSans-Bold-Italic ; ++ (FreeSans-Bold) /TTF-FreeSans-Bold ; ++ (FreeSans-Italic) /TTF-FreeSans-Italic ; ++ (FreeSans) /TTF-FreeSans ; ++ (FreeSerif-BoldItalic) /TTF-FreeSerif-Bold-Italic ; ++ (FreeSerif-Bold) /TTF-FreeSerif-Bold ; ++ (FreeSerif-Italic) /TTF-FreeSerif-Italic ; ++ (FreeSerif) /TTF-FreeSerif ; ++ (Georgia-BoldItalic) /TTF-Georgia-Bold-Italic ; ++ (Georgia-Bold) /TTF-Georgia-Bold ; ++ (Georgia-Italic) /TTF-Georgia-Italic ; ++ (Georgia) /TTF-Georgia ; ++ (Impact) /TTF-Impact ; ++ (Lucida Console) /TTF-Lucida-Console ; ++ (Lucida Sans Unicode) /TTF-Lucida-Sans-Unicode ; ++ (Microsoft Sans Serif) /TTF-Microsoft-Sans-Serif ; ++ (Palatino Linotype-BoldItalic) /TTF-Palatino-Linotype-Bold-Italic ; ++ (Palatino Linotype-Bold) /TTF-Palatino-Linotype-Bold ; ++ (Palatino Linotype-Italic) /TTF-Palatino-Linotype-Italic ; ++ (Palatino Linotype) /TTF-Palatino-Linotype ; ++ (Sylfaen,SylfaenARM) /TTF-Sylfaen,SylfaenARM ; ++ (Tahoma-Bold) /TTF-Tahoma-Bold ; ++ (Tahoma) /TTF-Tahoma ; ++ (Thryomanes-BoldItalic) /TTF-Thryomanes-Bold-Italic ; ++ (Thryomanes-Bold) /TTF-Thryomanes-Bold ; ++ (Thryomanes-Italic) /TTF-Thryomanes-Italic ; ++ (Thryomanes) /TTF-Thryomanes ; ++ (Times New Roman-BoldItalic) /TTF-Times-New-Roman-Bold-Italic ; ++ (Times New Roman-Bold) /TTF-Times-New-Roman-Bold ; ++ (Times New Roman-Italic) /TTF-Times-New-Roman-Italic ; ++ (Times New Roman) /TTF-Times-New-Roman ; ++ (Trebuchet MS-BoldItalic) /TTF-Trebuchet-MS-Bold-Italic ; ++ (Trebuchet MS-Bold) /TTF-Trebuchet-MS-Bold ; ++ (Trebuchet MS-Italic) /TTF-Trebuchet-MS-Italic ; ++ (Trebuchet MS) /TTF-Trebuchet-MS ; ++ (Verdana-BoldItalic) /TTF-Verdana-Bold-Italic ; ++ (Verdana-Bold) /TTF-Verdana-Bold ; ++ (Verdana-Italic) /TTF-Verdana-Italic ; ++ (Verdana) /TTF-Verdana ; ++ ++ /Courier-BoldItalic /TTF-FreeMono-Bold-Italic ; ++ /Courier-Bold /TTF-FreeMono-Bold ; ++ /Courier-Italic /TTF-FreeMono-Italic ; ++ /Courier /TTF-FreeMono ; ++ /Fixed-BoldItalic /TTF-FreeMono-Bold-Italic ; ++ /Fixed-Bold /TTF-FreeMono-Bold ; ++ /Fixed-Italic /TTF-FreeMono-Italic ; ++ /Fixed /TTF-FreeMono ; ++ /Helvetica-BoldItalic /TTF-FreeSans-Bold-Italic ; ++ /Helvetica-Bold /TTF-FreeSans-Bold ; ++ /Helvetica-Italic /TTF-FreeSans-Italic ; ++ /Helvetica /TTF-FreeSans ; ++ /Mono-BoldItalic /TTF-FreeMono-Bold-Italic ; ++ /Mono-Bold /TTF-FreeMono-Bold ; ++ /Mono-Italic /TTF-FreeMono-Italic ; ++ /Mono /TTF-FreeMono ; ++ /Sans-BoldItalic /TTF-FreeSans-Bold-Italic ; ++ /Sans-Bold /TTF-FreeSans-Bold ; ++ /Sans-Italic /TTF-FreeSans-Italic ; ++ /Sans /TTF-FreeSans ; ++ /Serif-BoldItalic /TTF-FreeSerif-Bold-Italic ; ++ /Serif-Bold /TTF-FreeSerif-Bold ; ++ /Serif-Italic /TTF-FreeSerif-Italic ; ++ /Serif /TTF-FreeSerif ; ++ /Times-BoldItalic /TTF-FreeSerif-Bold-Italic ; ++ /Times-Bold /TTF-FreeSerif-Bold ; ++ /Times-Italic /TTF-FreeSerif-Italic ; ++ /Times /TTF-FreeSerif ; +diff -N -c -r mseide-msegui-1.8.orig/misc/xft2gs/README.TXT mseide-msegui-1.8/misc/xft2gs/README.TXT +*** mseide-msegui-1.8.orig/misc/xft2gs/README.TXT 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/misc/xft2gs/README.TXT 2008-08-18 14:20:05.000000000 +0200 +*************** +*** 0 **** +--- 1,73 ---- ++ Script "do_xft.sh" : ++ ++ 1) obtains list of all fonts available via Freetype library ++ 2) analyzes Freetype fonts configuration ( /etc/fonts/fonts.conf ) ++ 3) based on 1) and 2) builds file "./Fontmap.GS.xft" which can then ++ be added to "Fontmap.GS" file ( GhostScript fonts mapper ) ++ on your system ( or can even replace all its contents if ++ no one except MSEgui works with PostScript ). ++ ++ The purpose is to achieve expected look of fonts in GhostScript ++ for PostScript data generated by the MSEgui's postscript printer ++ component ( exactly as these fonts look on display in ++ MSEgui applications ). ++ ++ To have least problems with GhostScript finding TTF ++ ( and other not GS-supplied ) fonts, me recommend to create links ++ to all nedeed fonts files in /usr/share/ghostscript/fonts/ ++ directory. ++ The easiest way to do that is: ++ - enter /usr/share/ghostscript/fonts/ directory ++ - for each directory with TTF fonts ( $Your_TTF_DIR ), call command : ++ = lndir $Your_TTF_DIR ++ ++ It'll create the necessary links. ++ ++ * Obviously, you can store real font files in this directory ++ but ususally XfssTT & Xft expect these files to be in another directory ++ ( /usr/share/fonts/ ), and you may encounter incorrect Xft setup. ++ ++ ======================== ++ ++ MSEgui constructs GhostScript font names from FreeType ones ++ used in appications as follows : ++ ++ {font name}[-[Bold][Italic]], examples : ++ ++ Times, ++ Times-Bold, ++ Arial Narrow-BoldItalic ++ ++ "Bold" & "Italic" aren't replaced with locale specific keywords neither ++ in MSEgui nor in generated PostScript data. But some fonts may describe ++ oneself to be "Bold" or "Italic" in other languages. To cope this issue, ++ this script detects the styles nor via the notation but ++ the numeric info - "slant"(angle) and "weight". ++ ++ If you will still have inexact look of "Times", "Courier" and "Helvetica" ++ fonts then remove ( or comment out ) the following section of ++ "/etc/fonts/fonts.conf" : ++ ++ ++ Times ++ ++ Nimbus Roman No9 L ++ ++ ++ ++ Helvetica ++ ++ Nimbus Sans L ++ ++ ++ ++ Courier ++ ++ Nimbus Mono L ++ ++ ++ ++ and restart XWindows for the changes to take effect. ++ ++ ++ Good luck ! --- mseide-msegui-1.8.orig/debian/patches/05_contrib_juan.dpatch +++ mseide-msegui-1.8/debian/patches/05_contrib_juan.dpatch @@ -0,0 +1,581 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds contributions of juan. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/contrib/juan/printintf/i386-linux/mseprintintf.pas mseide-msegui-1.8/contrib/juan/printintf/i386-linux/mseprintintf.pas +*** mseide-msegui-1.8.orig/contrib/juan/printintf/i386-linux/mseprintintf.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/juan/printintf/i386-linux/mseprintintf.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,203 ---- ++ // Implementation of common printing interface ++ // i386-linux system ++ ++ unit mseprintintf; // i386-linux ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ uses sysutils,msestrings,dynlibs; ++ ++ // Types ++ type ++ cups_option_t = record ++ name: pchar; // Option name ++ value: pchar; // Option value ++ end; ++ ++ pcups_option_t = ^cups_option_t; ++ ppcups_option_t =^pcups_option_t; ++ ++ cups_dest_t = record ++ name: pchar; // Printer name ++ instance: pchar; ++ is_default: longint; // Default printer? ++ num_options: longint; // Number of options ++ options: pcups_option_t; // Options ++ end; ++ ++ pcups_dest_t = ^cups_dest_t; ++ ppcups_dest_t = ^pcups_dest_t; ++ ++ const ++ CUPS_LIBRARY = 'libcups.so'; ++ ++ // DLL load/unload functions ++ function initializedll(): boolean; ++ procedure finalizedll(); ++ ++ var ++ dllpointer: tlibhandle; ++ ++ // Functions from cups libs ++ cupsgetdests: function(dests: ppcups_dest_t): longint;cdecl; ++ cupsfreedests: procedure(num_dests: longint; dests: pcups_dest_t);cdecl; ++ cupsgetoption: function(name: pchar; num_options: longint; options: pcups_option_t): pchar;cdecl; ++ ++ {$ifdef FPC} ++ {$include ../mseprintintf.inc} ++ {$else} ++ {$include mseprintintf.inc} ++ {$endif} ++ ++ implementation ++ ++ { ++ ************************************* ++ CUPS DLL load function ++ ************************************* ++ } ++ ++ function initializedll(): boolean; ++ begin ++ initializedll:= false; // Default value ++ ++ dllpointer:= 0; ++ dllpointer:= loadlibrary(CUPS_LIBRARY); ++ ++ if dllpointer <> 0 then ++ begin ++ initializedll:= true; ++ end ++ else ++ begin ++ exit; ++ end; ++ ++ pointer(cupsgetdests):= getprocedureaddress(dllpointer, 'cupsGetDests'); ++ pointer(cupsfreedests):= getprocedureaddress(dllpointer, 'cupsFreeDests'); ++ pointer(cupsgetoption):= getprocedureaddress(dllpointer, 'cupsGetOption'); ++ end; ++ ++ { ++ ************************************* ++ CUPS DLL unload function ++ ************************************* ++ } ++ ++ procedure finalizedll(); ++ begin ++ unloadlibrary(dllpointer); ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve printer ++ names list and printer count ++ ************************************* ++ } ++ ++ function pri_getprinterlist: msestringarty; ++ var ++ printercount: longint; // Number of printers ++ printerlist: pcups_dest_t; // List of printers ++ counter: longint; ++ begin ++ result:= nil; ++ if initializedll = false then exit; ++ ++ printercount:= cupsgetdests(@printerlist); ++ setlength(result, printercount); ++ ++ // Make printer list ++ for counter:= 0 to high(result) do ++ begin ++ result[counter]:= printerlist[counter].name; ++ end; ++ ++ // Free printer list ++ cupsfreedests(printercount, printerlist); ++ ++ finalizedll; ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve ++ default printer name ++ ************************************* ++ } ++ ++ function pri_getdefaultprinter: msestring; ++ var ++ printercount: longint; // Number of printers ++ printerlist: pcups_dest_t; // List of printers ++ counter: longint; ++ begin ++ result:= ''; ++ ++ if initializedll = false then exit; ++ ++ printercount:= cupsgetdests(@printerlist); ++ ++ for counter:= 0 to printercount - 1 do ++ begin ++ if printerlist[counter].is_default <> 0 then ++ begin ++ result:= printerlist[counter].name; ++ break; ++ end; ++ end; ++ ++ // Free printer list ++ cupsfreedests(printercount, printerlist); ++ ++ finalizedll; ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve printer ++ properties ++ ************************************* ++ } ++ ++ function pri_getprinterproperties(const printername: msestring; ++ var properties: printerpropertiesty): boolean; ++ var ++ printercount: longint; // Number of printers ++ printerlist: pcups_dest_t; // List of printers ++ counter: longint; ++ begin ++ pri_getprinterproperties:= false; // Default value ++ ++ if initializedll = false then exit; ++ ++ printercount:= cupsgetdests(@printerlist); ++ ++ for counter:= 0 to printercount - 1 do ++ begin ++ if AnsiCompareStr(printerlist[counter].name, printername) = 0 then ++ begin ++ properties.printername:= strpas(printerlist[counter].name); ++ properties.drivername:= strpas(cupsgetoption('printer-make-and-model', ++ printerlist[counter].num_options, printerlist[counter].options)); ++ properties.location:= ''; // Provisional ++ properties.description:= strpas(cupsgetoption('printer-info', ++ printerlist[counter].num_options, printerlist[counter].options)); ++ properties.isdefault:= boolean(printerlist[counter].is_default); ++ properties.isshared:= boolean(strtoint(cupsgetoption('printer-is-shared', ++ printerlist[counter].num_options, printerlist[counter].options))); ++ properties.islocal:= true; // Provisional ++ ++ pri_getprinterproperties:= true; // Printer found ++ end; ++ end; ++ ++ // Free printer list ++ cupsfreedests(printercount, printerlist); ++ ++ finalizedll; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/juan/printintf/i386-win32/mseprintintf.pas mseide-msegui-1.8/contrib/juan/printintf/i386-win32/mseprintintf.pas +*** mseide-msegui-1.8.orig/contrib/juan/printintf/i386-win32/mseprintintf.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/juan/printintf/i386-win32/mseprintintf.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,336 ---- ++ unit mseprintintf; // i386-win32 ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ uses sysutils,msestrings,dynlibs; ++ ++ // Types ++ type ++ tdevicemode = packed record ++ dmDeviceName: array[0..31] of AnsiChar; ++ dmSpecVersion: Word; ++ dmDriverVersion: Word; ++ dmSize: Word; ++ dmDriverExtra: Word; ++ dmFields: DWORD; ++ dmOrientation: smallint; ++ dmPaperSize: smallint; ++ dmPaperLength: smallint; ++ dmPaperWidth: smallint; ++ dmScale: smallint; ++ dmCopies: smallint; ++ dmDefaultSource: smallint; ++ dmPrintQuality: smallint; ++ dmColor: smallint; ++ dmDuplex: smallint; ++ dmYResolution: smallint; ++ dmTTOption: smallint; ++ dmCollate: smallint; ++ dmFormName: Array[0..31] of AnsiChar; ++ dmLogPixels: Word; ++ dmBitsPerPel: DWORD; ++ dmPelsWidth: DWORD; ++ dmPelsHeight: DWORD; ++ dmDisplayFlags: DWORD; ++ dmDisplayFrequency: DWORD; ++ dmICMMethod: DWORD; ++ dmICMIntent: DWORD; ++ dmMediaType: DWORD; ++ dmDitherType: DWORD; ++ dmICCManufacturer : DWORD; ++ dmICCModel: DWORD; ++ dmPanningWidth: DWORD; ++ dmPanningHeight: DWORD; ++ end; ++ ++ pdevicemode = ^tdevicemode; ++ ++ printer_info_2 = packed Record ++ pServerName: PChar; ++ pPrinterName: PChar; ++ pShareName: PChar; ++ pPortName: PChar; ++ pDriverName: PChar; ++ pComment: PChar; ++ pLocation: PChar; ++ pDevMode: PDeviceMode; ++ pSepFile: PChar; ++ pPrintProcessor: PChar; ++ pDatatype: PChar; ++ pParameters: PChar; ++ pSecurityDescriptor: Pointer; ++ Attributes: DWORD; ++ Priority: DWORD; ++ DefaultPriority: DWORD; ++ StartTime: DWORD; ++ UntilTime: DWORD; ++ Status: DWORD; ++ cJobs: DWORD; ++ AveragePPM: DWORD; ++ end; ++ ++ pprinter_info_2 = ^printer_info_2; ++ ++ printer_info_4 = packed Record ++ pprintername: pchar; ++ pservername: pchar; ++ attributes: dword; ++ end; ++ ++ pprinter_info_4 = ^printer_info_4; ++ ++ printer_info_5 = packed Record ++ pprintername: pchar; ++ pportname: pchar; ++ attributes: dword; ++ devicenotselectedtimeout: dword; ++ transmissionretrytimeout: dword; ++ end; ++ ++ pprinter_info_5 = ^printer_info_5; ++ ++ ++ const ++ PRINT_LIBRARY = 'winspool.drv'; ++ ++ // DLL load/unload functions ++ function initializedll(): boolean; ++ procedure finalizedll(); ++ ++ var ++ dllpointer: tlibhandle; ++ ++ // Functions from gdi libs ++ enumprinters: function(flags: dword; name: pchar; level: dword; ++ pprinterenum: pointer; cbbuf: dword; ++ var pcbneeded, pcreturned: dword): boolean; stdcall; ++ ++ function getprofilestring(lpappname:pchar; ++ lpkeyname: pchar; lpdefault: pchar; lpreturnedstring: pchar; ++ nsize: dword): dword; stdcall; external 'kernel32' name 'GetProfileStringA'; ++ ++ {$ifdef FPC} ++ {$include ../mseprintintf.inc} ++ {$else} ++ {$include mseprintintf.inc} ++ {$endif} ++ ++ implementation ++ ++ { ++ ************************************* ++ GDI DLL load function ++ ************************************* ++ } ++ ++ function initializedll(): boolean; ++ begin ++ initializedll:= false; // Default value ++ ++ dllpointer:= 0; ++ dllpointer:= loadlibrary(PRINT_LIBRARY); ++ ++ if dllpointer <> 0 then ++ begin ++ initializedll:= true; ++ end ++ else ++ begin ++ exit; ++ end; ++ ++ pointer(enumprinters):= getprocedureaddress(dllpointer, 'EnumPrintersA'); ++ end; ++ ++ { ++ ************************************* ++ GDI DLL unload function ++ ************************************* ++ } ++ ++ procedure finalizedll(); ++ begin ++ unloadlibrary(dllpointer); ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve printer ++ names list and printer count ++ ************************************* ++ } ++ ++ function pri_getprinterlist: msestringarty; ++ var ++ flags: dword; ++ needed: dword; ++ level: dword; ++ infobuffer: pchar; ++ infoptr: pchar; ++ printercount: dword; ++ counter: longint; ++ begin ++ result:= nil; ++ flags:= 2 or 4; ++ needed:= 0; ++ level:= 4; ++ ++ if initializedll = false then exit; ++ ++ enumprinters(flags,nil,level,nil,0,needed,printercount); ++ if Needed > 0 then ++ begin ++ getmem(infobuffer,needed); ++ fillchar(infobuffer^,needed,0); ++ ++ enumprinters(flags,nil,level,infobuffer,needed,needed,printercount); ++ infoptr:= infobuffer; ++ setlength(result, printercount); ++ ++ for counter:= 0 to high(result) do ++ begin ++ result[counter]:= (pprinter_info_4(infoptr)^.pprintername); ++ inc(infoptr,sizeof(printer_info_4)); ++ end; ++ freemem(infobuffer); ++ ++ end; ++ ++ finalizedll; ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve ++ default printer name ++ ************************************* ++ } ++ ++ function pri_getdefaultprinter: msestring; ++ var ++ flags: dword; ++ level: dword; ++ needed: dword; ++ infobuffer: pchar; ++ printercount: dword; ++ defaultprinter: array[0..79] of char; ++ ++ begin ++ result:= ''; ++ ++ if initializedll = false then exit; ++ ++ flags:= 1; ++ needed:=0; ++ level:=5; ++ ++ enumprinters(flags,nil,level,nil,0,needed,printercount); ++ if Needed > 0 then ++ begin ++ // Win95/98/ME ++ getmem(infobuffer,needed); ++ fillchar(infobuffer^,needed,0); ++ ++ if enumprinters(flags,nil,level,infobuffer,needed,needed,printercount) then ++ begin ++ result:=pprinter_info_5(infobuffer)^.pprintername; ++ end; ++ ++ freemem(infobuffer); ++ end ++ else ++ begin ++ // WinNT4.0/W2K/WXP ++ getprofilestring(pchar('windows'),pchar('device'),pchar(''), ++ defaultprinter,sizeof(defaultprinter)); ++ ++ if pos(',',defaultprinter) <> 0 then ++ begin; ++ defaultprinter:= copy(defaultprinter,1,Pos(',',defaultprinter) - 1); ++ result:= strpas(defaultprinter); ++ end; ++ end; ++ ++ finalizedll; ++ end; ++ ++ { ++ ************************************* ++ Function to retrieve printer ++ properties ++ ************************************* ++ } ++ ++ function pri_getprinterproperties(const printername: msestring; ++ var properties: printerpropertiesty): boolean; ++ var ++ flags: dword; ++ level: dword; ++ needed: dword; ++ infobuffer: pchar; ++ printercount: dword; ++ pprintername: pchar; ++ counter: longint; ++ defaultprinter: msestring; ++ ++ begin ++ result:= false; ++ ++ flags:= 2 or 4; ++ needed:= 0; ++ level:= 2; ++ ++ defaultprinter:= pri_getdefaultprinter; ++ ++ if initializedll = false then exit; ++ ++ getmem(pprintername,length(printername) + 1); ++ fillchar(pprintername^,length(printername) + 1, 0); ++ strpcopy(pprintername,printername); ++ ++ enumprinters(flags,nil,level,nil,0,needed,printercount); ++ if Needed > 0 then ++ begin ++ getmem(infobuffer,needed); ++ fillchar(infobuffer^,needed,0); ++ ++ enumprinters(flags,nil,level,infobuffer,needed,needed,printercount); ++ ++ for counter:= 0 to printercount - 1 do ++ begin ++ if strcomp(pprintername, pprinter_info_2(infobuffer)^.pprintername) = 0 then ++ begin ++ properties.printername:= strpas(pprinter_info_2(infobuffer)^.pprintername); ++ properties.drivername:= strpas(pprinter_info_2(infobuffer)^.pdrivername); ++ properties.location:= strpas(pprinter_info_2(infobuffer)^.plocation); ++ properties.description:= strpas(pprinter_info_2(infobuffer)^.pcomment); ++ ++ properties.isdefault:= defaultprinter = ++ strpas(pprinter_info_2(infobuffer)^.pprintername); ++ ++ properties.isshared:= ++ pprinter_info_2(infobuffer)^.attributes or 8 = ++ pprinter_info_2(infobuffer)^.attributes; ++ //???? mse ++ ++ properties.islocal:= pprinter_info_2(infobuffer)^.pservername <> nil; ++ ++ result:= true; ++ freemem(infobuffer); ++ freemem(pprintername); ++ finalizedll; ++ exit; ++ end; ++ inc(infobuffer,sizeof(printer_info_2)); ++ end; ++ ++ freemem(infobuffer); ++ end; ++ ++ freemem(pprintername); ++ ++ finalizedll; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/juan/printintf/mseprintintf.inc mseide-msegui-1.8/contrib/juan/printintf/mseprintintf.inc +*** mseide-msegui-1.8.orig/contrib/juan/printintf/mseprintintf.inc 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/juan/printintf/mseprintintf.inc 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,17 ---- ++ // mseprintintf.inc ++ ++ type ++ printerpropertiesty = record ++ printername: string; ++ drivername: string; ++ location: string; ++ description: string; ++ isdefault: boolean; ++ isshared: boolean; ++ islocal: boolean; ++ end; ++ ++ function pri_getprinterlist: msestringarty; ++ function pri_getdefaultprinter: msestring; ++ function pri_getprinterproperties(const printername: msestring; ++ var properties: printerpropertiesty): boolean; --- mseide-msegui-1.8.orig/debian/patches/01_install.dpatch +++ mseide-msegui-1.8/debian/patches/01_install.dpatch @@ -0,0 +1,72 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 01_install.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds launcher script, icons, and menu entry. + +@DPATCH@ +*** mseide-msegui-1.8.orig/install/mseide 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/install/mseide 2008-05-23 22:58:00.000000000 +0200 +*************** +*** 0 **** +--- 1,18 ---- ++ #!/bin/sh ++ ++ # may be needed on some misconfigured X11 systems ++ # ++ #export LANG=ru_RU.UTF-8 ++ ++ /usr/lib/mseide-msegui/apps/ide/mseide '--macrodef=MSEDIR,/usr/lib/mseide-msegui/,MSELIBDIR,${MSEDIR}units/common/' & ++ ++ # Other start options ( examples ): ++ # ++ # --FONTALIAS=stf_default,Tahoma,12 => font replacements ++ # --FONTALIAS=stf_menu,Tahoma,12 ++ # --FONTALIAS=stf_source,,11 ++ # ++ # --TOPLEVELRAISE => may be needed if started from recent IceWM ++ # --NOZORDERHANDLING => alternative to TOPLEVELRAISE, less preferrable ++ ++ exit 0 +diff -N -c mseide-msegui-1.8.orig/install/mseide.desktop mseide-msegui-1.8/install/mseide.desktop +*** mseide-msegui-1.8.orig/install/mseide.desktop 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/install/mseide.desktop 2008-08-17 14:52:56.000000000 +0200 +*************** +*** 0 **** +--- 1,12 ---- ++ [Desktop Entry] ++ Encoding=UTF-8 ++ Name=MSEide Free Pascal RAD ++ Name[ru]=MSEide: Ńреда быŃтрой разработки программ на базе Free Pascal ++ Comment=Create and debug console and GUI applications ++ Comment[ru]=Создание и отладка конŃольных и оконных приложений ++ Exec=mseide ++ Icon=mseide ++ Terminal=false ++ Type=Application ++ Categories=Application;Development; ++ StartupNotify=false +diff -N -c mseide-msegui-1.8.orig/install/mseide-icewm mseide-msegui-1.8/install/mseide-icewm +*** mseide-msegui-1.8.orig/install/mseide-icewm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/install/mseide-icewm 2008-05-23 22:58:00.000000000 +0200 +*************** +*** 0 **** +--- 1,18 ---- ++ #!/bin/sh ++ ++ # may be needed on some misconfigured X11 systems ++ # ++ #export LANG=ru_RU.UTF-8 ++ ++ /usr/lib/mseide-msegui/apps/ide/mseide --TOPLEVELRAISE '--macrodef=MSEDIR,/usr/lib/mseide-msegui/,MSELIBDIR,${MSEDIR}units/common/' & ++ ++ # Other start options ( examples ): ++ # ++ # --FONTALIAS=stf_default,Tahoma,12 => font replacements ++ # --FONTALIAS=stf_menu,Tahoma,12 ++ # --FONTALIAS=stf_source,,11 ++ # ++ # --TOPLEVELRAISE => may be needed if started from recent IceWM ++ # --NOZORDERHANDLING => alternative to TOPLEVELRAISE, less preferrable ++ ++ exit 0 --- mseide-msegui-1.8.orig/debian/patches/05_contrib_ivankob.dpatch +++ mseide-msegui-1.8/debian/patches/05_contrib_ivankob.dpatch @@ -0,0 +1,17088 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds contributions of ivankob. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform.mfm mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,125 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 102 ++ bounds_y = 149 ++ bounds_cx = 612 ++ bounds_cy = 467 ++ color = 15921906 ++ frame.localprops = [frl_leveli] ++ frame.grip_size = 0 ++ frame.grip_options = [go_closebutton, go_showsplitcaption, go_showfloatcaption] ++ frame.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 21 ++ container.bounds_cx = 612 ++ container.bounds_cy = 446 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ mainmenu = tmainmenu1 ++ font.name = 'Arial' ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'The main form' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tdockform' ++ object grpStatusBar: tgroupbox ++ bounds_x = 0 ++ bounds_y = 416 ++ bounds_cx = 612 ++ bounds_cy = 26 ++ color = 14737663 ++ frame.levelo = 0 ++ frame.leveli = -2 ++ frame.localprops = [frl_levelo, frl_leveli] ++ frame.dummy = 0 ++ anchors = [an_bottom] ++ object sdSubformNum: tstringdisp ++ bounds_x = 20 ++ bounds_y = 2 ++ bounds_cx = 145 ++ bounds_cy = 22 ++ color = -2147483645 ++ frame.framei_left = 5 ++ frame.caption = 'Subform selected :' ++ frame.captionpos = cp_left ++ frame.captiondist = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_fileft] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 93 ++ 0 ++ 0 ++ 0 ++ ) ++ anchors = [an_left] ++ value = '0' ++ reffontheight = 14 ++ end ++ object sdSubformCnt: tstringdisp ++ bounds_x = 177 ++ bounds_y = 2 ++ bounds_cx = 145 ++ bounds_cy = 22 ++ color = -2147483645 ++ frame.framei_left = 5 ++ frame.caption = 'Subforms quantity :' ++ frame.captionpos = cp_left ++ frame.captiondist = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_fileft] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 96 ++ 0 ++ 0 ++ 0 ++ ) ++ anchors = [an_left] ++ taborder = 1 ++ value = '0' ++ reffontheight = 14 ++ end ++ end ++ object dockarea: tdockformwidget ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 612 ++ bounds_cy = 416 ++ color = -2147483646 ++ frame.leveli = -1 ++ frame.localprops = [frl_leveli] ++ frame.grip_size = 0 ++ frame.dummy = 0 ++ anchors = [an_top, an_bottom] ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 1 ++ container.bounds_y = 1 ++ container.bounds_cx = 610 ++ container.bounds_cy = 414 ++ container.frame.dummy = 0 ++ dragdock.optionsdock = [od_savepos, od_acceptsdock] ++ icon.transparency = -2147483648 ++ end ++ object tmainmenu1: tmainmenu ++ menu.submenu.count = 1 ++ menu.submenu.items = < ++ item ++ caption = 'New SubForm' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = makenewform ++ end> ++ itemframetemplate = tframecomp1 ++ left = 416 ++ top = 8 ++ end ++ object tframecomp1: tframecomp ++ template.leveli = 1 ++ template.framewidth = 2 ++ template.colorframe = 11382271 ++ template.framei_right = 50 ++ left = 288 ++ top = 8 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,143 ---- ++ unit mainform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,mainform; ++ ++ const ++ objdata: record size: integer; data: array[0..2509] of byte end = ++ (size: 2510; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,102,8,98,111,117,110,100,115, ++ 95,121,3,149,0,9,98,111,117,110,100,115,95,99,120,3,100,2,9,98, ++ 111,117,110,100,115,95,99,121,3,211,1,5,99,111,108,111,114,4,242,242, ++ 242,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,108,101,118,101,108,105,0,15,102,114,97,109,101,46,103, ++ 114,105,112,95,115,105,122,101,2,0,18,102,114,97,109,101,46,103,114,105, ++ 112,95,111,112,116,105,111,110,115,11,14,103,111,95,99,108,111,115,101,98, ++ 117,116,116,111,110,19,103,111,95,115,104,111,119,115,112,108,105,116,99,97, ++ 112,116,105,111,110,19,103,111,95,115,104,111,119,102,108,111,97,116,99,97, ++ 112,116,105,111,110,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97,105,110,101, ++ 114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95, ++ 115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97, ++ 110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121, ++ 2,21,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,120,3,100,2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,121,3,190,1,21,99,111,110,116,97,105,110,101,114,46,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110,115, ++ 119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112,108,101,97,100, ++ 101,114,0,8,109,97,105,110,109,101,110,117,7,10,116,109,97,105,110,109, ++ 101,110,117,49,9,102,111,110,116,46,110,97,109,101,6,5,65,114,105,97, ++ 108,10,102,111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105,111, ++ 110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105, ++ 110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114, ++ 101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101, ++ 115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115, ++ 97,118,101,115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,13,84, ++ 104,101,32,109,97,105,110,32,102,111,114,109,17,105,99,111,110,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,109,111,100,117, ++ 108,101,99,108,97,115,115,110,97,109,101,6,9,116,100,111,99,107,102,111, ++ 114,109,0,9,116,103,114,111,117,112,98,111,120,12,103,114,112,83,116,97, ++ 116,117,115,66,97,114,8,98,111,117,110,100,115,95,120,2,0,8,98,111, ++ 117,110,100,115,95,121,3,160,1,9,98,111,117,110,100,115,95,99,120,3, ++ 100,2,9,98,111,117,110,100,115,95,99,121,2,26,5,99,111,108,111,114, ++ 4,255,224,224,0,12,102,114,97,109,101,46,108,101,118,101,108,111,2,0, ++ 12,102,114,97,109,101,46,108,101,118,101,108,105,2,254,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11,9, ++ 97,110,95,98,111,116,116,111,109,0,0,11,116,115,116,114,105,110,103,100, ++ 105,115,112,12,115,100,83,117,98,102,111,114,109,78,117,109,8,98,111,117, ++ 110,100,115,95,120,2,20,8,98,111,117,110,100,115,95,121,2,2,9,98, ++ 111,117,110,100,115,95,99,120,3,145,0,9,98,111,117,110,100,115,95,99, ++ 121,2,22,5,99,111,108,111,114,4,3,0,0,128,17,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,108,101,102,116,2,5,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,18,83,117,98,102,111,114,109,32,115,101, ++ 108,101,99,116,101,100,32,58,16,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,100,105,115,116,2,0,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,10,102, ++ 114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109, ++ 101,1,2,93,2,0,2,0,2,0,0,7,97,110,99,104,111,114,115,11, ++ 7,97,110,95,108,101,102,116,0,5,118,97,108,117,101,6,1,48,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,11,116,115,116, ++ 114,105,110,103,100,105,115,112,12,115,100,83,117,98,102,111,114,109,67,110, ++ 116,8,98,111,117,110,100,115,95,120,3,177,0,8,98,111,117,110,100,115, ++ 95,121,2,2,9,98,111,117,110,100,115,95,99,120,3,145,0,9,98,111, ++ 117,110,100,115,95,99,121,2,22,5,99,111,108,111,114,4,3,0,0,128, ++ 17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,5, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,19,83,117,98,102, ++ 111,114,109,115,32,113,117,97,110,116,105,116,121,32,58,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102, ++ 116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2, ++ 0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101, ++ 119,105,100,116,104,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,96,2,0,2,0,2,0,0,7,97, ++ 110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,0,8,116,97,98, ++ 111,114,100,101,114,2,1,5,118,97,108,117,101,6,1,48,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,15,116,100,111,99, ++ 107,102,111,114,109,119,105,100,103,101,116,8,100,111,99,107,97,114,101,97, ++ 8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121, ++ 2,0,9,98,111,117,110,100,115,95,99,120,3,100,2,9,98,111,117,110, ++ 100,115,95,99,121,3,160,1,5,99,111,108,111,114,4,2,0,0,128,12, ++ 102,114,97,109,101,46,108,101,118,101,108,105,2,255,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,105,0,15,102,114,97,109,101,46,103,114,105,112,95,115,105,122,101, ++ 2,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99, ++ 104,111,114,115,11,6,97,110,95,116,111,112,9,97,110,95,98,111,116,116, ++ 111,109,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97, ++ 105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11, ++ 111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101, ++ 116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117,115,101, ++ 119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,1,18,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,1,19, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3, ++ 98,2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,121,3,158,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,20,100,114,97,103,100,111,99,107,46,111, ++ 112,116,105,111,110,115,100,111,99,107,11,10,111,100,95,115,97,118,101,112, ++ 111,115,14,111,100,95,97,99,99,101,112,116,115,100,111,99,107,0,17,105, ++ 99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,0,0,9,116,109,97,105,110,109,101,110,117,10,116,109,97,105,110,109, ++ 101,110,117,49,18,109,101,110,117,46,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,1,18,109,101,110,117,46,115,117,98,109,101,110,117,46,105, ++ 116,101,109,115,14,1,7,99,97,112,116,105,111,110,6,11,78,101,119,32, ++ 83,117,98,70,111,114,109,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,9,111,110,101,120,101,99,117,116,101,7, ++ 11,109,97,107,101,110,101,119,102,111,114,109,0,0,17,105,116,101,109,102, ++ 114,97,109,101,116,101,109,112,108,97,116,101,7,11,116,102,114,97,109,101, ++ 99,111,109,112,49,4,108,101,102,116,3,160,1,3,116,111,112,2,8,0, ++ 0,10,116,102,114,97,109,101,99,111,109,112,11,116,102,114,97,109,101,99, ++ 111,109,112,49,15,116,101,109,112,108,97,116,101,46,108,101,118,101,108,105, ++ 2,1,19,116,101,109,112,108,97,116,101,46,102,114,97,109,101,119,105,100, ++ 116,104,2,2,19,116,101,109,112,108,97,116,101,46,99,111,108,111,114,102, ++ 114,97,109,101,4,255,173,173,0,21,116,101,109,112,108,97,116,101,46,102, ++ 114,97,109,101,105,95,114,105,103,104,116,2,50,4,108,101,102,116,3,32, ++ 1,3,116,111,112,2,8,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mainform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mainform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,93 ---- ++ unit mainform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msedock,msemenus, subform1, msedatalist, ++ msedispwidgets,msesimplewidgets,classes; ++ ++ const ++ horshift = 20; ++ vershift = 20; ++ ++ type ++ tmainfo = class(tdockform) ++ sdSubformNum: tstringdisp; ++ dockarea: tdockformwidget; ++ tframecomp1: tframecomp; ++ grpStatusBar: tgroupbox; ++ tmainmenu1: tmainmenu; ++ sdSubformCnt: tstringdisp; ++ procedure makenewform(const sender: TObject); ++ private ++ subforms: tcomponentqueue; ++ activesubform: tsubform1fo; ++ public ++ constructor create(aowner: tcomponent); override; ++ destructor destroy; override; ++ procedure listchanged; ++ procedure subformactivated(const sender: tsubform1fo); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ mainform_mfm, ++ sysutils, // inttostr ++ msegraphutils // makepoint ++ ; ++ ++ constructor tmainfo.create(aowner: tcomponent); ++ begin ++ subforms:= tcomponentqueue.create(true); ++ inherited; ++ end; ++ ++ destructor tmainfo.destroy; ++ begin ++ subforms.free; ++ inherited; ++ end; ++ ++ procedure tmainfo.listchanged; ++ begin ++ if not (csdestroying in componentstate) then begin ++ sdSubformCnt.value:= inttostr(subforms.count); ++ sdSubformNum.value:= inttostr(subforms.findobject(activesubform)); ++ end; ++ end; ++ ++ procedure tmainfo.makenewform(const sender: TObject); ++ var ++ idx: integer; ++ subfo: tsubform1fo; ++ begin ++ subfo:= tsubform1fo.create(nil); ++ idx:= subforms.add(subfo); ++ with dockarea.container do begin ++ insertwidget( ++ subfo, ++ makepoint( ++ clientwidgetpos.x + idx*horshift, ++ clientwidgetpos.y + idx*vershift ++ ) ++ ); ++ end; ++ // shows the initially invisible form ++ // then brings it to front ++ subfo.activate; ++ listchanged; ++ end; ++ ++ procedure tmainfo.subformactivated(const sender: tsubform1fo); ++ begin ++ activesubform:= sender; ++ listchanged; ++ end; ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mdiexample.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mdiexample.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mdiexample.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mdiexample.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program mdiexample; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,mainform; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mdiexample.prj mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mdiexample.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/mdiexample.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/mdiexample.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,591 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/mdi_example_martin ++ options=44 ++ [projectoptionsfo] ++ stackedunder= ++ x=122 ++ y=117 ++ cx=629 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=391 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=121 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=476 ++ values2=0 ++ width2=46 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=141 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=572 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=2 ++ MAINFO ++ SUBFORM1FO ++ moduletypes=2 ++ TMAINFO ++ TSUBFORM1FO ++ modulefiles=2 ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.mfm ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.mfm ++ mainfile=mdiexample.pas ++ targetfile=mdiexample${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -gh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=0 ++ newprojectfilesdest=0 ++ expandprojectfilemacros=0 ++ loadprojectfile=0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ line=1 ++ 82 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=0 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=303 ++ [mainfo] ++ stackedunder= ++ x=72 ++ y=35 ++ cx=429 ++ cy=138 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=11232 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=3 ++ /usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.pas ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=57 ++ y=77 ++ cx=889 ++ cy=613 ++ wsize=0 ++ active=1 ++ visible=1 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=messagefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=123 ++ y=118 ++ cx=441 ++ cy=100 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=135 ++ y=201 ++ cx=694 ++ cy=137 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=625 ++ cx=910 ++ cy=106 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=68 ++ y=345 ++ cx=594 ++ cy=159 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=sourcefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=614 ++ y=139 ++ cx=353 ++ cy=444 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=221 ++ width1=116 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=186 ++ y=124 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=0 ++ width1=33 ++ values2=0 ++ width2=158 ++ width4=34 ++ values5=0 ++ width5=38 ++ values6=0 ++ width6=184 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=123 ++ y=201 ++ cx=650 ++ cy=368 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=debuggerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=205 ++ y=347 ++ cx=368 ++ cy=137 ++ wsize=0 ++ active=0 ++ visible=0 ++ [edit] ++ hintwidth=314 ++ hintheight=214 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 2,27 ++ 31,68 ++ 7,2675 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.pas ++ /usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ relpaths=3 ++ subform1.pas ++ mainform.pas ++ ../../../../usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=2 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.mfm ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.mfm ++ visiblemodules=2 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ order=3 ++ 0 ++ 2 ++ 1 ++ tabsize=104 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=160 ++ y=133 ++ cx=704 ++ cy=473 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1.mfm mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,62 ---- ++ object subform1fo: tsubform1fo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 246 ++ bounds_y = 131 ++ bounds_cx = 443 ++ bounds_cy = 276 ++ color = -1610612721 ++ frame.leveli = -1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612728 ++ frame.captiondist = -3 ++ frame.captiondistouter = True ++ frame.captionoffset = 15 ++ frame.font.color = -1610612712 ++ frame.font.style = [fs_bold] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.grip_size = 17 ++ frame.grip_grip = stb_dens100 ++ frame.grip_color = -1610612715 ++ frame.grip_colorbutton = 11908607 ++ frame.grip_colorbuttonactive = 14737663 ++ frame.grip_options = [go_closebutton, go_minimizebutton, go_normalizebutton, go_maximizebutton, go_topbutton, go_backgroundbutton, go_horz, go_showfloatcaption] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 3 ++ container.bounds_y = 20 ++ container.bounds_cx = 437 ++ container.bounds_cy = 253 ++ container.color = 15138790 ++ container.frame.dummy = 0 ++ dragdock.caption = 'Super-Long-Subform-Caption Super-Long-Subform-Caption Super-Long-Subform-Caption' ++ dragdock.optionsdock = [od_savepos, od_canmove, od_cansize, od_canfloat, od_candock] ++ font.name = 'Arial' ++ font.dummy = 0 ++ options = [fo_freeonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'SubformSubform' ++ icon.transparency = -2147483648 ++ ondestroyed = subformdestroyed ++ onactivate = subformactivated ++ moduleclassname = 'tdockform' ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 56 ++ bounds_y = 24 ++ bounds_cx = 300 ++ bounds_cy = 28 ++ frame.leveli = 1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612726 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ textflags = [tf_xjustify, tf_ycentered, tf_noselect, tf_ellipseright] ++ value = 'dfgfdgfdgdfgdfgdf' ++ reffontheight = 14 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,114 ---- ++ unit subform1_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,subform1; ++ ++ const ++ objdata: record size: integer; data: array[0..1927] of byte end = ++ (size: 1928; data: ( ++ 84,80,70,48,11,116,115,117,98,102,111,114,109,49,102,111,10,115,117,98, ++ 102,111,114,109,49,102,111,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95, ++ 115,117,98,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,9,111,119,95,104,105,110,116,111,110,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3, ++ 246,0,8,98,111,117,110,100,115,95,121,3,131,0,9,98,111,117,110,100, ++ 115,95,99,120,3,187,1,9,98,111,117,110,100,115,95,99,121,3,20,1, ++ 5,99,111,108,111,114,4,15,0,0,160,12,102,114,97,109,101,46,108,101, ++ 118,101,108,105,2,255,16,102,114,97,109,101,46,102,114,97,109,101,119,105, ++ 100,116,104,2,2,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97, ++ 109,101,4,8,0,0,160,17,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,100,105,115,116,2,253,22,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,100,105,115,116,111,117,116,101,114,9,19,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,111,102,102,115,101,116,2,15,16,102,114,97,109,101,46, ++ 102,111,110,116,46,99,111,108,111,114,4,24,0,0,160,16,102,114,97,109, ++ 101,46,102,111,110,116,46,115,116,121,108,101,11,7,102,115,95,98,111,108, ++ 100,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11, ++ 115,116,102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111, ++ 110,116,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,14, ++ 102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99, ++ 111,108,111,114,102,114,97,109,101,15,102,114,108,95,99,111,108,111,114,99, ++ 108,105,101,110,116,0,15,102,114,97,109,101,46,103,114,105,112,95,115,105, ++ 122,101,2,17,15,102,114,97,109,101,46,103,114,105,112,95,103,114,105,112, ++ 7,11,115,116,98,95,100,101,110,115,49,48,48,16,102,114,97,109,101,46, ++ 103,114,105,112,95,99,111,108,111,114,4,21,0,0,160,22,102,114,97,109, ++ 101,46,103,114,105,112,95,99,111,108,111,114,98,117,116,116,111,110,4,255, ++ 181,181,0,28,102,114,97,109,101,46,103,114,105,112,95,99,111,108,111,114, ++ 98,117,116,116,111,110,97,99,116,105,118,101,4,255,224,224,0,18,102,114, ++ 97,109,101,46,103,114,105,112,95,111,112,116,105,111,110,115,11,14,103,111, ++ 95,99,108,111,115,101,98,117,116,116,111,110,17,103,111,95,109,105,110,105, ++ 109,105,122,101,98,117,116,116,111,110,18,103,111,95,110,111,114,109,97,108, ++ 105,122,101,98,117,116,116,111,110,17,103,111,95,109,97,120,105,109,105,122, ++ 101,98,117,116,116,111,110,12,103,111,95,116,111,112,98,117,116,116,111,110, ++ 19,103,111,95,98,97,99,107,103,114,111,117,110,100,98,117,116,116,111,110, ++ 7,103,111,95,104,111,114,122,19,103,111,95,115,104,111,119,102,108,111,97, ++ 116,99,97,112,116,105,111,110,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,1,7,118,105,115,105,98, ++ 108,101,8,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,3,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,20,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,181,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,253,0, ++ 15,99,111,110,116,97,105,110,101,114,46,99,111,108,111,114,4,230,255,230, ++ 0,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,16,100,114,97,103,100,111,99,107,46,99,97,112,116,105, ++ 111,110,6,82,83,117,112,101,114,45,76,111,110,103,45,83,117,98,102,111, ++ 114,109,45,67,97,112,116,105,111,110,32,32,83,117,112,101,114,45,76,111, ++ 110,103,45,83,117,98,102,111,114,109,45,67,97,112,116,105,111,110,32,32, ++ 83,117,112,101,114,45,76,111,110,103,45,83,117,98,102,111,114,109,45,67, ++ 97,112,116,105,111,110,20,100,114,97,103,100,111,99,107,46,111,112,116,105, ++ 111,110,115,100,111,99,107,11,10,111,100,95,115,97,118,101,112,111,115,10, ++ 111,100,95,99,97,110,109,111,118,101,10,111,100,95,99,97,110,115,105,122, ++ 101,11,111,100,95,99,97,110,102,108,111,97,116,10,111,100,95,99,97,110, ++ 100,111,99,107,0,9,102,111,110,116,46,110,97,109,101,6,5,65,114,105, ++ 97,108,10,102,111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105, ++ 111,110,115,11,14,102,111,95,102,114,101,101,111,110,99,108,111,115,101,15, ++ 102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97, ++ 117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101, ++ 112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97, ++ 112,116,105,111,110,6,14,83,117,98,102,111,114,109,83,117,98,102,111,114, ++ 109,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,11,111,110,100,101,115,116,114,111,121,101,100,7,16,115,117, ++ 98,102,111,114,109,100,101,115,116,114,111,121,101,100,10,111,110,97,99,116, ++ 105,118,97,116,101,7,16,115,117,98,102,111,114,109,97,99,116,105,118,97, ++ 116,101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6, ++ 9,116,100,111,99,107,102,111,114,109,0,11,116,115,116,114,105,110,103,101, ++ 100,105,116,12,116,115,116,114,105,110,103,101,100,105,116,49,13,111,112,116, ++ 105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101, ++ 102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119, ++ 95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,56,8,98,111,117,110,100,115, ++ 95,121,2,24,9,98,111,117,110,100,115,95,99,120,3,44,1,9,98,111, ++ 117,110,100,115,95,99,121,2,28,12,102,114,97,109,101,46,108,101,118,101, ++ 108,105,2,1,16,102,114,97,109,101,46,102,114,97,109,101,119,105,100,116, ++ 104,2,2,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101, ++ 4,10,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102, ++ 114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102, ++ 114,97,109,101,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,9, ++ 102,111,110,116,46,110,97,109,101,6,15,84,105,109,101,115,32,78,101,119, ++ 32,82,111,109,97,110,10,102,111,110,116,46,100,117,109,109,121,2,0,9, ++ 116,101,120,116,102,108,97,103,115,11,11,116,102,95,120,106,117,115,116,105, ++ 102,121,12,116,102,95,121,99,101,110,116,101,114,101,100,11,116,102,95,110, ++ 111,115,101,108,101,99,116,15,116,102,95,101,108,108,105,112,115,101,114,105, ++ 103,104,116,0,5,118,97,108,117,101,6,17,100,102,103,102,100,103,102,100, ++ 103,100,102,103,100,102,103,100,102,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,14,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tsubform1fo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example/subform1.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example/subform1.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,109 ---- ++ unit subform1; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msedock,msedataedits,msegraphics,msegraphutils,classes; ++ ++ type ++ ++ mygripframety = class (tgripframe) ++ protected ++ procedure drawgripbutton( ++ const acanvas: tcanvas; ++ const kind: dockbuttonrectty; ++ const arect: rectty; ++ const acolorglyph,acolorbutton: colorty ++ ); override; ++ end; ++ ++ tsubform1fo = class(tdockform) ++ tstringedit1: tstringedit; ++ procedure subformactivated(const sender: TObject); ++ procedure subformdestroyed(const sender: TObject); ++ protected ++ procedure internalcreateframe; override; ++ end; ++ ++ var ++ mygripframe: mygripframety; ++ ++ implementation ++ ++ uses ++ subform1_mfm, ++ mainform, ++ mseshapes ++ ; ++ ++ function scalerect(const arect: rectty; ascale: extended = 1; acenter: boolean = false):rectty; ++ begin ++ with arect do begin ++ result.cx:= round(cx * ascale); ++ result.cy:= round(cy * ascale); ++ if acenter then begin ++ result.x:= round(x + cx*(1 - ascale)/2); ++ result.y:= round(y + cy*(1 - ascale)/2); ++ end; ++ end; ++ end; ++ ++ function scalerect(const arect: rectty; ascale: extended = 1):rectty; ++ begin ++ centerrect(rectcenter(arect),round(arect.cy * ascale),result); ++ end; ++ ++ procedure tsubform1fo.subformactivated(const sender: TObject); ++ begin ++ mainfo.subformactivated(self); ++ end; ++ ++ procedure tsubform1fo.subformdestroyed(const sender: TObject); ++ begin ++ mainfo.listchanged; ++ end; ++ ++ procedure mygripframety.drawgripbutton( ++ const acanvas: tcanvas; ++ const kind: dockbuttonrectty; ++ const arect: rectty; ++ const acolorglyph,acolorbutton: colorty ++ ); ++ var ++ lw: integer; ++ begin ++ with acanvas,arect do begin ++ lw:= linewidth; ++ ++ case kind of ++ ++ dbr_close: begin ++ fillrect( arect, cl_red); ++ linewidth:= 3; ++ ++ if grip_size >= 8 then begin ++ draw3dframe(acanvas, arect,1,defaultframecolors); ++ drawcross(inflaterect(scalerect(arect,0.8,true),-2),cl_yellow); ++ end else begin ++ drawcross(scalerect(arect,0.8,true),cl_yellow); ++ end; ++ ++ end; ++ else begin ++ inherited; ++ end; ++ ++ end; ++ linewidth:= lw; ++ end; ++ end; ++ ++ procedure tsubform1fo.internalcreateframe; ++ begin ++ mygripframety.create(iframe(self),dragdock); ++ end; ++ ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform.mfm mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,125 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 102 ++ bounds_y = 149 ++ bounds_cx = 612 ++ bounds_cy = 467 ++ color = 15921906 ++ frame.localprops = [frl_leveli] ++ frame.grip_size = 0 ++ frame.grip_options = [go_closebutton, go_showsplitcaption, go_showfloatcaption] ++ frame.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 21 ++ container.bounds_cx = 612 ++ container.bounds_cy = 446 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ mainmenu = tmainmenu1 ++ font.name = 'Arial' ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'The main form' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tdockform' ++ object grpStatusBar: tgroupbox ++ bounds_x = 0 ++ bounds_y = 416 ++ bounds_cx = 612 ++ bounds_cy = 26 ++ color = 14737663 ++ frame.levelo = 0 ++ frame.leveli = -2 ++ frame.localprops = [frl_levelo, frl_leveli] ++ frame.dummy = 0 ++ anchors = [an_bottom] ++ object sdSubformNum: tstringdisp ++ bounds_x = 20 ++ bounds_y = 2 ++ bounds_cx = 145 ++ bounds_cy = 22 ++ color = -2147483645 ++ frame.framei_left = 5 ++ frame.caption = 'Subform selected :' ++ frame.captionpos = cp_left ++ frame.captiondist = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_fileft] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 93 ++ 0 ++ 0 ++ 0 ++ ) ++ anchors = [an_left] ++ value = '0' ++ reffontheight = 14 ++ end ++ object sdSubformCnt: tstringdisp ++ bounds_x = 177 ++ bounds_y = 2 ++ bounds_cx = 145 ++ bounds_cy = 22 ++ color = -2147483645 ++ frame.framei_left = 5 ++ frame.caption = 'Subforms quantity :' ++ frame.captionpos = cp_left ++ frame.captiondist = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_fileft] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 96 ++ 0 ++ 0 ++ 0 ++ ) ++ anchors = [an_left] ++ taborder = 1 ++ value = '0' ++ reffontheight = 14 ++ end ++ end ++ object dockarea: tdockformwidget ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 612 ++ bounds_cy = 416 ++ color = -2147483646 ++ frame.leveli = -1 ++ frame.localprops = [frl_leveli] ++ frame.grip_size = 0 ++ frame.dummy = 0 ++ anchors = [an_top, an_bottom] ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 1 ++ container.bounds_y = 1 ++ container.bounds_cx = 610 ++ container.bounds_cy = 414 ++ container.frame.dummy = 0 ++ dragdock.optionsdock = [od_savepos, od_acceptsdock] ++ icon.transparency = -2147483648 ++ end ++ object tmainmenu1: tmainmenu ++ menu.submenu.count = 1 ++ menu.submenu.items = < ++ item ++ caption = 'New SubForm' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = makenewform ++ end> ++ itemframetemplate = tframecomp1 ++ left = 416 ++ top = 8 ++ end ++ object tframecomp1: tframecomp ++ template.leveli = 1 ++ template.framewidth = 2 ++ template.colorframe = 11382271 ++ template.framei_right = 50 ++ left = 288 ++ top = 8 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,143 ---- ++ unit mainform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,mainform; ++ ++ const ++ objdata: record size: integer; data: array[0..2509] of byte end = ++ (size: 2510; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,102,8,98,111,117,110,100,115, ++ 95,121,3,149,0,9,98,111,117,110,100,115,95,99,120,3,100,2,9,98, ++ 111,117,110,100,115,95,99,121,3,211,1,5,99,111,108,111,114,4,242,242, ++ 242,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,108,101,118,101,108,105,0,15,102,114,97,109,101,46,103, ++ 114,105,112,95,115,105,122,101,2,0,18,102,114,97,109,101,46,103,114,105, ++ 112,95,111,112,116,105,111,110,115,11,14,103,111,95,99,108,111,115,101,98, ++ 117,116,116,111,110,19,103,111,95,115,104,111,119,115,112,108,105,116,99,97, ++ 112,116,105,111,110,19,103,111,95,115,104,111,119,102,108,111,97,116,99,97, ++ 112,116,105,111,110,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97,105,110,101, ++ 114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95, ++ 115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97, ++ 110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121, ++ 2,21,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,120,3,100,2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,121,3,190,1,21,99,111,110,116,97,105,110,101,114,46,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110,115, ++ 119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112,108,101,97,100, ++ 101,114,0,8,109,97,105,110,109,101,110,117,7,10,116,109,97,105,110,109, ++ 101,110,117,49,9,102,111,110,116,46,110,97,109,101,6,5,65,114,105,97, ++ 108,10,102,111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105,111, ++ 110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105, ++ 110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114, ++ 101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101, ++ 115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115, ++ 97,118,101,115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,13,84, ++ 104,101,32,109,97,105,110,32,102,111,114,109,17,105,99,111,110,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,109,111,100,117, ++ 108,101,99,108,97,115,115,110,97,109,101,6,9,116,100,111,99,107,102,111, ++ 114,109,0,9,116,103,114,111,117,112,98,111,120,12,103,114,112,83,116,97, ++ 116,117,115,66,97,114,8,98,111,117,110,100,115,95,120,2,0,8,98,111, ++ 117,110,100,115,95,121,3,160,1,9,98,111,117,110,100,115,95,99,120,3, ++ 100,2,9,98,111,117,110,100,115,95,99,121,2,26,5,99,111,108,111,114, ++ 4,255,224,224,0,12,102,114,97,109,101,46,108,101,118,101,108,111,2,0, ++ 12,102,114,97,109,101,46,108,101,118,101,108,105,2,254,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11,9, ++ 97,110,95,98,111,116,116,111,109,0,0,11,116,115,116,114,105,110,103,100, ++ 105,115,112,12,115,100,83,117,98,102,111,114,109,78,117,109,8,98,111,117, ++ 110,100,115,95,120,2,20,8,98,111,117,110,100,115,95,121,2,2,9,98, ++ 111,117,110,100,115,95,99,120,3,145,0,9,98,111,117,110,100,115,95,99, ++ 121,2,22,5,99,111,108,111,114,4,3,0,0,128,17,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,108,101,102,116,2,5,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,18,83,117,98,102,111,114,109,32,115,101, ++ 108,101,99,116,101,100,32,58,16,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,100,105,115,116,2,0,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,10,102, ++ 114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109, ++ 101,1,2,93,2,0,2,0,2,0,0,7,97,110,99,104,111,114,115,11, ++ 7,97,110,95,108,101,102,116,0,5,118,97,108,117,101,6,1,48,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,11,116,115,116, ++ 114,105,110,103,100,105,115,112,12,115,100,83,117,98,102,111,114,109,67,110, ++ 116,8,98,111,117,110,100,115,95,120,3,177,0,8,98,111,117,110,100,115, ++ 95,121,2,2,9,98,111,117,110,100,115,95,99,120,3,145,0,9,98,111, ++ 117,110,100,115,95,99,121,2,22,5,99,111,108,111,114,4,3,0,0,128, ++ 17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,5, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,19,83,117,98,102, ++ 111,114,109,115,32,113,117,97,110,116,105,116,121,32,58,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102, ++ 116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2, ++ 0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101, ++ 119,105,100,116,104,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,96,2,0,2,0,2,0,0,7,97, ++ 110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,0,8,116,97,98, ++ 111,114,100,101,114,2,1,5,118,97,108,117,101,6,1,48,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,15,116,100,111,99, ++ 107,102,111,114,109,119,105,100,103,101,116,8,100,111,99,107,97,114,101,97, ++ 8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121, ++ 2,0,9,98,111,117,110,100,115,95,99,120,3,100,2,9,98,111,117,110, ++ 100,115,95,99,121,3,160,1,5,99,111,108,111,114,4,2,0,0,128,12, ++ 102,114,97,109,101,46,108,101,118,101,108,105,2,255,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,105,0,15,102,114,97,109,101,46,103,114,105,112,95,115,105,122,101, ++ 2,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99, ++ 104,111,114,115,11,6,97,110,95,116,111,112,9,97,110,95,98,111,116,116, ++ 111,109,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97, ++ 105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11, ++ 111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101, ++ 116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117,115,101, ++ 119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,1,18,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,1,19, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3, ++ 98,2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,121,3,158,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,20,100,114,97,103,100,111,99,107,46,111, ++ 112,116,105,111,110,115,100,111,99,107,11,10,111,100,95,115,97,118,101,112, ++ 111,115,14,111,100,95,97,99,99,101,112,116,115,100,111,99,107,0,17,105, ++ 99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,0,0,9,116,109,97,105,110,109,101,110,117,10,116,109,97,105,110,109, ++ 101,110,117,49,18,109,101,110,117,46,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,1,18,109,101,110,117,46,115,117,98,109,101,110,117,46,105, ++ 116,101,109,115,14,1,7,99,97,112,116,105,111,110,6,11,78,101,119,32, ++ 83,117,98,70,111,114,109,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,9,111,110,101,120,101,99,117,116,101,7, ++ 11,109,97,107,101,110,101,119,102,111,114,109,0,0,17,105,116,101,109,102, ++ 114,97,109,101,116,101,109,112,108,97,116,101,7,11,116,102,114,97,109,101, ++ 99,111,109,112,49,4,108,101,102,116,3,160,1,3,116,111,112,2,8,0, ++ 0,10,116,102,114,97,109,101,99,111,109,112,11,116,102,114,97,109,101,99, ++ 111,109,112,49,15,116,101,109,112,108,97,116,101,46,108,101,118,101,108,105, ++ 2,1,19,116,101,109,112,108,97,116,101,46,102,114,97,109,101,119,105,100, ++ 116,104,2,2,19,116,101,109,112,108,97,116,101,46,99,111,108,111,114,102, ++ 114,97,109,101,4,255,173,173,0,21,116,101,109,112,108,97,116,101,46,102, ++ 114,97,109,101,105,95,114,105,103,104,116,2,50,4,108,101,102,116,3,32, ++ 1,3,116,111,112,2,8,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mainform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mainform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,93 ---- ++ unit mainform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msedock,msemenus, subform1, msedatalist, ++ msedispwidgets,msesimplewidgets,classes; ++ ++ const ++ horshift = 20; ++ vershift = 20; ++ ++ type ++ tmainfo = class(tdockform) ++ sdSubformNum: tstringdisp; ++ dockarea: tdockformwidget; ++ tframecomp1: tframecomp; ++ grpStatusBar: tgroupbox; ++ tmainmenu1: tmainmenu; ++ sdSubformCnt: tstringdisp; ++ procedure makenewform(const sender: TObject); ++ private ++ subforms: tcomponentqueue; ++ activesubform: tsubform1fo; ++ public ++ constructor create(aowner: tcomponent); override; ++ destructor destroy; override; ++ procedure listchanged; ++ procedure subformactivated(const sender: tsubform1fo); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ mainform_mfm, ++ sysutils, // inttostr ++ msegraphutils // makepoint ++ ; ++ ++ constructor tmainfo.create(aowner: tcomponent); ++ begin ++ subforms:= tcomponentqueue.create(true); ++ inherited; ++ end; ++ ++ destructor tmainfo.destroy; ++ begin ++ subforms.free; ++ inherited; ++ end; ++ ++ procedure tmainfo.listchanged; ++ begin ++ if not (csdestroying in componentstate) then begin ++ sdSubformCnt.value:= inttostr(subforms.count); ++ sdSubformNum.value:= inttostr(subforms.findobject(activesubform)); ++ end; ++ end; ++ ++ procedure tmainfo.makenewform(const sender: TObject); ++ var ++ idx: integer; ++ subfo: tsubform1fo; ++ begin ++ subfo:= tsubform1fo.create(nil); ++ idx:= subforms.add(subfo); ++ with dockarea.container do begin ++ insertwidget( ++ subfo, ++ makepoint( ++ clientwidgetpos.x + idx*horshift, ++ clientwidgetpos.y + idx*vershift ++ ) ++ ); ++ end; ++ // shows the initially invisible form ++ // then brings it to front ++ subfo.activate; ++ listchanged; ++ end; ++ ++ procedure tmainfo.subformactivated(const sender: tsubform1fo); ++ begin ++ activesubform:= sender; ++ listchanged; ++ end; ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mdiexample.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mdiexample.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mdiexample.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mdiexample.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program mdiexample; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,mainform; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mdiexample.prj mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mdiexample.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/mdiexample.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/mdiexample.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,590 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/mdi_example_martin ++ options=44 ++ [projectoptionsfo] ++ stackedunder= ++ x=122 ++ y=117 ++ cx=629 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=391 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=121 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=476 ++ values2=0 ++ width2=46 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=141 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=572 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=2 ++ MAINFO ++ SUBFORM1FO ++ moduletypes=2 ++ TMAINFO ++ TSUBFORM1FO ++ modulefiles=2 ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.mfm ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.mfm ++ mainfile=mdiexample.pas ++ targetfile=mdiexample${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -gh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=0 ++ newprojectfilesdest=0 ++ expandprojectfilemacros=0 ++ loadprojectfile=0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ line=1 ++ 90 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=0 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=303 ++ [mainfo] ++ stackedunder= ++ x=72 ++ y=35 ++ cx=429 ++ cy=138 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=11232 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=3 ++ /usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.pas ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=57 ++ y=77 ++ cx=889 ++ cy=613 ++ wsize=0 ++ active=1 ++ visible=1 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=messagefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=123 ++ y=118 ++ cx=441 ++ cy=100 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=sourcefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=135 ++ y=201 ++ cx=694 ++ cy=137 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=83 ++ y=537 ++ cx=724 ++ cy=80 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=722 ++ y=182 ++ cx=225 ++ cy=382 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=144 ++ width1=65 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=0 ++ width1=33 ++ values2=0 ++ width2=158 ++ width4=34 ++ values5=0 ++ width5=38 ++ values6=0 ++ width6=184 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=debuggerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=277 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [edit] ++ hintwidth=314 ++ hintheight=214 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 3,88 ++ 31,68 ++ 7,2675 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.pas ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.pas ++ /usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ relpaths=3 ++ subform1.pas ++ mainform.pas ++ ../../../../usr/src/SVNROOT/msegui/trunk/lib/common/widgets/msedock.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=2 ++ /home/pochta/mseide_projects/mdi_example_martin/subform1.mfm ++ /home/pochta/mseide_projects/mdi_example_martin/mainform.mfm ++ visiblemodules=2 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ order=3 ++ 0 ++ 2 ++ 1 ++ tabsize=104 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=160 ++ y=133 ++ cx=704 ++ cy=473 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1.mfm mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,60 ---- ++ object subform1fo: tsubform1fo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 524 ++ bounds_y = 437 ++ bounds_cx = 443 ++ bounds_cy = 276 ++ color = -1610612721 ++ frame.leveli = -1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612728 ++ frame.captiondist = -3 ++ frame.captiondistouter = True ++ frame.captionoffset = 15 ++ frame.font.color = -1610612712 ++ frame.font.style = [fs_bold] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.grip_size = 17 ++ frame.grip_grip = stb_dens100 ++ frame.grip_color = -1610612715 ++ frame.grip_colorbutton = 11908607 ++ frame.grip_colorbuttonactive = 14737663 ++ frame.grip_options = [go_closebutton, go_minimizebutton, go_normalizebutton, go_maximizebutton, go_topbutton, go_backgroundbutton, go_horz, go_showfloatcaption] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 3 ++ container.bounds_y = 20 ++ container.bounds_cx = 437 ++ container.bounds_cy = 253 ++ container.color = 15138790 ++ container.frame.dummy = 0 ++ dragdock.caption = 'Super-Long-Subform-Caption Super-Long-Subform-Caption Super-Long-Subform-Caption' ++ dragdock.optionsdock = [od_savepos, od_canmove, od_cansize, od_canfloat, od_candock] ++ font.name = 'Arial' ++ font.dummy = 0 ++ options = [fo_freeonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'SubformSubform' ++ icon.transparency = -2147483648 ++ ondestroyed = subformdestroyed ++ onactivate = subformactivated ++ moduleclassname = 'tdockform' ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 56 ++ bounds_y = 24 ++ bounds_cx = 300 ++ bounds_cy = 28 ++ frame.leveli = 1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612726 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ textflags = [tf_xjustify, tf_ycentered, tf_noselect, tf_ellipseright] ++ value = 'dfgfdgfdgdfgdfgdf' ++ reffontheight = 14 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,112 ---- ++ unit subform1_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,subform1; ++ ++ const ++ objdata: record size: integer; data: array[0..1887] of byte end = ++ (size: 1888; data: ( ++ 84,80,70,48,11,116,115,117,98,102,111,114,109,49,102,111,10,115,117,98, ++ 102,111,114,109,49,102,111,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95, ++ 115,117,98,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,9,111,119,95,104,105,110,116,111,110,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3, ++ 12,2,8,98,111,117,110,100,115,95,121,3,181,1,9,98,111,117,110,100, ++ 115,95,99,120,3,187,1,9,98,111,117,110,100,115,95,99,121,3,20,1, ++ 5,99,111,108,111,114,4,15,0,0,160,12,102,114,97,109,101,46,108,101, ++ 118,101,108,105,2,255,16,102,114,97,109,101,46,102,114,97,109,101,119,105, ++ 100,116,104,2,2,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97, ++ 109,101,4,8,0,0,160,17,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,100,105,115,116,2,253,22,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,100,105,115,116,111,117,116,101,114,9,19,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,111,102,102,115,101,116,2,15,16,102,114,97,109,101,46, ++ 102,111,110,116,46,99,111,108,111,114,4,24,0,0,160,16,102,114,97,109, ++ 101,46,102,111,110,116,46,115,116,121,108,101,11,7,102,115,95,98,111,108, ++ 100,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11, ++ 115,116,102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111, ++ 110,116,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,14, ++ 102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99, ++ 111,108,111,114,102,114,97,109,101,15,102,114,108,95,99,111,108,111,114,99, ++ 108,105,101,110,116,0,15,102,114,97,109,101,46,103,114,105,112,95,115,105, ++ 122,101,2,17,15,102,114,97,109,101,46,103,114,105,112,95,103,114,105,112, ++ 7,11,115,116,98,95,100,101,110,115,49,48,48,16,102,114,97,109,101,46, ++ 103,114,105,112,95,99,111,108,111,114,4,21,0,0,160,22,102,114,97,109, ++ 101,46,103,114,105,112,95,99,111,108,111,114,98,117,116,116,111,110,4,255, ++ 181,181,0,28,102,114,97,109,101,46,103,114,105,112,95,99,111,108,111,114, ++ 98,117,116,116,111,110,97,99,116,105,118,101,4,255,224,224,0,18,102,114, ++ 97,109,101,46,103,114,105,112,95,111,112,116,105,111,110,115,11,14,103,111, ++ 95,99,108,111,115,101,98,117,116,116,111,110,17,103,111,95,109,105,110,105, ++ 109,105,122,101,98,117,116,116,111,110,18,103,111,95,110,111,114,109,97,108, ++ 105,122,101,98,117,116,116,111,110,17,103,111,95,109,97,120,105,109,105,122, ++ 101,98,117,116,116,111,110,12,103,111,95,116,111,112,98,117,116,116,111,110, ++ 19,103,111,95,98,97,99,107,103,114,111,117,110,100,98,117,116,116,111,110, ++ 7,103,111,95,104,111,114,122,19,103,111,95,115,104,111,119,102,108,111,97, ++ 116,99,97,112,116,105,111,110,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,1,7,118,105,115,105,98, ++ 108,101,8,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,3,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,20,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,181,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,253,0, ++ 15,99,111,110,116,97,105,110,101,114,46,99,111,108,111,114,4,230,255,230, ++ 0,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,16,100,114,97,103,100,111,99,107,46,99,97,112,116,105, ++ 111,110,6,82,83,117,112,101,114,45,76,111,110,103,45,83,117,98,102,111, ++ 114,109,45,67,97,112,116,105,111,110,32,32,83,117,112,101,114,45,76,111, ++ 110,103,45,83,117,98,102,111,114,109,45,67,97,112,116,105,111,110,32,32, ++ 83,117,112,101,114,45,76,111,110,103,45,83,117,98,102,111,114,109,45,67, ++ 97,112,116,105,111,110,20,100,114,97,103,100,111,99,107,46,111,112,116,105, ++ 111,110,115,100,111,99,107,11,10,111,100,95,115,97,118,101,112,111,115,10, ++ 111,100,95,99,97,110,109,111,118,101,10,111,100,95,99,97,110,115,105,122, ++ 101,11,111,100,95,99,97,110,102,108,111,97,116,10,111,100,95,99,97,110, ++ 100,111,99,107,0,9,102,111,110,116,46,110,97,109,101,6,5,65,114,105, ++ 97,108,10,102,111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105, ++ 111,110,115,11,14,102,111,95,102,114,101,101,111,110,99,108,111,115,101,15, ++ 102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97, ++ 117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101, ++ 112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97, ++ 112,116,105,111,110,6,14,83,117,98,102,111,114,109,83,117,98,102,111,114, ++ 109,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,11,111,110,100,101,115,116,114,111,121,101,100,7,16,115,117, ++ 98,102,111,114,109,100,101,115,116,114,111,121,101,100,10,111,110,97,99,116, ++ 105,118,97,116,101,7,16,115,117,98,102,111,114,109,97,99,116,105,118,97, ++ 116,101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6, ++ 9,116,100,111,99,107,102,111,114,109,0,11,116,115,116,114,105,110,103,101, ++ 100,105,116,12,116,115,116,114,105,110,103,101,100,105,116,49,13,111,112,116, ++ 105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101, ++ 102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119, ++ 95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,56,8,98,111,117,110,100,115, ++ 95,121,2,24,9,98,111,117,110,100,115,95,99,120,3,44,1,9,98,111, ++ 117,110,100,115,95,99,121,2,28,12,102,114,97,109,101,46,108,101,118,101, ++ 108,105,2,1,16,102,114,97,109,101,46,102,114,97,109,101,119,105,100,116, ++ 104,2,2,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101, ++ 4,10,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102, ++ 114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102, ++ 114,97,109,101,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,9, ++ 116,101,120,116,102,108,97,103,115,11,11,116,102,95,120,106,117,115,116,105, ++ 102,121,12,116,102,95,121,99,101,110,116,101,114,101,100,11,116,102,95,110, ++ 111,115,101,108,101,99,116,15,116,102,95,101,108,108,105,112,115,101,114,105, ++ 103,104,116,0,5,118,97,108,117,101,6,17,100,102,103,102,100,103,102,100, ++ 103,100,102,103,100,102,103,100,102,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,14,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tsubform1fo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1.pas mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/mdi_example2/subform1.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/mdi_example2/subform1.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,104 ---- ++ unit subform1; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msedock,msedataedits,msegraphics,msegraphutils,classes; ++ ++ type ++ ++ mygripframety = class (tgripframe) ++ protected ++ procedure drawgripbutton( ++ const acanvas: tcanvas; ++ const kind: dockbuttonrectty; ++ const arect: rectty; ++ const acolorglyph,acolorbutton: colorty ++ ); override; ++ end; ++ ++ tsubform1fo = class(tdockform) ++ tstringedit1: tstringedit; ++ procedure subformactivated(const sender: TObject); ++ procedure subformdestroyed(const sender: TObject); ++ protected ++ procedure internalcreateframe; override; ++ end; ++ ++ var ++ mygripframe: mygripframety; ++ ++ implementation ++ ++ uses ++ subform1_mfm, ++ mainform, ++ mseshapes ++ ; ++ ++ function scalerect(const arect: rectty; ascale: extended = 1; acenter: boolean = true):rectty; ++ begin ++ with arect do begin ++ result.cx:= round(cx * ascale); ++ result.cy:= round(cy * ascale); ++ if acenter then begin ++ result.x:= round(x + cx*(1 - ascale)/2); ++ result.y:= round(y + cy*(1 - ascale)/2); ++ end; ++ end; ++ end; ++ ++ procedure tsubform1fo.subformactivated(const sender: TObject); ++ begin ++ mainfo.subformactivated(self); ++ end; ++ ++ procedure tsubform1fo.subformdestroyed(const sender: TObject); ++ begin ++ mainfo.listchanged; ++ end; ++ ++ procedure mygripframety.drawgripbutton( ++ const acanvas: tcanvas; ++ const kind: dockbuttonrectty; ++ const arect: rectty; ++ const acolorglyph,acolorbutton: colorty ++ ); ++ var ++ lw: integer; ++ begin ++ with acanvas,arect do begin ++ lw:= linewidth; ++ ++ case kind of ++ ++ dbr_close: begin ++ fillrect( arect, cl_red); ++ linewidth:= 3; ++ ++ if grip_size >= 8 then begin ++ draw3dframe(acanvas, arect,1,defaultframecolors); ++ drawcross(inflaterect(scalerect(arect,0.8),-2),cl_yellow); ++ end else begin ++ drawcross(scalerect(arect,0.8),cl_yellow); ++ end; ++ ++ end; ++ else begin ++ inherited; ++ end; ++ ++ end; ++ linewidth:= lw; ++ end; ++ end; ++ ++ procedure tsubform1fo.internalcreateframe; ++ begin ++ mygripframety.create(iframe(self),dragdock); ++ end; ++ ++ ++ ++ end. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/data.bin et mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/data.bin sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,40 ---- ++ object dmprintmo: tdmprintmo ++ oncreate = dmprintmocreated ++ left = 185 ++ top = 177 ++ moduleclassname = 'tmsedatamodule' ++ size = ( ++ 314 ++ 55 ++ ) ++ object psprn: tpostscriptprinter ++ canvas.font.color = -1610612734 ++ canvas.font.dummy = 0 ++ canvas.colorspace = cos_rgb ++ canvas.ppmm = 10 ++ canvas.pslevel = psl_3 ++ pa_width = 210 ++ pa_height = 297 ++ pa_size = sps_a4 ++ pa_frameleft = 10 ++ pa_frametop = 10 ++ pa_frameright = 10 ++ pa_framebottom = 10 ++ printcommand = 'lp -' ++ statfile = sfPrinter ++ left = 16 ++ top = 16 ++ end ++ object actPrinterSetup: taction ++ onexecute = printersetupexec ++ left = 88 ++ top = 16 ++ end ++ object sfPrinter: tstatfile ++ filename = 'printer.ini' ++ filedir = '~/.shrinking_testcase' ++ options = [sfo_createpath, sfo_activatorread, sfo_activatorwrite] ++ left = 232 ++ top = 16 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,48 ---- ++ unit dmprint_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,dmprint; ++ ++ const ++ objdata: record size: integer; data: array[0..618] of byte end = ++ (size: 619; data: ( ++ 84,80,70,48,10,116,100,109,112,114,105,110,116,109,111,9,100,109,112,114, ++ 105,110,116,109,111,8,111,110,99,114,101,97,116,101,7,16,100,109,112,114, ++ 105,110,116,109,111,99,114,101,97,116,101,100,4,108,101,102,116,3,185,0, ++ 3,116,111,112,3,177,0,15,109,111,100,117,108,101,99,108,97,115,115,110, ++ 97,109,101,6,14,116,109,115,101,100,97,116,97,109,111,100,117,108,101,4, ++ 115,105,122,101,1,3,58,1,2,55,0,0,18,116,112,111,115,116,115,99, ++ 114,105,112,116,112,114,105,110,116,101,114,5,112,115,112,114,110,17,99,97, ++ 110,118,97,115,46,102,111,110,116,46,99,111,108,111,114,4,2,0,0,160, ++ 17,99,97,110,118,97,115,46,102,111,110,116,46,100,117,109,109,121,2,0, ++ 17,99,97,110,118,97,115,46,99,111,108,111,114,115,112,97,99,101,7,7, ++ 99,111,115,95,114,103,98,11,99,97,110,118,97,115,46,112,112,109,109,2, ++ 10,14,99,97,110,118,97,115,46,112,115,108,101,118,101,108,7,5,112,115, ++ 108,95,51,8,112,97,95,119,105,100,116,104,3,210,0,9,112,97,95,104, ++ 101,105,103,104,116,3,41,1,7,112,97,95,115,105,122,101,7,6,115,112, ++ 115,95,97,52,12,112,97,95,102,114,97,109,101,108,101,102,116,2,10,11, ++ 112,97,95,102,114,97,109,101,116,111,112,2,10,13,112,97,95,102,114,97, ++ 109,101,114,105,103,104,116,2,10,14,112,97,95,102,114,97,109,101,98,111, ++ 116,116,111,109,2,10,12,112,114,105,110,116,99,111,109,109,97,110,100,6, ++ 4,108,112,32,45,8,115,116,97,116,102,105,108,101,7,9,115,102,80,114, ++ 105,110,116,101,114,4,108,101,102,116,2,16,3,116,111,112,2,16,0,0, ++ 7,116,97,99,116,105,111,110,15,97,99,116,80,114,105,110,116,101,114,83, ++ 101,116,117,112,9,111,110,101,120,101,99,117,116,101,7,16,112,114,105,110, ++ 116,101,114,115,101,116,117,112,101,120,101,99,4,108,101,102,116,2,88,3, ++ 116,111,112,2,16,0,0,9,116,115,116,97,116,102,105,108,101,9,115,102, ++ 80,114,105,110,116,101,114,8,102,105,108,101,110,97,109,101,6,11,112,114, ++ 105,110,116,101,114,46,105,110,105,7,102,105,108,101,100,105,114,6,21,126, ++ 47,46,115,104,114,105,110,107,105,110,103,95,116,101,115,116,99,97,115,101, ++ 7,111,112,116,105,111,110,115,11,14,115,102,111,95,99,114,101,97,116,101, ++ 112,97,116,104,17,115,102,111,95,97,99,116,105,118,97,116,111,114,114,101, ++ 97,100,18,115,102,111,95,97,99,116,105,118,97,116,111,114,119,114,105,116, ++ 101,0,4,108,101,102,116,3,232,0,3,116,111,112,2,16,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tdmprintmo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/dmprint.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/dmprint.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,267 ---- ++ unit dmprint; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,msegui,mseclasses,mseforms,msepostscriptprinter, msestrings, ++ msetypes,mseactions,msestat,msedatamodules,msestatfile, mseprinter; ++ ++ type ++ ++ tdmprintmo = class(tmsedatamodule) ++ psprn: tpostscriptprinter; ++ actPrinterSetup: taction; ++ sfPrinter: tstatfile; ++ procedure dmprintmocreated(const sender: TObject); ++ procedure printersetupexec(const sender: TObject); ++ end; ++ ++ ++ var ++ dmprintmo: tdmprintmo; ++ ++ function queuenamecheck(const aname: msestring): boolean; ++ procedure printout(afile: msestring); ++ ++ ++ implementation ++ ++ uses ++ dmprint_mfm, ++ sysutils, // inttostr ++ msewidgets, // showmessage ++ mseprocutils, // activateprocesswindow, execmse* ++ msefileutils, // findfile ++ msedatalist, // opentodynarraym ++ {$ifndef mswindows}printersetupform{$else}printersetupformw32{$endif} ++ ; ++ ++ ++ function queuenamecheck(const aname: msestring): boolean; ++ begin ++ result:= true; ++ if findchar(aname,' ') > 0 then begin ++ showmessage( ++ 'There are spaces in the printer name what can not be processed by Ghostscript.' + ++ lineend + ++ 'Either use another printer queue or rename to the entered name in the OS printer settings for the queue.', ++ 'Incorrect queue name', ++ [mr_ok], ++ mr_ok ++ ); ++ result:= false; ++ end; ++ end; ++ ++ ++ function GetFinalCommand( aoutfile: string; var ausegui: boolean ): string; ++ var ++ quotedfname: msestring; ++ {$ifndef mswindows} ++ gs_device: string; ++ sQueue: string; ++ sDummy: msestring; ++ iQualityCol: integer; ++ {$endif} ++ begin ++ ++ quotedfname:= aoutfile; ++ ++ result:= ''; ++ {$ifndef mswindows} ++ with printersetupfo do begin // with ++ if brePS.value then begin // if(1) ++ ++ if not findfile('gs',['/usr/local/bin/','/usr/bin/'],sDummy) then begin // if(3) ++ showmessage( ++ 'Ghostscript is required to print but not installed.' + ++ lineend + ++ 'Install GhostScript then retry.', ++ 'Ghostscript is not operable', ++ [mr_ok], ++ mr_ok ++ ); ++ exit; ++ end; // if(3) ++ ++ if breUsePreview.value then begin // if(2) ++ ausegui:= true; ++ ++ if trim(kseDialogprogram.value) = '' then begin ++ showmessage( ++ 'Printing via preview is choosen but unavailable' + ++ lineend + ++ 'since no preview program is assigned.', ++ 'Preview mode unavailable', ++ [mr_ok], ++ mr_ok ++ ); ++ exit; ++ end; ++ ++ if not findfile( ++ kseDialogprogram.value, ++ opentodynarraym([ ++ '/usr/local/bin/', ++ '/usr/bin/', ++ '/usr/bin/X11/', ++ '/opt/kde3/bin/', ++ '/opt/kde4/bin/' ++ ]),sDummy) then begin // if(3) ++ showmessage( ++ 'The view program assigned ( "' + kseDialogprogram.value + '" ) is unavailable.' + ++ lineend + ++ 'Either install it or assign another in the printer settings dialogue.', ++ 'The view program is not operable', ++ [mr_ok], ++ mr_ok ++ ); ++ exit; ++ end; // if(3) ++ ++ result:= kseDialogprogram.value + ' ' + quotedfname; ++ ++ end else begin // else(2) - no preview ++ ++ ausegui:= false; ++ ++ case brIbm.checkedtag of ++ 1: begin ++ gs_device:= 'okiibm'; ++ iQualityCol:= 1; ++ end; ++ 2: begin ++ gs_device:= 'eps9mid'; ++ iQualityCol:= 2; ++ end; ++ else begin ++ gs_device:= 'laserjet'; ++ iQualityCol:= 3; ++ end; ++ end; // case ++ ++ sQueue:= ''; ++ if trim(seQueueName.value) <> '' then ++ sQueue:= '-d ' + seQueueName.value; ++ ++ with kseQuality.dropdown do begin ++ result:= 'gs -q -dBATCH -dNOPAUSE -dSAFER -sOutputFile=-' + ++ ' -r' + cols[iQualityCol][itemindex] + ++ ' -sDEVICE=' + gs_device + ' ' + quotedfname + ++ ' | lp ' + sQueue; ++ end; ++ ++ end; // if(2) ++ end; // if(1) ++ end; // with ++ {$else} // -----------win32-------------- ++ with printersetupformw32fo do begin // with ++ if brePS.value then begin // if(1) ++ ++ if breUsePreview.value then begin // if(2) ++ ausegui:= true; ++ ++ if not findfile(fneGSVPath.value) then begin // if(3) ++ showmessage( ++ '"Ghostscript Viewer" is not available.' + ++ lineend + ++ 'Close the program then install GhostScript then set it up using the printer settings dialogue.', ++ 'Ghostscript is not operable', ++ [mr_ok], ++ mr_ok ++ ); ++ exit; ++ end; // if(3) ++ ++ result:= quotefilename(tosysfilepath(fneGSVPath.value)) + ' ' + quotedfname; ++ end else begin // else(2) - no preview ++ ausegui:= false; ++ ++ if not queuenamecheck(seQueueName.value) then exit; ++ ++ result:= quotefilename(tosysfilepath(fneGSVPath.value)) + ++ ' -p' + seQueueName.value + ++ ' ' + quotedfname; ++ end; // if(2) ++ end; // if(1) ++ end; // with ++ ++ {$endif} ++ end; ++ ++ //----------------------------- ++ function PrintFile(afile: msestring; out aprintcommand: msestring; atimeout: integer = 0): integer; ++ var ++ print_cmd:msestring; ++ usegui: boolean; ++ print_ph: integer; ++ ++ begin ++ print_cmd:= GetFinalCommand(afile, usegui); ++ aprintcommand:= print_cmd; ++ ++ if print_cmd <> '' then begin // if(1) ++ ++ if usegui then begin // if(2) ++ print_ph:= execmse2(print_cmd,nil,nil,nil,false,-1,false); ++ activateprocesswindow(print_ph); ++ waitforprocess(print_ph); // GUI : don't autocomplete ++ result:= 0; // GUI : always OK ++ end else begin ++ print_ph:= execmse2(print_cmd); ++ getprocessexitcode(print_ph,result,atimeout*1000000); ++ end; ++ end else ++ result:= 99; // no command to print ++ ++ end; ++ ++ //----------------------------- ++ ++ procedure tdmprintmo.dmprintmocreated(const sender: TObject); ++ begin ++ application.createform( ++ {$ifndef mswindows} ++ tprintersetupfo,printersetupfo ++ {$else} ++ tprintersetupformw32fo,printersetupformw32fo ++ {$endif} ++ ); ++ end; ++ ++ ++ procedure tdmprintmo.printersetupexec(const sender: TObject); ++ begin ++ {$ifndef mswindows} ++ printersetupfo ++ {$else} ++ printersetupformw32fo ++ {$endif}.show(true); ++ ++ end; ++ ++ procedure printout(afile: msestring); ++ var ++ print_cmd: msestring; ++ print_exitcode: integer; ++ begin ++ print_exitcode:= PrintFile(afile,print_cmd,30); // 30 Ńек timeout for non-GUI ++ ++ if print_exitcode = 99 then begin // the printing command is empty ++ showmessage('Printing is cancelled.','Information',[mr_ok],mr_ok); ++ end else if print_exitcode <> 0 then begin ++ showmessage( ++ 'An error occured when printing. The printing command:' + lineend + ++ print_cmd + '.' + lineend + ++ 'The return code: ' + inttostr(print_exitcode), ++ 'Printing error', ++ [mr_ok], ++ mr_ok ++ ); ++ end; ++ ++ if fileexists(afile) then ++ deletefile(afile); // clean up the PS output ++ ++ end; ++ ++ end. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/icons/eraser.png et mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/icons/eraser.png sont diffĂ©rents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/icons/fileopen.png et mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/icons/fileopen.png sont diffĂ©rents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/icons/filesaveas.png et mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/icons/filesaveas.png sont diffĂ©rents. +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/icons/filesave.png et mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/icons/filesave.png sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main.mfm 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,751 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 27 ++ bounds_y = 149 ++ bounds_cx = 682 ++ bounds_cy = 433 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 28 ++ container.bounds_cx = 682 ++ container.bounds_cy = 405 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ mainmenu = mnuMain ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Testcase project for TReport/TMemDataSet' ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ bounds_x = 231 ++ bounds_y = 355 ++ bounds_cx = 106 ++ bounds_cy = 49 ++ frame.colorclient = 15132415 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_left, an_bottom] ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Show report'#13'(all records)' ++ onexecute = reportexec ++ end ++ object tbutton2: tbutton ++ bounds_x = 624 ++ bounds_y = 371 ++ bounds_cx = 56 ++ bounds_cy = 33 ++ frame.colorclient = -1610612733 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 1 ++ state = [as_localcaption] ++ caption = 'Exit' ++ font.color = -1610612730 ++ font.name = 'stf_default' ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ modalresult = mr_canclose ++ end ++ object wgrdMain: tdbwidgetgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 0 ++ bounds_y = 2 ++ bounds_cx = 682 ++ bounds_cy = 348 ++ frame.colorclient = -1610612733 ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ anchors = [an_top, an_bottom] ++ taborder = 2 ++ hint = 'Ctrl+Ins - inserts new record,'#10'Ctrl+Del - deletes record' ++ datasource = ds ++ optionsgrid = [og_colsizing, og_rowinserting, og_rowdeleting, og_focuscellonenter, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ color = 13561294 ++ width = 28 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = 12643264 ++ frame.leveli = -1 ++ frame.localprops = [frl_leveli] ++ frame.dummy = 0 ++ height = 30 ++ captions.count = 3 ++ captions.items = < ++ item ++ caption = 'Very long text column for resistance test' ++ end ++ item ++ caption = 'Testcase'#13'resistance' ++ end ++ item ++ caption = 'Photo' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ font.height = 15 ++ font.extraspace = -7 ++ font.style = [fs_bold] ++ font.name = 'stf_default' ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ end> ++ datacols.count = 3 ++ datacols.items = < ++ item ++ frame.leveli = -2 ++ frame.framei_left = 3 ++ frame.localprops = [frl_leveli, frl_fileft] ++ frame.dummy = 0 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ 16764159 ++ -1610612712 ++ ) ++ face.localprops = [fal_fatransparency] ++ face.dummy = 0 ++ width = 445 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ widgetname = 'tdbmemoedit1' ++ end ++ item ++ frame.leveli = -2 ++ frame.framei_right = 3 ++ frame.localprops = [frl_leveli, frl_firight] ++ frame.dummy = 0 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ -1610612712 ++ 13238271 ++ ) ++ face.localprops = [fal_fatransparency] ++ face.dummy = 0 ++ width = 109 ++ options = [co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ widgetname = 'tdbrealedit1' ++ end ++ item ++ frame.leveli = -1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612715 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe] ++ frame.dummy = 0 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ 14606079 ++ 16764879 ++ ) ++ face.localprops = [fal_fatransparency] ++ face.dummy = 0 ++ width = 77 ++ widgetname = 'tdbdataimage1' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datarowheight = 74 ++ reffontheight = 14 ++ object tdbmemoedit1: tdbmemoedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 445 ++ bounds_cy = 74 ++ color = -1879048186 ++ frame.levelo = 0 ++ frame.sbvert.options = [sbo_thumbtrack, sbo_show] ++ frame.sbvert.width = 12 ++ frame.sbvert.buttonlength = 7 ++ frame.sbvert.buttonminlength = 5 ++ frame.sbvert.faceendbutton.localprops = [fal_fatransparency] ++ frame.sbvert.faceendbutton.dummy = 0 ++ frame.sbvert.color = 12549758 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_leveli, frl_fileft, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_closequery, oe_checkmrcancel, oe_shiftreturn, oe_resetselectonexit, oe_endonenter, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ textflags = [tf_wordbreak, tf_noselect] ++ textflagsactive = [tf_wordbreak] ++ datafield = 'fldMemo' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ end ++ object tdbrealedit1: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 446 ++ bounds_y = 0 ++ bounds_cx = 109 ++ bounds_cy = 74 ++ color = -1879048186 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_leveli, frl_firight, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 2 ++ visible = False ++ datafield = 'fldFloat' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ formatedit = '0.00' ++ formatdisp = '0.00' ++ reffontheight = 14 ++ val = 9.9909999999999997E+0001 ++ end ++ object tdbdataimage1: tdbdataimage ++ bounds_x = 556 ++ bounds_y = 0 ++ bounds_cx = 77 ++ bounds_cy = 74 ++ color = -1879048186 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612729 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 3 ++ popupmenu = pmPhoto ++ visible = False ++ bitmap.alignment = [al_xcentered, al_ycentered, al_fit] ++ datafield = 'fldBlob' ++ datasource = ds ++ end ++ end ++ object tgroupbox1: tgroupbox ++ bounds_x = 0 ++ bounds_y = 356 ++ bounds_cx = 197 ++ bounds_cy = 48 ++ frame.colorclient = 16777177 ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ anchors = [an_left, an_bottom] ++ taborder = 3 ++ optionsscale = [osc_expandx] ++ object tlabel2: tlabel ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 158 ++ bounds_cy = 16 ++ color = -2147483645 ++ frame.colorclient = -2147483647 ++ frame.caption = 'Ctrl + Ins:' ++ frame.captionpos = cp_left ++ frame.font.style = [fs_bold] ++ frame.font.name = 'stf_default' ++ frame.font.xscale = 1.0000000000000000E+0000 ++ frame.font.dummy = 0 ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 56 ++ 1 ++ 0 ++ 1 ++ ) ++ caption = 'inserts new record' ++ reffontheight = 14 ++ end ++ object tlabel3: tlabel ++ bounds_x = 8 ++ bounds_y = 28 ++ bounds_cx = 177 ++ bounds_cy = 16 ++ color = -2147483645 ++ frame.caption = 'Ctrl + Del:' ++ frame.captionpos = cp_left ++ frame.font.style = [fs_bold] ++ frame.font.name = 'stf_default' ++ frame.font.xscale = 1.0000000000000000E+0000 ++ frame.font.dummy = 0 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 57 ++ 1 ++ 0 ++ 1 ++ ) ++ taborder = 1 ++ caption = 'deletes current record' ++ reffontheight = 14 ++ end ++ end ++ object tbutton3: tbutton ++ bounds_x = 362 ++ bounds_y = 355 ++ bounds_cx = 100 ++ bounds_cy = 49 ++ frame.colorclient = 15132415 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_left, an_bottom] ++ taborder = 4 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Show report'#13'(current record)' ++ onexecute = reportcurrexec ++ end ++ object tspacer2: tspacer ++ bounds_x = 337 ++ bounds_y = 360 ++ bounds_cx = 25 ++ bounds_cy = 42 ++ taborder = 5 ++ linkleft = tbutton1 ++ linkright = tbutton3 ++ end ++ object mnuMain: tmainmenu ++ popupitemframetemplate = ftMenu ++ popupitemframetemplateactive = ftMenu ++ itemframetemplate = ftMenu ++ itemframetemplateactive = ftMenu ++ menu.submenu.count = 2 ++ menu.submenu.items = < ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ caption = 'Exit' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = exit ++ end> ++ caption = 'File' ++ state = [as_localcaption, as_localonexecute] ++ end ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ action = dmprintmo.actPrinterSetup ++ caption = 'Printer..' ++ state = [as_localcaption] ++ end> ++ caption = 'Settings' ++ state = [as_localcaption] ++ end> ++ left = 232 ++ top = 136 ++ end ++ object ftButtons: tframecomp ++ template.levelo = -1 ++ template.leveli = 1 ++ template.framewidth = 2 ++ template.colorframe = 13742289 ++ left = 296 ++ top = 272 ++ end ++ object ftMenu: tframecomp ++ template.levelo = 1 ++ template.leveli = 3 ++ template.framewidth = 2 ++ template.colorframe = 16777121 ++ template.framei_left = 3 ++ template.framei_right = 40 ++ left = 344 ++ top = 165 ++ end ++ object qry: tmsesqlquery ++ logfilename = './data.bin' ++ params = <> ++ IndexDefs = <> ++ Active = True ++ FieldDefs = < ++ item ++ Name = 'fldMemo' ++ DataType = ftMemo ++ Size = 8 ++ end ++ item ++ Name = 'fldFloat' ++ DataType = ftFloat ++ end ++ item ++ Name = 'fldBlob' ++ DataType = ftBlob ++ Size = 8 ++ end> ++ controller.options = [dso_autoapply, dso_local] ++ left = 36 ++ top = 174 ++ object fldLongText: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'fldMemo' ++ Size = 8 ++ Transliterate = False ++ left = 80 ++ top = 112 ++ end ++ object fldPhoto: tmsegraphicfield ++ DisplayWidth = 10 ++ FieldName = 'fldBlob' ++ Index = 1 ++ Size = 8 ++ imagecachekb = 10000 ++ left = 576 ++ top = 112 ++ end ++ object fldFloatStuff: tmsefloatfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'fldFloat' ++ Index = 2 ++ DisplayFormat = '0.##' ++ EditFormat = '0.##' ++ left = 408 ++ top = 112 ++ end ++ end ++ object ds: tmsedatasource ++ DataSet = qry ++ left = 38 ++ top = 213 ++ end ++ object pmPhoto: tpopupmenu ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ action = actClear ++ end ++ item ++ action = actLoad ++ end ++ item ++ action = actSave ++ end> ++ left = 576 ++ top = 160 ++ end ++ object actLoad: taction ++ imagelist = ilActions ++ caption = 'Load from file..' ++ imagenr = 1 ++ onexecute = loadexec ++ left = 536 ++ top = 232 ++ end ++ object actSave: taction ++ imagelist = ilActions ++ caption = 'Save to file..' ++ imagenr = 2 ++ onexecute = saveexec ++ left = 584 ++ top = 264 ++ end ++ object ilActions: timagelist ++ width = 30 ++ height = 24 ++ colormask = True ++ count = 3 ++ left = 536 ++ top = 184 ++ image = { ++ 00000000060000003C000000300000005C190000000000000000000000000000 ++ 0000000000000000000000000000000000000000000000025B00160100000002 ++ 00003F013FA02001000000040C1007012C6D8601187974010000000298000001 ++ 18000001E0708601AAFC830101000001A86C8601B00000012800000120708601 ++ F3000001040000012000000101000001B8BA8B01FFFFFF0CECD59401E4C78601 ++ D8B47501CCA06201BF8B4F01FFFFFF0D00000003B100000100000010FFC0C001 ++ 80000001000000044C0016010000000200003F01FFFFFF0AF3E09E02ECD59301 ++ E3C68601D9B47501CBA06201BF8B4F01B2763B01A6622801FFFFFF0192410B01 ++ FFFFFF093FA020018080800100000011FFC0C001FF8080028000000100000003 ++ FFFFFF0100000003FFFFFF09F3E09E02FFFFFF06B2763C01A66229019A501801 ++ 92410A01FFFFFF09000000018901000160138901B0659D010000000EFFC0C001 ++ FF8080048000000100000002EA02C5022CE11F0100000001FFFFFF08F3E09E01 ++ FFFFFF09A66229019B4F180192410A01FFFFFF09EA02C501FE02D90100000001 ++ EA02C5010000000DFFC0C001FF8080068000000100000001F870860148708601 ++ 0000000145001601FFFFFF11B2763B01A66228019B50180192410A01FFFFFF09 ++ A86B6D01E3433A0160897401806D86010000000CFFC0C001FF80800880000001 ++ 000000010C100701C46F86011879740100000005E0731F040000001748010001 ++ 180000010000000BFFC0C001FF80800980000001040000012000D00101000001 ++ 686D9D0100000002E0731F0100000001E0731F01DFAC73046D22000100000014 ++ 0000D00100000001D0D0D001790100010000000AFFC0C001FF80800980000001 ++ 000000012603D901000000013802000100003F01E0731F02DFAC7301E0731F01 ++ DFAC7301D18837056D2200090000000B3FA02001D0D0D0010000000BFFC0C001 ++ FF8080098000000100000005DA00C501E0731F02DDA86E01E0731F01DDA86E01 ++ CE822F0E6D2200010000000ADA00C5012CE11F01DA00C50200000008FFC0C001 ++ FF8080098000000100000003E0049101AFFC83010100000100718601E0731F02 ++ DBA46901E0731F01DBA46901CB7D2803C66827108B360001000000028B360001 ++ 0000000319000001C888F301800A8E0100000007C0C0FF01FFFFFF02FF808007 ++ 80000001000000040103E701250300012000000179000001E0731F02D9A16401 ++ E0731F01D9A16401C8782103C6682701E4B88101DDA66109E4A91601F3E09E04 ++ 8B360001000000028B36000100000002100491016873860109000001500A8E01 ++ 00000006C0C0FF010000C002FFFFFF02FF80800580000001000000054018D001 ++ E43FD001F005000138000001E0731F02D69D6001E0731F01D69D6001C4721B02 ++ C6682701E1B07501D99C520ADD9F1501EED07F038B3600010000000701000001 ++ B70051015B02230100000005C0C0FF010000C004FFFFFF02FF80800380000001 ++ 00000007A09474014500000100000001E0731F02D4995B01E0731F01D4995B01 ++ C16D1402C6682701DDA86A01D592450AD5941301E8C162038B36000100000008 ++ 030000011900000100000004C0C0FF010000C006FFFFFF02FF80800180000001 ++ 00000007090000013873860118000002E0731F02D2965701E0731F01D2965701 ++ BE680E01C6682701DAA15F01D189370BCD8A1101E3B146028B36000100000008 ++ 65908001090000018889940100000003C0C0FF010000C008FFFFFF0180000001 ++ 0000000809000001B07386013001000138000001E0731F02CF915301E0731F01 ++ CF915301BA620901C6682701D6995501CC7F2B0BC47F1001DDA12C028B360001 ++ 000000074874860172908001A0947401905D9D0100000002C0C0FF010000C009 ++ 000080010000000AA09474014600D00100000001E0731F02CD8E5001E0731F01 ++ CD8E5001C6682701D3914B01C8751E0CBB740D01DDA12C018B3600010000000A ++ 030000011900000100000001C0C0FF010000C009000080010000000A09000001 ++ A07486012002000138000001E0731F02CA8A4D01E0731F01CA8A4D01C6682701 ++ B157090F8B360001000000083875860175908001A0947401905D9D01C0C0FF03 ++ 0000C007000080010000000CA09474014700D00100000001E0731F02C98A5301 ++ E0731F01C98A5301B07B5D01DEC3B001DBBEA903DFC4B101E2CAB801E5CFBF01 ++ E9D6C801ECDBCF01EFE1D601F2E7DE01F5ECE601F8F2ED01FBF7F5018B360001 ++ 0000000B0300000119000001C0C0FF040000C005000080010000000C09000001 ++ 907586011003000138000001E0731F02C98A5301E0731F01C98A5301DEC3B001 ++ DBBEA901DEC3B001DBBEA902DFC4B101E2CAB801E5CFBF01E9D6C801ECDBCF01 ++ EFE1D601F2E7DE01F5ECE601F8F2ED01FBF7F5018B3600010000000928768601 ++ 78908001A0947401905D9D0100000001C0C0FF040000C003000080010000000E ++ A09474014700FF0100000001E0731F02DEC3B001E0731F01DEC3B001DBBEA901 ++ DEC3B001DBBEA901DEC3B001DBBEA901DFC4B101E2CAB801E5CFBF01E9D6C801 ++ ECDBCF01EFE1D601F2E7DE01F5ECE601F8F2ED018B3600010000000C03000001 ++ 1900000100000002C0C0FF040000C001000080010000000E0900000180768601 ++ 00040001380000018B3600140000000A187786017B908001A0947401905D9D01 ++ 00000003C0C0FF030000800100000010A09474014800D0010000002103000001 ++ 1900000100000004C0C0FF0100008001000000100900000170778601F0040001 ++ 380000010000001E087886017E908001A0947401905D9D01DE02D0010900D001 ++ 00000001A09474014800FF01000000030300000119000001F8ED940140788601 ++ 09000001C07786014005000138000001587886017F908001A0947401905D9D01 ++ DE02D0010B00D00100000001A09474014800D00100000001FFFFFF1E00000010 ++ 0091EC0105ABF0017BBBED026E9BDE01477BD1010044BB020000000640000001 ++ 01000001581700011800000138788B0136040001400000010100000170170001 ++ 1800000150788B01350400014000000101000001881700011800000168788B01 ++ 340400014000000101000001A01700011800000180788B013304000140000001 ++ 01000001B81700011800000198788B01320400010000000F0091EC0105ABF001 ++ 7BBBED016E9BDE01477BD1010044BB0100000009400000010100000148180001 ++ 1800000128798B012C0400014000000101000001601800011800000140798B01 ++ 2B0400014000000101000001781800011800000158798B012A04000140000001 ++ 01000001901800011800000170798B01290400014000000101000001A8180001 ++ 1800000188798B01280400010000000F009BEE0104D0F9015FE4FF01C3E8FE01 ++ A8C7EF014378D0010044BB010000000840000001010000013819000118000001 ++ 187A8B012404000140000001010000015019000118000001307A8B0123040001 ++ 40000001010000016819000118000001487A8B01230400014000000101000001 ++ 8019000118000001607A8B012204000140000001010000019819000118000001 ++ 787A8B0122040001CBB9B802CDBCBA01CBB7B601CBB9B801CDBCBA01CBB7B601 ++ CDBBBB01C2ADAC01BEA7A501BBA3A201BEA7A701BAA3A301B69D9D01B3999901 ++ 48A2C40101DFFD0104C7FF011ABAFF0148A6F801396DBD015143650100000008 ++ 4000000101000001281A000118000001087B8B011F0400014000000101000001 ++ 401A000118000001207B8B011E0400014000000101000001581A000118000001 ++ 387B8B011E0400014000000101000001701A000118000001507B8B011D040001 ++ 4000000101000001881A000118000001687B8B011D040001D0BFBD02ECE4E101 ++ EEE7E301D0BFBD01ECE4E101EEE7E301FFFFFF01AA887601A6827001B4978701 ++ FFFFFF03F3FAFE011ECEF80103DDFF0104BFFF0118ABFF013088E6017C728901 ++ 68323201000000084000000101000001181B000118000001F87B8B011A040001 ++ 4000000101000001301B000118000001107C8B01190400014000000101000001 ++ 481B000118000001287C8B01190400014000000101000001601B000118000001 ++ 407C8B01180400014000000101000001781B000118000001587C8B0118040001 ++ CBB8B602E6DCD701E8E0DB01CBB8B601E6DCD701E8E0DB01FFFFFF0185553B01 ++ 976D5801AE8F7E01FFFFFF02FEFFFF0193D9FA0105E2FE010DCFFF0113BAFF01 ++ 259EFD01537EBD01A88B830165303001000000084000000101000001081C0001 ++ 18000001E87C8B01150400014000000101000001201C000118000001007D8B01 ++ 140400014000000101000001381C000118000001187D8B011404000140000001 ++ 01000001501C000118000001307D8B01130400014000000101000001681C0001 ++ 18000001487D8B0113040001C7B3B002E3D7D101E6DCD601C7B3B001E3D7D101 ++ E6DCD601FFFFFF0191664F01B0908001C5AEA101FFFFFF02E4F4FD0149D8FA01 ++ 15E1FF011CC8FF0125B2FF012B8AEE018A8797019E7D7401602B2A0100000008 ++ 4000000101000001F81C000118000001D87D8B01100400014000000101000001 ++ 101D000118000001F07D8B010F0400014000000101000001281D000118000001 ++ 087E8B010F0400014000000101000001401D000118000001207E8B010E040001 ++ 4000000101000001581D000118000001387E8B010E040001C3ADAA02DFD2CB01 ++ E3D8D201C3ADAA01DFD2CB01E3D8D201FFFFFF01C1A89B01D4C2B901E1D5CF01 ++ FFFFFF01FEFEFF01A4E3FB0128DFFC0127D5FF012AC6FF0138A6FC0169A5EA01 ++ A2898201916E65015D272601000000084000000101000001E81D000118000001 ++ C87E8B010B0400014000000101000001001E000118000001E07E8B010A040001 ++ 4000000101000001181E000118000001F87E8B010A0400014000000101000001 ++ 301E000118000001107F8B01090400014000000101000001481E000118000001 ++ 287F8B0109040001BEA7A402DBCDC501DDD0C801BEA7A401DBCDC501DDD0C801 ++ F5F1EE01F4F0ED01F3EFEC01F2EEEB01F2EDEA01E9EAEA0158D6F90134E7FF01 ++ 37CDFF013EBFFF01449BEF0196A6C7019F7E720189645C015A23220100000008 ++ 4000000101000001D81E000118000001B87F8B01060400014000000101000001 ++ F01E000118000001D07F8B01050400014000000101000001081F000118000001 ++ E87F8B01050400014000000101000001201F00011800000100808B0104040001 ++ 4000000101000001381F00011800000118808B0104040001BAA19E02D8C8C001 ++ D3C1B701BAA19E01D8C8C001D3C1B701D4C3B901D1BFB501CEBBB101CCB7AC01 ++ C9B4A80197B2BD013DDEFB0145DEFF0144CDFF014FBAFF014A80C40192797601 ++ 926E6001825D540157201F01000000084000000101000001C81F000118000001 ++ A8808B01010400014000000101000001E01F000118000001C0808B0100040001 ++ 4000000101000001F81F00011800000150269101000400014000000101000001 ++ B0808B01F10E0001B888F301F8359C01D0E9900130818B0109000001B0808B01 ++ 3020000138000001B59B9802D4C3BA01CDB9AE01B59B9801D4C3BA01CDB9AE01 ++ CAB5A901C7B0A401C4AC9F01C1A89A01B6A399015FBBD70157ECFF0152D8FF01 ++ 56CAFF0153A9F501686984018F6A5C01896456017B544B01541D1C0100000001 ++ 30000007000000020300000119000001D0E99001D0818B010900000150818B01 ++ D020000138000001E8818B014D198001A094740138F58A011E0200010F00C101 ++ 00000001A094740157000001000000030300000119000001D0E9900120828B01 ++ 09000001A0818B012021000138000001B2969202D1BEB401CCB7AC01B2969201 ++ D1BEB401CCB7AC01D0BEB401CEBAB001CBB7AC01C7B0A50192A8B3015EDAF201 ++ 63E6FF015DD8FF0169C6FF01508CD3019077750195746801855F5101754D4401 ++ 521A190130000008000000020300000119000001D0E99001C0828B0109000001 ++ 40828B01C021000138000001D8828B0150198001A094740138F58A01BE02C101 ++ 4100C10100000001A094740157001401000000030300000119000001D0E99001 ++ 10838B010900000190828B011022000138000001B2969202D1BEB401CCB7AC01 ++ AD8F8B01CCB9AE01D4C3B901FFFFFF01FDFCFC01F7F4F401E8E8EB018CD9F301 ++ 73ECFE016DDFFF016ED7FF016BB5F40194A9CE01D1C1C201CEBCBC01845F5301 ++ 6C433A014C15140130000008000000020300000119000001D0E99001B0838B01 ++ 0900000130838B01B022000138000001C8838B0153198001A094740138F58A01 ++ 5E02A2015300000100000001A09474015700C101000000030300000119000001 ++ D0E9900100848B010900000180838B010023000138000001AD8F8B02CCB9AE01 ++ D4C3B901A98A8601C9B4A801D1BFB501FCFBFB01F4F1F101EFE9E901D8E0E601 ++ 6BDAFA0183EDFF0177DFFF0180D5FF016CA4E101B1AEC101CBB9B901C2AEAE01 ++ 7A544801633931014912110130000008000000020300000119000001D0E99001 ++ A0848B010900000120848B01A023000138000001B8848B0156198001A0947401 ++ 38F58A01BE02C1011D00C10100000001A0947401530000010000000303000001 ++ 19000001D0E99001F0848B010900000170848B01F023000138000001A98A8602 ++ C9B4A801D1BFB501A4837F01C6AFA301CAB5AB01E8DADA01DBC4C401D7BFBF01 ++ C6BBC20183D5F90196E8FF0189E0FF018BD1FC017787B401B3939401AB8B8B01 ++ AF939301724B3F015D332B01470F0F0130000008000000020300000119000001 ++ D0E9900190858B010900000110858B019024000138000001A8858B0159198001 ++ A094740138F58A01BE02C1014300C10100000001A09474015300000100000003 ++ 0300000119000001D0E99001E0858B010900000160858B01E024000138000001 ++ A4837F02C6AFA301CAB5AB01A07E7901C0A89B01C0A99F01E7DCDC01DFCECE01 ++ DAC9C901B8BDCD01A6D3F701CDEEFF01B4E3FC0172A1DB019F8E9C01B1949401 ++ AD909001AD9292016D453A01582D2601450D0D01300000080000000203000001 ++ 19000001D0E9900180868B010900000100868B01802500013800000198868B01 ++ 5C198001A094740138F58A01FE02E0010D00E00100000001A09474014F00F801 ++ 000000030300000119000001D0E99001D0868B010900000150868B01D0250001 ++ 38000001A07E7902C0A89B01C0A99F019B777201B69C8E01B89F9401DFD0D001 ++ D5BFBF01D1BABA01A3AAC101B3CFEB01CEE4F80193ABD50192889E01AC8C8C01 ++ A8888801A5848401A7898901683F340153292001430B0B013000000300000001 ++ 30000004000000020300000119000001D0E9900170878B0109000001F0868B01 ++ 702600013800000188878B015F198001A094740138F58A01BE02C1011F00B501 ++ 00000001A09474014F000501000000030300000119000001D0E99001C0878B01 ++ 0900000140878B01C0260001380000019B777202B69C8E01B89F9401946E6901 ++ AD918401B1968C01DBCBCB01D2BCBC01CEB8B8019D9EB5018090B2018393BC01 ++ 93859801AD8F8F01A98A8A01A5868601A2818101A4858501643C31014F261E01 ++ 420B0A010000000430000003000000030300000119000001D0E9900160888B01 ++ 09000001E0878B01602700013800000178888B0162198001A094740138F58A01 ++ BE02C1015100C10100000001A09474014F000001000000030300000119000001 ++ D0E99001B0888B010900000130888B01B027000138000001946E6902AD918401 ++ B1968C018D656001A7887B01AB8E8401D7C7C701D0BBBB01CCB6B6019998B301 ++ 6175AA019B8D9D01AF929201AC8E8E01A7888801A5868601A5858501A98B8B01 ++ 623A2E014C221901400908010000000A0300000119000001D0E9900150898B01 ++ 09000001D0888B01502800013800000168898B0165198001A094740138F58A01 ++ BE02C1010F00C10100000001A09474015400C101000000030300000119000001 ++ D0E99001A0898B010900000120898B01A0280001380000018D656002A7887B01 ++ AB8E8401855B570199786F019B7C7501C9BCBC01C5B6B601C1B1B101AFA3AB01 ++ A699A301B19C9C01AD979701A9929201A48C8C01A48B8B01A18787019E828201 ++ 542D2501411812013E0606010000000A0300000119000001D0E99001408A8B01 ++ 09000001C0898B014029000138000001588A8B0168198001A094740138F58A01 ++ BE02C1014100C10100000001A09474015400C101000000030300000119000001 ++ D0E99001908A8B0109000001108A8B019029000138000001855B570299786F01 ++ 9B7C7501734342016A38370165333201744A4A0173484801714646016F434301 ++ 6E4141016C3F3F016B3D3D01693B3B0167393901663737016435350163333301 ++ 430E0D013D0706013E0404010000000A0300000119000001D0E99001308B8B01 ++ 09000001B08A8B01302A00013800000140FD8A016B198001A094740138F58A01 ++ BE02C1015300C10100000001A09474015400C101000000030300000119000001 ++ D0E9900178FD8A0109000001008B8B01802A000138000001734342026A383701 ++ 653332010000001C0400000119000001D0E99001208C8B0109000001A08B8B01 ++ 202B000138000001388C8B01777C80017093740198FD8A01BF04C1011800C101 ++ 00000001A09474010100C101000000030400000119000001D0E99001708C8B01 ++ 09000001F08B8B01702B000138000001000000200400000119000001D0E99001 ++ 108D8B0109000001908C8B01102C000138000001288D8B017A7C800170937401 ++ 98FD8A01BF04C1010A00C10100000001A09474010300C1010000000304000001 ++ 19000001D0E99001608D8B0109000001E08C8B01602C00013800000100000020 ++ 0400000119020001C0928B0170918B0109000001808D8B01AFB9C10109010001 ++ D8038B0160FE8A0100000201C8AF1C0104C2C301FFFFFF010000000101000001 ++ 00000001C888740100000001F834750100000001A8025D010000000100000801 ++ F0A5380100151F0120151F01288E8B01780400000000002AFFFFFF0500000021 ++ FFFFFF0300000011FFFFFF0900000001FFFFFF010000001CFFFFFF050000000F ++ FFFFFF0200000006FFFFFF040000001BFFFFFF070000000DFFFFFF0100000009 ++ FFFFFF030000001AFFFFFF0900000015FFFFFF0400000019FFFFFF0A00000009 ++ FFFFFF04131313010606060100000022FFFFFF0B00000008FFFFFF0620202001 ++ 0606060100000020FFFFFF0C00000007FFFFFF10131313010606060100000016 ++ FFFFFF0C00000008FFFFFF11202020010606060100000014FFFFFF0C00000009 ++ FFFFFF1613131301060606010000000EFFFFFF0C0000000AFFFFFF1639393901 ++ 131313010000000DFFFFFF0C0000000BFFFFFF15606060014040400113131301 ++ 0000000CFFFFFF0C0000000CFFFFFF155353530126262601060606010000000B ++ FFFFFF0C0000000DFFFFFF146060600140404001131313010000000BFFFFFF0C ++ 0000000EFFFFFF145353530126262601060606010000000AFFFFFF0C0000000F ++ FFFFFF136060600140404001131313010000000AFFFFFF0C00000010FFFFFF13 ++ 53535301262626010606060100000009FFFFFF0C00000011FFFFFF1260606001 ++ 40404001131313010000000AFFFFFF0B00000012FFFFFF125353530126262601 ++ 060606010000000BFFFFFF0900000013FFFFFF11606060014040400113131301 ++ 0000000DFFFFFF0700000014FFFFFF115353530126262601060606010000000E ++ FFFFFF050000001513131301393939014C4C4C0F393939011313130100000010 ++ FFFFFF030000001606060601131313011919190F131313010606060100000062 ++ FFFFFF1E0000000F0606060199999901FEFEFE01E0E0E0017676760116161601 ++ 00000009FFFFFF1E0000000F2D2D2D01D5D5D501FFFFFF02F7F7F70184848401 ++ 0909090100000008FFFFFF1E0000000477777701EFEFEF0AF3F3F301FEFEFE01 ++ FFFFFF03ADADAD011111110100000008FFFFFF1E00000004FFFFFF1192929201 ++ 00000008FFFFFF1E00000004FFFFFF11DFDFDF0100000008FFFFFF1E00000004 ++ FFFFFF11DFDFDF0100000008FFFFFF1E00000004FFFFFF11DFDFDF0100000008 ++ FFFFFF1E00000004FFFFFF11DFDFDF0100000008FFFFFF1E00000004FFFFFF11 ++ DFDFDF0100000008FFFFFF1E00000004FFFFFF11DFDFDF010000000204040401 ++ 0101010100000004FFFFFF1E00000004FFFFFF11DFDFDF01050505010E0E0E01 ++ 141414010E0E0E0100000004FFFFFF1E00000004FFFFFF11E2E2E20119191904 ++ 00000004FFFFFF1E00000004FFFFFF11E2E2E2011919190400000004FFFFFF1E ++ 00000004FFFFFF11E2E2E201191919031717170100000004FFFFFF1E00000004 ++ FFFFFF11E2E2E20119191901161616010E0E0E010707070100000004FFFFFF1E ++ 00000004FFFFFF11E1E1E1010B0B0B01030303010101010100000005FFFFFF1E ++ 00000004FFFFFF11DFDFDF0100000008FFFFFF1E00000004FFFFFF11DFDFDF01 ++ 00000008FFFFFF1E00000004FFFFFF11DFDFDF0100000008FFFFFF1E00000004 ++ 77777701EFEFEF105959590100000008FFFFFF1E0000001EFFFFFF1E0000001E ++ FFFFFF1E0000001EFFFFFF1E ++ } ++ end ++ object actClear: taction ++ imagelist = ilActions ++ caption = 'Clear' ++ imagenr = 0 ++ onexecute = clearexec ++ left = 576 ++ top = 208 ++ end ++ object dlgImageFile: tfiledialog ++ controller.filterlist.data = ( ++ ( ++ 'PNG-files' ++ '*.png' ++ ) ++ ( ++ 'JPG-files' ++ '*.jpg' ++ ) ++ ( ++ 'TIFF-files' ++ '*.tif;*tiff' ++ ) ++ ( ++ 'BMP/ICO-files' ++ '*.bmp' ++ ) ++ ( ++ 'ICO-files' ++ '*.ico' ++ ) ++ ) ++ controller.filterindex = 1 ++ controller.options = [fdo_file, fdo_checkexist, fdo_savelastdir] ++ controller.captionopen = 'Image file to load from' ++ controller.captionsave = 'Image file to save to' ++ dialogkind = fdk_none ++ left = 536 ++ top = 136 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main_mfm.pas 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,849 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..16628] of byte end = ++ (size: 16629; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,27,8,98,111,117,110,100,115, ++ 95,121,3,149,0,9,98,111,117,110,100,115,95,99,120,3,170,2,9,98, ++ 111,117,110,100,115,95,99,121,3,177,1,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,28,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,170,2,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,149,1,21, ++ 99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14,119, ++ 111,95,103,114,111,117,112,108,101,97,100,101,114,0,8,109,97,105,110,109, ++ 101,110,117,7,7,109,110,117,77,97,105,110,7,111,112,116,105,111,110,115, ++ 11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110,97, ++ 116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114,101,97, ++ 100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116, ++ 97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118, ++ 101,115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,40,84,101,115, ++ 116,99,97,115,101,32,112,114,111,106,101,99,116,32,102,111,114,32,84,82, ++ 101,112,111,114,116,47,84,77,101,109,68,97,116,97,83,101,116,15,109,111, ++ 100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102, ++ 111,114,109,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110, ++ 49,8,98,111,117,110,100,115,95,120,3,231,0,8,98,111,117,110,100,115, ++ 95,121,3,99,1,9,98,111,117,110,100,115,95,99,120,2,106,9,98,111, ++ 117,110,100,115,95,99,121,2,49,17,102,114,97,109,101,46,99,111,108,111, ++ 114,99,108,105,101,110,116,4,255,230,230,0,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114, ++ 99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97, ++ 116,101,7,9,102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95, ++ 108,101,102,116,9,97,110,95,98,111,116,116,111,109,0,5,115,116,97,116, ++ 101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97, ++ 115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,7,99,97, ++ 112,116,105,111,110,6,25,83,104,111,119,32,114,101,112,111,114,116,13,40, ++ 97,108,108,32,114,101,99,111,114,100,115,41,9,111,110,101,120,101,99,117, ++ 116,101,7,10,114,101,112,111,114,116,101,120,101,99,0,0,7,116,98,117, ++ 116,116,111,110,8,116,98,117,116,116,111,110,50,8,98,111,117,110,100,115, ++ 95,120,3,112,2,8,98,111,117,110,100,115,95,121,3,115,1,9,98,111, ++ 117,110,100,115,95,99,120,2,56,9,98,111,117,110,100,115,95,99,121,2, ++ 33,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4, ++ 3,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,14, ++ 102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9,102,116,66,117, ++ 116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7, ++ 97,110,99,104,111,114,115,11,8,97,110,95,114,105,103,104,116,9,97,110, ++ 95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114,2,1,5, ++ 115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105, ++ 111,110,0,7,99,97,112,116,105,111,110,6,4,69,120,105,116,10,102,111, ++ 110,116,46,99,111,108,111,114,4,6,0,0,160,9,102,111,110,116,46,110, ++ 97,109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,11,102,111,110, ++ 116,46,120,115,99,97,108,101,5,0,0,0,0,0,0,0,128,255,63,10, ++ 102,111,110,116,46,100,117,109,109,121,2,0,11,109,111,100,97,108,114,101, ++ 115,117,108,116,7,11,109,114,95,99,97,110,99,108,111,115,101,0,0,13, ++ 116,100,98,119,105,100,103,101,116,103,114,105,100,8,119,103,114,100,77,97, ++ 105,110,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119, ++ 95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121, ++ 2,2,9,98,111,117,110,100,115,95,99,120,3,170,2,9,98,111,117,110, ++ 100,115,95,99,121,3,92,1,17,102,114,97,109,101,46,99,111,108,111,114, ++ 99,108,105,101,110,116,4,3,0,0,160,16,102,114,97,109,101,46,108,111, ++ 99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99, ++ 108,105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 7,97,110,99,104,111,114,115,11,6,97,110,95,116,111,112,9,97,110,95, ++ 98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114,2,2,4,104, ++ 105,110,116,6,56,67,116,114,108,43,73,110,115,32,45,32,105,110,115,101, ++ 114,116,115,32,110,101,119,32,114,101,99,111,114,100,44,10,67,116,114,108, ++ 43,68,101,108,32,45,32,100,101,108,101,116,101,115,32,114,101,99,111,114, ++ 100,10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,11,111,112,116, ++ 105,111,110,115,103,114,105,100,11,12,111,103,95,99,111,108,115,105,122,105, ++ 110,103,15,111,103,95,114,111,119,105,110,115,101,114,116,105,110,103,14,111, ++ 103,95,114,111,119,100,101,108,101,116,105,110,103,19,111,103,95,102,111,99, ++ 117,115,99,101,108,108,111,110,101,110,116,101,114,20,111,103,95,99,111,108, ++ 99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95,97,117, ++ 116,111,112,111,112,117,112,17,111,103,95,109,111,117,115,101,115,99,114,111, ++ 108,108,99,111,108,0,13,102,105,120,99,111,108,115,46,99,111,117,110,116, ++ 2,1,13,102,105,120,99,111,108,115,46,105,116,101,109,115,14,1,5,99, ++ 111,108,111,114,4,206,237,206,0,5,119,105,100,116,104,2,28,8,110,117, ++ 109,115,116,97,114,116,2,1,7,110,117,109,115,116,101,112,2,1,0,0, ++ 13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105,120, ++ 114,111,119,115,46,105,116,101,109,115,14,1,5,99,111,108,111,114,4,192, ++ 235,192,0,12,102,114,97,109,101,46,108,101,118,101,108,105,2,255,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108, ++ 95,108,101,118,101,108,105,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,6,104,101,105,103,104,116,2,30,14,99,97,112,116,105,111,110,115, ++ 46,99,111,117,110,116,2,3,14,99,97,112,116,105,111,110,115,46,105,116, ++ 101,109,115,14,1,7,99,97,112,116,105,111,110,6,41,86,101,114,121,32, ++ 108,111,110,103,32,116,101,120,116,32,99,111,108,117,109,110,32,102,111,114, ++ 32,114,101,115,105,115,116,97,110,99,101,32,116,101,115,116,0,1,7,99, ++ 97,112,116,105,111,110,6,19,84,101,115,116,99,97,115,101,13,114,101,115, ++ 105,115,116,97,110,99,101,0,1,7,99,97,112,116,105,111,110,6,5,80, ++ 104,111,116,111,0,0,17,99,97,112,116,105,111,110,115,102,105,120,46,99, ++ 111,117,110,116,2,1,17,99,97,112,116,105,111,110,115,102,105,120,46,105, ++ 116,101,109,115,14,1,7,99,97,112,116,105,111,110,18,1,0,0,0,22, ++ 33,0,0,11,102,111,110,116,46,104,101,105,103,104,116,2,15,15,102,111, ++ 110,116,46,101,120,116,114,97,115,112,97,99,101,2,249,10,102,111,110,116, ++ 46,115,116,121,108,101,11,7,102,115,95,98,111,108,100,0,9,102,111,110, ++ 116,46,110,97,109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,11, ++ 102,111,110,116,46,120,115,99,97,108,101,5,0,0,0,0,0,0,0,128, ++ 255,63,10,102,111,110,116,46,100,117,109,109,121,2,0,0,0,14,100,97, ++ 116,97,99,111,108,115,46,99,111,117,110,116,2,3,14,100,97,116,97,99, ++ 111,108,115,46,105,116,101,109,115,14,1,12,102,114,97,109,101,46,108,101, ++ 118,101,108,105,2,254,17,102,114,97,109,101,46,102,114,97,109,101,105,95, ++ 108,101,102,116,2,3,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,10,102,114,108,95, ++ 102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,19,102,97,99,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110, ++ 116,2,2,19,102,97,99,101,46,102,97,100,101,95,112,111,115,46,105,116, ++ 101,109,115,1,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0, ++ 0,0,0,128,255,63,0,21,102,97,99,101,46,102,97,100,101,95,99,111, ++ 108,111,114,46,99,111,117,110,116,2,2,21,102,97,99,101,46,102,97,100, ++ 101,95,99,111,108,111,114,46,105,116,101,109,115,1,4,255,204,255,0,4, ++ 24,0,0,160,0,15,102,97,99,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,18,102,97,108,95,102,97,116,114,97,110,115,112,97,114,101,110,99, ++ 121,0,10,102,97,99,101,46,100,117,109,109,121,2,0,5,119,105,100,116, ++ 104,3,189,1,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108, ++ 108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97, ++ 118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99, ++ 111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99, ++ 111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114, ++ 111,119,0,10,119,105,100,103,101,116,110,97,109,101,6,12,116,100,98,109, ++ 101,109,111,101,100,105,116,49,0,1,12,102,114,97,109,101,46,108,101,118, ++ 101,108,105,2,254,18,102,114,97,109,101,46,102,114,97,109,101,105,95,114, ++ 105,103,104,116,2,3,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,11,102,114,108,95, ++ 102,105,114,105,103,104,116,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,19,102,97,99,101,46,102,97,100,101,95,112,111,115,46,99,111,117, ++ 110,116,2,2,19,102,97,99,101,46,102,97,100,101,95,112,111,115,46,105, ++ 116,101,109,115,1,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0, ++ 0,0,0,0,128,255,63,0,21,102,97,99,101,46,102,97,100,101,95,99, ++ 111,108,111,114,46,99,111,117,110,116,2,2,21,102,97,99,101,46,102,97, ++ 100,101,95,99,111,108,111,114,46,105,116,101,109,115,1,4,24,0,0,160, ++ 4,255,255,201,0,0,15,102,97,99,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,18,102,97,108,95,102,97,116,114,97,110,115,112,97,114,101,110, ++ 99,121,0,10,102,97,99,101,46,100,117,109,109,121,2,0,5,119,105,100, ++ 116,104,2,109,7,111,112,116,105,111,110,115,11,15,99,111,95,112,114,111, ++ 112,111,114,116,105,111,110,97,108,12,99,111,95,115,97,118,101,118,97,108, ++ 117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114, ++ 111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99, ++ 111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111,117,115, ++ 101,115,99,114,111,108,108,114,111,119,0,10,119,105,100,103,101,116,110,97, ++ 109,101,6,12,116,100,98,114,101,97,108,101,100,105,116,49,0,1,12,102, ++ 114,97,109,101,46,108,101,118,101,108,105,2,255,16,102,114,97,109,101,46, ++ 102,114,97,109,101,119,105,100,116,104,2,2,16,102,114,97,109,101,46,99, ++ 111,108,111,114,102,114,97,109,101,4,21,0,0,160,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14,102, ++ 114,108,95,99,111,108,111,114,102,114,97,109,101,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,19,102,97,99,101,46,102,97,100,101,95,112, ++ 111,115,46,99,111,117,110,116,2,2,19,102,97,99,101,46,102,97,100,101, ++ 95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0,0,0,0, ++ 0,0,5,0,0,0,0,0,0,0,128,255,63,0,21,102,97,99,101,46, ++ 102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,21,102, ++ 97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109,115, ++ 1,4,255,222,222,0,4,207,207,255,0,0,15,102,97,99,101,46,108,111, ++ 99,97,108,112,114,111,112,115,11,18,102,97,108,95,102,97,116,114,97,110, ++ 115,112,97,114,101,110,99,121,0,10,102,97,99,101,46,100,117,109,109,121, ++ 2,0,5,119,105,100,116,104,2,77,10,119,105,100,103,101,116,110,97,109, ++ 101,6,13,116,100,98,100,97,116,97,105,109,97,103,101,49,0,0,16,100, ++ 97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100,111, ++ 95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95,116, ++ 104,117,109,98,116,114,97,99,107,0,13,100,97,116,97,114,111,119,104,101, ++ 105,103,104,116,2,74,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,14,0,11,116,100,98,109,101,109,111,101,100,105,116,12,116,100,98,109, ++ 101,109,111,101,100,105,116,49,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,0,8,98,111,117, ++ 110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121,2,0,9,98, ++ 111,117,110,100,115,95,99,120,3,189,1,9,98,111,117,110,100,115,95,99, ++ 121,2,74,5,99,111,108,111,114,4,6,0,0,144,12,102,114,97,109,101, ++ 46,108,101,118,101,108,111,2,0,20,102,114,97,109,101,46,115,98,118,101, ++ 114,116,46,111,112,116,105,111,110,115,11,14,115,98,111,95,116,104,117,109, ++ 98,116,114,97,99,107,8,115,98,111,95,115,104,111,119,0,18,102,114,97, ++ 109,101,46,115,98,118,101,114,116,46,119,105,100,116,104,2,12,25,102,114, ++ 97,109,101,46,115,98,118,101,114,116,46,98,117,116,116,111,110,108,101,110, ++ 103,116,104,2,7,28,102,114,97,109,101,46,115,98,118,101,114,116,46,98, ++ 117,116,116,111,110,109,105,110,108,101,110,103,116,104,2,5,37,102,114,97, ++ 109,101,46,115,98,118,101,114,116,46,102,97,99,101,101,110,100,98,117,116, ++ 116,111,110,46,108,111,99,97,108,112,114,111,112,115,11,18,102,97,108,95, ++ 102,97,116,114,97,110,115,112,97,114,101,110,99,121,0,32,102,114,97,109, ++ 101,46,115,98,118,101,114,116,46,102,97,99,101,101,110,100,98,117,116,116, ++ 111,110,46,100,117,109,109,121,2,0,18,102,114,97,109,101,46,115,98,118, ++ 101,114,116,46,99,111,108,111,114,4,126,126,191,0,17,102,114,97,109,101, ++ 46,99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95, ++ 108,101,118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,10,102,114, ++ 108,95,102,105,108,101,102,116,15,102,114,108,95,99,111,108,111,114,99,108, ++ 105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8,11, ++ 111,112,116,105,111,110,115,101,100,105,116,11,13,111,101,95,99,108,111,115, ++ 101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109,114,99,97,110, ++ 99,101,108,14,111,101,95,115,104,105,102,116,114,101,116,117,114,110,20,111, ++ 101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13, ++ 111,101,95,101,110,100,111,110,101,110,116,101,114,16,111,101,95,97,117,116, ++ 111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121,101,120,101, ++ 99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101,12,111,101, ++ 95,115,97,118,101,115,116,97,116,101,0,11,102,111,110,116,46,120,115,99, ++ 97,108,101,5,0,0,0,0,0,0,0,128,255,63,10,102,111,110,116,46, ++ 100,117,109,109,121,2,0,9,116,101,120,116,102,108,97,103,115,11,12,116, ++ 102,95,119,111,114,100,98,114,101,97,107,11,116,102,95,110,111,115,101,108, ++ 101,99,116,0,15,116,101,120,116,102,108,97,103,115,97,99,116,105,118,101, ++ 11,12,116,102,95,119,111,114,100,98,114,101,97,107,0,9,100,97,116,97, ++ 102,105,101,108,100,6,7,102,108,100,77,101,109,111,10,100,97,116,97,115, ++ 111,117,114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11, ++ 12,111,101,100,95,97,117,116,111,112,111,115,116,0,0,0,11,116,100,98, ++ 114,101,97,108,101,100,105,116,12,116,100,98,114,101,97,108,101,100,105,116, ++ 49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,0,8,98,111,117,110,100, ++ 115,95,120,3,190,1,8,98,111,117,110,100,115,95,121,2,0,9,98,111, ++ 117,110,100,115,95,99,120,2,109,9,98,111,117,110,100,115,95,99,121,2, ++ 74,5,99,111,108,111,114,4,6,0,0,144,12,102,114,97,109,101,46,108, ++ 101,118,101,108,111,2,0,17,102,114,97,109,101,46,99,111,108,111,114,99, ++ 108,105,101,110,116,4,3,0,0,128,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,10, ++ 102,114,108,95,108,101,118,101,108,105,11,102,114,108,95,102,105,114,105,103, ++ 104,116,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,2,7,118,105,115,105,98,108,101,8,9,100,97,116,97,102,105, ++ 101,108,100,6,8,102,108,100,70,108,111,97,116,10,100,97,116,97,115,111, ++ 117,114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11,12, ++ 111,101,100,95,97,117,116,111,112,111,115,116,0,10,102,111,114,109,97,116, ++ 101,100,105,116,6,4,48,46,48,48,10,102,111,114,109,97,116,100,105,115, ++ 112,6,4,48,46,48,48,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,14,3,118,97,108,5,0,80,184,30,133,235,209,199,5,64,0,0, ++ 12,116,100,98,100,97,116,97,105,109,97,103,101,13,116,100,98,100,97,116, ++ 97,105,109,97,103,101,49,8,98,111,117,110,100,115,95,120,3,44,2,8, ++ 98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115,95,99,120, ++ 2,77,9,98,111,117,110,100,115,95,99,121,2,74,5,99,111,108,111,114, ++ 4,6,0,0,144,16,102,114,97,109,101,46,102,114,97,109,101,119,105,100, ++ 116,104,2,2,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109, ++ 101,4,7,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95, ++ 102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114, ++ 102,114,97,109,101,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110, ++ 116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98, ++ 111,114,100,101,114,2,3,9,112,111,112,117,112,109,101,110,117,7,7,112, ++ 109,80,104,111,116,111,7,118,105,115,105,98,108,101,8,16,98,105,116,109, ++ 97,112,46,97,108,105,103,110,109,101,110,116,11,12,97,108,95,120,99,101, ++ 110,116,101,114,101,100,12,97,108,95,121,99,101,110,116,101,114,101,100,6, ++ 97,108,95,102,105,116,0,9,100,97,116,97,102,105,101,108,100,6,7,102, ++ 108,100,66,108,111,98,10,100,97,116,97,115,111,117,114,99,101,7,2,100, ++ 115,0,0,0,9,116,103,114,111,117,112,98,111,120,10,116,103,114,111,117, ++ 112,98,111,120,49,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117, ++ 110,100,115,95,121,3,100,1,9,98,111,117,110,100,115,95,99,120,3,197, ++ 0,9,98,111,117,110,100,115,95,99,121,2,48,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,217,255,255,0,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101, ++ 102,116,9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100, ++ 101,114,2,3,12,111,112,116,105,111,110,115,115,99,97,108,101,11,11,111, ++ 115,99,95,101,120,112,97,110,100,120,0,0,6,116,108,97,98,101,108,7, ++ 116,108,97,98,101,108,50,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99,120,3, ++ 158,0,9,98,111,117,110,100,115,95,99,121,2,16,5,99,111,108,111,114, ++ 4,3,0,0,128,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105, ++ 101,110,116,4,1,0,0,128,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,11,67,116,114,108,32,43,32,73,110,115,58,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102, ++ 116,16,102,114,97,109,101,46,102,111,110,116,46,115,116,121,108,101,11,7, ++ 102,115,95,98,111,108,100,0,15,102,114,97,109,101,46,102,111,110,116,46, ++ 110,97,109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,17,102,114, ++ 97,109,101,46,102,111,110,116,46,120,115,99,97,108,101,5,0,0,0,0, ++ 0,0,0,128,255,63,16,102,114,97,109,101,46,102,111,110,116,46,100,117, ++ 109,109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,56,2,1,2,0,2,1, ++ 0,7,99,97,112,116,105,111,110,6,18,105,110,115,101,114,116,115,32,110, ++ 101,119,32,114,101,99,111,114,100,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,14,0,0,6,116,108,97,98,101,108,7,116,108,97,98,101, ++ 108,51,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115, ++ 95,121,2,28,9,98,111,117,110,100,115,95,99,120,3,177,0,9,98,111, ++ 117,110,100,115,95,99,121,2,16,5,99,111,108,111,114,4,3,0,0,128, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,11,67,116,114,108, ++ 32,43,32,68,101,108,58,16,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,112,111,115,7,7,99,112,95,108,101,102,116,16,102,114,97,109,101,46, ++ 102,111,110,116,46,115,116,121,108,101,11,7,102,115,95,98,111,108,100,0, ++ 15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116, ++ 102,95,100,101,102,97,117,108,116,17,102,114,97,109,101,46,102,111,110,116, ++ 46,120,115,99,97,108,101,5,0,0,0,0,0,0,0,128,255,63,16,102, ++ 114,97,109,101,46,102,111,110,116,46,100,117,109,109,121,2,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,57,2,1,2,0,2,1,0,8,116, ++ 97,98,111,114,100,101,114,2,1,7,99,97,112,116,105,111,110,6,22,100, ++ 101,108,101,116,101,115,32,99,117,114,114,101,110,116,32,114,101,99,111,114, ++ 100,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,0, ++ 7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,51,8,98,111, ++ 117,110,100,115,95,120,3,106,1,8,98,111,117,110,100,115,95,121,3,99, ++ 1,9,98,111,117,110,100,115,95,99,120,2,100,9,98,111,117,110,100,115, ++ 95,99,121,2,49,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105, ++ 101,110,116,4,255,230,230,0,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101, ++ 110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9, ++ 102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116, ++ 9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114, ++ 2,4,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99, ++ 117,116,101,0,7,99,97,112,116,105,111,110,6,28,83,104,111,119,32,114, ++ 101,112,111,114,116,13,40,99,117,114,114,101,110,116,32,114,101,99,111,114, ++ 100,41,9,111,110,101,120,101,99,117,116,101,7,14,114,101,112,111,114,116, ++ 99,117,114,114,101,120,101,99,0,0,7,116,115,112,97,99,101,114,8,116, ++ 115,112,97,99,101,114,50,8,98,111,117,110,100,115,95,120,3,81,1,8, ++ 98,111,117,110,100,115,95,121,3,104,1,9,98,111,117,110,100,115,95,99, ++ 120,2,25,9,98,111,117,110,100,115,95,99,121,2,42,8,116,97,98,111, ++ 114,100,101,114,2,5,8,108,105,110,107,108,101,102,116,7,8,116,98,117, ++ 116,116,111,110,49,9,108,105,110,107,114,105,103,104,116,7,8,116,98,117, ++ 116,116,111,110,51,0,0,9,116,109,97,105,110,109,101,110,117,7,109,110, ++ 117,77,97,105,110,22,112,111,112,117,112,105,116,101,109,102,114,97,109,101, ++ 116,101,109,112,108,97,116,101,7,6,102,116,77,101,110,117,28,112,111,112, ++ 117,112,105,116,101,109,102,114,97,109,101,116,101,109,112,108,97,116,101,97, ++ 99,116,105,118,101,7,6,102,116,77,101,110,117,17,105,116,101,109,102,114, ++ 97,109,101,116,101,109,112,108,97,116,101,7,6,102,116,77,101,110,117,23, ++ 105,116,101,109,102,114,97,109,101,116,101,109,112,108,97,116,101,97,99,116, ++ 105,118,101,7,6,102,116,77,101,110,117,18,109,101,110,117,46,115,117,98, ++ 109,101,110,117,46,99,111,117,110,116,2,2,18,109,101,110,117,46,115,117, ++ 98,109,101,110,117,46,105,116,101,109,115,14,1,13,115,117,98,109,101,110, ++ 117,46,99,111,117,110,116,2,1,13,115,117,98,109,101,110,117,46,105,116, ++ 101,109,115,14,1,7,99,97,112,116,105,111,110,6,4,69,120,105,116,5, ++ 115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105, ++ 111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101, ++ 0,9,111,110,101,120,101,99,117,116,101,7,4,101,120,105,116,0,0,7, ++ 99,97,112,116,105,111,110,6,4,70,105,108,101,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95, ++ 108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,1,13,115,117, ++ 98,109,101,110,117,46,99,111,117,110,116,2,1,13,115,117,98,109,101,110, ++ 117,46,105,116,101,109,115,14,1,6,97,99,116,105,111,110,7,25,100,109, ++ 112,114,105,110,116,109,111,46,97,99,116,80,114,105,110,116,101,114,83,101, ++ 116,117,112,7,99,97,112,116,105,111,110,6,9,80,114,105,110,116,101,114, ++ 46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,0,0,7,99,97,112,116,105,111,110,6,8,83,101, ++ 116,116,105,110,103,115,5,115,116,97,116,101,11,15,97,115,95,108,111,99, ++ 97,108,99,97,112,116,105,111,110,0,0,0,4,108,101,102,116,3,232,0, ++ 3,116,111,112,3,136,0,0,0,10,116,102,114,97,109,101,99,111,109,112, ++ 9,102,116,66,117,116,116,111,110,115,15,116,101,109,112,108,97,116,101,46, ++ 108,101,118,101,108,111,2,255,15,116,101,109,112,108,97,116,101,46,108,101, ++ 118,101,108,105,2,1,19,116,101,109,112,108,97,116,101,46,102,114,97,109, ++ 101,119,105,100,116,104,2,2,19,116,101,109,112,108,97,116,101,46,99,111, ++ 108,111,114,102,114,97,109,101,4,209,176,209,0,4,108,101,102,116,3,40, ++ 1,3,116,111,112,3,16,1,0,0,10,116,102,114,97,109,101,99,111,109, ++ 112,6,102,116,77,101,110,117,15,116,101,109,112,108,97,116,101,46,108,101, ++ 118,101,108,111,2,1,15,116,101,109,112,108,97,116,101,46,108,101,118,101, ++ 108,105,2,3,19,116,101,109,112,108,97,116,101,46,102,114,97,109,101,119, ++ 105,100,116,104,2,2,19,116,101,109,112,108,97,116,101,46,99,111,108,111, ++ 114,102,114,97,109,101,4,161,255,255,0,20,116,101,109,112,108,97,116,101, ++ 46,102,114,97,109,101,105,95,108,101,102,116,2,3,21,116,101,109,112,108, ++ 97,116,101,46,102,114,97,109,101,105,95,114,105,103,104,116,2,40,4,108, ++ 101,102,116,3,88,1,3,116,111,112,3,165,0,0,0,12,116,109,115,101, ++ 115,113,108,113,117,101,114,121,3,113,114,121,11,108,111,103,102,105,108,101, ++ 110,97,109,101,6,10,46,47,100,97,116,97,46,98,105,110,6,112,97,114, ++ 97,109,115,14,0,9,73,110,100,101,120,68,101,102,115,14,0,6,65,99, ++ 116,105,118,101,9,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97, ++ 109,101,6,7,102,108,100,77,101,109,111,8,68,97,116,97,84,121,112,101, ++ 7,6,102,116,77,101,109,111,4,83,105,122,101,2,8,0,1,4,78,97, ++ 109,101,6,8,102,108,100,70,108,111,97,116,8,68,97,116,97,84,121,112, ++ 101,7,7,102,116,70,108,111,97,116,0,1,4,78,97,109,101,6,7,102, ++ 108,100,66,108,111,98,8,68,97,116,97,84,121,112,101,7,6,102,116,66, ++ 108,111,98,4,83,105,122,101,2,8,0,0,18,99,111,110,116,114,111,108, ++ 108,101,114,46,111,112,116,105,111,110,115,11,13,100,115,111,95,97,117,116, ++ 111,97,112,112,108,121,9,100,115,111,95,108,111,99,97,108,0,4,108,101, ++ 102,116,2,36,3,116,111,112,3,174,0,0,13,116,109,115,101,109,101,109, ++ 111,102,105,101,108,100,11,102,108,100,76,111,110,103,84,101,120,116,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78, ++ 97,109,101,6,7,102,108,100,77,101,109,111,4,83,105,122,101,2,8,13, ++ 84,114,97,110,115,108,105,116,101,114,97,116,101,8,4,108,101,102,116,2, ++ 80,3,116,111,112,2,112,0,0,16,116,109,115,101,103,114,97,112,104,105, ++ 99,102,105,101,108,100,8,102,108,100,80,104,111,116,111,12,68,105,115,112, ++ 108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101, ++ 6,7,102,108,100,66,108,111,98,5,73,110,100,101,120,2,1,4,83,105, ++ 122,101,2,8,12,105,109,97,103,101,99,97,99,104,101,107,98,3,16,39, ++ 4,108,101,102,116,3,64,2,3,116,111,112,2,112,0,0,14,116,109,115, ++ 101,102,108,111,97,116,102,105,101,108,100,13,102,108,100,70,108,111,97,116, ++ 83,116,117,102,102,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82, ++ 105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87, ++ 105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,8,102,108, ++ 100,70,108,111,97,116,5,73,110,100,101,120,2,2,13,68,105,115,112,108, ++ 97,121,70,111,114,109,97,116,6,4,48,46,35,35,10,69,100,105,116,70, ++ 111,114,109,97,116,6,4,48,46,35,35,4,108,101,102,116,3,152,1,3, ++ 116,111,112,2,112,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,2,100,115,7,68,97,116,97,83,101,116,7,3,113,114,121,4, ++ 108,101,102,116,2,38,3,116,111,112,3,213,0,0,0,10,116,112,111,112, ++ 117,112,109,101,110,117,7,112,109,80,104,111,116,111,18,109,101,110,117,46, ++ 115,117,98,109,101,110,117,46,99,111,117,110,116,2,3,18,109,101,110,117, ++ 46,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,6,97,99,116, ++ 105,111,110,7,8,97,99,116,67,108,101,97,114,0,1,6,97,99,116,105, ++ 111,110,7,7,97,99,116,76,111,97,100,0,1,6,97,99,116,105,111,110, ++ 7,7,97,99,116,83,97,118,101,0,0,4,108,101,102,116,3,64,2,3, ++ 116,111,112,3,160,0,0,0,7,116,97,99,116,105,111,110,7,97,99,116, ++ 76,111,97,100,9,105,109,97,103,101,108,105,115,116,7,9,105,108,65,99, ++ 116,105,111,110,115,7,99,97,112,116,105,111,110,6,17,76,111,97,100,32, ++ 32,102,114,111,109,32,102,105,108,101,46,46,7,105,109,97,103,101,110,114, ++ 2,1,9,111,110,101,120,101,99,117,116,101,7,8,108,111,97,100,101,120, ++ 101,99,4,108,101,102,116,3,24,2,3,116,111,112,3,232,0,0,0,7, ++ 116,97,99,116,105,111,110,7,97,99,116,83,97,118,101,9,105,109,97,103, ++ 101,108,105,115,116,7,9,105,108,65,99,116,105,111,110,115,7,99,97,112, ++ 116,105,111,110,6,14,83,97,118,101,32,116,111,32,102,105,108,101,46,46, ++ 7,105,109,97,103,101,110,114,2,2,9,111,110,101,120,101,99,117,116,101, ++ 7,8,115,97,118,101,101,120,101,99,4,108,101,102,116,3,72,2,3,116, ++ 111,112,3,8,1,0,0,10,116,105,109,97,103,101,108,105,115,116,9,105, ++ 108,65,99,116,105,111,110,115,5,119,105,100,116,104,2,30,6,104,101,105, ++ 103,104,116,2,24,9,99,111,108,111,114,109,97,115,107,9,5,99,111,117, ++ 110,116,2,3,4,108,101,102,116,3,24,2,3,116,111,112,3,184,0,5, ++ 105,109,97,103,101,10,12,30,0,0,0,0,0,0,6,0,0,0,60,0, ++ 0,0,48,0,0,0,92,25,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,2,91,0,22,1,0,0,0,2,0,0,63,1,63,160, ++ 32,1,0,0,0,4,12,16,7,1,44,109,134,1,24,121,116,1,0,0, ++ 0,2,152,0,0,1,24,0,0,1,224,112,134,1,170,252,131,1,1,0, ++ 0,1,168,108,134,1,176,0,0,1,40,0,0,1,32,112,134,1,243,0, ++ 0,1,4,0,0,1,32,0,0,1,1,0,0,1,184,186,139,1,255,255, ++ 255,12,236,213,148,1,228,199,134,1,216,180,117,1,204,160,98,1,191,139, ++ 79,1,255,255,255,13,0,0,0,3,177,0,0,1,0,0,0,16,255,192, ++ 192,1,128,0,0,1,0,0,0,4,76,0,22,1,0,0,0,2,0,0, ++ 63,1,255,255,255,10,243,224,158,2,236,213,147,1,227,198,134,1,217,180, ++ 117,1,203,160,98,1,191,139,79,1,178,118,59,1,166,98,40,1,255,255, ++ 255,1,146,65,11,1,255,255,255,9,63,160,32,1,128,128,128,1,0,0, ++ 0,17,255,192,192,1,255,128,128,2,128,0,0,1,0,0,0,3,255,255, ++ 255,1,0,0,0,3,255,255,255,9,243,224,158,2,255,255,255,6,178,118, ++ 60,1,166,98,41,1,154,80,24,1,146,65,10,1,255,255,255,9,0,0, ++ 0,1,137,1,0,1,96,19,137,1,176,101,157,1,0,0,0,14,255,192, ++ 192,1,255,128,128,4,128,0,0,1,0,0,0,2,234,2,197,2,44,225, ++ 31,1,0,0,0,1,255,255,255,8,243,224,158,1,255,255,255,9,166,98, ++ 41,1,155,79,24,1,146,65,10,1,255,255,255,9,234,2,197,1,254,2, ++ 217,1,0,0,0,1,234,2,197,1,0,0,0,13,255,192,192,1,255,128, ++ 128,6,128,0,0,1,0,0,0,1,248,112,134,1,72,112,134,1,0,0, ++ 0,1,69,0,22,1,255,255,255,17,178,118,59,1,166,98,40,1,155,80, ++ 24,1,146,65,10,1,255,255,255,9,168,107,109,1,227,67,58,1,96,137, ++ 116,1,128,109,134,1,0,0,0,12,255,192,192,1,255,128,128,8,128,0, ++ 0,1,0,0,0,1,12,16,7,1,196,111,134,1,24,121,116,1,0,0, ++ 0,5,224,115,31,4,0,0,0,23,72,1,0,1,24,0,0,1,0,0, ++ 0,11,255,192,192,1,255,128,128,9,128,0,0,1,4,0,0,1,32,0, ++ 208,1,1,0,0,1,104,109,157,1,0,0,0,2,224,115,31,1,0,0, ++ 0,1,224,115,31,1,223,172,115,4,109,34,0,1,0,0,0,20,0,0, ++ 208,1,0,0,0,1,208,208,208,1,121,1,0,1,0,0,0,10,255,192, ++ 192,1,255,128,128,9,128,0,0,1,0,0,0,1,38,3,217,1,0,0, ++ 0,1,56,2,0,1,0,0,63,1,224,115,31,2,223,172,115,1,224,115, ++ 31,1,223,172,115,1,209,136,55,5,109,34,0,9,0,0,0,11,63,160, ++ 32,1,208,208,208,1,0,0,0,11,255,192,192,1,255,128,128,9,128,0, ++ 0,1,0,0,0,5,218,0,197,1,224,115,31,2,221,168,110,1,224,115, ++ 31,1,221,168,110,1,206,130,47,14,109,34,0,1,0,0,0,10,218,0, ++ 197,1,44,225,31,1,218,0,197,2,0,0,0,8,255,192,192,1,255,128, ++ 128,9,128,0,0,1,0,0,0,3,224,4,145,1,175,252,131,1,1,0, ++ 0,1,0,113,134,1,224,115,31,2,219,164,105,1,224,115,31,1,219,164, ++ 105,1,203,125,40,3,198,104,39,16,139,54,0,1,0,0,0,2,139,54, ++ 0,1,0,0,0,3,25,0,0,1,200,136,243,1,128,10,142,1,0,0, ++ 0,7,192,192,255,1,255,255,255,2,255,128,128,7,128,0,0,1,0,0, ++ 0,4,1,3,231,1,37,3,0,1,32,0,0,1,121,0,0,1,224,115, ++ 31,2,217,161,100,1,224,115,31,1,217,161,100,1,200,120,33,3,198,104, ++ 39,1,228,184,129,1,221,166,97,9,228,169,22,1,243,224,158,4,139,54, ++ 0,1,0,0,0,2,139,54,0,1,0,0,0,2,16,4,145,1,104,115, ++ 134,1,9,0,0,1,80,10,142,1,0,0,0,6,192,192,255,1,0,0, ++ 192,2,255,255,255,2,255,128,128,5,128,0,0,1,0,0,0,5,64,24, ++ 208,1,228,63,208,1,240,5,0,1,56,0,0,1,224,115,31,2,214,157, ++ 96,1,224,115,31,1,214,157,96,1,196,114,27,2,198,104,39,1,225,176, ++ 117,1,217,156,82,10,221,159,21,1,238,208,127,3,139,54,0,1,0,0, ++ 0,7,1,0,0,1,183,0,81,1,91,2,35,1,0,0,0,5,192,192, ++ 255,1,0,0,192,4,255,255,255,2,255,128,128,3,128,0,0,1,0,0, ++ 0,7,160,148,116,1,69,0,0,1,0,0,0,1,224,115,31,2,212,153, ++ 91,1,224,115,31,1,212,153,91,1,193,109,20,2,198,104,39,1,221,168, ++ 106,1,213,146,69,10,213,148,19,1,232,193,98,3,139,54,0,1,0,0, ++ 0,8,3,0,0,1,25,0,0,1,0,0,0,4,192,192,255,1,0,0, ++ 192,6,255,255,255,2,255,128,128,1,128,0,0,1,0,0,0,7,9,0, ++ 0,1,56,115,134,1,24,0,0,2,224,115,31,2,210,150,87,1,224,115, ++ 31,1,210,150,87,1,190,104,14,1,198,104,39,1,218,161,95,1,209,137, ++ 55,11,205,138,17,1,227,177,70,2,139,54,0,1,0,0,0,8,101,144, ++ 128,1,9,0,0,1,136,137,148,1,0,0,0,3,192,192,255,1,0,0, ++ 192,8,255,255,255,1,128,0,0,1,0,0,0,8,9,0,0,1,176,115, ++ 134,1,48,1,0,1,56,0,0,1,224,115,31,2,207,145,83,1,224,115, ++ 31,1,207,145,83,1,186,98,9,1,198,104,39,1,214,153,85,1,204,127, ++ 43,11,196,127,16,1,221,161,44,2,139,54,0,1,0,0,0,7,72,116, ++ 134,1,114,144,128,1,160,148,116,1,144,93,157,1,0,0,0,2,192,192, ++ 255,1,0,0,192,9,0,0,128,1,0,0,0,10,160,148,116,1,70,0, ++ 208,1,0,0,0,1,224,115,31,2,205,142,80,1,224,115,31,1,205,142, ++ 80,1,198,104,39,1,211,145,75,1,200,117,30,12,187,116,13,1,221,161, ++ 44,1,139,54,0,1,0,0,0,10,3,0,0,1,25,0,0,1,0,0, ++ 0,1,192,192,255,1,0,0,192,9,0,0,128,1,0,0,0,10,9,0, ++ 0,1,160,116,134,1,32,2,0,1,56,0,0,1,224,115,31,2,202,138, ++ 77,1,224,115,31,1,202,138,77,1,198,104,39,1,177,87,9,15,139,54, ++ 0,1,0,0,0,8,56,117,134,1,117,144,128,1,160,148,116,1,144,93, ++ 157,1,192,192,255,3,0,0,192,7,0,0,128,1,0,0,0,12,160,148, ++ 116,1,71,0,208,1,0,0,0,1,224,115,31,2,201,138,83,1,224,115, ++ 31,1,201,138,83,1,176,123,93,1,222,195,176,1,219,190,169,3,223,196, ++ 177,1,226,202,184,1,229,207,191,1,233,214,200,1,236,219,207,1,239,225, ++ 214,1,242,231,222,1,245,236,230,1,248,242,237,1,251,247,245,1,139,54, ++ 0,1,0,0,0,11,3,0,0,1,25,0,0,1,192,192,255,4,0,0, ++ 192,5,0,0,128,1,0,0,0,12,9,0,0,1,144,117,134,1,16,3, ++ 0,1,56,0,0,1,224,115,31,2,201,138,83,1,224,115,31,1,201,138, ++ 83,1,222,195,176,1,219,190,169,1,222,195,176,1,219,190,169,2,223,196, ++ 177,1,226,202,184,1,229,207,191,1,233,214,200,1,236,219,207,1,239,225, ++ 214,1,242,231,222,1,245,236,230,1,248,242,237,1,251,247,245,1,139,54, ++ 0,1,0,0,0,9,40,118,134,1,120,144,128,1,160,148,116,1,144,93, ++ 157,1,0,0,0,1,192,192,255,4,0,0,192,3,0,0,128,1,0,0, ++ 0,14,160,148,116,1,71,0,255,1,0,0,0,1,224,115,31,2,222,195, ++ 176,1,224,115,31,1,222,195,176,1,219,190,169,1,222,195,176,1,219,190, ++ 169,1,222,195,176,1,219,190,169,1,223,196,177,1,226,202,184,1,229,207, ++ 191,1,233,214,200,1,236,219,207,1,239,225,214,1,242,231,222,1,245,236, ++ 230,1,248,242,237,1,139,54,0,1,0,0,0,12,3,0,0,1,25,0, ++ 0,1,0,0,0,2,192,192,255,4,0,0,192,1,0,0,128,1,0,0, ++ 0,14,9,0,0,1,128,118,134,1,0,4,0,1,56,0,0,1,139,54, ++ 0,20,0,0,0,10,24,119,134,1,123,144,128,1,160,148,116,1,144,93, ++ 157,1,0,0,0,3,192,192,255,3,0,0,128,1,0,0,0,16,160,148, ++ 116,1,72,0,208,1,0,0,0,33,3,0,0,1,25,0,0,1,0,0, ++ 0,4,192,192,255,1,0,0,128,1,0,0,0,16,9,0,0,1,112,119, ++ 134,1,240,4,0,1,56,0,0,1,0,0,0,30,8,120,134,1,126,144, ++ 128,1,160,148,116,1,144,93,157,1,222,2,208,1,9,0,208,1,0,0, ++ 0,1,160,148,116,1,72,0,255,1,0,0,0,3,3,0,0,1,25,0, ++ 0,1,248,237,148,1,64,120,134,1,9,0,0,1,192,119,134,1,64,5, ++ 0,1,56,0,0,1,88,120,134,1,127,144,128,1,160,148,116,1,144,93, ++ 157,1,222,2,208,1,11,0,208,1,0,0,0,1,160,148,116,1,72,0, ++ 208,1,0,0,0,1,255,255,255,30,0,0,0,16,0,145,236,1,5,171, ++ 240,1,123,187,237,2,110,155,222,1,71,123,209,1,0,68,187,2,0,0, ++ 0,6,64,0,0,1,1,0,0,1,88,23,0,1,24,0,0,1,56,120, ++ 139,1,54,4,0,1,64,0,0,1,1,0,0,1,112,23,0,1,24,0, ++ 0,1,80,120,139,1,53,4,0,1,64,0,0,1,1,0,0,1,136,23, ++ 0,1,24,0,0,1,104,120,139,1,52,4,0,1,64,0,0,1,1,0, ++ 0,1,160,23,0,1,24,0,0,1,128,120,139,1,51,4,0,1,64,0, ++ 0,1,1,0,0,1,184,23,0,1,24,0,0,1,152,120,139,1,50,4, ++ 0,1,0,0,0,15,0,145,236,1,5,171,240,1,123,187,237,1,110,155, ++ 222,1,71,123,209,1,0,68,187,1,0,0,0,9,64,0,0,1,1,0, ++ 0,1,72,24,0,1,24,0,0,1,40,121,139,1,44,4,0,1,64,0, ++ 0,1,1,0,0,1,96,24,0,1,24,0,0,1,64,121,139,1,43,4, ++ 0,1,64,0,0,1,1,0,0,1,120,24,0,1,24,0,0,1,88,121, ++ 139,1,42,4,0,1,64,0,0,1,1,0,0,1,144,24,0,1,24,0, ++ 0,1,112,121,139,1,41,4,0,1,64,0,0,1,1,0,0,1,168,24, ++ 0,1,24,0,0,1,136,121,139,1,40,4,0,1,0,0,0,15,0,155, ++ 238,1,4,208,249,1,95,228,255,1,195,232,254,1,168,199,239,1,67,120, ++ 208,1,0,68,187,1,0,0,0,8,64,0,0,1,1,0,0,1,56,25, ++ 0,1,24,0,0,1,24,122,139,1,36,4,0,1,64,0,0,1,1,0, ++ 0,1,80,25,0,1,24,0,0,1,48,122,139,1,35,4,0,1,64,0, ++ 0,1,1,0,0,1,104,25,0,1,24,0,0,1,72,122,139,1,35,4, ++ 0,1,64,0,0,1,1,0,0,1,128,25,0,1,24,0,0,1,96,122, ++ 139,1,34,4,0,1,64,0,0,1,1,0,0,1,152,25,0,1,24,0, ++ 0,1,120,122,139,1,34,4,0,1,203,185,184,2,205,188,186,1,203,183, ++ 182,1,203,185,184,1,205,188,186,1,203,183,182,1,205,187,187,1,194,173, ++ 172,1,190,167,165,1,187,163,162,1,190,167,167,1,186,163,163,1,182,157, ++ 157,1,179,153,153,1,72,162,196,1,1,223,253,1,4,199,255,1,26,186, ++ 255,1,72,166,248,1,57,109,189,1,81,67,101,1,0,0,0,8,64,0, ++ 0,1,1,0,0,1,40,26,0,1,24,0,0,1,8,123,139,1,31,4, ++ 0,1,64,0,0,1,1,0,0,1,64,26,0,1,24,0,0,1,32,123, ++ 139,1,30,4,0,1,64,0,0,1,1,0,0,1,88,26,0,1,24,0, ++ 0,1,56,123,139,1,30,4,0,1,64,0,0,1,1,0,0,1,112,26, ++ 0,1,24,0,0,1,80,123,139,1,29,4,0,1,64,0,0,1,1,0, ++ 0,1,136,26,0,1,24,0,0,1,104,123,139,1,29,4,0,1,208,191, ++ 189,2,236,228,225,1,238,231,227,1,208,191,189,1,236,228,225,1,238,231, ++ 227,1,255,255,255,1,170,136,118,1,166,130,112,1,180,151,135,1,255,255, ++ 255,3,243,250,254,1,30,206,248,1,3,221,255,1,4,191,255,1,24,171, ++ 255,1,48,136,230,1,124,114,137,1,104,50,50,1,0,0,0,8,64,0, ++ 0,1,1,0,0,1,24,27,0,1,24,0,0,1,248,123,139,1,26,4, ++ 0,1,64,0,0,1,1,0,0,1,48,27,0,1,24,0,0,1,16,124, ++ 139,1,25,4,0,1,64,0,0,1,1,0,0,1,72,27,0,1,24,0, ++ 0,1,40,124,139,1,25,4,0,1,64,0,0,1,1,0,0,1,96,27, ++ 0,1,24,0,0,1,64,124,139,1,24,4,0,1,64,0,0,1,1,0, ++ 0,1,120,27,0,1,24,0,0,1,88,124,139,1,24,4,0,1,203,184, ++ 182,2,230,220,215,1,232,224,219,1,203,184,182,1,230,220,215,1,232,224, ++ 219,1,255,255,255,1,133,85,59,1,151,109,88,1,174,143,126,1,255,255, ++ 255,2,254,255,255,1,147,217,250,1,5,226,254,1,13,207,255,1,19,186, ++ 255,1,37,158,253,1,83,126,189,1,168,139,131,1,101,48,48,1,0,0, ++ 0,8,64,0,0,1,1,0,0,1,8,28,0,1,24,0,0,1,232,124, ++ 139,1,21,4,0,1,64,0,0,1,1,0,0,1,32,28,0,1,24,0, ++ 0,1,0,125,139,1,20,4,0,1,64,0,0,1,1,0,0,1,56,28, ++ 0,1,24,0,0,1,24,125,139,1,20,4,0,1,64,0,0,1,1,0, ++ 0,1,80,28,0,1,24,0,0,1,48,125,139,1,19,4,0,1,64,0, ++ 0,1,1,0,0,1,104,28,0,1,24,0,0,1,72,125,139,1,19,4, ++ 0,1,199,179,176,2,227,215,209,1,230,220,214,1,199,179,176,1,227,215, ++ 209,1,230,220,214,1,255,255,255,1,145,102,79,1,176,144,128,1,197,174, ++ 161,1,255,255,255,2,228,244,253,1,73,216,250,1,21,225,255,1,28,200, ++ 255,1,37,178,255,1,43,138,238,1,138,135,151,1,158,125,116,1,96,43, ++ 42,1,0,0,0,8,64,0,0,1,1,0,0,1,248,28,0,1,24,0, ++ 0,1,216,125,139,1,16,4,0,1,64,0,0,1,1,0,0,1,16,29, ++ 0,1,24,0,0,1,240,125,139,1,15,4,0,1,64,0,0,1,1,0, ++ 0,1,40,29,0,1,24,0,0,1,8,126,139,1,15,4,0,1,64,0, ++ 0,1,1,0,0,1,64,29,0,1,24,0,0,1,32,126,139,1,14,4, ++ 0,1,64,0,0,1,1,0,0,1,88,29,0,1,24,0,0,1,56,126, ++ 139,1,14,4,0,1,195,173,170,2,223,210,203,1,227,216,210,1,195,173, ++ 170,1,223,210,203,1,227,216,210,1,255,255,255,1,193,168,155,1,212,194, ++ 185,1,225,213,207,1,255,255,255,1,254,254,255,1,164,227,251,1,40,223, ++ 252,1,39,213,255,1,42,198,255,1,56,166,252,1,105,165,234,1,162,137, ++ 130,1,145,110,101,1,93,39,38,1,0,0,0,8,64,0,0,1,1,0, ++ 0,1,232,29,0,1,24,0,0,1,200,126,139,1,11,4,0,1,64,0, ++ 0,1,1,0,0,1,0,30,0,1,24,0,0,1,224,126,139,1,10,4, ++ 0,1,64,0,0,1,1,0,0,1,24,30,0,1,24,0,0,1,248,126, ++ 139,1,10,4,0,1,64,0,0,1,1,0,0,1,48,30,0,1,24,0, ++ 0,1,16,127,139,1,9,4,0,1,64,0,0,1,1,0,0,1,72,30, ++ 0,1,24,0,0,1,40,127,139,1,9,4,0,1,190,167,164,2,219,205, ++ 197,1,221,208,200,1,190,167,164,1,219,205,197,1,221,208,200,1,245,241, ++ 238,1,244,240,237,1,243,239,236,1,242,238,235,1,242,237,234,1,233,234, ++ 234,1,88,214,249,1,52,231,255,1,55,205,255,1,62,191,255,1,68,155, ++ 239,1,150,166,199,1,159,126,114,1,137,100,92,1,90,35,34,1,0,0, ++ 0,8,64,0,0,1,1,0,0,1,216,30,0,1,24,0,0,1,184,127, ++ 139,1,6,4,0,1,64,0,0,1,1,0,0,1,240,30,0,1,24,0, ++ 0,1,208,127,139,1,5,4,0,1,64,0,0,1,1,0,0,1,8,31, ++ 0,1,24,0,0,1,232,127,139,1,5,4,0,1,64,0,0,1,1,0, ++ 0,1,32,31,0,1,24,0,0,1,0,128,139,1,4,4,0,1,64,0, ++ 0,1,1,0,0,1,56,31,0,1,24,0,0,1,24,128,139,1,4,4, ++ 0,1,186,161,158,2,216,200,192,1,211,193,183,1,186,161,158,1,216,200, ++ 192,1,211,193,183,1,212,195,185,1,209,191,181,1,206,187,177,1,204,183, ++ 172,1,201,180,168,1,151,178,189,1,61,222,251,1,69,222,255,1,68,205, ++ 255,1,79,186,255,1,74,128,196,1,146,121,118,1,146,110,96,1,130,93, ++ 84,1,87,32,31,1,0,0,0,8,64,0,0,1,1,0,0,1,200,31, ++ 0,1,24,0,0,1,168,128,139,1,1,4,0,1,64,0,0,1,1,0, ++ 0,1,224,31,0,1,24,0,0,1,192,128,139,1,0,4,0,1,64,0, ++ 0,1,1,0,0,1,248,31,0,1,24,0,0,1,80,38,145,1,0,4, ++ 0,1,64,0,0,1,1,0,0,1,176,128,139,1,241,14,0,1,184,136, ++ 243,1,248,53,156,1,208,233,144,1,48,129,139,1,9,0,0,1,176,128, ++ 139,1,48,32,0,1,56,0,0,1,181,155,152,2,212,195,186,1,205,185, ++ 174,1,181,155,152,1,212,195,186,1,205,185,174,1,202,181,169,1,199,176, ++ 164,1,196,172,159,1,193,168,154,1,182,163,153,1,95,187,215,1,87,236, ++ 255,1,82,216,255,1,86,202,255,1,83,169,245,1,104,105,132,1,143,106, ++ 92,1,137,100,86,1,123,84,75,1,84,29,28,1,0,0,0,1,48,0, ++ 0,7,0,0,0,2,3,0,0,1,25,0,0,1,208,233,144,1,208,129, ++ 139,1,9,0,0,1,80,129,139,1,208,32,0,1,56,0,0,1,232,129, ++ 139,1,77,25,128,1,160,148,116,1,56,245,138,1,30,2,0,1,15,0, ++ 193,1,0,0,0,1,160,148,116,1,87,0,0,1,0,0,0,3,3,0, ++ 0,1,25,0,0,1,208,233,144,1,32,130,139,1,9,0,0,1,160,129, ++ 139,1,32,33,0,1,56,0,0,1,178,150,146,2,209,190,180,1,204,183, ++ 172,1,178,150,146,1,209,190,180,1,204,183,172,1,208,190,180,1,206,186, ++ 176,1,203,183,172,1,199,176,165,1,146,168,179,1,94,218,242,1,99,230, ++ 255,1,93,216,255,1,105,198,255,1,80,140,211,1,144,119,117,1,149,116, ++ 104,1,133,95,81,1,117,77,68,1,82,26,25,1,48,0,0,8,0,0, ++ 0,2,3,0,0,1,25,0,0,1,208,233,144,1,192,130,139,1,9,0, ++ 0,1,64,130,139,1,192,33,0,1,56,0,0,1,216,130,139,1,80,25, ++ 128,1,160,148,116,1,56,245,138,1,190,2,193,1,65,0,193,1,0,0, ++ 0,1,160,148,116,1,87,0,20,1,0,0,0,3,3,0,0,1,25,0, ++ 0,1,208,233,144,1,16,131,139,1,9,0,0,1,144,130,139,1,16,34, ++ 0,1,56,0,0,1,178,150,146,2,209,190,180,1,204,183,172,1,173,143, ++ 139,1,204,185,174,1,212,195,185,1,255,255,255,1,253,252,252,1,247,244, ++ 244,1,232,232,235,1,140,217,243,1,115,236,254,1,109,223,255,1,110,215, ++ 255,1,107,181,244,1,148,169,206,1,209,193,194,1,206,188,188,1,132,95, ++ 83,1,108,67,58,1,76,21,20,1,48,0,0,8,0,0,0,2,3,0, ++ 0,1,25,0,0,1,208,233,144,1,176,131,139,1,9,0,0,1,48,131, ++ 139,1,176,34,0,1,56,0,0,1,200,131,139,1,83,25,128,1,160,148, ++ 116,1,56,245,138,1,94,2,162,1,83,0,0,1,0,0,0,1,160,148, ++ 116,1,87,0,193,1,0,0,0,3,3,0,0,1,25,0,0,1,208,233, ++ 144,1,0,132,139,1,9,0,0,1,128,131,139,1,0,35,0,1,56,0, ++ 0,1,173,143,139,2,204,185,174,1,212,195,185,1,169,138,134,1,201,180, ++ 168,1,209,191,181,1,252,251,251,1,244,241,241,1,239,233,233,1,216,224, ++ 230,1,107,218,250,1,131,237,255,1,119,223,255,1,128,213,255,1,108,164, ++ 225,1,177,174,193,1,203,185,185,1,194,174,174,1,122,84,72,1,99,57, ++ 49,1,73,18,17,1,48,0,0,8,0,0,0,2,3,0,0,1,25,0, ++ 0,1,208,233,144,1,160,132,139,1,9,0,0,1,32,132,139,1,160,35, ++ 0,1,56,0,0,1,184,132,139,1,86,25,128,1,160,148,116,1,56,245, ++ 138,1,190,2,193,1,29,0,193,1,0,0,0,1,160,148,116,1,83,0, ++ 0,1,0,0,0,3,3,0,0,1,25,0,0,1,208,233,144,1,240,132, ++ 139,1,9,0,0,1,112,132,139,1,240,35,0,1,56,0,0,1,169,138, ++ 134,2,201,180,168,1,209,191,181,1,164,131,127,1,198,175,163,1,202,181, ++ 171,1,232,218,218,1,219,196,196,1,215,191,191,1,198,187,194,1,131,213, ++ 249,1,150,232,255,1,137,224,255,1,139,209,252,1,119,135,180,1,179,147, ++ 148,1,171,139,139,1,175,147,147,1,114,75,63,1,93,51,43,1,71,15, ++ 15,1,48,0,0,8,0,0,0,2,3,0,0,1,25,0,0,1,208,233, ++ 144,1,144,133,139,1,9,0,0,1,16,133,139,1,144,36,0,1,56,0, ++ 0,1,168,133,139,1,89,25,128,1,160,148,116,1,56,245,138,1,190,2, ++ 193,1,67,0,193,1,0,0,0,1,160,148,116,1,83,0,0,1,0,0, ++ 0,3,3,0,0,1,25,0,0,1,208,233,144,1,224,133,139,1,9,0, ++ 0,1,96,133,139,1,224,36,0,1,56,0,0,1,164,131,127,2,198,175, ++ 163,1,202,181,171,1,160,126,121,1,192,168,155,1,192,169,159,1,231,220, ++ 220,1,223,206,206,1,218,201,201,1,184,189,205,1,166,211,247,1,205,238, ++ 255,1,180,227,252,1,114,161,219,1,159,142,156,1,177,148,148,1,173,144, ++ 144,1,173,146,146,1,109,69,58,1,88,45,38,1,69,13,13,1,48,0, ++ 0,8,0,0,0,2,3,0,0,1,25,0,0,1,208,233,144,1,128,134, ++ 139,1,9,0,0,1,0,134,139,1,128,37,0,1,56,0,0,1,152,134, ++ 139,1,92,25,128,1,160,148,116,1,56,245,138,1,254,2,224,1,13,0, ++ 224,1,0,0,0,1,160,148,116,1,79,0,248,1,0,0,0,3,3,0, ++ 0,1,25,0,0,1,208,233,144,1,208,134,139,1,9,0,0,1,80,134, ++ 139,1,208,37,0,1,56,0,0,1,160,126,121,2,192,168,155,1,192,169, ++ 159,1,155,119,114,1,182,156,142,1,184,159,148,1,223,208,208,1,213,191, ++ 191,1,209,186,186,1,163,170,193,1,179,207,235,1,206,228,248,1,147,171, ++ 213,1,146,136,158,1,172,140,140,1,168,136,136,1,165,132,132,1,167,137, ++ 137,1,104,63,52,1,83,41,32,1,67,11,11,1,48,0,0,3,0,0, ++ 0,1,48,0,0,4,0,0,0,2,3,0,0,1,25,0,0,1,208,233, ++ 144,1,112,135,139,1,9,0,0,1,240,134,139,1,112,38,0,1,56,0, ++ 0,1,136,135,139,1,95,25,128,1,160,148,116,1,56,245,138,1,190,2, ++ 193,1,31,0,181,1,0,0,0,1,160,148,116,1,79,0,5,1,0,0, ++ 0,3,3,0,0,1,25,0,0,1,208,233,144,1,192,135,139,1,9,0, ++ 0,1,64,135,139,1,192,38,0,1,56,0,0,1,155,119,114,2,182,156, ++ 142,1,184,159,148,1,148,110,105,1,173,145,132,1,177,150,140,1,219,203, ++ 203,1,210,188,188,1,206,184,184,1,157,158,181,1,128,144,178,1,131,147, ++ 188,1,147,133,152,1,173,143,143,1,169,138,138,1,165,134,134,1,162,129, ++ 129,1,164,133,133,1,100,60,49,1,79,38,30,1,66,11,10,1,0,0, ++ 0,4,48,0,0,3,0,0,0,3,3,0,0,1,25,0,0,1,208,233, ++ 144,1,96,136,139,1,9,0,0,1,224,135,139,1,96,39,0,1,56,0, ++ 0,1,120,136,139,1,98,25,128,1,160,148,116,1,56,245,138,1,190,2, ++ 193,1,81,0,193,1,0,0,0,1,160,148,116,1,79,0,0,1,0,0, ++ 0,3,3,0,0,1,25,0,0,1,208,233,144,1,176,136,139,1,9,0, ++ 0,1,48,136,139,1,176,39,0,1,56,0,0,1,148,110,105,2,173,145, ++ 132,1,177,150,140,1,141,101,96,1,167,136,123,1,171,142,132,1,215,199, ++ 199,1,208,187,187,1,204,182,182,1,153,152,179,1,97,117,170,1,155,141, ++ 157,1,175,146,146,1,172,142,142,1,167,136,136,1,165,134,134,1,165,133, ++ 133,1,169,139,139,1,98,58,46,1,76,34,25,1,64,9,8,1,0,0, ++ 0,10,3,0,0,1,25,0,0,1,208,233,144,1,80,137,139,1,9,0, ++ 0,1,208,136,139,1,80,40,0,1,56,0,0,1,104,137,139,1,101,25, ++ 128,1,160,148,116,1,56,245,138,1,190,2,193,1,15,0,193,1,0,0, ++ 0,1,160,148,116,1,84,0,193,1,0,0,0,3,3,0,0,1,25,0, ++ 0,1,208,233,144,1,160,137,139,1,9,0,0,1,32,137,139,1,160,40, ++ 0,1,56,0,0,1,141,101,96,2,167,136,123,1,171,142,132,1,133,91, ++ 87,1,153,120,111,1,155,124,117,1,201,188,188,1,197,182,182,1,193,177, ++ 177,1,175,163,171,1,166,153,163,1,177,156,156,1,173,151,151,1,169,146, ++ 146,1,164,140,140,1,164,139,139,1,161,135,135,1,158,130,130,1,84,45, ++ 37,1,65,24,18,1,62,6,6,1,0,0,0,10,3,0,0,1,25,0, ++ 0,1,208,233,144,1,64,138,139,1,9,0,0,1,192,137,139,1,64,41, ++ 0,1,56,0,0,1,88,138,139,1,104,25,128,1,160,148,116,1,56,245, ++ 138,1,190,2,193,1,65,0,193,1,0,0,0,1,160,148,116,1,84,0, ++ 193,1,0,0,0,3,3,0,0,1,25,0,0,1,208,233,144,1,144,138, ++ 139,1,9,0,0,1,16,138,139,1,144,41,0,1,56,0,0,1,133,91, ++ 87,2,153,120,111,1,155,124,117,1,115,67,66,1,106,56,55,1,101,51, ++ 50,1,116,74,74,1,115,72,72,1,113,70,70,1,111,67,67,1,110,65, ++ 65,1,108,63,63,1,107,61,61,1,105,59,59,1,103,57,57,1,102,55, ++ 55,1,100,53,53,1,99,51,51,1,67,14,13,1,61,7,6,1,62,4, ++ 4,1,0,0,0,10,3,0,0,1,25,0,0,1,208,233,144,1,48,139, ++ 139,1,9,0,0,1,176,138,139,1,48,42,0,1,56,0,0,1,64,253, ++ 138,1,107,25,128,1,160,148,116,1,56,245,138,1,190,2,193,1,83,0, ++ 193,1,0,0,0,1,160,148,116,1,84,0,193,1,0,0,0,3,3,0, ++ 0,1,25,0,0,1,208,233,144,1,120,253,138,1,9,0,0,1,0,139, ++ 139,1,128,42,0,1,56,0,0,1,115,67,66,2,106,56,55,1,101,51, ++ 50,1,0,0,0,28,4,0,0,1,25,0,0,1,208,233,144,1,32,140, ++ 139,1,9,0,0,1,160,139,139,1,32,43,0,1,56,0,0,1,56,140, ++ 139,1,119,124,128,1,112,147,116,1,152,253,138,1,191,4,193,1,24,0, ++ 193,1,0,0,0,1,160,148,116,1,1,0,193,1,0,0,0,3,4,0, ++ 0,1,25,0,0,1,208,233,144,1,112,140,139,1,9,0,0,1,240,139, ++ 139,1,112,43,0,1,56,0,0,1,0,0,0,32,4,0,0,1,25,0, ++ 0,1,208,233,144,1,16,141,139,1,9,0,0,1,144,140,139,1,16,44, ++ 0,1,56,0,0,1,40,141,139,1,122,124,128,1,112,147,116,1,152,253, ++ 138,1,191,4,193,1,10,0,193,1,0,0,0,1,160,148,116,1,3,0, ++ 193,1,0,0,0,3,4,0,0,1,25,0,0,1,208,233,144,1,96,141, ++ 139,1,9,0,0,1,224,140,139,1,96,44,0,1,56,0,0,1,0,0, ++ 0,32,4,0,0,1,25,2,0,1,192,146,139,1,112,145,139,1,9,0, ++ 0,1,128,141,139,1,175,185,193,1,9,1,0,1,216,3,139,1,96,254, ++ 138,1,0,0,2,1,200,175,28,1,4,194,195,1,255,255,255,1,0,0, ++ 0,1,1,0,0,1,0,0,0,1,200,136,116,1,0,0,0,1,248,52, ++ 117,1,0,0,0,1,168,2,93,1,0,0,0,1,0,0,8,1,240,165, ++ 56,1,0,21,31,1,32,21,31,1,40,142,139,1,120,4,0,0,0,0, ++ 0,42,255,255,255,5,0,0,0,33,255,255,255,3,0,0,0,17,255,255, ++ 255,9,0,0,0,1,255,255,255,1,0,0,0,28,255,255,255,5,0,0, ++ 0,15,255,255,255,2,0,0,0,6,255,255,255,4,0,0,0,27,255,255, ++ 255,7,0,0,0,13,255,255,255,1,0,0,0,9,255,255,255,3,0,0, ++ 0,26,255,255,255,9,0,0,0,21,255,255,255,4,0,0,0,25,255,255, ++ 255,10,0,0,0,9,255,255,255,4,19,19,19,1,6,6,6,1,0,0, ++ 0,34,255,255,255,11,0,0,0,8,255,255,255,6,32,32,32,1,6,6, ++ 6,1,0,0,0,32,255,255,255,12,0,0,0,7,255,255,255,16,19,19, ++ 19,1,6,6,6,1,0,0,0,22,255,255,255,12,0,0,0,8,255,255, ++ 255,17,32,32,32,1,6,6,6,1,0,0,0,20,255,255,255,12,0,0, ++ 0,9,255,255,255,22,19,19,19,1,6,6,6,1,0,0,0,14,255,255, ++ 255,12,0,0,0,10,255,255,255,22,57,57,57,1,19,19,19,1,0,0, ++ 0,13,255,255,255,12,0,0,0,11,255,255,255,21,96,96,96,1,64,64, ++ 64,1,19,19,19,1,0,0,0,12,255,255,255,12,0,0,0,12,255,255, ++ 255,21,83,83,83,1,38,38,38,1,6,6,6,1,0,0,0,11,255,255, ++ 255,12,0,0,0,13,255,255,255,20,96,96,96,1,64,64,64,1,19,19, ++ 19,1,0,0,0,11,255,255,255,12,0,0,0,14,255,255,255,20,83,83, ++ 83,1,38,38,38,1,6,6,6,1,0,0,0,10,255,255,255,12,0,0, ++ 0,15,255,255,255,19,96,96,96,1,64,64,64,1,19,19,19,1,0,0, ++ 0,10,255,255,255,12,0,0,0,16,255,255,255,19,83,83,83,1,38,38, ++ 38,1,6,6,6,1,0,0,0,9,255,255,255,12,0,0,0,17,255,255, ++ 255,18,96,96,96,1,64,64,64,1,19,19,19,1,0,0,0,10,255,255, ++ 255,11,0,0,0,18,255,255,255,18,83,83,83,1,38,38,38,1,6,6, ++ 6,1,0,0,0,11,255,255,255,9,0,0,0,19,255,255,255,17,96,96, ++ 96,1,64,64,64,1,19,19,19,1,0,0,0,13,255,255,255,7,0,0, ++ 0,20,255,255,255,17,83,83,83,1,38,38,38,1,6,6,6,1,0,0, ++ 0,14,255,255,255,5,0,0,0,21,19,19,19,1,57,57,57,1,76,76, ++ 76,15,57,57,57,1,19,19,19,1,0,0,0,16,255,255,255,3,0,0, ++ 0,22,6,6,6,1,19,19,19,1,25,25,25,15,19,19,19,1,6,6, ++ 6,1,0,0,0,98,255,255,255,30,0,0,0,15,6,6,6,1,153,153, ++ 153,1,254,254,254,1,224,224,224,1,118,118,118,1,22,22,22,1,0,0, ++ 0,9,255,255,255,30,0,0,0,15,45,45,45,1,213,213,213,1,255,255, ++ 255,2,247,247,247,1,132,132,132,1,9,9,9,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,119,119,119,1,239,239,239,10,243,243,243,1,254,254, ++ 254,1,255,255,255,3,173,173,173,1,17,17,17,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,146,146,146,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,8,255,255, ++ 255,30,0,0,0,4,255,255,255,17,223,223,223,1,0,0,0,2,4,4, ++ 4,1,1,1,1,1,0,0,0,4,255,255,255,30,0,0,0,4,255,255, ++ 255,17,223,223,223,1,5,5,5,1,14,14,14,1,20,20,20,1,14,14, ++ 14,1,0,0,0,4,255,255,255,30,0,0,0,4,255,255,255,17,226,226, ++ 226,1,25,25,25,4,0,0,0,4,255,255,255,30,0,0,0,4,255,255, ++ 255,17,226,226,226,1,25,25,25,4,0,0,0,4,255,255,255,30,0,0, ++ 0,4,255,255,255,17,226,226,226,1,25,25,25,3,23,23,23,1,0,0, ++ 0,4,255,255,255,30,0,0,0,4,255,255,255,17,226,226,226,1,25,25, ++ 25,1,22,22,22,1,14,14,14,1,7,7,7,1,0,0,0,4,255,255, ++ 255,30,0,0,0,4,255,255,255,17,225,225,225,1,11,11,11,1,3,3, ++ 3,1,1,1,1,1,0,0,0,5,255,255,255,30,0,0,0,4,255,255, ++ 255,17,223,223,223,1,0,0,0,8,255,255,255,30,0,0,0,4,255,255, ++ 255,17,223,223,223,1,0,0,0,8,255,255,255,30,0,0,0,4,255,255, ++ 255,17,223,223,223,1,0,0,0,8,255,255,255,30,0,0,0,4,119,119, ++ 119,1,239,239,239,16,89,89,89,1,0,0,0,8,255,255,255,30,0,0, ++ 0,30,255,255,255,30,0,0,0,30,255,255,255,30,0,0,0,30,255,255, ++ 255,30,0,0,7,116,97,99,116,105,111,110,8,97,99,116,67,108,101,97, ++ 114,9,105,109,97,103,101,108,105,115,116,7,9,105,108,65,99,116,105,111, ++ 110,115,7,99,97,112,116,105,111,110,6,5,67,108,101,97,114,7,105,109, ++ 97,103,101,110,114,2,0,9,111,110,101,120,101,99,117,116,101,7,9,99, ++ 108,101,97,114,101,120,101,99,4,108,101,102,116,3,64,2,3,116,111,112, ++ 3,208,0,0,0,11,116,102,105,108,101,100,105,97,108,111,103,12,100,108, ++ 103,73,109,97,103,101,70,105,108,101,26,99,111,110,116,114,111,108,108,101, ++ 114,46,102,105,108,116,101,114,108,105,115,116,46,100,97,116,97,1,1,6, ++ 9,80,78,71,45,102,105,108,101,115,6,5,42,46,112,110,103,0,1,6, ++ 9,74,80,71,45,102,105,108,101,115,6,5,42,46,106,112,103,0,1,6, ++ 10,84,73,70,70,45,102,105,108,101,115,6,11,42,46,116,105,102,59,42, ++ 116,105,102,102,0,1,6,13,66,77,80,47,73,67,79,45,102,105,108,101, ++ 115,6,5,42,46,98,109,112,0,1,6,9,73,67,79,45,102,105,108,101, ++ 115,6,5,42,46,105,99,111,0,0,22,99,111,110,116,114,111,108,108,101, ++ 114,46,102,105,108,116,101,114,105,110,100,101,120,2,1,18,99,111,110,116, ++ 114,111,108,108,101,114,46,111,112,116,105,111,110,115,11,8,102,100,111,95, ++ 102,105,108,101,14,102,100,111,95,99,104,101,99,107,101,120,105,115,116,15, ++ 102,100,111,95,115,97,118,101,108,97,115,116,100,105,114,0,22,99,111,110, ++ 116,114,111,108,108,101,114,46,99,97,112,116,105,111,110,111,112,101,110,6, ++ 23,73,109,97,103,101,32,102,105,108,101,32,116,111,32,108,111,97,100,32, ++ 102,114,111,109,22,99,111,110,116,114,111,108,108,101,114,46,99,97,112,116, ++ 105,111,110,115,97,118,101,6,21,73,109,97,103,101,32,102,105,108,101,32, ++ 116,111,32,115,97,118,101,32,116,111,10,100,105,97,108,111,103,107,105,110, ++ 100,7,8,102,100,107,95,110,111,110,101,4,108,101,102,116,3,24,2,3, ++ 116,111,112,3,136,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,144 ---- ++ unit main; ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ mseglob,msegui,mseclasses,mseforms,msesimplewidgets,msemenus,msereport,msedbedit, ++ msesqldb,msedb,msedbgraphics,mseevent,mseactions,msebitmap,mseibconnection, ++ msefiledialog, msestrings,msesplitter; ++ ++ type ++ tmainfo = class(tmseform) ++ ds: tmsedatasource; ++ qry: tmsesqlquery; ++ actLoad: taction; ++ actSave: taction; ++ actClear: taction; ++ tbutton1: tbutton; ++ tbutton2: tbutton; ++ mnuMain: tmainmenu; ++ ftButtons: tframecomp; ++ ftMenu: tframecomp; ++ tbutton3: tbutton; ++ tdbdataimage1: tdbdataimage; ++ tdbmemoedit1: tdbmemoedit; ++ tdbrealedit1: tdbrealedit; ++ dlgImageFile: tfiledialog; ++ tgroupbox1: tgroupbox; ++ ilActions: timagelist; ++ tlabel2: tlabel; ++ tlabel3: tlabel; ++ fldFloatStuff: tmsefloatfield; ++ fldPhoto: tmsegraphicfield; ++ fldLongText: tmsememofield; ++ pmPhoto: tpopupmenu; ++ tspacer2: tspacer; ++ wgrdMain: tdbwidgetgrid; ++ procedure reportexec(const sender: TObject); ++ procedure printproc(const areport: tcustomreport); ++ procedure exit(const sender: TObject); ++ procedure loadexec(const sender: TObject); ++ procedure saveexec(const sender: TObject); ++ procedure clearexec(const sender: TObject); ++ procedure reportcurrexec(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ main_mfm, ++ reportik, ++ reportcurr, ++ msestream, // ttextstream ++ mseprinter, // pao_* ++ msesys, // fm_create ++ sysutils, // gettemp* ++ dmprint, ++ msewidgets, ++ mseformatpng, ++ mseformatjpg, ++ mseformatbmpico ++ ; ++ ++ var ++ psoutfile: msestring; ++ ++ procedure tmainfo.printproc(const areport: tcustomreport); ++ begin ++ dmprint.printout(psoutfile); ++ end; ++ ++ procedure tmainfo.reportexec(const sender: TObject); ++ var ++ psstream : ttextstream; ++ begin ++ canclose(nil); ++ psoutfile:= gettempfilename(gettempdir ,'printtestcase'); ++ psstream:= ttextstream.create(psoutfile,fm_create); ++ reportikre:= treportikre.create(nil); ++ with dmprintmo,psprn,canvas do begin ++ reportikre.render( ++ psprn, ++ psstream, ++ {$ifdef fpc}@{$endif}printproc ++ ); ++ end; ++ end; ++ ++ procedure tmainfo.exit(const sender: TObject); ++ begin ++ application.terminate; ++ end; ++ ++ procedure tmainfo.loadexec(const sender: TObject); ++ begin ++ with fldPhoto, dataset do begin ++ if dlgImageFile.execute(fdk_open) = mr_ok then begin ++ edit; ++ loadfromfile(dlgImageFile.controller.filename); ++ post; ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.saveexec(const sender: TObject); ++ begin ++ with fldPhoto, dataset do begin ++ if (not isnull) and (dlgImageFile.execute(fdk_save) = mr_ok) then begin ++ savetofile(dlgImageFile.controller.filename); ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.clearexec(const sender: TObject); ++ begin ++ with fldPhoto, dataset do begin ++ edit; ++ fldPhoto.clear; ++ post; ++ end; ++ end; ++ ++ procedure tmainfo.reportcurrexec(const sender: TObject); ++ var ++ psstream : ttextstream; ++ begin ++ canclose(nil); ++ psoutfile:= gettempfilename(gettempdir ,'printtestcasecurr'); ++ psstream:= ttextstream.create(psoutfile,fm_create); ++ reportcurrre:= treportcurrre.create(nil); ++ with dmprintmo,psprn,canvas do begin ++ reportcurrre.render( ++ psprn, ++ psstream, ++ {$ifdef fpc}@{$endif}printproc ++ ); ++ end; ++ ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,345 ---- ++ object printersetupfo: tprintersetupfo ++ bounds_x = 114 ++ bounds_y = 246 ++ bounds_cx = 585 ++ bounds_cy = 259 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 585 ++ container.bounds_cy = 259 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat] ++ statfile = dmprintmo.sfPrinter ++ caption = 'Printer settings' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object grpPrintWay: tgroupbox ++ bounds_x = 8 ++ bounds_y = 9 ++ bounds_cx = 210 ++ bounds_cy = 81 ++ frame.caption = ' Printing engine ' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 7 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ object breGDI: tbooleaneditradio ++ Tag = 1 ++ bounds_x = 8 ++ bounds_y = 24 ++ bounds_cx = 125 ++ bounds_cy = 16 ++ frame.caption = 'X-Windows ( Xprt )' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 112 ++ 2 ++ ) ++ enabled = False ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'PrnXprint' ++ end ++ object brePS: tbooleaneditradio ++ Tag = 2 ++ bounds_x = 8 ++ bounds_y = 56 ++ bounds_cx = 167 ++ bounds_cy = 16 ++ frame.caption = 'GhostScript -> lp -> CUPS' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 154 ++ 2 ++ ) ++ taborder = 1 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'PrnGS' ++ value = True ++ end ++ end ++ object grpPreviewMode: tgroupbox ++ bounds_x = 224 ++ bounds_y = 9 ++ bounds_cx = 354 ++ bounds_cy = 241 ++ frame.caption = ' Way of printing ' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 7 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ object breUsePreview: tbooleaneditradio ++ Tag = 1 ++ bounds_x = 8 ++ bounds_y = 24 ++ bounds_cx = 153 ++ bounds_cy = 16 ++ frame.caption = 'Use a preview program' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 140 ++ 2 ++ ) ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'UseGUI' ++ onchange = usepreviewentered ++ value = True ++ end ++ object breNoPreview: tbooleaneditradio ++ Tag = 2 ++ bounds_x = 8 ++ bounds_y = 104 ++ bounds_cx = 152 ++ bounds_cy = 16 ++ frame.caption = 'Print directly to a queue' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 139 ++ 2 ++ ) ++ taborder = 1 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'NoGUI' ++ onchange = nopreviewentered ++ end ++ object kseQuality: tkeystringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 184 ++ bounds_cx = 172 ++ bounds_cy = 37 ++ frame.caption = 'Printing quality' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ taborder = 3 ++ enabled = False ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'Quality' ++ dropdown.cols.count = 4 ++ dropdown.cols.items = < ++ item ++ data = ( ++ 'Draft' ++ 'Normal' ++ 'High' ++ ) ++ end ++ item ++ options = [co_readonly, co_invisible, co_mousemovefocus, co_focusselect, co_rowselect, co_fill] ++ data = ( ++ '120x72' ++ '120x144' ++ '240x144' ++ ) ++ end ++ item ++ options = [co_readonly, co_invisible, co_mousemovefocus, co_focusselect, co_rowselect, co_fill] ++ data = ( ++ '60x216' ++ '120x216' ++ '240x216' ++ ) ++ end ++ item ++ options = [co_readonly, co_invisible, co_mousemovefocus, co_focusselect, co_rowselect, co_fill] ++ data = ( ++ '100x100' ++ '150x150' ++ '300x300' ++ ) ++ end> ++ oninit = qualityinit ++ reffontheight = 14 ++ end ++ object kseDialogProgram: tkeystringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 96 ++ bounds_y = 48 ++ bounds_cx = 204 ++ bounds_cy = 37 ++ frame.caption = 'Program name' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ taborder = 5 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'Frontend' ++ dropdown.cols.count = 2 ++ dropdown.cols.items = < ++ item ++ data = ( ++ 'X Printing Panel' ++ 'GNU Ghost Viewer' ++ 'KDE Ghost Viewer' ++ ) ++ end ++ item ++ options = [co_readonly, co_invisible, co_mousemovefocus, co_focusselect, co_rowselect, co_fill] ++ data = ( ++ 'xpp' ++ 'gv' ++ 'kghostview' ++ ) ++ end> ++ reffontheight = 14 ++ end ++ object grpPrinterType: tgroupbox ++ bounds_x = 200 ++ bounds_y = 130 ++ bounds_cx = 146 ++ bounds_cy = 97 ++ frame.caption = 'Command system' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 7 ++ 0 ++ 0 ++ ) ++ taborder = 4 ++ enabled = False ++ object brIBM: tbooleaneditradio ++ Tag = 1 ++ bounds_x = 16 ++ bounds_y = 24 ++ bounds_cx = 106 ++ bounds_cy = 16 ++ frame.caption = 'IBM Pro Printer' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 93 ++ 2 ++ ) ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'IBMPro' ++ end ++ object brPCL: tbooleaneditradio ++ Tag = 3 ++ bounds_x = 16 ++ bounds_y = 72 ++ bounds_cx = 73 ++ bounds_cy = 16 ++ frame.caption = 'LaserJet' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 60 ++ 2 ++ ) ++ taborder = 2 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'LaserJet' ++ end ++ object brEpson: tbooleaneditradio ++ Tag = 2 ++ bounds_x = 16 ++ bounds_y = 48 ++ bounds_cx = 110 ++ bounds_cy = 16 ++ frame.caption = 'Epson ( Esc/P )' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 97 ++ 2 ++ ) ++ taborder = 1 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'Epson' ++ value = True ++ end ++ end ++ object seQueueName: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 128 ++ bounds_cx = 172 ++ bounds_cy = 37 ++ frame.caption = 'Queue name' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ hint = #1055#1091#1089#1090#1086#1077' '#1085#1072#1079#1074#1072#1085#1080#1077' - '#1087#1077#1095#1072#1090#1100' '#1085#1072' '#1086#1095#1077#1088#1077#1076#1100' '#1087#1086' '#1091#1084#1086#1083#1095#1072#1085#1080#1102 ++ enabled = False ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'Queue' ++ oncheckvalue = queuenamecheck ++ value = 'lp' ++ reffontheight = 14 ++ end ++ end ++ object btnOk: tbutton ++ bounds_x = 8 ++ bounds_y = 192 ++ bounds_cx = 114 ++ bounds_cy = 54 ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 3 ++ state = [as_localcaption] ++ caption = 'Ok' ++ modalresult = mr_ok ++ end ++ object btnCancel: tbutton ++ bounds_x = 144 ++ bounds_y = 216 ++ bounds_cx = 74 ++ bounds_cy = 30 ++ frame.colorclient = -1610612733 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ state = [as_localcaption] ++ caption = 'Cancel' ++ font.color = -1610612730 ++ font.name = 'stf_default' ++ font.dummy = 0 ++ modalresult = mr_cancel ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,275 ---- ++ unit printersetupform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,printersetupform; ++ ++ const ++ objdata: record size: integer; data: array[0..5140] of byte end = ++ (size: 5141; data: ( ++ 84,80,70,48,15,116,112,114,105,110,116,101,114,115,101,116,117,112,102,111, ++ 14,112,114,105,110,116,101,114,115,101,116,117,112,102,111,8,98,111,117,110, ++ 100,115,95,120,2,114,8,98,111,117,110,100,115,95,121,3,246,0,9,98, ++ 111,117,110,100,115,95,99,120,3,73,2,9,98,111,117,110,100,115,95,99, ++ 121,3,3,1,8,116,97,98,111,114,100,101,114,2,1,7,118,105,115,105, ++ 98,108,101,8,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117, ++ 115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110, ++ 116,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110,101,114,46,98, ++ 111,117,110,100,115,95,121,2,0,19,99,111,110,116,97,105,110,101,114,46, ++ 98,111,117,110,100,115,95,99,120,3,73,2,19,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,99,121,3,3,1,21,99,111,110,116, ++ 97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,7, ++ 111,112,116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101, ++ 110,116,101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116, ++ 97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,0, ++ 8,115,116,97,116,102,105,108,101,7,19,100,109,112,114,105,110,116,109,111, ++ 46,115,102,80,114,105,110,116,101,114,7,99,97,112,116,105,111,110,6,16, ++ 80,114,105,110,116,101,114,32,115,101,116,116,105,110,103,115,17,105,99,111, ++ 110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,15, ++ 109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115, ++ 101,102,111,114,109,0,9,116,103,114,111,117,112,98,111,120,11,103,114,112, ++ 80,114,105,110,116,87,97,121,8,98,111,117,110,100,115,95,120,2,8,8, ++ 98,111,117,110,100,115,95,121,2,9,9,98,111,117,110,100,115,95,99,120, ++ 3,210,0,9,98,111,117,110,100,115,95,99,121,2,81,13,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,6,17,32,80,114,105,110,116,105,110,103, ++ 32,101,110,103,105,110,101,32,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,247,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,7,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,1, ++ 0,17,116,98,111,111,108,101,97,110,101,100,105,116,114,97,100,105,111,6, ++ 98,114,101,71,68,73,3,84,97,103,2,1,8,98,111,117,110,100,115,95, ++ 120,2,8,8,98,111,117,110,100,115,95,121,2,24,9,98,111,117,110,100, ++ 115,95,99,120,2,125,9,98,111,117,110,100,115,95,99,121,2,16,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,18,88,45,87,105,110,100, ++ 111,119,115,32,40,32,88,112,114,116,32,41,17,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,100,105,115,116,2,10,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114, ++ 97,109,101,1,2,0,2,1,2,112,2,2,0,7,101,110,97,98,108,101, ++ 100,8,8,115,116,97,116,102,105,108,101,7,19,100,109,112,114,105,110,116, ++ 109,111,46,115,102,80,114,105,110,116,101,114,11,115,116,97,116,118,97,114, ++ 110,97,109,101,6,9,80,114,110,88,112,114,105,110,116,0,0,17,116,98, ++ 111,111,108,101,97,110,101,100,105,116,114,97,100,105,111,5,98,114,101,80, ++ 83,3,84,97,103,2,2,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,2,56,9,98,111,117,110,100,115,95,99,120,3, ++ 167,0,9,98,111,117,110,100,115,95,99,121,2,16,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,25,71,104,111,115,116,83,99,114,105,112, ++ 116,32,45,62,32,108,112,32,45,62,32,67,85,80,83,17,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,100,105,115,116,2,10,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,0,2,1,3,154,0,2,2,0,8,116,97, ++ 98,111,114,100,101,114,2,1,8,115,116,97,116,102,105,108,101,7,19,100, ++ 109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11,115, ++ 116,97,116,118,97,114,110,97,109,101,6,5,80,114,110,71,83,5,118,97, ++ 108,117,101,9,0,0,0,9,116,103,114,111,117,112,98,111,120,14,103,114, ++ 112,80,114,101,118,105,101,119,77,111,100,101,8,98,111,117,110,100,115,95, ++ 120,3,224,0,8,98,111,117,110,100,115,95,121,2,9,9,98,111,117,110, ++ 100,115,95,99,120,3,98,1,9,98,111,117,110,100,115,95,99,121,3,241, ++ 0,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,17,32,87,97, ++ 121,32,111,102,32,112,114,105,110,116,105,110,103,32,17,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,100,105,115,116,2,247,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114, ++ 102,114,97,109,101,1,2,0,2,7,2,0,2,0,0,8,116,97,98,111, ++ 114,100,101,114,2,2,0,17,116,98,111,111,108,101,97,110,101,100,105,116, ++ 114,97,100,105,111,13,98,114,101,85,115,101,80,114,101,118,105,101,119,3, ++ 84,97,103,2,1,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117, ++ 110,100,115,95,121,2,24,9,98,111,117,110,100,115,95,99,120,3,153,0, ++ 9,98,111,117,110,100,115,95,99,121,2,16,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,21,85,115,101,32,97,32,112,114,101,118,105,101, ++ 119,32,112,114,111,103,114,97,109,17,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,100,105,115,116,2,10,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101, ++ 1,2,0,2,1,3,140,0,2,2,0,8,115,116,97,116,102,105,108,101, ++ 7,19,100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101, ++ 114,11,115,116,97,116,118,97,114,110,97,109,101,6,6,85,115,101,71,85, ++ 73,8,111,110,99,104,97,110,103,101,7,17,117,115,101,112,114,101,118,105, ++ 101,119,101,110,116,101,114,101,100,5,118,97,108,117,101,9,0,0,17,116, ++ 98,111,111,108,101,97,110,101,100,105,116,114,97,100,105,111,12,98,114,101, ++ 78,111,80,114,101,118,105,101,119,3,84,97,103,2,2,8,98,111,117,110, ++ 100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,104,9,98,111, ++ 117,110,100,115,95,99,120,3,152,0,9,98,111,117,110,100,115,95,99,121, ++ 2,16,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,25,80,114, ++ 105,110,116,32,100,105,114,101,99,116,108,121,32,116,111,32,97,32,113,117, ++ 101,117,101,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115, ++ 116,2,10,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,1,3, ++ 139,0,2,2,0,8,116,97,98,111,114,100,101,114,2,1,8,115,116,97, ++ 116,102,105,108,101,7,19,100,109,112,114,105,110,116,109,111,46,115,102,80, ++ 114,105,110,116,101,114,11,115,116,97,116,118,97,114,110,97,109,101,6,5, ++ 78,111,71,85,73,8,111,110,99,104,97,110,103,101,7,16,110,111,112,114, ++ 101,118,105,101,119,101,110,116,101,114,101,100,0,0,14,116,107,101,121,115, ++ 116,114,105,110,103,101,100,105,116,10,107,115,101,81,117,97,108,105,116,121, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,16,8,98,111,117,110,100,115,95,121, ++ 3,184,0,9,98,111,117,110,100,115,95,99,120,3,172,0,9,98,111,117, ++ 110,100,115,95,99,121,2,37,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,16,80,114,105,110,116,105,110,103,32,113,117,97,108,105,116,121, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,17,2,0,2,0, ++ 0,8,116,97,98,111,114,100,101,114,2,3,7,101,110,97,98,108,101,100, ++ 8,8,115,116,97,116,102,105,108,101,7,19,100,109,112,114,105,110,116,109, ++ 111,46,115,102,80,114,105,110,116,101,114,11,115,116,97,116,118,97,114,110, ++ 97,109,101,6,7,81,117,97,108,105,116,121,19,100,114,111,112,100,111,119, ++ 110,46,99,111,108,115,46,99,111,117,110,116,2,4,19,100,114,111,112,100, ++ 111,119,110,46,99,111,108,115,46,105,116,101,109,115,14,1,4,100,97,116, ++ 97,1,6,5,68,114,97,102,116,6,6,78,111,114,109,97,108,6,4,72, ++ 105,103,104,0,0,1,7,111,112,116,105,111,110,115,11,11,99,111,95,114, ++ 101,97,100,111,110,108,121,12,99,111,95,105,110,118,105,115,105,98,108,101, ++ 17,99,111,95,109,111,117,115,101,109,111,118,101,102,111,99,117,115,14,99, ++ 111,95,102,111,99,117,115,115,101,108,101,99,116,12,99,111,95,114,111,119, ++ 115,101,108,101,99,116,7,99,111,95,102,105,108,108,0,4,100,97,116,97, ++ 1,6,6,49,50,48,120,55,50,6,7,49,50,48,120,49,52,52,6,7, ++ 50,52,48,120,49,52,52,0,0,1,7,111,112,116,105,111,110,115,11,11, ++ 99,111,95,114,101,97,100,111,110,108,121,12,99,111,95,105,110,118,105,115, ++ 105,98,108,101,17,99,111,95,109,111,117,115,101,109,111,118,101,102,111,99, ++ 117,115,14,99,111,95,102,111,99,117,115,115,101,108,101,99,116,12,99,111, ++ 95,114,111,119,115,101,108,101,99,116,7,99,111,95,102,105,108,108,0,4, ++ 100,97,116,97,1,6,6,54,48,120,50,49,54,6,7,49,50,48,120,50, ++ 49,54,6,7,50,52,48,120,50,49,54,0,0,1,7,111,112,116,105,111, ++ 110,115,11,11,99,111,95,114,101,97,100,111,110,108,121,12,99,111,95,105, ++ 110,118,105,115,105,98,108,101,17,99,111,95,109,111,117,115,101,109,111,118, ++ 101,102,111,99,117,115,14,99,111,95,102,111,99,117,115,115,101,108,101,99, ++ 116,12,99,111,95,114,111,119,115,101,108,101,99,116,7,99,111,95,102,105, ++ 108,108,0,4,100,97,116,97,1,6,7,49,48,48,120,49,48,48,6,7, ++ 49,53,48,120,49,53,48,6,7,51,48,48,120,51,48,48,0,0,0,6, ++ 111,110,105,110,105,116,7,11,113,117,97,108,105,116,121,105,110,105,116,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,14,116,107, ++ 101,121,115,116,114,105,110,103,101,100,105,116,16,107,115,101,68,105,97,108, ++ 111,103,80,114,111,103,114,97,109,13,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111, ++ 119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95, ++ 102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,96, ++ 8,98,111,117,110,100,115,95,121,2,48,9,98,111,117,110,100,115,95,99, ++ 120,3,204,0,9,98,111,117,110,100,115,95,99,121,2,37,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,12,80,114,111,103,114,97,109,32, ++ 110,97,109,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102, ++ 114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,17, ++ 2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,5,8,115,116,97, ++ 116,102,105,108,101,7,19,100,109,112,114,105,110,116,109,111,46,115,102,80, ++ 114,105,110,116,101,114,11,115,116,97,116,118,97,114,110,97,109,101,6,8, ++ 70,114,111,110,116,101,110,100,19,100,114,111,112,100,111,119,110,46,99,111, ++ 108,115,46,99,111,117,110,116,2,2,19,100,114,111,112,100,111,119,110,46, ++ 99,111,108,115,46,105,116,101,109,115,14,1,4,100,97,116,97,1,6,16, ++ 88,32,80,114,105,110,116,105,110,103,32,80,97,110,101,108,6,16,71,78, ++ 85,32,71,104,111,115,116,32,86,105,101,119,101,114,6,16,75,68,69,32, ++ 71,104,111,115,116,32,86,105,101,119,101,114,0,0,1,7,111,112,116,105, ++ 111,110,115,11,11,99,111,95,114,101,97,100,111,110,108,121,12,99,111,95, ++ 105,110,118,105,115,105,98,108,101,17,99,111,95,109,111,117,115,101,109,111, ++ 118,101,102,111,99,117,115,14,99,111,95,102,111,99,117,115,115,101,108,101, ++ 99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,7,99,111,95,102, ++ 105,108,108,0,4,100,97,116,97,1,6,3,120,112,112,6,2,103,118,6, ++ 10,107,103,104,111,115,116,118,105,101,119,0,0,0,13,114,101,102,102,111, ++ 110,116,104,101,105,103,104,116,2,14,0,0,9,116,103,114,111,117,112,98, ++ 111,120,14,103,114,112,80,114,105,110,116,101,114,84,121,112,101,8,98,111, ++ 117,110,100,115,95,120,3,200,0,8,98,111,117,110,100,115,95,121,3,130, ++ 0,9,98,111,117,110,100,115,95,99,120,3,146,0,9,98,111,117,110,100, ++ 115,95,99,121,2,97,13,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 6,14,67,111,109,109,97,110,100,32,115,121,115,116,101,109,17,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,247,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116, ++ 101,114,102,114,97,109,101,1,2,0,2,7,2,0,2,0,0,8,116,97, ++ 98,111,114,100,101,114,2,4,7,101,110,97,98,108,101,100,8,0,17,116, ++ 98,111,111,108,101,97,110,101,100,105,116,114,97,100,105,111,5,98,114,73, ++ 66,77,3,84,97,103,2,1,8,98,111,117,110,100,115,95,120,2,16,8, ++ 98,111,117,110,100,115,95,121,2,24,9,98,111,117,110,100,115,95,99,120, ++ 2,106,9,98,111,117,110,100,115,95,99,121,2,16,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,15,73,66,77,32,80,114,111,32,80,114, ++ 105,110,116,101,114,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100, ++ 105,115,116,2,10,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16, ++ 102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2, ++ 1,2,93,2,2,0,8,115,116,97,116,102,105,108,101,7,19,100,109,112, ++ 114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11,115,116,97, ++ 116,118,97,114,110,97,109,101,6,6,73,66,77,80,114,111,0,0,17,116, ++ 98,111,111,108,101,97,110,101,100,105,116,114,97,100,105,111,5,98,114,80, ++ 67,76,3,84,97,103,2,3,8,98,111,117,110,100,115,95,120,2,16,8, ++ 98,111,117,110,100,115,95,121,2,72,9,98,111,117,110,100,115,95,99,120, ++ 2,73,9,98,111,117,110,100,115,95,99,121,2,16,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,8,76,97,115,101,114,74,101,116,17,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,10,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,0,2,1,2,60,2,2,0,8, ++ 116,97,98,111,114,100,101,114,2,2,8,115,116,97,116,102,105,108,101,7, ++ 19,100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114, ++ 11,115,116,97,116,118,97,114,110,97,109,101,6,8,76,97,115,101,114,74, ++ 101,116,0,0,17,116,98,111,111,108,101,97,110,101,100,105,116,114,97,100, ++ 105,111,7,98,114,69,112,115,111,110,3,84,97,103,2,2,8,98,111,117, ++ 110,100,115,95,120,2,16,8,98,111,117,110,100,115,95,121,2,48,9,98, ++ 111,117,110,100,115,95,99,120,2,110,9,98,111,117,110,100,115,95,99,121, ++ 2,16,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,15,69,112, ++ 115,111,110,32,40,32,69,115,99,47,80,32,41,17,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,100,105,115,116,2,10,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102, ++ 114,97,109,101,1,2,0,2,1,2,97,2,2,0,8,116,97,98,111,114, ++ 100,101,114,2,1,8,115,116,97,116,102,105,108,101,7,19,100,109,112,114, ++ 105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11,115,116,97,116, ++ 118,97,114,110,97,109,101,6,5,69,112,115,111,110,5,118,97,108,117,101, ++ 9,0,0,0,11,116,115,116,114,105,110,103,101,100,105,116,11,115,101,81, ++ 117,101,117,101,78,97,109,101,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102, ++ 111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117, ++ 116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,16,8, ++ 98,111,117,110,100,115,95,121,3,128,0,9,98,111,117,110,100,115,95,99, ++ 120,3,172,0,9,98,111,117,110,100,115,95,99,121,2,37,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,10,81,117,101,117,101,32,110,97, ++ 109,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97, ++ 109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,17,2,0, ++ 2,0,0,8,116,97,98,111,114,100,101,114,2,2,4,104,105,110,116,18, ++ 48,0,0,0,31,4,67,4,65,4,66,4,62,4,53,4,32,0,61,4, ++ 48,4,55,4,50,4,48,4,61,4,56,4,53,4,32,0,45,0,32,0, ++ 63,4,53,4,71,4,48,4,66,4,76,4,32,0,61,4,48,4,32,0, ++ 62,4,71,4,53,4,64,4,53,4,52,4,76,4,32,0,63,4,62,4, ++ 32,0,67,4,60,4,62,4,59,4,71,4,48,4,61,4,56,4,78,4, ++ 7,101,110,97,98,108,101,100,8,8,115,116,97,116,102,105,108,101,7,19, ++ 100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11, ++ 115,116,97,116,118,97,114,110,97,109,101,6,5,81,117,101,117,101,12,111, ++ 110,99,104,101,99,107,118,97,108,117,101,7,14,113,117,101,117,101,110,97, ++ 109,101,99,104,101,99,107,5,118,97,108,117,101,6,2,108,112,13,114,101, ++ 102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,7,116,98,117, ++ 116,116,111,110,5,98,116,110,79,107,8,98,111,117,110,100,115,95,120,2, ++ 8,8,98,111,117,110,100,115,95,121,3,192,0,9,98,111,117,110,100,115, ++ 95,99,120,2,114,9,98,111,117,110,100,115,95,99,121,2,54,14,102,114, ++ 97,109,101,46,116,101,109,112,108,97,116,101,7,16,109,97,105,110,102,111, ++ 46,102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,5,115,116,97,116, ++ 101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,7, ++ 99,97,112,116,105,111,110,6,2,79,107,11,109,111,100,97,108,114,101,115, ++ 117,108,116,7,5,109,114,95,111,107,0,0,7,116,98,117,116,116,111,110, ++ 9,98,116,110,67,97,110,99,101,108,8,98,111,117,110,100,115,95,120,3, ++ 144,0,8,98,111,117,110,100,115,95,121,3,216,0,9,98,111,117,110,100, ++ 115,95,99,120,2,74,9,98,111,117,110,100,115,95,99,121,2,30,17,102, ++ 114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,3,0,0, ++ 160,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97, ++ 109,101,46,116,101,109,112,108,97,116,101,7,16,109,97,105,110,102,111,46, ++ 102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99, ++ 97,112,116,105,111,110,0,7,99,97,112,116,105,111,110,6,6,67,97,110, ++ 99,101,108,10,102,111,110,116,46,99,111,108,111,114,4,6,0,0,160,9, ++ 102,111,110,116,46,110,97,109,101,6,11,115,116,102,95,100,101,102,97,117, ++ 108,116,10,102,111,110,116,46,100,117,109,109,121,2,0,11,109,111,100,97, ++ 108,114,101,115,117,108,116,7,9,109,114,95,99,97,110,99,101,108,0,0, ++ 0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tprintersetupfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,70 ---- ++ unit printersetupform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,msegraphedits,msefiledialog, ++ msedataedits; ++ ++ type ++ tprintersetupfo = class(tmseform) ++ breGDI: tbooleaneditradio; ++ breNoPreview: tbooleaneditradio; ++ brePS: tbooleaneditradio; ++ brEpson: tbooleaneditradio; ++ breUsePreview: tbooleaneditradio; ++ brIBM: tbooleaneditradio; ++ brPCL: tbooleaneditradio; ++ btnCancel: tbutton; ++ btnOk: tbutton; ++ grpPreviewMode: tgroupbox; ++ grpPrinterType: tgroupbox; ++ grpPrintWay: tgroupbox; ++ kseQuality: tkeystringedit; ++ kseDialogProgram: tkeystringedit; ++ seQueueName: tstringedit; ++ procedure nopreviewentered(const sender: TObject); ++ procedure usepreviewentered(const sender: TObject); ++ procedure queuenamecheck(const sender: tdataedit; const quiet: Boolean; ++ var accept: Boolean); ++ procedure qualityinit(const sender: tcustomkeystringedit); ++ end; ++ ++ var ++ printersetupfo: tprintersetupfo ++ ; ++ ++ implementation ++ ++ uses ++ printersetupform_mfm, ++ dmprint ++ ; ++ ++ procedure tprintersetupfo.nopreviewentered(const sender: TObject); ++ begin ++ seQueueName.enabled:= (sender as tbooleaneditradio).value; ++ kseQuality.enabled:= (sender as tbooleaneditradio).value; ++ grpPrinterType.enabled:= (sender as tbooleaneditradio).value; ++ end; ++ ++ procedure tprintersetupfo.usepreviewentered(const sender: TObject); ++ begin ++ kseDialogProgram.enabled:= (sender as tbooleaneditradio).value; ++ end; ++ ++ procedure tprintersetupfo.queuenamecheck(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ begin ++ if not dmprint.queuenamecheck(seQueueName.editor.text) then accept:= false; ++ end; ++ ++ procedure tprintersetupfo.qualityinit(const sender: tcustomkeystringedit); ++ var ++ i: integer; ++ begin ++ i:= brIBM.checkedtag; ++ (sender as tkeystringedit).dropdown.valuecol:= brIBM.checkedtag; ++ end; ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,256 ---- ++ object printersetupformw32fo: tprintersetupformw32fo ++ bounds_x = 187 ++ bounds_y = 105 ++ bounds_cx = 412 ++ bounds_cy = 438 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 412 ++ container.bounds_cy = 438 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat] ++ statfile = dmprintmo.sfPrinter ++ caption = 'Printer settings' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object grpPrintWay: tgroupbox ++ bounds_x = 8 ++ bounds_y = 10 ++ bounds_cx = 394 ++ bounds_cy = 136 ++ frame.caption = ' Printing engine ' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 6 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ object breGDI: tbooleaneditradio ++ Tag = 1 ++ bounds_x = 8 ++ bounds_y = 24 ++ bounds_cx = 91 ++ bounds_cy = 15 ++ frame.caption = 'Windows GDI' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 78 ++ 1 ++ ) ++ enabled = False ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'PrnGDI' ++ end ++ object fneGSVPath: tfilenameedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 81 ++ bounds_cx = 364 ++ bounds_cy = 35 ++ frame.caption = 'path to GsView32.exe' ++ frame.captionpos = cp_topright ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.button.imagenr = 17 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'GSViewPath' ++ controller.filter = 'gsview32.exe' ++ controller.options = [fdo_file, fdo_checkexist] ++ controller.captionopen = 'Point to file "gsview32.exe" here' ++ reffontheight = 13 ++ end ++ object brePS: tbooleaneditradio ++ Tag = 2 ++ bounds_x = 8 ++ bounds_y = 56 ++ bounds_cx = 80 ++ bounds_cy = 15 ++ frame.caption = 'GhostScript' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 67 ++ 1 ++ ) ++ taborder = 1 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'PrnGS' ++ value = True ++ end ++ end ++ object grpPreviewMode: tgroupbox ++ bounds_x = 8 ++ bounds_y = 162 ++ bounds_cx = 394 ++ bounds_cy = 208 ++ frame.caption = ' Way of printing ' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 6 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ object breUsePreview: tbooleaneditradio ++ Tag = 1 ++ bounds_x = 8 ++ bounds_y = 24 ++ bounds_cx = 140 ++ bounds_cy = 15 ++ frame.caption = ' Use a preview program ' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 127 ++ 1 ++ ) ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'UseGUI' ++ value = True ++ end ++ object breNoPreview: tbooleaneditradio ++ Tag = 2 ++ bounds_x = 8 ++ bounds_y = 58 ++ bounds_cx = 129 ++ bounds_cy = 28 ++ frame.caption = ' Print directly '#13'(onto assigned printer)' ++ frame.captiondist = 10 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 7 ++ 116 ++ 8 ++ ) ++ taborder = 1 ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'NoGUI' ++ onchange = previewmodechanged ++ end ++ object grpPrinterType: tgroupbox ++ optionswidget = [ow_mousefocus, ow_parenttabfocus, ow_arrowfocus, ow_arrowfocusin, ow_arrowfocusout, ow_subfocus, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ bounds_x = 200 ++ bounds_y = 67 ++ bounds_cx = 178 ++ bounds_cy = 88 ++ frame.caption = ' Command system ' ++ frame.captiondist = -9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 6 ++ 0 ++ 0 ++ ) ++ taborder = 4 ++ enabled = False ++ object sdCommanSystem: tstringdisp ++ bounds_x = 16 ++ bounds_y = 27 ++ bounds_cx = 148 ++ bounds_cy = 49 ++ frame.colorclient = -1610612731 ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ textflags = [tf_xcentered, tf_ycentered] ++ value = 'defined by '#10'printer drtiver' ++ reffontheight = 13 ++ end ++ end ++ object seQueueName: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 161 ++ bounds_cx = 364 ++ bounds_cy = 35 ++ frame.caption = 'Printer name (Start->Settings->Printers and faxes)' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ hint = 'It may not contain spaces ( if inavoidable then rename the queue )'#10'Empty name means printing to last choosen in GsView32 printer' ++ enabled = False ++ statfile = dmprintmo.sfPrinter ++ statvarname = 'Queue' ++ oncheckvalue = printernamecheck ++ reffontheight = 13 ++ end ++ object sdQuality: tstringdisp ++ bounds_x = 24 ++ bounds_y = 94 ++ bounds_cx = 156 ++ bounds_cy = 57 ++ frame.colorclient = -1610612731 ++ frame.caption = 'Printing quality' ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 16 ++ 0 ++ 0 ++ ) ++ taborder = 3 ++ enabled = False ++ textflags = [tf_xcentered, tf_ycentered] ++ value = 'should be set in'#10' printer settings' ++ reffontheight = 13 ++ end ++ end ++ object btnOk: tbutton ++ bounds_x = 120 ++ bounds_y = 384 ++ bounds_cx = 162 ++ bounds_cy = 46 ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 3 ++ state = [as_localcaption] ++ caption = 'Ok' ++ modalresult = mr_ok ++ end ++ object btnCancel: tbutton ++ bounds_x = 320 ++ bounds_y = 400 ++ bounds_cx = 82 ++ bounds_cy = 30 ++ frame.colorclient = -1610612733 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ state = [as_localcaption] ++ caption = 'Cancel' ++ font.color = -1610612730 ++ font.name = 'stf_default' ++ font.dummy = 0 ++ modalresult = mr_cancel ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,237 ---- ++ unit printersetupformw32_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,printersetupformw32; ++ ++ const ++ objdata: record size: integer; data: array[0..4393] of byte end = ++ (size: 4394; data: ( ++ 84,80,70,48,22,116,112,114,105,110,116,101,114,115,101,116,117,112,102,111, ++ 114,109,119,51,50,102,111,21,112,114,105,110,116,101,114,115,101,116,117,112, ++ 102,111,114,109,119,51,50,102,111,8,98,111,117,110,100,115,95,120,3,187, ++ 0,8,98,111,117,110,100,115,95,121,2,105,9,98,111,117,110,100,115,95, ++ 99,120,3,156,1,9,98,111,117,110,100,115,95,99,121,3,182,1,8,116, ++ 97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8,23,99, ++ 111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109, ++ 111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120, ++ 2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,120,3,156,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,121,3,182,1,21,99,111,110,116,97,105,110,101,114,46, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110, ++ 115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114,101,100, ++ 15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95, ++ 97,117,116,111,119,114,105,116,101,115,116,97,116,0,8,115,116,97,116,102, ++ 105,108,101,7,19,100,109,112,114,105,110,116,109,111,46,115,102,80,114,105, ++ 110,116,101,114,7,99,97,112,116,105,111,110,6,16,80,114,105,110,116,101, ++ 114,32,115,101,116,116,105,110,103,115,17,105,99,111,110,46,116,114,97,110, ++ 115,112,97,114,101,110,99,121,4,0,0,0,128,15,109,111,100,117,108,101, ++ 99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0, ++ 9,116,103,114,111,117,112,98,111,120,11,103,114,112,80,114,105,110,116,87, ++ 97,121,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115, ++ 95,121,2,10,9,98,111,117,110,100,115,95,99,120,3,138,1,9,98,111, ++ 117,110,100,115,95,99,121,3,136,0,13,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,6,17,32,80,114,105,110,116,105,110,103,32,101,110,103,105, ++ 110,101,32,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115, ++ 116,2,247,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,6,2, ++ 0,2,0,0,8,116,97,98,111,114,100,101,114,2,1,0,17,116,98,111, ++ 111,108,101,97,110,101,100,105,116,114,97,100,105,111,6,98,114,101,71,68, ++ 73,3,84,97,103,2,1,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,2,24,9,98,111,117,110,100,115,95,99,120,2, ++ 91,9,98,111,117,110,100,115,95,99,121,2,15,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,6,11,87,105,110,100,111,119,115,32,71,68,73, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,10, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,1,2,78,2,1, ++ 0,7,101,110,97,98,108,101,100,8,8,115,116,97,116,102,105,108,101,7, ++ 19,100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114, ++ 11,115,116,97,116,118,97,114,110,97,109,101,6,6,80,114,110,71,68,73, ++ 0,0,13,116,102,105,108,101,110,97,109,101,101,100,105,116,10,102,110,101, ++ 71,83,86,80,97,116,104,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,16,8,98, ++ 111,117,110,100,115,95,121,2,81,9,98,111,117,110,100,115,95,99,120,3, ++ 108,1,9,98,111,117,110,100,115,95,99,121,2,35,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,20,112,97,116,104,32,116,111,32,71,115, ++ 86,105,101,119,51,50,46,101,120,101,16,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,112,111,115,7,11,99,112,95,116,111,112,114,105,103,104,116, ++ 15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116, ++ 102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111,110,116, ++ 46,100,117,109,109,121,2,0,20,102,114,97,109,101,46,98,117,116,116,111, ++ 110,46,105,109,97,103,101,110,114,2,17,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97, ++ 109,101,1,2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101, ++ 114,2,2,8,115,116,97,116,102,105,108,101,7,19,100,109,112,114,105,110, ++ 116,109,111,46,115,102,80,114,105,110,116,101,114,11,115,116,97,116,118,97, ++ 114,110,97,109,101,6,10,71,83,86,105,101,119,80,97,116,104,17,99,111, ++ 110,116,114,111,108,108,101,114,46,102,105,108,116,101,114,6,12,103,115,118, ++ 105,101,119,51,50,46,101,120,101,18,99,111,110,116,114,111,108,108,101,114, ++ 46,111,112,116,105,111,110,115,11,8,102,100,111,95,102,105,108,101,14,102, ++ 100,111,95,99,104,101,99,107,101,120,105,115,116,0,22,99,111,110,116,114, ++ 111,108,108,101,114,46,99,97,112,116,105,111,110,111,112,101,110,6,33,80, ++ 111,105,110,116,32,116,111,32,102,105,108,101,32,34,103,115,118,105,101,119, ++ 51,50,46,101,120,101,34,32,104,101,114,101,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,13,0,0,17,116,98,111,111,108,101,97,110,101, ++ 100,105,116,114,97,100,105,111,5,98,114,101,80,83,3,84,97,103,2,2, ++ 8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121, ++ 2,56,9,98,111,117,110,100,115,95,99,120,2,80,9,98,111,117,110,100, ++ 115,95,99,121,2,15,13,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 6,11,71,104,111,115,116,83,99,114,105,112,116,17,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,100,105,115,116,2,10,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102, ++ 114,97,109,101,1,2,0,2,1,2,67,2,1,0,8,116,97,98,111,114, ++ 100,101,114,2,1,8,115,116,97,116,102,105,108,101,7,19,100,109,112,114, ++ 105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11,115,116,97,116, ++ 118,97,114,110,97,109,101,6,5,80,114,110,71,83,5,118,97,108,117,101, ++ 9,0,0,0,9,116,103,114,111,117,112,98,111,120,14,103,114,112,80,114, ++ 101,118,105,101,119,77,111,100,101,8,98,111,117,110,100,115,95,120,2,8, ++ 8,98,111,117,110,100,115,95,121,3,162,0,9,98,111,117,110,100,115,95, ++ 99,120,3,138,1,9,98,111,117,110,100,115,95,99,121,3,208,0,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,17,32,87,97,121,32,111, ++ 102,32,112,114,105,110,116,105,110,103,32,17,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,100,105,115,116,2,247,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97, ++ 109,101,1,2,0,2,6,2,0,2,0,0,8,116,97,98,111,114,100,101, ++ 114,2,2,0,17,116,98,111,111,108,101,97,110,101,100,105,116,114,97,100, ++ 105,111,13,98,114,101,85,115,101,80,114,101,118,105,101,119,3,84,97,103, ++ 2,1,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115, ++ 95,121,2,24,9,98,111,117,110,100,115,95,99,120,3,140,0,9,98,111, ++ 117,110,100,115,95,99,121,2,15,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,23,32,85,115,101,32,97,32,112,114,101,118,105,101,119,32, ++ 112,114,111,103,114,97,109,32,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,10,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,1,2,127,2,1,0,8,115,116,97,116,102,105,108,101,7,19, ++ 100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101,114,11, ++ 115,116,97,116,118,97,114,110,97,109,101,6,6,85,115,101,71,85,73,5, ++ 118,97,108,117,101,9,0,0,17,116,98,111,111,108,101,97,110,101,100,105, ++ 116,114,97,100,105,111,12,98,114,101,78,111,80,114,101,118,105,101,119,3, ++ 84,97,103,2,2,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117, ++ 110,100,115,95,121,2,58,9,98,111,117,110,100,115,95,99,120,3,129,0, ++ 9,98,111,117,110,100,115,95,99,121,2,28,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,40,32,80,114,105,110,116,32,100,105,114,101,99, ++ 116,108,121,32,13,40,111,110,116,111,32,97,115,115,105,103,110,101,100,32, ++ 112,114,105,110,116,101,114,41,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,10,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,7,2,116,2,8,0,8,116,97,98,111,114,100,101,114,2,1, ++ 8,115,116,97,116,102,105,108,101,7,19,100,109,112,114,105,110,116,109,111, ++ 46,115,102,80,114,105,110,116,101,114,11,115,116,97,116,118,97,114,110,97, ++ 109,101,6,5,78,111,71,85,73,8,111,110,99,104,97,110,103,101,7,18, ++ 112,114,101,118,105,101,119,109,111,100,101,99,104,97,110,103,101,100,0,0, ++ 9,116,103,114,111,117,112,98,111,120,14,103,114,112,80,114,105,110,116,101, ++ 114,84,121,112,101,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,17,111,119,95,112,97, ++ 114,101,110,116,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111, ++ 119,102,111,99,117,115,15,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 105,110,16,111,119,95,97,114,114,111,119,102,111,99,117,115,111,117,116,11, ++ 111,119,95,115,117,98,102,111,99,117,115,13,111,119,95,109,111,117,115,101, ++ 119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111, ++ 117,110,100,115,95,120,3,200,0,8,98,111,117,110,100,115,95,121,2,67, ++ 9,98,111,117,110,100,115,95,99,120,3,178,0,9,98,111,117,110,100,115, ++ 95,99,121,2,88,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6, ++ 16,32,67,111,109,109,97,110,100,32,115,121,115,116,101,109,32,17,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,247,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,6,2,0,2,0,0,8,116, ++ 97,98,111,114,100,101,114,2,4,7,101,110,97,98,108,101,100,8,0,11, ++ 116,115,116,114,105,110,103,100,105,115,112,14,115,100,67,111,109,109,97,110, ++ 83,121,115,116,101,109,8,98,111,117,110,100,115,95,120,2,16,8,98,111, ++ 117,110,100,115,95,121,2,27,9,98,111,117,110,100,115,95,99,120,3,148, ++ 0,9,98,111,117,110,100,115,95,99,121,2,49,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,5,0,0,160,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,9,116,101,120,116,102,108,97,103,115,11,12,116,102,95, ++ 120,99,101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116,101,114, ++ 101,100,0,5,118,97,108,117,101,6,27,100,101,102,105,110,101,100,32,98, ++ 121,32,10,112,114,105,110,116,101,114,32,100,114,116,105,118,101,114,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,13,0,0,0,11,116,115, ++ 116,114,105,110,103,101,100,105,116,11,115,101,81,117,101,117,101,78,97,109, ++ 101,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95, ++ 109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,2,16,8,98,111,117,110,100,115,95, ++ 121,3,161,0,9,98,111,117,110,100,115,95,99,120,3,108,1,9,98,111, ++ 117,110,100,115,95,99,121,2,35,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,50,80,114,105,110,116,101,114,32,110,97,109,101,32,40,83, ++ 116,97,114,116,45,62,83,101,116,116,105,110,103,115,45,62,80,114,105,110, ++ 116,101,114,115,32,97,110,100,32,102,97,120,101,115,41,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,0,2,16,2,0,2,0,0,8,116,97,98, ++ 111,114,100,101,114,2,2,4,104,105,110,116,6,128,73,116,32,109,97,121, ++ 32,110,111,116,32,99,111,110,116,97,105,110,32,115,112,97,99,101,115,32, ++ 40,32,105,102,32,105,110,97,118,111,105,100,97,98,108,101,32,116,104,101, ++ 110,32,114,101,110,97,109,101,32,116,104,101,32,113,117,101,117,101,32,41, ++ 10,69,109,112,116,121,32,110,97,109,101,32,109,101,97,110,115,32,112,114, ++ 105,110,116,105,110,103,32,116,111,32,108,97,115,116,32,99,104,111,111,115, ++ 101,110,32,105,110,32,71,115,86,105,101,119,51,50,32,112,114,105,110,116, ++ 101,114,7,101,110,97,98,108,101,100,8,8,115,116,97,116,102,105,108,101, ++ 7,19,100,109,112,114,105,110,116,109,111,46,115,102,80,114,105,110,116,101, ++ 114,11,115,116,97,116,118,97,114,110,97,109,101,6,5,81,117,101,117,101, ++ 12,111,110,99,104,101,99,107,118,97,108,117,101,7,16,112,114,105,110,116, ++ 101,114,110,97,109,101,99,104,101,99,107,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,13,0,0,11,116,115,116,114,105,110,103,100,105,115, ++ 112,9,115,100,81,117,97,108,105,116,121,8,98,111,117,110,100,115,95,120, ++ 2,24,8,98,111,117,110,100,115,95,121,2,94,9,98,111,117,110,100,115, ++ 95,99,120,3,156,0,9,98,111,117,110,100,115,95,99,121,2,57,17,102, ++ 114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,5,0,0, ++ 160,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,16,80,114,105, ++ 110,116,105,110,103,32,113,117,97,108,105,116,121,16,102,114,97,109,101,46, ++ 108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111, ++ 114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,16,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,3, ++ 7,101,110,97,98,108,101,100,8,9,116,101,120,116,102,108,97,103,115,11, ++ 12,116,102,95,120,99,101,110,116,101,114,101,100,12,116,102,95,121,99,101, ++ 110,116,101,114,101,100,0,5,118,97,108,117,101,6,34,115,104,111,117,108, ++ 100,32,98,101,32,115,101,116,32,105,110,10,32,112,114,105,110,116,101,114, ++ 32,115,101,116,116,105,110,103,115,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,13,0,0,0,7,116,98,117,116,116,111,110,5,98,116,110, ++ 79,107,8,98,111,117,110,100,115,95,120,2,120,8,98,111,117,110,100,115, ++ 95,121,3,128,1,9,98,111,117,110,100,115,95,99,120,3,162,0,9,98, ++ 111,117,110,100,115,95,99,121,2,46,14,102,114,97,109,101,46,116,101,109, ++ 112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116, ++ 111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,5,115,116,97,116,101,11,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,0,7,99,97,112,116,105,111,110, ++ 6,2,79,107,11,109,111,100,97,108,114,101,115,117,108,116,7,5,109,114, ++ 95,111,107,0,0,7,116,98,117,116,116,111,110,9,98,116,110,67,97,110, ++ 99,101,108,8,98,111,117,110,100,115,95,120,3,64,1,8,98,111,117,110, ++ 100,115,95,121,3,144,1,9,98,111,117,110,100,115,95,99,120,2,82,9, ++ 98,111,117,110,100,115,95,99,121,2,30,17,102,114,97,109,101,46,99,111, ++ 108,111,114,99,108,105,101,110,116,4,3,0,0,160,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108, ++ 111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112, ++ 108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116,111, ++ 110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,5,115,116,97, ++ 116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0, ++ 7,99,97,112,116,105,111,110,6,6,67,97,110,99,101,108,10,102,111,110, ++ 116,46,99,111,108,111,114,4,6,0,0,160,9,102,111,110,116,46,110,97, ++ 109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,10,102,111,110,116, ++ 46,100,117,109,109,121,2,0,11,109,111,100,97,108,114,101,115,117,108,116, ++ 7,9,109,114,95,99,97,110,99,101,108,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tprintersetupformw32fo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/printersetupformw32.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/printersetupformw32.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,54 ---- ++ unit printersetupformw32; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,msegraphedits,msefiledialog, ++ msedataedits,msedispwidgets; ++ ++ type ++ tprintersetupformw32fo = class(tmseform) ++ brePS: tbooleaneditradio; ++ fneGSVPath: tfilenameedit; ++ grpPrinterType: tgroupbox; ++ grpPrintWay: tgroupbox; ++ breGDI: tbooleaneditradio; ++ grpPreviewMode: tgroupbox; ++ breUsePreview: tbooleaneditradio; ++ breNoPreview: tbooleaneditradio; ++ btnOk: tbutton; ++ btnCancel: tbutton; ++ seQueueName: tstringedit; ++ sdCommanSystem: tstringdisp; ++ sdQuality: tstringdisp; ++ procedure previewmodechanged(const sender: TObject); ++ procedure printernamecheck(const sender: tdataedit; const quiet: Boolean; ++ var accept: Boolean); ++ end; ++ ++ var ++ printersetupformw32fo: tprintersetupformw32fo; ++ ++ implementation ++ ++ uses ++ printersetupformw32_mfm, ++ dmprint ++ ; ++ ++ procedure tprintersetupformw32fo.previewmodechanged(const sender: TObject); ++ begin ++ seQueueName.enabled:= (sender as tbooleaneditradio).value; ++ sdQuality.enabled:= (sender as tbooleaneditradio).value; ++ grpPrinterType.enabled:= (sender as tbooleaneditradio).value; ++ end; ++ ++ ++ procedure tprintersetupformw32fo.printernamecheck(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ begin ++ if not dmprint.queuenamecheck(seQueueName.editor.text) then accept:= false; ++ end; ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,142 ---- ++ object reportcurrre: treportcurrre ++ ppmm = 3 ++ font.height = 14 ++ font.name = 'stf_report' ++ font.dummy = 0 ++ grid_size = 2 ++ repdesigninfo = ( ++ 98 ++ 28 ++ 662 ++ 684 ++ ) ++ moduleclassname = 'treport' ++ object treportpage1: treportpage ++ pagewidth = 190 ++ pageheight = 270 ++ font.height = 14 ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ options = [rpo_once] ++ object trepprintdatedisp1: trepprintdatedisp ++ bounds_x = 12 ++ bounds_y = 497 ++ bounds_cx = 135 ++ bounds_cy = 16 ++ format = 'yyyy, mmmm, dd hh:mm' ++ end ++ object trepspacer2: trepspacer ++ bounds_x = 258 ++ bounds_y = 477 ++ bounds_cx = 50 ++ bounds_cy = 20 ++ taborder = 1 ++ linktop = bgAll ++ linkbottom = trepprintdatedisp1 ++ end ++ object bgAll: tbandgroup ++ bounds_x = 0 ++ bounds_y = 86 ++ bounds_cx = 570 ++ bounds_cy = 391 ++ taborder = 2 ++ options = [bo_once] ++ object rbLongText: trecordband ++ bounds_x = 0 ++ bounds_y = -2 ++ bounds_cx = 570 ++ bounds_cy = 101 ++ frame.caption = 'Very long text :' ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612734 ++ frame.font.height = 16 ++ frame.font.style = [fs_bold, fs_underline] ++ frame.font.name = 'Times New Roman' ++ frame.font.dummy = 0 ++ frame.dummy = 0 ++ optionsscale = [osc_expandy, osc_shrinky] ++ tabs.count = 1 ++ tabs.items = < ++ item ++ pos = 41.666666666666657 ++ textflags = [tf_ycentered, tf_wordbreak] ++ datafield = 'fldMemo' ++ datasource = mainfo.ds ++ end> ++ end ++ object rbStuff: trecordband ++ bounds_x = 0 ++ bounds_y = 100 ++ bounds_cx = 570 ++ bounds_cy = 31 ++ frame.caption = 'Resistance :' ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612734 ++ frame.font.height = 16 ++ frame.font.style = [fs_bold, fs_underline] ++ frame.font.name = 'Times New Roman' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_framewidth, frl_fitop] ++ frame.dummy = 0 ++ taborder = 1 ++ tabs.count = 1 ++ tabs.items = < ++ item ++ pos = 41.666666666666657 ++ datafield = 'fldFloat' ++ datasource = mainfo.ds ++ end> ++ end ++ object rbPhoto: trecordband ++ bounds_x = 0 ++ bounds_y = 130 ++ bounds_cx = 570 ++ bounds_cy = 218 ++ frame.caption = 'Photo :' ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612734 ++ frame.font.height = 16 ++ frame.font.style = [fs_bold, fs_underline] ++ frame.font.name = 'Times New Roman' ++ frame.font.dummy = 0 ++ frame.dummy = 0 ++ taborder = 2 ++ optionsscale = [osc_expandy, osc_shrinky] ++ object dbdiPhoto: tdbdataimage ++ bounds_x = 126 ++ bounds_y = 0 ++ bounds_cx = 224 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ bitmap.alignment = [al_fit] ++ bitmap.transparency = -2147483648 ++ datafield = 'fldBlob' ++ datasource = mainfo.ds ++ end ++ end ++ end ++ object trecordband1: trecordband ++ bounds_x = 0 ++ bounds_y = 10 ++ bounds_cx = 570 ++ bounds_cy = 73 ++ taborder = 3 ++ tabs.count = 1 ++ tabs.items = < ++ item ++ kind = tak_centered ++ pos = 90 ++ value = 'Report for the currently'#13'selected record' ++ font.height = 18 ++ font.style = [fs_bold] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ datasource = mainfo.ds ++ end> ++ options = [bo_once] ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,134 ---- ++ unit reportcurr_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,reportcurr; ++ ++ const ++ objdata: record size: integer; data: array[0..2322] of byte end = ++ (size: 2323; data: ( ++ 84,80,70,48,13,116,114,101,112,111,114,116,99,117,114,114,114,101,12,114, ++ 101,112,111,114,116,99,117,114,114,114,101,4,112,112,109,109,2,3,11,102, ++ 111,110,116,46,104,101,105,103,104,116,2,14,9,102,111,110,116,46,110,97, ++ 109,101,6,10,115,116,102,95,114,101,112,111,114,116,10,102,111,110,116,46, ++ 100,117,109,109,121,2,0,9,103,114,105,100,95,115,105,122,101,2,2,13, ++ 114,101,112,100,101,115,105,103,110,105,110,102,111,1,2,98,2,28,3,150, ++ 2,3,172,2,0,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109, ++ 101,6,7,116,114,101,112,111,114,116,0,11,116,114,101,112,111,114,116,112, ++ 97,103,101,12,116,114,101,112,111,114,116,112,97,103,101,49,9,112,97,103, ++ 101,119,105,100,116,104,3,190,0,10,112,97,103,101,104,101,105,103,104,116, ++ 3,14,1,11,102,111,110,116,46,104,101,105,103,104,116,2,14,9,102,111, ++ 110,116,46,110,97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82, ++ 111,109,97,110,10,102,111,110,116,46,100,117,109,109,121,2,0,7,111,112, ++ 116,105,111,110,115,11,8,114,112,111,95,111,110,99,101,0,0,17,116,114, ++ 101,112,112,114,105,110,116,100,97,116,101,100,105,115,112,18,116,114,101,112, ++ 112,114,105,110,116,100,97,116,101,100,105,115,112,49,8,98,111,117,110,100, ++ 115,95,120,2,12,8,98,111,117,110,100,115,95,121,3,241,1,9,98,111, ++ 117,110,100,115,95,99,120,3,135,0,9,98,111,117,110,100,115,95,99,121, ++ 2,16,6,102,111,114,109,97,116,6,20,121,121,121,121,44,32,109,109,109, ++ 109,44,32,100,100,32,104,104,58,109,109,0,0,10,116,114,101,112,115,112, ++ 97,99,101,114,11,116,114,101,112,115,112,97,99,101,114,50,8,98,111,117, ++ 110,100,115,95,120,3,2,1,8,98,111,117,110,100,115,95,121,3,221,1, ++ 9,98,111,117,110,100,115,95,99,120,2,50,9,98,111,117,110,100,115,95, ++ 99,121,2,20,8,116,97,98,111,114,100,101,114,2,1,7,108,105,110,107, ++ 116,111,112,7,5,98,103,65,108,108,10,108,105,110,107,98,111,116,116,111, ++ 109,7,18,116,114,101,112,112,114,105,110,116,100,97,116,101,100,105,115,112, ++ 49,0,0,10,116,98,97,110,100,103,114,111,117,112,5,98,103,65,108,108, ++ 8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121, ++ 2,86,9,98,111,117,110,100,115,95,99,120,3,58,2,9,98,111,117,110, ++ 100,115,95,99,121,3,135,1,8,116,97,98,111,114,100,101,114,2,2,7, ++ 111,112,116,105,111,110,115,11,7,98,111,95,111,110,99,101,0,0,11,116, ++ 114,101,99,111,114,100,98,97,110,100,10,114,98,76,111,110,103,84,101,120, ++ 116,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95, ++ 121,2,254,9,98,111,117,110,100,115,95,99,120,3,58,2,9,98,111,117, ++ 110,100,115,95,99,121,2,101,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,16,86,101,114,121,32,108,111,110,103,32,116,101,120,116,32,58, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,0, ++ 22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111,117, ++ 116,101,114,9,16,102,114,97,109,101,46,102,111,110,116,46,99,111,108,111, ++ 114,4,2,0,0,160,17,102,114,97,109,101,46,102,111,110,116,46,104,101, ++ 105,103,104,116,2,16,16,102,114,97,109,101,46,102,111,110,116,46,115,116, ++ 121,108,101,11,7,102,115,95,98,111,108,100,12,102,115,95,117,110,100,101, ++ 114,108,105,110,101,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97, ++ 109,101,6,15,84,105,109,101,115,32,78,101,119,32,82,111,109,97,110,16, ++ 102,114,97,109,101,46,102,111,110,116,46,100,117,109,109,121,2,0,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,12,111,112,116,105,111,110,115, ++ 115,99,97,108,101,11,11,111,115,99,95,101,120,112,97,110,100,121,11,111, ++ 115,99,95,115,104,114,105,110,107,121,0,10,116,97,98,115,46,99,111,117, ++ 110,116,2,1,10,116,97,98,115,46,105,116,101,109,115,14,1,3,112,111, ++ 115,5,0,160,170,170,170,170,170,166,4,64,9,116,101,120,116,102,108,97, ++ 103,115,11,12,116,102,95,121,99,101,110,116,101,114,101,100,12,116,102,95, ++ 119,111,114,100,98,114,101,97,107,0,9,100,97,116,97,102,105,101,108,100, ++ 6,7,102,108,100,77,101,109,111,10,100,97,116,97,115,111,117,114,99,101, ++ 7,9,109,97,105,110,102,111,46,100,115,0,0,0,0,11,116,114,101,99, ++ 111,114,100,98,97,110,100,7,114,98,83,116,117,102,102,8,98,111,117,110, ++ 100,115,95,120,2,0,8,98,111,117,110,100,115,95,121,2,100,9,98,111, ++ 117,110,100,115,95,99,120,3,58,2,9,98,111,117,110,100,115,95,99,121, ++ 2,31,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,12,82,101, ++ 115,105,115,116,97,110,99,101,32,58,17,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,100,105,115,116,2,0,22,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,100,105,115,116,111,117,116,101,114,9,16,102,114,97,109,101, ++ 46,102,111,110,116,46,99,111,108,111,114,4,2,0,0,160,17,102,114,97, ++ 109,101,46,102,111,110,116,46,104,101,105,103,104,116,2,16,16,102,114,97, ++ 109,101,46,102,111,110,116,46,115,116,121,108,101,11,7,102,115,95,98,111, ++ 108,100,12,102,115,95,117,110,100,101,114,108,105,110,101,0,15,102,114,97, ++ 109,101,46,102,111,110,116,46,110,97,109,101,6,15,84,105,109,101,115,32, ++ 78,101,119,32,82,111,109,97,110,16,102,114,97,109,101,46,102,111,110,116, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,14,102,114,108,95,102,114,97,109,101,119,105,100,116, ++ 104,9,102,114,108,95,102,105,116,111,112,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,10,116,97, ++ 98,115,46,99,111,117,110,116,2,1,10,116,97,98,115,46,105,116,101,109, ++ 115,14,1,3,112,111,115,5,0,160,170,170,170,170,170,166,4,64,9,100, ++ 97,116,97,102,105,101,108,100,6,8,102,108,100,70,108,111,97,116,10,100, ++ 97,116,97,115,111,117,114,99,101,7,9,109,97,105,110,102,111,46,100,115, ++ 0,0,0,0,11,116,114,101,99,111,114,100,98,97,110,100,7,114,98,80, ++ 104,111,116,111,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110, ++ 100,115,95,121,3,130,0,9,98,111,117,110,100,115,95,99,120,3,58,2, ++ 9,98,111,117,110,100,115,95,99,121,3,218,0,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,6,7,80,104,111,116,111,32,58,17,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,0,22,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,100,105,115,116,111,117,116,101,114,9, ++ 16,102,114,97,109,101,46,102,111,110,116,46,99,111,108,111,114,4,2,0, ++ 0,160,17,102,114,97,109,101,46,102,111,110,116,46,104,101,105,103,104,116, ++ 2,16,16,102,114,97,109,101,46,102,111,110,116,46,115,116,121,108,101,11, ++ 7,102,115,95,98,111,108,100,12,102,115,95,117,110,100,101,114,108,105,110, ++ 101,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,15, ++ 84,105,109,101,115,32,78,101,119,32,82,111,109,97,110,16,102,114,97,109, ++ 101,46,102,111,110,116,46,100,117,109,109,121,2,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,12, ++ 111,112,116,105,111,110,115,115,99,97,108,101,11,11,111,115,99,95,101,120, ++ 112,97,110,100,121,11,111,115,99,95,115,104,114,105,110,107,121,0,0,12, ++ 116,100,98,100,97,116,97,105,109,97,103,101,9,100,98,100,105,80,104,111, ++ 116,111,8,98,111,117,110,100,115,95,120,2,126,8,98,111,117,110,100,115, ++ 95,121,2,0,9,98,111,117,110,100,115,95,99,120,3,224,0,9,98,111, ++ 117,110,100,115,95,99,121,3,218,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,16,98,105,116,109,97,112,46,97,108,105,103,110,109,101,110, ++ 116,11,6,97,108,95,102,105,116,0,19,98,105,116,109,97,112,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,9,100,97,116,97, ++ 102,105,101,108,100,6,7,102,108,100,66,108,111,98,10,100,97,116,97,115, ++ 111,117,114,99,101,7,9,109,97,105,110,102,111,46,100,115,0,0,0,0, ++ 11,116,114,101,99,111,114,100,98,97,110,100,12,116,114,101,99,111,114,100, ++ 98,97,110,100,49,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117, ++ 110,100,115,95,121,2,10,9,98,111,117,110,100,115,95,99,120,3,58,2, ++ 9,98,111,117,110,100,115,95,99,121,2,73,8,116,97,98,111,114,100,101, ++ 114,2,3,10,116,97,98,115,46,99,111,117,110,116,2,1,10,116,97,98, ++ 115,46,105,116,101,109,115,14,1,4,107,105,110,100,7,12,116,97,107,95, ++ 99,101,110,116,101,114,101,100,3,112,111,115,2,90,5,118,97,108,117,101, ++ 6,40,82,101,112,111,114,116,32,102,111,114,32,116,104,101,32,99,117,114, ++ 114,101,110,116,108,121,13,115,101,108,101,99,116,101,100,32,114,101,99,111, ++ 114,100,11,102,111,110,116,46,104,101,105,103,104,116,2,18,10,102,111,110, ++ 116,46,115,116,121,108,101,11,7,102,115,95,98,111,108,100,0,9,102,111, ++ 110,116,46,110,97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82, ++ 111,109,97,110,10,102,111,110,116,46,100,117,109,109,121,2,0,10,100,97, ++ 116,97,115,111,117,114,99,101,7,9,109,97,105,110,102,111,46,100,115,0, ++ 0,7,111,112,116,105,111,110,115,11,7,98,111,95,111,110,99,101,0,0, ++ 0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,treportcurrre,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportcurr.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportcurr.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,29 ---- ++ unit reportcurr; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,msereport,msesimplewidgets,msedbgraphics,msedbdispwidgets; ++ ++ type ++ treportcurrre = class(treport) ++ bgAll: tbandgroup; ++ dbdiPhoto: tdbdataimage; ++ rbLongText: trecordband; ++ rbPhoto: trecordband; ++ rbStuff: trecordband; ++ trecordband1: trecordband; ++ treportpage1: treportpage; ++ trepprintdatedisp1: trepprintdatedisp; ++ trepspacer2: trepspacer; ++ end; ++ ++ var ++ reportcurrre: treportcurrre; ++ ++ implementation ++ ++ uses ++ reportcurr_mfm; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik.mfm mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,184 ---- ++ object reportikre: treportikre ++ ppmm = 3 ++ font.height = 14 ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ grid_size = 2 ++ options = [reo_autorelease, reo_prepass] ++ onbeforerender = beforerender ++ repdesigninfo = ( ++ 51 ++ 75 ++ 828 ++ 606 ++ ) ++ moduleclassname = 'treport' ++ object treportpage1: treportpage ++ pagewidth = 190 ++ pageheight = 270 ++ object tbandarea1: tbandarea ++ bounds_x = 54 ++ bounds_y = 12 ++ bounds_cx = 440 ++ bounds_cy = 782 ++ object bandData: trecordband ++ bounds_x = 0 ++ bounds_y = 138 ++ bounds_cx = 440 ++ bounds_cy = 151 ++ bounds_cymin = 15 ++ frame.framei_bottom = 2 ++ frame.localprops = [frl_fileft, frl_fibottom] ++ frame.dummy = 0 ++ optionsscale = [osc_expandy, osc_shrinky] ++ font.height = 14 ++ font.extraspace = -5 ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ tabs.count = 2 ++ tabs.litop_widthmm = 0.1 ++ tabs.lileft_widthmm = 0.1 ++ tabs.livert_widthmm = 0.1 ++ tabs.liright_widthmm = 0.1 ++ tabs.libottom_widthmm = 0.1 ++ tabs.linksource = bandHeader ++ tabs.items = < ++ item ++ textflags = [tf_ycentered, tf_wordbreak, tf_softhyphen] ++ datafield = 'fldMemo' ++ datasource = mainfo.ds ++ livert_widthmm = 0.1 ++ distleft = 1 ++ distright = 1 ++ end ++ item ++ pos = 49 ++ textflags = [tf_xcentered, tf_ycentered] ++ datafield = 'fldFloat' ++ datasource = mainfo.ds ++ livert_widthmm = 0.1 ++ end> ++ datasource = mainfo.ds ++ onbeforerender = datarender ++ end ++ object bandHeader: trecordband ++ bounds_x = 0 ++ bounds_y = 108 ++ bounds_cx = 440 ++ bounds_cy = 19 ++ frame.framei_bottom = 2 ++ frame.localprops = [frl_fitop, frl_fibottom] ++ frame.dummy = 0 ++ taborder = 1 ++ optionsscale = [osc_expandy, osc_shrinky] ++ font.height = 14 ++ font.extraspace = -5 ++ font.style = [fs_bold] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ tabs.count = 2 ++ tabs.litop_widthmm = 0.3 ++ tabs.livert_widthmm = 0.3 ++ tabs.liright_widthmm = 0.3 ++ tabs.libottom_widthmm = 0.3 ++ tabs.items = < ++ item ++ value = 'Very long text' ++ textflags = [tf_xcentered, tf_ycentered, tf_wordbreak] ++ livert_widthmm = 0.3 ++ end ++ item ++ pos = 49 ++ value = 'Testcase resistance' ++ textflags = [tf_xcentered, tf_ycentered] ++ livert_widthmm = 0.3 ++ end> ++ options = [bo_once] ++ end ++ object trecordband1: trecordband ++ bounds_x = 0 ++ bounds_y = 12 ++ bounds_cx = 440 ++ bounds_cy = 91 ++ taborder = 2 ++ options = [bo_once] ++ object tlabel1: tlabel ++ bounds_x = 114 ++ bounds_y = 6 ++ bounds_cx = 242 ++ bounds_cy = 65 ++ frame.framei_right = 2 ++ frame.framei_bottom = 2 ++ frame.localprops = [frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ caption = 'Testcase report'#10'for debugging TMseSQLQuery'#13'in local mode, all records' ++ font.color = -1610612734 ++ font.height = 18 ++ font.style = [fs_bold] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ textflags = [tf_xcentered, tf_ycentered] ++ reffontheight = 21 ++ end ++ end ++ object bandFooter: trecordband ++ bounds_x = 0 ++ bounds_y = 300 ++ bounds_cx = 440 ++ bounds_cy = 45 ++ taborder = 3 ++ tabs.count = 2 ++ tabs.litop_widthmm = 0.3 ++ tabs.livert_widthmm = 0.3 ++ tabs.liright_widthmm = 0.3 ++ tabs.libottom_widthmm = 0.3 ++ tabs.linksource = bandHeader ++ tabs.items = < ++ item ++ value = 'The footer row' ++ font.height = 14 ++ font.style = [fs_italic] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ textflags = [tf_ycentered, tf_wordbreak] ++ livert_widthmm = 0.3 ++ distleft = 3 ++ end ++ item ++ pos = 49 ++ value = #8721' resistance' ++ font.height = 14 ++ font.style = [fs_bold] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ textflags = [tf_xcentered, tf_ycentered] ++ livert_widthmm = 0.3 ++ end> ++ options = [bo_once] ++ onbeforerender = footerrender ++ end ++ end ++ object treppagenumdisp1: treppagenumdisp ++ bounds_x = 516 ++ bounds_y = 0 ++ bounds_cx = 55 ++ bounds_cy = 13 ++ taborder = 1 ++ font.height = 10 ++ font.name = 'stf_report' ++ font.dummy = 0 ++ format = 'Page 0 of 1' ++ end ++ object trepprintdatedisp1: trepprintdatedisp ++ bounds_x = 0 ++ bounds_y = 798 ++ bounds_cx = 72 ++ bounds_cy = 11 ++ taborder = 2 ++ font.height = 9 ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ format = 'yyyy, mmmm dd' ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,182 ---- ++ unit reportik_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,reportik; ++ ++ const ++ objdata: record size: integer; data: array[0..3298] of byte end = ++ (size: 3299; data: ( ++ 84,80,70,48,11,116,114,101,112,111,114,116,105,107,114,101,10,114,101,112, ++ 111,114,116,105,107,114,101,4,112,112,109,109,2,3,11,102,111,110,116,46, ++ 104,101,105,103,104,116,2,14,9,102,111,110,116,46,110,97,109,101,6,15, ++ 84,105,109,101,115,32,78,101,119,32,82,111,109,97,110,10,102,111,110,116, ++ 46,100,117,109,109,121,2,0,9,103,114,105,100,95,115,105,122,101,2,2, ++ 7,111,112,116,105,111,110,115,11,15,114,101,111,95,97,117,116,111,114,101, ++ 108,101,97,115,101,11,114,101,111,95,112,114,101,112,97,115,115,0,14,111, ++ 110,98,101,102,111,114,101,114,101,110,100,101,114,7,12,98,101,102,111,114, ++ 101,114,101,110,100,101,114,13,114,101,112,100,101,115,105,103,110,105,110,102, ++ 111,1,2,51,2,75,3,60,3,3,94,2,0,15,109,111,100,117,108,101, ++ 99,108,97,115,115,110,97,109,101,6,7,116,114,101,112,111,114,116,0,11, ++ 116,114,101,112,111,114,116,112,97,103,101,12,116,114,101,112,111,114,116,112, ++ 97,103,101,49,9,112,97,103,101,119,105,100,116,104,3,190,0,10,112,97, ++ 103,101,104,101,105,103,104,116,3,14,1,0,9,116,98,97,110,100,97,114, ++ 101,97,10,116,98,97,110,100,97,114,101,97,49,8,98,111,117,110,100,115, ++ 95,120,2,54,8,98,111,117,110,100,115,95,121,2,12,9,98,111,117,110, ++ 100,115,95,99,120,3,184,1,9,98,111,117,110,100,115,95,99,121,3,14, ++ 3,0,11,116,114,101,99,111,114,100,98,97,110,100,8,98,97,110,100,68, ++ 97,116,97,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100, ++ 115,95,121,3,138,0,9,98,111,117,110,100,115,95,99,120,3,184,1,9, ++ 98,111,117,110,100,115,95,99,121,3,151,0,12,98,111,117,110,100,115,95, ++ 99,121,109,105,110,2,15,19,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,98,111,116,116,111,109,2,2,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,12,102, ++ 114,108,95,102,105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,12,111,112,116,105,111,110,115,115,99,97,108,101,11, ++ 11,111,115,99,95,101,120,112,97,110,100,121,11,111,115,99,95,115,104,114, ++ 105,110,107,121,0,11,102,111,110,116,46,104,101,105,103,104,116,2,14,15, ++ 102,111,110,116,46,101,120,116,114,97,115,112,97,99,101,2,251,9,102,111, ++ 110,116,46,110,97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82, ++ 111,109,97,110,10,102,111,110,116,46,100,117,109,109,121,2,0,10,116,97, ++ 98,115,46,99,111,117,110,116,2,2,18,116,97,98,115,46,108,105,116,111, ++ 112,95,119,105,100,116,104,109,109,5,0,208,204,204,204,204,204,204,251,63, ++ 19,116,97,98,115,46,108,105,108,101,102,116,95,119,105,100,116,104,109,109, ++ 5,0,208,204,204,204,204,204,204,251,63,19,116,97,98,115,46,108,105,118, ++ 101,114,116,95,119,105,100,116,104,109,109,5,0,208,204,204,204,204,204,204, ++ 251,63,20,116,97,98,115,46,108,105,114,105,103,104,116,95,119,105,100,116, ++ 104,109,109,5,0,208,204,204,204,204,204,204,251,63,21,116,97,98,115,46, ++ 108,105,98,111,116,116,111,109,95,119,105,100,116,104,109,109,5,0,208,204, ++ 204,204,204,204,204,251,63,15,116,97,98,115,46,108,105,110,107,115,111,117, ++ 114,99,101,7,10,98,97,110,100,72,101,97,100,101,114,10,116,97,98,115, ++ 46,105,116,101,109,115,14,1,9,116,101,120,116,102,108,97,103,115,11,12, ++ 116,102,95,121,99,101,110,116,101,114,101,100,12,116,102,95,119,111,114,100, ++ 98,114,101,97,107,13,116,102,95,115,111,102,116,104,121,112,104,101,110,0, ++ 9,100,97,116,97,102,105,101,108,100,6,7,102,108,100,77,101,109,111,10, ++ 100,97,116,97,115,111,117,114,99,101,7,9,109,97,105,110,102,111,46,100, ++ 115,14,108,105,118,101,114,116,95,119,105,100,116,104,109,109,5,0,208,204, ++ 204,204,204,204,204,251,63,8,100,105,115,116,108,101,102,116,2,1,9,100, ++ 105,115,116,114,105,103,104,116,2,1,0,1,3,112,111,115,2,49,9,116, ++ 101,120,116,102,108,97,103,115,11,12,116,102,95,120,99,101,110,116,101,114, ++ 101,100,12,116,102,95,121,99,101,110,116,101,114,101,100,0,9,100,97,116, ++ 97,102,105,101,108,100,6,8,102,108,100,70,108,111,97,116,10,100,97,116, ++ 97,115,111,117,114,99,101,7,9,109,97,105,110,102,111,46,100,115,14,108, ++ 105,118,101,114,116,95,119,105,100,116,104,109,109,5,0,208,204,204,204,204, ++ 204,204,251,63,0,0,10,100,97,116,97,115,111,117,114,99,101,7,9,109, ++ 97,105,110,102,111,46,100,115,14,111,110,98,101,102,111,114,101,114,101,110, ++ 100,101,114,7,10,100,97,116,97,114,101,110,100,101,114,0,0,11,116,114, ++ 101,99,111,114,100,98,97,110,100,10,98,97,110,100,72,101,97,100,101,114, ++ 8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95,121, ++ 2,108,9,98,111,117,110,100,115,95,99,120,3,184,1,9,98,111,117,110, ++ 100,115,95,99,121,2,19,19,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,98,111,116,116,111,109,2,2,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,9,102,114,108,95,102,105,116,111,112,12,102,114, ++ 108,95,102,105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,12,111,112,116, ++ 105,111,110,115,115,99,97,108,101,11,11,111,115,99,95,101,120,112,97,110, ++ 100,121,11,111,115,99,95,115,104,114,105,110,107,121,0,11,102,111,110,116, ++ 46,104,101,105,103,104,116,2,14,15,102,111,110,116,46,101,120,116,114,97, ++ 115,112,97,99,101,2,251,10,102,111,110,116,46,115,116,121,108,101,11,7, ++ 102,115,95,98,111,108,100,0,9,102,111,110,116,46,110,97,109,101,6,15, ++ 84,105,109,101,115,32,78,101,119,32,82,111,109,97,110,10,102,111,110,116, ++ 46,100,117,109,109,121,2,0,10,116,97,98,115,46,99,111,117,110,116,2, ++ 2,18,116,97,98,115,46,108,105,116,111,112,95,119,105,100,116,104,109,109, ++ 5,0,152,153,153,153,153,153,153,253,63,19,116,97,98,115,46,108,105,118, ++ 101,114,116,95,119,105,100,116,104,109,109,5,0,152,153,153,153,153,153,153, ++ 253,63,20,116,97,98,115,46,108,105,114,105,103,104,116,95,119,105,100,116, ++ 104,109,109,5,0,152,153,153,153,153,153,153,253,63,21,116,97,98,115,46, ++ 108,105,98,111,116,116,111,109,95,119,105,100,116,104,109,109,5,0,152,153, ++ 153,153,153,153,153,253,63,10,116,97,98,115,46,105,116,101,109,115,14,1, ++ 5,118,97,108,117,101,6,14,86,101,114,121,32,108,111,110,103,32,116,101, ++ 120,116,9,116,101,120,116,102,108,97,103,115,11,12,116,102,95,120,99,101, ++ 110,116,101,114,101,100,12,116,102,95,121,99,101,110,116,101,114,101,100,12, ++ 116,102,95,119,111,114,100,98,114,101,97,107,0,14,108,105,118,101,114,116, ++ 95,119,105,100,116,104,109,109,5,0,152,153,153,153,153,153,153,253,63,0, ++ 1,3,112,111,115,2,49,5,118,97,108,117,101,6,19,84,101,115,116,99, ++ 97,115,101,32,114,101,115,105,115,116,97,110,99,101,9,116,101,120,116,102, ++ 108,97,103,115,11,12,116,102,95,120,99,101,110,116,101,114,101,100,12,116, ++ 102,95,121,99,101,110,116,101,114,101,100,0,14,108,105,118,101,114,116,95, ++ 119,105,100,116,104,109,109,5,0,152,153,153,153,153,153,153,253,63,0,0, ++ 7,111,112,116,105,111,110,115,11,7,98,111,95,111,110,99,101,0,0,0, ++ 11,116,114,101,99,111,114,100,98,97,110,100,12,116,114,101,99,111,114,100, ++ 98,97,110,100,49,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117, ++ 110,100,115,95,121,2,12,9,98,111,117,110,100,115,95,99,120,3,184,1, ++ 9,98,111,117,110,100,115,95,99,121,2,91,8,116,97,98,111,114,100,101, ++ 114,2,2,7,111,112,116,105,111,110,115,11,7,98,111,95,111,110,99,101, ++ 0,0,6,116,108,97,98,101,108,7,116,108,97,98,101,108,49,8,98,111, ++ 117,110,100,115,95,120,2,114,8,98,111,117,110,100,115,95,121,2,6,9, ++ 98,111,117,110,100,115,95,99,120,3,242,0,9,98,111,117,110,100,115,95, ++ 99,121,2,65,18,102,114,97,109,101,46,102,114,97,109,101,105,95,114,105, ++ 103,104,116,2,2,19,102,114,97,109,101,46,102,114,97,109,101,105,95,98, ++ 111,116,116,111,109,2,2,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,11,102,114,108,95,102,105,114,105,103,104,116,12,102,114, ++ 108,95,102,105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,7,99,97,112,116,105,111,110,6,69,84,101,115,116,99, ++ 97,115,101,32,114,101,112,111,114,116,10,102,111,114,32,100,101,98,117,103, ++ 103,105,110,103,32,84,77,115,101,83,81,76,81,117,101,114,121,13,105,110, ++ 32,108,111,99,97,108,32,109,111,100,101,44,32,97,108,108,32,114,101,99, ++ 111,114,100,115,10,102,111,110,116,46,99,111,108,111,114,4,2,0,0,160, ++ 11,102,111,110,116,46,104,101,105,103,104,116,2,18,10,102,111,110,116,46, ++ 115,116,121,108,101,11,7,102,115,95,98,111,108,100,0,9,102,111,110,116, ++ 46,110,97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82,111,109, ++ 97,110,10,102,111,110,116,46,100,117,109,109,121,2,0,9,116,101,120,116, ++ 102,108,97,103,115,11,12,116,102,95,120,99,101,110,116,101,114,101,100,12, ++ 116,102,95,121,99,101,110,116,101,114,101,100,0,13,114,101,102,102,111,110, ++ 116,104,101,105,103,104,116,2,21,0,0,0,11,116,114,101,99,111,114,100, ++ 98,97,110,100,10,98,97,110,100,70,111,111,116,101,114,8,98,111,117,110, ++ 100,115,95,120,2,0,8,98,111,117,110,100,115,95,121,3,44,1,9,98, ++ 111,117,110,100,115,95,99,120,3,184,1,9,98,111,117,110,100,115,95,99, ++ 121,2,45,8,116,97,98,111,114,100,101,114,2,3,10,116,97,98,115,46, ++ 99,111,117,110,116,2,2,18,116,97,98,115,46,108,105,116,111,112,95,119, ++ 105,100,116,104,109,109,5,0,152,153,153,153,153,153,153,253,63,19,116,97, ++ 98,115,46,108,105,118,101,114,116,95,119,105,100,116,104,109,109,5,0,152, ++ 153,153,153,153,153,153,253,63,20,116,97,98,115,46,108,105,114,105,103,104, ++ 116,95,119,105,100,116,104,109,109,5,0,152,153,153,153,153,153,153,253,63, ++ 21,116,97,98,115,46,108,105,98,111,116,116,111,109,95,119,105,100,116,104, ++ 109,109,5,0,152,153,153,153,153,153,153,253,63,15,116,97,98,115,46,108, ++ 105,110,107,115,111,117,114,99,101,7,10,98,97,110,100,72,101,97,100,101, ++ 114,10,116,97,98,115,46,105,116,101,109,115,14,1,5,118,97,108,117,101, ++ 6,14,84,104,101,32,102,111,111,116,101,114,32,114,111,119,11,102,111,110, ++ 116,46,104,101,105,103,104,116,2,14,10,102,111,110,116,46,115,116,121,108, ++ 101,11,9,102,115,95,105,116,97,108,105,99,0,9,102,111,110,116,46,110, ++ 97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82,111,109,97,110, ++ 10,102,111,110,116,46,100,117,109,109,121,2,0,9,116,101,120,116,102,108, ++ 97,103,115,11,12,116,102,95,121,99,101,110,116,101,114,101,100,12,116,102, ++ 95,119,111,114,100,98,114,101,97,107,0,14,108,105,118,101,114,116,95,119, ++ 105,100,116,104,109,109,5,0,152,153,153,153,153,153,153,253,63,8,100,105, ++ 115,116,108,101,102,116,2,3,0,1,3,112,111,115,2,49,5,118,97,108, ++ 117,101,18,12,0,0,0,17,34,32,0,114,0,101,0,115,0,105,0,115, ++ 0,116,0,97,0,110,0,99,0,101,0,11,102,111,110,116,46,104,101,105, ++ 103,104,116,2,14,10,102,111,110,116,46,115,116,121,108,101,11,7,102,115, ++ 95,98,111,108,100,0,9,102,111,110,116,46,110,97,109,101,6,15,84,105, ++ 109,101,115,32,78,101,119,32,82,111,109,97,110,10,102,111,110,116,46,100, ++ 117,109,109,121,2,0,9,116,101,120,116,102,108,97,103,115,11,12,116,102, ++ 95,120,99,101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116,101, ++ 114,101,100,0,14,108,105,118,101,114,116,95,119,105,100,116,104,109,109,5, ++ 0,152,153,153,153,153,153,153,253,63,0,0,7,111,112,116,105,111,110,115, ++ 11,7,98,111,95,111,110,99,101,0,14,111,110,98,101,102,111,114,101,114, ++ 101,110,100,101,114,7,12,102,111,111,116,101,114,114,101,110,100,101,114,0, ++ 0,0,15,116,114,101,112,112,97,103,101,110,117,109,100,105,115,112,16,116, ++ 114,101,112,112,97,103,101,110,117,109,100,105,115,112,49,8,98,111,117,110, ++ 100,115,95,120,3,4,2,8,98,111,117,110,100,115,95,121,2,0,9,98, ++ 111,117,110,100,115,95,99,120,2,55,9,98,111,117,110,100,115,95,99,121, ++ 2,13,8,116,97,98,111,114,100,101,114,2,1,11,102,111,110,116,46,104, ++ 101,105,103,104,116,2,10,9,102,111,110,116,46,110,97,109,101,6,10,115, ++ 116,102,95,114,101,112,111,114,116,10,102,111,110,116,46,100,117,109,109,121, ++ 2,0,6,102,111,114,109,97,116,6,11,80,97,103,101,32,48,32,111,102, ++ 32,49,0,0,17,116,114,101,112,112,114,105,110,116,100,97,116,101,100,105, ++ 115,112,18,116,114,101,112,112,114,105,110,116,100,97,116,101,100,105,115,112, ++ 49,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95, ++ 121,3,30,3,9,98,111,117,110,100,115,95,99,120,2,72,9,98,111,117, ++ 110,100,115,95,99,121,2,11,8,116,97,98,111,114,100,101,114,2,2,11, ++ 102,111,110,116,46,104,101,105,103,104,116,2,9,9,102,111,110,116,46,110, ++ 97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82,111,109,97,110, ++ 10,102,111,110,116,46,100,117,109,109,121,2,0,6,102,111,114,109,97,116, ++ 6,13,121,121,121,121,44,32,109,109,109,109,32,100,100,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,treportikre,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/reportik.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/reportik.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,61 ---- ++ unit reportik; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msegui,mseclasses,msereport,msememds,msedb,msesimplewidgets,msesqldb, ++ msedbgraphics; ++ ++ type ++ treportikre = class(treport) ++ tbandarea1: tbandarea; ++ bandData: trecordband; ++ bandHeader: trecordband; ++ tlabel1: tlabel; ++ trecordband1: trecordband; ++ bandFooter: trecordband; ++ treportpage1: treportpage; ++ treppagenumdisp1: treppagenumdisp; ++ trepprintdatedisp1: trepprintdatedisp; ++ procedure beforerender(const sender: TObject); ++ procedure datarender(const sender: tcustomrecordband; var empty: Boolean); ++ procedure footerrender(const sender: tcustomrecordband; var empty: Boolean); ++ end; ++ ++ var ++ reportikre: treportikre; ++ ++ implementation ++ ++ uses ++ reportik_mfm, ++ main, //qry ++ sysutils // floattostrf ++ ; ++ ++ var ++ stuff_sum: double; ++ ++ procedure treportikre.beforerender(const sender: TObject); ++ begin ++ stuff_sum:= 0; ++ end; ++ ++ ++ procedure treportikre.datarender(const sender: tcustomrecordband; ++ var empty: Boolean); ++ begin ++ if not empty then ++ stuff_sum:= stuff_sum + mainfo.fldFloatStuff.asfloat; ++ end; ++ ++ procedure treportikre.footerrender(const sender: tcustomrecordband; ++ var empty: Boolean); ++ begin ++ with sender do begin ++ tabs[1].value:= #8721' resistance = ' + floattostrf(stuff_sum,ffNumber,2,2); ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/shrinking_testcase.pas mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/shrinking_testcase.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/shrinking_testcase.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/shrinking_testcase.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,15 ---- ++ program shrinking_testcase; ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype console}{$endif} ++ {$endif} ++ ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main,dmprint; ++ ++ begin ++ application.createdatamodule(tdmprintmo,dmprintmo); ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/shrinking_testcase.prj mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/shrinking_testcase.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/shrinking_testcase.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/shrinking_testcase.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,721 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/print_testcase ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ options=44 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ stringlisteditor=6 ++ [stringlisteditor] ++ stackedunder= ++ x=182 ++ y=208 ++ cx=275 ++ cy=237 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=530 ++ y=246 ++ cx=342 ++ cy=303 ++ dbfieldeditor=12 ++ [msedbfieldeditorfo] ++ stackedunder= ++ x=29 ++ y=248 ++ cx=601 ++ cy=216 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msedbfieldeditorfo.splitter] ++ x=331 ++ y=24 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=6 ++ DMPRINTMO ++ MAINFO ++ PRINTERSETUPFO ++ PRINTERSETUPFORMW32FO ++ REPORTCURRRE ++ REPORTIKRE ++ moduletypes=6 ++ TDMPRINTMO ++ TMAINFO ++ TPRINTERSETUPFO ++ TPRINTERSETUPFORMW32FO ++ TREPORTCURRRE ++ TREPORTIKRE ++ modulefiles=6 ++ /home/pochta/mseide_projects/print_testcase/dmprint.mfm ++ /home/pochta/mseide_projects/print_testcase/main.mfm ++ /home/pochta/mseide_projects/print_testcase/printersetupform.mfm ++ /home/pochta/mseide_projects/print_testcase/printersetupformw32.mfm ++ /home/pochta/mseide_projects/print_testcase/reportcurr.mfm ++ /home/pochta/mseide_projects/print_testcase/reportik.mfm ++ mainfile=shrinking_testcase.pas ++ targetfile=shrinking_testcase${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -Fcutf8 -gh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=1 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=2 ++ 1 ++ 0 ++ path=2 ++ ++ /home/pochta/mseide_projects/print_testcase/main.pas ++ line=2 ++ 0 ++ 80 ++ ignore=2 ++ 0 ++ 0 ++ condition=2 ++ ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=321 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=9 ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/shrinking_testcase/dmprint.pas ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/shrinking_testcase/printersetupformw32.pas ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/Podpiska_reports/dmacnt1.mfm ++ /home/pochta/mseide_projects/podpiska/reportf18.mfm ++ /home/pochta/mseide_projects/podpiska/reportf18.pas ++ /home/pochta/mseide_projects/podpiska/dmf18.pas ++ /home/pochta/mseide_projects/podpiska/printf18.inc ++ /home/pochta/mseide_projects/podpiska/main.pas ++ /home/pochta/mseide_projects/podpiska/dmrefs.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=904 ++ cy=527 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=reportdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=447 ++ cx=904 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=708 ++ y=114 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=136 ++ width1=164 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=19 ++ y=138 ++ cx=914 ++ cy=527 ++ wsize=0 ++ active=1 ++ visible=1 ++ [edit] ++ hintwidth=314 ++ hintheight=214 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=SQUALITY ++ findhistory=5 ++ SQUALITY ++ freeandn ++ formatflo ++ gettemp ++ dmprintmo ++ findoptions=1 ++ editpos=9 ++ 0,0 ++ 0,0 ++ 0,0 ++ 0,0 ++ 0,159 ++ 0,0 ++ 0,-1073741823 ++ 0,-1073741823 ++ 0,18 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ bookmarks3=0 ++ bookmarks4=0 ++ bookmarks5=0 ++ bookmarks6=0 ++ bookmarks7=0 ++ bookmarks8=0 ++ sourcefiles=9 ++ /home/pochta/mseide_projects/print_testcase/shrinking_testcase.pas ++ /home/pochta/mseide_projects/print_testcase/main.pas ++ /home/pochta/mseide_projects/print_testcase/reportik.pas ++ /home/pochta/mseide_projects/print_testcase/printersetupform.pas ++ /home/pochta/mseide_projects/print_testcase/dmprint.pas ++ /home/pochta/mseide_projects/print_testcase/printersetupformw32.pas ++ /home/pochta/mseide_projects/print_testcase/printersetupform.pas ++ /home/pochta/mseide_projects/print_testcase/printersetupformw32.pas ++ /home/pochta/mseide_projects/print_testcase/reportcurr.pas ++ relpaths=9 ++ shrinking_testcase.pas ++ main.pas ++ reportik.pas ++ printersetupform.pas ++ dmprint.pas ++ printersetupformw32.pas ++ printersetupform.pas ++ printersetupformw32.pas ++ reportcurr.pas ++ ismoduletexts=9 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ modules=6 ++ /home/pochta/mseide_projects/print_testcase/main.mfm ++ /home/pochta/mseide_projects/print_testcase/dmprint.mfm ++ /home/pochta/mseide_projects/print_testcase/reportik.mfm ++ /home/pochta/mseide_projects/print_testcase/printersetupform.mfm ++ /home/pochta/mseide_projects/print_testcase/printersetupformw32.mfm ++ /home/pochta/mseide_projects/print_testcase/reportcurr.mfm ++ visiblemodules=6 ++ 1 ++ 1 ++ 1 ++ 1 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ order=9 ++ 0 ++ 1 ++ 2 ++ 8 ++ 3 ++ 4 ++ 5 ++ 6 ++ 7 ++ tabsize=134 ++ firsttab=0 ++ index=5 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/status.sta mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/status.sta +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/print_testcase/status.sta 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/print_testcase/status.sta 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,321 ---- ++ [mainfo] ++ stackedunder=objectinspectorfo ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=9 ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/shrinking_testcase/dmprint.pas ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/shrinking_testcase/printersetupformw32.pas ++ /D:/Documents and Settings/ivankob/MSEGUI_PROJECTS/Podpiska_reports/dmacnt1.mfm ++ /home/pochta/mseide_projects/podpiska/reportf18.mfm ++ /home/pochta/mseide_projects/podpiska/reportf18.pas ++ /home/pochta/mseide_projects/podpiska/dmf18.pas ++ /home/pochta/mseide_projects/podpiska/printf18.inc ++ /home/pochta/mseide_projects/podpiska/main.pas ++ /home/pochta/mseide_projects/podpiska/dmrefs.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=904 ++ cy=527 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=447 ++ cx=904 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=140 ++ width1=145 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=233 ++ y=217 ++ cx=530 ++ cy=289 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder= ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=79 ++ y=299 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=19 ++ y=138 ++ cx=914 ++ cy=527 ++ wsize=0 ++ active=0 ++ visible=1 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform.mfm mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,80 ---- ++ object barfo: tbarfo ++ bounds_x = 233 ++ bounds_y = 247 ++ bounds_cx = 218 ++ bounds_cy = 49 ++ frame.levelo = 2 ++ frame.localprops = [frl_levelo] ++ frame.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 2 ++ container.bounds_y = 2 ++ container.bounds_cx = 214 ++ container.bounds_cy = 45 ++ container.frame.dummy = 0 ++ optionswindow = [wo_popup] ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ icon.transparency = -2147483648 ++ oncreate = barformcreate ++ ondestroy = barfodestroy ++ moduleclassname = 'tmseform' ++ object bar: tprogressbar ++ bounds_x = 8 ++ bounds_y = -1 ++ bounds_cy = 37 ++ frame.levelo = -2 ++ frame.framewidth = 1 ++ frame.colorframe = -1610612734 ++ frame.framei_left = 0 ++ frame.framei_top = 0 ++ frame.framei_right = 0 ++ frame.framei_bottom = 0 ++ frame.caption = 'Current item' ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ face.image.transparency = -2147483648 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ -1610612712 ++ -1610612729 ++ ) ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ bar_face.image.transparency = -2147483648 ++ bar_face.fade_pos.count = 3 ++ bar_face.fade_pos.items = ( ++ 0 ++ 0.4 ++ 1 ++ ) ++ bar_face.fade_color.count = 3 ++ bar_face.fade_color.items = ( ++ -1610612721 ++ -1610612715 ++ -1610612727 ++ ) ++ bar_face.fade_direction = gd_up ++ bar_face.fade_transparency = -2147483648 ++ bar_face.dummy = 0 ++ bar_frame.dummy = 0 ++ scale = 0.01 ++ format = ' 0%' ++ textflags = [tf_ycentered] ++ font.color = -1610612730 ++ font.style = [fs_bold] ++ font.name = 'stf_default' ++ font.dummy = 0 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,95 ---- ++ unit barform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,barform; ++ ++ const ++ objdata: record size: integer; data: array[0..1552] of byte end = ++ (size: 1553; data: ( ++ 84,80,70,48,6,116,98,97,114,102,111,5,98,97,114,102,111,8,98,111, ++ 117,110,100,115,95,120,3,233,0,8,98,111,117,110,100,115,95,121,3,247, ++ 0,9,98,111,117,110,100,115,95,99,120,3,218,0,9,98,111,117,110,100, ++ 115,95,99,121,2,49,12,102,114,97,109,101,46,108,101,118,101,108,111,2, ++ 2,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,108,101,118,101,108,111,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110, ++ 116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116, ++ 11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116, ++ 97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117, ++ 115,101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,2, ++ 18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2, ++ 2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99, ++ 120,3,214,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,99,121,2,45,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110,115,119,105, ++ 110,100,111,119,11,8,119,111,95,112,111,112,117,112,0,7,111,112,116,105, ++ 111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114, ++ 101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102, ++ 111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115, ++ 97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0, ++ 17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0, ++ 0,0,128,8,111,110,99,114,101,97,116,101,7,13,98,97,114,102,111,114, ++ 109,99,114,101,97,116,101,9,111,110,100,101,115,116,114,111,121,7,12,98, ++ 97,114,102,111,100,101,115,116,114,111,121,15,109,111,100,117,108,101,99,108, ++ 97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,12,116, ++ 112,114,111,103,114,101,115,115,98,97,114,3,98,97,114,8,98,111,117,110, ++ 100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,255,9,98,111, ++ 117,110,100,115,95,99,121,2,37,12,102,114,97,109,101,46,108,101,118,101, ++ 108,111,2,254,16,102,114,97,109,101,46,102,114,97,109,101,119,105,100,116, ++ 104,2,1,16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101, ++ 4,2,0,0,160,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108, ++ 101,102,116,2,0,16,102,114,97,109,101,46,102,114,97,109,101,105,95,116, ++ 111,112,2,0,18,102,114,97,109,101,46,102,114,97,109,101,105,95,114,105, ++ 103,104,116,2,0,19,102,114,97,109,101,46,102,114,97,109,101,105,95,98, ++ 111,116,116,111,109,2,0,13,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,6,12,67,117,114,114,101,110,116,32,105,116,101,109,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14, ++ 102,114,108,95,99,111,108,111,114,102,114,97,109,101,10,102,114,108,95,102, ++ 105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95, ++ 102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109, ++ 15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,17,2,0,2,0,0,23,102, ++ 97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,19,102,97,99,101,46,102,97,100,101,95,112,111, ++ 115,46,99,111,117,110,116,2,2,19,102,97,99,101,46,102,97,100,101,95, ++ 112,111,115,46,105,116,101,109,115,1,2,0,2,1,0,21,102,97,99,101, ++ 46,102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,21, ++ 102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109, ++ 115,1,4,24,0,0,160,4,7,0,0,160,0,22,102,97,99,101,46,102, ++ 97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,10,102,97,99,101,46,100,117,109,109,121,2,0,27,98,97,114,95,102, ++ 97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,23,98,97,114,95,102,97,99,101,46,102,97,100, ++ 101,95,112,111,115,46,99,111,117,110,116,2,3,23,98,97,114,95,102,97, ++ 99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,2,0, ++ 5,0,208,204,204,204,204,204,204,253,63,2,1,0,25,98,97,114,95,102, ++ 97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116, ++ 2,3,25,98,97,114,95,102,97,99,101,46,102,97,100,101,95,99,111,108, ++ 111,114,46,105,116,101,109,115,1,4,15,0,0,160,4,21,0,0,160,4, ++ 9,0,0,160,0,23,98,97,114,95,102,97,99,101,46,102,97,100,101,95, ++ 100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,26,98,97,114, ++ 95,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101, ++ 110,99,121,4,0,0,0,128,14,98,97,114,95,102,97,99,101,46,100,117, ++ 109,109,121,2,0,15,98,97,114,95,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,5,115,99,97,108,101,5,0,216,163,112,61,10,215,163,248,63, ++ 6,102,111,114,109,97,116,6,3,32,48,37,9,116,101,120,116,102,108,97, ++ 103,115,11,12,116,102,95,121,99,101,110,116,101,114,101,100,0,10,102,111, ++ 110,116,46,99,111,108,111,114,4,6,0,0,160,10,102,111,110,116,46,115, ++ 116,121,108,101,11,7,102,115,95,98,111,108,100,0,9,102,111,110,116,46, ++ 110,97,109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,10,102,111, ++ 110,116,46,100,117,109,109,121,2,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tbarfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform.pas mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/barform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/barform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,35 ---- ++ unit barform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msegraphedits; ++ ++ type ++ tbarfo = class(tmseform) ++ bar: tprogressbar; ++ procedure barformcreate(const sender: TObject); ++ procedure barfodestroy(const sender: TObject); ++ end; ++ ++ var ++ barfo: tbarfo; ++ ++ implementation ++ ++ uses ++ barform_mfm, ++ main ++ ; ++ ++ procedure tbarfo.barformcreate(const sender: TObject); ++ begin ++ mainfo.thrTask.run; ++ end; ++ ++ procedure tbarfo.barfodestroy(const sender: TObject); ++ begin ++ mainfo.thrTask.terminate; ++ end; ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main.mfm mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,46 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 141 ++ bounds_y = 156 ++ bounds_cx = 337 ++ bounds_cy = 64 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 337 ++ container.bounds_cy = 64 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Everlasting task runner' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ bounds_x = 120 ++ bounds_y = 16 ++ bounds_cx = 98 ++ bounds_cy = 35 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_stretchx, al_stretchy, al_intpol] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000100000001000000008000000000000000000000000000000 ++ 0000000000000000000000000000000000000000B56059FFB560590108000000 ++ 000000FF00000001 ++ } ++ face.fade_direction = gd_up ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Run task' ++ onexecute = taskexec ++ end ++ object thrTask: tthreadcomp ++ onexecute = taskexecute ++ onterminate = taskfinished ++ left = 248 ++ top = 24 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,77 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1186] of byte end = ++ (size: 1187; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,141,0,8,98,111,117,110,100, ++ 115,95,121,3,156,0,9,98,111,117,110,100,115,95,99,120,3,81,1,9, ++ 98,111,117,110,100,115,95,99,121,2,64,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,81,1,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,2,64,21,99, ++ 111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14,119,111, ++ 95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105,111,110, ++ 115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110, ++ 97,116,101,111,110,99,108,111,115,101,17,102,111,95,115,99,114,101,101,110, ++ 99,101,110,116,101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100, ++ 115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97, ++ 116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101, ++ 115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,23,69,118,101,114, ++ 108,97,115,116,105,110,103,32,116,97,115,107,32,114,117,110,110,101,114,17, ++ 105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8, ++ 116,109,115,101,102,111,114,109,0,7,116,98,117,116,116,111,110,8,116,98, ++ 117,116,116,111,110,49,8,98,111,117,110,100,115,95,120,2,120,8,98,111, ++ 117,110,100,115,95,121,2,16,9,98,111,117,110,100,115,95,99,120,2,98, ++ 9,98,111,117,110,100,115,95,99,121,2,35,27,102,97,99,101,46,105,109, ++ 97,103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114, ++ 4,0,0,0,128,18,102,97,99,101,46,105,109,97,103,101,46,111,112,116, ++ 105,111,110,115,11,10,98,109,111,95,109,97,115,107,101,100,13,98,109,111, ++ 95,99,111,108,111,114,109,97,115,107,0,20,102,97,99,101,46,105,109,97, ++ 103,101,46,97,108,105,103,110,109,101,110,116,11,11,97,108,95,115,116,114, ++ 101,116,99,104,120,11,97,108,95,115,116,114,101,116,99,104,121,9,97,108, ++ 95,105,110,116,112,111,108,0,23,102,97,99,101,46,105,109,97,103,101,46, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,16,102,97, ++ 99,101,46,105,109,97,103,101,46,105,109,97,103,101,10,72,0,0,0,0, ++ 0,0,0,6,0,0,0,16,0,0,0,16,0,0,0,8,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,181,96,89,255,181,96,89,1,8, ++ 0,0,0,0,0,0,255,0,0,0,1,19,102,97,99,101,46,102,97,100, ++ 101,95,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112,22,102, ++ 97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,10,102,97,99,101,46,100,117,109,109,121,2,0,5, ++ 115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105, ++ 111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101, ++ 0,7,99,97,112,116,105,111,110,6,8,82,117,110,32,116,97,115,107,9, ++ 111,110,101,120,101,99,117,116,101,7,8,116,97,115,107,101,120,101,99,0, ++ 0,11,116,116,104,114,101,97,100,99,111,109,112,7,116,104,114,84,97,115, ++ 107,9,111,110,101,120,101,99,117,116,101,7,11,116,97,115,107,101,120,101, ++ 99,117,116,101,11,111,110,116,101,114,109,105,110,97,116,101,7,12,116,97, ++ 115,107,102,105,110,105,115,104,101,100,4,108,101,102,116,3,248,0,3,116, ++ 111,112,2,24,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main.pas mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,50 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,mseguithread; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ thrTask: tthreadcomp; ++ procedure taskexec(const sender: TObject); ++ procedure taskexecute(const sender: tthreadcomp); ++ procedure taskfinished(const sender: tthreadcomp); ++ end; ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ main_mfm, ++ sysutils, ++ barform ++ ; ++ ++ procedure tmainfo.taskexec(const sender: TObject); ++ begin ++ application.createform(tbarfo, barfo); ++ barfo.show(true); ++ end; ++ ++ procedure tmainfo.taskexecute(const sender: tthreadcomp); ++ var ++ i: integer; ++ const ++ cnt = 5; ++ begin ++ for i:= 1 to cnt do begin ++ barfo.bar.value:= i/cnt; ++ sleep(300); ++ end; ++ end; ++ ++ procedure tmainfo.taskfinished(const sender: tthreadcomp); ++ begin ++ barfo.release; ++ barfo:= nil; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/progressbar.pas mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/progressbar.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/progressbar.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/progressbar.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program progressbar; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/progressbar.prj mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/progressbar.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/progressbar_test/progressbar.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/progressbar_test/progressbar.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,518 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/progressbar1 ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=2 ++ BARFO ++ MAINFO ++ moduletypes=2 ++ TBARFO ++ TMAINFO ++ modulefiles=2 ++ /home/pochta/mseide_projects/progressbar1/barform.mfm ++ /home/pochta/mseide_projects/progressbar1/main.mfm ++ mainfile=progressbar.pas ++ targetfile=progressbar${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ /home/pochta/mseide_projects/progressbar1/main.pas ++ line=1 ++ 47 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=233 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5616 ++ [mainfo.openfile] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=527 ++ parent=mainfo.panel1.container ++ visible=1 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=15 ++ parent=mainfo.basedock ++ visible=1 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=targetconsolefo ++ parent= ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=1551 ++ parent=mainfo.panel1.container ++ visible=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=783 ++ stackedunder=disassfo ++ parent= ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=mainfo ++ parent= ++ x=476 ++ y=27 ++ cx=278 ++ cy=518 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=149 ++ width1=113 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=findinfilefo ++ parent= ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=cpufo ++ parent= ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=watchpointsfo ++ parent= ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=stackfo ++ parent= ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=componentpalettefo ++ parent= ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=threadsfo ++ parent= ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=breakpointsfo ++ parent= ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=watchfo ++ parent= ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1 ++ stackedunder=formdesignerfo ++ parent= ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2047 ++ stackedunder=objectinspectorfo ++ parent= ++ x=4 ++ y=83 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=314 ++ hintheight=214 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 0,-1073741823 ++ 57,4 ++ 14,16 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/pochta/mseide_projects/progressbar1/progressbar.pas ++ /home/pochta/mseide_projects/progressbar1/main.pas ++ /home/pochta/mseide_projects/progressbar1/barform.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=2 ++ /home/pochta/mseide_projects/progressbar1/main.mfm ++ /home/pochta/mseide_projects/progressbar1/barform.mfm ++ visiblemodules=2 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/db_setup/data.sql mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/db_setup/data.sql +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/db_setup/data.sql 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/db_setup/data.sql 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,50 ---- ++ begin; ++ ++ create table datatypes_test ( ++ integerf1 integer, ++ largeintf1 largeint, ++ wordf1 word, ++ smallintf1 smallint, ++ booleanf1 boolean, ++ realfloatdoublef1 float, ++ datetimef1 datetime, ++ datef1 date, ++ timef1 time, ++ numericf1 numeric, ++ currencyf1 currency, ++ vcharf1 varchar, ++ textf1 text, ++ blobf1 blob ++ ); ++ ++ insert into datatypes_test ( ++ integerf1, ++ largeintf1, ++ wordf1, ++ smallintf1, ++ booleanf1, ++ realfloatdoublef1, ++ datetimef1, ++ datef1, ++ timef1, ++ numericf1, ++ currencyf1, ++ vcharf1, ++ textf1 ++ ) values ( ++ 2147483641, ++ 9223372036854775805, ++ 65501, ++ -32700, ++ 1 = 1, ++ 1.7e+37, ++ '2007-04-01 01:59:30', ++ '2007-04-01', ++ '01:59:30', ++ 1234567890.0987654321, ++ 9876543210.0123456789, ++ 'vchar_qwerty', ++ 'text_qwerty' ++ ); ++ ++ commit; +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/db_setup/do.sh mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/db_setup/do.sh +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/db_setup/do.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/db_setup/do.sh 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,5 ---- ++ #!/bin/sh ++ ++ sqlite3 ../test.db < ./data.sql ++ ++ exit 0 +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/images/noimage.png et mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/images/noimage.png sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main.mfm mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main.mfm 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,875 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 50 ++ bounds_y = 87 ++ bounds_cx = 395 ++ bounds_cy = 290 ++ frame.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 395 ++ container.bounds_cy = 290 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'SQLite3 data types testcase' ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ bounds_x = 320 ++ bounds_y = 256 ++ bounds_cx = 66 ++ bounds_cy = 28 ++ state = [as_localcaption] ++ caption = 'Exit' ++ modalresult = mr_canclose ++ end ++ object booleanedit: tdbbooleanedit ++ bounds_x = 52 ++ bounds_y = 103 ++ bounds_cx = 73 ++ bounds_cy = 16 ++ frame.caption = 'BOOLEAN' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 60 ++ 1 ++ 0 ++ 2 ++ ) ++ taborder = 1 ++ datafield = 'booleanf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ end ++ object smallintedit: tdbintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 52 ++ bounds_y = 80 ++ bounds_cx = 160 ++ bounds_cy = 20 ++ frame.caption = 'SMALLINT' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 60 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ datafield = 'smallintf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ min = -32767 ++ max = 32767 ++ reffontheight = 14 ++ end ++ object integeredit: tdbintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 56 ++ bounds_y = 8 ++ bounds_cx = 156 ++ bounds_cy = 20 ++ frame.caption = 'INTEGER' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 56 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 3 ++ datafield = 'integerf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ min = -2147483647 ++ reffontheight = 14 ++ end ++ object largeintedit: tdbintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 50 ++ bounds_y = 32 ++ bounds_cx = 162 ++ bounds_cy = 20 ++ frame.caption = 'LARGEINT' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 62 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 4 ++ datafield = 'largeintf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ min = -899999999 ++ max = 899999999 ++ reffontheight = 14 ++ end ++ object numericedit: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 53 ++ bounds_y = 160 ++ bounds_cx = 159 ++ bounds_cy = 20 ++ frame.caption = 'NUMERIC' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 59 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 5 ++ datafield = 'numericf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ reffontheight = 14 ++ val = 1.2345678900000000E+0005 ++ end ++ object realedit: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 17 ++ bounds_y = 136 ++ bounds_cx = 195 ++ bounds_cy = 20 ++ frame.caption = 'REALFLOATDBL' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 95 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 6 ++ datafield = 'realfloatdoublef1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ reffontheight = 14 ++ val = 1.0000000000000000E+0038 ++ end ++ object varcharedit: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 233 ++ bounds_y = 8 ++ bounds_cx = 155 ++ bounds_cy = 20 ++ frame.caption = 'VarCHAR' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 55 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 7 ++ datafield = 'vcharf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ reffontheight = 14 ++ end ++ object textedit: tdbmemoedit ++ bounds_x = 256 ++ bounds_y = 32 ++ bounds_cx = 132 ++ bounds_cy = 20 ++ frame.caption = 'TEXT' ++ frame.captionpos = cp_left ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 32 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 8 ++ textflags = [tf_wordbreak, tf_noselect] ++ textflagsactive = [tf_wordbreak] ++ datafield = 'textf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ end ++ object blobdisplay: tdbdataimage ++ bounds_x = 221 ++ bounds_y = 64 ++ bounds_cx = 165 ++ bounds_cy = 130 ++ frame.levelo = 1 ++ frame.leveli = -1 ++ frame.caption = 'BLOB' ++ frame.captionpos = cp_left ++ frame.font.xscale = 1.0000000000000000E+0000 ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 35 ++ 0 ++ 0 ++ 0 ++ ) ++ face.image.transparentcolor = -2147483642 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_ycentered] ++ face.image.image = { ++ 0000000006000000640000006400000074060000000000000000000000000000 ++ 0000000000000000000000000000000000000000000000FF000000FF000000FF ++ 000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000B5 ++ EB716A0800000009EB716A0600000048EB716A0E00000003EB716A0A0000004A ++ EB716A0D00000004EB716A0800000049EB716A0F00000002EB716A090000004B ++ EB716A0F00000001EB716A090000004DEB716A0D00000003EB716A0800000005 ++ EB716A0600000041EB716A0100000001EB716A0100000001EB716A0A00000003 ++ EB716A0600000004EB716A0900000044EB716A0100000001EB716A0800000003 ++ EB716A0500000004EB716A0A00000044EB716A0100000001EB716A0900000002 ++ EB716A0500000003EB716A0B00000044EB716A0100000002EB716A0900000001 ++ EB716A0500000002EB716A0D00000043EB716A0100000003EB716A0E00000001 ++ EB716A0E00000043EB716A0100000001EB716A0100000002EB716A1D00000042 ++ EB716A0100000001EB716A0100000003EB716A1C00000042EB716A0100000001 ++ EB716A0100000003EB716A1200000001EB716A0800000043EB716A0100000001 ++ EB716A0100000004EB716A1000000002EB716A0800000043EB716A0100000001 ++ EB716A0100000005EB716A0900000001EB716A0500000002EB716A0700000044 ++ EB716A0100000001EB716A0100000006EB716A0F00000001EB716A0800000043 ++ EB716A0100000001EB716A0100000006EB716A0800000001EB716A0600000001 ++ EB716A0800000043EB716A0100000001EB716A0100000007EB716A0700000001 ++ EB716A0600000001EB716A0900000041EB716A0300000009EB716A0400000003 ++ EB716A0500000002EB716A0800000040EB716A0700000008EB716A0300000004 ++ EB716A0E00000040EB716A0700000008EB716A0200000006EB716A0C00000061 ++ EB716A01000000FF000000C5EB716A040000005FEB716A0500000038EB716A03 ++ 00000024EB716A050000000CEB716A0500000025EB716A0400000025EB716A04 ++ 0000000BEB716A070000000BEB716A0700000012EB716A0700000023EB716A04 ++ 00000008EB716A0B00000008EB716A0A00000006EB716A130000002CEB716A0F ++ 00000004EB716A0D00000003EB716A1500000023EB716A0500000005EB716A10 ++ 00000002EB716A0D00000002EB716A0C00000001EB716A0A00000020EB716A07 ++ 00000001EB716A1400000002EB716A0D00000002EB716A0C00000001EB716A0B ++ 0000001FEB716A0700000001EB716A1500000001EB716A0D00000001EB716A0D ++ 00000001EB716A0A00000020EB716A0700000001EB716A1500000001EB716A05 ++ 00000001EB716A0D00000001EB716A0D00000001EB716A0400000021EB716A07 ++ 00000001EB716A0C00000001EB716A0700000001EB716A0400000002EB716A07 ++ 00000001EB716A0500000001EB716A0700000001EB716A0A00000021EB716A07 ++ 00000001EB716A0C00000001EB716A0700000001EB716A0400000001EB716A08 ++ 00000001EB716A0500000001EB716A0700000001EB716A0500000001EB716A04 ++ 00000021EB716A0700000001EB716A0600000001EB716A0500000002EB716A06 ++ 00000004EB716A0A00000001EB716A0500000001EB716A0600000002EB716A0A ++ 00000021EB716A0700000001EB716A0600000001EB716A0500000002EB716A06 ++ 00000003EB716A0400000001EB716A0600000001EB716A0500000001EB716A05 ++ 00000003EB716A0500000026EB716A0600000002EB716A0C00000002EB716A06 ++ 00000002EB716A0400000002EB716A0600000001EB716A0B00000003EB716A05 ++ 00000026EB716A0600000002EB716A0C00000002EB716A0400000003EB716A05 ++ 00000002EB716A0600000003EB716A0900000003EB716A0500000026EB716A06 ++ 00000002EB716A0D00000001EB716A0400000003EB716A0500000002EB716A05 ++ 00000002EB716A0D00000001EB716A0600000002EB716A0200000020EB716A06 ++ 00000002EB716A1400000002EB716A0C00000002EB716A1800000020EB716A06 ++ 00000002EB716A0600000001EB716A0600000001EB716A0600000002EB716A0C ++ 00000002EB716A0E00000001EB716A0800000021EB716A0600000002EB716A06 ++ 00000001EB716A0600000001EB716A0600000002EB716A0600000001EB716A05 ++ 00000002EB716A160000004EEB716A1000000054EB716A1000000054EB716A05 ++ 00000004EB716A0700000054EB716A0700000002EB716A0600000055EB716A0E ++ 00000057EB716A09000000FF000000FF000000FF000000FF000000FF000000FF ++ 000000FF000000F974180000000000FF000000FF000000FF000000FF000000FF ++ 000000FF000000FF000000FF000000FF000000FF000000B50101010106060601 ++ 1D1D1D01303030021C1C1C010909090102020201000000090101010104040402 ++ 05050501030303010101010100000048080808010A0A0A011A1A1A011E1E1E01 ++ 5A5A5A01414141011D1D1D011B1B1B012E2E2E014E4E4E012D2D2D010A0A0A01 ++ 03030301010101010000000309090901242424014E4E4E015E5E5E0142424201 ++ 222222011C1C1C011F1F1F011B1B1B01020202010000004A010101010A0A0A01 ++ 0B0B0B0115151501141414013F3F3F015C5C5C015D5D5D015050500126262601 ++ 161616010C0C0C01010101010000000405050501343434016868680145454501 ++ 484848014F4F4F013E3E3E010303030100000049020202011C1C1C0137373701 ++ 7373730186868601E4E4E401E3E3E302D5D5D501F9F9F901FBFBFB0148484801 ++ 15151501343434010909090100000002ECECEC01F7F7F701E7E7E701CACACA01 ++ ECECEC01D4D4D401C5C5C50111111101151515010000004B0101010105050501 ++ 1818180116161601343434013C3C3C01F6F6F601EEEEEE01FEFEFE02E5E5E501 ++ 232323012A2A2A01353535010101010100000001030303012222220196969601 ++ DEDEDE01838383017272720127272701030303010C0C0C010000004D07070701 ++ 030303010F0F0F0104040401FEFEFE01E6E6E601FFFFFF01FEFEFE01FFFFFF01 ++ BDBDBD01121212011C1C1C010E0E0E01000000030E0E0E01EEEEEE010C0C0C01 ++ 464646010E0E0E01010101010505050101010101000000050101010105050501 ++ 0F0F0F01141414010A0A0A010202020100000041010101010000000103030301 ++ 00000001FFFFFF0143434301FDFDFD01FFFFFF03858585011010100109090901 ++ 0101010100000003FAFAFA01010101011E1E1E01070707010404040102020201 ++ 00000004010101010A0A0A011A1A1A0128282801242424012222220111111101 ++ 060606010101010100000044FFFFFF01000000017D7D7D01FFFFFF03FDFDFD01 ++ 61616101222222010202020100000003FEFEFE0106060601121212010C0C0C01 ++ 0909090100000004020202011212120133333301444444013D3D3D0133333301 ++ 313131011B1B1B01070707010101010100000044FFFFFF010000000102020201 ++ B8B8B801FCFCFC01FDFDFD01FFFFFF01F1F1F101616161012323230103030301 ++ 00000002FCFCFC010E0E0E0119191901222222010D0D0D010000000302020201 ++ 1B1B1B021A1A1A014D4D4D014E4E4E01444444012B2B2B01191919010A0A0A01 ++ 0202020100000044FFFFFF010000000214141401E0E0E001F1F1F101FEFEFE01 ++ FFFFFF01DCDCDC01414141011E1E1E010A0A0A0100000001E8E8E8011F1F1F01 ++ 2B2B2B012E2E2E010B0B0B01000000020B0B0B0180808001D1D1D101E2E2E201 ++ CCCCCC01B8B8B801A4A4A4016262620154545401404040012929290110101001 ++ 0101010100000043FFFFFF01000000033A3A3A01EFEFEF01EAEAEA01FFFFFF02 ++ A6A6A6013F3F3F014C4C4C010B0B0B01CECECE013B3B3B014444440124242401 ++ 050505010000000118181801D5D5D501FFFFFF01CFCFCF011E1E1E0123232301 ++ 9A9A9A01AAAAAA01C5C5C5018585850173737301515151012121210106060601 ++ 00000043FFFFFF0100000001030303010000000270707001F1F1F101F8F8F801 ++ FEFEFE01FFFFFF0185858501707070014E4E4E01B3B3B3016D6D6D014C4C4C01 ++ 151515010101010102020201BCBCBC01FFFFFF02565656010303030106060601 ++ 393939019A9A9A01A9A9A901B5B5B50191919101727272012F2F2F0109090901 ++ 0101010100000042FDFDFD01000000011111110100000003ADADAD01FBFBFB02 ++ FFFFFF01F3F3F3016A6A6A0152525201BEBEBE018B8B8B01363636010A0A0A01 ++ 010101014F4F4F01FDFDFD01FFFFFF022D2D2D010101010213131301BBBBBB01 ++ BEBEBE01D3D3D301B7B7B701737373012A2A2A01070707010101010100000042 ++ F6F6F6010000000132323201000000030F0F0F01DDDDDD01FFFFFF01FBFBFB01 ++ FFFFFF01D5D5D50136363601E7E7E70179797901242424011111110101010101 ++ A1A1A101F8F8F801FFFFFF022C2C2C01010101010000000106060601E3E3E301 ++ E4E4E401EEEEEE01D9D9D90168686801191919010303030100000043EEEEEE01 ++ 00000001575757010000000431313101F8F8F801FFFFFF01FEFEFE01FFFFFF01 ++ A2A2A201FFFFFF0160606001292929012323230101010101B4B4B401EAEAEA01 ++ FCFCFC01FFFFFF014D4D4D010000000201010101F7F7F701F1F1F101FDFDFD01 ++ F2F2F20159595901202020010101010100000043EEEEEE010000000157575701 ++ 0000000567676701FFFFFF055E5E5E01353535012C2C2C0100000001AAAAAA01 ++ E3E3E301FBFBFB01FFFFFF01656565010000000202020201F9F9F901EDEDED01 ++ FFFFFF01FDFDFD01636363013030300100000044F6F6F6010000000132323201 ++ 00000006A4A4A401FFFFFF02FEFEFE01FBFBFB0167676701383838011C1C1C01 ++ 01010101B0B0B001EAEAEA01FCFCFC01FFFFFF01494949010202020100000001 ++ 07070701F5F5F501E1E1E101FDFDFD01F4F4F4016F6F6F013434340105050501 ++ 00000043FDFDFD010000000111111101000000060B0B0B01D6D6D601FFFFFF01 ++ F7F7F701F3F3F30164646401393939010808080100000001A1A1A101F7F7F701 ++ FFFFFF0223232301030303010000000111111101F0F0F001D0D0D001F7F7F701 ++ E0E0E001818181013B3B3B010B0B0B0100000043FFFFFF010000000103030301 ++ 000000072A2A2A01EFEFEF01E5E5E501DDDDDD01666666012727270102020201 ++ 000000015A5A5A01FEFEFE01FFFFFF0222222201020202010000000125252501 ++ ECECEC01CACACA01F2F2F201CACACA018F8F8F01393939010C0C0C0101010101 ++ 0000004111111101FFFFFF01111111010000000959595901DDDDDD01A8A8A801 ++ 646464010000000305050501CFCFCF01FFFFFF024D4D4D010000000250505001 ++ F1F1F101E0E0E001D9D9D90188888801636363012A2A2A010808080100000040 ++ 0606060128282801A7A7A701FFFFFF01A7A7A701282828010303030100000008 ++ 8A8A8A01BFBFBF01050505010000000421212101DFDFDF01FFFFFF01CFCFCF01 ++ 1F1F1F011D1D1D01CDCDCD01FBFBFB01DCDCDC01424242013B3B3B0121212101 ++ 121212010101010100000040FFFFFF070000000807070701BABABA0100000006 ++ 0E0E0E0181818101D2D2D201F5F5F501F9F9F901D5D5D5018383830112121201 ++ 0707070108080802010101010000006101010101000000FF000000C506060601 ++ 3131310143434301101010010000005F4F4F4F01E9E9E9025F5F5F0112121201 ++ 00000038030303020101010100000024E8E8E801FFFFFF02E7E7E70104040401 ++ 0000000C01010101020202010303030102020201010101010000002501010101 ++ 0A0A0A010E0E0E010707070100000025E9E9E901FFFFFF02E8E8E8010000000B ++ 01010101050505010B0B0B010A0A0A010909090105050501020202010000000B ++ 010101040202020103030301010101010000001201010101090909011B1B1B01 ++ 303030011B1B1B0109090901020202010000002352525201EAEAEA01E7E7E701 ++ 4E4E4E0100000008030303010E0E0E01252525011F1F1F011515150116161601 ++ 111111010A0A0A010303030202020201000000080E0E0E011A1A1A0114141401 ++ 1111110121212101323232012B2B2B0116161601060606010101010100000006 ++ 0101010103030301040404010202020106060601121212011919190112121201 ++ 0606060101010101030303010909090122222201484848014F4F4F0116161601 ++ 0404040103030301010101010000002C010101010A0A0A012626260151515101 ++ 3D3D3D011F1F1F012121210125252501333333012D2D2D010F0F0F0102020201 ++ 0404040102020201010101010000000401010101191919013C3C3C012D2D2D01 ++ 242424012D2D2D013F3F3F013C3C3C012B2B2B011B1B1B011010100108080801 ++ 0303030100000003080808012D2D2D0152525201464646012121210120202001 ++ 33333301353535012F2F2F011C1C1C0108080801010101010505050120202001 ++ 3A3A3A016E6E6E0169696901303030012C2C2C01494949012929290100000023 ++ 090909011D1D1D01323232021D1D1D010000000505050501161616012F2F2F01 ++ 2C2C2C0135353501535353016C6C6C014B4B4B01242424011212120106060601 ++ 0F0F0F0142424201555555012D2D2D0105050501000000020808080142424201 ++ 74747401353535012D2D2D01474747014D4D4D014F4F4F015656560155555501 ++ 313131011F1F1F010C0C0C0100000002040404011A1A1A014646460145454501 ++ 1313130153535301727272015B5B5B014C4C4C01363636011919190106060601 ++ 000000010B0B0B01222222016767670191919101515151010E0E0E010A0A0A01 ++ 28282801505050011B1B1B0100000020FFFFFF01FCFCFC01F3F3F301FFFFFF02 ++ 575757013232320100000001FCFCFC01FFFFFF043737370146464601C2C2C201 ++ F2F2F201E1E1E101858585013E3E3E011818180143434301BFBFBF01F9F9F901 ++ EAEAEA01737373011E1E1E010C0C0C0100000002121212014343430192929201 ++ 8F8F8F01A6A6A601A8A8A801B6B6B601C1C1C101B5B5B501818181017B7B7B01 ++ 464646011818180100000002040404016F6F6F01D1D1D101BDBDBD01C2C2C201 ++ C9C9C901E2E2E201F3F3F301F7F7F701FEFEFE01F9F9F9010404040100000001 ++ 0B0B0B013939390169696901C6C6C601A1A1A101C5C5C501C0C0C0015A5A5A01 ++ 1E1E1E0114141401010101010000001F43434301FCFCFC01EFEFEF01FFFFFF02 ++ 5B5B5B01323232010000000144444401FFFFFF0467676701F3F3F301FEFEFE01 ++ FBFBFB01FFFFFF01FEFEFE01555555015F5F5F01FBFBFB01FFFFFF01F7F7F701 ++ F4F4F401F5F5F50130303001121212010A0A0A010000000123232301D0D0D001 ++ FCFCFC015D5D5D010C0C0C011111110177777701E7E7E701F8F8F801FAFAFA01 ++ B1B1B101797979011E1E1E010000000104040401B1B1B101FFFFFF0295959501 ++ 0B0B0B018E8E8E01EBEBEB01F9F9F901FEFEFE01FCFCFC01E6E6E6010B0B0B01 ++ 00000001101010013D3D3D01E6E6E601FFFFFF019A9A9A010C0C0C0197979701 ++ FAFAFA0183838301040404010000002004040401FEFEFE01F6F6F601FFFFFF02 ++ 4A4A4A011C1C1C010000000104040401FFFFFF04CACACA011F1F1F015B5B5B01 ++ FFFFFF03DBDBDB01CFCFCF012626260152525201FEFEFE01FBFBFB01FFFFFF01 ++ ADADAD01323232012D2D2D0100000001B6B6B601FDFDFD01FEFEFE014E4E4E01 ++ 010101010000000108080801F6F6F601FAFAFA01FFFFFF01EEEEEE017D7D7D01 ++ 1D1D1D010101010177777701FFFFFF032E2E2E01000000012F2F2F01EBEBEB01 ++ F7F7F701F4F4F4018A8A8A015454540118181801010101010A0A0A01D4D4D401 ++ FFFFFF0243434301000000012B2B2B01FFFFFF01FEFEFE013232320100000021 ++ FFFFFF01FDFDFD01FFFFFF025F5F5F010C0C0C010101010100000001FEFEFE01 ++ FFFFFF0326262601030303010B0B0B01FEFEFE01FFFFFF032929290100000001 ++ 0A0A0A01FFFFFF01FCFCFC01FFFFFF01E8E8E801575757015555550100000001 ++ E6E6E601FBFBFB01FEFEFE01C7C7C7010000000201010101F7F7F701FCFCFC01 ++ FFFFFF01FBFBFB01777777012222220100000001D5D5D501FEFEFE01FFFFFF02 ++ 0C0C0C01000000010C0C0C01E2E2E201F7F7F701FFFFFF01E2E2E20168686801 ++ 161616010000000163636301FFFFFF0317171701010101010B0B0B01FFFFFF02 ++ 9898980100000021FFFFFF047F7F7F011C1C1C010505050100000001FEFEFE01 ++ FFFFFF03171717010D0D0D0101010101F5F5F501FEFEFE01FFFFFF021A1A1A01 ++ 0000000101010101FFFFFF01FCFCFC01FFFFFF01FCFCFC015757570200000001 ++ 60606001E6E6E601EBEBEB015C5C5C01000000011111110187878701FAFAFA01 ++ FEFEFE01FFFFFF02858585012D2D2D0100000001EAEAEA01FDFDFD01FFFFFF02 ++ 020202010000000102020201E3E3E301FBFBFB01FFFFFF01FBFBFB0144444401 ++ 0808080100000001B9B9B901FFFFFF03010101010000000101010101FFFFFF02 ++ D4D4D40100000021FFFFFF01FDFDFD01FFFFFF02828282014949490105050501 ++ 00000001FCFCFC01FFFFFF03474747012323230100000001E3E3E301FBFBFB01 ++ FFFFFF024646460100000002FCFCFC01FEFEFE01FFFFFF023232320200000004 ++ 0202020168686801DBDBDB013D3D3D01F9F9F901FEFEFE01FFFFFF0290909001 ++ 2D2D2D0100000001CDCDCD01FDFDFD01FFFFFF02060606010000000108080801 ++ F2F2F201FFFFFF02EAEAEA011212120100000002E9E9E901FFFFFF08F3F3F301 ++ 00000021FFFFFF01FCFCFC01FFFFFF0277777701656565010101010100000001 ++ FBFBFB01FFFFFF03808080013434340100000001D3D3D301F9F9F901FFFFFF02 ++ 6969690100000002FAFAFA01FFFFFF03111111020000000330303001CBCBCB01 ++ F7F7F7013737370100000001F7F7F701FEFEFE01FFFFFF028787870120202001 ++ 000000016D6D6D01FEFEFE01FFFFFF0227272701000000012B2B2B01F7F7F701 ++ FDFDFD01FFFFFF018787870100000003FBFBFB01FFFFFF030A0A0A0100000026 ++ FFFFFF01FDFDFD01FFFFFF024D4D4D014949490100000002FCFCFC01FFFFFF03 ++ 909090012B2B2B0101010101D9D9D901FAFAFA01FFFFFF025656560100000002 ++ FBFBFB01FFFFFF03030303020000000274747401FAFAFA01FFFFFF017B7B7B01 ++ 00000002F8F8F801FFFFFF03757575010F0F0F01000000010101010190909001 ++ FEFEFE01FFFFFF019B9B9B0114141401A7A7A701FEFEFE01FCFCFC01ACACAC01 ++ 0606060100000003F4F4F401FFFFFF032828280100000026FFFFFF041C1C1C02 ++ 00000002FEFEFE01FFFFFF03636363011515150104040401ECECEC01FEFEFE01 ++ FFFFFF022828280100000002FEFEFE01FFFFFF03000000036C6C6C01FFFFFF03 ++ 1818180100000002FAFAFA01FFFFFF035A5A5A01030303010000000342424201 ++ EAEAEA01F5F5F501EBEBEB01B9B9B9017D7D7D01414141010606060103030301 ++ 00000003D1D1D101FFFFFF036666660100000026FFFFFF040606060200000002 ++ FFFFFF04242424010A0A0A0105050501FCFCFC01FFFFFF030B0B0B0102020201 ++ 00000001FFFFFF0400000003E0E0E001FFFFFF030D0D0D0100000002FDFDFD01 ++ FFFFFF033030300100000002030303017F7F7F01F3F3F3014949490106060601 ++ 0808080101010101090909011E1E1E013B3B3B013A3A3A011111110101010101 ++ 000000018E8E8E01FFFFFF03CECECE01010101010000000247474701C0C0C001 ++ 0000002004040401FFFFFF04040404010000000203030301FFFFFF040A0A0A01 ++ 0404040103030301FFFFFF04040404010101010104040401FFFFFF0403030301 ++ 00000002F8F8F801FFFFFF037E7E7E010E0E0E018B8B8B01FFFFFF041A1A1A01 ++ 0000000297979701FFFFFF023D3D3D0105050501171717013D3D3D015B5B5B01 ++ 5D5D5D016A6A6A017575750152525201121212010202020123232301FAFAFA01 ++ FFFFFF03929292010E0E0E0136363601E2E2E201363636010000002043434301 ++ FFFFFF04404040010000000243434301FFFFFF04434343010000000141414101 ++ FFFFFF0441414101000000014B4B4B01FFFFFF044040400100000002B8B8B801 ++ FFFFFF04F3F3F30162626201E2E2E201FFFFFF03ACACAC0100000002F5F5F501 ++ FFFFFF03FBFBFB02FEFEFE01FAFAFA01EAEAEA01CECECE019090900159595901 ++ 3D3D3D010C0C0C01000000016A6A6A01FFFFFF067373730100000021FFFFFF06 ++ 00000002FFFFFF0600000001FFFFFF0600000001FFFFFF06000000021B1B1B01 ++ BCBCBC01FAFAFA01E3E3E301929292011B1B1B01000000014E4E4E01E0E0E001 ++ F3F3F301A0A0A0010B0B0B0100000002ACACAC01FFFFFF01FEFEFE01FDFDFD01 ++ FFFFFF03FDFDFD01F4F4F401EBEBEB01F6F6F6019C9C9C015D5D5D0130303001 ++ 030303010101010149494901C0C0C001F5F5F501F8F8F801C7C7C70151515101 ++ 0000004E0606060198989801F8F8F801FFFFFF01F2F2F201ECECEC01F8F8F801 ++ FFFFFF01FBFBFB01EAEAEA01CBCBCB01C0C0C0016A6A6A014B4B4B0113131301 ++ 08080801000000545F5F5F01F1F1F1019E9E9E01525252010404040101010101 ++ 050505010F0F0F012C2C2C019A9A9A01CBCBCB01989898017373730150505001 ++ 2B2B2B011313130100000054E6E6E601F4F4F401303030015B5B5B0117171701 ++ 000000040A0A0A01D4D4D401979797017D7D7D0150505001353535010E0E0E01 ++ 00000054E9E9E901F6F6F6013C3C3C0141414101474747011212120102020201 ++ 0000000240404001EFEFEF018F8F8F014D4D4D01333333011818180100000055 ++ 5F5F5F01FBFBFB01D8D8D8015555550127272701141414010E0E0E0126262601 ++ 73737301EFEFEF01A5A5A5010D0D0D010A0A0A0104040401000000572F2F2F01 ++ 92929201C9C9C901E8E8E801F8F8F801F5F5F501D6D6D6019E9E9E0143434301 ++ 000000FF000000FF000000FF000000FF000000FF000000FF000000FF000000F9 ++ } ++ face.localprops = [fal_fatransparency] ++ face.dummy = 0 ++ taborder = 9 ++ hint = 'Use the right click menu'#10'to load/save/clear'#10'the image' ++ popupmenu = blobpopup ++ onpopup = popupdisplay ++ bitmap.alignment = [al_xcentered, al_ycentered, al_fit] ++ datafield = 'blobf1' ++ datasource = ds ++ end ++ object timeedit: tdbdatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 82 ++ bounds_y = 264 ++ bounds_cx = 130 ++ bounds_cy = 20 ++ frame.caption = 'TIME' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 30 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 10 ++ datafield = 'timef1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ kind = dtk_time ++ reffontheight = 14 ++ val = 8.2986111111111108E-0002 ++ ma = 3.6500099998999998E+0005 ++ end ++ object datetimeedit: tdbdatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 51 ++ bounds_y = 216 ++ bounds_cx = 193 ++ bounds_cy = 20 ++ frame.caption = 'DATETIME' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 61 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 11 ++ datafield = 'datetimef1' ++ datasource = ds ++ kind = dtk_datetime ++ reffontheight = 14 ++ val = 3.9173082986111112E+0004 ++ ma = 3.6500099998999998E+0005 ++ end ++ object dateedit: tdbdatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 78 ++ bounds_y = 240 ++ bounds_cx = 134 ++ bounds_cy = 20 ++ frame.caption = 'DATE' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 34 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 12 ++ datafield = 'datef1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ reffontheight = 14 ++ val = 3.9173000000000000E+0004 ++ ma = 3.6500099998999998E+0005 ++ end ++ object wordedit: tdbintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 71 ++ bounds_y = 56 ++ bounds_cx = 142 ++ bounds_cy = 20 ++ frame.caption = 'WORD' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 41 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 13 ++ datafield = 'wordf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ max = 65535 ++ reffontheight = 14 ++ end ++ object currencyedit: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 40 ++ bounds_y = 184 ++ bounds_cx = 204 ++ bounds_cy = 20 ++ frame.caption = 'CURRENCY' ++ frame.captionpos = cp_left ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 72 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 14 ++ datafield = 'currencyf1' ++ datasource = ds ++ optionsdb = [oed_autopost] ++ formatedit = '0.##' ++ formatdisp = '0.##' ++ reffontheight = 14 ++ val = 9.8765432100123463E+0009 ++ end ++ object conn: tsqlite3connection ++ Connected = True ++ DatabaseName = './test.db' ++ Transaction = trans ++ left = 8 ++ top = 232 ++ end ++ object trans: tmsesqltransaction ++ Active = True ++ Database = conn ++ left = 16 ++ top = 256 ++ end ++ object qry: tmsesqlquery ++ params = <> ++ SQL.data = ( ++ 'select * from datatypes_test;' ++ ) ++ SQLUpdate.data = ( ++ 'update datatypes_test set' ++ 'integerf1= :INTEGERF1,' ++ 'largeintf1= :LARGEINTF1,' ++ 'wordf1= :WORDF1,' ++ 'smallintf1= :SMALLINTF1,' ++ 'booleanf1= :BOOLEANF1,' ++ 'realfloatdoublef1= :REALFLOATDOUBLEF1,' ++ 'datetimef1= :DATETIMEF1,' ++ 'datef1= :DATEF1,' ++ 'timef1= :TIMEF1,' ++ 'numericf1= :NUMERICF1,' ++ 'currencyf1= :CURRENCYF1,' ++ 'vcharf1= :VCHARF1,' ++ 'textf1= :TEXTF1,' ++ 'blobf1= :BLOBF1' ++ ';' ++ ) ++ IndexDefs = <> ++ StatementType = stSelect ++ database = conn ++ Active = True ++ Transaction = trans ++ FieldDefs = < ++ item ++ Name = 'integerf1' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'largeintf1' ++ DataType = ftLargeint ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'wordf1' ++ DataType = ftWord ++ Precision = -1 ++ Size = 2 ++ end ++ item ++ Name = 'smallintf1' ++ DataType = ftSmallint ++ Precision = -1 ++ Size = 2 ++ end ++ item ++ Name = 'booleanf1' ++ DataType = ftBoolean ++ Precision = -1 ++ Size = 2 ++ end ++ item ++ Name = 'realfloatdoublef1' ++ DataType = ftFloat ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'datetimef1' ++ DataType = ftDateTime ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'datef1' ++ DataType = ftDate ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'timef1' ++ DataType = ftTime ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'numericf1' ++ DataType = ftBCD ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'currencyf1' ++ DataType = ftCurrency ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'vcharf1' ++ DataType = ftString ++ Precision = -1 ++ Size = 255 ++ end ++ item ++ Name = 'textf1' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'blobf1' ++ DataType = ftBlob ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 13 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_largeint ++ ft_word ++ ft_smallint ++ ft_boolean ++ ft_float ++ ft_datetime ++ ft_date ++ ft_time ++ ft_bcd ++ ft_currency ++ ft_string ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'integerf1' ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'largeintf1' ++ Index = 1 ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'wordf1' ++ Index = 2 ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'smallintf1' ++ Index = 3 ++ end ++ item ++ DisplayWidth = 5 ++ FieldName = 'booleanf1' ++ Index = 4 ++ displayvalues = 'True;False' ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'realfloatdoublef1' ++ Index = 5 ++ Precision = -1 ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'datetimef1' ++ Index = 6 ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'datef1' ++ Index = 7 ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'timef1' ++ Index = 8 ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 15 ++ FieldName = 'numericf1' ++ Index = 9 ++ Precision = 15 ++ Size = 8 ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'currencyf1' ++ Index = 10 ++ Precision = -1 ++ end ++ item ++ DisplayWidth = 255 ++ FieldName = 'vcharf1' ++ Index = 11 ++ Size = 255 ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'textf1' ++ Index = 12 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ controller.options = [dso_utf8, dso_autoapply, dso_autocommitret] ++ left = 224 ++ top = 240 ++ object blobfield: tmsegraphicfield ++ DisplayWidth = 10 ++ FieldName = 'blobf1' ++ Index = 13 ++ Size = 4 ++ imagecachekb = 1000 ++ left = 200 ++ top = 96 ++ end ++ end ++ object ds: tmsedatasource ++ DataSet = qry ++ left = 264 ++ top = 256 ++ end ++ object blobpopup: tpopupmenu ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ caption = 'Load from file..' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = loadexec ++ end ++ item ++ caption = 'Save to file..' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = saveexec ++ end ++ item ++ caption = 'Clear' ++ state = [as_localcaption, as_localonexecute] ++ onexecute = clearexec ++ end> ++ left = 264 ++ top = 192 ++ end ++ object blobdialog: tfiledialog ++ controller.lastdir = '~/' ++ controller.filter = '*.jpg' ++ controller.defaultext = 'jpg' ++ controller.options = [fdo_file, fdo_checkexist, fdo_savelastdir] ++ controller.captionopen = 'Open JPG-file' ++ controller.captionsave = 'Save JPG-file' ++ dialogkind = fdk_none ++ left = 299 ++ top = 216 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main_mfm.pas 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,893 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..17507] of byte end = ++ (size: 17508; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,50,8,98,111,117,110,100,115, ++ 95,121,2,87,9,98,111,117,110,100,115,95,99,120,3,139,1,9,98,111, ++ 117,110,100,115,95,99,121,3,34,1,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116, ++ 97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115, ++ 101,116,114,97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99, ++ 97,108,101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,120,3,139,1,19,99,111,110,116,97,105,110,101,114,46, ++ 98,111,117,110,100,115,95,99,121,3,34,1,21,99,111,110,116,97,105,110, ++ 101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,13,111,112,116, ++ 105,111,110,115,119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112, ++ 108,101,97,100,101,114,0,7,111,112,116,105,111,110,115,11,7,102,111,95, ++ 109,97,105,110,19,102,111,95,116,101,114,109,105,110,97,116,101,111,110,99, ++ 108,111,115,101,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116, ++ 16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111, ++ 95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116, ++ 101,0,7,99,97,112,116,105,111,110,6,27,83,81,76,105,116,101,51,32, ++ 100,97,116,97,32,116,121,112,101,115,32,116,101,115,116,99,97,115,101,15, ++ 109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115, ++ 101,102,111,114,109,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116, ++ 111,110,49,8,98,111,117,110,100,115,95,120,3,64,1,8,98,111,117,110, ++ 100,115,95,121,3,0,1,9,98,111,117,110,100,115,95,99,120,2,66,9, ++ 98,111,117,110,100,115,95,99,121,2,28,5,115,116,97,116,101,11,15,97, ++ 115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,7,99,97,112,116, ++ 105,111,110,6,4,69,120,105,116,11,109,111,100,97,108,114,101,115,117,108, ++ 116,7,11,109,114,95,99,97,110,99,108,111,115,101,0,0,14,116,100,98, ++ 98,111,111,108,101,97,110,101,100,105,116,11,98,111,111,108,101,97,110,101, ++ 100,105,116,8,98,111,117,110,100,115,95,120,2,52,8,98,111,117,110,100, ++ 115,95,121,2,103,9,98,111,117,110,100,115,95,99,120,2,73,9,98,111, ++ 117,110,100,115,95,99,121,2,16,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,7,66,79,79,76,69,65,78,16,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,60,2,1,2,0,2,2,0,8, ++ 116,97,98,111,114,100,101,114,2,1,9,100,97,116,97,102,105,101,108,100, ++ 6,9,98,111,111,108,101,97,110,102,49,10,100,97,116,97,115,111,117,114, ++ 99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11,12,111,101, ++ 100,95,97,117,116,111,112,111,115,116,0,0,0,14,116,100,98,105,110,116, ++ 101,103,101,114,101,100,105,116,12,115,109,97,108,108,105,110,116,101,100,105, ++ 116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,52,8,98, ++ 111,117,110,100,115,95,121,2,80,9,98,111,117,110,100,115,95,99,120,3, ++ 160,0,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,8,83,77,65,76,76,73,78,84,16,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95, ++ 108,101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102, ++ 114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,60,2,0, ++ 2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,2,9,100,97,116, ++ 97,102,105,101,108,100,6,10,115,109,97,108,108,105,110,116,102,49,10,100, ++ 97,116,97,115,111,117,114,99,101,7,2,100,115,9,111,112,116,105,111,110, ++ 115,100,98,11,12,111,101,100,95,97,117,116,111,112,111,115,116,0,3,109, ++ 105,110,3,1,128,3,109,97,120,3,255,127,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,14,0,0,14,116,100,98,105,110,116,101,103,101, ++ 114,101,100,105,116,11,105,110,116,101,103,101,114,101,100,105,116,13,111,112, ++ 116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115, ++ 101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,8,98,111,117,110,100,115,95,120,2,56,8,98,111,117,110,100, ++ 115,95,121,2,8,9,98,111,117,110,100,115,95,99,120,3,156,0,9,98, ++ 111,117,110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112, ++ 116,105,111,110,6,7,73,78,84,69,71,69,82,16,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46, ++ 111,117,116,101,114,102,114,97,109,101,1,2,56,2,0,2,0,2,0,0, ++ 8,116,97,98,111,114,100,101,114,2,3,9,100,97,116,97,102,105,101,108, ++ 100,6,9,105,110,116,101,103,101,114,102,49,10,100,97,116,97,115,111,117, ++ 114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11,12,111, ++ 101,100,95,97,117,116,111,112,111,115,116,0,3,109,105,110,4,1,0,0, ++ 128,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,14, ++ 116,100,98,105,110,116,101,103,101,114,101,100,105,116,12,108,97,114,103,101, ++ 105,110,116,101,100,105,116,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12, ++ 111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115, ++ 95,120,2,50,8,98,111,117,110,100,115,95,121,2,32,9,98,111,117,110, ++ 100,115,95,99,120,3,162,0,9,98,111,117,110,100,115,95,99,121,2,20, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,8,76,65,82,71, ++ 69,73,78,84,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111, ++ 115,7,7,99,112,95,108,101,102,116,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109, ++ 101,1,2,62,2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114, ++ 2,4,9,100,97,116,97,102,105,101,108,100,6,10,108,97,114,103,101,105, ++ 110,116,102,49,10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,9, ++ 111,112,116,105,111,110,115,100,98,11,12,111,101,100,95,97,117,116,111,112, ++ 111,115,116,0,3,109,105,110,4,1,23,91,202,3,109,97,120,4,255,232, ++ 164,53,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0, ++ 11,116,100,98,114,101,97,108,101,100,105,116,11,110,117,109,101,114,105,99, ++ 101,100,105,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 53,8,98,111,117,110,100,115,95,121,3,160,0,9,98,111,117,110,100,115, ++ 95,99,120,3,159,0,9,98,111,117,110,100,115,95,99,121,2,20,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,7,78,85,77,69,82,73, ++ 67,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7, ++ 99,112,95,108,101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2, ++ 59,2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,5,9, ++ 100,97,116,97,102,105,101,108,100,6,9,110,117,109,101,114,105,99,102,49, ++ 10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,9,111,112,116,105, ++ 111,110,115,100,98,11,12,111,101,100,95,97,117,116,111,112,111,115,116,0, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,3,118,97,108, ++ 5,0,72,182,243,253,100,32,241,15,64,0,0,11,116,100,98,114,101,97, ++ 108,101,100,105,116,8,114,101,97,108,101,100,105,116,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,17,8,98,111,117,110,100,115,95,121, ++ 3,136,0,9,98,111,117,110,100,115,95,99,120,3,195,0,9,98,111,117, ++ 110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,12,82,69,65,76,70,76,79,65,84,68,66,76,16,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101, ++ 102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97, ++ 109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,95,2,0,2,0, ++ 2,0,0,8,116,97,98,111,114,100,101,114,2,6,9,100,97,116,97,102, ++ 105,101,108,100,6,17,114,101,97,108,102,108,111,97,116,100,111,117,98,108, ++ 101,102,49,10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,9,111, ++ 112,116,105,111,110,115,100,98,11,12,111,101,100,95,97,117,116,111,112,111, ++ 115,116,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,3, ++ 118,97,108,5,0,136,13,181,80,153,118,150,125,64,0,0,13,116,100,98, ++ 115,116,114,105,110,103,101,100,105,116,11,118,97,114,99,104,97,114,101,100, ++ 105,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102, ++ 111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117, ++ 116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3,233,0, ++ 8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99, ++ 120,3,155,0,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,7,86,97,114,67,72,65,82,16, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112, ++ 95,108,101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16, ++ 102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,55,2, ++ 0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,7,9,100,97, ++ 116,97,102,105,101,108,100,6,7,118,99,104,97,114,102,49,10,100,97,116, ++ 97,115,111,117,114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100, ++ 98,11,12,111,101,100,95,97,117,116,111,112,111,115,116,0,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,14,0,0,11,116,100,98,109,101, ++ 109,111,101,100,105,116,8,116,101,120,116,101,100,105,116,8,98,111,117,110, ++ 100,115,95,120,3,0,1,8,98,111,117,110,100,115,95,121,2,32,9,98, ++ 111,117,110,100,115,95,99,120,3,132,0,9,98,111,117,110,100,115,95,99, ++ 121,2,20,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,84, ++ 69,88,84,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115, ++ 7,7,99,112,95,108,101,102,116,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105, ++ 101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102, ++ 114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,32,2,0, ++ 2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,8,9,116,101,120, ++ 116,102,108,97,103,115,11,12,116,102,95,119,111,114,100,98,114,101,97,107, ++ 11,116,102,95,110,111,115,101,108,101,99,116,0,15,116,101,120,116,102,108, ++ 97,103,115,97,99,116,105,118,101,11,12,116,102,95,119,111,114,100,98,114, ++ 101,97,107,0,9,100,97,116,97,102,105,101,108,100,6,6,116,101,120,116, ++ 102,49,10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,9,111,112, ++ 116,105,111,110,115,100,98,11,12,111,101,100,95,97,117,116,111,112,111,115, ++ 116,0,0,0,12,116,100,98,100,97,116,97,105,109,97,103,101,11,98,108, ++ 111,98,100,105,115,112,108,97,121,8,98,111,117,110,100,115,95,120,3,221, ++ 0,8,98,111,117,110,100,115,95,121,2,64,9,98,111,117,110,100,115,95, ++ 99,120,3,165,0,9,98,111,117,110,100,115,95,99,121,3,130,0,12,102, ++ 114,97,109,101,46,108,101,118,101,108,111,2,1,12,102,114,97,109,101,46, ++ 108,101,118,101,108,105,2,255,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,4,66,76,79,66,16,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109,101, ++ 46,102,111,110,116,46,120,115,99,97,108,101,5,0,0,0,0,0,0,0, ++ 128,255,63,16,102,114,97,109,101,46,102,111,110,116,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,108,101,118,101,108,111,10,102,114,108,95,108,101,118,101, ++ 108,105,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,35,2,0,2, ++ 0,2,0,0,27,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110, ++ 115,112,97,114,101,110,116,99,111,108,111,114,4,6,0,0,128,18,102,97, ++ 99,101,46,105,109,97,103,101,46,111,112,116,105,111,110,115,11,10,98,109, ++ 111,95,109,97,115,107,101,100,13,98,109,111,95,99,111,108,111,114,109,97, ++ 115,107,0,20,102,97,99,101,46,105,109,97,103,101,46,97,108,105,103,110, ++ 109,101,110,116,11,12,97,108,95,120,99,101,110,116,101,114,101,100,12,97, ++ 108,95,121,99,101,110,116,101,114,101,100,0,16,102,97,99,101,46,105,109, ++ 97,103,101,46,105,109,97,103,101,10,32,31,0,0,0,0,0,0,6,0, ++ 0,0,100,0,0,0,100,0,0,0,116,6,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,255,0,0,0,181,235,113,106,8,0,0,0,9,235,113, ++ 106,6,0,0,0,72,235,113,106,14,0,0,0,3,235,113,106,10,0,0, ++ 0,74,235,113,106,13,0,0,0,4,235,113,106,8,0,0,0,73,235,113, ++ 106,15,0,0,0,2,235,113,106,9,0,0,0,75,235,113,106,15,0,0, ++ 0,1,235,113,106,9,0,0,0,77,235,113,106,13,0,0,0,3,235,113, ++ 106,8,0,0,0,5,235,113,106,6,0,0,0,65,235,113,106,1,0,0, ++ 0,1,235,113,106,1,0,0,0,1,235,113,106,10,0,0,0,3,235,113, ++ 106,6,0,0,0,4,235,113,106,9,0,0,0,68,235,113,106,1,0,0, ++ 0,1,235,113,106,8,0,0,0,3,235,113,106,5,0,0,0,4,235,113, ++ 106,10,0,0,0,68,235,113,106,1,0,0,0,1,235,113,106,9,0,0, ++ 0,2,235,113,106,5,0,0,0,3,235,113,106,11,0,0,0,68,235,113, ++ 106,1,0,0,0,2,235,113,106,9,0,0,0,1,235,113,106,5,0,0, ++ 0,2,235,113,106,13,0,0,0,67,235,113,106,1,0,0,0,3,235,113, ++ 106,14,0,0,0,1,235,113,106,14,0,0,0,67,235,113,106,1,0,0, ++ 0,1,235,113,106,1,0,0,0,2,235,113,106,29,0,0,0,66,235,113, ++ 106,1,0,0,0,1,235,113,106,1,0,0,0,3,235,113,106,28,0,0, ++ 0,66,235,113,106,1,0,0,0,1,235,113,106,1,0,0,0,3,235,113, ++ 106,18,0,0,0,1,235,113,106,8,0,0,0,67,235,113,106,1,0,0, ++ 0,1,235,113,106,1,0,0,0,4,235,113,106,16,0,0,0,2,235,113, ++ 106,8,0,0,0,67,235,113,106,1,0,0,0,1,235,113,106,1,0,0, ++ 0,5,235,113,106,9,0,0,0,1,235,113,106,5,0,0,0,2,235,113, ++ 106,7,0,0,0,68,235,113,106,1,0,0,0,1,235,113,106,1,0,0, ++ 0,6,235,113,106,15,0,0,0,1,235,113,106,8,0,0,0,67,235,113, ++ 106,1,0,0,0,1,235,113,106,1,0,0,0,6,235,113,106,8,0,0, ++ 0,1,235,113,106,6,0,0,0,1,235,113,106,8,0,0,0,67,235,113, ++ 106,1,0,0,0,1,235,113,106,1,0,0,0,7,235,113,106,7,0,0, ++ 0,1,235,113,106,6,0,0,0,1,235,113,106,9,0,0,0,65,235,113, ++ 106,3,0,0,0,9,235,113,106,4,0,0,0,3,235,113,106,5,0,0, ++ 0,2,235,113,106,8,0,0,0,64,235,113,106,7,0,0,0,8,235,113, ++ 106,3,0,0,0,4,235,113,106,14,0,0,0,64,235,113,106,7,0,0, ++ 0,8,235,113,106,2,0,0,0,6,235,113,106,12,0,0,0,97,235,113, ++ 106,1,0,0,0,255,0,0,0,197,235,113,106,4,0,0,0,95,235,113, ++ 106,5,0,0,0,56,235,113,106,3,0,0,0,36,235,113,106,5,0,0, ++ 0,12,235,113,106,5,0,0,0,37,235,113,106,4,0,0,0,37,235,113, ++ 106,4,0,0,0,11,235,113,106,7,0,0,0,11,235,113,106,7,0,0, ++ 0,18,235,113,106,7,0,0,0,35,235,113,106,4,0,0,0,8,235,113, ++ 106,11,0,0,0,8,235,113,106,10,0,0,0,6,235,113,106,19,0,0, ++ 0,44,235,113,106,15,0,0,0,4,235,113,106,13,0,0,0,3,235,113, ++ 106,21,0,0,0,35,235,113,106,5,0,0,0,5,235,113,106,16,0,0, ++ 0,2,235,113,106,13,0,0,0,2,235,113,106,12,0,0,0,1,235,113, ++ 106,10,0,0,0,32,235,113,106,7,0,0,0,1,235,113,106,20,0,0, ++ 0,2,235,113,106,13,0,0,0,2,235,113,106,12,0,0,0,1,235,113, ++ 106,11,0,0,0,31,235,113,106,7,0,0,0,1,235,113,106,21,0,0, ++ 0,1,235,113,106,13,0,0,0,1,235,113,106,13,0,0,0,1,235,113, ++ 106,10,0,0,0,32,235,113,106,7,0,0,0,1,235,113,106,21,0,0, ++ 0,1,235,113,106,5,0,0,0,1,235,113,106,13,0,0,0,1,235,113, ++ 106,13,0,0,0,1,235,113,106,4,0,0,0,33,235,113,106,7,0,0, ++ 0,1,235,113,106,12,0,0,0,1,235,113,106,7,0,0,0,1,235,113, ++ 106,4,0,0,0,2,235,113,106,7,0,0,0,1,235,113,106,5,0,0, ++ 0,1,235,113,106,7,0,0,0,1,235,113,106,10,0,0,0,33,235,113, ++ 106,7,0,0,0,1,235,113,106,12,0,0,0,1,235,113,106,7,0,0, ++ 0,1,235,113,106,4,0,0,0,1,235,113,106,8,0,0,0,1,235,113, ++ 106,5,0,0,0,1,235,113,106,7,0,0,0,1,235,113,106,5,0,0, ++ 0,1,235,113,106,4,0,0,0,33,235,113,106,7,0,0,0,1,235,113, ++ 106,6,0,0,0,1,235,113,106,5,0,0,0,2,235,113,106,6,0,0, ++ 0,4,235,113,106,10,0,0,0,1,235,113,106,5,0,0,0,1,235,113, ++ 106,6,0,0,0,2,235,113,106,10,0,0,0,33,235,113,106,7,0,0, ++ 0,1,235,113,106,6,0,0,0,1,235,113,106,5,0,0,0,2,235,113, ++ 106,6,0,0,0,3,235,113,106,4,0,0,0,1,235,113,106,6,0,0, ++ 0,1,235,113,106,5,0,0,0,1,235,113,106,5,0,0,0,3,235,113, ++ 106,5,0,0,0,38,235,113,106,6,0,0,0,2,235,113,106,12,0,0, ++ 0,2,235,113,106,6,0,0,0,2,235,113,106,4,0,0,0,2,235,113, ++ 106,6,0,0,0,1,235,113,106,11,0,0,0,3,235,113,106,5,0,0, ++ 0,38,235,113,106,6,0,0,0,2,235,113,106,12,0,0,0,2,235,113, ++ 106,4,0,0,0,3,235,113,106,5,0,0,0,2,235,113,106,6,0,0, ++ 0,3,235,113,106,9,0,0,0,3,235,113,106,5,0,0,0,38,235,113, ++ 106,6,0,0,0,2,235,113,106,13,0,0,0,1,235,113,106,4,0,0, ++ 0,3,235,113,106,5,0,0,0,2,235,113,106,5,0,0,0,2,235,113, ++ 106,13,0,0,0,1,235,113,106,6,0,0,0,2,235,113,106,2,0,0, ++ 0,32,235,113,106,6,0,0,0,2,235,113,106,20,0,0,0,2,235,113, ++ 106,12,0,0,0,2,235,113,106,24,0,0,0,32,235,113,106,6,0,0, ++ 0,2,235,113,106,6,0,0,0,1,235,113,106,6,0,0,0,1,235,113, ++ 106,6,0,0,0,2,235,113,106,12,0,0,0,2,235,113,106,14,0,0, ++ 0,1,235,113,106,8,0,0,0,33,235,113,106,6,0,0,0,2,235,113, ++ 106,6,0,0,0,1,235,113,106,6,0,0,0,1,235,113,106,6,0,0, ++ 0,2,235,113,106,6,0,0,0,1,235,113,106,5,0,0,0,2,235,113, ++ 106,22,0,0,0,78,235,113,106,16,0,0,0,84,235,113,106,16,0,0, ++ 0,84,235,113,106,5,0,0,0,4,235,113,106,7,0,0,0,84,235,113, ++ 106,7,0,0,0,2,235,113,106,6,0,0,0,85,235,113,106,14,0,0, ++ 0,87,235,113,106,9,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,249,116,24, ++ 0,0,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,181,1,1,1,1,6,6,6,1,29,29,29,1,48,48, ++ 48,2,28,28,28,1,9,9,9,1,2,2,2,1,0,0,0,9,1,1, ++ 1,1,4,4,4,2,5,5,5,1,3,3,3,1,1,1,1,1,0,0, ++ 0,72,8,8,8,1,10,10,10,1,26,26,26,1,30,30,30,1,90,90, ++ 90,1,65,65,65,1,29,29,29,1,27,27,27,1,46,46,46,1,78,78, ++ 78,1,45,45,45,1,10,10,10,1,3,3,3,1,1,1,1,1,0,0, ++ 0,3,9,9,9,1,36,36,36,1,78,78,78,1,94,94,94,1,66,66, ++ 66,1,34,34,34,1,28,28,28,1,31,31,31,1,27,27,27,1,2,2, ++ 2,1,0,0,0,74,1,1,1,1,10,10,10,1,11,11,11,1,21,21, ++ 21,1,20,20,20,1,63,63,63,1,92,92,92,1,93,93,93,1,80,80, ++ 80,1,38,38,38,1,22,22,22,1,12,12,12,1,1,1,1,1,0,0, ++ 0,4,5,5,5,1,52,52,52,1,104,104,104,1,69,69,69,1,72,72, ++ 72,1,79,79,79,1,62,62,62,1,3,3,3,1,0,0,0,73,2,2, ++ 2,1,28,28,28,1,55,55,55,1,115,115,115,1,134,134,134,1,228,228, ++ 228,1,227,227,227,2,213,213,213,1,249,249,249,1,251,251,251,1,72,72, ++ 72,1,21,21,21,1,52,52,52,1,9,9,9,1,0,0,0,2,236,236, ++ 236,1,247,247,247,1,231,231,231,1,202,202,202,1,236,236,236,1,212,212, ++ 212,1,197,197,197,1,17,17,17,1,21,21,21,1,0,0,0,75,1,1, ++ 1,1,5,5,5,1,24,24,24,1,22,22,22,1,52,52,52,1,60,60, ++ 60,1,246,246,246,1,238,238,238,1,254,254,254,2,229,229,229,1,35,35, ++ 35,1,42,42,42,1,53,53,53,1,1,1,1,1,0,0,0,1,3,3, ++ 3,1,34,34,34,1,150,150,150,1,222,222,222,1,131,131,131,1,114,114, ++ 114,1,39,39,39,1,3,3,3,1,12,12,12,1,0,0,0,77,7,7, ++ 7,1,3,3,3,1,15,15,15,1,4,4,4,1,254,254,254,1,230,230, ++ 230,1,255,255,255,1,254,254,254,1,255,255,255,1,189,189,189,1,18,18, ++ 18,1,28,28,28,1,14,14,14,1,0,0,0,3,14,14,14,1,238,238, ++ 238,1,12,12,12,1,70,70,70,1,14,14,14,1,1,1,1,1,5,5, ++ 5,1,1,1,1,1,0,0,0,5,1,1,1,1,5,5,5,1,15,15, ++ 15,1,20,20,20,1,10,10,10,1,2,2,2,1,0,0,0,65,1,1, ++ 1,1,0,0,0,1,3,3,3,1,0,0,0,1,255,255,255,1,67,67, ++ 67,1,253,253,253,1,255,255,255,3,133,133,133,1,16,16,16,1,9,9, ++ 9,1,1,1,1,1,0,0,0,3,250,250,250,1,1,1,1,1,30,30, ++ 30,1,7,7,7,1,4,4,4,1,2,2,2,1,0,0,0,4,1,1, ++ 1,1,10,10,10,1,26,26,26,1,40,40,40,1,36,36,36,1,34,34, ++ 34,1,17,17,17,1,6,6,6,1,1,1,1,1,0,0,0,68,255,255, ++ 255,1,0,0,0,1,125,125,125,1,255,255,255,3,253,253,253,1,97,97, ++ 97,1,34,34,34,1,2,2,2,1,0,0,0,3,254,254,254,1,6,6, ++ 6,1,18,18,18,1,12,12,12,1,9,9,9,1,0,0,0,4,2,2, ++ 2,1,18,18,18,1,51,51,51,1,68,68,68,1,61,61,61,1,51,51, ++ 51,1,49,49,49,1,27,27,27,1,7,7,7,1,1,1,1,1,0,0, ++ 0,68,255,255,255,1,0,0,0,1,2,2,2,1,184,184,184,1,252,252, ++ 252,1,253,253,253,1,255,255,255,1,241,241,241,1,97,97,97,1,35,35, ++ 35,1,3,3,3,1,0,0,0,2,252,252,252,1,14,14,14,1,25,25, ++ 25,1,34,34,34,1,13,13,13,1,0,0,0,3,2,2,2,1,27,27, ++ 27,2,26,26,26,1,77,77,77,1,78,78,78,1,68,68,68,1,43,43, ++ 43,1,25,25,25,1,10,10,10,1,2,2,2,1,0,0,0,68,255,255, ++ 255,1,0,0,0,2,20,20,20,1,224,224,224,1,241,241,241,1,254,254, ++ 254,1,255,255,255,1,220,220,220,1,65,65,65,1,30,30,30,1,10,10, ++ 10,1,0,0,0,1,232,232,232,1,31,31,31,1,43,43,43,1,46,46, ++ 46,1,11,11,11,1,0,0,0,2,11,11,11,1,128,128,128,1,209,209, ++ 209,1,226,226,226,1,204,204,204,1,184,184,184,1,164,164,164,1,98,98, ++ 98,1,84,84,84,1,64,64,64,1,41,41,41,1,16,16,16,1,1,1, ++ 1,1,0,0,0,67,255,255,255,1,0,0,0,3,58,58,58,1,239,239, ++ 239,1,234,234,234,1,255,255,255,2,166,166,166,1,63,63,63,1,76,76, ++ 76,1,11,11,11,1,206,206,206,1,59,59,59,1,68,68,68,1,36,36, ++ 36,1,5,5,5,1,0,0,0,1,24,24,24,1,213,213,213,1,255,255, ++ 255,1,207,207,207,1,30,30,30,1,35,35,35,1,154,154,154,1,170,170, ++ 170,1,197,197,197,1,133,133,133,1,115,115,115,1,81,81,81,1,33,33, ++ 33,1,6,6,6,1,0,0,0,67,255,255,255,1,0,0,0,1,3,3, ++ 3,1,0,0,0,2,112,112,112,1,241,241,241,1,248,248,248,1,254,254, ++ 254,1,255,255,255,1,133,133,133,1,112,112,112,1,78,78,78,1,179,179, ++ 179,1,109,109,109,1,76,76,76,1,21,21,21,1,1,1,1,1,2,2, ++ 2,1,188,188,188,1,255,255,255,2,86,86,86,1,3,3,3,1,6,6, ++ 6,1,57,57,57,1,154,154,154,1,169,169,169,1,181,181,181,1,145,145, ++ 145,1,114,114,114,1,47,47,47,1,9,9,9,1,1,1,1,1,0,0, ++ 0,66,253,253,253,1,0,0,0,1,17,17,17,1,0,0,0,3,173,173, ++ 173,1,251,251,251,2,255,255,255,1,243,243,243,1,106,106,106,1,82,82, ++ 82,1,190,190,190,1,139,139,139,1,54,54,54,1,10,10,10,1,1,1, ++ 1,1,79,79,79,1,253,253,253,1,255,255,255,2,45,45,45,1,1,1, ++ 1,2,19,19,19,1,187,187,187,1,190,190,190,1,211,211,211,1,183,183, ++ 183,1,115,115,115,1,42,42,42,1,7,7,7,1,1,1,1,1,0,0, ++ 0,66,246,246,246,1,0,0,0,1,50,50,50,1,0,0,0,3,15,15, ++ 15,1,221,221,221,1,255,255,255,1,251,251,251,1,255,255,255,1,213,213, ++ 213,1,54,54,54,1,231,231,231,1,121,121,121,1,36,36,36,1,17,17, ++ 17,1,1,1,1,1,161,161,161,1,248,248,248,1,255,255,255,2,44,44, ++ 44,1,1,1,1,1,0,0,0,1,6,6,6,1,227,227,227,1,228,228, ++ 228,1,238,238,238,1,217,217,217,1,104,104,104,1,25,25,25,1,3,3, ++ 3,1,0,0,0,67,238,238,238,1,0,0,0,1,87,87,87,1,0,0, ++ 0,4,49,49,49,1,248,248,248,1,255,255,255,1,254,254,254,1,255,255, ++ 255,1,162,162,162,1,255,255,255,1,96,96,96,1,41,41,41,1,35,35, ++ 35,1,1,1,1,1,180,180,180,1,234,234,234,1,252,252,252,1,255,255, ++ 255,1,77,77,77,1,0,0,0,2,1,1,1,1,247,247,247,1,241,241, ++ 241,1,253,253,253,1,242,242,242,1,89,89,89,1,32,32,32,1,1,1, ++ 1,1,0,0,0,67,238,238,238,1,0,0,0,1,87,87,87,1,0,0, ++ 0,5,103,103,103,1,255,255,255,5,94,94,94,1,53,53,53,1,44,44, ++ 44,1,0,0,0,1,170,170,170,1,227,227,227,1,251,251,251,1,255,255, ++ 255,1,101,101,101,1,0,0,0,2,2,2,2,1,249,249,249,1,237,237, ++ 237,1,255,255,255,1,253,253,253,1,99,99,99,1,48,48,48,1,0,0, ++ 0,68,246,246,246,1,0,0,0,1,50,50,50,1,0,0,0,6,164,164, ++ 164,1,255,255,255,2,254,254,254,1,251,251,251,1,103,103,103,1,56,56, ++ 56,1,28,28,28,1,1,1,1,1,176,176,176,1,234,234,234,1,252,252, ++ 252,1,255,255,255,1,73,73,73,1,2,2,2,1,0,0,0,1,7,7, ++ 7,1,245,245,245,1,225,225,225,1,253,253,253,1,244,244,244,1,111,111, ++ 111,1,52,52,52,1,5,5,5,1,0,0,0,67,253,253,253,1,0,0, ++ 0,1,17,17,17,1,0,0,0,6,11,11,11,1,214,214,214,1,255,255, ++ 255,1,247,247,247,1,243,243,243,1,100,100,100,1,57,57,57,1,8,8, ++ 8,1,0,0,0,1,161,161,161,1,247,247,247,1,255,255,255,2,35,35, ++ 35,1,3,3,3,1,0,0,0,1,17,17,17,1,240,240,240,1,208,208, ++ 208,1,247,247,247,1,224,224,224,1,129,129,129,1,59,59,59,1,11,11, ++ 11,1,0,0,0,67,255,255,255,1,0,0,0,1,3,3,3,1,0,0, ++ 0,7,42,42,42,1,239,239,239,1,229,229,229,1,221,221,221,1,102,102, ++ 102,1,39,39,39,1,2,2,2,1,0,0,0,1,90,90,90,1,254,254, ++ 254,1,255,255,255,2,34,34,34,1,2,2,2,1,0,0,0,1,37,37, ++ 37,1,236,236,236,1,202,202,202,1,242,242,242,1,202,202,202,1,143,143, ++ 143,1,57,57,57,1,12,12,12,1,1,1,1,1,0,0,0,65,17,17, ++ 17,1,255,255,255,1,17,17,17,1,0,0,0,9,89,89,89,1,221,221, ++ 221,1,168,168,168,1,100,100,100,1,0,0,0,3,5,5,5,1,207,207, ++ 207,1,255,255,255,2,77,77,77,1,0,0,0,2,80,80,80,1,241,241, ++ 241,1,224,224,224,1,217,217,217,1,136,136,136,1,99,99,99,1,42,42, ++ 42,1,8,8,8,1,0,0,0,64,6,6,6,1,40,40,40,1,167,167, ++ 167,1,255,255,255,1,167,167,167,1,40,40,40,1,3,3,3,1,0,0, ++ 0,8,138,138,138,1,191,191,191,1,5,5,5,1,0,0,0,4,33,33, ++ 33,1,223,223,223,1,255,255,255,1,207,207,207,1,31,31,31,1,29,29, ++ 29,1,205,205,205,1,251,251,251,1,220,220,220,1,66,66,66,1,59,59, ++ 59,1,33,33,33,1,18,18,18,1,1,1,1,1,0,0,0,64,255,255, ++ 255,7,0,0,0,8,7,7,7,1,186,186,186,1,0,0,0,6,14,14, ++ 14,1,129,129,129,1,210,210,210,1,245,245,245,1,249,249,249,1,213,213, ++ 213,1,131,131,131,1,18,18,18,1,7,7,7,1,8,8,8,2,1,1, ++ 1,1,0,0,0,97,1,1,1,1,0,0,0,255,0,0,0,197,6,6, ++ 6,1,49,49,49,1,67,67,67,1,16,16,16,1,0,0,0,95,79,79, ++ 79,1,233,233,233,2,95,95,95,1,18,18,18,1,0,0,0,56,3,3, ++ 3,2,1,1,1,1,0,0,0,36,232,232,232,1,255,255,255,2,231,231, ++ 231,1,4,4,4,1,0,0,0,12,1,1,1,1,2,2,2,1,3,3, ++ 3,1,2,2,2,1,1,1,1,1,0,0,0,37,1,1,1,1,10,10, ++ 10,1,14,14,14,1,7,7,7,1,0,0,0,37,233,233,233,1,255,255, ++ 255,2,232,232,232,1,0,0,0,11,1,1,1,1,5,5,5,1,11,11, ++ 11,1,10,10,10,1,9,9,9,1,5,5,5,1,2,2,2,1,0,0, ++ 0,11,1,1,1,4,2,2,2,1,3,3,3,1,1,1,1,1,0,0, ++ 0,18,1,1,1,1,9,9,9,1,27,27,27,1,48,48,48,1,27,27, ++ 27,1,9,9,9,1,2,2,2,1,0,0,0,35,82,82,82,1,234,234, ++ 234,1,231,231,231,1,78,78,78,1,0,0,0,8,3,3,3,1,14,14, ++ 14,1,37,37,37,1,31,31,31,1,21,21,21,1,22,22,22,1,17,17, ++ 17,1,10,10,10,1,3,3,3,2,2,2,2,1,0,0,0,8,14,14, ++ 14,1,26,26,26,1,20,20,20,1,17,17,17,1,33,33,33,1,50,50, ++ 50,1,43,43,43,1,22,22,22,1,6,6,6,1,1,1,1,1,0,0, ++ 0,6,1,1,1,1,3,3,3,1,4,4,4,1,2,2,2,1,6,6, ++ 6,1,18,18,18,1,25,25,25,1,18,18,18,1,6,6,6,1,1,1, ++ 1,1,3,3,3,1,9,9,9,1,34,34,34,1,72,72,72,1,79,79, ++ 79,1,22,22,22,1,4,4,4,1,3,3,3,1,1,1,1,1,0,0, ++ 0,44,1,1,1,1,10,10,10,1,38,38,38,1,81,81,81,1,61,61, ++ 61,1,31,31,31,1,33,33,33,1,37,37,37,1,51,51,51,1,45,45, ++ 45,1,15,15,15,1,2,2,2,1,4,4,4,1,2,2,2,1,1,1, ++ 1,1,0,0,0,4,1,1,1,1,25,25,25,1,60,60,60,1,45,45, ++ 45,1,36,36,36,1,45,45,45,1,63,63,63,1,60,60,60,1,43,43, ++ 43,1,27,27,27,1,16,16,16,1,8,8,8,1,3,3,3,1,0,0, ++ 0,3,8,8,8,1,45,45,45,1,82,82,82,1,70,70,70,1,33,33, ++ 33,1,32,32,32,1,51,51,51,1,53,53,53,1,47,47,47,1,28,28, ++ 28,1,8,8,8,1,1,1,1,1,5,5,5,1,32,32,32,1,58,58, ++ 58,1,110,110,110,1,105,105,105,1,48,48,48,1,44,44,44,1,73,73, ++ 73,1,41,41,41,1,0,0,0,35,9,9,9,1,29,29,29,1,50,50, ++ 50,2,29,29,29,1,0,0,0,5,5,5,5,1,22,22,22,1,47,47, ++ 47,1,44,44,44,1,53,53,53,1,83,83,83,1,108,108,108,1,75,75, ++ 75,1,36,36,36,1,18,18,18,1,6,6,6,1,15,15,15,1,66,66, ++ 66,1,85,85,85,1,45,45,45,1,5,5,5,1,0,0,0,2,8,8, ++ 8,1,66,66,66,1,116,116,116,1,53,53,53,1,45,45,45,1,71,71, ++ 71,1,77,77,77,1,79,79,79,1,86,86,86,1,85,85,85,1,49,49, ++ 49,1,31,31,31,1,12,12,12,1,0,0,0,2,4,4,4,1,26,26, ++ 26,1,70,70,70,1,69,69,69,1,19,19,19,1,83,83,83,1,114,114, ++ 114,1,91,91,91,1,76,76,76,1,54,54,54,1,25,25,25,1,6,6, ++ 6,1,0,0,0,1,11,11,11,1,34,34,34,1,103,103,103,1,145,145, ++ 145,1,81,81,81,1,14,14,14,1,10,10,10,1,40,40,40,1,80,80, ++ 80,1,27,27,27,1,0,0,0,32,255,255,255,1,252,252,252,1,243,243, ++ 243,1,255,255,255,2,87,87,87,1,50,50,50,1,0,0,0,1,252,252, ++ 252,1,255,255,255,4,55,55,55,1,70,70,70,1,194,194,194,1,242,242, ++ 242,1,225,225,225,1,133,133,133,1,62,62,62,1,24,24,24,1,67,67, ++ 67,1,191,191,191,1,249,249,249,1,234,234,234,1,115,115,115,1,30,30, ++ 30,1,12,12,12,1,0,0,0,2,18,18,18,1,67,67,67,1,146,146, ++ 146,1,143,143,143,1,166,166,166,1,168,168,168,1,182,182,182,1,193,193, ++ 193,1,181,181,181,1,129,129,129,1,123,123,123,1,70,70,70,1,24,24, ++ 24,1,0,0,0,2,4,4,4,1,111,111,111,1,209,209,209,1,189,189, ++ 189,1,194,194,194,1,201,201,201,1,226,226,226,1,243,243,243,1,247,247, ++ 247,1,254,254,254,1,249,249,249,1,4,4,4,1,0,0,0,1,11,11, ++ 11,1,57,57,57,1,105,105,105,1,198,198,198,1,161,161,161,1,197,197, ++ 197,1,192,192,192,1,90,90,90,1,30,30,30,1,20,20,20,1,1,1, ++ 1,1,0,0,0,31,67,67,67,1,252,252,252,1,239,239,239,1,255,255, ++ 255,2,91,91,91,1,50,50,50,1,0,0,0,1,68,68,68,1,255,255, ++ 255,4,103,103,103,1,243,243,243,1,254,254,254,1,251,251,251,1,255,255, ++ 255,1,254,254,254,1,85,85,85,1,95,95,95,1,251,251,251,1,255,255, ++ 255,1,247,247,247,1,244,244,244,1,245,245,245,1,48,48,48,1,18,18, ++ 18,1,10,10,10,1,0,0,0,1,35,35,35,1,208,208,208,1,252,252, ++ 252,1,93,93,93,1,12,12,12,1,17,17,17,1,119,119,119,1,231,231, ++ 231,1,248,248,248,1,250,250,250,1,177,177,177,1,121,121,121,1,30,30, ++ 30,1,0,0,0,1,4,4,4,1,177,177,177,1,255,255,255,2,149,149, ++ 149,1,11,11,11,1,142,142,142,1,235,235,235,1,249,249,249,1,254,254, ++ 254,1,252,252,252,1,230,230,230,1,11,11,11,1,0,0,0,1,16,16, ++ 16,1,61,61,61,1,230,230,230,1,255,255,255,1,154,154,154,1,12,12, ++ 12,1,151,151,151,1,250,250,250,1,131,131,131,1,4,4,4,1,0,0, ++ 0,32,4,4,4,1,254,254,254,1,246,246,246,1,255,255,255,2,74,74, ++ 74,1,28,28,28,1,0,0,0,1,4,4,4,1,255,255,255,4,202,202, ++ 202,1,31,31,31,1,91,91,91,1,255,255,255,3,219,219,219,1,207,207, ++ 207,1,38,38,38,1,82,82,82,1,254,254,254,1,251,251,251,1,255,255, ++ 255,1,173,173,173,1,50,50,50,1,45,45,45,1,0,0,0,1,182,182, ++ 182,1,253,253,253,1,254,254,254,1,78,78,78,1,1,1,1,1,0,0, ++ 0,1,8,8,8,1,246,246,246,1,250,250,250,1,255,255,255,1,238,238, ++ 238,1,125,125,125,1,29,29,29,1,1,1,1,1,119,119,119,1,255,255, ++ 255,3,46,46,46,1,0,0,0,1,47,47,47,1,235,235,235,1,247,247, ++ 247,1,244,244,244,1,138,138,138,1,84,84,84,1,24,24,24,1,1,1, ++ 1,1,10,10,10,1,212,212,212,1,255,255,255,2,67,67,67,1,0,0, ++ 0,1,43,43,43,1,255,255,255,1,254,254,254,1,50,50,50,1,0,0, ++ 0,33,255,255,255,1,253,253,253,1,255,255,255,2,95,95,95,1,12,12, ++ 12,1,1,1,1,1,0,0,0,1,254,254,254,1,255,255,255,3,38,38, ++ 38,1,3,3,3,1,11,11,11,1,254,254,254,1,255,255,255,3,41,41, ++ 41,1,0,0,0,1,10,10,10,1,255,255,255,1,252,252,252,1,255,255, ++ 255,1,232,232,232,1,87,87,87,1,85,85,85,1,0,0,0,1,230,230, ++ 230,1,251,251,251,1,254,254,254,1,199,199,199,1,0,0,0,2,1,1, ++ 1,1,247,247,247,1,252,252,252,1,255,255,255,1,251,251,251,1,119,119, ++ 119,1,34,34,34,1,0,0,0,1,213,213,213,1,254,254,254,1,255,255, ++ 255,2,12,12,12,1,0,0,0,1,12,12,12,1,226,226,226,1,247,247, ++ 247,1,255,255,255,1,226,226,226,1,104,104,104,1,22,22,22,1,0,0, ++ 0,1,99,99,99,1,255,255,255,3,23,23,23,1,1,1,1,1,11,11, ++ 11,1,255,255,255,2,152,152,152,1,0,0,0,33,255,255,255,4,127,127, ++ 127,1,28,28,28,1,5,5,5,1,0,0,0,1,254,254,254,1,255,255, ++ 255,3,23,23,23,1,13,13,13,1,1,1,1,1,245,245,245,1,254,254, ++ 254,1,255,255,255,2,26,26,26,1,0,0,0,1,1,1,1,1,255,255, ++ 255,1,252,252,252,1,255,255,255,1,252,252,252,1,87,87,87,2,0,0, ++ 0,1,96,96,96,1,230,230,230,1,235,235,235,1,92,92,92,1,0,0, ++ 0,1,17,17,17,1,135,135,135,1,250,250,250,1,254,254,254,1,255,255, ++ 255,2,133,133,133,1,45,45,45,1,0,0,0,1,234,234,234,1,253,253, ++ 253,1,255,255,255,2,2,2,2,1,0,0,0,1,2,2,2,1,227,227, ++ 227,1,251,251,251,1,255,255,255,1,251,251,251,1,68,68,68,1,8,8, ++ 8,1,0,0,0,1,185,185,185,1,255,255,255,3,1,1,1,1,0,0, ++ 0,1,1,1,1,1,255,255,255,2,212,212,212,1,0,0,0,33,255,255, ++ 255,1,253,253,253,1,255,255,255,2,130,130,130,1,73,73,73,1,5,5, ++ 5,1,0,0,0,1,252,252,252,1,255,255,255,3,71,71,71,1,35,35, ++ 35,1,0,0,0,1,227,227,227,1,251,251,251,1,255,255,255,2,70,70, ++ 70,1,0,0,0,2,252,252,252,1,254,254,254,1,255,255,255,2,50,50, ++ 50,2,0,0,0,4,2,2,2,1,104,104,104,1,219,219,219,1,61,61, ++ 61,1,249,249,249,1,254,254,254,1,255,255,255,2,144,144,144,1,45,45, ++ 45,1,0,0,0,1,205,205,205,1,253,253,253,1,255,255,255,2,6,6, ++ 6,1,0,0,0,1,8,8,8,1,242,242,242,1,255,255,255,2,234,234, ++ 234,1,18,18,18,1,0,0,0,2,233,233,233,1,255,255,255,8,243,243, ++ 243,1,0,0,0,33,255,255,255,1,252,252,252,1,255,255,255,2,119,119, ++ 119,1,101,101,101,1,1,1,1,1,0,0,0,1,251,251,251,1,255,255, ++ 255,3,128,128,128,1,52,52,52,1,0,0,0,1,211,211,211,1,249,249, ++ 249,1,255,255,255,2,105,105,105,1,0,0,0,2,250,250,250,1,255,255, ++ 255,3,17,17,17,2,0,0,0,3,48,48,48,1,203,203,203,1,247,247, ++ 247,1,55,55,55,1,0,0,0,1,247,247,247,1,254,254,254,1,255,255, ++ 255,2,135,135,135,1,32,32,32,1,0,0,0,1,109,109,109,1,254,254, ++ 254,1,255,255,255,2,39,39,39,1,0,0,0,1,43,43,43,1,247,247, ++ 247,1,253,253,253,1,255,255,255,1,135,135,135,1,0,0,0,3,251,251, ++ 251,1,255,255,255,3,10,10,10,1,0,0,0,38,255,255,255,1,253,253, ++ 253,1,255,255,255,2,77,77,77,1,73,73,73,1,0,0,0,2,252,252, ++ 252,1,255,255,255,3,144,144,144,1,43,43,43,1,1,1,1,1,217,217, ++ 217,1,250,250,250,1,255,255,255,2,86,86,86,1,0,0,0,2,251,251, ++ 251,1,255,255,255,3,3,3,3,2,0,0,0,2,116,116,116,1,250,250, ++ 250,1,255,255,255,1,123,123,123,1,0,0,0,2,248,248,248,1,255,255, ++ 255,3,117,117,117,1,15,15,15,1,0,0,0,1,1,1,1,1,144,144, ++ 144,1,254,254,254,1,255,255,255,1,155,155,155,1,20,20,20,1,167,167, ++ 167,1,254,254,254,1,252,252,252,1,172,172,172,1,6,6,6,1,0,0, ++ 0,3,244,244,244,1,255,255,255,3,40,40,40,1,0,0,0,38,255,255, ++ 255,4,28,28,28,2,0,0,0,2,254,254,254,1,255,255,255,3,99,99, ++ 99,1,21,21,21,1,4,4,4,1,236,236,236,1,254,254,254,1,255,255, ++ 255,2,40,40,40,1,0,0,0,2,254,254,254,1,255,255,255,3,0,0, ++ 0,3,108,108,108,1,255,255,255,3,24,24,24,1,0,0,0,2,250,250, ++ 250,1,255,255,255,3,90,90,90,1,3,3,3,1,0,0,0,3,66,66, ++ 66,1,234,234,234,1,245,245,245,1,235,235,235,1,185,185,185,1,125,125, ++ 125,1,65,65,65,1,6,6,6,1,3,3,3,1,0,0,0,3,209,209, ++ 209,1,255,255,255,3,102,102,102,1,0,0,0,38,255,255,255,4,6,6, ++ 6,2,0,0,0,2,255,255,255,4,36,36,36,1,10,10,10,1,5,5, ++ 5,1,252,252,252,1,255,255,255,3,11,11,11,1,2,2,2,1,0,0, ++ 0,1,255,255,255,4,0,0,0,3,224,224,224,1,255,255,255,3,13,13, ++ 13,1,0,0,0,2,253,253,253,1,255,255,255,3,48,48,48,1,0,0, ++ 0,2,3,3,3,1,127,127,127,1,243,243,243,1,73,73,73,1,6,6, ++ 6,1,8,8,8,1,1,1,1,1,9,9,9,1,30,30,30,1,59,59, ++ 59,1,58,58,58,1,17,17,17,1,1,1,1,1,0,0,0,1,142,142, ++ 142,1,255,255,255,3,206,206,206,1,1,1,1,1,0,0,0,2,71,71, ++ 71,1,192,192,192,1,0,0,0,32,4,4,4,1,255,255,255,4,4,4, ++ 4,1,0,0,0,2,3,3,3,1,255,255,255,4,10,10,10,1,4,4, ++ 4,1,3,3,3,1,255,255,255,4,4,4,4,1,1,1,1,1,4,4, ++ 4,1,255,255,255,4,3,3,3,1,0,0,0,2,248,248,248,1,255,255, ++ 255,3,126,126,126,1,14,14,14,1,139,139,139,1,255,255,255,4,26,26, ++ 26,1,0,0,0,2,151,151,151,1,255,255,255,2,61,61,61,1,5,5, ++ 5,1,23,23,23,1,61,61,61,1,91,91,91,1,93,93,93,1,106,106, ++ 106,1,117,117,117,1,82,82,82,1,18,18,18,1,2,2,2,1,35,35, ++ 35,1,250,250,250,1,255,255,255,3,146,146,146,1,14,14,14,1,54,54, ++ 54,1,226,226,226,1,54,54,54,1,0,0,0,32,67,67,67,1,255,255, ++ 255,4,64,64,64,1,0,0,0,2,67,67,67,1,255,255,255,4,67,67, ++ 67,1,0,0,0,1,65,65,65,1,255,255,255,4,65,65,65,1,0,0, ++ 0,1,75,75,75,1,255,255,255,4,64,64,64,1,0,0,0,2,184,184, ++ 184,1,255,255,255,4,243,243,243,1,98,98,98,1,226,226,226,1,255,255, ++ 255,3,172,172,172,1,0,0,0,2,245,245,245,1,255,255,255,3,251,251, ++ 251,2,254,254,254,1,250,250,250,1,234,234,234,1,206,206,206,1,144,144, ++ 144,1,89,89,89,1,61,61,61,1,12,12,12,1,0,0,0,1,106,106, ++ 106,1,255,255,255,6,115,115,115,1,0,0,0,33,255,255,255,6,0,0, ++ 0,2,255,255,255,6,0,0,0,1,255,255,255,6,0,0,0,1,255,255, ++ 255,6,0,0,0,2,27,27,27,1,188,188,188,1,250,250,250,1,227,227, ++ 227,1,146,146,146,1,27,27,27,1,0,0,0,1,78,78,78,1,224,224, ++ 224,1,243,243,243,1,160,160,160,1,11,11,11,1,0,0,0,2,172,172, ++ 172,1,255,255,255,1,254,254,254,1,253,253,253,1,255,255,255,3,253,253, ++ 253,1,244,244,244,1,235,235,235,1,246,246,246,1,156,156,156,1,93,93, ++ 93,1,48,48,48,1,3,3,3,1,1,1,1,1,73,73,73,1,192,192, ++ 192,1,245,245,245,1,248,248,248,1,199,199,199,1,81,81,81,1,0,0, ++ 0,78,6,6,6,1,152,152,152,1,248,248,248,1,255,255,255,1,242,242, ++ 242,1,236,236,236,1,248,248,248,1,255,255,255,1,251,251,251,1,234,234, ++ 234,1,203,203,203,1,192,192,192,1,106,106,106,1,75,75,75,1,19,19, ++ 19,1,8,8,8,1,0,0,0,84,95,95,95,1,241,241,241,1,158,158, ++ 158,1,82,82,82,1,4,4,4,1,1,1,1,1,5,5,5,1,15,15, ++ 15,1,44,44,44,1,154,154,154,1,203,203,203,1,152,152,152,1,115,115, ++ 115,1,80,80,80,1,43,43,43,1,19,19,19,1,0,0,0,84,230,230, ++ 230,1,244,244,244,1,48,48,48,1,91,91,91,1,23,23,23,1,0,0, ++ 0,4,10,10,10,1,212,212,212,1,151,151,151,1,125,125,125,1,80,80, ++ 80,1,53,53,53,1,14,14,14,1,0,0,0,84,233,233,233,1,246,246, ++ 246,1,60,60,60,1,65,65,65,1,71,71,71,1,18,18,18,1,2,2, ++ 2,1,0,0,0,2,64,64,64,1,239,239,239,1,143,143,143,1,77,77, ++ 77,1,51,51,51,1,24,24,24,1,0,0,0,85,95,95,95,1,251,251, ++ 251,1,216,216,216,1,85,85,85,1,39,39,39,1,20,20,20,1,14,14, ++ 14,1,38,38,38,1,115,115,115,1,239,239,239,1,165,165,165,1,13,13, ++ 13,1,10,10,10,1,4,4,4,1,0,0,0,87,47,47,47,1,146,146, ++ 146,1,201,201,201,1,232,232,232,1,248,248,248,1,245,245,245,1,214,214, ++ 214,1,158,158,158,1,67,67,67,1,0,0,0,255,0,0,0,255,0,0, ++ 0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0,0,255,0,0, ++ 0,249,15,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115,11,18, ++ 102,97,108,95,102,97,116,114,97,110,115,112,97,114,101,110,99,121,0,10, ++ 102,97,99,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,9,4,104,105,110,116,6,53,85,115,101,32,116,104,101,32,114,105, ++ 103,104,116,32,99,108,105,99,107,32,109,101,110,117,10,116,111,32,108,111, ++ 97,100,47,115,97,118,101,47,99,108,101,97,114,10,116,104,101,32,105,109, ++ 97,103,101,9,112,111,112,117,112,109,101,110,117,7,9,98,108,111,98,112, ++ 111,112,117,112,7,111,110,112,111,112,117,112,7,12,112,111,112,117,112,100, ++ 105,115,112,108,97,121,16,98,105,116,109,97,112,46,97,108,105,103,110,109, ++ 101,110,116,11,12,97,108,95,120,99,101,110,116,101,114,101,100,12,97,108, ++ 95,121,99,101,110,116,101,114,101,100,6,97,108,95,102,105,116,0,9,100, ++ 97,116,97,102,105,101,108,100,6,6,98,108,111,98,102,49,10,100,97,116, ++ 97,115,111,117,114,99,101,7,2,100,115,0,0,15,116,100,98,100,97,116, ++ 101,116,105,109,101,101,100,105,116,8,116,105,109,101,101,100,105,116,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103, ++ 108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99, ++ 97,108,101,0,8,98,111,117,110,100,115,95,120,2,82,8,98,111,117,110, ++ 100,115,95,121,3,8,1,9,98,111,117,110,100,115,95,99,120,3,130,0, ++ 9,98,111,117,110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,4,84,73,77,69,16,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,30,2,0,2,0,2,0,0,8, ++ 116,97,98,111,114,100,101,114,2,10,9,100,97,116,97,102,105,101,108,100, ++ 6,6,116,105,109,101,102,49,10,100,97,116,97,115,111,117,114,99,101,7, ++ 2,100,115,9,111,112,116,105,111,110,115,100,98,11,12,111,101,100,95,97, ++ 117,116,111,112,111,115,116,0,4,107,105,110,100,7,8,100,116,107,95,116, ++ 105,109,101,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,3, ++ 118,97,108,5,0,72,159,244,73,159,244,169,251,63,2,109,97,5,0,72, ++ 7,235,255,31,57,178,17,64,0,0,15,116,100,98,100,97,116,101,116,105, ++ 109,101,101,100,105,116,12,100,97,116,101,116,105,109,101,101,100,105,116,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111, ++ 117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115, ++ 13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116, ++ 103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,51,8,98,111,117, ++ 110,100,115,95,121,3,216,0,9,98,111,117,110,100,115,95,99,120,3,193, ++ 0,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,6,8,68,65,84,69,84,73,77,69,16,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108, ++ 101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,61,2,0,2, ++ 0,2,0,0,8,116,97,98,111,114,100,101,114,2,11,9,100,97,116,97, ++ 102,105,101,108,100,6,10,100,97,116,101,116,105,109,101,102,49,10,100,97, ++ 116,97,115,111,117,114,99,101,7,2,100,115,4,107,105,110,100,7,12,100, ++ 116,107,95,100,97,116,101,116,105,109,101,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,14,3,118,97,108,5,0,64,233,147,62,21,5,153, ++ 14,64,2,109,97,5,0,72,7,235,255,31,57,178,17,64,0,0,15,116, ++ 100,98,100,97,116,101,116,105,109,101,101,100,105,116,8,100,97,116,101,101, ++ 100,105,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111, ++ 119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102, ++ 111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95, ++ 102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,78, ++ 8,98,111,117,110,100,115,95,121,3,240,0,9,98,111,117,110,100,115,95, ++ 99,120,3,134,0,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,6,4,68,65,84,69,16,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108, ++ 101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,34,2,0,2, ++ 0,2,0,0,8,116,97,98,111,114,100,101,114,2,12,9,100,97,116,97, ++ 102,105,101,108,100,6,6,100,97,116,101,102,49,10,100,97,116,97,115,111, ++ 117,114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11,12, ++ 111,101,100,95,97,117,116,111,112,111,115,116,0,13,114,101,102,102,111,110, ++ 116,104,101,105,103,104,116,2,14,3,118,97,108,5,0,0,0,0,0,0, ++ 5,153,14,64,2,109,97,5,0,72,7,235,255,31,57,178,17,64,0,0, ++ 14,116,100,98,105,110,116,101,103,101,114,101,100,105,116,8,119,111,114,100, ++ 101,100,105,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 71,8,98,111,117,110,100,115,95,121,2,56,9,98,111,117,110,100,115,95, ++ 99,120,3,142,0,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,6,4,87,79,82,68,16,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108, ++ 101,102,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,41,2,0,2, ++ 0,2,0,0,8,116,97,98,111,114,100,101,114,2,13,9,100,97,116,97, ++ 102,105,101,108,100,6,6,119,111,114,100,102,49,10,100,97,116,97,115,111, ++ 117,114,99,101,7,2,100,115,9,111,112,116,105,111,110,115,100,98,11,12, ++ 111,101,100,95,97,117,116,111,112,111,115,116,0,3,109,97,120,4,255,255, ++ 0,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0, ++ 11,116,100,98,114,101,97,108,101,100,105,116,12,99,117,114,114,101,110,99, ++ 121,101,100,105,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111, ++ 119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120, ++ 2,40,8,98,111,117,110,100,115,95,121,3,184,0,9,98,111,117,110,100, ++ 115,95,99,120,3,204,0,9,98,111,117,110,100,115,95,99,121,2,20,13, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,6,8,67,85,82,82,69, ++ 78,67,89,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115, ++ 7,7,99,112,95,108,101,102,116,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101, ++ 1,2,72,2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2, ++ 14,9,100,97,116,97,102,105,101,108,100,6,10,99,117,114,114,101,110,99, ++ 121,102,49,10,100,97,116,97,115,111,117,114,99,101,7,2,100,115,9,111, ++ 112,116,105,111,110,115,100,98,11,12,111,101,100,95,97,117,116,111,112,111, ++ 115,116,0,10,102,111,114,109,97,116,101,100,105,116,6,4,48,46,35,35, ++ 10,102,111,114,109,97,116,100,105,115,112,6,4,48,46,35,35,13,114,101, ++ 102,102,111,110,116,104,101,105,103,104,116,2,14,3,118,97,108,5,0,72, ++ 202,128,186,5,44,147,32,64,0,0,18,116,115,113,108,105,116,101,51,99, ++ 111,110,110,101,99,116,105,111,110,4,99,111,110,110,9,67,111,110,110,101, ++ 99,116,101,100,9,12,68,97,116,97,98,97,115,101,78,97,109,101,6,9, ++ 46,47,116,101,115,116,46,100,98,11,84,114,97,110,115,97,99,116,105,111, ++ 110,7,5,116,114,97,110,115,4,108,101,102,116,2,8,3,116,111,112,3, ++ 232,0,0,0,18,116,109,115,101,115,113,108,116,114,97,110,115,97,99,116, ++ 105,111,110,5,116,114,97,110,115,6,65,99,116,105,118,101,9,8,68,97, ++ 116,97,98,97,115,101,7,4,99,111,110,110,4,108,101,102,116,2,16,3, ++ 116,111,112,3,0,1,0,0,12,116,109,115,101,115,113,108,113,117,101,114, ++ 121,3,113,114,121,6,112,97,114,97,109,115,14,0,8,83,81,76,46,100, ++ 97,116,97,1,6,29,115,101,108,101,99,116,32,42,32,102,114,111,109,32, ++ 100,97,116,97,116,121,112,101,115,95,116,101,115,116,59,0,14,83,81,76, ++ 85,112,100,97,116,101,46,100,97,116,97,1,6,25,117,112,100,97,116,101, ++ 32,100,97,116,97,116,121,112,101,115,95,116,101,115,116,32,115,101,116,6, ++ 22,105,110,116,101,103,101,114,102,49,61,32,58,73,78,84,69,71,69,82, ++ 70,49,44,6,24,108,97,114,103,101,105,110,116,102,49,61,32,58,76,65, ++ 82,71,69,73,78,84,70,49,44,6,16,119,111,114,100,102,49,61,32,58, ++ 87,79,82,68,70,49,44,6,24,115,109,97,108,108,105,110,116,102,49,61, ++ 32,58,83,77,65,76,76,73,78,84,70,49,44,6,22,98,111,111,108,101, ++ 97,110,102,49,61,32,58,66,79,79,76,69,65,78,70,49,44,6,38,114, ++ 101,97,108,102,108,111,97,116,100,111,117,98,108,101,102,49,61,32,58,82, ++ 69,65,76,70,76,79,65,84,68,79,85,66,76,69,70,49,44,6,24,100, ++ 97,116,101,116,105,109,101,102,49,61,32,58,68,65,84,69,84,73,77,69, ++ 70,49,44,6,16,100,97,116,101,102,49,61,32,58,68,65,84,69,70,49, ++ 44,6,16,116,105,109,101,102,49,61,32,58,84,73,77,69,70,49,44,6, ++ 22,110,117,109,101,114,105,99,102,49,61,32,58,78,85,77,69,82,73,67, ++ 70,49,44,6,24,99,117,114,114,101,110,99,121,102,49,61,32,58,67,85, ++ 82,82,69,78,67,89,70,49,44,6,18,118,99,104,97,114,102,49,61,32, ++ 58,86,67,72,65,82,70,49,44,6,16,116,101,120,116,102,49,61,32,58, ++ 84,69,88,84,70,49,44,6,15,98,108,111,98,102,49,61,32,58,66,76, ++ 79,66,70,49,6,1,59,0,9,73,110,100,101,120,68,101,102,115,14,0, ++ 13,83,116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101, ++ 108,101,99,116,8,100,97,116,97,98,97,115,101,7,4,99,111,110,110,6, ++ 65,99,116,105,118,101,9,11,84,114,97,110,115,97,99,116,105,111,110,7, ++ 5,116,114,97,110,115,9,70,105,101,108,100,68,101,102,115,14,1,4,78, ++ 97,109,101,6,9,105,110,116,101,103,101,114,102,49,8,68,97,116,97,84, ++ 121,112,101,7,9,102,116,73,110,116,101,103,101,114,9,80,114,101,99,105, ++ 115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101, ++ 6,10,108,97,114,103,101,105,110,116,102,49,8,68,97,116,97,84,121,112, ++ 101,7,10,102,116,76,97,114,103,101,105,110,116,9,80,114,101,99,105,115, ++ 105,111,110,2,255,4,83,105,122,101,2,8,0,1,4,78,97,109,101,6, ++ 6,119,111,114,100,102,49,8,68,97,116,97,84,121,112,101,7,6,102,116, ++ 87,111,114,100,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122, ++ 101,2,2,0,1,4,78,97,109,101,6,10,115,109,97,108,108,105,110,116, ++ 102,49,8,68,97,116,97,84,121,112,101,7,10,102,116,83,109,97,108,108, ++ 105,110,116,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,2,0,1,4,78,97,109,101,6,9,98,111,111,108,101,97,110,102,49, ++ 8,68,97,116,97,84,121,112,101,7,9,102,116,66,111,111,108,101,97,110, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,2,0, ++ 1,4,78,97,109,101,6,17,114,101,97,108,102,108,111,97,116,100,111,117, ++ 98,108,101,102,49,8,68,97,116,97,84,121,112,101,7,7,102,116,70,108, ++ 111,97,116,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,8,0,1,4,78,97,109,101,6,10,100,97,116,101,116,105,109,101,102, ++ 49,8,68,97,116,97,84,121,112,101,7,10,102,116,68,97,116,101,84,105, ++ 109,101,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2, ++ 8,0,1,4,78,97,109,101,6,6,100,97,116,101,102,49,8,68,97,116, ++ 97,84,121,112,101,7,6,102,116,68,97,116,101,9,80,114,101,99,105,115, ++ 105,111,110,2,255,4,83,105,122,101,2,8,0,1,4,78,97,109,101,6, ++ 6,116,105,109,101,102,49,8,68,97,116,97,84,121,112,101,7,6,102,116, ++ 84,105,109,101,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122, ++ 101,2,8,0,1,4,78,97,109,101,6,9,110,117,109,101,114,105,99,102, ++ 49,8,68,97,116,97,84,121,112,101,7,5,102,116,66,67,68,9,80,114, ++ 101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,8,0,1,4,78, ++ 97,109,101,6,10,99,117,114,114,101,110,99,121,102,49,8,68,97,116,97, ++ 84,121,112,101,7,10,102,116,67,117,114,114,101,110,99,121,9,80,114,101, ++ 99,105,115,105,111,110,2,255,4,83,105,122,101,2,8,0,1,4,78,97, ++ 109,101,6,7,118,99,104,97,114,102,49,8,68,97,116,97,84,121,112,101, ++ 7,8,102,116,83,116,114,105,110,103,9,80,114,101,99,105,115,105,111,110, ++ 2,255,4,83,105,122,101,3,255,0,0,1,4,78,97,109,101,6,6,116, ++ 101,120,116,102,49,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101, ++ 109,111,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2, ++ 4,0,1,4,78,97,109,101,6,6,98,108,111,98,102,49,8,68,97,116, ++ 97,84,121,112,101,7,6,102,116,66,108,111,98,9,80,114,101,99,105,115, ++ 105,111,110,2,255,4,83,105,122,101,2,4,0,0,23,99,111,110,116,114, ++ 111,108,108,101,114,46,102,105,101,108,100,115,46,99,111,117,110,116,2,13, ++ 24,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46,102, ++ 105,101,108,100,115,1,1,7,10,102,116,95,108,111,110,103,105,110,116,7, ++ 11,102,116,95,108,97,114,103,101,105,110,116,7,7,102,116,95,119,111,114, ++ 100,7,11,102,116,95,115,109,97,108,108,105,110,116,7,10,102,116,95,98, ++ 111,111,108,101,97,110,7,8,102,116,95,102,108,111,97,116,7,11,102,116, ++ 95,100,97,116,101,116,105,109,101,7,7,102,116,95,100,97,116,101,7,7, ++ 102,116,95,116,105,109,101,7,6,102,116,95,98,99,100,7,11,102,116,95, ++ 99,117,114,114,101,110,99,121,7,9,102,116,95,115,116,114,105,110,103,7, ++ 7,102,116,95,109,101,109,111,0,14,1,9,65,108,105,103,110,77,101,110, ++ 116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105, ++ 115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97, ++ 109,101,6,9,105,110,116,101,103,101,114,102,49,0,1,9,65,108,105,103, ++ 110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102, ++ 121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101, ++ 108,100,78,97,109,101,6,10,108,97,114,103,101,105,110,116,102,49,5,73, ++ 110,100,101,120,2,1,0,1,9,65,108,105,103,110,77,101,110,116,7,14, ++ 116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 6,119,111,114,100,102,49,5,73,110,100,101,120,2,2,0,1,9,65,108, ++ 105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115,116, ++ 105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70, ++ 105,101,108,100,78,97,109,101,6,10,115,109,97,108,108,105,110,116,102,49, ++ 5,73,110,100,101,120,2,3,0,1,12,68,105,115,112,108,97,121,87,105, ++ 100,116,104,2,5,9,70,105,101,108,100,78,97,109,101,6,9,98,111,111, ++ 108,101,97,110,102,49,5,73,110,100,101,120,2,4,13,100,105,115,112,108, ++ 97,121,118,97,108,117,101,115,6,10,84,114,117,101,59,70,97,108,115,101, ++ 0,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104, ++ 116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,10,9,70,105,101,108,100,78,97,109,101,6,17,114,101,97,108,102, ++ 108,111,97,116,100,111,117,98,108,101,102,49,5,73,110,100,101,120,2,5, ++ 9,80,114,101,99,105,115,105,111,110,2,255,0,1,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 10,100,97,116,101,116,105,109,101,102,49,5,73,110,100,101,120,2,6,0, ++ 1,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101, ++ 108,100,78,97,109,101,6,6,100,97,116,101,102,49,5,73,110,100,101,120, ++ 2,7,0,1,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9, ++ 70,105,101,108,100,78,97,109,101,6,6,116,105,109,101,102,49,5,73,110, ++ 100,101,120,2,8,0,1,9,65,108,105,103,110,77,101,110,116,7,14,116, ++ 97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97, ++ 121,87,105,100,116,104,2,15,9,70,105,101,108,100,78,97,109,101,6,9, ++ 110,117,109,101,114,105,99,102,49,5,73,110,100,101,120,2,9,9,80,114, ++ 101,99,105,115,105,111,110,2,15,4,83,105,122,101,2,8,0,1,9,65, ++ 108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115, ++ 116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9, ++ 70,105,101,108,100,78,97,109,101,6,10,99,117,114,114,101,110,99,121,102, ++ 49,5,73,110,100,101,120,2,10,9,80,114,101,99,105,115,105,111,110,2, ++ 255,0,1,12,68,105,115,112,108,97,121,87,105,100,116,104,3,255,0,9, ++ 70,105,101,108,100,78,97,109,101,6,7,118,99,104,97,114,102,49,5,73, ++ 110,100,101,120,2,11,4,83,105,122,101,3,255,0,0,1,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,6,116,101,120,116,102,49,5,73,110,100,101,120,2,12,4,83,105, ++ 122,101,2,4,13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,0, ++ 0,0,18,99,111,110,116,114,111,108,108,101,114,46,111,112,116,105,111,110, ++ 115,11,8,100,115,111,95,117,116,102,56,13,100,115,111,95,97,117,116,111, ++ 97,112,112,108,121,17,100,115,111,95,97,117,116,111,99,111,109,109,105,116, ++ 114,101,116,0,4,108,101,102,116,3,224,0,3,116,111,112,3,240,0,0, ++ 16,116,109,115,101,103,114,97,112,104,105,99,102,105,101,108,100,9,98,108, ++ 111,98,102,105,101,108,100,12,68,105,115,112,108,97,121,87,105,100,116,104, ++ 2,10,9,70,105,101,108,100,78,97,109,101,6,6,98,108,111,98,102,49, ++ 5,73,110,100,101,120,2,13,4,83,105,122,101,2,4,12,105,109,97,103, ++ 101,99,97,99,104,101,107,98,3,232,3,4,108,101,102,116,3,200,0,3, ++ 116,111,112,2,96,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,2,100,115,7,68,97,116,97,83,101,116,7,3,113,114,121,4, ++ 108,101,102,116,3,8,1,3,116,111,112,3,0,1,0,0,10,116,112,111, ++ 112,117,112,109,101,110,117,9,98,108,111,98,112,111,112,117,112,18,109,101, ++ 110,117,46,115,117,98,109,101,110,117,46,99,111,117,110,116,2,3,18,109, ++ 101,110,117,46,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,7, ++ 99,97,112,116,105,111,110,6,16,76,111,97,100,32,102,114,111,109,32,102, ++ 105,108,101,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97, ++ 108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101, ++ 120,101,99,117,116,101,0,9,111,110,101,120,101,99,117,116,101,7,8,108, ++ 111,97,100,101,120,101,99,0,1,7,99,97,112,116,105,111,110,6,14,83, ++ 97,118,101,32,116,111,32,102,105,108,101,46,46,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95, ++ 108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,9,111,110,101,120, ++ 101,99,117,116,101,7,8,115,97,118,101,101,120,101,99,0,1,7,99,97, ++ 112,116,105,111,110,6,5,67,108,101,97,114,5,115,116,97,116,101,11,15, ++ 97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108, ++ 111,99,97,108,111,110,101,120,101,99,117,116,101,0,9,111,110,101,120,101, ++ 99,117,116,101,7,9,99,108,101,97,114,101,120,101,99,0,0,4,108,101, ++ 102,116,3,8,1,3,116,111,112,3,192,0,0,0,11,116,102,105,108,101, ++ 100,105,97,108,111,103,10,98,108,111,98,100,105,97,108,111,103,18,99,111, ++ 110,116,114,111,108,108,101,114,46,108,97,115,116,100,105,114,6,2,126,47, ++ 17,99,111,110,116,114,111,108,108,101,114,46,102,105,108,116,101,114,6,5, ++ 42,46,106,112,103,21,99,111,110,116,114,111,108,108,101,114,46,100,101,102, ++ 97,117,108,116,101,120,116,6,3,106,112,103,18,99,111,110,116,114,111,108, ++ 108,101,114,46,111,112,116,105,111,110,115,11,8,102,100,111,95,102,105,108, ++ 101,14,102,100,111,95,99,104,101,99,107,101,120,105,115,116,15,102,100,111, ++ 95,115,97,118,101,108,97,115,116,100,105,114,0,22,99,111,110,116,114,111, ++ 108,108,101,114,46,99,97,112,116,105,111,110,111,112,101,110,6,13,79,112, ++ 101,110,32,74,80,71,45,102,105,108,101,22,99,111,110,116,114,111,108,108, ++ 101,114,46,99,97,112,116,105,111,110,115,97,118,101,6,13,83,97,118,101, ++ 32,74,80,71,45,102,105,108,101,10,100,105,97,108,111,103,107,105,110,100, ++ 7,8,102,100,107,95,110,111,110,101,4,108,101,102,116,3,43,1,3,116, ++ 111,112,3,216,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main.pas mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/main.pas 2007-12-07 09:51:00.000000000 +0100 +*************** +*** 0 **** +--- 1,87 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ ++ uses ++ mseglob,msegui,mseclasses,mseforms,msesimplewidgets,msesqlite3conn,msesqldb,msedb, ++ msedbedit,msedbgraphics, mseformatjpg,msemenus,msefiledialog, mseevent; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ conn: tsqlite3connection; ++ qry: tmsesqlquery; ++ ds: tmsedatasource; ++ booleanedit: tdbbooleanedit; ++ blobdisplay: tdbdataimage; ++ currencyedit: tdbrealedit; ++ blobpopup: tpopupmenu; ++ blobdialog: tfiledialog; ++ blobfield: tmsegraphicfield; ++ wordedit: tdbintegeredit; ++ timeedit: tdbdatetimeedit; ++ datetimeedit: tdbdatetimeedit; ++ dateedit: tdbdatetimeedit; ++ smallintedit: tdbintegeredit; ++ integeredit: tdbintegeredit; ++ largeintedit: tdbintegeredit; ++ textedit: tdbmemoedit; ++ numericedit: tdbrealedit; ++ realedit: tdbrealedit; ++ varcharedit: tdbstringedit; ++ trans: tmsesqltransaction; ++ procedure saveexec(const sender: TObject); ++ procedure loadexec(const sender: TObject); ++ procedure clearexec(const sender: TObject); ++ procedure popupdisplay(const sender: TObject; var amenu: tpopupmenu; ++ var mouseinfo: mouseeventinfoty); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ main_mfm; ++ ++ procedure tmainfo.saveexec(const sender: TObject); ++ begin ++ with blobdialog, blobfield, dataset do begin ++ if (not isnull) and (execute(fdk_save) = mr_ok) then begin ++ savetofile(controller.filename); ++ end; ++ end; ++ ++ end; ++ ++ procedure tmainfo.loadexec(const sender: TObject); ++ begin ++ with blobdialog, blobfield, dataset do begin ++ if execute(fdk_open) = mr_ok then begin ++ edit; ++ loadfromfile(controller.filename); ++ post; ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.clearexec(const sender: TObject); ++ begin ++ with blobfield, dataset do begin ++ edit; ++ clear; ++ post; ++ end; ++ end; ++ ++ procedure tmainfo.popupdisplay(const sender: TObject; var amenu: tpopupmenu; ++ var mouseinfo: mouseeventinfoty); ++ begin ++ with amenu.menu do begin ++ submenu[1].enabled:= not blobfield.isnull; ++ submenu[2].enabled:= submenu[1].enabled; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.pas mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program sqlite3types_test; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.prj mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/sqlite3types_test.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,626 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/sqlite3types_test ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ texteditor=15 ++ [msetexteditorfo] ++ stackedunder= ++ x=79 ++ y=219 ++ cx=369 ++ cy=268 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msetexteditorfo.filedialog] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ bmpfiledialog=8 ++ [] ++ filenames=1 ++ /home/pochta/mseide_projects/sqlite3types_test/images/noimage.png ++ lastdir=/home/pochta/mseide_projects/sqlite3types_test/images/ ++ filehistory=1 ++ /home/pochta/mseide_projects/sqlite3types_test/images/noimage.png ++ filefilterindex=0 ++ filecolwidth=174 ++ dbfieldeditor=12 ++ [msedbfieldeditorfo] ++ stackedunder= ++ x=165 ++ y=98 ++ cx=637 ++ cy=434 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msedbfieldeditorfo.splitter] ++ x=350 ++ y=24 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/pochta/mseide_projects/sqlite3types_test/main.mfm ++ mainfile=sqlite3types_test.pas ++ targetfile=sqlite3types_test${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=312 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=747 ++ cy=541 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=97 ++ y=53 ++ cx=738 ++ cy=69 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=5 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=461 ++ cx=747 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=68 ++ y=345 ++ cx=594 ++ cy=159 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=608 ++ y=75 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=134 ++ width1=166 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=186 ++ y=124 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=205 ++ y=347 ++ cx=368 ++ cy=137 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=141 ++ y=141 ++ cx=757 ++ cy=541 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=2 ++ 0,-1073741823 ++ 5,65 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /home/pochta/mseide_projects/sqlite3types_test/sqlite3types_test.pas ++ /home/pochta/mseide_projects/sqlite3types_test/main.pas ++ relpaths=2 ++ sqlite3types_test.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=1 ++ /home/pochta/mseide_projects/sqlite3types_test/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +Les fichiers binaires mseide-msegui-1.8.orig/contrib/ivankob/examples/sqlite3types_test/test.db et mseide-msegui-1.8/contrib/ivankob/examples/sqlite3types_test/test.db sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main.mfm mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main.mfm +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,1394 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 68 ++ bounds_y = 112 ++ bounds_cx = 765 ++ bounds_cy = 254 ++ face.image.transparency = -2147483648 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ 12368890 ++ 16108959 ++ ) ++ face.fade_direction = gd_down ++ face.fade_transparency = -2147483648 ++ face.localprops = [fal_options, fal_fadirection, fal_fapos, fal_facolor] ++ face.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 43 ++ container.bounds_cx = 765 ++ container.bounds_cy = 211 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ mainmenu = tmainmenu1 ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object ttoolbar1: ttoolbar ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 760 ++ bounds_cy = 74 ++ color = -2147483645 ++ frame.levelo = 1 ++ frame.leveli = 2 ++ frame.framewidth = 2 ++ frame.colorframe = 16754856 ++ frame.framei_left = 3 ++ frame.framei_top = 3 ++ frame.framei_right = 3 ++ frame.framei_bottom = 3 ++ frame.caption = 'Toolbar' ++ frame.captiondist = -1 ++ frame.captiondistouter = True ++ frame.captionoffset = 2 ++ frame.font.dummy = 0 ++ frame.dummy = 0 ++ face.image.transparency = -2147483648 ++ face.fade_pos.count = 3 ++ face.fade_pos.items = ( ++ 0 ++ 0.6 ++ 1 ++ ) ++ face.fade_color.count = 3 ++ face.fade_color.items = ( ++ -1610612730 ++ 11053224 ++ -1610612730 ++ ) ++ face.fade_direction = gd_down ++ face.fade_transparency = -1610612726 ++ face.dummy = 0 ++ object tbutton1: tbutton ++ bounds_x = 219 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Edit' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 000000000600000020000000200000007C080000000000000000000000000000 ++ 0000000000000000000000000000000000000000E5D0C40FC1AA9D0100000010 ++ E5D0C401FFFFFB01FFFFFF08FFFFFE01FFFAF501FEF3ED01F9EBE401F2E1D801 ++ E9D0C201C4B2A7010000000FE5D0C401FFFFFC01FFFFFF08FFFDF801FFF7F201 ++ FDF1EA01F7E9E101F0DFD50155ACDB0184C5F20184AEE6016F9ADD010030AC01 ++ 0000000CE5D0C401FFFFFC01FFFFFF08FFFFFB01FFFAF501FEF4ED01FAEDE601 ++ D4D6DB0100BCF5013EE4FE01C3E8FE01D3ECFE01A3C5EE011549B2010000000B ++ E5D0C401FFFFFC01FFFFFF08FFFFFE01FFFCF801FFF7F101FCEFE9016BB7E601 ++ 00E6FE0100CAFE0110B6FE0151C4FE0193CBFE011D5BC1010000000BE5D0C401 ++ FFFFFC01FFFFFF09FFFEFA01FFF9F301EDEAEB010FC4F50100E6FE0100B6FE01 ++ 00AFFE011096FE011982F9015E72AF010000000BE5D0C401FFFFFC01FFFFFF09 ++ FFFFFC01FFF9F5017FC0ED0100DEFD0101D2FE0101B0FE0101ACFE011C87FE01 ++ 1E70E101E2D1CE01C1AB9E010000000AE5D0C401FFFFFC01FFFFFF09FFFFFC01 ++ FFFBF70120C1F50100E6FE0107BBFE0106B3FE010E9CFE011C87FE014C68AF01 ++ C5A9980300000009E5D0C401FFFFFC01FFFFFF09FFFFFD019FCFF30105E0FD01 ++ 06DBFE010DB7FE010CB3FE011C8CFE011065E001C1B1B501DCC3B401DBBEAE01 ++ B195840100000009E5D0C401FFFFFC01FFFFFF0A24B8F5010DE8FE0113C6FE01 ++ 13B9FE0118A9FE01238EFE015B80C701E0C9BB01DFC6B901E0C5B501B1958401 ++ 00000009E5D0C401FFFFFC01FFFFFF09BFE1FB0115DCFC0117E1FE011CBEFE01 ++ 19BDFE012999FE011D78E901ACA9BF01E5CFC201E4CDC101E5CBBD01B1958401 ++ 00000009E5D0C401FFFFFC01FFFFFF0949C4F80122EBFE0123D1FE0123C0FE01 ++ 28B1FE01349AFE014779CD01E9D4C901E7D2C701E6D2C601E8D0C301B1958401 ++ 00000009E5D0C401FFFFFC01FFFFFF08CFEAFD0121D1F9012CE7FE012EC4FE01 ++ 2AC3FE0138A9FE013190F501A3A5C501ECD9CE01EAD7CC01EAD7CB01ECD5C801 ++ B195840100000009E5D0C401FFFFFC01FFFFFF086CCEF80139EDFE0137D8FE01 ++ 35C8FE0137BEFE0145A6FE01316FD001F0DFD501EFDCD201EDDBD002F0DACE01 ++ B195840100000009E5D0C401FFFFFC01FFFFFF07DFF1FE0128C8F90144ECFE01 ++ 3FCEFE013CCAFE0149B6FE0147A2F90198A0C901F3E2D901F2E1D701F0DED401 ++ EFDDD401F2DED201B1958401000000061F00000200000001E5D0C401FFFFFC01 ++ FFFFFF06FFFFFD0187CDF30154F0FE014DE0FE0148CEFE0147CAFE0158B2FE01 ++ 3378D801F5E6DE01F4E5DD01F3E4DB01F2E1D801F1E1D801F4E0D501B1958401 ++ 000000031F0000041E0000011F000001E5D0C401FFFFFC01FFFFFF05FFFFFC01 ++ EFF1F20148D1FA015FF1FE0154D6FE0150D1FE015BC3FE0158AFF9017F94CC01 ++ F8E9E101F5E6DE01F4E6DD01F4E5DC01F3E4DA01F6E3D901B195840101000001 ++ 1F0000041D0000011C0000011A00000118000001E5D0C401FFFFFC01FFFFFF05 ++ FFFBF60193D1F50166ECFD0166E7FE015CD5FE0159D2FE016BBFFE014A91E201 ++ E9DFE001F8EBE401F8EAE201F7E7DF01F5E6DE01F4E6DD01F0DED401A88C7C01 ++ 0B0000011F0000011D0000011C0000011A00000419000001E5D0C401FFFFFC01 ++ FFFFFF04FFFEF901FFFDF8014EC7F8017AF3FE0169DCFE0164D8FE016BCFFE01 ++ 73C5FE016889CD01FBEEE701F9ECE501F9EBE301F1E3DB01E9D9D201E3D2CB01 ++ E3CFC601A38677010B0000011A000008E5D0C401FFFFFC01FFFFFF04FFFDF901 ++ FFFDF80151B6F50186EEFE0170DCFE016EDAFE017DCEFE014E96E401DCD8E201 ++ F6E9E301EDDED801E5D7CF01E2D2CC01E2D1CA01E1D1CA01E5D1C801A3867701 ++ 0B0000011A000008E5D0C401FFFFFC01FFFFFF03FFFFFC01FFFEF90259ABEE01 ++ CEEBFE01A4E4FE018DDDFE018BD0FB017393CB01EADCD701E6D8D201E5D6CF01 ++ E4D5CE01E4D4CD01E2D1CA01E2D0C901E5D2C901A38677010B0000011A000006 ++ 1900000116000001E5D0C401FFFFFC01FFFFFF03FFFFFC01FFFEF901FFFDF801 ++ 59A2E701D3ECFE02D0E7F8016A85C001DAD0D001E7DAD401E6D8D201E5D7D001 ++ E5D6CF01E3D4CD01E3D3CC01E3D2CB01E5D2C901A38677010B0000011A000003 ++ 19000001170000011000000100000002E5D0C401FFFFFC01FFFFFF03FFFFFB01 ++ FFFEF901FFFDF7016D96C601D3ECFE01C0DBF5015272B601DBD2D301E9DDD801 ++ E8DAD501E6D8D201E6D8D101E5D6CF01E4D5CE01E2D2CB01E3D3CC01E5D2CA01 ++ A38677010B00000119000001170000011000000100000005E5D0C401FFFFFC01 ++ FFFFFF02FFFFFE01FFFEFA01FFFEF901FFFDF8015C6D9301858597017185B801 ++ E9DFD901E9DED801E9DCD701E7DAD501E6D8D201E5D7D001E5D6CF01E4D3CD01 ++ E2D2CB01E3D3CC01E7D4CC01A88C7C010400000100000008E5D0C401FFFFFC01 ++ FFFFFF02FFFFFE01FFFEFA01FFFEF901FFFDF80150608D01697AAA01E9E0DB01 ++ E9DFD901E9DED801E9DDD801E7DAD401E7D9D301E5D7D001E5D6CF01E4D5CF01 ++ EADBD401F1E3DB01FAE9DF01B195840100000009E5D0C401FFFFFC01FFFFFF02 ++ FFFFFC01FFFEFA01FFFDF801FCF9F4018A96BF01EEE6E201E9DFDA01E9DFD901 ++ E9DED801E8DBD601E7DAD401E6D8D201ECDFD901F3E6DF01F8EBE301F8EAE201 ++ F7E9E101FBE9E001B195840100000009E5D0C401FFFFFC01FFFFFF02FFFEF902 ++ FFFDF801FFFCF701FFF9F402FFF8F201FFF7F101FFF6F001FCF1EB01F8EBE401 ++ FAEEE701FAEDE601F9ECE401F8EAE202F7E8E101FCEAE001B195840100000009 ++ E5D0C401FFFFFC01FFFFFF02FFFEF902FFFDF801FFFCF701FFF9F402FFF8F201 ++ FFF7F101FFF6F001FEF3ED01FDF1EA01FCF0E901FAEDE601F9ECE401F8EAE202 ++ F7E8E101FCEAE001B195840100000009E5D0C401FFFDF401FFFFFF02FFFEF902 ++ FFFDF801FFFCF701FFF9F402FFF8F201FFF7F101FFF6F001FEF3ED01FDF1EA01 ++ FCF0E901FAEDE601F9ECE401F8EAE202F7E8E101FCEAE001B195840100000009 ++ E5D0C401B195841600000029FFFFFF2010020000FFFFFF0FDEDEDE0100000010 ++ FFFFFF10E0E0E0010000000FFFFFFF129F9F9F01202020010000000CFFFFFF14 ++ 646464010000000BFFFFFF14CCCCCC01131313010000000AFFFFFF14F1F1F101 ++ 262626010000000AFFFFFF15E9E9E9010000000AFFFFFF1700000009FFFFFF17 ++ 3333330100000008FFFFFF173333330100000008FFFFFF173333330100000008 ++ FFFFFF173333330100000008FFFFFF173333330100000008FFFFFF1733333301 ++ 00000008FFFFFF173333330100000005030303010202020100000001FFFFFF17 ++ 3333330100000002020202010909090111111101191919011515150102020201 ++ FFFFFF17353535010909090111111101191919021B1B1B011C1C1C011E1E1E01 ++ 11111101FFFFFF1747474701191919011B1B1B011C1C1C011E1E1E041B1B1B01 ++ FFFFFF17474747011E1E1E08FFFFFF17474747011E1E1E08FFFFFF1747474701 ++ 1E1E1E061B1B1B0112121201FFFFFF17474747011E1E1E031B1B1B0113131301 ++ 0A0A0A010505050104040401FFFFFF17474747011B1B1B01131313010A0A0A01 ++ 0505050104040401030303010101010100000001FFFFFF173939390105050501 ++ 04040401030303010101010100000004FFFFFF17333333010202020100000007 ++ FFFFFF173333330100000008FFFFFF173333330100000008FFFFFF1733333301 ++ 00000008FFFFFF173333330100000008FFFFFF17333333010000000933333317 ++ 00000028 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ end ++ object tbutton2: tbutton ++ bounds_x = 11 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Back' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000020060000000000000000000000000000 ++ 00000000000000000000000000000000000000000000002BD1693201D0693201 ++ CE693202CC683203CB683201C9673201C46532016565650200000012D1693203 ++ D0693201CE693201D46B3201DC6D3202D46B3201CC683204C866320165656502 ++ 0000000ED1693201D36A3201D1693201D46B3201E4713201F6773201FF7E3801 ++ F18C5501E0A88A02E0A07E01FF803B01F9783201E4713201D1693201CC683201 ++ CB683201C3653201656565020000000BD1693203E9723201FF7E3801E4B49B01 ++ F0D6C801FAF2EE01FCF8F605F5E4DB01E6BBA301E6936601EB733201CC683202 ++ C66532016565650200000009D1693202D86C3201FE7A3201E2AB8E01F6E6DD01 ++ FAF2EE07FBF2ED04EBC5B001F0844901D86C3201CC683201C766320165656502 ++ 00000007D1693202DB6D3201F2894F01ECC8B401F9EDE606EBBFA802F9EDE606 ++ F4E0D401E29A7201D86C3201CC683201C36532016565650200000005D0693201 ++ D1693201D66C3201F3874D01F1D4C401F6E5DC06EBBFA801FFFFFF02EBBFA801 ++ F6E5DC06F5DFD401E4976D01D86C3201CC683201B96132016565650200000004 ++ D0693201CE693201FE7A3201EBC4AF01F5DED206EBBFA801FFFFFF04F5DED207 ++ F2D8CB01E98A5601CC683201C96732016565650200000003CE693202E8723201 ++ E2AC8F01F2D7C806EBBFA801FFFFFF05F2D7C808EBC4AF01EB733201CC683201 ++ C16432016565650200000002CC683201D1693201F5864901EDCBB701F0CFBD05 ++ EBBFA801FFFFFF06F0CFBD09DCA38301D1693201C96732016565650200000001 ++ CC683202E4713201E2AA8B01EDC8B305EBBFA801FFFFFF06EDC8B308ECC4AE01 ++ E6B69B01DFA38201E4713201CC683201AF5E32016565650100000001CC683202 ++ F6773201E8B89F01EBBFA805FFFFFF06EBBFA807E3AD9001E49B7201FF803B03 ++ F6773201CC683201BE6332016565650100000001CC683202F4864A01E8B89E05 ++ FFFFFF06EBBFA805E8B89E03E0A17E01FF803B04FF7E3801CC683201C4653201 ++ 6565650100000001CC683201D46B3201EE8F5B01E6AF9204FFFFFF11FF813C01 ++ FF803B03D1693201C96732016565650100000001CC683201DC6D3201E8966901 ++ E4A88703FFFFFF13FF813C01FF803B02DC6D3201C86632016565650100000001 ++ CC683201DC6D3201EE915E01E49F7A03FFFFFF13FF813C01FF803B02DC6D3201 ++ C86632016565650100000001CC683201D46B3201F6884D01ED936203FFFFFF13 ++ FF813C03D1693201C86632016565650100000001CB683201CC683201FD813D01 ++ FA874904FFFFFF11FF813C02FF834001FF803B01CC683201C365320165656501 ++ 00000001C9673201CC683201F9783201FD844205FFFFFF06FF813C0AFF844103 ++ F9783201CC683201BC6232016565650100000001C4653201CC683201E6723201 ++ FF864406FFFFFF06FF813C09FF864403E6723201CC683201AB5C320165656501 ++ 0000000165656501CC683201D1693201FA874901FA8A4D06FFFFFF06FF813C04 ++ FA8A4D06FA874901D1693201C8663201656565020000000165656501C8663201 ++ CC683201E6773B01F1925E07FFFFFF06F1925E09E6773B01CC683201BC623201 ++ 656565020000000265656501CB683201CC683201EC8E5C01EB996D07FFFFFF05 ++ EB996D08EC8E5C01CC683201C8663201656565030000000265656501C3653201 ++ CC683201D16F3901E69D7501E5A07A07FFFFFF04E5A07A07E69D7501D16F3901 ++ CC683201AF5E3201656565030000000365656501C4653201CC683201D2723F01 ++ E1A38001E6A68307FFFFFF02E6A68307E1A38001D2723F01CC683201BB623201 ++ 656565030000000465656502C3653201CC683201D0703C01DD9F7E01E8AB8A0E ++ DD9F7E01D0703C01CC683201BB623201656565040000000565656502C3653201 ++ CC683202DC875901E4AC8E01E8AF910AE4AC8E01DC875901CC683202BB623201 ++ 656565040000000765656502B9613201C9673201CC683201CE6D3901D8855701 ++ D69F8201E5B19401EAB49704E5B19401D69F8201D8855701CE6D3901CC683201 ++ C8663201AF5E3201656565040000000965656503C1643201C9673201CC683203 ++ CC6E3B01D07D4F02CC6E3B01CC683203C8663201BC623201656565050000000B ++ 65656504AF5E3201BE633201C4653201C9673201C8663203C3653201BC623201 ++ AB5C3201656565060000000E6565651000000007BC0300000000002B21212101 ++ 6262620192929201C2C2C202C3C3C30295959501676767012626260103030301 ++ 010101010000001261616101C1C1C101FFFFFF0AC5C5C5016969690107070701 ++ 020202010000000E31313101C0C0C001FFFFFF0EF6F6F6016A6A6A010A0A0A01 ++ 020202010000000B61616101FFFFFF12AEAEAE01121212010404040100000009 ++ 61616101FFFFFF14D1D1D10117171701020202010000000761616101FFFFFF16 ++ B5B5B5010C0C0C01020202010000000531313101FFFFFF184C4C4C010A0A0A01 ++ 0101010100000004D0D0D001FFFFFF18CDCDCD011B1B1B010505050100000003 ++ 61616101FFFFFF1A7D7D7D01101010010202020100000002C1C1C101FFFFFF1A ++ CFCFCF0120202001070707010000000121212101FFFFFF1C494949010F0F0F01 ++ 0000000162626201FFFFFF1C84848401181818010000000192929201FFFFFF1C ++ ACACAC012121210100000001C2C2C201FFFFFF1CD0D0D0012929290100000001 ++ C2C2C201FFFFFF1CD1D1D1012E2E2E0100000001C3C3C301FFFFFF1CD1D1D101 ++ 3030300100000001C3C3C301FFFFFF1CD1D1D101303030010000000195959501 ++ FFFFFF1CAEAEAE012E2E2E010000000167676701FFFFFF1C8B8B8B0129292901 ++ 0000000126262601FFFFFF1C59595901212121010000000103030301C5C5C501 ++ FFFFFF1AD2D2D2013A3A3A0118181801000000010101010169696901FFFFFF1A ++ 8D8D8D012F2F2F010F0F0F010000000207070701C7C7C701FFFFFF18D2D2D201 ++ 3F3F3F01202020010707070100000002020202013D3D3D01FFFFFF186A6A6A01 ++ 2F2F2F011010100102020201000000030505050171717101FFFFFF168E8E8E01 ++ 393939011B1B1B010505050100000004010101010A0A0A0175757501FFFFFF14 ++ 8E8E8E013C3C3C01222222010A0A0A010101010100000005020202010C0C0C01 ++ 76767601FFFFFF128E8E8E013C3C3C01232323010C0C0C010202020100000007 ++ 020202010C0C0C014C4C4C01CDCDCD01FFFFFF0ED2D2D2016A6A6A0139393901 ++ 222222010C0C0C010202020100000009020202010A0A0A011B1B1B017D7D7D01 ++ CFCFCF01FFFFFF0AD2D2D2018D8D8D013F3F3F012F2F2F011B1B1B010A0A0A01 ++ 020202010000000B010101010505050110101001202020014949490184848401 ++ ACACAC01D0D0D001D1D1D103AEAEAE018B8B8B01595959013A3A3A012F2F2F01 ++ 202020011010100105050501010101010000000E02020201070707010F0F0F01 ++ 1818180121212101292929012E2E2E01303030022E2E2E012929290121212101 ++ 181818010F0F0F01070707010202020100000007 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 1 ++ end ++ object tbutton3: tbutton ++ bounds_x = 59 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'FWD' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000030060000000000000000000000000000 ++ 00000000000000000000000000000000000000000000002BD1693201D0693201 ++ CE693202CC683203CB683201C9673201C46532016565650200000012D1693203 ++ D0693201CE693201D46B3201DC6D3202D46B3201CC683204C866320165656502 ++ 0000000ED1693201D36A3201D1693201D46B3201E4713201F6773201FF7E3801 ++ F18C5501E0A88A02E0A07E01FF803B01F9783201E4713201D1693201CC683201 ++ CB683201C3653201656565020000000BD1693203E9723201FF7E3801E4B49B01 ++ F0D6C801FAF2EE01FCF8F605F5E4DB01E6BBA301E6936601EB733201CC683202 ++ C66532016565650200000009D1693202D86C3201FE7A3201E2AB8E01F6E6DD01 ++ FAF2EE07FBF2ED04EBC5B001F0844901D86C3201CC683201C766320165656502 ++ 00000007D1693202DB6D3201F2894F01ECC8B401F9EDE606ED936202F9EDE606 ++ F4E0D401E29A7201D86C3201CC683201C36532016565650200000005D0693201 ++ D1693201D66C3201F3874D01F1D4C401F6E5DC06ED936201FFFFFF02ED936201 ++ F6E5DC06F5DFD401E4976D01D86C3201CC683201B96132016565650200000004 ++ D0693201CE693201FE7A3201EBC4AF01F5DED207FFFFFF04ED936201F5DED206 ++ F2D8CB01E98A5601CC683201C96732016565650200000003CE693202E8723201 ++ E2AC8F01F2D7C808FFFFFF05ED936201F2D7C806EBC4AF01EB733201CC683201 ++ C16432016565650200000002CC683201D1693201F5864901EDCBB701F0CFBD08 ++ FFFFFF06ED936201F0CFBD06DCA38301D1693201C96732016565650200000001 ++ CC683202E4713201E2AA8B01EDC8B30AFFFFFF06ED936201EDC8B303ECC4AE01 ++ E6B69B01DFA38201E4713201CC683201AF5E32016565650100000001CC683202 ++ F6773201E8B89F01EBBFA80BFFFFFF06ED936201E3AD9001E49B7201FF803B03 ++ F6773201CC683201BE6332016565650100000001CC683202F4864A01E8B89E03 ++ ED93620AFFFFFF06ED936201FF803B04FF7E3801CC683201C465320165656501 ++ 00000001CC683201D46B3201EE8F5B01E6AF9202ED936201FFFFFF11FF813C02 ++ FF803B03D1693201C96732016565650100000001CC683201DC6D3201E8966901 ++ E4A88702FFFFFF13FF803B01FF813C01FF803B02DC6D3201C866320165656501 ++ 00000001CC683201DC6D3201EE915E01E49F7A02FFFFFF13FF813C02FF803B02 ++ DC6D3201C86632016565650100000001CC683201D46B3201F6884D01ED936202 ++ FFFFFF13FF813C04D1693201C86632016565650100000001CB683201CC683201 ++ FD813D01FA874903FFFFFF11FF813C03FF834001FF803B01CC683201C3653201 ++ 6565650100000001C9673201CC683201F9783201FD844206FF844104FF813C03 ++ FFFFFF06FF813C02FF844103F9783201CC683201BC6232016565650100000001 ++ C4653201CC683201E6723201FF86440AFF813C02FFFFFF06FF813C03FF864403 ++ E6723201CC683201AB5C3201656565010000000165656501CC683201D1693201 ++ FA874901FA8A4D07FF813C03FFFFFF06FA8A4D06FA874901D1693201C8663201 ++ 656565020000000165656501C8663201CC683201E6773B01F1925E09FFFFFF06 ++ F1925E07E6773B01CC683201BC623201656565020000000265656501CB683201 ++ CC683201EC8E5C01EB996D08FFFFFF05EB996D07EC8E5C01CC683201C8663201 ++ 656565030000000265656501C3653201CC683201D16F3901E69D7501E5A07A07 ++ FFFFFF04E5A07A07E69D7501D16F3901CC683201AF5E32016565650300000003 ++ 65656501C4653201CC683201D2723F01E1A38001E6A68307FFFFFF02E6A68307 ++ E1A38001D2723F01CC683201BB623201656565030000000465656502C3653201 ++ CC683201D0703C01DD9F7E01E8AB8A0EDD9F7E01D0703C01CC683201BB623201 ++ 656565040000000565656502C3653201CC683202DC875901E4AC8E01E8AF910A ++ E4AC8E01DC875901CC683202BB623201656565040000000765656502B9613201 ++ C9673201CC683201CE6D3901D8855701D69F8201E5B19401EAB49704E5B19401 ++ D69F8201D8855701CE6D3901CC683201C8663201AF5E32016565650400000009 ++ 65656503C1643201C9673201CC683203CC6E3B01D07D4F02CC6E3B01CC683203 ++ C8663201BC623201656565050000000B65656504AF5E3201BE633201C4653201 ++ C9673201C8663203C3653201BC623201AB5C3201656565060000000E65656510 ++ 00000007BC0300000000002B212121016262620192929201C2C2C202C3C3C302 ++ 95959501676767012626260103030301010101010000001261616101C1C1C101 ++ FFFFFF0AC5C5C5016969690107070701020202010000000E31313101C0C0C001 ++ FFFFFF0EF6F6F6016A6A6A010A0A0A01020202010000000B61616101FFFFFF12 ++ AEAEAE0112121201040404010000000961616101FFFFFF14D1D1D10117171701 ++ 020202010000000761616101FFFFFF16B5B5B5010C0C0C010202020100000005 ++ 31313101FFFFFF184C4C4C010A0A0A010101010100000004D0D0D001FFFFFF18 ++ CDCDCD011B1B1B01050505010000000361616101FFFFFF1A7D7D7D0110101001 ++ 0202020100000002C1C1C101FFFFFF1ACFCFCF01202020010707070100000001 ++ 21212101FFFFFF1C494949010F0F0F010000000162626201FFFFFF1C84848401 ++ 181818010000000192929201FFFFFF1CACACAC012121210100000001C2C2C201 ++ FFFFFF1CD0D0D0012929290100000001C2C2C201FFFFFF1CD1D1D1012E2E2E01 ++ 00000001C3C3C301FFFFFF1CD1D1D1013030300100000001C3C3C301FFFFFF1C ++ D1D1D101303030010000000195959501FFFFFF1CAEAEAE012E2E2E0100000001 ++ 67676701FFFFFF1C8B8B8B01292929010000000126262601FFFFFF1C59595901 ++ 212121010000000103030301C5C5C501FFFFFF1AD2D2D2013A3A3A0118181801 ++ 000000010101010169696901FFFFFF1A8D8D8D012F2F2F010F0F0F0100000002 ++ 07070701C7C7C701FFFFFF18D2D2D2013F3F3F01202020010707070100000002 ++ 020202013D3D3D01FFFFFF186A6A6A012F2F2F01101010010202020100000003 ++ 0505050171717101FFFFFF168E8E8E01393939011B1B1B010505050100000004 ++ 010101010A0A0A0175757501FFFFFF148E8E8E013C3C3C01222222010A0A0A01 ++ 0101010100000005020202010C0C0C0176767601FFFFFF128E8E8E013C3C3C01 ++ 232323010C0C0C010202020100000007020202010C0C0C014C4C4C01CDCDCD01 ++ FFFFFF0ED2D2D2016A6A6A0139393901222222010C0C0C010202020100000009 ++ 020202010A0A0A011B1B1B017D7D7D01CFCFCF01FFFFFF0AD2D2D2018D8D8D01 ++ 3F3F3F012F2F2F011B1B1B010A0A0A01020202010000000B0101010105050501 ++ 10101001202020014949490184848401ACACAC01D0D0D001D1D1D103AEAEAE01 ++ 8B8B8B01595959013A3A3A012F2F2F0120202001101010010505050101010101 ++ 0000000E02020201070707010F0F0F011818180121212101292929012E2E2E01 ++ 303030022E2E2E012929290121212101181818010F0F0F010707070102020201 ++ 00000007 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 2 ++ end ++ object tbutton4: tbutton ++ bounds_x = 107 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Top' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000074060000000000000000000000000000 ++ 00000000000000000000000000000000000000000000002BD1693201D0693201 ++ CE693202CC683203CB683201C9673201C46532016565650200000012D1693203 ++ D0693201CE693201D46B3201DC6D3202D46B3201CC683204C866320165656502 ++ 0000000ED1693201D36A3201D1693201D46B3201E4713201F6773201FF7E3801 ++ F18C5501E0A88A02E0A07E01FF803B01F9783201E4713201D1693201CC683201 ++ CB683201C3653201656565020000000BD1693203E9723201FF7E3801E4B49B01 ++ F0D6C801FAF2EE01FCF8F605F5E4DB01E6BBA301E6936601EB733201CC683202 ++ C66532016565650200000009D1693202D86C3201FE7A3201E2AB8E01F6E6DD01 ++ F5DED20BEBC5B001F0844901D86C3201CC683201C76632016565650200000007 ++ D1693202DB6D3201F2894F01ECC8B401EDC8B301E3C0AE0CEDC8B302E29A7201 ++ D86C3201CC683201C36532016565650200000005D0693201D1693201D66C3201 ++ F3874D01F1D4C401F6E5DC01FFFFFF0FF5DFD401E4976D01D86C3201CC683201 ++ B96132016565650200000004D0693201CE693201FE7A3201EBC4AF01F5DED202 ++ FFFFFF0FF5DED201F2D8CB01E98A5601CC683201C96732016565650200000003 ++ CE693202E8723201E2AC8F01F2D7C808E6AF9201FFFFFF03E6AF9201F2D7C807 ++ EBC4AF01EB733201CC683201C16432016565650200000002CC683201D1693201 ++ F5864901EDCBB701F0CFBD07E6AF9201FFFFFF05E6AF9201F0CFBD07DCA38301 ++ D1693201C96732016565650200000001CC683202E4713201E2AA8B01EDC8B307 ++ E6AF9201FFFFFF07E6AF9201EDC8B304ECC4AE01E6B69B01DFA38201E4713201 ++ CC683201AF5E32016565650100000001CC683202F6773201E8B89F01EBBFA806 ++ E6AF9201FFFFFF09E6AF9201EBBFA801E3AD9001E49B7201FF803B03F6773201 ++ CC683201BE6332016565650100000001CC683202F4864A01E8B89E06E6AF9201 ++ FFFFFF0BE6AF9201E0A17E01FF803B04FF7E3801CC683201C465320165656501 ++ 00000001CC683201D46B3201EE8F5B01E6AF9206FFFFFF0DED936201FF813C02 ++ FF803B03D1693201C96732016565650100000001CC683201DC6D3201E8966901 ++ E4A88703E6AF9202FFFFFF0FFF813C01FF803B01FF813C01FF803B02DC6D3201 ++ C86632016565650100000001CC683201DC6D3201EE915E01E49F7A03E6AF9201 ++ FFFFFF11FF813C02FF803B02DC6D3201C86632016565650100000001CC683201 ++ D46B3201F6884D01ED936203FFFFFF06FF813C01FFFFFF05FF813C01FFFFFF06 ++ FF813C03D1693201C86632016565650100000001CB683201CC683201FD813D01 ++ FA874903FFFFFF05FA864701FD854301FFFFFF05FF813C02FFFFFF05FF813C01 ++ FF834001FF803B01CC683201C36532016565650100000001C9673201CC683201 ++ F9783201FD844204FFFFFF03FF844103FFFFFF05FF813C03FFFFFF03FF844103 ++ F9783201CC683201BC6232016565650100000001C4653201CC683201E6723201 ++ FF86440AFFFFFF05FF813C06FF864403E6723201CC683201AB5C320165656501 ++ 0000000165656501CC683201D1693201FA874901FA8A4D07FF813C02FFFFFF05 ++ FF813C02FA8A4D06FA874901D1693201C8663201656565020000000165656501 ++ C8663201CC683201E6773B01F1925E09FFFFFF05F1925E08E6773B01CC683201 ++ BC623201656565020000000265656501CB683201CC683201EC8E5C01EB996D08 ++ FFFFFF05EB996D07EC8E5C01CC683201C8663201656565030000000265656501 ++ C3653201CC683201D16F3901E69D7501E5A07A07FFFFFF05E5A07A06E69D7501 ++ D16F3901CC683201AF5E3201656565030000000365656501C4653201CC683201 ++ D2723F01E1A38001E6A68306FFFFFF05E6A68305E1A38001D2723F01CC683201 ++ BB623201656565030000000465656502C3653201CC683201D0703C01DD9F7E01 ++ E8AB8A05FFFFFF05E8AB8A04DD9F7E01D0703C01CC683201BB62320165656504 ++ 0000000565656502C3653201CC683202DC875901E4AC8E01E8AF9104FFFFFF03 ++ E8AF9103E4AC8E01DC875901CC683202BB623201656565040000000765656502 ++ B9613201C9673201CC683201CE6D3901D8855701D69F8201E5B19401EAB49704 ++ E5B19401D69F8201D8855701CE6D3901CC683201C8663201AF5E320165656504 ++ 0000000965656503C1643201C9673201CC683203CC6E3B01D07D4F02CC6E3B01 ++ CC683203C8663201BC623201656565050000000B65656504AF5E3201BE633201 ++ C4653201C9673201C8663203C3653201BC623201AB5C3201656565060000000E ++ 6565651000000007BC0300000000002B212121016262620192929201C2C2C202 ++ C3C3C30295959501676767012626260103030301010101010000001261616101 ++ C1C1C101FFFFFF0AC5C5C5016969690107070701020202010000000E31313101 ++ C0C0C001FFFFFF0EF6F6F6016A6A6A010A0A0A01020202010000000B61616101 ++ FFFFFF12AEAEAE0112121201040404010000000961616101FFFFFF14D1D1D101 ++ 17171701020202010000000761616101FFFFFF16B5B5B5010C0C0C0102020201 ++ 0000000531313101FFFFFF184C4C4C010A0A0A010101010100000004D0D0D001 ++ FFFFFF18CDCDCD011B1B1B01050505010000000361616101FFFFFF1A7D7D7D01 ++ 101010010202020100000002C1C1C101FFFFFF1ACFCFCF012020200107070701 ++ 0000000121212101FFFFFF1C494949010F0F0F010000000162626201FFFFFF1C ++ 84848401181818010000000192929201FFFFFF1CACACAC012121210100000001 ++ C2C2C201FFFFFF1CD0D0D0012929290100000001C2C2C201FFFFFF1CD1D1D101 ++ 2E2E2E0100000001C3C3C301FFFFFF1CD1D1D1013030300100000001C3C3C301 ++ FFFFFF1CD1D1D101303030010000000195959501FFFFFF1CAEAEAE012E2E2E01 ++ 0000000167676701FFFFFF1C8B8B8B01292929010000000126262601FFFFFF1C ++ 59595901212121010000000103030301C5C5C501FFFFFF1AD2D2D2013A3A3A01 ++ 18181801000000010101010169696901FFFFFF1A8D8D8D012F2F2F010F0F0F01 ++ 0000000207070701C7C7C701FFFFFF18D2D2D2013F3F3F012020200107070701 ++ 00000002020202013D3D3D01FFFFFF186A6A6A012F2F2F011010100102020201 ++ 000000030505050171717101FFFFFF168E8E8E01393939011B1B1B0105050501 ++ 00000004010101010A0A0A0175757501FFFFFF148E8E8E013C3C3C0122222201 ++ 0A0A0A010101010100000005020202010C0C0C0176767601FFFFFF128E8E8E01 ++ 3C3C3C01232323010C0C0C010202020100000007020202010C0C0C014C4C4C01 ++ CDCDCD01FFFFFF0ED2D2D2016A6A6A0139393901222222010C0C0C0102020201 ++ 00000009020202010A0A0A011B1B1B017D7D7D01CFCFCF01FFFFFF0AD2D2D201 ++ 8D8D8D013F3F3F012F2F2F011B1B1B010A0A0A01020202010000000B01010101 ++ 0505050110101001202020014949490184848401ACACAC01D0D0D001D1D1D103 ++ AEAEAE018B8B8B01595959013A3A3A012F2F2F01202020011010100105050501 ++ 010101010000000E02020201070707010F0F0F01181818012121210129292901 ++ 2E2E2E01303030022E2E2E012929290121212101181818010F0F0F0107070701 ++ 0202020100000007 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 3 ++ end ++ object tbutton5: tbutton ++ bounds_x = 155 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Btm' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000034060000000000000000000000000000 ++ 00000000000000000000000000000000000000000000002BD1693201D0693201 ++ CE693202CC683203CB683201C9673201C46532016565650200000012D1693203 ++ D0693201CE693201D46B3201DC6D3202D46B3201CC683204C866320165656502 ++ 0000000ED1693201D36A3201D1693201D46B3201E4713201F6773201FF7E3801 ++ F18C5501E0A88A02E0A07E01FF803B01F9783201E4713201D1693201CC683201 ++ CB683201C3653201656565020000000BD1693203E9723201FF7E3801E4B49B01 ++ F0D6C801FAF2EE01FCF8F605F5E4DB01E6BBA301E6936601EB733201CC683202 ++ C66532016565650200000009D1693202D86C3201FE7A3201E2AB8E01F6E6DD01 ++ FAF2EE04FFFFFF03FBF2ED04EBC5B001F0844901D86C3201CC683201C7663201 ++ 6565650200000007D1693202DB6D3201F2894F01ECC8B401F9EDE605FFFFFF05 ++ F9EDE604F4E0D401E29A7201D86C3201CC683201C36532016565650200000005 ++ D0693201D1693201D66C3201F3874D01F1D4C401F6E5DC06FFFFFF05F6E5DC05 ++ F5DFD401E4976D01D86C3201CC683201B96132016565650200000004D0693201 ++ CE693201FE7A3201EBC4AF01F5DED207FFFFFF05F5DED206F2D8CB01E98A5601 ++ CC683201C96732016565650200000003CE693202E8723201E2AC8F01F2D7C808 ++ FFFFFF05F2D7C807EBC4AF01EB733201CC683201C16432016565650200000002 ++ CC683201D1693201F5864901EDCBB701F0CFBD08FFFFFF05F0CFBD08DCA38301 ++ D1693201C96732016565650200000001CC683202E4713201E2AA8B01EDC8B309 ++ FFFFFF05EDC8B306ECC4AE01E6B69B01DFA38201E4713201CC683201AF5E3201 ++ 6565650100000001CC683202F6773201E8B89F01EBBFA809FFFFFF05EBBFA804 ++ E3AD9001E49B7201FF803B03F6773201CC683201BE6332016565650100000001 ++ CC683202F4864A01E8B89E04FFFFFF03E8B89E03FFFFFF05E8B89E03FFFFFF03 ++ FF803B03FF7E3801CC683201C46532016565650100000001CC683201D46B3201 ++ EE8F5B01E6AF9203FFFFFF05E6AF9202FFFFFF05E6AF9202FFFFFF05FF803B03 ++ D1693201C96732016565650100000001CC683201DC6D3201E8966901E4A88703 ++ FFFFFF06E6AF9201FFFFFF05ED936201FFFFFF06FF813C01FF803B02DC6D3201 ++ C86632016565650100000001CC683201DC6D3201EE915E01E49F7A03E6AF9201 ++ FFFFFF11FF813C02FF803B02DC6D3201C86632016565650100000001CC683201 ++ D46B3201F6884D01ED936205FFFFFF0FFF813C05D1693201C866320165656501 ++ 00000001CB683201CC683201FD813D01FA874906FFFFFF0DFF813C04FF834001 ++ FF803B01CC683201C36532016565650100000001C9673201CC683201F9783201 ++ FD844206FF844101FFFFFF0BFF813C03FF844103F9783201CC683201BC623201 ++ 6565650100000001C4653201CC683201E6723201FF864408FFFFFF09FF813C04 ++ FF864403E6723201CC683201AB5C3201656565010000000165656501CC683201 ++ D1693201FA874901FA8A4D07FF813C01FFFFFF07FF813C01FA8A4D06FA874901 ++ D1693201C8663201656565020000000165656501C8663201CC683201E6773B01 ++ F1925E09FFFFFF05F1925E08E6773B01CC683201BC6232016565650200000002 ++ 65656501CB683201CC683201EC8E5C01EB996D09FFFFFF03EB996D08EC8E5C01 ++ CC683201C8663201656565030000000265656501C3653201CC683201D16F3901 ++ E69D7501E5A07A02FFFFFF0FE5A07A01E69D7501D16F3901CC683201AF5E3201 ++ 656565030000000365656501C4653201CC683201D2723F01E1A38001E6A68301 ++ FFFFFF0FE1A38001D2723F01CC683201BB623201656565030000000465656502 ++ C3653201CC683201D0703C01DD9F7E01E8AB8A0EDD9F7E01D0703C01CC683201 ++ BB623201656565040000000565656502C3653201CC683202DC875901E4AC8E01 ++ E8AF910AE4AC8E01DC875901CC683202BB623201656565040000000765656502 ++ B9613201C9673201CC683201CE6D3901D8855701D69F8201E5B19401EAB49704 ++ E5B19401D69F8201D8855701CE6D3901CC683201C8663201AF5E320165656504 ++ 0000000965656503C1643201C9673201CC683203CC6E3B01D07D4F02CC6E3B01 ++ CC683203C8663201BC623201656565050000000B65656504AF5E3201BE633201 ++ C4653201C9673201C8663203C3653201BC623201AB5C3201656565060000000E ++ 6565651000000007BC0300000000002B212121016262620192929201C2C2C202 ++ C3C3C30295959501676767012626260103030301010101010000001261616101 ++ C1C1C101FFFFFF0AC5C5C5016969690107070701020202010000000E31313101 ++ C0C0C001FFFFFF0EF6F6F6016A6A6A010A0A0A01020202010000000B61616101 ++ FFFFFF12AEAEAE0112121201040404010000000961616101FFFFFF14D1D1D101 ++ 17171701020202010000000761616101FFFFFF16B5B5B5010C0C0C0102020201 ++ 0000000531313101FFFFFF184C4C4C010A0A0A010101010100000004D0D0D001 ++ FFFFFF18CDCDCD011B1B1B01050505010000000361616101FFFFFF1A7D7D7D01 ++ 101010010202020100000002C1C1C101FFFFFF1ACFCFCF012020200107070701 ++ 0000000121212101FFFFFF1C494949010F0F0F010000000162626201FFFFFF1C ++ 84848401181818010000000192929201FFFFFF1CACACAC012121210100000001 ++ C2C2C201FFFFFF1CD0D0D0012929290100000001C2C2C201FFFFFF1CD1D1D101 ++ 2E2E2E0100000001C3C3C301FFFFFF1CD1D1D1013030300100000001C3C3C301 ++ FFFFFF1CD1D1D101303030010000000195959501FFFFFF1CAEAEAE012E2E2E01 ++ 0000000167676701FFFFFF1C8B8B8B01292929010000000126262601FFFFFF1C ++ 59595901212121010000000103030301C5C5C501FFFFFF1AD2D2D2013A3A3A01 ++ 18181801000000010101010169696901FFFFFF1A8D8D8D012F2F2F010F0F0F01 ++ 0000000207070701C7C7C701FFFFFF18D2D2D2013F3F3F012020200107070701 ++ 00000002020202013D3D3D01FFFFFF186A6A6A012F2F2F011010100102020201 ++ 000000030505050171717101FFFFFF168E8E8E01393939011B1B1B0105050501 ++ 00000004010101010A0A0A0175757501FFFFFF148E8E8E013C3C3C0122222201 ++ 0A0A0A010101010100000005020202010C0C0C0176767601FFFFFF128E8E8E01 ++ 3C3C3C01232323010C0C0C010202020100000007020202010C0C0C014C4C4C01 ++ CDCDCD01FFFFFF0ED2D2D2016A6A6A0139393901222222010C0C0C0102020201 ++ 00000009020202010A0A0A011B1B1B017D7D7D01CFCFCF01FFFFFF0AD2D2D201 ++ 8D8D8D013F3F3F012F2F2F011B1B1B010A0A0A01020202010000000B01010101 ++ 0505050110101001202020014949490184848401ACACAC01D0D0D001D1D1D103 ++ AEAEAE018B8B8B01595959013A3A3A012F2F2F01202020011010100105050501 ++ 010101010000000E02020201070707010F0F0F01181818012121210129292901 ++ 2E2E2E01303030022E2E2E012929290121212101181818010F0F0F0107070701 ++ 0202020100000007 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 4 ++ end ++ object tbutton6: tbutton ++ bounds_x = 315 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Redo' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_fitop, frl_fibottom] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000040030000000000000000000000000000 ++ 0000000000000000000000000000000000000000FFFFFFC04C4C4C08FF7B1101 ++ FF811101FF871101FF881306FF871101FF7F0D01F66E00014C4C4C12FF600901 ++ FF660901FF6D0B01FF6E0D01D4A28001E0BA9E01F0DACC04E8CAB601D8A98A01 ++ ED7A2D01FF6E0D01FF630501DA4D00014C4C4C0FFF5D0501FF5F0701EF6B2301 ++ DDAD9301F6DBCC01FFEADF09E1B59D01EF6B2301FF5D0501E85200014C4C4C0D ++ FF5C0301FF5D0501D68E6601FAD2BC01FFDAC50CF6CBB401DF7B4501FF5C0301 ++ E04F00014C4C4C0AFE5A0003E2A58401F5BD9F01DEA48401D99F7F01DA825202 ++ D5916B01D99F7F01ECB39401FFC7A907FAC2A401E4763A01FC590001C0440001 ++ 4C4C4C09FA580001F7600D01DB8C6101E5723301FC590002F2550001F0550001 ++ EC530001F4560001F8580001FC590001EB6B2501E09E7A01FFB78F06F5AD8501 ++ F7600D01EE5400014C4C4C08F6570001F8580003EA530001D44B00014C4C4C06 ++ CA470001EC530001F8580001ED6A2301FAA27201FFA67505E7834D01F8580001 ++ B44000014C4C4C06F2550001F4560002EE540001B84100014C4C4C0ACE490001 ++ F2550001F6631201F9935B01FF945904F9915901F4560001E04F00014C4C4C06 ++ F0550002E25000014C4C4C0DD44B0001F0550001FF5C0301FF894905FF620D01 ++ E85200014C4C4C06EC530001DA4D00014C4C4C0BEA530001E8520002E04F0001 ++ E4500001EC530001FF712301FF854304FF6A1901EC530001CE490001DE4E0001 ++ E8520003E65100014C4C4C0CE8520001EA530006FF5D0501FF833F04FF762B01 ++ EA5300074C4C4C0DE2500001E6510001FF6B1B01FF7F390DFF5D0501E6510001 ++ D04900014C4C4C0EDC4E0001E2500001FF691701FF7B330BFF5B0101E2500001 ++ CA4700014C4C4C10D84C0001DE4E0001FF661301FF782F09FC590001DE4E0001 ++ C84700014C4C4C12D44B0001DA4D0001FF620D01FF762B07F8580001DA4D0001 ++ C64600014C4C4C14D24A0001D84C0001FF600901FF722505F6570001D84C0001 ++ C24400014C4C4C16D24A0001D84C0001FF5D0501FF6F2103F2550001D84C0001 ++ C24400014C4C4C18D24A0001D84C0001FF5C0301FF6B1B01F0550001D84C0001 ++ C24400014C4C4C1AD24A0001D84C0001E8520001D84C0001C24400014C4C4C1C ++ D24A0001D84C0001C24400014C4C4C48FFFFFF80B0030000000000C810101001 ++ 61616101B1B1B101F0F0F001FFFFFF05D2D2D201969696012929290104040401 ++ 01010101000000101010100181818101F0F0F001FFFFFF0BA8A8A8011B1B1B01 ++ 030303010000000E51515101F0F0F001FFFFFF0EE4E4E4014141410106060601 ++ 010101010000000BA0A0A001FFFFFF11F2F2F201464646010808080101010101 ++ 0000000810101001D0D0D001FFFFFF13E6E6E601292929010606060100000008 ++ B0B0B001FFFFFF05D2D2D201C6C6C601AEAEAE01D1D1D101E8E8E801FFFFFF0B ++ A5A5A50115151501030303010000000690909001FFFFFF03BBBBBB0180808001 ++ 4040400139393901323232012D2D2D012C2C2C012F2F2F015C5C5C01B6B6B601 ++ FFFFFF0A353535010B0B0B010000000541414101FFFFFF02CFCFCF015C5C5C01 ++ 3B3B3B012C2C2C011F1F1F01151515010F0F0F010D0D0D010C0C0C010E0E0E01 ++ 121212011C1C1C0153535301F3F3F301FFFFFF088F8F8F011616160103030301 ++ 00000004D0D0D001FFFFFF019C9C9C013F3F3F012F2F2F011B1B1B010D0D0D01 ++ 06060601020202010000000401010101050505010D0D0D0149494901F2F2F201 ++ FFFFFF07C4C4C401232323010808080100000004E1E1E1017B7B7B0137373701 ++ 2727270111111101050505010101010100000006414141014343430144444401 ++ 4A4A4A0190909001FFFFFF07F3F3F301636363014D4D4D014444440334343401 ++ 0C0C0C01212121011F1F1F010D0D0D01020202010000000741414101FFFFFF13 ++ 040404010A0A0A0108080801020202010000000802020201A6A6A601FFFFFF11 ++ 858585010000000C010101010D0D0D01AEAEAE01FFFFFF0F8E8E8E013C3C3C01 ++ 0000000D0303030111111101AFAFAF01FFFFFF0D8E8E8E013C3C3C0123232301 ++ 0000000E0303030111111101AFAFAF01FFFFFF0B8E8E8E013C3C3C0123232301 ++ 0C0C0C010000000F0303030111111101AFAFAF01FFFFFF098E8E8E013C3C3C01 ++ 232323010C0C0C0102020201000000100303030111111101AFAFAF01FFFFFF07 ++ 8E8E8E013C3C3C01232323010C0C0C0102020201000000120303030111111101 ++ AFAFAF01FFFFFF058E8E8E013C3C3C01232323010C0C0C010202020100000014 ++ 0303030111111101AFAFAF01FFFFFF038E8E8E013C3C3C01232323010C0C0C01 ++ 02020201000000160303030111111101AFAFAF01FFFFFF018D8D8D013C3C3C01 ++ 232323010C0C0C01020202010000001803030301111111012727270130303001 ++ 212121010C0C0C01020202010000001A030303010B0B0B010E0E0E0108080801 ++ 0202020100000086 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 5 ++ end ++ object tbutton7: tbutton ++ bounds_x = 267 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Undo' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.font.color = -1610612721 ++ frame.font.style = [fs_underline] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 0000000006000000200000002000000024030000000000000000000000000000 ++ 0000000000000000000000000000000000000000FFFFFFC04C4C4C08FF811101 ++ FF881301FF860F014C4C4C1CFF660901FF6E0D01D3997301FF6E0D01FF610101 ++ 4C4C4C1AFF5D0501FF5F0701D59F8101FFEADF01E6BDA601FF5F0701FC590001 ++ 4C4C4C18FF5B0101FF5D0501D3977701FFDAC503E4B29601FF5D0501F8580001 ++ 4C4C4C16FE5A0002D88E6601FFC7A905E2A58401FE5A0001F65700014C4C4C14 ++ FA580001FC590001E0835001FFB78F07E19B7501FC590001F25500014C4C4C12 ++ F6570001F8580001EA783A01FFA67509E58E5F01F8580001F05500014C4C4C10 ++ F2550001F4560001F96C1F01FF94590BF67E3C01F4560001EC5300014C4C4C0E ++ F0550002FF661301FF89490DFF752901F0550001E85200014C4C4C0DEC530007 ++ FF782F01FF854304FF600901EC530006D24A00014C4C4C0CDC4E0001D0490001 ++ C8470004E8520001FF681501FF833F04FF6E1F01EA530001D84C0001C6460002 ++ C84700024C4C4C0BE8520001EA5300014C4C4C06E2500001FF5B0101FF7F3905 ++ F6570001E4500001C04400014C4C4C0DE4500001E6510001E45000014C4C4C06 ++ DC4E0001E2500001FF782F01FF7B3304FF782F01F0550001E2500001C6460001 ++ 4C4C4C0ADE4E0001E2500003C64600014C4C4C06CA470001DE4E0001FF5F0701 ++ FF782F05FF762B01EE540001DE4E0001D84C0001D04900014C4C4C06DE4E0005 ++ D44B00014C4C4C08D84C0001E04F0001FF6F2101FF762B06FF620D01E4500001 ++ DA4D0001D84C0005DA4D0002EA530001FE5A0001E04F0001D44B00014C4C4C09 ++ C0440001D64C0001E6510001FF6F2101FF722507FF661301FE5A0001F4560001 ++ EC530002FE5A0001FF5C0301FF6B1B01FF600901D84C0001D44B0001A63B0001 ++ 4C4C4C0AC6460001D64C0001E6510001FF691701FF6F210CFF6B1B01EE540001 ++ D84C0001CE4900014C4C4C0DC2440001D44B0001DC4E0001FE5A0001FF6B1B09 ++ FF661301FA580001DC4E0001D64C0001BE4300014C4C4C0FB03E0001D0490001 ++ D84C0001DC4E0001F0550001FE5A0001FF5F0704F6570001EC530001D84C0001 ++ D64C0001CA470001A63B00014C4C4C12B6400001CA470001D44B0001D84C0005 ++ D64C0001D0490001C2440001A63B00014C4C4C48FFFFFF807C030000000000C8 ++ 61616101FFFFFF01A4A4A4010B0B0B01030303010000001A61616101FFFFFF03 ++ AEAEAE0111111101030303010000001861616101FFFFFF05AFAFAF0111111101 ++ 030303010000001661616101FFFFFF07AFAFAF01111111010303030100000014 ++ 61616101FFFFFF09AFAFAF0111111101030303010000001261616101FFFFFF0B ++ AFAFAF0111111101030303010000001061616101FFFFFF0DAFAFAF0111111101 ++ 030303010000000E61616101FFFFFF0FAFAFAF0111111101030303010000000C ++ 61616101FFFFFF11AFAFAF0111111101030303010000000BFFFFFF135E5E5E01 ++ 0D0D0D01010101010000000A3A3A3A015E5E5E016C6C6C016F6F6F03F3F3F301 ++ FFFFFF07A5A5A50174747401707070016F6F6F016E6E6E012E2E2E0112121201 ++ 020202010000000861616101E0E0E00106060601141414011C1C1C011D1D1D03 ++ C9C9C901FFFFFF07F4F4F4015D5D5D01252525011E1E1E011D1D1D0117171701 ++ 09090901010101010000000781818101FFFFFF01D5D5D5010101010103030301 ++ 050505047A7A7A01FFFFFF08F3F3F3014B4B4B010D0D0D010606060104040401 ++ 010101010000000621212101C0C0C001FFFFFF02696969010000000617171701 ++ FFFFFF0AABABAB013B3B3B0105050501010101010000000451515101A1A1A101 ++ FFFFFF03ABABAB0139393901000000060303030199999901FFFFFF0BE3E3E301 ++ C4C4C40195959501B3B3B301C2C2C201FFFFFF05C5C5C5014040400127272701 ++ 000000071A1A1A01E4E4E401FFFFFF13DDDDDD01505050012C2C2C0111111101 ++ 000000070303030141414101F2F2F201FFFFFF11BBBBBB01434343012F2F2F01 ++ 1414140104040401000000080606060146464601E6E6E601FFFFFF0EF4F4F401 ++ 828282013E3E3E01292929011313130104040401000000090101010108080801 ++ 29292901B2B2B201FFFFFF0BF4F4F401A5A5A5014F4F4F013535350121212101 ++ 0E0E0E01030303010000000B010101010606060115151501444444019D9D9D01 ++ DCDCDC01FFFFFF05F4F4F401C7C7C7018C8C8C014C4C4C013636360126262601 ++ 1515150108080801020202010000000E030303010C0C0C011818180126262601 ++ 31313101383838013A3A3A0339393901353535012D2D2D012121210115151501 ++ 0A0A0A0103030301000000110101010104040401090909010F0F0F0112121201 ++ 13131304111111010D0D0D01070707010202020100000087 ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 6 ++ end ++ object tbutton8: tbutton ++ bounds_x = 707 ++ bounds_y = 19 ++ bounds_cx = 42 ++ bounds_cy = 45 ++ color = -2147483645 ++ frame.colorframe = -2147483647 ++ frame.framei_top = -1 ++ frame.framei_bottom = -1 ++ frame.caption = 'Help' ++ frame.captionpos = cp_top ++ frame.captiondist = 0 ++ frame.captiondistouter = True ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_colordkwidth, frl_colorhlwidth, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ face.image.transparentcolor = -2147483648 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_xcentered, al_bottom] ++ face.image.transparency = -2147483648 ++ face.image.image = { ++ 00000000060000002000000020000000C0060000000000000000000000000000 ++ 0000000000000000000000000000000000000000FFFFFF215E5E5E0BFF7A3902 ++ FF793803FF783601FF763401FF7632015E5E5E0BFFFFFF025E5E5E08FF7C3B03 ++ FF7A3901FF793803FF783601FF763401FF763203FF753001FF732F015E5E5E08 ++ FFFFFF025E5E5E07FF7C3B03FF7D3D01FF834601FF884D01F2A27B01F9AB8602 ++ F2A98501FF874B01FF7F4101FF783601FF732F02FF722D015E5E5E07FFFFFF02 ++ 5E5E5E05FF7D3D01FF7C3B02FF7E3F01FF874B01FAB69501FCD7C501FFF9F606 ++ FDE5D901FBC4AA01EC976D01FF763201FF722D01FF712B025E5E5E05FFFFFF02 ++ 5E5E5E04FF7D3D01FF7C3B02FF844801F9AE8901FDE5D901FFF2EB02FDEBE201 ++ F3D1C101F1CDBB01F2CCB903FFF2EB03FBC0A401F3895501FF712B01FF6F2901 ++ FF6E27015E5E5E04FFFFFF025E5E5E03FF7D3D01FF7C3B02F6905D01FBC9B001 ++ FFEAE002FBDFD101F2CCB902FFFFFF05F2CCB902FFEAE002FDDAC901E89A7501 ++ FF6E2702FF6D26015E5E5E03FFFFFF025E5E5E03FF7C3B02FF874B01FDD4C001 ++ FFE5D702F9D4C101F0C9B601FFFFFF09F2CCB901FFE5D702FEDFCF01E9997201 ++ FF6D26025E5E5E03FFFFFF025E5E5E02FF7C3B02FF844801FBBFA201FFDCCB02 ++ FDD8C601F0C9B601FFFFFF0BF2CCB901FFDCCB02FDCEB701F5854E01FF6C2402 ++ 5E5E5E02FFFFFF025E5E5E01FF7C3B02FF7D3D01F9A57D01FFD7C203F2BDA301 ++ FFFFFF04FFEEE601FFD7C401FFD7C201FFDAC701FFF7F201FFFFFF03FFF9F601 ++ FFD7C203FBBC9C01FF6F2901FF6B22025E5E5E01FFFFFF025E5E5E01FF7C3B02 ++ FF874B01FDC6AB01FFCEB503F4CEBB01FFFFFF03FFF9F601FFCEB504F9C7AF01 ++ FBF7F401FFFFFF03FFD1BB01FFCEB503F28C5B01FF6B2201FF6A20015E5E5E01 ++ FFFFFF025E5E5E01FF7C3B01FF7D3D01FAA57C01FFC6AB04F6D3C201FFFFFF03 ++ FFDCCB01FFC6AB04F9BFA201F2E0D701FFFFFF03FFD5C001FFC6AB01FCB69401 ++ FBA98001F8986801FF6D2601FF681E015E5E5E01FFFFFF02FF7A3902FF824401 ++ FCB18B01FFBFA004FCCEB801FFFFFF02FFFBF801FFC3A501FFBFA004E4AC9101 ++ FFFFFF04FAA67E01FB915E01FF8D5403FF793801FF681E02FFFFFF02FF7A3901 ++ FF793801FF884D01FEB49101FFB89505FFCEB501FFDAC701FFC0A201FFB89504 ++ E8AE9101F4E7E001FFFFFF03FDE3D601FF8D5405FF824401FF681E01FF671D01 ++ FFFFFF02FF793802FC8C5501FFB18A0CE8AB8E01FBF7F401FFFFFF03FEF8F501 ++ F89D7101FF8D5405FF874B01FF671D01FF661B01FFFFFF02FF793801FF783601 ++ F9966501FFAA7F0BE0A38501FBF7F401FFFFFF03FEF8F501F8A57C01FF8D5407 ++ FF661B01FE651A01FFFFFF02FF783602FA946301FFA1730AE9997201FBF7F401 ++ FFFFFF03FEF8F501F8A57C01FF8D5408FE651A02FFFFFF02FF763402FE8A5201 ++ FF996609FE996701E7C1AF01FFFFFF03FEF1EA01F9A57D01FF8E5608FF874B01 ++ FE651A02FFFFFF02FF763401FF763201FF884D01FF945F07FE935E01FE915C01 ++ FF915A01F1DFD601FFFFFF03FBA67C01FF915A09FF824401FC641A02FFFFFF02 ++ FF763202FF824401FF915B01FE935E03FF925D01FF915B05F0DFD701FFFFFF02 ++ FEEBE101FF915B0AFF763401FB641A02FFFFFF025E5E5E01FF753001FF783601 ++ FF925D0AF3D3C301FFFFFF02FFC9AE01FF925D0AFF681E01FB641A015E5E5E01 ++ FFFFFF025E5E5E01FF732F02FB8A5301FF966309FF9D6D01FFC6A901FFBE9E01 ++ FF96630AFB854A01FB641A025E5E5E01FFFFFF025E5E5E01FF732F02FD773601 ++ FF9B6A09ED916301F2CCB901EEC5B101FBA57B01FF9B6A09FC6B2301FB641A02 ++ 5E5E5E01FFFFFF025E5E5E02FF722D01FF712B01F38C5901FFA17307F2996D01 ++ F2E6E001FFFFFF02FFF9F601FFA67A01FFA17307F2875201FB641A01F9641A01 ++ 5E5E5E02FFFFFF025E5E5E03FF712B02EE966B01FFA57806EE9A7201FFFFFF04 ++ FFBC9A01FFA57806EC916501FB641A01F9641A015E5E5E03FFFFFF025E5E5E03 ++ FF712B01FF6F2901FF6E2701EA997201FFAA7F05F7A47B01FFF9F601FFFFFF03 ++ FFB49001FFAA7F05E9976E01FB641A01F9641A025E5E5E03FFFFFF025E5E5E04 ++ FF6E2701FF6D2602E9946B01FFB08805FFBE9E01FFE6D901FFEAE001FFC9AE01 ++ FFB08805E6916601FB641A01F9641A025E5E5E04FFFFFF025E5E5E05FF6D2601 ++ FF6C2402F5763801E9A17D01FFB4900AE49E7C01F3702F01FB641A01F9641A02 ++ 5E5E5E05FFFFFF025E5E5E07FF6B2202FF6A2001F2773B01E3956E01EAA68401 ++ F2AD8C01FFB99702F2AE8C01E9A58301E1916B01F1723401FB641A02F9641A01 ++ 5E5E5E07FFFFFF025E5E5E08FF6A2002FF681E02FF671D01FF661B02FE651A02 ++ FC641A01FB641A03F9641A015E5E5E08FFFFFF025E5E5E0BFF671D02FF661B01 ++ FE651A02FC641A02FB641A015E5E5E0BFFFFFF21640200000000002C20202001 ++ 40404001808080044040400120202001000000151010100170707001CFCFCF01 ++ FFFFFF08CFCFCF0170707001101010010000001180808001EFEFEF01FFFFFF0C ++ EFEFEF01808080010000000E10101001CFCFCF01FFFFFF10CFCFCF0110101001 ++ 0000000B30303001EFEFEF01FFFFFF12EFEFEF01303030010000000910101001 ++ EFEFEF01FFFFFF14EFEFEF011010100100000008CFCFCF01FFFFFF16CFCFCF01 ++ 0000000780808001FFFFFF18808080010000000510101001EFEFEF01FFFFFF18 ++ EFEFEF01101010010000000470707001FFFFFF1A7070700100000004CFCFCF01 ++ FFFFFF1ACFCFCF010000000320202001FFFFFF1C202020010000000240404001 ++ FFFFFF1C404040010000000280808001FFFFFF1C808080010000000280808001 ++ FFFFFF1C808080010000000280808001FFFFFF1C808080010000000280808001 ++ FFFFFF1C808080010000000240404001FFFFFF1C404040010000000220202001 ++ FFFFFF1C2020200100000003CFCFCF01FFFFFF1ACFCFCF010000000470707001 ++ FFFFFF1A707070010000000410101001EFEFEF01FFFFFF18EFEFEF0110101001 ++ 0000000580808001FFFFFF188080800100000007CFCFCF01FFFFFF16CFCFCF01 ++ 0000000810101001EFEFEF01FFFFFF14EFEFEF01101010010000000930303001 ++ EFEFEF01FFFFFF12EFEFEF01303030010000000B10101001CFCFCF01FFFFFF10 ++ CFCFCF01101010010000000E80808001EFEFEF01FFFFFF0CEFEFEF0180808001 ++ 000000111010100170707001CFCFCF01FFFFFF08CFCFCF017070700110101001 ++ 0000001520202001404040018080800440404001202020010000002C ++ } ++ face.fade_transparency = -2147483648 ++ face.dummy = 0 ++ taborder = 7 ++ state = [as_localimagelist, as_localimagenr] ++ end ++ object tselector1: tselector ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 406 ++ bounds_y = 27 ++ bounds_cx = 225 ++ bounds_cy = 33 ++ color = -2147483645 ++ frame.levelo = 2 ++ frame.leveli = -1 ++ frame.framewidth = 2 ++ frame.colorframe = -1610612712 ++ frame.framei_left = 5 ++ frame.colorclient = 15588058 ++ frame.caption = #1058#1077#1088#1084#1080#1085#1072#1090#1086#1088#1099 ++ frame.captionpos = cp_left ++ frame.captiondist = 5 ++ frame.font.color = 26880 ++ frame.font.height = 15 ++ frame.font.style = [fs_bold] ++ frame.font.name = 'stf_default' ++ frame.font.dummy = 0 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_fileft, frl_colorclient] ++ frame.button.width = 25 ++ frame.button.face.image.transparency = -2147483648 ++ frame.button.face.fade_pos.count = 2 ++ frame.button.face.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ frame.button.face.fade_color.count = 2 ++ frame.button.face.fade_color.items = ( ++ 7895160 ++ -1610612731 ++ ) ++ frame.button.face.fade_direction = gd_down ++ frame.button.face.fade_transparency = -2147483648 ++ frame.button.face.dummy = 0 ++ frame.button.imagenr = 9 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 109 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 8 ++ font.height = 16 ++ font.style = [fs_bold, fs_italic] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ dropdownitems.count = 4 ++ dropdownitems.items = < ++ item ++ end ++ item ++ end ++ item ++ end ++ item ++ end> ++ value = 0 ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ data = ( ++ #1050#1086#1096#1082#1080 ++ #1057#1086#1073#1072#1082#1080 ++ #1052#1099#1096#1082#1080 ++ ) ++ end> ++ dropdown.itemindex = 0 ++ reffontheight = 19 ++ end ++ end ++ object tmainmenu1: tmainmenu ++ menu.submenu.count = 2 ++ menu.submenu.items = < ++ item ++ submenu.count = 3 ++ submenu.items = < ++ item ++ caption = '&Save' ++ state = [as_localcaption, as_localimagelist, as_localimagenr] ++ imagelist = timagelist2 ++ imagenr = 0 ++ end ++ item ++ caption = '&Open' ++ state = [as_localcaption, as_localimagelist, as_localimagenr] ++ imagelist = timagelist2 ++ imagenr = 1 ++ end ++ item ++ caption = '&Exit' ++ state = [as_localcaption, as_localimagelist, as_localimagenr] ++ imagelist = timagelist2 ++ imagenr = 2 ++ font.color = 12582912 ++ font.height = 30 ++ font.style = [fs_bold, fs_italic] ++ font.name = 'Times New Roman' ++ font.dummy = 0 ++ end> ++ caption = '&File' ++ state = [as_localcaption, as_localimagelist] ++ end ++ item ++ caption = '&Help' ++ state = [as_localcaption] ++ end> ++ menu.font.height = 18 ++ menu.font.style = [fs_bold] ++ menu.font.name = 'Times New Roman' ++ menu.font.dummy = 0 ++ frametemplate = tframecomp2 ++ facetemplate = tfacecomp1 ++ itemframetemplate = tframecomp2 ++ itemfacetemplate = tfacecomp1 ++ popupitemframetemplate = tframecomp2 ++ popupitemfacetemplate = tfacecomp1 ++ left = 352 ++ top = 144 ++ end ++ object tframecomp2: tframecomp ++ template.leveli = 1 ++ template.framewidth = 2 ++ template.colorframe = 12763903 ++ template.framei_left = 1 ++ template.framei_top = 2 ++ template.framei_right = 40 ++ template.framei_bottom = 2 ++ template.extraspace = -5 ++ template.colorshadow = -1610612725 ++ left = 472 ++ top = 121 ++ end ++ object tfacecomp1: tfacecomp ++ template.image.transparency = -2147483648 ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0 ++ 1 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 13948159 ++ 16766164 ++ ) ++ template.fade_direction = gd_down ++ template.fade_transparency = -2147483648 ++ left = 352 ++ top = 105 ++ end ++ object timagelist2: timagelist ++ width = 32 ++ height = 30 ++ colormask = True ++ transparentcolor = -2147483648 ++ count = 3 ++ left = 32 ++ top = 99 ++ image = { ++ 0000000006000000400000003C000000A8220000000000000000000000000000 ++ 0000000000000000000000000000000000000000FFFFFF5180808001FFFFFF01 ++ D0D0D00DFFFFFF20D0D0D020FFFFFF20D0D0D00380808001FFFFFF01D0D0D01B ++ FFFFFF20D0D0D00500000005CBB8B701CEBCBB01CBB7B601CDBBBB01C3AEAD01 ++ BEA7A501BBA3A201BEA7A701BBA3A301B69D9D01B3999901AF949401AC8F8F01 ++ A88A8A01A48585018F6864017F524F01D0D0D005FFFFFF0500000016FFFFFF05 ++ D0D0D00500000005CEBCBB01ECE5E101EDE5E101FFFFFF01AF907F01A6827001 ++ AF8F7E01FFFFFF08D0BDB301AC8E8601D0D0D005FFFFFF05F4BA9501F3B79301 ++ F0B18D01EDAB8901EAA48401E89E7F01E5977A01E3917401DF8B7001DD846A01 ++ DB7E6701D6766101D4705C01D16A5601CE645301CC5D4E01C9564801C6504301 ++ C4493E01C1433A01BE3D3601BC3A3301FFFFFF05D0D0D00500000005C9B5B401 ++ E6DDD701E7DDD801FFFFFF018C5E4601966C5701A8867401FFFFFF08C6AFA301 ++ AC8E8401D0D0D005C8C8C801FBFBFB04F6C3A201FDEADD01FEF5ED01FEF4EC01 ++ FEF2EB01FEF1E901FDF0E801FDEEE701FDECE601FDEBE501FDE9E401FCE6E101 ++ FCE5DF01FCE2DC01FCE0D801FCDDD501FBDAD201FAD8CE01FAD5CA01F9D3C701 ++ EDB2A601C54D450100000005D0D0D0029C9C9C0100000001D0D0D00100000005 ++ C5B0AE01E3D8D201E4D9D301FFFFFF01976D5801AF8F7F01C0A79A01FFFFFF08 ++ C2A99D01A07F7501D0D0D005FBFBFB05F6C9AD01FFFDF901FEF7F501F1CAC101 ++ E9BBB101EABEB301EBC1B701ECC3BA01EDC5BD01EEC8C001EECAC201EECDC601 ++ F0CFC901F0D2CC01F1D5CE01F2D8D101F2DAD301F3DDD501F4E0D601FCF1E501 ++ FEEADA01CE645B01FBFBFB05D0D0D005CBB8B701CEBCBB01CBB7B601CDBBBB01 ++ C3AEAD01BEA7A501BDA6A401C0A9A901BFA8A801B69D9D01B59B9B01B2979701 ++ B1969601AD919101A98C8C0196716D01AD918F01F6F3F301FFFFFF01FEFDFD01 ++ B59B8E01926F6601D0D0D0019C9C9C0100000001D0D0D002FBFBFB05F3C4AA01 ++ FFFCF901F6E2DE01CFA69D01B9AFAD01A9A09D01908785018C8380018B828101 ++ 88807E01837B79017C757301776F6E01706968016A646301645E5D015E585701 ++ 585352016D686701E2DFDD01FEE9D801CE645A01FBFBFB05D0D0D005CEBCBB01 ++ ECE5E101EDE5E101FFFFFF01AF907F01A6827001AF8F7E01FFFFFF08D0BDB301 ++ AC8E86019B787601EBE4E101DED3D001A38478018A665C01D0D0D005FBFBFB05 ++ F2BFA601FFFBF801F5E1DC01CCA8A001D0D0D001E6E6E6019595950180808002 ++ 7C7C7C01767676016D6D6D01676767015F5F5F0159595901515151014A4A4A01 ++ 444444014C4C4C01D6D6D501FEE8D501CE645A01F1F1F1013A3A3A0100000001 ++ 363636016E6E6E01D0D0D005C9B5B401E6DDD701E7DDD801FFFFFF018C5E4601 ++ 966C5701A8867401FFFFFF08C6AFA301AC8E84016D3C3A01A98B7F01A0807401 ++ 936F6201845E5401D0D0D00280808001FFFFFF01D0D0D001F8F8F80112121201 ++ 00000001F8F8F802F0BAA201FFFBF801F6E2DD01CBA8A001D0D0D001FFFFFF01 ++ E1E1E101828282017F7F7F017C7C7C01757575016D6D6D01676767015F5F5F01 ++ 59595901515151014A4A4A01434343014D4D4D01D7D6D501FDE7D301CE645901 ++ DCDCDC01F8F8F80315151501D0D0D005C5B0AE01E3D8D201E4D9D301FFFFFF01 ++ 976D5801AF8F7F01C0A79A01FFFFFF08C2A99D01A07F75016633310194716301 ++ 8F6A5C01896456017C564C01D0D0D001C2C2C201474747010C0C0C011A1A1A01 ++ 151515012E2E2E01F8F8F803EEB69E01FFFAF701F6E3DF01C5A49C01CACACA01 ++ FFFFFF01B2B2B201858585017F7F7F017A7A7A01747474016D6D6D0166666601 ++ 5F5F5F015858580150505001494949014242420148484801D5D5D401FEE5D001 ++ CE635801F8F8F8022E2E2E0100000001F8F8F8015B5B5B0100000001D0D0D003 ++ C0AAA801DFD3CC01E1D4CE01FFFFFF01C4AC9F01D3C2B901DFD2CB01FFFFFF07 ++ FEFDFD01B59B8E01926F660164302E019B7A6F019674680186615201764F4501 ++ D0D0D0032D2D2D0151515101F8F8F805ECB19B01FFFAF701F6E4E001BD9D9601 ++ BEBEBE01AEAEAE016E6E6E01808080017F7F7F0178787801737373016B6B6B01 ++ 646464015D5D5D015656560150505001484848013B3B3B0144444401D5D5D301 ++ FEE4CD01CE6358011717170128282801F4F4F403C9C9C901CDCDCD016B6B6B01 ++ 10101001D0D0D001BCA4A101DCCEC601DBCDC501F5F1EE01F4F0ED01F3EFEC01 ++ F3EEEB01F2EDEA01F1ECE901F0EBE801F0EAE701EFE9E601EFE8E501EBE4E101 ++ DED3D001A38478018A665C0163313001D2C2C201CEBCBC018B675C016F463D01 ++ D0D0D005F4F4F405EAAB9601FFF9F601F3E7E501AD9893018282820167676701 ++ 808080017F7F7F017C7C7C01767676017070700169696901626262015B5B5B01 ++ 535353014A4A4A013E3E3E013737370143434301D5D5D301FEE2CC01CE625701 ++ F4F4F405D0D0D00180808001FFFFFF01D0D0D002B89E9B01D9C9C101D2C1B701 ++ D4C3BA01D1BFB501CEBBB101CCB8AD01C9B4A801C7B0A401C4ACA001C1A99B01 ++ BDA39501B69A8D01A98B7F01A0807401936F6201845E5401602C2C01CDBCBC01 ++ C9B6B601856155016A403701D0D0D0019393930100000001D0D0D001C5C5C501 ++ F4F4F405E9A79301FFF8F601F3E9E601A4928E0181818101808080027E7E7E01 ++ 7979790172727201696969016161610159595901505050014848480141414101 ++ 3A3A3A013535350142424201D5D4D301FDE0C801CE625701F4F4F40502020201 ++ B8B8B801D0D0D00293939301B3989401D4C4BB01CDB9AE01CAB5AA01C7B1A501 ++ C4ACA001C1A89B01BDA39501B99E9001B4978801AE8F8001A28273019A786A01 ++ 947163018F6A5C01896456017C564C015C272601B8999901BCA1A1017F594E01 ++ 633A3001D0D0D005F4F4F405E7A18F01FFF8F601F3EAE801A3928F0180808002 ++ 7D7D7D0172727201686868015E5E5E015A5A5A01535353014E4E4E0149494901 ++ 434343013E3E3E01373837013333330141414101D5D4D301FEDFC501CE625601 ++ F4F4F405D0D0D002959595012C2C2C0113131301AF928F01D1BFB501CBB7AC01 ++ D0BEB401CEBBB001CBB7AC01C7B1A601BFA79C01B99F9301B1968A01AB8E8301 ++ A5877B01A08175019B7A6F019674680186615201764F45015A252401BB9F9F01 ++ BAA1A101795348015E342A01D0D0D005000000017C7C7C01F1F1F103E59C8C01 ++ FFF7F501F4EAE801A4938F01808080017B7B7B016E6E6E016464640160606001 ++ 5B5B5B0156565601505050014C4C4C0146464601414141013B3B3B0136363601 ++ 3131310140404001D5D4D201FDDDC301CE615501F1F1F1021212120100000001 ++ F1F1F101D0D0D005AA8C8801CDBAAF01D0BEB401FFFFFF01FDFDFD01F7F4F401 ++ F0EBEB01EBE4E401E7DFDF01E3D9D901DFD4D401DACECE01D6C8C801D2C2C201 ++ CEBCBC018B675C016F463D0156201F01B2929201B3979701734D4101582E2401 ++ C5C5C50102020201B5B5B501D0D0D002F1F1F105E2978701FFF6F501F6EBE801 ++ A6928D017777770169696901636363015E5E5E015B5B5B015656560152525201 ++ 4D4D4D0148484801434343013E3E3E0137383701343434012F2F2F013E3E3E01 ++ D5D4D201FDDCC001CE615401F1F1F101000000012C2C2C01F1F1F10297979701 ++ 00000001D0D0D001C5C5C50102020201A6868201CAB5AA01CDBAAF01FCFBFB01 ++ F5F2F201EFE9E901EBE4E401E6DDDD01E2D8D801DED2D201DACDCD01D6C7C701 ++ D2C2C201CDBCBC01C9B6B601856155016A403701531D1D01AF8F8F01AF929201 ++ 6E473B0152291F01D0D0D005F1F1F105E1928301FFF6F301F7EBE901A38E8A01 ++ 68686801616161015D5D5D015A5A5A0156565601515151014E4E4E0149494901 ++ 45454501404040013A3A3A0136363601313131012D2D2D013E3E3E01D5D4D201 ++ FEDABE01CE605401F1F1F105D0D0D005A17F7B01C7B0A401C6B0A601E9DCDC01 ++ DBC4C401D7BFBF01D4BBBB01CFB6B601CCB1B101C7ACAC01C4A8A801C0A2A201 ++ BC9E9E01B8999901BCA1A1017F594E01633A3001501A1A01AC8D8D01AB8D8D01 ++ 684136014D231A0100000001D0D0D004A2A2A201000000012C2C2C01EDEDED02 ++ DE8E7F01FFF5F201F8ECE9019A8580015D5D5D015B5B5B015858580154545401 ++ 515151014D4D4D014A4A4A0145454501414141013B3B3B013737370133333301 ++ 2E2E2E012A2A2A013E3E3E01D5D4D201FED9BB01CE605301EDEDED05D0D0D005 ++ 9D7A7501C2A99D01BDA49901E8DDDD01DFCFCF01DBC9C901D7C4C401D3BFBF01 ++ CFBABA01CBB4B401C7B0B001C3AAAA01BFA5A501BB9F9F01BAA1A10179534801 ++ 5E342A014D181701A28787019E8282015A342B01421913013030300196969601 ++ 23232301AFAFAF01D0D0D001EDEDED01ECECEC011F1F1F0133333301EDEDED01 ++ DD887B01FFF3F101F8EDEA0197837D015757570155555501525252014F4F4F01 ++ 4C4C4C014848480145454501414141013C3D3C01373837013434340130303001 ++ 2C2C2C012929290141414101D7D6D401FED8BA01CE6053012424240105050501 ++ 1111110148484801BFBFBF01C5C5C5014D4D4D010D0D0D011717170165656501 ++ 98736E01B89E9101B49A8E01E0D1D101D5BFBF01D1BBBB01CDB6B601C9B0B001 ++ C6ACAC01C1A6A601BEA2A201B99C9C01B6979701B2929201B3979701734D4101 ++ 582E240146100F016435350163333301451010013D07060180808001FFFFFF01 ++ D0D0D0030C0C0C013B3B3B01A6A6A601EDEDED02DB827601FFF3EF01FAF1EF01 ++ E5D5D001DFDEDD01DFDEDC01DEDDDC01DEDDDB01DDDCDA01DCDBD902DBDAD801 ++ DAD9D701DAD8D601D9D8D501D8D7D401D7D6D302DCDAD701F8F4EF01FDD8BA01 ++ CE6053010808080106060601242424017A7A7A01E8E8E801D0D0D005916A6601 ++ AF938601AD918501DCCCCC01D2BDBD01CEB8B801CAB3B301C6ADAD01C3A9A901 ++ BEA3A301BB9E9E01B6999901B2959501AF8F8F01AF9292016E473B0152291F01 ++ 430C0B0100000004D0D0D005EDEDED02EAEAEA012B2B2B0100000001D3706401 ++ F7D7D101FEECE801FDE9E001FDE5DA01FDE5D801FDE4D701FDE4D501FDE3D301 ++ FDE3D201FDE2D001FDE1CF01FDE1CD01FDE0CB01FDDFC901FDDEC701FDDDC601 ++ FDDCC301FDDBC201FDD7BA01F5BDA301C8544901EAEAEA05D0D0D0058A625D01 ++ A88A7D01A7887D01D8C8C801D0BCBC01CCB6B601C8B1B101C4ACAC01C0A7A701 ++ BCA1A101B89C9C01B4979701B0929201AC8D8D01AB8D8D01684136014D231A01 ++ 400A090100000004D0D0D00500000001292929016C6C6C015C5C5C010C0C0C01 ++ C7534701CD625901CF665E01CD615901CB5F5701CB5E5601CB5E5501CB5E5401 ++ CB5D5401CB5D5302CB5C5201CB5C5102CB5B5001CB5B4F01CB5A4F01CB5A4E03 ++ C7514601BE3D3601EAEAEA02525252010000000129292901D0D0D00582575401 ++ 9B7A720197776F01C9BCBC01C5B6B601C1B1B101BDACAC01B9A6A601B6A1A101 ++ B19C9C01AE979701A9929201A68D8D01A28787019E8282015A342B0142191301 ++ 3E07070100000004D0D0D00480808001222222016A6A6A016262620113131301 ++ 00000018161616012F2F2F016D6D6D013C3C3C01FFFFFF01D0D0D00472424201 ++ 6B39390164323101744B4B0173484801714646016F4444016E4141016C404001 ++ 6B3D3D01693B3B0168393901663737016435350163333301451010013D070601 ++ 3D05040100000004D0D0D005EAEAEA05000000164F4F4F01E6E6E60100000001 ++ 2A2A2A01E6E6E601D0D0D01180808001FFFFFF01D0D0D00D8585850100000001 ++ 5D5D5D01E6E6E6035757570100000002E6E6E603989898010000000150505001 ++ E3E3E301E6E6E602C6C6C601101010011F1F1F01E3E3E301E6E6E60777777701 ++ 00000001A1A1A101D0D0D020000000012A2A2A01E6E6E604000000012A2A2A01 ++ E6E6E603929292010000000142424201E1E1E101E6E6E602D3D3D30121212101 ++ 02020201BDBDBD01E6E6E602929292010000000142424201E1E1E101E6E6E602 ++ D3D3D3012121210102020201D0D0D00380808001FFFFFF01D0D0D01B00000001 ++ 4A4A4A01E6E6E61CE3E3E3012A2A2A01D0D0D01580808001FFFFFF0180808009 ++ 000000063F3F3F01E3E3E3032A2A2A0100000001E3E3E3023737370101010101 ++ CFCFCF01E3E3E303CECECE010202020100000001E3E3E3033E3E3E0103030301 ++ CFCFCF01E3E3E3046969690100000001AAAAAA01E3E3E3074D4D4D0100000001 ++ C5C5C501E3E3E305000000012A2A2A01E3E3E3033E3E3E0103030301CFCFCF01 ++ E3E3E3046969690100000001AAAAAA01E3E3E3010E0E0E010B0B0B01BEBEBE01 ++ E3E3E302E2E2E201C7C7C701E1E1E101E3E3E303000000012A2A2A01E3E3E304 ++ 000000012A2A2A01E3E3E3033B3B3B0100000001C5C5C501E3E3E30499999901 ++ 0000000164646401E3E3E3023B3B3B0100000001C5C5C501E3E3E30499999901 ++ 0000000164646401E3E3E3022A2A2A0100000001E3E3E3032A2A2A0100000001 ++ C0C0C001E3E3E303CFCFCF010101010138383801E3E3E302B9B9B90189898901 ++ DADADA01E3E3E3042A2A2A0102020201E3E3E3032A2A2A010000000193939301 ++ E3E3E31CE0E0E0012929290100000001E0E0E001DBDBDB010C0C0C013C3C3C01 ++ E0E0E0026E6E6E010B0B0B01D9D9D901E0E0E0010000000129292901E0E0E006 ++ CECECE01949494015959590114141401000000028C8C8C01E0E0E00300000001 ++ 29292901E0E0E00B2929290100000001E0E0E0020E0E0E011B1B1B01E0E0E005 ++ 1E1E1E0100000001E0E0E003121212010B0B0B01707070054545450100000001 ++ 7E7E7E01E0E0E0073434340100000001D4D4D401E0E0E0050000000129292901 ++ E0E0E003121212010B0B0B017070700545454501000000017E7E7E01E0E0E001 ++ 6565650100000001020202013333330177777701BDBDBD01E0E0E00500000001 ++ 29292901E0E0E0040000000129292901E0E0E001000000010000010100000401 ++ 0000001100000401000001010000000138383801E0E0E0022929290100000001 ++ E0E0E0032929290110101001E0E0E0051A1A1A010E0E0E01E0E0E004D8D8D801 ++ B1B1B1019292920170707001414141010404040100000001E0E0E00329292901 ++ 00000001AEAEAE01E0E0E007000000010000010101010101061063010A178001 ++ 16237F011825810118248001172480031623800315227F0214227F0113207D01 ++ 0C1881010811630100010101000001012929290100000001DDDDDD024E4E4E01 ++ 03030301CECECE01DDDDDD01242424014C4C4C01DDDDDD020000000129292901 ++ DDDDDD09D9D9D901666666010000000124242401DDDDDD030000000129292901 ++ DDDDDD0A000000010101010107127601293DC201667DD1017490DA016D8BD801 ++ 6C89D6016A89D6016989D7016A89D7016889D6016688D6016385D5016183D401 ++ 5F82D3015E82D3015D81D2014969C8012137BF01091477010001010100000004 ++ 6E6E6E01DDDDDD072B2B2B0100000001DBDBDB01DDDDDD050000000129292901 ++ DDDDDD0303030301000000086E6E6E01DDDDDD01DBDBDB017F7F7F0125252501 ++ 0000000406106401293DC2017791CC015779C5013D60BC013C60BB013F64BC01 ++ 4368BE013E65BC013A60BA013961BA013E66BC01486FC0014E74C3014E75C201 ++ 5077C3015279C4015E87C901577AC1012135BF0108116501DDDDDD01DADADA01 ++ 000000012C2C2C01DDDDDD020303030126262601DDDDDD05DADADA0100000001 ++ 2C2C2C01DDDDDD022929290100000001DDDDDD03292929011D1D1D01DDDDDD05 ++ 2626260103030301DDDDDD02D8D8D8015F5F5F01090909010000000216161601 ++ 4B4B4B0116161601000000010A178001667DD1015779C5012549B5013155B901 ++ 365BBA01335ABA012A54B701486CC3016A88D1017794D5016A8AD1014B72C501 ++ 3B65BD014A71C3014E75C4014F76C4015077C4015E87C9014362C5010C188101 ++ DDDDDD0DD9D9D9012828280100000001D9D9D90293939301000000018A8A8A01 ++ B6B6B6010000000193939301D9D9D9020000000128282801D9D9D9019D9D9D01 ++ 1A1A1A0171717101D9D9D906D7D7D7011515150103030301D9D9D90100000001 ++ 16237F017490DA013D60BC013155B901395EBB013259B9014E71C501B0C1E901 ++ E1E8F601FEFEFF01FFFFFE01FCFDFE01DDE5F401A8BDE7015379C6014D75C301 ++ 557CC601567DC6015980C6015076CE01111F7D01D9D9D9042222220100000001 ++ D9D9D9030E0E0E0125252501D9D9D90F3333330100000001D0D0D001D9D9D905 ++ 0000000128282801D9D9D9030E0E0E0125252501D9D9D9010000000118258101 ++ 6D8BD8013C60BB01365BBA013159B9015E7FCC01E5EBF801FFFFFF01F9FBFF01 ++ D6DFF201BDCBE701DEE5F401FFFFFF02DDE5F4016287CC01537BC5015A80C701 ++ 5D83C7014F75CE01111F7E01D9D9D9030000000128282801D9D9D9030E0E0E01 ++ 17171701D9D9D905C6C6C6010000000137373701D9D9D9020E0E0E0117171701 ++ D9D9D905C6C6C6010000000137373701D9D9D9022828280100000001D9D9D903 ++ 2828280112121201D9D9D90300000001182480016C89D6013F64BC013259B901 ++ 5576C801E3E9F701FFFFFF01CDD9F2016F8ED2014D73C601587CC901547AC901 ++ 819ED801E3EBF701FFFFFF01D9E3F3015D83CA015B82C7015F87C8014D72CD01 ++ 111E7E01D9D9D91BD6D6D6012727270100000001D6D6D602CECECE0108080801 ++ 444444016E6E6E0109090901CECECE01D6D6D602000000012727270100000001 ++ 172480016A89D7014267BE012D56B801B9C9EA01FFFFFF01C9D5F101486FC401 ++ 345FBB019DB3E201FFFFFF017F9BD5013C67BD01688CCF01E8F0F901FFFFFF01 ++ A6BDE501557EC501638AC9014B71CC01101E7E01D6D6D6072727270100000001 ++ D6D6D6023636360100000001BFBFBF01D6D6D603C9C9C9010404040100000001 ++ D6D6D6033434340103030301C2C2C201D6D6D604989898016B6B6B01B4B4B401 ++ D6D6D6074A4A4A0100000002172480016A89D7013C62BB015577C901EBEFFB01 ++ FCFDFF016687CD013C65BD014870C201B3C6EC01FFFFFF0193ADDE01527AC501 ++ 4C75C3018DA9DD01FFFFFF01DCE5F401658BCC016289C8014A70CC01101D7E01 ++ 686868019A9A9A01D6D6D603D2D2D2011515150107070701D6D6D60300000001 ++ 27272701D6D6D6040000000127272701D6D6D6033737370100000001B9B9B901 ++ D6D6D60490909001000000015B5B5B01D6D6D6023737370100000001B9B9B901 ++ D6D6D6049090900100000001172480016A8AD701375EB9017692D401FFFFFF01 ++ C9D4ED013E66BF014D74C301466FC201B1C4EA01FFFFFF0193ACDE015179C501 ++ 587EC601688DCF01E8EEF901F7FAFF017F9FD7016188C8014A6FCC010F1D7D01 ++ D5D5D501D6D6D603CECECE010808080100000001D5D5D501D6D6D60227272701 ++ 00000001AEAEAE01D6D6D61CD2D2D20100000001162380016989D601365FBA01 ++ 829BD501FFFFFF01C3CFEA013964BD015077C5014870C201B3C5EB01FFFFFF01 ++ 95AFDE01537BC5015C83C801658BCD01E2E9F501FAFCFF0183A3D901658BC901 ++ 486CCC010F1C7D01D2D2D201D1D1D1016D6D6D010000000167676701D2D2D203 ++ 0000000127272701D2D2D20B2727270100000001D2D2D2028383830100000001 ++ 49494901D1D1D101D2D2D2025C5C5C0100000002D2D2D2038282820100000001 ++ 44444401CFCFCF01D2D2D20100000001162380016788D6013B64BB017A97D501 ++ FFFFFF01CAD6ED01436CC1015278C5014B73C301B3C7EB01FFFFFF0197B0DF01 ++ 577EC6015E85C8016E92D101E9EFF901F8FAFF0187A6DA016A8ECB01466ACB01 ++ 0E1C7D01D2D2D203828282010000000144444401CFCFCF01D2D2D202BEBEBE01 ++ 1616160103030301B6B6B601C2C2C201040404012E2E2E01CFCFCF01D2D2D202 ++ C2C2C2010C0C0C011C1C1C01D2D2D2030404040123232301D2D2D20404040401 ++ 23232301D2D2D20385858501000000013C3C3C01CDCDCD01D2D2D20200000001 ++ 162380016486D501426ABE016486CF01F1F6FD01FCFDFF016F8FD0014770C101 ++ 537BC601B8CAED01FFFFFF019AB3E0015D85C9015780C50191ADDD01FFFFFF01 ++ DFE7F5017799D3017396CF014468CA010E1B7D01D2D2D2012727270100000001 ++ 50505001D2D2D202D1D1D1014A4A4A01000000018A8A8A01D2D2D2020C0C0C01 ++ 0E0E0E01C6C6C601D2D2D202D0D0D0015353530100000002CBCBCB01D2D2D202 ++ 2727270100000001AAAAAA01D2D2D20F0000000115227F016183D4014E74C201 ++ 3E68BF01C7D3ED01FFFFFF01CDDAF301557DC8014771C101ADC3E801FFFFFF01 ++ 91ACDC014F7AC3017699D201E9F0F901FFFFFF01BCCFED016F93CF017A9BD101 ++ 4366C9010D1B7D018C8C8C01CFCFCF030000000126262601CFCFCF02BCBCBC01 ++ 2323230100000001131313014C4C4C0162626201575757012121210100000001 ++ 36363601C9C9C901CFCFCF0300000001131313016767670891919101CFCFCF02 ++ 2626260100000001CFCFCF02CDCDCD013A3A3A010000000215227F015F82D301 ++ 4F76C301466EC1016789CE01EEF2FC01FFFFFF01CDD9F2017596D2016086CB01 ++ 7295D201648BCD0188A6D901E7EEF801FFFFFF01E0E8F6017B9CD5017D9DD401 ++ 7C9BD2014163C8010D1A7C01CFCFCF04A4A4A4010000000162626201CFCFCF05 ++ 1C1C1C01010101015858580188888801CFCFCF01CECECE014040400100000001 ++ 212121015E5E5E015858580112121201000000016D6D6D01CFCFCF025D5D5D01 ++ 0000000125252501606060015C5C5C01191919010000000187878701CFCFCF03 ++ 1C1C1C0101010101585858010000000114227F015E82D3015077C3014F75C401 ++ 4972C201819FD901F1F5FD01FFFFFF01F4F7FC01D4DEF101C6D4EA01DCE5F401 ++ FAFCFF01FFFFFF01E8EEF80186A5D9017899D20183A1D501809ED3014062C801 ++ 0C1A7C01000000011E1E1E015D5D5D0158585801121212010000000167676701 ++ CFCFCF032626260100000001CFCFCF03262626010D0D0D010F0F0F0133333301 ++ 616161012E2E2E010000000141414101CFCFCF0357575701000000011F1F1F01 ++ 6060600159595901202020010D0D0D012C2C2C0100000001B4B4B401CFCFCF02 ++ 2626260100000001A8A8A801CFCFCF010000000113207D015D81D2015279C401 ++ 4F76C401557CC6014F78C4017092D101BFD0ED01ECF1FA01FFFFFF01FEFEFE01 ++ FEFFFF01EAEFF901BED0EE017FA0D601789AD201809FD40188A5D701829ED301 ++ 3757C4010D1A7B01676767017B7B7B01CFCFCF03CBCBCB012525250100000001 ++ CBCBCB03C1C1C1010606060109090901C4C4C401CBCBCB030000000125252501 ++ CBCBCB03C5C5C50173737301313131010E0E0E01020202010A0A0A012F2F2F01 ++ 7B7B7B01C9C9C901CBCBCB04000000070C1881014969C8015D87C9015077C401 ++ 567DC6015A80C801587FC601557EC6017295D20192AEDD0197B2DE0196B2E001 ++ 7E9FD7016F93CF017C9CD30183A1D50188A5D70194AEDA017290CE01213DB901 ++ 0E1A8101CBCBCB02C9C9C901727272012525250106060601080808012E2E2E01 ++ 87878701CBCBCB0A1C1C1C0125252501CBCBCB05929292011C1C1C0103030301 ++ 3D3D3D01CBCBCB02C9C9C901727272012525250106060601080808012E2E2E01 ++ 87878701CBCBCB0300000001081165012137BF01577AC1015E87C9015980C601 ++ 5C83C7016087C801638AC9015F86C7015D84C7016188C801678BCA017195CE01 ++ 7A9BD1017C9BD201809ED301829ED3017290CE013250B401162BBB010A146501 ++ CBCBCB01C9C9C90175757501262626010606060109090901333333018E8E8E01 ++ CBCBCB05C9C9C90175757501262626010606060109090901333333018E8E8E01 ++ CBCBCB042525250100000001CBCBCB032525250119191901A5A5A50130303001 ++ 060606011616160164646401C6C6C601CBCBCB03C6C6C6016060600100000001 ++ 00010101091477012135BF014362C5015076CE014F75CE014D72CD014B71CC01 ++ 4B70CC014A6FCC01496DCC01476BCB014469CA014366C9014163C8014062C801 ++ 3757C401213DB901162BBB010C17780100000001CBCBCB020000000125252501 ++ CBCBCB040000000125252501CBCBCB040000000125252501CBCBCB03C8C8C817 ++ 000000010000010100010101081163010C188101111F7D01111F7E01111E7E01 ++ 101E7E01101D7E010F1D7D010F1C7D010E1C7D010E1B7D010D1B7D010D1A7C01 ++ 0C1A7C010D1A7B010E1A81010A13640100000102C8C8C8216F6F6F0100000001 ++ A6A6A601C8C8C87DC4C4C44EBCBCBC011212120150505001C4C4C433FC050000 ++ 000000FF0000000B68686801EFEFEF0FA2A2A2010000002FEFEFEF01FFFFFF10 ++ 0000000A323232019F9F9F14323232010000000FEFEFEF01FFFFFF100000000A ++ F4F4F401FFFFFF14F4F4F4010000000FEFEFEF01FFFFFF100000000AFFFFFF16 ++ 0000000A68686801EFEFEF04FEFEFE01FFFFFF100000000AFFFFFF160000000A ++ EFEFEF01FFFFFF150000000AFFFFFF160000000AEFEFEF01FFFFFF150000000A ++ FFFFFF160000000AEFEFEF01FFFFFF150000000AFFFFFF160000000AEFEFEF01 ++ FFFFFF150000000AFFFFFF160000000AEFEFEF01FFFFFF150000000AFFFFFF16 ++ 0000000AEFEFEF01FFFFFF150000000AFFFFFF160000000AEFEFEF01FFFFFF15 ++ 0000000AFFFFFF160000000AEFEFEF01FFFFFF150000000AFFFFFF160000000A ++ EFEFEF01FFFFFF150000000AFFFFFF160000000AEFEFEF01FFFFFF150000000A ++ FFFFFF160000000AEFEFEF01FFFFFF150000000AFFFFFF160000000AEFEFEF01 ++ FFFFFF150000000AFFFFFF160000000AEFEFEF01FFFFFF10FEFEFE01EFEFEF04 ++ 0000000AFFFFFF160000000AEFEFEF01FFFFFF10EFEFEF010000000EFFFFFF16 ++ 0000000AEFEFEF01FFFFFF10EFEFEF010000000E77777701EFEFEF1477777701 ++ 0000000AEFEFEF01FFFFFF10EFEFEF010000002E68686801EFEFEF1068686801 ++ 000000FF0000004AFFFFFF2000000020FFFFFF2000000020FFFFFF2000000020 ++ FFFFFF2000000006010101010303030100000011030303010101010100000005 ++ FFFFFF200000000601010101000000013B3B3B01A2A2A201C3C3C301BEBEBE01 ++ BFBFBF09BEBEBE01C3C3C301A2A2A2013B3B3B01000000010101010100000005 ++ FFFFFF200000000501010101000000017F7F7F01FFFFFF01FEFEFE02FFFFFF0B ++ FEFEFE02FFFFFF017F7F7F0100000006FFFFFF20000000063C3C3C01FFFFFF01 ++ FDFDFD01FCFCFC0FFDFDFD01FFFFFF013C3C3C0100000005FFFFFF2000000006 ++ A1A1A101FFFFFF01FCFCFC01FFFFFF01FEFEFE01FFFFFF0BFEFEFE01FFFFFF01 ++ FCFCFC01FFFFFF01A1A1A10100000005FFFFFF2000000006BFBFBF01FFFFFF01 ++ FCFCFC01FEFEFE01FFFFFF0DFEFEFE01FCFCFC01FFFFFF01BFBFBF0100000005 ++ FFFFFF2000000006BEBEBE01FFFFFF01FCFCFC01FFFFFF0FFCFCFC01FFFFFF01 ++ BEBEBE0100000005FFFFFF2000000006BFBFBF01FFFFFF01FCFCFC01FFFFFF0F ++ FCFCFC01FFFFFF01BFBFBF0100000005FFFFFF2000000006BFBFBF01FFFFFF01 ++ FCFCFC01FFFFFF0FFCFCFC01FFFFFF01BFBFBF0100000005FFFFFF2000000006 ++ BFBFBF01FFFFFF01FCFCFC01FFFFFF0FFCFCFC01FFFFFF01BFBFBF0100000005 ++ FFFFFF2000000006BFBFBF01FFFFFF01FCFCFC01FFFFFF0FFCFCFC01FFFFFF01 ++ BFBFBF0100000005FFFFFF2000000006BFBFBF01FFFFFF01FCFCFC01FFFFFF0F ++ FCFCFC01FFFFFF01BFBFBF0100000005FFFFFF2000000006BFBFBF01FFFFFF01 ++ FCFCFC01FFFFFF0FFCFCFC01FFFFFF01BFBFBF0100000005FFFFFF2000000006 ++ BFBFBF01FFFFFF01FCFCFC01FFFFFF0FFCFCFC01FFFFFF01BFBFBF0100000005 ++ FFFFFF2000000006BFBFBF01FFFFFF01FCFCFC01FFFFFF0FFCFCFC01FFFFFF01 ++ BFBFBF0100000005FFFFFF2000000006BFBFBF01FFFFFF01FCFCFC01FFFFFF0F ++ FCFCFC01FFFFFF01BFBFBF0100000005FFFFFF2000000006BEBEBE01FFFFFF01 ++ FCFCFC01FFFFFF0FFCFCFC01FFFFFF01BEBEBE0100000005FFFFFF2000000006 ++ BFBFBF01FFFFFF01FCFCFC01FEFEFE01FFFFFF0DFEFEFE01FCFCFC01FFFFFF01 ++ BFBFBF0100000005FFFFFF2000000006A1A1A101FFFFFF01FCFCFC01FFFFFF01 ++ FEFEFE01FFFFFF0BFEFEFE01FFFFFF01FCFCFC01FFFFFF01A1A1A10100000005 ++ FFFFFF20000000063C3C3C01FFFFFF01FDFDFD01FCFCFC0FFDFDFD01FFFFFF01 ++ 3C3C3C0100000005FFFFFF200000000501010101000000017F7F7F01FFFFFF01 ++ FEFEFE02FFFFFF0BFEFEFE02FFFFFF017F7F7F0100000006FFFFFF2000000006 ++ 01010101000000013B3B3B01A2A2A201C3C3C301BEBEBE01BFBFBF09BEBEBE01 ++ C3C3C301A2A2A2013B3B3B01000000010101010100000005FFFFFF2000000020 ++ FFFFFF2000000020FFFFFF2000000020FFFFFF2000000020FFFFFF20 ++ } ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main_mfm.pas mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main_mfm.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,1999 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..39627] of byte end = ++ (size: 39628; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,68,8,98,111,117,110,100,115, ++ 95,121,2,112,9,98,111,117,110,100,115,95,99,120,3,253,2,9,98,111, ++ 117,110,100,115,95,99,121,3,254,0,23,102,97,99,101,46,105,109,97,103, ++ 101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,19, ++ 102,97,99,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2, ++ 2,19,102,97,99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109, ++ 115,1,2,0,2,1,0,21,102,97,99,101,46,102,97,100,101,95,99,111, ++ 108,111,114,46,99,111,117,110,116,2,2,21,102,97,99,101,46,102,97,100, ++ 101,95,99,111,108,111,114,46,105,116,101,109,115,1,4,250,187,188,0,4, ++ 159,205,245,0,0,19,102,97,99,101,46,102,97,100,101,95,100,105,114,101, ++ 99,116,105,111,110,7,7,103,100,95,100,111,119,110,22,102,97,99,101,46, ++ 102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,15,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115,11,11, ++ 102,97,108,95,111,112,116,105,111,110,115,15,102,97,108,95,102,97,100,105, ++ 114,101,99,116,105,111,110,9,102,97,108,95,102,97,112,111,115,11,102,97, ++ 108,95,102,97,99,111,108,111,114,0,10,102,97,99,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97, ++ 105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11, ++ 111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101, ++ 116,114,97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,121,2,43,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,120,3,253,2,19,99,111,110,116,97,105,110,101,114,46,98, ++ 111,117,110,100,115,95,99,121,3,211,0,21,99,111,110,116,97,105,110,101, ++ 114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,13,111,112,116,105, ++ 111,110,115,119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112,108, ++ 101,97,100,101,114,0,8,109,97,105,110,109,101,110,117,7,10,116,109,97, ++ 105,110,109,101,110,117,49,10,102,111,110,116,46,100,117,109,109,121,2,0, ++ 7,111,112,116,105,111,110,115,11,7,102,111,95,109,97,105,110,19,102,111, ++ 95,116,101,114,109,105,110,97,116,101,111,110,99,108,111,115,101,15,102,111, ++ 95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97,117,116, ++ 111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101,112,111, ++ 115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,17,105,99,111,110, ++ 46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,109, ++ 111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101, ++ 102,111,114,109,0,8,116,116,111,111,108,98,97,114,9,116,116,111,111,108, ++ 98,97,114,49,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110, ++ 100,115,95,121,2,0,9,98,111,117,110,100,115,95,99,120,3,248,2,9, ++ 98,111,117,110,100,115,95,99,121,2,74,5,99,111,108,111,114,4,3,0, ++ 0,128,12,102,114,97,109,101,46,108,101,118,101,108,111,2,1,12,102,114, ++ 97,109,101,46,108,101,118,101,108,105,2,2,16,102,114,97,109,101,46,102, ++ 114,97,109,101,119,105,100,116,104,2,2,16,102,114,97,109,101,46,99,111, ++ 108,111,114,102,114,97,109,101,4,168,168,255,0,17,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,108,101,102,116,2,3,16,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,116,111,112,2,3,18,102,114,97,109,101,46,102, ++ 114,97,109,101,105,95,114,105,103,104,116,2,3,19,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,98,111,116,116,111,109,2,3,13,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,6,7,84,111,111,108,98,97,114,17,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,255,22,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111,117,116,101, ++ 114,9,19,102,114,97,109,101,46,99,97,112,116,105,111,110,111,102,102,115, ++ 101,116,2,2,16,102,114,97,109,101,46,102,111,110,116,46,100,117,109,109, ++ 121,2,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,23,102,97, ++ 99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,19,102,97,99,101,46,102,97,100,101,95,112,111,115, ++ 46,99,111,117,110,116,2,3,19,102,97,99,101,46,102,97,100,101,95,112, ++ 111,115,46,105,116,101,109,115,1,2,0,5,0,152,153,153,153,153,153,153, ++ 254,63,2,1,0,21,102,97,99,101,46,102,97,100,101,95,99,111,108,111, ++ 114,46,99,111,117,110,116,2,3,21,102,97,99,101,46,102,97,100,101,95, ++ 99,111,108,111,114,46,105,116,101,109,115,1,4,6,0,0,160,4,168,168, ++ 168,0,4,6,0,0,160,0,19,102,97,99,101,46,102,97,100,101,95,100, ++ 105,114,101,99,116,105,111,110,7,7,103,100,95,100,111,119,110,22,102,97, ++ 99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121, ++ 4,10,0,0,160,10,102,97,99,101,46,100,117,109,109,121,2,0,0,7, ++ 116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,49,8,98,111,117, ++ 110,100,115,95,120,3,219,0,8,98,111,117,110,100,115,95,121,2,19,9, ++ 98,111,117,110,100,115,95,99,120,2,42,9,98,111,117,110,100,115,95,99, ++ 121,2,45,5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109,101, ++ 46,99,111,108,111,114,102,114,97,109,101,4,1,0,0,128,16,102,114,97, ++ 109,101,46,102,114,97,109,101,105,95,116,111,112,2,255,19,102,114,97,109, ++ 101,46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,255,13,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,6,4,69,100,105,116,16,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116, ++ 111,112,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116, ++ 2,0,22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116, ++ 111,117,116,101,114,9,16,102,114,97,109,101,46,102,111,110,116,46,99,111, ++ 108,111,114,4,15,0,0,160,16,102,114,97,109,101,46,102,111,110,116,46, ++ 115,116,121,108,101,11,12,102,115,95,117,110,100,101,114,108,105,110,101,0, ++ 15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116, ++ 102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111,110,116, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,10,102,114, ++ 108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101,119,105, ++ 100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,16,102, ++ 114,108,95,99,111,108,111,114,100,107,119,105,100,116,104,16,102,114,108,95, ++ 99,111,108,111,114,104,108,119,105,100,116,104,10,102,114,108,95,102,105,108, ++ 101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105, ++ 114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,15,102, ++ 114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,27,102,97,99,101,46,105,109,97,103,101, ++ 46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4,0,0, ++ 0,128,18,102,97,99,101,46,105,109,97,103,101,46,111,112,116,105,111,110, ++ 115,11,10,98,109,111,95,109,97,115,107,101,100,13,98,109,111,95,99,111, ++ 108,111,114,109,97,115,107,0,20,102,97,99,101,46,105,109,97,103,101,46, ++ 97,108,105,103,110,109,101,110,116,11,12,97,108,95,120,99,101,110,116,101, ++ 114,101,100,9,97,108,95,98,111,116,116,111,109,0,23,102,97,99,101,46, ++ 105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0, ++ 0,0,128,16,102,97,99,101,46,105,109,97,103,101,46,105,109,97,103,101, ++ 10,196,10,0,0,0,0,0,0,6,0,0,0,32,0,0,0,32,0,0, ++ 0,124,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,229,208,196, ++ 15,193,170,157,1,0,0,0,16,229,208,196,1,255,255,251,1,255,255,255, ++ 8,255,255,254,1,255,250,245,1,254,243,237,1,249,235,228,1,242,225,216, ++ 1,233,208,194,1,196,178,167,1,0,0,0,15,229,208,196,1,255,255,252, ++ 1,255,255,255,8,255,253,248,1,255,247,242,1,253,241,234,1,247,233,225, ++ 1,240,223,213,1,85,172,219,1,132,197,242,1,132,174,230,1,111,154,221, ++ 1,0,48,172,1,0,0,0,12,229,208,196,1,255,255,252,1,255,255,255, ++ 8,255,255,251,1,255,250,245,1,254,244,237,1,250,237,230,1,212,214,219, ++ 1,0,188,245,1,62,228,254,1,195,232,254,1,211,236,254,1,163,197,238, ++ 1,21,73,178,1,0,0,0,11,229,208,196,1,255,255,252,1,255,255,255, ++ 8,255,255,254,1,255,252,248,1,255,247,241,1,252,239,233,1,107,183,230, ++ 1,0,230,254,1,0,202,254,1,16,182,254,1,81,196,254,1,147,203,254, ++ 1,29,91,193,1,0,0,0,11,229,208,196,1,255,255,252,1,255,255,255, ++ 9,255,254,250,1,255,249,243,1,237,234,235,1,15,196,245,1,0,230,254, ++ 1,0,182,254,1,0,175,254,1,16,150,254,1,25,130,249,1,94,114,175, ++ 1,0,0,0,11,229,208,196,1,255,255,252,1,255,255,255,9,255,255,252, ++ 1,255,249,245,1,127,192,237,1,0,222,253,1,1,210,254,1,1,176,254, ++ 1,1,172,254,1,28,135,254,1,30,112,225,1,226,209,206,1,193,171,158, ++ 1,0,0,0,10,229,208,196,1,255,255,252,1,255,255,255,9,255,255,252, ++ 1,255,251,247,1,32,193,245,1,0,230,254,1,7,187,254,1,6,179,254, ++ 1,14,156,254,1,28,135,254,1,76,104,175,1,197,169,152,3,0,0,0, ++ 9,229,208,196,1,255,255,252,1,255,255,255,9,255,255,253,1,159,207,243, ++ 1,5,224,253,1,6,219,254,1,13,183,254,1,12,179,254,1,28,140,254, ++ 1,16,101,224,1,193,177,181,1,220,195,180,1,219,190,174,1,177,149,132, ++ 1,0,0,0,9,229,208,196,1,255,255,252,1,255,255,255,10,36,184,245, ++ 1,13,232,254,1,19,198,254,1,19,185,254,1,24,169,254,1,35,142,254, ++ 1,91,128,199,1,224,201,187,1,223,198,185,1,224,197,181,1,177,149,132, ++ 1,0,0,0,9,229,208,196,1,255,255,252,1,255,255,255,9,191,225,251, ++ 1,21,220,252,1,23,225,254,1,28,190,254,1,25,189,254,1,41,153,254, ++ 1,29,120,233,1,172,169,191,1,229,207,194,1,228,205,193,1,229,203,189, ++ 1,177,149,132,1,0,0,0,9,229,208,196,1,255,255,252,1,255,255,255, ++ 9,73,196,248,1,34,235,254,1,35,209,254,1,35,192,254,1,40,177,254, ++ 1,52,154,254,1,71,121,205,1,233,212,201,1,231,210,199,1,230,210,198, ++ 1,232,208,195,1,177,149,132,1,0,0,0,9,229,208,196,1,255,255,252, ++ 1,255,255,255,8,207,234,253,1,33,209,249,1,44,231,254,1,46,196,254, ++ 1,42,195,254,1,56,169,254,1,49,144,245,1,163,165,197,1,236,217,206, ++ 1,234,215,204,1,234,215,203,1,236,213,200,1,177,149,132,1,0,0,0, ++ 9,229,208,196,1,255,255,252,1,255,255,255,8,108,206,248,1,57,237,254, ++ 1,55,216,254,1,53,200,254,1,55,190,254,1,69,166,254,1,49,111,208, ++ 1,240,223,213,1,239,220,210,1,237,219,208,2,240,218,206,1,177,149,132, ++ 1,0,0,0,9,229,208,196,1,255,255,252,1,255,255,255,7,223,241,254, ++ 1,40,200,249,1,68,236,254,1,63,206,254,1,60,202,254,1,73,182,254, ++ 1,71,162,249,1,152,160,201,1,243,226,217,1,242,225,215,1,240,222,212, ++ 1,239,221,212,1,242,222,210,1,177,149,132,1,0,0,0,6,31,0,0, ++ 2,0,0,0,1,229,208,196,1,255,255,252,1,255,255,255,6,255,255,253, ++ 1,135,205,243,1,84,240,254,1,77,224,254,1,72,206,254,1,71,202,254, ++ 1,88,178,254,1,51,120,216,1,245,230,222,1,244,229,221,1,243,228,219, ++ 1,242,225,216,1,241,225,216,1,244,224,213,1,177,149,132,1,0,0,0, ++ 3,31,0,0,4,30,0,0,1,31,0,0,1,229,208,196,1,255,255,252, ++ 1,255,255,255,5,255,255,252,1,239,241,242,1,72,209,250,1,95,241,254, ++ 1,84,214,254,1,80,209,254,1,91,195,254,1,88,175,249,1,127,148,204, ++ 1,248,233,225,1,245,230,222,1,244,230,221,1,244,229,220,1,243,228,218, ++ 1,246,227,217,1,177,149,132,1,1,0,0,1,31,0,0,4,29,0,0, ++ 1,28,0,0,1,26,0,0,1,24,0,0,1,229,208,196,1,255,255,252, ++ 1,255,255,255,5,255,251,246,1,147,209,245,1,102,236,253,1,102,231,254, ++ 1,92,213,254,1,89,210,254,1,107,191,254,1,74,145,226,1,233,223,224, ++ 1,248,235,228,1,248,234,226,1,247,231,223,1,245,230,222,1,244,230,221, ++ 1,240,222,212,1,168,140,124,1,11,0,0,1,31,0,0,1,29,0,0, ++ 1,28,0,0,1,26,0,0,4,25,0,0,1,229,208,196,1,255,255,252, ++ 1,255,255,255,4,255,254,249,1,255,253,248,1,78,199,248,1,122,243,254, ++ 1,105,220,254,1,100,216,254,1,107,207,254,1,115,197,254,1,104,137,205, ++ 1,251,238,231,1,249,236,229,1,249,235,227,1,241,227,219,1,233,217,210, ++ 1,227,210,203,1,227,207,198,1,163,134,119,1,11,0,0,1,26,0,0, ++ 8,229,208,196,1,255,255,252,1,255,255,255,4,255,253,249,1,255,253,248, ++ 1,81,182,245,1,134,238,254,1,112,220,254,1,110,218,254,1,125,206,254, ++ 1,78,150,228,1,220,216,226,1,246,233,227,1,237,222,216,1,229,215,207, ++ 1,226,210,204,1,226,209,202,1,225,209,202,1,229,209,200,1,163,134,119, ++ 1,11,0,0,1,26,0,0,8,229,208,196,1,255,255,252,1,255,255,255, ++ 3,255,255,252,1,255,254,249,2,89,171,238,1,206,235,254,1,164,228,254, ++ 1,141,221,254,1,139,208,251,1,115,147,203,1,234,220,215,1,230,216,210, ++ 1,229,214,207,1,228,213,206,1,228,212,205,1,226,209,202,1,226,208,201, ++ 1,229,210,201,1,163,134,119,1,11,0,0,1,26,0,0,6,25,0,0, ++ 1,22,0,0,1,229,208,196,1,255,255,252,1,255,255,255,3,255,255,252, ++ 1,255,254,249,1,255,253,248,1,89,162,231,1,211,236,254,2,208,231,248, ++ 1,106,133,192,1,218,208,208,1,231,218,212,1,230,216,210,1,229,215,208, ++ 1,229,214,207,1,227,212,205,1,227,211,204,1,227,210,203,1,229,210,201, ++ 1,163,134,119,1,11,0,0,1,26,0,0,3,25,0,0,1,23,0,0, ++ 1,16,0,0,1,0,0,0,2,229,208,196,1,255,255,252,1,255,255,255, ++ 3,255,255,251,1,255,254,249,1,255,253,247,1,109,150,198,1,211,236,254, ++ 1,192,219,245,1,82,114,182,1,219,210,211,1,233,221,216,1,232,218,213, ++ 1,230,216,210,1,230,216,209,1,229,214,207,1,228,213,206,1,226,210,203, ++ 1,227,211,204,1,229,210,202,1,163,134,119,1,11,0,0,1,25,0,0, ++ 1,23,0,0,1,16,0,0,1,0,0,0,5,229,208,196,1,255,255,252, ++ 1,255,255,255,2,255,255,254,1,255,254,250,1,255,254,249,1,255,253,248, ++ 1,92,109,147,1,133,133,151,1,113,133,184,1,233,223,217,1,233,222,216, ++ 1,233,220,215,1,231,218,213,1,230,216,210,1,229,215,208,1,229,214,207, ++ 1,228,211,205,1,226,210,203,1,227,211,204,1,231,212,204,1,168,140,124, ++ 1,4,0,0,1,0,0,0,8,229,208,196,1,255,255,252,1,255,255,255, ++ 2,255,255,254,1,255,254,250,1,255,254,249,1,255,253,248,1,80,96,141, ++ 1,105,122,170,1,233,224,219,1,233,223,217,1,233,222,216,1,233,221,216, ++ 1,231,218,212,1,231,217,211,1,229,215,208,1,229,214,207,1,228,213,207, ++ 1,234,219,212,1,241,227,219,1,250,233,223,1,177,149,132,1,0,0,0, ++ 9,229,208,196,1,255,255,252,1,255,255,255,2,255,255,252,1,255,254,250, ++ 1,255,253,248,1,252,249,244,1,138,150,191,1,238,230,226,1,233,223,218, ++ 1,233,223,217,1,233,222,216,1,232,219,214,1,231,218,212,1,230,216,210, ++ 1,236,223,217,1,243,230,223,1,248,235,227,1,248,234,226,1,247,233,225, ++ 1,251,233,224,1,177,149,132,1,0,0,0,9,229,208,196,1,255,255,252, ++ 1,255,255,255,2,255,254,249,2,255,253,248,1,255,252,247,1,255,249,244, ++ 2,255,248,242,1,255,247,241,1,255,246,240,1,252,241,235,1,248,235,228, ++ 1,250,238,231,1,250,237,230,1,249,236,228,1,248,234,226,2,247,232,225, ++ 1,252,234,224,1,177,149,132,1,0,0,0,9,229,208,196,1,255,255,252, ++ 1,255,255,255,2,255,254,249,2,255,253,248,1,255,252,247,1,255,249,244, ++ 2,255,248,242,1,255,247,241,1,255,246,240,1,254,243,237,1,253,241,234, ++ 1,252,240,233,1,250,237,230,1,249,236,228,1,248,234,226,2,247,232,225, ++ 1,252,234,224,1,177,149,132,1,0,0,0,9,229,208,196,1,255,253,244, ++ 1,255,255,255,2,255,254,249,2,255,253,248,1,255,252,247,1,255,249,244, ++ 2,255,248,242,1,255,247,241,1,255,246,240,1,254,243,237,1,253,241,234, ++ 1,252,240,233,1,250,237,230,1,249,236,228,1,248,234,226,2,247,232,225, ++ 1,252,234,224,1,177,149,132,1,0,0,0,9,229,208,196,1,177,149,132, ++ 22,0,0,0,41,255,255,255,32,16,2,0,0,255,255,255,15,222,222,222, ++ 1,0,0,0,16,255,255,255,16,224,224,224,1,0,0,0,15,255,255,255, ++ 18,159,159,159,1,32,32,32,1,0,0,0,12,255,255,255,20,100,100,100, ++ 1,0,0,0,11,255,255,255,20,204,204,204,1,19,19,19,1,0,0,0, ++ 10,255,255,255,20,241,241,241,1,38,38,38,1,0,0,0,10,255,255,255, ++ 21,233,233,233,1,0,0,0,10,255,255,255,23,0,0,0,9,255,255,255, ++ 23,51,51,51,1,0,0,0,8,255,255,255,23,51,51,51,1,0,0,0, ++ 8,255,255,255,23,51,51,51,1,0,0,0,8,255,255,255,23,51,51,51, ++ 1,0,0,0,8,255,255,255,23,51,51,51,1,0,0,0,8,255,255,255, ++ 23,51,51,51,1,0,0,0,8,255,255,255,23,51,51,51,1,0,0,0, ++ 5,3,3,3,1,2,2,2,1,0,0,0,1,255,255,255,23,51,51,51, ++ 1,0,0,0,2,2,2,2,1,9,9,9,1,17,17,17,1,25,25,25, ++ 1,21,21,21,1,2,2,2,1,255,255,255,23,53,53,53,1,9,9,9, ++ 1,17,17,17,1,25,25,25,2,27,27,27,1,28,28,28,1,30,30,30, ++ 1,17,17,17,1,255,255,255,23,71,71,71,1,25,25,25,1,27,27,27, ++ 1,28,28,28,1,30,30,30,4,27,27,27,1,255,255,255,23,71,71,71, ++ 1,30,30,30,8,255,255,255,23,71,71,71,1,30,30,30,8,255,255,255, ++ 23,71,71,71,1,30,30,30,6,27,27,27,1,18,18,18,1,255,255,255, ++ 23,71,71,71,1,30,30,30,3,27,27,27,1,19,19,19,1,10,10,10, ++ 1,5,5,5,1,4,4,4,1,255,255,255,23,71,71,71,1,27,27,27, ++ 1,19,19,19,1,10,10,10,1,5,5,5,1,4,4,4,1,3,3,3, ++ 1,1,1,1,1,0,0,0,1,255,255,255,23,57,57,57,1,5,5,5, ++ 1,4,4,4,1,3,3,3,1,1,1,1,1,0,0,0,4,255,255,255, ++ 23,51,51,51,1,2,2,2,1,0,0,0,7,255,255,255,23,51,51,51, ++ 1,0,0,0,8,255,255,255,23,51,51,51,1,0,0,0,8,255,255,255, ++ 23,51,51,51,1,0,0,0,8,255,255,255,23,51,51,51,1,0,0,0, ++ 8,255,255,255,23,51,51,51,1,0,0,0,9,51,51,51,23,0,0,0, ++ 40,22,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114, ++ 101,110,99,121,4,0,0,0,128,10,102,97,99,101,46,100,117,109,109,121, ++ 2,0,0,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110, ++ 50,8,98,111,117,110,100,115,95,120,2,11,8,98,111,117,110,100,115,95, ++ 121,2,19,9,98,111,117,110,100,115,95,99,120,2,42,9,98,111,117,110, ++ 100,115,95,99,121,2,45,5,99,111,108,111,114,4,3,0,0,128,16,102, ++ 114,97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,1,0,0,128, ++ 16,102,114,97,109,101,46,102,114,97,109,101,105,95,116,111,112,2,255,19, ++ 102,114,97,109,101,46,102,114,97,109,101,105,95,98,111,116,116,111,109,2, ++ 255,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,66,97,99, ++ 107,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,6, ++ 99,112,95,116,111,112,17,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 100,105,115,116,2,0,22,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 100,105,115,116,111,117,116,101,114,9,16,102,114,97,109,101,46,102,111,110, ++ 116,46,99,111,108,111,114,4,15,0,0,160,16,102,114,97,109,101,46,102, ++ 111,110,116,46,115,116,121,108,101,11,12,102,115,95,117,110,100,101,114,108, ++ 105,110,101,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101, ++ 6,11,115,116,102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46, ++ 102,111,110,116,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108, ++ 111,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97, ++ 109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97, ++ 109,101,16,102,114,108,95,99,111,108,111,114,100,107,119,105,100,116,104,16, ++ 102,114,108,95,99,111,108,111,114,104,108,119,105,100,116,104,10,102,114,108, ++ 95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114, ++ 108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116, ++ 111,109,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,27,102,97,99,101,46,105, ++ 109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111, ++ 114,4,0,0,0,128,18,102,97,99,101,46,105,109,97,103,101,46,111,112, ++ 116,105,111,110,115,11,10,98,109,111,95,109,97,115,107,101,100,13,98,109, ++ 111,95,99,111,108,111,114,109,97,115,107,0,20,102,97,99,101,46,105,109, ++ 97,103,101,46,97,108,105,103,110,109,101,110,116,11,12,97,108,95,120,99, ++ 101,110,116,101,114,101,100,9,97,108,95,98,111,116,116,111,109,0,23,102, ++ 97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,16,102,97,99,101,46,105,109,97,103,101,46,105, ++ 109,97,103,101,10,20,10,0,0,0,0,0,0,6,0,0,0,32,0,0, ++ 0,32,0,0,0,32,6,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,43,209,105,50,1,208,105,50,1,206,105,50,2,204,104,50, ++ 3,203,104,50,1,201,103,50,1,196,101,50,1,101,101,101,2,0,0,0, ++ 18,209,105,50,3,208,105,50,1,206,105,50,1,212,107,50,1,220,109,50, ++ 2,212,107,50,1,204,104,50,4,200,102,50,1,101,101,101,2,0,0,0, ++ 14,209,105,50,1,211,106,50,1,209,105,50,1,212,107,50,1,228,113,50, ++ 1,246,119,50,1,255,126,56,1,241,140,85,1,224,168,138,2,224,160,126, ++ 1,255,128,59,1,249,120,50,1,228,113,50,1,209,105,50,1,204,104,50, ++ 1,203,104,50,1,195,101,50,1,101,101,101,2,0,0,0,11,209,105,50, ++ 3,233,114,50,1,255,126,56,1,228,180,155,1,240,214,200,1,250,242,238, ++ 1,252,248,246,5,245,228,219,1,230,187,163,1,230,147,102,1,235,115,50, ++ 1,204,104,50,2,198,101,50,1,101,101,101,2,0,0,0,9,209,105,50, ++ 2,216,108,50,1,254,122,50,1,226,171,142,1,246,230,221,1,250,242,238, ++ 7,251,242,237,4,235,197,176,1,240,132,73,1,216,108,50,1,204,104,50, ++ 1,199,102,50,1,101,101,101,2,0,0,0,7,209,105,50,2,219,109,50, ++ 1,242,137,79,1,236,200,180,1,249,237,230,6,235,191,168,2,249,237,230, ++ 6,244,224,212,1,226,154,114,1,216,108,50,1,204,104,50,1,195,101,50, ++ 1,101,101,101,2,0,0,0,5,208,105,50,1,209,105,50,1,214,108,50, ++ 1,243,135,77,1,241,212,196,1,246,229,220,6,235,191,168,1,255,255,255, ++ 2,235,191,168,1,246,229,220,6,245,223,212,1,228,151,109,1,216,108,50, ++ 1,204,104,50,1,185,97,50,1,101,101,101,2,0,0,0,4,208,105,50, ++ 1,206,105,50,1,254,122,50,1,235,196,175,1,245,222,210,6,235,191,168, ++ 1,255,255,255,4,245,222,210,7,242,216,203,1,233,138,86,1,204,104,50, ++ 1,201,103,50,1,101,101,101,2,0,0,0,3,206,105,50,2,232,114,50, ++ 1,226,172,143,1,242,215,200,6,235,191,168,1,255,255,255,5,242,215,200, ++ 8,235,196,175,1,235,115,50,1,204,104,50,1,193,100,50,1,101,101,101, ++ 2,0,0,0,2,204,104,50,1,209,105,50,1,245,134,73,1,237,203,183, ++ 1,240,207,189,5,235,191,168,1,255,255,255,6,240,207,189,9,220,163,131, ++ 1,209,105,50,1,201,103,50,1,101,101,101,2,0,0,0,1,204,104,50, ++ 2,228,113,50,1,226,170,139,1,237,200,179,5,235,191,168,1,255,255,255, ++ 6,237,200,179,8,236,196,174,1,230,182,155,1,223,163,130,1,228,113,50, ++ 1,204,104,50,1,175,94,50,1,101,101,101,1,0,0,0,1,204,104,50, ++ 2,246,119,50,1,232,184,159,1,235,191,168,5,255,255,255,6,235,191,168, ++ 7,227,173,144,1,228,155,114,1,255,128,59,3,246,119,50,1,204,104,50, ++ 1,190,99,50,1,101,101,101,1,0,0,0,1,204,104,50,2,244,134,74, ++ 1,232,184,158,5,255,255,255,6,235,191,168,5,232,184,158,3,224,161,126, ++ 1,255,128,59,4,255,126,56,1,204,104,50,1,196,101,50,1,101,101,101, ++ 1,0,0,0,1,204,104,50,1,212,107,50,1,238,143,91,1,230,175,146, ++ 4,255,255,255,17,255,129,60,1,255,128,59,3,209,105,50,1,201,103,50, ++ 1,101,101,101,1,0,0,0,1,204,104,50,1,220,109,50,1,232,150,105, ++ 1,228,168,135,3,255,255,255,19,255,129,60,1,255,128,59,2,220,109,50, ++ 1,200,102,50,1,101,101,101,1,0,0,0,1,204,104,50,1,220,109,50, ++ 1,238,145,94,1,228,159,122,3,255,255,255,19,255,129,60,1,255,128,59, ++ 2,220,109,50,1,200,102,50,1,101,101,101,1,0,0,0,1,204,104,50, ++ 1,212,107,50,1,246,136,77,1,237,147,98,3,255,255,255,19,255,129,60, ++ 3,209,105,50,1,200,102,50,1,101,101,101,1,0,0,0,1,203,104,50, ++ 1,204,104,50,1,253,129,61,1,250,135,73,4,255,255,255,17,255,129,60, ++ 2,255,131,64,1,255,128,59,1,204,104,50,1,195,101,50,1,101,101,101, ++ 1,0,0,0,1,201,103,50,1,204,104,50,1,249,120,50,1,253,132,66, ++ 5,255,255,255,6,255,129,60,10,255,132,65,3,249,120,50,1,204,104,50, ++ 1,188,98,50,1,101,101,101,1,0,0,0,1,196,101,50,1,204,104,50, ++ 1,230,114,50,1,255,134,68,6,255,255,255,6,255,129,60,9,255,134,68, ++ 3,230,114,50,1,204,104,50,1,171,92,50,1,101,101,101,1,0,0,0, ++ 1,101,101,101,1,204,104,50,1,209,105,50,1,250,135,73,1,250,138,77, ++ 6,255,255,255,6,255,129,60,4,250,138,77,6,250,135,73,1,209,105,50, ++ 1,200,102,50,1,101,101,101,2,0,0,0,1,101,101,101,1,200,102,50, ++ 1,204,104,50,1,230,119,59,1,241,146,94,7,255,255,255,6,241,146,94, ++ 9,230,119,59,1,204,104,50,1,188,98,50,1,101,101,101,2,0,0,0, ++ 2,101,101,101,1,203,104,50,1,204,104,50,1,236,142,92,1,235,153,109, ++ 7,255,255,255,5,235,153,109,8,236,142,92,1,204,104,50,1,200,102,50, ++ 1,101,101,101,3,0,0,0,2,101,101,101,1,195,101,50,1,204,104,50, ++ 1,209,111,57,1,230,157,117,1,229,160,122,7,255,255,255,4,229,160,122, ++ 7,230,157,117,1,209,111,57,1,204,104,50,1,175,94,50,1,101,101,101, ++ 3,0,0,0,3,101,101,101,1,196,101,50,1,204,104,50,1,210,114,63, ++ 1,225,163,128,1,230,166,131,7,255,255,255,2,230,166,131,7,225,163,128, ++ 1,210,114,63,1,204,104,50,1,187,98,50,1,101,101,101,3,0,0,0, ++ 4,101,101,101,2,195,101,50,1,204,104,50,1,208,112,60,1,221,159,126, ++ 1,232,171,138,14,221,159,126,1,208,112,60,1,204,104,50,1,187,98,50, ++ 1,101,101,101,4,0,0,0,5,101,101,101,2,195,101,50,1,204,104,50, ++ 2,220,135,89,1,228,172,142,1,232,175,145,10,228,172,142,1,220,135,89, ++ 1,204,104,50,2,187,98,50,1,101,101,101,4,0,0,0,7,101,101,101, ++ 2,185,97,50,1,201,103,50,1,204,104,50,1,206,109,57,1,216,133,87, ++ 1,214,159,130,1,229,177,148,1,234,180,151,4,229,177,148,1,214,159,130, ++ 1,216,133,87,1,206,109,57,1,204,104,50,1,200,102,50,1,175,94,50, ++ 1,101,101,101,4,0,0,0,9,101,101,101,3,193,100,50,1,201,103,50, ++ 1,204,104,50,3,204,110,59,1,208,125,79,2,204,110,59,1,204,104,50, ++ 3,200,102,50,1,188,98,50,1,101,101,101,5,0,0,0,11,101,101,101, ++ 4,175,94,50,1,190,99,50,1,196,101,50,1,201,103,50,1,200,102,50, ++ 3,195,101,50,1,188,98,50,1,171,92,50,1,101,101,101,6,0,0,0, ++ 14,101,101,101,16,0,0,0,7,188,3,0,0,0,0,0,43,33,33,33, ++ 1,98,98,98,1,146,146,146,1,194,194,194,2,195,195,195,2,149,149,149, ++ 1,103,103,103,1,38,38,38,1,3,3,3,1,1,1,1,1,0,0,0, ++ 18,97,97,97,1,193,193,193,1,255,255,255,10,197,197,197,1,105,105,105, ++ 1,7,7,7,1,2,2,2,1,0,0,0,14,49,49,49,1,192,192,192, ++ 1,255,255,255,14,246,246,246,1,106,106,106,1,10,10,10,1,2,2,2, ++ 1,0,0,0,11,97,97,97,1,255,255,255,18,174,174,174,1,18,18,18, ++ 1,4,4,4,1,0,0,0,9,97,97,97,1,255,255,255,20,209,209,209, ++ 1,23,23,23,1,2,2,2,1,0,0,0,7,97,97,97,1,255,255,255, ++ 22,181,181,181,1,12,12,12,1,2,2,2,1,0,0,0,5,49,49,49, ++ 1,255,255,255,24,76,76,76,1,10,10,10,1,1,1,1,1,0,0,0, ++ 4,208,208,208,1,255,255,255,24,205,205,205,1,27,27,27,1,5,5,5, ++ 1,0,0,0,3,97,97,97,1,255,255,255,26,125,125,125,1,16,16,16, ++ 1,2,2,2,1,0,0,0,2,193,193,193,1,255,255,255,26,207,207,207, ++ 1,32,32,32,1,7,7,7,1,0,0,0,1,33,33,33,1,255,255,255, ++ 28,73,73,73,1,15,15,15,1,0,0,0,1,98,98,98,1,255,255,255, ++ 28,132,132,132,1,24,24,24,1,0,0,0,1,146,146,146,1,255,255,255, ++ 28,172,172,172,1,33,33,33,1,0,0,0,1,194,194,194,1,255,255,255, ++ 28,208,208,208,1,41,41,41,1,0,0,0,1,194,194,194,1,255,255,255, ++ 28,209,209,209,1,46,46,46,1,0,0,0,1,195,195,195,1,255,255,255, ++ 28,209,209,209,1,48,48,48,1,0,0,0,1,195,195,195,1,255,255,255, ++ 28,209,209,209,1,48,48,48,1,0,0,0,1,149,149,149,1,255,255,255, ++ 28,174,174,174,1,46,46,46,1,0,0,0,1,103,103,103,1,255,255,255, ++ 28,139,139,139,1,41,41,41,1,0,0,0,1,38,38,38,1,255,255,255, ++ 28,89,89,89,1,33,33,33,1,0,0,0,1,3,3,3,1,197,197,197, ++ 1,255,255,255,26,210,210,210,1,58,58,58,1,24,24,24,1,0,0,0, ++ 1,1,1,1,1,105,105,105,1,255,255,255,26,141,141,141,1,47,47,47, ++ 1,15,15,15,1,0,0,0,2,7,7,7,1,199,199,199,1,255,255,255, ++ 24,210,210,210,1,63,63,63,1,32,32,32,1,7,7,7,1,0,0,0, ++ 2,2,2,2,1,61,61,61,1,255,255,255,24,106,106,106,1,47,47,47, ++ 1,16,16,16,1,2,2,2,1,0,0,0,3,5,5,5,1,113,113,113, ++ 1,255,255,255,22,142,142,142,1,57,57,57,1,27,27,27,1,5,5,5, ++ 1,0,0,0,4,1,1,1,1,10,10,10,1,117,117,117,1,255,255,255, ++ 20,142,142,142,1,60,60,60,1,34,34,34,1,10,10,10,1,1,1,1, ++ 1,0,0,0,5,2,2,2,1,12,12,12,1,118,118,118,1,255,255,255, ++ 18,142,142,142,1,60,60,60,1,35,35,35,1,12,12,12,1,2,2,2, ++ 1,0,0,0,7,2,2,2,1,12,12,12,1,76,76,76,1,205,205,205, ++ 1,255,255,255,14,210,210,210,1,106,106,106,1,57,57,57,1,34,34,34, ++ 1,12,12,12,1,2,2,2,1,0,0,0,9,2,2,2,1,10,10,10, ++ 1,27,27,27,1,125,125,125,1,207,207,207,1,255,255,255,10,210,210,210, ++ 1,141,141,141,1,63,63,63,1,47,47,47,1,27,27,27,1,10,10,10, ++ 1,2,2,2,1,0,0,0,11,1,1,1,1,5,5,5,1,16,16,16, ++ 1,32,32,32,1,73,73,73,1,132,132,132,1,172,172,172,1,208,208,208, ++ 1,209,209,209,3,174,174,174,1,139,139,139,1,89,89,89,1,58,58,58, ++ 1,47,47,47,1,32,32,32,1,16,16,16,1,5,5,5,1,1,1,1, ++ 1,0,0,0,14,2,2,2,1,7,7,7,1,15,15,15,1,24,24,24, ++ 1,33,33,33,1,41,41,41,1,46,46,46,1,48,48,48,2,46,46,46, ++ 1,41,41,41,1,33,33,33,1,24,24,24,1,15,15,15,1,7,7,7, ++ 1,2,2,2,1,0,0,0,7,22,102,97,99,101,46,102,97,100,101,95, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,10,102,97, ++ 99,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 1,0,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,51, ++ 8,98,111,117,110,100,115,95,120,2,59,8,98,111,117,110,100,115,95,121, ++ 2,19,9,98,111,117,110,100,115,95,99,120,2,42,9,98,111,117,110,100, ++ 115,95,99,121,2,45,5,99,111,108,111,114,4,3,0,0,128,16,102,114, ++ 97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,1,0,0,128,16, ++ 102,114,97,109,101,46,102,114,97,109,101,105,95,116,111,112,2,255,19,102, ++ 114,97,109,101,46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,255, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,3,70,87,68,16, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112, ++ 95,116,111,112,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105, ++ 115,116,2,0,22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105, ++ 115,116,111,117,116,101,114,9,16,102,114,97,109,101,46,102,111,110,116,46, ++ 99,111,108,111,114,4,15,0,0,160,16,102,114,97,109,101,46,102,111,110, ++ 116,46,115,116,121,108,101,11,12,102,115,95,117,110,100,101,114,108,105,110, ++ 101,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11, ++ 115,116,102,95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111, ++ 110,116,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,10, ++ 102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101, ++ 119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101, ++ 16,102,114,108,95,99,111,108,111,114,100,107,119,105,100,116,104,16,102,114, ++ 108,95,99,111,108,111,114,104,108,119,105,100,116,104,10,102,114,108,95,102, ++ 105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95, ++ 102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109, ++ 15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,27,102,97,99,101,46,105,109,97, ++ 103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4, ++ 0,0,0,128,18,102,97,99,101,46,105,109,97,103,101,46,111,112,116,105, ++ 111,110,115,11,10,98,109,111,95,109,97,115,107,101,100,13,98,109,111,95, ++ 99,111,108,111,114,109,97,115,107,0,20,102,97,99,101,46,105,109,97,103, ++ 101,46,97,108,105,103,110,109,101,110,116,11,12,97,108,95,120,99,101,110, ++ 116,101,114,101,100,9,97,108,95,98,111,116,116,111,109,0,23,102,97,99, ++ 101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,99,121, ++ 4,0,0,0,128,16,102,97,99,101,46,105,109,97,103,101,46,105,109,97, ++ 103,101,10,36,10,0,0,0,0,0,0,6,0,0,0,32,0,0,0,32, ++ 0,0,0,48,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,43,209,105,50,1,208,105,50,1,206,105,50,2,204,104,50,3,203, ++ 104,50,1,201,103,50,1,196,101,50,1,101,101,101,2,0,0,0,18,209, ++ 105,50,3,208,105,50,1,206,105,50,1,212,107,50,1,220,109,50,2,212, ++ 107,50,1,204,104,50,4,200,102,50,1,101,101,101,2,0,0,0,14,209, ++ 105,50,1,211,106,50,1,209,105,50,1,212,107,50,1,228,113,50,1,246, ++ 119,50,1,255,126,56,1,241,140,85,1,224,168,138,2,224,160,126,1,255, ++ 128,59,1,249,120,50,1,228,113,50,1,209,105,50,1,204,104,50,1,203, ++ 104,50,1,195,101,50,1,101,101,101,2,0,0,0,11,209,105,50,3,233, ++ 114,50,1,255,126,56,1,228,180,155,1,240,214,200,1,250,242,238,1,252, ++ 248,246,5,245,228,219,1,230,187,163,1,230,147,102,1,235,115,50,1,204, ++ 104,50,2,198,101,50,1,101,101,101,2,0,0,0,9,209,105,50,2,216, ++ 108,50,1,254,122,50,1,226,171,142,1,246,230,221,1,250,242,238,7,251, ++ 242,237,4,235,197,176,1,240,132,73,1,216,108,50,1,204,104,50,1,199, ++ 102,50,1,101,101,101,2,0,0,0,7,209,105,50,2,219,109,50,1,242, ++ 137,79,1,236,200,180,1,249,237,230,6,237,147,98,2,249,237,230,6,244, ++ 224,212,1,226,154,114,1,216,108,50,1,204,104,50,1,195,101,50,1,101, ++ 101,101,2,0,0,0,5,208,105,50,1,209,105,50,1,214,108,50,1,243, ++ 135,77,1,241,212,196,1,246,229,220,6,237,147,98,1,255,255,255,2,237, ++ 147,98,1,246,229,220,6,245,223,212,1,228,151,109,1,216,108,50,1,204, ++ 104,50,1,185,97,50,1,101,101,101,2,0,0,0,4,208,105,50,1,206, ++ 105,50,1,254,122,50,1,235,196,175,1,245,222,210,7,255,255,255,4,237, ++ 147,98,1,245,222,210,6,242,216,203,1,233,138,86,1,204,104,50,1,201, ++ 103,50,1,101,101,101,2,0,0,0,3,206,105,50,2,232,114,50,1,226, ++ 172,143,1,242,215,200,8,255,255,255,5,237,147,98,1,242,215,200,6,235, ++ 196,175,1,235,115,50,1,204,104,50,1,193,100,50,1,101,101,101,2,0, ++ 0,0,2,204,104,50,1,209,105,50,1,245,134,73,1,237,203,183,1,240, ++ 207,189,8,255,255,255,6,237,147,98,1,240,207,189,6,220,163,131,1,209, ++ 105,50,1,201,103,50,1,101,101,101,2,0,0,0,1,204,104,50,2,228, ++ 113,50,1,226,170,139,1,237,200,179,10,255,255,255,6,237,147,98,1,237, ++ 200,179,3,236,196,174,1,230,182,155,1,223,163,130,1,228,113,50,1,204, ++ 104,50,1,175,94,50,1,101,101,101,1,0,0,0,1,204,104,50,2,246, ++ 119,50,1,232,184,159,1,235,191,168,11,255,255,255,6,237,147,98,1,227, ++ 173,144,1,228,155,114,1,255,128,59,3,246,119,50,1,204,104,50,1,190, ++ 99,50,1,101,101,101,1,0,0,0,1,204,104,50,2,244,134,74,1,232, ++ 184,158,3,237,147,98,10,255,255,255,6,237,147,98,1,255,128,59,4,255, ++ 126,56,1,204,104,50,1,196,101,50,1,101,101,101,1,0,0,0,1,204, ++ 104,50,1,212,107,50,1,238,143,91,1,230,175,146,2,237,147,98,1,255, ++ 255,255,17,255,129,60,2,255,128,59,3,209,105,50,1,201,103,50,1,101, ++ 101,101,1,0,0,0,1,204,104,50,1,220,109,50,1,232,150,105,1,228, ++ 168,135,2,255,255,255,19,255,128,59,1,255,129,60,1,255,128,59,2,220, ++ 109,50,1,200,102,50,1,101,101,101,1,0,0,0,1,204,104,50,1,220, ++ 109,50,1,238,145,94,1,228,159,122,2,255,255,255,19,255,129,60,2,255, ++ 128,59,2,220,109,50,1,200,102,50,1,101,101,101,1,0,0,0,1,204, ++ 104,50,1,212,107,50,1,246,136,77,1,237,147,98,2,255,255,255,19,255, ++ 129,60,4,209,105,50,1,200,102,50,1,101,101,101,1,0,0,0,1,203, ++ 104,50,1,204,104,50,1,253,129,61,1,250,135,73,3,255,255,255,17,255, ++ 129,60,3,255,131,64,1,255,128,59,1,204,104,50,1,195,101,50,1,101, ++ 101,101,1,0,0,0,1,201,103,50,1,204,104,50,1,249,120,50,1,253, ++ 132,66,6,255,132,65,4,255,129,60,3,255,255,255,6,255,129,60,2,255, ++ 132,65,3,249,120,50,1,204,104,50,1,188,98,50,1,101,101,101,1,0, ++ 0,0,1,196,101,50,1,204,104,50,1,230,114,50,1,255,134,68,10,255, ++ 129,60,2,255,255,255,6,255,129,60,3,255,134,68,3,230,114,50,1,204, ++ 104,50,1,171,92,50,1,101,101,101,1,0,0,0,1,101,101,101,1,204, ++ 104,50,1,209,105,50,1,250,135,73,1,250,138,77,7,255,129,60,3,255, ++ 255,255,6,250,138,77,6,250,135,73,1,209,105,50,1,200,102,50,1,101, ++ 101,101,2,0,0,0,1,101,101,101,1,200,102,50,1,204,104,50,1,230, ++ 119,59,1,241,146,94,9,255,255,255,6,241,146,94,7,230,119,59,1,204, ++ 104,50,1,188,98,50,1,101,101,101,2,0,0,0,2,101,101,101,1,203, ++ 104,50,1,204,104,50,1,236,142,92,1,235,153,109,8,255,255,255,5,235, ++ 153,109,7,236,142,92,1,204,104,50,1,200,102,50,1,101,101,101,3,0, ++ 0,0,2,101,101,101,1,195,101,50,1,204,104,50,1,209,111,57,1,230, ++ 157,117,1,229,160,122,7,255,255,255,4,229,160,122,7,230,157,117,1,209, ++ 111,57,1,204,104,50,1,175,94,50,1,101,101,101,3,0,0,0,3,101, ++ 101,101,1,196,101,50,1,204,104,50,1,210,114,63,1,225,163,128,1,230, ++ 166,131,7,255,255,255,2,230,166,131,7,225,163,128,1,210,114,63,1,204, ++ 104,50,1,187,98,50,1,101,101,101,3,0,0,0,4,101,101,101,2,195, ++ 101,50,1,204,104,50,1,208,112,60,1,221,159,126,1,232,171,138,14,221, ++ 159,126,1,208,112,60,1,204,104,50,1,187,98,50,1,101,101,101,4,0, ++ 0,0,5,101,101,101,2,195,101,50,1,204,104,50,2,220,135,89,1,228, ++ 172,142,1,232,175,145,10,228,172,142,1,220,135,89,1,204,104,50,2,187, ++ 98,50,1,101,101,101,4,0,0,0,7,101,101,101,2,185,97,50,1,201, ++ 103,50,1,204,104,50,1,206,109,57,1,216,133,87,1,214,159,130,1,229, ++ 177,148,1,234,180,151,4,229,177,148,1,214,159,130,1,216,133,87,1,206, ++ 109,57,1,204,104,50,1,200,102,50,1,175,94,50,1,101,101,101,4,0, ++ 0,0,9,101,101,101,3,193,100,50,1,201,103,50,1,204,104,50,3,204, ++ 110,59,1,208,125,79,2,204,110,59,1,204,104,50,3,200,102,50,1,188, ++ 98,50,1,101,101,101,5,0,0,0,11,101,101,101,4,175,94,50,1,190, ++ 99,50,1,196,101,50,1,201,103,50,1,200,102,50,3,195,101,50,1,188, ++ 98,50,1,171,92,50,1,101,101,101,6,0,0,0,14,101,101,101,16,0, ++ 0,0,7,188,3,0,0,0,0,0,43,33,33,33,1,98,98,98,1,146, ++ 146,146,1,194,194,194,2,195,195,195,2,149,149,149,1,103,103,103,1,38, ++ 38,38,1,3,3,3,1,1,1,1,1,0,0,0,18,97,97,97,1,193, ++ 193,193,1,255,255,255,10,197,197,197,1,105,105,105,1,7,7,7,1,2, ++ 2,2,1,0,0,0,14,49,49,49,1,192,192,192,1,255,255,255,14,246, ++ 246,246,1,106,106,106,1,10,10,10,1,2,2,2,1,0,0,0,11,97, ++ 97,97,1,255,255,255,18,174,174,174,1,18,18,18,1,4,4,4,1,0, ++ 0,0,9,97,97,97,1,255,255,255,20,209,209,209,1,23,23,23,1,2, ++ 2,2,1,0,0,0,7,97,97,97,1,255,255,255,22,181,181,181,1,12, ++ 12,12,1,2,2,2,1,0,0,0,5,49,49,49,1,255,255,255,24,76, ++ 76,76,1,10,10,10,1,1,1,1,1,0,0,0,4,208,208,208,1,255, ++ 255,255,24,205,205,205,1,27,27,27,1,5,5,5,1,0,0,0,3,97, ++ 97,97,1,255,255,255,26,125,125,125,1,16,16,16,1,2,2,2,1,0, ++ 0,0,2,193,193,193,1,255,255,255,26,207,207,207,1,32,32,32,1,7, ++ 7,7,1,0,0,0,1,33,33,33,1,255,255,255,28,73,73,73,1,15, ++ 15,15,1,0,0,0,1,98,98,98,1,255,255,255,28,132,132,132,1,24, ++ 24,24,1,0,0,0,1,146,146,146,1,255,255,255,28,172,172,172,1,33, ++ 33,33,1,0,0,0,1,194,194,194,1,255,255,255,28,208,208,208,1,41, ++ 41,41,1,0,0,0,1,194,194,194,1,255,255,255,28,209,209,209,1,46, ++ 46,46,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209,1,48, ++ 48,48,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209,1,48, ++ 48,48,1,0,0,0,1,149,149,149,1,255,255,255,28,174,174,174,1,46, ++ 46,46,1,0,0,0,1,103,103,103,1,255,255,255,28,139,139,139,1,41, ++ 41,41,1,0,0,0,1,38,38,38,1,255,255,255,28,89,89,89,1,33, ++ 33,33,1,0,0,0,1,3,3,3,1,197,197,197,1,255,255,255,26,210, ++ 210,210,1,58,58,58,1,24,24,24,1,0,0,0,1,1,1,1,1,105, ++ 105,105,1,255,255,255,26,141,141,141,1,47,47,47,1,15,15,15,1,0, ++ 0,0,2,7,7,7,1,199,199,199,1,255,255,255,24,210,210,210,1,63, ++ 63,63,1,32,32,32,1,7,7,7,1,0,0,0,2,2,2,2,1,61, ++ 61,61,1,255,255,255,24,106,106,106,1,47,47,47,1,16,16,16,1,2, ++ 2,2,1,0,0,0,3,5,5,5,1,113,113,113,1,255,255,255,22,142, ++ 142,142,1,57,57,57,1,27,27,27,1,5,5,5,1,0,0,0,4,1, ++ 1,1,1,10,10,10,1,117,117,117,1,255,255,255,20,142,142,142,1,60, ++ 60,60,1,34,34,34,1,10,10,10,1,1,1,1,1,0,0,0,5,2, ++ 2,2,1,12,12,12,1,118,118,118,1,255,255,255,18,142,142,142,1,60, ++ 60,60,1,35,35,35,1,12,12,12,1,2,2,2,1,0,0,0,7,2, ++ 2,2,1,12,12,12,1,76,76,76,1,205,205,205,1,255,255,255,14,210, ++ 210,210,1,106,106,106,1,57,57,57,1,34,34,34,1,12,12,12,1,2, ++ 2,2,1,0,0,0,9,2,2,2,1,10,10,10,1,27,27,27,1,125, ++ 125,125,1,207,207,207,1,255,255,255,10,210,210,210,1,141,141,141,1,63, ++ 63,63,1,47,47,47,1,27,27,27,1,10,10,10,1,2,2,2,1,0, ++ 0,0,11,1,1,1,1,5,5,5,1,16,16,16,1,32,32,32,1,73, ++ 73,73,1,132,132,132,1,172,172,172,1,208,208,208,1,209,209,209,3,174, ++ 174,174,1,139,139,139,1,89,89,89,1,58,58,58,1,47,47,47,1,32, ++ 32,32,1,16,16,16,1,5,5,5,1,1,1,1,1,0,0,0,14,2, ++ 2,2,1,7,7,7,1,15,15,15,1,24,24,24,1,33,33,33,1,41, ++ 41,41,1,46,46,46,1,48,48,48,2,46,46,46,1,41,41,41,1,33, ++ 33,33,1,24,24,24,1,15,15,15,1,7,7,7,1,2,2,2,1,0, ++ 0,0,7,22,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112, ++ 97,114,101,110,99,121,4,0,0,0,128,10,102,97,99,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,0,0,7,116,98, ++ 117,116,116,111,110,8,116,98,117,116,116,111,110,52,8,98,111,117,110,100, ++ 115,95,120,2,107,8,98,111,117,110,100,115,95,121,2,19,9,98,111,117, ++ 110,100,115,95,99,120,2,42,9,98,111,117,110,100,115,95,99,121,2,45, ++ 5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109,101,46,99,111, ++ 108,111,114,102,114,97,109,101,4,1,0,0,128,16,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,116,111,112,2,255,19,102,114,97,109,101,46,102, ++ 114,97,109,101,105,95,98,111,116,116,111,109,2,255,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,3,84,111,112,16,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116,111,112,17,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,0,22,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111,117,116,101, ++ 114,9,16,102,114,97,109,101,46,102,111,110,116,46,99,111,108,111,114,4, ++ 15,0,0,160,16,102,114,97,109,101,46,102,111,110,116,46,115,116,121,108, ++ 101,11,12,102,115,95,117,110,100,101,114,108,105,110,101,0,15,102,114,97, ++ 109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116,102,95,100,101, ++ 102,97,117,108,116,16,102,114,97,109,101,46,102,111,110,116,46,100,117,109, ++ 109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,108,101,118,101,108,111,10,102,114,108,95,108,101, ++ 118,101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14, ++ 102,114,108,95,99,111,108,111,114,102,114,97,109,101,16,102,114,108,95,99, ++ 111,108,111,114,100,107,119,105,100,116,104,16,102,114,108,95,99,111,108,111, ++ 114,104,108,119,105,100,116,104,10,102,114,108,95,102,105,108,101,102,116,9, ++ 102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104, ++ 116,12,102,114,108,95,102,105,98,111,116,116,111,109,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,27,102,97,99,101,46,105,109,97,103,101,46,116,114,97, ++ 110,115,112,97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,18,102, ++ 97,99,101,46,105,109,97,103,101,46,111,112,116,105,111,110,115,11,10,98, ++ 109,111,95,109,97,115,107,101,100,13,98,109,111,95,99,111,108,111,114,109, ++ 97,115,107,0,20,102,97,99,101,46,105,109,97,103,101,46,97,108,105,103, ++ 110,109,101,110,116,11,12,97,108,95,120,99,101,110,116,101,114,101,100,9, ++ 97,108,95,98,111,116,116,111,109,0,23,102,97,99,101,46,105,109,97,103, ++ 101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,16, ++ 102,97,99,101,46,105,109,97,103,101,46,105,109,97,103,101,10,104,10,0, ++ 0,0,0,0,0,6,0,0,0,32,0,0,0,32,0,0,0,116,6,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43,209,105,50, ++ 1,208,105,50,1,206,105,50,2,204,104,50,3,203,104,50,1,201,103,50, ++ 1,196,101,50,1,101,101,101,2,0,0,0,18,209,105,50,3,208,105,50, ++ 1,206,105,50,1,212,107,50,1,220,109,50,2,212,107,50,1,204,104,50, ++ 4,200,102,50,1,101,101,101,2,0,0,0,14,209,105,50,1,211,106,50, ++ 1,209,105,50,1,212,107,50,1,228,113,50,1,246,119,50,1,255,126,56, ++ 1,241,140,85,1,224,168,138,2,224,160,126,1,255,128,59,1,249,120,50, ++ 1,228,113,50,1,209,105,50,1,204,104,50,1,203,104,50,1,195,101,50, ++ 1,101,101,101,2,0,0,0,11,209,105,50,3,233,114,50,1,255,126,56, ++ 1,228,180,155,1,240,214,200,1,250,242,238,1,252,248,246,5,245,228,219, ++ 1,230,187,163,1,230,147,102,1,235,115,50,1,204,104,50,2,198,101,50, ++ 1,101,101,101,2,0,0,0,9,209,105,50,2,216,108,50,1,254,122,50, ++ 1,226,171,142,1,246,230,221,1,245,222,210,11,235,197,176,1,240,132,73, ++ 1,216,108,50,1,204,104,50,1,199,102,50,1,101,101,101,2,0,0,0, ++ 7,209,105,50,2,219,109,50,1,242,137,79,1,236,200,180,1,237,200,179, ++ 1,227,192,174,12,237,200,179,2,226,154,114,1,216,108,50,1,204,104,50, ++ 1,195,101,50,1,101,101,101,2,0,0,0,5,208,105,50,1,209,105,50, ++ 1,214,108,50,1,243,135,77,1,241,212,196,1,246,229,220,1,255,255,255, ++ 15,245,223,212,1,228,151,109,1,216,108,50,1,204,104,50,1,185,97,50, ++ 1,101,101,101,2,0,0,0,4,208,105,50,1,206,105,50,1,254,122,50, ++ 1,235,196,175,1,245,222,210,2,255,255,255,15,245,222,210,1,242,216,203, ++ 1,233,138,86,1,204,104,50,1,201,103,50,1,101,101,101,2,0,0,0, ++ 3,206,105,50,2,232,114,50,1,226,172,143,1,242,215,200,8,230,175,146, ++ 1,255,255,255,3,230,175,146,1,242,215,200,7,235,196,175,1,235,115,50, ++ 1,204,104,50,1,193,100,50,1,101,101,101,2,0,0,0,2,204,104,50, ++ 1,209,105,50,1,245,134,73,1,237,203,183,1,240,207,189,7,230,175,146, ++ 1,255,255,255,5,230,175,146,1,240,207,189,7,220,163,131,1,209,105,50, ++ 1,201,103,50,1,101,101,101,2,0,0,0,1,204,104,50,2,228,113,50, ++ 1,226,170,139,1,237,200,179,7,230,175,146,1,255,255,255,7,230,175,146, ++ 1,237,200,179,4,236,196,174,1,230,182,155,1,223,163,130,1,228,113,50, ++ 1,204,104,50,1,175,94,50,1,101,101,101,1,0,0,0,1,204,104,50, ++ 2,246,119,50,1,232,184,159,1,235,191,168,6,230,175,146,1,255,255,255, ++ 9,230,175,146,1,235,191,168,1,227,173,144,1,228,155,114,1,255,128,59, ++ 3,246,119,50,1,204,104,50,1,190,99,50,1,101,101,101,1,0,0,0, ++ 1,204,104,50,2,244,134,74,1,232,184,158,6,230,175,146,1,255,255,255, ++ 11,230,175,146,1,224,161,126,1,255,128,59,4,255,126,56,1,204,104,50, ++ 1,196,101,50,1,101,101,101,1,0,0,0,1,204,104,50,1,212,107,50, ++ 1,238,143,91,1,230,175,146,6,255,255,255,13,237,147,98,1,255,129,60, ++ 2,255,128,59,3,209,105,50,1,201,103,50,1,101,101,101,1,0,0,0, ++ 1,204,104,50,1,220,109,50,1,232,150,105,1,228,168,135,3,230,175,146, ++ 2,255,255,255,15,255,129,60,1,255,128,59,1,255,129,60,1,255,128,59, ++ 2,220,109,50,1,200,102,50,1,101,101,101,1,0,0,0,1,204,104,50, ++ 1,220,109,50,1,238,145,94,1,228,159,122,3,230,175,146,1,255,255,255, ++ 17,255,129,60,2,255,128,59,2,220,109,50,1,200,102,50,1,101,101,101, ++ 1,0,0,0,1,204,104,50,1,212,107,50,1,246,136,77,1,237,147,98, ++ 3,255,255,255,6,255,129,60,1,255,255,255,5,255,129,60,1,255,255,255, ++ 6,255,129,60,3,209,105,50,1,200,102,50,1,101,101,101,1,0,0,0, ++ 1,203,104,50,1,204,104,50,1,253,129,61,1,250,135,73,3,255,255,255, ++ 5,250,134,71,1,253,133,67,1,255,255,255,5,255,129,60,2,255,255,255, ++ 5,255,129,60,1,255,131,64,1,255,128,59,1,204,104,50,1,195,101,50, ++ 1,101,101,101,1,0,0,0,1,201,103,50,1,204,104,50,1,249,120,50, ++ 1,253,132,66,4,255,255,255,3,255,132,65,3,255,255,255,5,255,129,60, ++ 3,255,255,255,3,255,132,65,3,249,120,50,1,204,104,50,1,188,98,50, ++ 1,101,101,101,1,0,0,0,1,196,101,50,1,204,104,50,1,230,114,50, ++ 1,255,134,68,10,255,255,255,5,255,129,60,6,255,134,68,3,230,114,50, ++ 1,204,104,50,1,171,92,50,1,101,101,101,1,0,0,0,1,101,101,101, ++ 1,204,104,50,1,209,105,50,1,250,135,73,1,250,138,77,7,255,129,60, ++ 2,255,255,255,5,255,129,60,2,250,138,77,6,250,135,73,1,209,105,50, ++ 1,200,102,50,1,101,101,101,2,0,0,0,1,101,101,101,1,200,102,50, ++ 1,204,104,50,1,230,119,59,1,241,146,94,9,255,255,255,5,241,146,94, ++ 8,230,119,59,1,204,104,50,1,188,98,50,1,101,101,101,2,0,0,0, ++ 2,101,101,101,1,203,104,50,1,204,104,50,1,236,142,92,1,235,153,109, ++ 8,255,255,255,5,235,153,109,7,236,142,92,1,204,104,50,1,200,102,50, ++ 1,101,101,101,3,0,0,0,2,101,101,101,1,195,101,50,1,204,104,50, ++ 1,209,111,57,1,230,157,117,1,229,160,122,7,255,255,255,5,229,160,122, ++ 6,230,157,117,1,209,111,57,1,204,104,50,1,175,94,50,1,101,101,101, ++ 3,0,0,0,3,101,101,101,1,196,101,50,1,204,104,50,1,210,114,63, ++ 1,225,163,128,1,230,166,131,6,255,255,255,5,230,166,131,5,225,163,128, ++ 1,210,114,63,1,204,104,50,1,187,98,50,1,101,101,101,3,0,0,0, ++ 4,101,101,101,2,195,101,50,1,204,104,50,1,208,112,60,1,221,159,126, ++ 1,232,171,138,5,255,255,255,5,232,171,138,4,221,159,126,1,208,112,60, ++ 1,204,104,50,1,187,98,50,1,101,101,101,4,0,0,0,5,101,101,101, ++ 2,195,101,50,1,204,104,50,2,220,135,89,1,228,172,142,1,232,175,145, ++ 4,255,255,255,3,232,175,145,3,228,172,142,1,220,135,89,1,204,104,50, ++ 2,187,98,50,1,101,101,101,4,0,0,0,7,101,101,101,2,185,97,50, ++ 1,201,103,50,1,204,104,50,1,206,109,57,1,216,133,87,1,214,159,130, ++ 1,229,177,148,1,234,180,151,4,229,177,148,1,214,159,130,1,216,133,87, ++ 1,206,109,57,1,204,104,50,1,200,102,50,1,175,94,50,1,101,101,101, ++ 4,0,0,0,9,101,101,101,3,193,100,50,1,201,103,50,1,204,104,50, ++ 3,204,110,59,1,208,125,79,2,204,110,59,1,204,104,50,3,200,102,50, ++ 1,188,98,50,1,101,101,101,5,0,0,0,11,101,101,101,4,175,94,50, ++ 1,190,99,50,1,196,101,50,1,201,103,50,1,200,102,50,3,195,101,50, ++ 1,188,98,50,1,171,92,50,1,101,101,101,6,0,0,0,14,101,101,101, ++ 16,0,0,0,7,188,3,0,0,0,0,0,43,33,33,33,1,98,98,98, ++ 1,146,146,146,1,194,194,194,2,195,195,195,2,149,149,149,1,103,103,103, ++ 1,38,38,38,1,3,3,3,1,1,1,1,1,0,0,0,18,97,97,97, ++ 1,193,193,193,1,255,255,255,10,197,197,197,1,105,105,105,1,7,7,7, ++ 1,2,2,2,1,0,0,0,14,49,49,49,1,192,192,192,1,255,255,255, ++ 14,246,246,246,1,106,106,106,1,10,10,10,1,2,2,2,1,0,0,0, ++ 11,97,97,97,1,255,255,255,18,174,174,174,1,18,18,18,1,4,4,4, ++ 1,0,0,0,9,97,97,97,1,255,255,255,20,209,209,209,1,23,23,23, ++ 1,2,2,2,1,0,0,0,7,97,97,97,1,255,255,255,22,181,181,181, ++ 1,12,12,12,1,2,2,2,1,0,0,0,5,49,49,49,1,255,255,255, ++ 24,76,76,76,1,10,10,10,1,1,1,1,1,0,0,0,4,208,208,208, ++ 1,255,255,255,24,205,205,205,1,27,27,27,1,5,5,5,1,0,0,0, ++ 3,97,97,97,1,255,255,255,26,125,125,125,1,16,16,16,1,2,2,2, ++ 1,0,0,0,2,193,193,193,1,255,255,255,26,207,207,207,1,32,32,32, ++ 1,7,7,7,1,0,0,0,1,33,33,33,1,255,255,255,28,73,73,73, ++ 1,15,15,15,1,0,0,0,1,98,98,98,1,255,255,255,28,132,132,132, ++ 1,24,24,24,1,0,0,0,1,146,146,146,1,255,255,255,28,172,172,172, ++ 1,33,33,33,1,0,0,0,1,194,194,194,1,255,255,255,28,208,208,208, ++ 1,41,41,41,1,0,0,0,1,194,194,194,1,255,255,255,28,209,209,209, ++ 1,46,46,46,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209, ++ 1,48,48,48,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209, ++ 1,48,48,48,1,0,0,0,1,149,149,149,1,255,255,255,28,174,174,174, ++ 1,46,46,46,1,0,0,0,1,103,103,103,1,255,255,255,28,139,139,139, ++ 1,41,41,41,1,0,0,0,1,38,38,38,1,255,255,255,28,89,89,89, ++ 1,33,33,33,1,0,0,0,1,3,3,3,1,197,197,197,1,255,255,255, ++ 26,210,210,210,1,58,58,58,1,24,24,24,1,0,0,0,1,1,1,1, ++ 1,105,105,105,1,255,255,255,26,141,141,141,1,47,47,47,1,15,15,15, ++ 1,0,0,0,2,7,7,7,1,199,199,199,1,255,255,255,24,210,210,210, ++ 1,63,63,63,1,32,32,32,1,7,7,7,1,0,0,0,2,2,2,2, ++ 1,61,61,61,1,255,255,255,24,106,106,106,1,47,47,47,1,16,16,16, ++ 1,2,2,2,1,0,0,0,3,5,5,5,1,113,113,113,1,255,255,255, ++ 22,142,142,142,1,57,57,57,1,27,27,27,1,5,5,5,1,0,0,0, ++ 4,1,1,1,1,10,10,10,1,117,117,117,1,255,255,255,20,142,142,142, ++ 1,60,60,60,1,34,34,34,1,10,10,10,1,1,1,1,1,0,0,0, ++ 5,2,2,2,1,12,12,12,1,118,118,118,1,255,255,255,18,142,142,142, ++ 1,60,60,60,1,35,35,35,1,12,12,12,1,2,2,2,1,0,0,0, ++ 7,2,2,2,1,12,12,12,1,76,76,76,1,205,205,205,1,255,255,255, ++ 14,210,210,210,1,106,106,106,1,57,57,57,1,34,34,34,1,12,12,12, ++ 1,2,2,2,1,0,0,0,9,2,2,2,1,10,10,10,1,27,27,27, ++ 1,125,125,125,1,207,207,207,1,255,255,255,10,210,210,210,1,141,141,141, ++ 1,63,63,63,1,47,47,47,1,27,27,27,1,10,10,10,1,2,2,2, ++ 1,0,0,0,11,1,1,1,1,5,5,5,1,16,16,16,1,32,32,32, ++ 1,73,73,73,1,132,132,132,1,172,172,172,1,208,208,208,1,209,209,209, ++ 3,174,174,174,1,139,139,139,1,89,89,89,1,58,58,58,1,47,47,47, ++ 1,32,32,32,1,16,16,16,1,5,5,5,1,1,1,1,1,0,0,0, ++ 14,2,2,2,1,7,7,7,1,15,15,15,1,24,24,24,1,33,33,33, ++ 1,41,41,41,1,46,46,46,1,48,48,48,2,46,46,46,1,41,41,41, ++ 1,33,33,33,1,24,24,24,1,15,15,15,1,7,7,7,1,2,2,2, ++ 1,0,0,0,7,22,102,97,99,101,46,102,97,100,101,95,116,114,97,110, ++ 115,112,97,114,101,110,99,121,4,0,0,0,128,10,102,97,99,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,0,0,7, ++ 116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,53,8,98,111,117, ++ 110,100,115,95,120,3,155,0,8,98,111,117,110,100,115,95,121,2,19,9, ++ 98,111,117,110,100,115,95,99,120,2,42,9,98,111,117,110,100,115,95,99, ++ 121,2,45,5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109,101, ++ 46,99,111,108,111,114,102,114,97,109,101,4,1,0,0,128,16,102,114,97, ++ 109,101,46,102,114,97,109,101,105,95,116,111,112,2,255,19,102,114,97,109, ++ 101,46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,255,13,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,6,3,66,116,109,16,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116,111, ++ 112,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2, ++ 0,22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111, ++ 117,116,101,114,9,16,102,114,97,109,101,46,102,111,110,116,46,99,111,108, ++ 111,114,4,15,0,0,160,16,102,114,97,109,101,46,102,111,110,116,46,115, ++ 116,121,108,101,11,12,102,115,95,117,110,100,101,114,108,105,110,101,0,15, ++ 102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116,102, ++ 95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111,110,116,46, ++ 100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,10,102,114,108, ++ 95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100, ++ 116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,16,102,114, ++ 108,95,99,111,108,111,114,100,107,119,105,100,116,104,16,102,114,108,95,99, ++ 111,108,111,114,104,108,119,105,100,116,104,10,102,114,108,95,102,105,108,101, ++ 102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114, ++ 105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,15,102,114, ++ 108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,27,102,97,99,101,46,105,109,97,103,101,46, ++ 116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4,0,0,0, ++ 128,18,102,97,99,101,46,105,109,97,103,101,46,111,112,116,105,111,110,115, ++ 11,10,98,109,111,95,109,97,115,107,101,100,13,98,109,111,95,99,111,108, ++ 111,114,109,97,115,107,0,20,102,97,99,101,46,105,109,97,103,101,46,97, ++ 108,105,103,110,109,101,110,116,11,12,97,108,95,120,99,101,110,116,101,114, ++ 101,100,9,97,108,95,98,111,116,116,111,109,0,23,102,97,99,101,46,105, ++ 109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,16,102,97,99,101,46,105,109,97,103,101,46,105,109,97,103,101,10, ++ 40,10,0,0,0,0,0,0,6,0,0,0,32,0,0,0,32,0,0,0, ++ 52,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,43, ++ 209,105,50,1,208,105,50,1,206,105,50,2,204,104,50,3,203,104,50,1, ++ 201,103,50,1,196,101,50,1,101,101,101,2,0,0,0,18,209,105,50,3, ++ 208,105,50,1,206,105,50,1,212,107,50,1,220,109,50,2,212,107,50,1, ++ 204,104,50,4,200,102,50,1,101,101,101,2,0,0,0,14,209,105,50,1, ++ 211,106,50,1,209,105,50,1,212,107,50,1,228,113,50,1,246,119,50,1, ++ 255,126,56,1,241,140,85,1,224,168,138,2,224,160,126,1,255,128,59,1, ++ 249,120,50,1,228,113,50,1,209,105,50,1,204,104,50,1,203,104,50,1, ++ 195,101,50,1,101,101,101,2,0,0,0,11,209,105,50,3,233,114,50,1, ++ 255,126,56,1,228,180,155,1,240,214,200,1,250,242,238,1,252,248,246,5, ++ 245,228,219,1,230,187,163,1,230,147,102,1,235,115,50,1,204,104,50,2, ++ 198,101,50,1,101,101,101,2,0,0,0,9,209,105,50,2,216,108,50,1, ++ 254,122,50,1,226,171,142,1,246,230,221,1,250,242,238,4,255,255,255,3, ++ 251,242,237,4,235,197,176,1,240,132,73,1,216,108,50,1,204,104,50,1, ++ 199,102,50,1,101,101,101,2,0,0,0,7,209,105,50,2,219,109,50,1, ++ 242,137,79,1,236,200,180,1,249,237,230,5,255,255,255,5,249,237,230,4, ++ 244,224,212,1,226,154,114,1,216,108,50,1,204,104,50,1,195,101,50,1, ++ 101,101,101,2,0,0,0,5,208,105,50,1,209,105,50,1,214,108,50,1, ++ 243,135,77,1,241,212,196,1,246,229,220,6,255,255,255,5,246,229,220,5, ++ 245,223,212,1,228,151,109,1,216,108,50,1,204,104,50,1,185,97,50,1, ++ 101,101,101,2,0,0,0,4,208,105,50,1,206,105,50,1,254,122,50,1, ++ 235,196,175,1,245,222,210,7,255,255,255,5,245,222,210,6,242,216,203,1, ++ 233,138,86,1,204,104,50,1,201,103,50,1,101,101,101,2,0,0,0,3, ++ 206,105,50,2,232,114,50,1,226,172,143,1,242,215,200,8,255,255,255,5, ++ 242,215,200,7,235,196,175,1,235,115,50,1,204,104,50,1,193,100,50,1, ++ 101,101,101,2,0,0,0,2,204,104,50,1,209,105,50,1,245,134,73,1, ++ 237,203,183,1,240,207,189,8,255,255,255,5,240,207,189,8,220,163,131,1, ++ 209,105,50,1,201,103,50,1,101,101,101,2,0,0,0,1,204,104,50,2, ++ 228,113,50,1,226,170,139,1,237,200,179,9,255,255,255,5,237,200,179,6, ++ 236,196,174,1,230,182,155,1,223,163,130,1,228,113,50,1,204,104,50,1, ++ 175,94,50,1,101,101,101,1,0,0,0,1,204,104,50,2,246,119,50,1, ++ 232,184,159,1,235,191,168,9,255,255,255,5,235,191,168,4,227,173,144,1, ++ 228,155,114,1,255,128,59,3,246,119,50,1,204,104,50,1,190,99,50,1, ++ 101,101,101,1,0,0,0,1,204,104,50,2,244,134,74,1,232,184,158,4, ++ 255,255,255,3,232,184,158,3,255,255,255,5,232,184,158,3,255,255,255,3, ++ 255,128,59,3,255,126,56,1,204,104,50,1,196,101,50,1,101,101,101,1, ++ 0,0,0,1,204,104,50,1,212,107,50,1,238,143,91,1,230,175,146,3, ++ 255,255,255,5,230,175,146,2,255,255,255,5,230,175,146,2,255,255,255,5, ++ 255,128,59,3,209,105,50,1,201,103,50,1,101,101,101,1,0,0,0,1, ++ 204,104,50,1,220,109,50,1,232,150,105,1,228,168,135,3,255,255,255,6, ++ 230,175,146,1,255,255,255,5,237,147,98,1,255,255,255,6,255,129,60,1, ++ 255,128,59,2,220,109,50,1,200,102,50,1,101,101,101,1,0,0,0,1, ++ 204,104,50,1,220,109,50,1,238,145,94,1,228,159,122,3,230,175,146,1, ++ 255,255,255,17,255,129,60,2,255,128,59,2,220,109,50,1,200,102,50,1, ++ 101,101,101,1,0,0,0,1,204,104,50,1,212,107,50,1,246,136,77,1, ++ 237,147,98,5,255,255,255,15,255,129,60,5,209,105,50,1,200,102,50,1, ++ 101,101,101,1,0,0,0,1,203,104,50,1,204,104,50,1,253,129,61,1, ++ 250,135,73,6,255,255,255,13,255,129,60,4,255,131,64,1,255,128,59,1, ++ 204,104,50,1,195,101,50,1,101,101,101,1,0,0,0,1,201,103,50,1, ++ 204,104,50,1,249,120,50,1,253,132,66,6,255,132,65,1,255,255,255,11, ++ 255,129,60,3,255,132,65,3,249,120,50,1,204,104,50,1,188,98,50,1, ++ 101,101,101,1,0,0,0,1,196,101,50,1,204,104,50,1,230,114,50,1, ++ 255,134,68,8,255,255,255,9,255,129,60,4,255,134,68,3,230,114,50,1, ++ 204,104,50,1,171,92,50,1,101,101,101,1,0,0,0,1,101,101,101,1, ++ 204,104,50,1,209,105,50,1,250,135,73,1,250,138,77,7,255,129,60,1, ++ 255,255,255,7,255,129,60,1,250,138,77,6,250,135,73,1,209,105,50,1, ++ 200,102,50,1,101,101,101,2,0,0,0,1,101,101,101,1,200,102,50,1, ++ 204,104,50,1,230,119,59,1,241,146,94,9,255,255,255,5,241,146,94,8, ++ 230,119,59,1,204,104,50,1,188,98,50,1,101,101,101,2,0,0,0,2, ++ 101,101,101,1,203,104,50,1,204,104,50,1,236,142,92,1,235,153,109,9, ++ 255,255,255,3,235,153,109,8,236,142,92,1,204,104,50,1,200,102,50,1, ++ 101,101,101,3,0,0,0,2,101,101,101,1,195,101,50,1,204,104,50,1, ++ 209,111,57,1,230,157,117,1,229,160,122,2,255,255,255,15,229,160,122,1, ++ 230,157,117,1,209,111,57,1,204,104,50,1,175,94,50,1,101,101,101,3, ++ 0,0,0,3,101,101,101,1,196,101,50,1,204,104,50,1,210,114,63,1, ++ 225,163,128,1,230,166,131,1,255,255,255,15,225,163,128,1,210,114,63,1, ++ 204,104,50,1,187,98,50,1,101,101,101,3,0,0,0,4,101,101,101,2, ++ 195,101,50,1,204,104,50,1,208,112,60,1,221,159,126,1,232,171,138,14, ++ 221,159,126,1,208,112,60,1,204,104,50,1,187,98,50,1,101,101,101,4, ++ 0,0,0,5,101,101,101,2,195,101,50,1,204,104,50,2,220,135,89,1, ++ 228,172,142,1,232,175,145,10,228,172,142,1,220,135,89,1,204,104,50,2, ++ 187,98,50,1,101,101,101,4,0,0,0,7,101,101,101,2,185,97,50,1, ++ 201,103,50,1,204,104,50,1,206,109,57,1,216,133,87,1,214,159,130,1, ++ 229,177,148,1,234,180,151,4,229,177,148,1,214,159,130,1,216,133,87,1, ++ 206,109,57,1,204,104,50,1,200,102,50,1,175,94,50,1,101,101,101,4, ++ 0,0,0,9,101,101,101,3,193,100,50,1,201,103,50,1,204,104,50,3, ++ 204,110,59,1,208,125,79,2,204,110,59,1,204,104,50,3,200,102,50,1, ++ 188,98,50,1,101,101,101,5,0,0,0,11,101,101,101,4,175,94,50,1, ++ 190,99,50,1,196,101,50,1,201,103,50,1,200,102,50,3,195,101,50,1, ++ 188,98,50,1,171,92,50,1,101,101,101,6,0,0,0,14,101,101,101,16, ++ 0,0,0,7,188,3,0,0,0,0,0,43,33,33,33,1,98,98,98,1, ++ 146,146,146,1,194,194,194,2,195,195,195,2,149,149,149,1,103,103,103,1, ++ 38,38,38,1,3,3,3,1,1,1,1,1,0,0,0,18,97,97,97,1, ++ 193,193,193,1,255,255,255,10,197,197,197,1,105,105,105,1,7,7,7,1, ++ 2,2,2,1,0,0,0,14,49,49,49,1,192,192,192,1,255,255,255,14, ++ 246,246,246,1,106,106,106,1,10,10,10,1,2,2,2,1,0,0,0,11, ++ 97,97,97,1,255,255,255,18,174,174,174,1,18,18,18,1,4,4,4,1, ++ 0,0,0,9,97,97,97,1,255,255,255,20,209,209,209,1,23,23,23,1, ++ 2,2,2,1,0,0,0,7,97,97,97,1,255,255,255,22,181,181,181,1, ++ 12,12,12,1,2,2,2,1,0,0,0,5,49,49,49,1,255,255,255,24, ++ 76,76,76,1,10,10,10,1,1,1,1,1,0,0,0,4,208,208,208,1, ++ 255,255,255,24,205,205,205,1,27,27,27,1,5,5,5,1,0,0,0,3, ++ 97,97,97,1,255,255,255,26,125,125,125,1,16,16,16,1,2,2,2,1, ++ 0,0,0,2,193,193,193,1,255,255,255,26,207,207,207,1,32,32,32,1, ++ 7,7,7,1,0,0,0,1,33,33,33,1,255,255,255,28,73,73,73,1, ++ 15,15,15,1,0,0,0,1,98,98,98,1,255,255,255,28,132,132,132,1, ++ 24,24,24,1,0,0,0,1,146,146,146,1,255,255,255,28,172,172,172,1, ++ 33,33,33,1,0,0,0,1,194,194,194,1,255,255,255,28,208,208,208,1, ++ 41,41,41,1,0,0,0,1,194,194,194,1,255,255,255,28,209,209,209,1, ++ 46,46,46,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209,1, ++ 48,48,48,1,0,0,0,1,195,195,195,1,255,255,255,28,209,209,209,1, ++ 48,48,48,1,0,0,0,1,149,149,149,1,255,255,255,28,174,174,174,1, ++ 46,46,46,1,0,0,0,1,103,103,103,1,255,255,255,28,139,139,139,1, ++ 41,41,41,1,0,0,0,1,38,38,38,1,255,255,255,28,89,89,89,1, ++ 33,33,33,1,0,0,0,1,3,3,3,1,197,197,197,1,255,255,255,26, ++ 210,210,210,1,58,58,58,1,24,24,24,1,0,0,0,1,1,1,1,1, ++ 105,105,105,1,255,255,255,26,141,141,141,1,47,47,47,1,15,15,15,1, ++ 0,0,0,2,7,7,7,1,199,199,199,1,255,255,255,24,210,210,210,1, ++ 63,63,63,1,32,32,32,1,7,7,7,1,0,0,0,2,2,2,2,1, ++ 61,61,61,1,255,255,255,24,106,106,106,1,47,47,47,1,16,16,16,1, ++ 2,2,2,1,0,0,0,3,5,5,5,1,113,113,113,1,255,255,255,22, ++ 142,142,142,1,57,57,57,1,27,27,27,1,5,5,5,1,0,0,0,4, ++ 1,1,1,1,10,10,10,1,117,117,117,1,255,255,255,20,142,142,142,1, ++ 60,60,60,1,34,34,34,1,10,10,10,1,1,1,1,1,0,0,0,5, ++ 2,2,2,1,12,12,12,1,118,118,118,1,255,255,255,18,142,142,142,1, ++ 60,60,60,1,35,35,35,1,12,12,12,1,2,2,2,1,0,0,0,7, ++ 2,2,2,1,12,12,12,1,76,76,76,1,205,205,205,1,255,255,255,14, ++ 210,210,210,1,106,106,106,1,57,57,57,1,34,34,34,1,12,12,12,1, ++ 2,2,2,1,0,0,0,9,2,2,2,1,10,10,10,1,27,27,27,1, ++ 125,125,125,1,207,207,207,1,255,255,255,10,210,210,210,1,141,141,141,1, ++ 63,63,63,1,47,47,47,1,27,27,27,1,10,10,10,1,2,2,2,1, ++ 0,0,0,11,1,1,1,1,5,5,5,1,16,16,16,1,32,32,32,1, ++ 73,73,73,1,132,132,132,1,172,172,172,1,208,208,208,1,209,209,209,3, ++ 174,174,174,1,139,139,139,1,89,89,89,1,58,58,58,1,47,47,47,1, ++ 32,32,32,1,16,16,16,1,5,5,5,1,1,1,1,1,0,0,0,14, ++ 2,2,2,1,7,7,7,1,15,15,15,1,24,24,24,1,33,33,33,1, ++ 41,41,41,1,46,46,46,1,48,48,48,2,46,46,46,1,41,41,41,1, ++ 33,33,33,1,24,24,24,1,15,15,15,1,7,7,7,1,2,2,2,1, ++ 0,0,0,7,22,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115, ++ 112,97,114,101,110,99,121,4,0,0,0,128,10,102,97,99,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,4,0,0,7,116, ++ 98,117,116,116,111,110,8,116,98,117,116,116,111,110,54,8,98,111,117,110, ++ 100,115,95,120,3,59,1,8,98,111,117,110,100,115,95,121,2,19,9,98, ++ 111,117,110,100,115,95,99,120,2,42,9,98,111,117,110,100,115,95,99,121, ++ 2,45,5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109,101,46, ++ 99,111,108,111,114,102,114,97,109,101,4,1,0,0,128,16,102,114,97,109, ++ 101,46,102,114,97,109,101,105,95,116,111,112,2,255,19,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,255,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,4,82,101,100,111,16,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116,111, ++ 112,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2, ++ 0,22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111, ++ 117,116,101,114,9,16,102,114,97,109,101,46,102,111,110,116,46,99,111,108, ++ 111,114,4,15,0,0,160,16,102,114,97,109,101,46,102,111,110,116,46,115, ++ 116,121,108,101,11,12,102,115,95,117,110,100,101,114,108,105,110,101,0,15, ++ 102,114,97,109,101,46,102,111,110,116,46,110,97,109,101,6,11,115,116,102, ++ 95,100,101,102,97,117,108,116,16,102,114,97,109,101,46,102,111,110,116,46, ++ 100,117,109,109,121,2,0,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,9,102,114,108,95,102,105,116,111,112,12,102,114,108,95, ++ 102,105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,27,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110,115, ++ 112,97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,18,102,97,99, ++ 101,46,105,109,97,103,101,46,111,112,116,105,111,110,115,11,10,98,109,111, ++ 95,109,97,115,107,101,100,13,98,109,111,95,99,111,108,111,114,109,97,115, ++ 107,0,20,102,97,99,101,46,105,109,97,103,101,46,97,108,105,103,110,109, ++ 101,110,116,11,12,97,108,95,120,99,101,110,116,101,114,101,100,9,97,108, ++ 95,98,111,116,116,111,109,0,23,102,97,99,101,46,105,109,97,103,101,46, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,16,102,97, ++ 99,101,46,105,109,97,103,101,46,105,109,97,103,101,10,40,7,0,0,0, ++ 0,0,0,6,0,0,0,32,0,0,0,32,0,0,0,64,3,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,255,255,255,192,76,76,76,8,255, ++ 123,17,1,255,129,17,1,255,135,17,1,255,136,19,6,255,135,17,1,255, ++ 127,13,1,246,110,0,1,76,76,76,18,255,96,9,1,255,102,9,1,255, ++ 109,11,1,255,110,13,1,212,162,128,1,224,186,158,1,240,218,204,4,232, ++ 202,182,1,216,169,138,1,237,122,45,1,255,110,13,1,255,99,5,1,218, ++ 77,0,1,76,76,76,15,255,93,5,1,255,95,7,1,239,107,35,1,221, ++ 173,147,1,246,219,204,1,255,234,223,9,225,181,157,1,239,107,35,1,255, ++ 93,5,1,232,82,0,1,76,76,76,13,255,92,3,1,255,93,5,1,214, ++ 142,102,1,250,210,188,1,255,218,197,12,246,203,180,1,223,123,69,1,255, ++ 92,3,1,224,79,0,1,76,76,76,10,254,90,0,3,226,165,132,1,245, ++ 189,159,1,222,164,132,1,217,159,127,1,218,130,82,2,213,145,107,1,217, ++ 159,127,1,236,179,148,1,255,199,169,7,250,194,164,1,228,118,58,1,252, ++ 89,0,1,192,68,0,1,76,76,76,9,250,88,0,1,247,96,13,1,219, ++ 140,97,1,229,114,51,1,252,89,0,2,242,85,0,1,240,85,0,1,236, ++ 83,0,1,244,86,0,1,248,88,0,1,252,89,0,1,235,107,37,1,224, ++ 158,122,1,255,183,143,6,245,173,133,1,247,96,13,1,238,84,0,1,76, ++ 76,76,8,246,87,0,1,248,88,0,3,234,83,0,1,212,75,0,1,76, ++ 76,76,6,202,71,0,1,236,83,0,1,248,88,0,1,237,106,35,1,250, ++ 162,114,1,255,166,117,5,231,131,77,1,248,88,0,1,180,64,0,1,76, ++ 76,76,6,242,85,0,1,244,86,0,2,238,84,0,1,184,65,0,1,76, ++ 76,76,10,206,73,0,1,242,85,0,1,246,99,18,1,249,147,91,1,255, ++ 148,89,4,249,145,89,1,244,86,0,1,224,79,0,1,76,76,76,6,240, ++ 85,0,2,226,80,0,1,76,76,76,13,212,75,0,1,240,85,0,1,255, ++ 92,3,1,255,137,73,5,255,98,13,1,232,82,0,1,76,76,76,6,236, ++ 83,0,1,218,77,0,1,76,76,76,11,234,83,0,1,232,82,0,2,224, ++ 79,0,1,228,80,0,1,236,83,0,1,255,113,35,1,255,133,67,4,255, ++ 106,25,1,236,83,0,1,206,73,0,1,222,78,0,1,232,82,0,3,230, ++ 81,0,1,76,76,76,12,232,82,0,1,234,83,0,6,255,93,5,1,255, ++ 131,63,4,255,118,43,1,234,83,0,7,76,76,76,13,226,80,0,1,230, ++ 81,0,1,255,107,27,1,255,127,57,13,255,93,5,1,230,81,0,1,208, ++ 73,0,1,76,76,76,14,220,78,0,1,226,80,0,1,255,105,23,1,255, ++ 123,51,11,255,91,1,1,226,80,0,1,202,71,0,1,76,76,76,16,216, ++ 76,0,1,222,78,0,1,255,102,19,1,255,120,47,9,252,89,0,1,222, ++ 78,0,1,200,71,0,1,76,76,76,18,212,75,0,1,218,77,0,1,255, ++ 98,13,1,255,118,43,7,248,88,0,1,218,77,0,1,198,70,0,1,76, ++ 76,76,20,210,74,0,1,216,76,0,1,255,96,9,1,255,114,37,5,246, ++ 87,0,1,216,76,0,1,194,68,0,1,76,76,76,22,210,74,0,1,216, ++ 76,0,1,255,93,5,1,255,111,33,3,242,85,0,1,216,76,0,1,194, ++ 68,0,1,76,76,76,24,210,74,0,1,216,76,0,1,255,92,3,1,255, ++ 107,27,1,240,85,0,1,216,76,0,1,194,68,0,1,76,76,76,26,210, ++ 74,0,1,216,76,0,1,232,82,0,1,216,76,0,1,194,68,0,1,76, ++ 76,76,28,210,74,0,1,216,76,0,1,194,68,0,1,76,76,76,72,255, ++ 255,255,128,176,3,0,0,0,0,0,200,16,16,16,1,97,97,97,1,177, ++ 177,177,1,240,240,240,1,255,255,255,5,210,210,210,1,150,150,150,1,41, ++ 41,41,1,4,4,4,1,1,1,1,1,0,0,0,16,16,16,16,1,129, ++ 129,129,1,240,240,240,1,255,255,255,11,168,168,168,1,27,27,27,1,3, ++ 3,3,1,0,0,0,14,81,81,81,1,240,240,240,1,255,255,255,14,228, ++ 228,228,1,65,65,65,1,6,6,6,1,1,1,1,1,0,0,0,11,160, ++ 160,160,1,255,255,255,17,242,242,242,1,70,70,70,1,8,8,8,1,1, ++ 1,1,1,0,0,0,8,16,16,16,1,208,208,208,1,255,255,255,19,230, ++ 230,230,1,41,41,41,1,6,6,6,1,0,0,0,8,176,176,176,1,255, ++ 255,255,5,210,210,210,1,198,198,198,1,174,174,174,1,209,209,209,1,232, ++ 232,232,1,255,255,255,11,165,165,165,1,21,21,21,1,3,3,3,1,0, ++ 0,0,6,144,144,144,1,255,255,255,3,187,187,187,1,128,128,128,1,64, ++ 64,64,1,57,57,57,1,50,50,50,1,45,45,45,1,44,44,44,1,47, ++ 47,47,1,92,92,92,1,182,182,182,1,255,255,255,10,53,53,53,1,11, ++ 11,11,1,0,0,0,5,65,65,65,1,255,255,255,2,207,207,207,1,92, ++ 92,92,1,59,59,59,1,44,44,44,1,31,31,31,1,21,21,21,1,15, ++ 15,15,1,13,13,13,1,12,12,12,1,14,14,14,1,18,18,18,1,28, ++ 28,28,1,83,83,83,1,243,243,243,1,255,255,255,8,143,143,143,1,22, ++ 22,22,1,3,3,3,1,0,0,0,4,208,208,208,1,255,255,255,1,156, ++ 156,156,1,63,63,63,1,47,47,47,1,27,27,27,1,13,13,13,1,6, ++ 6,6,1,2,2,2,1,0,0,0,4,1,1,1,1,5,5,5,1,13, ++ 13,13,1,73,73,73,1,242,242,242,1,255,255,255,7,196,196,196,1,35, ++ 35,35,1,8,8,8,1,0,0,0,4,225,225,225,1,123,123,123,1,55, ++ 55,55,1,39,39,39,1,17,17,17,1,5,5,5,1,1,1,1,1,0, ++ 0,0,6,65,65,65,1,67,67,67,1,68,68,68,1,74,74,74,1,144, ++ 144,144,1,255,255,255,7,243,243,243,1,99,99,99,1,77,77,77,1,68, ++ 68,68,3,52,52,52,1,12,12,12,1,33,33,33,1,31,31,31,1,13, ++ 13,13,1,2,2,2,1,0,0,0,7,65,65,65,1,255,255,255,19,4, ++ 4,4,1,10,10,10,1,8,8,8,1,2,2,2,1,0,0,0,8,2, ++ 2,2,1,166,166,166,1,255,255,255,17,133,133,133,1,0,0,0,12,1, ++ 1,1,1,13,13,13,1,174,174,174,1,255,255,255,15,142,142,142,1,60, ++ 60,60,1,0,0,0,13,3,3,3,1,17,17,17,1,175,175,175,1,255, ++ 255,255,13,142,142,142,1,60,60,60,1,35,35,35,1,0,0,0,14,3, ++ 3,3,1,17,17,17,1,175,175,175,1,255,255,255,11,142,142,142,1,60, ++ 60,60,1,35,35,35,1,12,12,12,1,0,0,0,15,3,3,3,1,17, ++ 17,17,1,175,175,175,1,255,255,255,9,142,142,142,1,60,60,60,1,35, ++ 35,35,1,12,12,12,1,2,2,2,1,0,0,0,16,3,3,3,1,17, ++ 17,17,1,175,175,175,1,255,255,255,7,142,142,142,1,60,60,60,1,35, ++ 35,35,1,12,12,12,1,2,2,2,1,0,0,0,18,3,3,3,1,17, ++ 17,17,1,175,175,175,1,255,255,255,5,142,142,142,1,60,60,60,1,35, ++ 35,35,1,12,12,12,1,2,2,2,1,0,0,0,20,3,3,3,1,17, ++ 17,17,1,175,175,175,1,255,255,255,3,142,142,142,1,60,60,60,1,35, ++ 35,35,1,12,12,12,1,2,2,2,1,0,0,0,22,3,3,3,1,17, ++ 17,17,1,175,175,175,1,255,255,255,1,141,141,141,1,60,60,60,1,35, ++ 35,35,1,12,12,12,1,2,2,2,1,0,0,0,24,3,3,3,1,17, ++ 17,17,1,39,39,39,1,48,48,48,1,33,33,33,1,12,12,12,1,2, ++ 2,2,1,0,0,0,26,3,3,3,1,11,11,11,1,14,14,14,1,8, ++ 8,8,1,2,2,2,1,0,0,0,134,22,102,97,99,101,46,102,97,100, ++ 101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,10, ++ 102,97,99,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,5,0,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111, ++ 110,55,8,98,111,117,110,100,115,95,120,3,11,1,8,98,111,117,110,100, ++ 115,95,121,2,19,9,98,111,117,110,100,115,95,99,120,2,42,9,98,111, ++ 117,110,100,115,95,99,121,2,45,5,99,111,108,111,114,4,3,0,0,128, ++ 16,102,114,97,109,101,46,99,111,108,111,114,102,114,97,109,101,4,1,0, ++ 0,128,16,102,114,97,109,101,46,102,114,97,109,101,105,95,116,111,112,2, ++ 255,19,102,114,97,109,101,46,102,114,97,109,101,105,95,98,111,116,116,111, ++ 109,2,255,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,85, ++ 110,100,111,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115, ++ 7,6,99,112,95,116,111,112,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,0,22,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,111,117,116,101,114,9,16,102,114,97,109,101,46,102, ++ 111,110,116,46,99,111,108,111,114,4,15,0,0,160,16,102,114,97,109,101, ++ 46,102,111,110,116,46,115,116,121,108,101,11,12,102,115,95,117,110,100,101, ++ 114,108,105,110,101,0,15,102,114,97,109,101,46,102,111,110,116,46,110,97, ++ 109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,16,102,114,97,109, ++ 101,46,102,111,110,116,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,111,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102, ++ 114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102, ++ 114,97,109,101,16,102,114,108,95,99,111,108,111,114,100,107,119,105,100,116, ++ 104,16,102,114,108,95,99,111,108,111,114,104,108,119,105,100,116,104,10,102, ++ 114,108,95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11, ++ 102,114,108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111, ++ 116,116,111,109,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116, ++ 0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,27,102,97,99,101, ++ 46,105,109,97,103,101,46,116,114,97,110,115,112,97,114,101,110,116,99,111, ++ 108,111,114,4,0,0,0,128,18,102,97,99,101,46,105,109,97,103,101,46, ++ 111,112,116,105,111,110,115,11,10,98,109,111,95,109,97,115,107,101,100,13, ++ 98,109,111,95,99,111,108,111,114,109,97,115,107,0,20,102,97,99,101,46, ++ 105,109,97,103,101,46,97,108,105,103,110,109,101,110,116,11,12,97,108,95, ++ 120,99,101,110,116,101,114,101,100,9,97,108,95,98,111,116,116,111,109,0, ++ 23,102,97,99,101,46,105,109,97,103,101,46,116,114,97,110,115,112,97,114, ++ 101,110,99,121,4,0,0,0,128,16,102,97,99,101,46,105,109,97,103,101, ++ 46,105,109,97,103,101,10,216,6,0,0,0,0,0,0,6,0,0,0,32, ++ 0,0,0,32,0,0,0,36,3,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,255,255,255,192,76,76,76,8,255,129,17,1,255,136,19,1,255, ++ 134,15,1,76,76,76,28,255,102,9,1,255,110,13,1,211,153,115,1,255, ++ 110,13,1,255,97,1,1,76,76,76,26,255,93,5,1,255,95,7,1,213, ++ 159,129,1,255,234,223,1,230,189,166,1,255,95,7,1,252,89,0,1,76, ++ 76,76,24,255,91,1,1,255,93,5,1,211,151,119,1,255,218,197,3,228, ++ 178,150,1,255,93,5,1,248,88,0,1,76,76,76,22,254,90,0,2,216, ++ 142,102,1,255,199,169,5,226,165,132,1,254,90,0,1,246,87,0,1,76, ++ 76,76,20,250,88,0,1,252,89,0,1,224,131,80,1,255,183,143,7,225, ++ 155,117,1,252,89,0,1,242,85,0,1,76,76,76,18,246,87,0,1,248, ++ 88,0,1,234,120,58,1,255,166,117,9,229,142,95,1,248,88,0,1,240, ++ 85,0,1,76,76,76,16,242,85,0,1,244,86,0,1,249,108,31,1,255, ++ 148,89,11,246,126,60,1,244,86,0,1,236,83,0,1,76,76,76,14,240, ++ 85,0,2,255,102,19,1,255,137,73,13,255,117,41,1,240,85,0,1,232, ++ 82,0,1,76,76,76,13,236,83,0,7,255,120,47,1,255,133,67,4,255, ++ 96,9,1,236,83,0,6,210,74,0,1,76,76,76,12,220,78,0,1,208, ++ 73,0,1,200,71,0,4,232,82,0,1,255,104,21,1,255,131,63,4,255, ++ 110,31,1,234,83,0,1,216,76,0,1,198,70,0,2,200,71,0,2,76, ++ 76,76,11,232,82,0,1,234,83,0,1,76,76,76,6,226,80,0,1,255, ++ 91,1,1,255,127,57,5,246,87,0,1,228,80,0,1,192,68,0,1,76, ++ 76,76,13,228,80,0,1,230,81,0,1,228,80,0,1,76,76,76,6,220, ++ 78,0,1,226,80,0,1,255,120,47,1,255,123,51,4,255,120,47,1,240, ++ 85,0,1,226,80,0,1,198,70,0,1,76,76,76,10,222,78,0,1,226, ++ 80,0,3,198,70,0,1,76,76,76,6,202,71,0,1,222,78,0,1,255, ++ 95,7,1,255,120,47,5,255,118,43,1,238,84,0,1,222,78,0,1,216, ++ 76,0,1,208,73,0,1,76,76,76,6,222,78,0,5,212,75,0,1,76, ++ 76,76,8,216,76,0,1,224,79,0,1,255,111,33,1,255,118,43,6,255, ++ 98,13,1,228,80,0,1,218,77,0,1,216,76,0,5,218,77,0,2,234, ++ 83,0,1,254,90,0,1,224,79,0,1,212,75,0,1,76,76,76,9,192, ++ 68,0,1,214,76,0,1,230,81,0,1,255,111,33,1,255,114,37,7,255, ++ 102,19,1,254,90,0,1,244,86,0,1,236,83,0,2,254,90,0,1,255, ++ 92,3,1,255,107,27,1,255,96,9,1,216,76,0,1,212,75,0,1,166, ++ 59,0,1,76,76,76,10,198,70,0,1,214,76,0,1,230,81,0,1,255, ++ 105,23,1,255,111,33,12,255,107,27,1,238,84,0,1,216,76,0,1,206, ++ 73,0,1,76,76,76,13,194,68,0,1,212,75,0,1,220,78,0,1,254, ++ 90,0,1,255,107,27,9,255,102,19,1,250,88,0,1,220,78,0,1,214, ++ 76,0,1,190,67,0,1,76,76,76,15,176,62,0,1,208,73,0,1,216, ++ 76,0,1,220,78,0,1,240,85,0,1,254,90,0,1,255,95,7,4,246, ++ 87,0,1,236,83,0,1,216,76,0,1,214,76,0,1,202,71,0,1,166, ++ 59,0,1,76,76,76,18,182,64,0,1,202,71,0,1,212,75,0,1,216, ++ 76,0,5,214,76,0,1,208,73,0,1,194,68,0,1,166,59,0,1,76, ++ 76,76,72,255,255,255,128,124,3,0,0,0,0,0,200,97,97,97,1,255, ++ 255,255,1,164,164,164,1,11,11,11,1,3,3,3,1,0,0,0,26,97, ++ 97,97,1,255,255,255,3,174,174,174,1,17,17,17,1,3,3,3,1,0, ++ 0,0,24,97,97,97,1,255,255,255,5,175,175,175,1,17,17,17,1,3, ++ 3,3,1,0,0,0,22,97,97,97,1,255,255,255,7,175,175,175,1,17, ++ 17,17,1,3,3,3,1,0,0,0,20,97,97,97,1,255,255,255,9,175, ++ 175,175,1,17,17,17,1,3,3,3,1,0,0,0,18,97,97,97,1,255, ++ 255,255,11,175,175,175,1,17,17,17,1,3,3,3,1,0,0,0,16,97, ++ 97,97,1,255,255,255,13,175,175,175,1,17,17,17,1,3,3,3,1,0, ++ 0,0,14,97,97,97,1,255,255,255,15,175,175,175,1,17,17,17,1,3, ++ 3,3,1,0,0,0,12,97,97,97,1,255,255,255,17,175,175,175,1,17, ++ 17,17,1,3,3,3,1,0,0,0,11,255,255,255,19,94,94,94,1,13, ++ 13,13,1,1,1,1,1,0,0,0,10,58,58,58,1,94,94,94,1,108, ++ 108,108,1,111,111,111,3,243,243,243,1,255,255,255,7,165,165,165,1,116, ++ 116,116,1,112,112,112,1,111,111,111,1,110,110,110,1,46,46,46,1,18, ++ 18,18,1,2,2,2,1,0,0,0,8,97,97,97,1,224,224,224,1,6, ++ 6,6,1,20,20,20,1,28,28,28,1,29,29,29,3,201,201,201,1,255, ++ 255,255,7,244,244,244,1,93,93,93,1,37,37,37,1,30,30,30,1,29, ++ 29,29,1,23,23,23,1,9,9,9,1,1,1,1,1,0,0,0,7,129, ++ 129,129,1,255,255,255,1,213,213,213,1,1,1,1,1,3,3,3,1,5, ++ 5,5,4,122,122,122,1,255,255,255,8,243,243,243,1,75,75,75,1,13, ++ 13,13,1,6,6,6,1,4,4,4,1,1,1,1,1,0,0,0,6,33, ++ 33,33,1,192,192,192,1,255,255,255,2,105,105,105,1,0,0,0,6,23, ++ 23,23,1,255,255,255,10,171,171,171,1,59,59,59,1,5,5,5,1,1, ++ 1,1,1,0,0,0,4,81,81,81,1,161,161,161,1,255,255,255,3,171, ++ 171,171,1,57,57,57,1,0,0,0,6,3,3,3,1,153,153,153,1,255, ++ 255,255,11,227,227,227,1,196,196,196,1,149,149,149,1,179,179,179,1,194, ++ 194,194,1,255,255,255,5,197,197,197,1,64,64,64,1,39,39,39,1,0, ++ 0,0,7,26,26,26,1,228,228,228,1,255,255,255,19,221,221,221,1,80, ++ 80,80,1,44,44,44,1,17,17,17,1,0,0,0,7,3,3,3,1,65, ++ 65,65,1,242,242,242,1,255,255,255,17,187,187,187,1,67,67,67,1,47, ++ 47,47,1,20,20,20,1,4,4,4,1,0,0,0,8,6,6,6,1,70, ++ 70,70,1,230,230,230,1,255,255,255,14,244,244,244,1,130,130,130,1,62, ++ 62,62,1,41,41,41,1,19,19,19,1,4,4,4,1,0,0,0,9,1, ++ 1,1,1,8,8,8,1,41,41,41,1,178,178,178,1,255,255,255,11,244, ++ 244,244,1,165,165,165,1,79,79,79,1,53,53,53,1,33,33,33,1,14, ++ 14,14,1,3,3,3,1,0,0,0,11,1,1,1,1,6,6,6,1,21, ++ 21,21,1,68,68,68,1,157,157,157,1,220,220,220,1,255,255,255,5,244, ++ 244,244,1,199,199,199,1,140,140,140,1,76,76,76,1,54,54,54,1,38, ++ 38,38,1,21,21,21,1,8,8,8,1,2,2,2,1,0,0,0,14,3, ++ 3,3,1,12,12,12,1,24,24,24,1,38,38,38,1,49,49,49,1,56, ++ 56,56,1,58,58,58,3,57,57,57,1,53,53,53,1,45,45,45,1,33, ++ 33,33,1,21,21,21,1,10,10,10,1,3,3,3,1,0,0,0,17,1, ++ 1,1,1,4,4,4,1,9,9,9,1,15,15,15,1,18,18,18,1,19, ++ 19,19,4,17,17,17,1,13,13,13,1,7,7,7,1,2,2,2,1,0, ++ 0,0,135,22,102,97,99,101,46,102,97,100,101,95,116,114,97,110,115,112, ++ 97,114,101,110,99,121,4,0,0,0,128,10,102,97,99,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,6,0,0,7,116,98, ++ 117,116,116,111,110,8,116,98,117,116,116,111,110,56,8,98,111,117,110,100, ++ 115,95,120,3,195,2,8,98,111,117,110,100,115,95,121,2,19,9,98,111, ++ 117,110,100,115,95,99,120,2,42,9,98,111,117,110,100,115,95,99,121,2, ++ 45,5,99,111,108,111,114,4,3,0,0,128,16,102,114,97,109,101,46,99, ++ 111,108,111,114,102,114,97,109,101,4,1,0,0,128,16,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,116,111,112,2,255,19,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,98,111,116,116,111,109,2,255,13,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,6,4,72,101,108,112,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,6,99,112,95,116,111,112, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,0, ++ 22,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,111,117, ++ 116,101,114,9,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,108,101,118,101,108,111,10,102,114,108,95,108,101, ++ 118,101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116,104,14, ++ 102,114,108,95,99,111,108,111,114,102,114,97,109,101,16,102,114,108,95,99, ++ 111,108,111,114,100,107,119,105,100,116,104,16,102,114,108,95,99,111,108,111, ++ 114,104,108,119,105,100,116,104,10,102,114,108,95,102,105,108,101,102,116,9, ++ 102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104, ++ 116,12,102,114,108,95,102,105,98,111,116,116,111,109,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,27,102,97,99,101,46,105,109,97,103,101,46,116,114,97, ++ 110,115,112,97,114,101,110,116,99,111,108,111,114,4,0,0,0,128,18,102, ++ 97,99,101,46,105,109,97,103,101,46,111,112,116,105,111,110,115,11,10,98, ++ 109,111,95,109,97,115,107,101,100,13,98,109,111,95,99,111,108,111,114,109, ++ 97,115,107,0,20,102,97,99,101,46,105,109,97,103,101,46,97,108,105,103, ++ 110,109,101,110,116,11,12,97,108,95,120,99,101,110,116,101,114,101,100,9, ++ 97,108,95,98,111,116,116,111,109,0,23,102,97,99,101,46,105,109,97,103, ++ 101,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,16, ++ 102,97,99,101,46,105,109,97,103,101,46,105,109,97,103,101,10,92,9,0, ++ 0,0,0,0,0,6,0,0,0,32,0,0,0,32,0,0,0,192,6,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,33,94,94,94, ++ 11,255,122,57,2,255,121,56,3,255,120,54,1,255,118,52,1,255,118,50, ++ 1,94,94,94,11,255,255,255,2,94,94,94,8,255,124,59,3,255,122,57, ++ 1,255,121,56,3,255,120,54,1,255,118,52,1,255,118,50,3,255,117,48, ++ 1,255,115,47,1,94,94,94,8,255,255,255,2,94,94,94,7,255,124,59, ++ 3,255,125,61,1,255,131,70,1,255,136,77,1,242,162,123,1,249,171,134, ++ 2,242,169,133,1,255,135,75,1,255,127,65,1,255,120,54,1,255,115,47, ++ 2,255,114,45,1,94,94,94,7,255,255,255,2,94,94,94,5,255,125,61, ++ 1,255,124,59,2,255,126,63,1,255,135,75,1,250,182,149,1,252,215,197, ++ 1,255,249,246,6,253,229,217,1,251,196,170,1,236,151,109,1,255,118,50, ++ 1,255,114,45,1,255,113,43,2,94,94,94,5,255,255,255,2,94,94,94, ++ 4,255,125,61,1,255,124,59,2,255,132,72,1,249,174,137,1,253,229,217, ++ 1,255,242,235,2,253,235,226,1,243,209,193,1,241,205,187,1,242,204,185, ++ 3,255,242,235,3,251,192,164,1,243,137,85,1,255,113,43,1,255,111,41, ++ 1,255,110,39,1,94,94,94,4,255,255,255,2,94,94,94,3,255,125,61, ++ 1,255,124,59,2,246,144,93,1,251,201,176,1,255,234,224,2,251,223,209, ++ 1,242,204,185,2,255,255,255,5,242,204,185,2,255,234,224,2,253,218,201, ++ 1,232,154,117,1,255,110,39,2,255,109,38,1,94,94,94,3,255,255,255, ++ 2,94,94,94,3,255,124,59,2,255,135,75,1,253,212,192,1,255,229,215, ++ 2,249,212,193,1,240,201,182,1,255,255,255,9,242,204,185,1,255,229,215, ++ 2,254,223,207,1,233,153,114,1,255,109,38,2,94,94,94,3,255,255,255, ++ 2,94,94,94,2,255,124,59,2,255,132,72,1,251,191,162,1,255,220,203, ++ 2,253,216,198,1,240,201,182,1,255,255,255,11,242,204,185,1,255,220,203, ++ 2,253,206,183,1,245,133,78,1,255,108,36,2,94,94,94,2,255,255,255, ++ 2,94,94,94,1,255,124,59,2,255,125,61,1,249,165,125,1,255,215,194, ++ 3,242,189,163,1,255,255,255,4,255,238,230,1,255,215,196,1,255,215,194, ++ 1,255,218,199,1,255,247,242,1,255,255,255,3,255,249,246,1,255,215,194, ++ 3,251,188,156,1,255,111,41,1,255,107,34,2,94,94,94,1,255,255,255, ++ 2,94,94,94,1,255,124,59,2,255,135,75,1,253,198,171,1,255,206,181, ++ 3,244,206,187,1,255,255,255,3,255,249,246,1,255,206,181,4,249,199,175, ++ 1,251,247,244,1,255,255,255,3,255,209,187,1,255,206,181,3,242,140,91, ++ 1,255,107,34,1,255,106,32,1,94,94,94,1,255,255,255,2,94,94,94, ++ 1,255,124,59,1,255,125,61,1,250,165,124,1,255,198,171,4,246,211,194, ++ 1,255,255,255,3,255,220,203,1,255,198,171,4,249,191,162,1,242,224,215, ++ 1,255,255,255,3,255,213,192,1,255,198,171,1,252,182,148,1,251,169,128, ++ 1,248,152,104,1,255,109,38,1,255,104,30,1,94,94,94,1,255,255,255, ++ 2,255,122,57,2,255,130,68,1,252,177,139,1,255,191,160,4,252,206,184, ++ 1,255,255,255,2,255,251,248,1,255,195,165,1,255,191,160,4,228,172,145, ++ 1,255,255,255,4,250,166,126,1,251,145,94,1,255,141,84,3,255,121,56, ++ 1,255,104,30,2,255,255,255,2,255,122,57,1,255,121,56,1,255,136,77, ++ 1,254,180,145,1,255,184,149,5,255,206,181,1,255,218,199,1,255,192,162, ++ 1,255,184,149,4,232,174,145,1,244,231,224,1,255,255,255,3,253,227,214, ++ 1,255,141,84,5,255,130,68,1,255,104,30,1,255,103,29,1,255,255,255, ++ 2,255,121,56,2,252,140,85,1,255,177,138,12,232,171,142,1,251,247,244, ++ 1,255,255,255,3,254,248,245,1,248,157,113,1,255,141,84,5,255,135,75, ++ 1,255,103,29,1,255,102,27,1,255,255,255,2,255,121,56,1,255,120,54, ++ 1,249,150,101,1,255,170,127,11,224,163,133,1,251,247,244,1,255,255,255, ++ 3,254,248,245,1,248,165,124,1,255,141,84,7,255,102,27,1,254,101,26, ++ 1,255,255,255,2,255,120,54,2,250,148,99,1,255,161,115,10,233,153,114, ++ 1,251,247,244,1,255,255,255,3,254,248,245,1,248,165,124,1,255,141,84, ++ 8,254,101,26,2,255,255,255,2,255,118,52,2,254,138,82,1,255,153,102, ++ 9,254,153,103,1,231,193,175,1,255,255,255,3,254,241,234,1,249,165,125, ++ 1,255,142,86,8,255,135,75,1,254,101,26,2,255,255,255,2,255,118,52, ++ 1,255,118,50,1,255,136,77,1,255,148,95,7,254,147,94,1,254,145,92, ++ 1,255,145,90,1,241,223,214,1,255,255,255,3,251,166,124,1,255,145,90, ++ 9,255,130,68,1,252,100,26,2,255,255,255,2,255,118,50,2,255,130,68, ++ 1,255,145,91,1,254,147,94,3,255,146,93,1,255,145,91,5,240,223,215, ++ 1,255,255,255,2,254,235,225,1,255,145,91,10,255,118,52,1,251,100,26, ++ 2,255,255,255,2,94,94,94,1,255,117,48,1,255,120,54,1,255,146,93, ++ 10,243,211,195,1,255,255,255,2,255,201,174,1,255,146,93,10,255,104,30, ++ 1,251,100,26,1,94,94,94,1,255,255,255,2,94,94,94,1,255,115,47, ++ 2,251,138,83,1,255,150,99,9,255,157,109,1,255,198,169,1,255,190,158, ++ 1,255,150,99,10,251,133,74,1,251,100,26,2,94,94,94,1,255,255,255, ++ 2,94,94,94,1,255,115,47,2,253,119,54,1,255,155,106,9,237,145,99, ++ 1,242,204,185,1,238,197,177,1,251,165,123,1,255,155,106,9,252,107,35, ++ 1,251,100,26,2,94,94,94,1,255,255,255,2,94,94,94,2,255,114,45, ++ 1,255,113,43,1,243,140,89,1,255,161,115,7,242,153,109,1,242,230,224, ++ 1,255,255,255,2,255,249,246,1,255,166,122,1,255,161,115,7,242,135,82, ++ 1,251,100,26,1,249,100,26,1,94,94,94,2,255,255,255,2,94,94,94, ++ 3,255,113,43,2,238,150,107,1,255,165,120,6,238,154,114,1,255,255,255, ++ 4,255,188,154,1,255,165,120,6,236,145,101,1,251,100,26,1,249,100,26, ++ 1,94,94,94,3,255,255,255,2,94,94,94,3,255,113,43,1,255,111,41, ++ 1,255,110,39,1,234,153,114,1,255,170,127,5,247,164,123,1,255,249,246, ++ 1,255,255,255,3,255,180,144,1,255,170,127,5,233,151,110,1,251,100,26, ++ 1,249,100,26,2,94,94,94,3,255,255,255,2,94,94,94,4,255,110,39, ++ 1,255,109,38,2,233,148,107,1,255,176,136,5,255,190,158,1,255,230,217, ++ 1,255,234,224,1,255,201,174,1,255,176,136,5,230,145,102,1,251,100,26, ++ 1,249,100,26,2,94,94,94,4,255,255,255,2,94,94,94,5,255,109,38, ++ 1,255,108,36,2,245,118,56,1,233,161,125,1,255,180,144,10,228,158,124, ++ 1,243,112,47,1,251,100,26,1,249,100,26,2,94,94,94,5,255,255,255, ++ 2,94,94,94,7,255,107,34,2,255,106,32,1,242,119,59,1,227,149,110, ++ 1,234,166,132,1,242,173,140,1,255,185,151,2,242,174,140,1,233,165,131, ++ 1,225,145,107,1,241,114,52,1,251,100,26,2,249,100,26,1,94,94,94, ++ 7,255,255,255,2,94,94,94,8,255,106,32,2,255,104,30,2,255,103,29, ++ 1,255,102,27,2,254,101,26,2,252,100,26,1,251,100,26,3,249,100,26, ++ 1,94,94,94,8,255,255,255,2,94,94,94,11,255,103,29,2,255,102,27, ++ 1,254,101,26,2,252,100,26,2,251,100,26,1,94,94,94,11,255,255,255, ++ 33,100,2,0,0,0,0,0,44,32,32,32,1,64,64,64,1,128,128,128, ++ 4,64,64,64,1,32,32,32,1,0,0,0,21,16,16,16,1,112,112,112, ++ 1,207,207,207,1,255,255,255,8,207,207,207,1,112,112,112,1,16,16,16, ++ 1,0,0,0,17,128,128,128,1,239,239,239,1,255,255,255,12,239,239,239, ++ 1,128,128,128,1,0,0,0,14,16,16,16,1,207,207,207,1,255,255,255, ++ 16,207,207,207,1,16,16,16,1,0,0,0,11,48,48,48,1,239,239,239, ++ 1,255,255,255,18,239,239,239,1,48,48,48,1,0,0,0,9,16,16,16, ++ 1,239,239,239,1,255,255,255,20,239,239,239,1,16,16,16,1,0,0,0, ++ 8,207,207,207,1,255,255,255,22,207,207,207,1,0,0,0,7,128,128,128, ++ 1,255,255,255,24,128,128,128,1,0,0,0,5,16,16,16,1,239,239,239, ++ 1,255,255,255,24,239,239,239,1,16,16,16,1,0,0,0,4,112,112,112, ++ 1,255,255,255,26,112,112,112,1,0,0,0,4,207,207,207,1,255,255,255, ++ 26,207,207,207,1,0,0,0,3,32,32,32,1,255,255,255,28,32,32,32, ++ 1,0,0,0,2,64,64,64,1,255,255,255,28,64,64,64,1,0,0,0, ++ 2,128,128,128,1,255,255,255,28,128,128,128,1,0,0,0,2,128,128,128, ++ 1,255,255,255,28,128,128,128,1,0,0,0,2,128,128,128,1,255,255,255, ++ 28,128,128,128,1,0,0,0,2,128,128,128,1,255,255,255,28,128,128,128, ++ 1,0,0,0,2,64,64,64,1,255,255,255,28,64,64,64,1,0,0,0, ++ 2,32,32,32,1,255,255,255,28,32,32,32,1,0,0,0,3,207,207,207, ++ 1,255,255,255,26,207,207,207,1,0,0,0,4,112,112,112,1,255,255,255, ++ 26,112,112,112,1,0,0,0,4,16,16,16,1,239,239,239,1,255,255,255, ++ 24,239,239,239,1,16,16,16,1,0,0,0,5,128,128,128,1,255,255,255, ++ 24,128,128,128,1,0,0,0,7,207,207,207,1,255,255,255,22,207,207,207, ++ 1,0,0,0,8,16,16,16,1,239,239,239,1,255,255,255,20,239,239,239, ++ 1,16,16,16,1,0,0,0,9,48,48,48,1,239,239,239,1,255,255,255, ++ 18,239,239,239,1,48,48,48,1,0,0,0,11,16,16,16,1,207,207,207, ++ 1,255,255,255,16,207,207,207,1,16,16,16,1,0,0,0,14,128,128,128, ++ 1,239,239,239,1,255,255,255,12,239,239,239,1,128,128,128,1,0,0,0, ++ 17,16,16,16,1,112,112,112,1,207,207,207,1,255,255,255,8,207,207,207, ++ 1,112,112,112,1,16,16,16,1,0,0,0,21,32,32,32,1,64,64,64, ++ 1,128,128,128,4,64,64,64,1,32,32,32,1,0,0,0,44,22,102,97, ++ 99,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121, ++ 4,0,0,0,128,10,102,97,99,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,7,5,115,116,97,116,101,11,17,97,115,95, ++ 108,111,99,97,108,105,109,97,103,101,108,105,115,116,15,97,115,95,108,111, ++ 99,97,108,105,109,97,103,101,110,114,0,0,0,9,116,115,101,108,101,99, ++ 116,111,114,10,116,115,101,108,101,99,116,111,114,49,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,3,150,1,8,98,111,117,110,100,115,95, ++ 121,2,27,9,98,111,117,110,100,115,95,99,120,3,225,0,9,98,111,117, ++ 110,100,115,95,99,121,2,33,5,99,111,108,111,114,4,3,0,0,128,12, ++ 102,114,97,109,101,46,108,101,118,101,108,111,2,2,12,102,114,97,109,101, ++ 46,108,101,118,101,108,105,2,255,16,102,114,97,109,101,46,102,114,97,109, ++ 101,119,105,100,116,104,2,2,16,102,114,97,109,101,46,99,111,108,111,114, ++ 102,114,97,109,101,4,24,0,0,160,17,102,114,97,109,101,46,102,114,97, ++ 109,101,105,95,108,101,102,116,2,5,17,102,114,97,109,101,46,99,111,108, ++ 111,114,99,108,105,101,110,116,4,218,218,237,0,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,18,11,0,0,0,34,4,53,4,64,4,60,4, ++ 56,4,61,4,48,4,66,4,62,4,64,4,75,4,16,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,5, ++ 16,102,114,97,109,101,46,102,111,110,116,46,99,111,108,111,114,3,0,105, ++ 17,102,114,97,109,101,46,102,111,110,116,46,104,101,105,103,104,116,2,15, ++ 16,102,114,97,109,101,46,102,111,110,116,46,115,116,121,108,101,11,7,102, ++ 115,95,98,111,108,100,0,15,102,114,97,109,101,46,102,111,110,116,46,110, ++ 97,109,101,6,11,115,116,102,95,100,101,102,97,117,108,116,16,102,114,97, ++ 109,101,46,102,111,110,116,46,100,117,109,109,121,2,0,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95, ++ 102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114, ++ 102,114,97,109,101,10,102,114,108,95,102,105,108,101,102,116,15,102,114,108, ++ 95,99,111,108,111,114,99,108,105,101,110,116,0,18,102,114,97,109,101,46, ++ 98,117,116,116,111,110,46,119,105,100,116,104,2,25,36,102,114,97,109,101, ++ 46,98,117,116,116,111,110,46,102,97,99,101,46,105,109,97,103,101,46,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,32,102,114,97, ++ 109,101,46,98,117,116,116,111,110,46,102,97,99,101,46,102,97,100,101,95, ++ 112,111,115,46,99,111,117,110,116,2,2,32,102,114,97,109,101,46,98,117, ++ 116,116,111,110,46,102,97,99,101,46,102,97,100,101,95,112,111,115,46,105, ++ 116,101,109,115,1,2,0,2,1,0,34,102,114,97,109,101,46,98,117,116, ++ 116,111,110,46,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46, ++ 99,111,117,110,116,2,2,34,102,114,97,109,101,46,98,117,116,116,111,110, ++ 46,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101, ++ 109,115,1,4,120,120,120,0,4,5,0,0,160,0,32,102,114,97,109,101, ++ 46,98,117,116,116,111,110,46,102,97,99,101,46,102,97,100,101,95,100,105, ++ 114,101,99,116,105,111,110,7,7,103,100,95,100,111,119,110,35,102,114,97, ++ 109,101,46,98,117,116,116,111,110,46,102,97,99,101,46,102,97,100,101,95, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,23,102,114, ++ 97,109,101,46,98,117,116,116,111,110,46,102,97,99,101,46,100,117,109,109, ++ 121,2,0,20,102,114,97,109,101,46,98,117,116,116,111,110,46,105,109,97, ++ 103,101,110,114,2,9,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,109, ++ 2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,8,11,102, ++ 111,110,116,46,104,101,105,103,104,116,2,16,10,102,111,110,116,46,115,116, ++ 121,108,101,11,7,102,115,95,98,111,108,100,9,102,115,95,105,116,97,108, ++ 105,99,0,9,102,111,110,116,46,110,97,109,101,6,15,84,105,109,101,115, ++ 32,78,101,119,32,82,111,109,97,110,10,102,111,110,116,46,100,117,109,109, ++ 121,2,0,19,100,114,111,112,100,111,119,110,105,116,101,109,115,46,99,111, ++ 117,110,116,2,4,19,100,114,111,112,100,111,119,110,105,116,101,109,115,46, ++ 105,116,101,109,115,14,1,0,1,0,1,0,1,0,0,5,118,97,108,117, ++ 101,2,0,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111, ++ 117,110,116,2,1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46, ++ 105,116,101,109,115,14,1,4,100,97,116,97,1,18,5,0,0,0,26,4, ++ 62,4,72,4,58,4,56,4,18,6,0,0,0,33,4,62,4,49,4,48, ++ 4,58,4,56,4,18,5,0,0,0,28,4,75,4,72,4,58,4,56,4, ++ 0,0,0,18,100,114,111,112,100,111,119,110,46,105,116,101,109,105,110,100, ++ 101,120,2,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,19, ++ 0,0,0,9,116,109,97,105,110,109,101,110,117,10,116,109,97,105,110,109, ++ 101,110,117,49,18,109,101,110,117,46,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,2,18,109,101,110,117,46,115,117,98,109,101,110,117,46,105, ++ 116,101,109,115,14,1,13,115,117,98,109,101,110,117,46,99,111,117,110,116, ++ 2,3,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,7,99, ++ 97,112,116,105,111,110,6,5,38,83,97,118,101,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95, ++ 108,111,99,97,108,105,109,97,103,101,108,105,115,116,15,97,115,95,108,111, ++ 99,97,108,105,109,97,103,101,110,114,0,9,105,109,97,103,101,108,105,115, ++ 116,7,11,116,105,109,97,103,101,108,105,115,116,50,7,105,109,97,103,101, ++ 110,114,2,0,0,1,7,99,97,112,116,105,111,110,6,5,38,79,112,101, ++ 110,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,17,97,115,95,108,111,99,97,108,105,109,97,103,101,108,105, ++ 115,116,15,97,115,95,108,111,99,97,108,105,109,97,103,101,110,114,0,9, ++ 105,109,97,103,101,108,105,115,116,7,11,116,105,109,97,103,101,108,105,115, ++ 116,50,7,105,109,97,103,101,110,114,2,1,0,1,7,99,97,112,116,105, ++ 111,110,6,5,38,69,120,105,116,5,115,116,97,116,101,11,15,97,115,95, ++ 108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97, ++ 108,105,109,97,103,101,108,105,115,116,15,97,115,95,108,111,99,97,108,105, ++ 109,97,103,101,110,114,0,9,105,109,97,103,101,108,105,115,116,7,11,116, ++ 105,109,97,103,101,108,105,115,116,50,7,105,109,97,103,101,110,114,2,2, ++ 10,102,111,110,116,46,99,111,108,111,114,4,0,0,192,0,11,102,111,110, ++ 116,46,104,101,105,103,104,116,2,30,10,102,111,110,116,46,115,116,121,108, ++ 101,11,7,102,115,95,98,111,108,100,9,102,115,95,105,116,97,108,105,99, ++ 0,9,102,111,110,116,46,110,97,109,101,6,15,84,105,109,101,115,32,78, ++ 101,119,32,82,111,109,97,110,10,102,111,110,116,46,100,117,109,109,121,2, ++ 0,0,0,7,99,97,112,116,105,111,110,6,5,38,70,105,108,101,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,17,97,115,95,108,111,99,97,108,105,109,97,103,101,108,105,115,116,0, ++ 0,1,7,99,97,112,116,105,111,110,6,5,38,72,101,108,112,5,115,116, ++ 97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110, ++ 0,0,0,16,109,101,110,117,46,102,111,110,116,46,104,101,105,103,104,116, ++ 2,18,15,109,101,110,117,46,102,111,110,116,46,115,116,121,108,101,11,7, ++ 102,115,95,98,111,108,100,0,14,109,101,110,117,46,102,111,110,116,46,110, ++ 97,109,101,6,15,84,105,109,101,115,32,78,101,119,32,82,111,109,97,110, ++ 15,109,101,110,117,46,102,111,110,116,46,100,117,109,109,121,2,0,13,102, ++ 114,97,109,101,116,101,109,112,108,97,116,101,7,11,116,102,114,97,109,101, ++ 99,111,109,112,50,12,102,97,99,101,116,101,109,112,108,97,116,101,7,10, ++ 116,102,97,99,101,99,111,109,112,49,17,105,116,101,109,102,114,97,109,101, ++ 116,101,109,112,108,97,116,101,7,11,116,102,114,97,109,101,99,111,109,112, ++ 50,16,105,116,101,109,102,97,99,101,116,101,109,112,108,97,116,101,7,10, ++ 116,102,97,99,101,99,111,109,112,49,22,112,111,112,117,112,105,116,101,109, ++ 102,114,97,109,101,116,101,109,112,108,97,116,101,7,11,116,102,114,97,109, ++ 101,99,111,109,112,50,21,112,111,112,117,112,105,116,101,109,102,97,99,101, ++ 116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112,49, ++ 4,108,101,102,116,3,96,1,3,116,111,112,3,144,0,0,0,10,116,102, ++ 114,97,109,101,99,111,109,112,11,116,102,114,97,109,101,99,111,109,112,50, ++ 15,116,101,109,112,108,97,116,101,46,108,101,118,101,108,105,2,1,19,116, ++ 101,109,112,108,97,116,101,46,102,114,97,109,101,119,105,100,116,104,2,2, ++ 19,116,101,109,112,108,97,116,101,46,99,111,108,111,114,102,114,97,109,101, ++ 4,255,194,194,0,20,116,101,109,112,108,97,116,101,46,102,114,97,109,101, ++ 105,95,108,101,102,116,2,1,19,116,101,109,112,108,97,116,101,46,102,114, ++ 97,109,101,105,95,116,111,112,2,2,21,116,101,109,112,108,97,116,101,46, ++ 102,114,97,109,101,105,95,114,105,103,104,116,2,40,22,116,101,109,112,108, ++ 97,116,101,46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,2,19, ++ 116,101,109,112,108,97,116,101,46,101,120,116,114,97,115,112,97,99,101,2, ++ 251,20,116,101,109,112,108,97,116,101,46,99,111,108,111,114,115,104,97,100, ++ 111,119,4,11,0,0,160,4,108,101,102,116,3,216,1,3,116,111,112,2, ++ 121,0,0,9,116,102,97,99,101,99,111,109,112,10,116,102,97,99,101,99, ++ 111,109,112,49,27,116,101,109,112,108,97,116,101,46,105,109,97,103,101,46, ++ 116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,23,116,101, ++ 109,112,108,97,116,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110, ++ 116,2,2,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111, ++ 115,46,105,116,101,109,115,1,2,0,2,1,0,25,116,101,109,112,108,97, ++ 116,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2, ++ 2,25,116,101,109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111, ++ 114,46,105,116,101,109,115,1,4,255,212,212,0,4,212,212,255,0,0,23, ++ 116,101,109,112,108,97,116,101,46,102,97,100,101,95,100,105,114,101,99,116, ++ 105,111,110,7,7,103,100,95,100,111,119,110,26,116,101,109,112,108,97,116, ++ 101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,4,108,101,102,116,3,96,1,3,116,111,112,2,105,0,0, ++ 10,116,105,109,97,103,101,108,105,115,116,11,116,105,109,97,103,101,108,105, ++ 115,116,50,5,119,105,100,116,104,2,32,6,104,101,105,103,104,116,2,30, ++ 9,99,111,108,111,114,109,97,115,107,9,16,116,114,97,110,115,112,97,114, ++ 101,110,116,99,111,108,111,114,4,0,0,0,128,5,99,111,117,110,116,2, ++ 3,4,108,101,102,116,2,32,3,116,111,112,2,99,5,105,109,97,103,101, ++ 10,220,40,0,0,0,0,0,0,6,0,0,0,64,0,0,0,60,0,0, ++ 0,168,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255, ++ 81,128,128,128,1,255,255,255,1,208,208,208,13,255,255,255,32,208,208,208, ++ 32,255,255,255,32,208,208,208,3,128,128,128,1,255,255,255,1,208,208,208, ++ 27,255,255,255,32,208,208,208,5,0,0,0,5,203,184,183,1,206,188,187, ++ 1,203,183,182,1,205,187,187,1,195,174,173,1,190,167,165,1,187,163,162, ++ 1,190,167,167,1,187,163,163,1,182,157,157,1,179,153,153,1,175,148,148, ++ 1,172,143,143,1,168,138,138,1,164,133,133,1,143,104,100,1,127,82,79, ++ 1,208,208,208,5,255,255,255,5,0,0,0,22,255,255,255,5,208,208,208, ++ 5,0,0,0,5,206,188,187,1,236,229,225,1,237,229,225,1,255,255,255, ++ 1,175,144,127,1,166,130,112,1,175,143,126,1,255,255,255,8,208,189,179, ++ 1,172,142,134,1,208,208,208,5,255,255,255,5,244,186,149,1,243,183,147, ++ 1,240,177,141,1,237,171,137,1,234,164,132,1,232,158,127,1,229,151,122, ++ 1,227,145,116,1,223,139,112,1,221,132,106,1,219,126,103,1,214,118,97, ++ 1,212,112,92,1,209,106,86,1,206,100,83,1,204,93,78,1,201,86,72, ++ 1,198,80,67,1,196,73,62,1,193,67,58,1,190,61,54,1,188,58,51, ++ 1,255,255,255,5,208,208,208,5,0,0,0,5,201,181,180,1,230,221,215, ++ 1,231,221,216,1,255,255,255,1,140,94,70,1,150,108,87,1,168,134,116, ++ 1,255,255,255,8,198,175,163,1,172,142,132,1,208,208,208,5,200,200,200, ++ 1,251,251,251,4,246,195,162,1,253,234,221,1,254,245,237,1,254,244,236, ++ 1,254,242,235,1,254,241,233,1,253,240,232,1,253,238,231,1,253,236,230, ++ 1,253,235,229,1,253,233,228,1,252,230,225,1,252,229,223,1,252,226,220, ++ 1,252,224,216,1,252,221,213,1,251,218,210,1,250,216,206,1,250,213,202, ++ 1,249,211,199,1,237,178,166,1,197,77,69,1,0,0,0,5,208,208,208, ++ 2,156,156,156,1,0,0,0,1,208,208,208,1,0,0,0,5,197,176,174, ++ 1,227,216,210,1,228,217,211,1,255,255,255,1,151,109,88,1,175,143,127, ++ 1,192,167,154,1,255,255,255,8,194,169,157,1,160,127,117,1,208,208,208, ++ 5,251,251,251,5,246,201,173,1,255,253,249,1,254,247,245,1,241,202,193, ++ 1,233,187,177,1,234,190,179,1,235,193,183,1,236,195,186,1,237,197,189, ++ 1,238,200,192,1,238,202,194,1,238,205,198,1,240,207,201,1,240,210,204, ++ 1,241,213,206,1,242,216,209,1,242,218,211,1,243,221,213,1,244,224,214, ++ 1,252,241,229,1,254,234,218,1,206,100,91,1,251,251,251,5,208,208,208, ++ 5,203,184,183,1,206,188,187,1,203,183,182,1,205,187,187,1,195,174,173, ++ 1,190,167,165,1,189,166,164,1,192,169,169,1,191,168,168,1,182,157,157, ++ 1,181,155,155,1,178,151,151,1,177,150,150,1,173,145,145,1,169,140,140, ++ 1,150,113,109,1,173,145,143,1,246,243,243,1,255,255,255,1,254,253,253, ++ 1,181,155,142,1,146,111,102,1,208,208,208,1,156,156,156,1,0,0,0, ++ 1,208,208,208,2,251,251,251,5,243,196,170,1,255,252,249,1,246,226,222, ++ 1,207,166,157,1,185,175,173,1,169,160,157,1,144,135,133,1,140,131,128, ++ 1,139,130,129,1,136,128,126,1,131,123,121,1,124,117,115,1,119,111,110, ++ 1,112,105,104,1,106,100,99,1,100,94,93,1,94,88,87,1,88,83,82, ++ 1,109,104,103,1,226,223,221,1,254,233,216,1,206,100,90,1,251,251,251, ++ 5,208,208,208,5,206,188,187,1,236,229,225,1,237,229,225,1,255,255,255, ++ 1,175,144,127,1,166,130,112,1,175,143,126,1,255,255,255,8,208,189,179, ++ 1,172,142,134,1,155,120,118,1,235,228,225,1,222,211,208,1,163,132,120, ++ 1,138,102,92,1,208,208,208,5,251,251,251,5,242,191,166,1,255,251,248, ++ 1,245,225,220,1,204,168,160,1,208,208,208,1,230,230,230,1,149,149,149, ++ 1,128,128,128,2,124,124,124,1,118,118,118,1,109,109,109,1,103,103,103, ++ 1,95,95,95,1,89,89,89,1,81,81,81,1,74,74,74,1,68,68,68, ++ 1,76,76,76,1,214,214,213,1,254,232,213,1,206,100,90,1,241,241,241, ++ 1,58,58,58,1,0,0,0,1,54,54,54,1,110,110,110,1,208,208,208, ++ 5,201,181,180,1,230,221,215,1,231,221,216,1,255,255,255,1,140,94,70, ++ 1,150,108,87,1,168,134,116,1,255,255,255,8,198,175,163,1,172,142,132, ++ 1,109,60,58,1,169,139,127,1,160,128,116,1,147,111,98,1,132,94,84, ++ 1,208,208,208,2,128,128,128,1,255,255,255,1,208,208,208,1,248,248,248, ++ 1,18,18,18,1,0,0,0,1,248,248,248,2,240,186,162,1,255,251,248, ++ 1,246,226,221,1,203,168,160,1,208,208,208,1,255,255,255,1,225,225,225, ++ 1,130,130,130,1,127,127,127,1,124,124,124,1,117,117,117,1,109,109,109, ++ 1,103,103,103,1,95,95,95,1,89,89,89,1,81,81,81,1,74,74,74, ++ 1,67,67,67,1,77,77,77,1,215,214,213,1,253,231,211,1,206,100,89, ++ 1,220,220,220,1,248,248,248,3,21,21,21,1,208,208,208,5,197,176,174, ++ 1,227,216,210,1,228,217,211,1,255,255,255,1,151,109,88,1,175,143,127, ++ 1,192,167,154,1,255,255,255,8,194,169,157,1,160,127,117,1,102,51,49, ++ 1,148,113,99,1,143,106,92,1,137,100,86,1,124,86,76,1,208,208,208, ++ 1,194,194,194,1,71,71,71,1,12,12,12,1,26,26,26,1,21,21,21, ++ 1,46,46,46,1,248,248,248,3,238,182,158,1,255,250,247,1,246,227,223, ++ 1,197,164,156,1,202,202,202,1,255,255,255,1,178,178,178,1,133,133,133, ++ 1,127,127,127,1,122,122,122,1,116,116,116,1,109,109,109,1,102,102,102, ++ 1,95,95,95,1,88,88,88,1,80,80,80,1,73,73,73,1,66,66,66, ++ 1,72,72,72,1,213,213,212,1,254,229,208,1,206,99,88,1,248,248,248, ++ 2,46,46,46,1,0,0,0,1,248,248,248,1,91,91,91,1,0,0,0, ++ 1,208,208,208,3,192,170,168,1,223,211,204,1,225,212,206,1,255,255,255, ++ 1,196,172,159,1,211,194,185,1,223,210,203,1,255,255,255,7,254,253,253, ++ 1,181,155,142,1,146,111,102,1,100,48,46,1,155,122,111,1,150,116,104, ++ 1,134,97,82,1,118,79,69,1,208,208,208,3,45,45,45,1,81,81,81, ++ 1,248,248,248,5,236,177,155,1,255,250,247,1,246,228,224,1,189,157,150, ++ 1,190,190,190,1,174,174,174,1,110,110,110,1,128,128,128,1,127,127,127, ++ 1,120,120,120,1,115,115,115,1,107,107,107,1,100,100,100,1,93,93,93, ++ 1,86,86,86,1,80,80,80,1,72,72,72,1,59,59,59,1,68,68,68, ++ 1,213,213,211,1,254,228,205,1,206,99,88,1,23,23,23,1,40,40,40, ++ 1,244,244,244,3,201,201,201,1,205,205,205,1,107,107,107,1,16,16,16, ++ 1,208,208,208,1,188,164,161,1,220,206,198,1,219,205,197,1,245,241,238, ++ 1,244,240,237,1,243,239,236,1,243,238,235,1,242,237,234,1,241,236,233, ++ 1,240,235,232,1,240,234,231,1,239,233,230,1,239,232,229,1,235,228,225, ++ 1,222,211,208,1,163,132,120,1,138,102,92,1,99,49,48,1,210,194,194, ++ 1,206,188,188,1,139,103,92,1,111,70,61,1,208,208,208,5,244,244,244, ++ 5,234,171,150,1,255,249,246,1,243,231,229,1,173,152,147,1,130,130,130, ++ 1,103,103,103,1,128,128,128,1,127,127,127,1,124,124,124,1,118,118,118, ++ 1,112,112,112,1,105,105,105,1,98,98,98,1,91,91,91,1,83,83,83, ++ 1,74,74,74,1,62,62,62,1,55,55,55,1,67,67,67,1,213,213,211, ++ 1,254,226,204,1,206,98,87,1,244,244,244,5,208,208,208,1,128,128,128, ++ 1,255,255,255,1,208,208,208,2,184,158,155,1,217,201,193,1,210,193,183, ++ 1,212,195,186,1,209,191,181,1,206,187,177,1,204,184,173,1,201,180,168, ++ 1,199,176,164,1,196,172,160,1,193,169,155,1,189,163,149,1,182,154,141, ++ 1,169,139,127,1,160,128,116,1,147,111,98,1,132,94,84,1,96,44,44, ++ 1,205,188,188,1,201,182,182,1,133,97,85,1,106,64,55,1,208,208,208, ++ 1,147,147,147,1,0,0,0,1,208,208,208,1,197,197,197,1,244,244,244, ++ 5,233,167,147,1,255,248,246,1,243,233,230,1,164,146,142,1,129,129,129, ++ 1,128,128,128,2,126,126,126,1,121,121,121,1,114,114,114,1,105,105,105, ++ 1,97,97,97,1,89,89,89,1,80,80,80,1,72,72,72,1,65,65,65, ++ 1,58,58,58,1,53,53,53,1,66,66,66,1,213,212,211,1,253,224,200, ++ 1,206,98,87,1,244,244,244,5,2,2,2,1,184,184,184,1,208,208,208, ++ 2,147,147,147,1,179,152,148,1,212,196,187,1,205,185,174,1,202,181,170, ++ 1,199,177,165,1,196,172,160,1,193,168,155,1,189,163,149,1,185,158,144, ++ 1,180,151,136,1,174,143,128,1,162,130,115,1,154,120,106,1,148,113,99, ++ 1,143,106,92,1,137,100,86,1,124,86,76,1,92,39,38,1,184,153,153, ++ 1,188,161,161,1,127,89,78,1,99,58,48,1,208,208,208,5,244,244,244, ++ 5,231,161,143,1,255,248,246,1,243,234,232,1,163,146,143,1,128,128,128, ++ 2,125,125,125,1,114,114,114,1,104,104,104,1,94,94,94,1,90,90,90, ++ 1,83,83,83,1,78,78,78,1,73,73,73,1,67,67,67,1,62,62,62, ++ 1,55,56,55,1,51,51,51,1,65,65,65,1,213,212,211,1,254,223,197, ++ 1,206,98,86,1,244,244,244,5,208,208,208,2,149,149,149,1,44,44,44, ++ 1,19,19,19,1,175,146,143,1,209,191,181,1,203,183,172,1,208,190,180, ++ 1,206,187,176,1,203,183,172,1,199,177,166,1,191,167,156,1,185,159,147, ++ 1,177,150,138,1,171,142,131,1,165,135,123,1,160,129,117,1,155,122,111, ++ 1,150,116,104,1,134,97,82,1,118,79,69,1,90,37,36,1,187,159,159, ++ 1,186,161,161,1,121,83,72,1,94,52,42,1,208,208,208,5,0,0,0, ++ 1,124,124,124,1,241,241,241,3,229,156,140,1,255,247,245,1,244,234,232, ++ 1,164,147,143,1,128,128,128,1,123,123,123,1,110,110,110,1,100,100,100, ++ 1,96,96,96,1,91,91,91,1,86,86,86,1,80,80,80,1,76,76,76, ++ 1,70,70,70,1,65,65,65,1,59,59,59,1,54,54,54,1,49,49,49, ++ 1,64,64,64,1,213,212,210,1,253,221,195,1,206,97,85,1,241,241,241, ++ 2,18,18,18,1,0,0,0,1,241,241,241,1,208,208,208,5,170,140,136, ++ 1,205,186,175,1,208,190,180,1,255,255,255,1,253,253,253,1,247,244,244, ++ 1,240,235,235,1,235,228,228,1,231,223,223,1,227,217,217,1,223,212,212, ++ 1,218,206,206,1,214,200,200,1,210,194,194,1,206,188,188,1,139,103,92, ++ 1,111,70,61,1,86,32,31,1,178,146,146,1,179,151,151,1,115,77,65, ++ 1,88,46,36,1,197,197,197,1,2,2,2,1,181,181,181,1,208,208,208, ++ 2,241,241,241,5,226,151,135,1,255,246,245,1,246,235,232,1,166,146,141, ++ 1,119,119,119,1,105,105,105,1,99,99,99,1,94,94,94,1,91,91,91, ++ 1,86,86,86,1,82,82,82,1,77,77,77,1,72,72,72,1,67,67,67, ++ 1,62,62,62,1,55,56,55,1,52,52,52,1,47,47,47,1,62,62,62, ++ 1,213,212,210,1,253,220,192,1,206,97,84,1,241,241,241,1,0,0,0, ++ 1,44,44,44,1,241,241,241,2,151,151,151,1,0,0,0,1,208,208,208, ++ 1,197,197,197,1,2,2,2,1,166,134,130,1,202,181,170,1,205,186,175, ++ 1,252,251,251,1,245,242,242,1,239,233,233,1,235,228,228,1,230,221,221, ++ 1,226,216,216,1,222,210,210,1,218,205,205,1,214,199,199,1,210,194,194, ++ 1,205,188,188,1,201,182,182,1,133,97,85,1,106,64,55,1,83,29,29, ++ 1,175,143,143,1,175,146,146,1,110,71,59,1,82,41,31,1,208,208,208, ++ 5,241,241,241,5,225,146,131,1,255,246,243,1,247,235,233,1,163,142,138, ++ 1,104,104,104,1,97,97,97,1,93,93,93,1,90,90,90,1,86,86,86, ++ 1,81,81,81,1,78,78,78,1,73,73,73,1,69,69,69,1,64,64,64, ++ 1,58,58,58,1,54,54,54,1,49,49,49,1,45,45,45,1,62,62,62, ++ 1,213,212,210,1,254,218,190,1,206,96,84,1,241,241,241,5,208,208,208, ++ 5,161,127,123,1,199,176,164,1,198,176,166,1,233,220,220,1,219,196,196, ++ 1,215,191,191,1,212,187,187,1,207,182,182,1,204,177,177,1,199,172,172, ++ 1,196,168,168,1,192,162,162,1,188,158,158,1,184,153,153,1,188,161,161, ++ 1,127,89,78,1,99,58,48,1,80,26,26,1,172,141,141,1,171,141,141, ++ 1,104,65,54,1,77,35,26,1,0,0,0,1,208,208,208,4,162,162,162, ++ 1,0,0,0,1,44,44,44,1,237,237,237,2,222,142,127,1,255,245,242, ++ 1,248,236,233,1,154,133,128,1,93,93,93,1,91,91,91,1,88,88,88, ++ 1,84,84,84,1,81,81,81,1,77,77,77,1,74,74,74,1,69,69,69, ++ 1,65,65,65,1,59,59,59,1,55,55,55,1,51,51,51,1,46,46,46, ++ 1,42,42,42,1,62,62,62,1,213,212,210,1,254,217,187,1,206,96,83, ++ 1,237,237,237,5,208,208,208,5,157,122,117,1,194,169,157,1,189,164,153, ++ 1,232,221,221,1,223,207,207,1,219,201,201,1,215,196,196,1,211,191,191, ++ 1,207,186,186,1,203,180,180,1,199,176,176,1,195,170,170,1,191,165,165, ++ 1,187,159,159,1,186,161,161,1,121,83,72,1,94,52,42,1,77,24,23, ++ 1,162,135,135,1,158,130,130,1,90,52,43,1,66,25,19,1,48,48,48, ++ 1,150,150,150,1,35,35,35,1,175,175,175,1,208,208,208,1,237,237,237, ++ 1,236,236,236,1,31,31,31,1,51,51,51,1,237,237,237,1,221,136,123, ++ 1,255,243,241,1,248,237,234,1,151,131,125,1,87,87,87,1,85,85,85, ++ 1,82,82,82,1,79,79,79,1,76,76,76,1,72,72,72,1,69,69,69, ++ 1,65,65,65,1,60,61,60,1,55,56,55,1,52,52,52,1,48,48,48, ++ 1,44,44,44,1,41,41,41,1,65,65,65,1,215,214,212,1,254,216,186, ++ 1,206,96,83,1,36,36,36,1,5,5,5,1,17,17,17,1,72,72,72, ++ 1,191,191,191,1,197,197,197,1,77,77,77,1,13,13,13,1,23,23,23, ++ 1,101,101,101,1,152,115,110,1,184,158,145,1,180,154,142,1,224,209,209, ++ 1,213,191,191,1,209,187,187,1,205,182,182,1,201,176,176,1,198,172,172, ++ 1,193,166,166,1,190,162,162,1,185,156,156,1,182,151,151,1,178,146,146, ++ 1,179,151,151,1,115,77,65,1,88,46,36,1,70,16,15,1,100,53,53, ++ 1,99,51,51,1,69,16,16,1,61,7,6,1,128,128,128,1,255,255,255, ++ 1,208,208,208,3,12,12,12,1,59,59,59,1,166,166,166,1,237,237,237, ++ 2,219,130,118,1,255,243,239,1,250,241,239,1,229,213,208,1,223,222,221, ++ 1,223,222,220,1,222,221,220,1,222,221,219,1,221,220,218,1,220,219,217, ++ 2,219,218,216,1,218,217,215,1,218,216,214,1,217,216,213,1,216,215,212, ++ 1,215,214,211,2,220,218,215,1,248,244,239,1,253,216,186,1,206,96,83, ++ 1,8,8,8,1,6,6,6,1,36,36,36,1,122,122,122,1,232,232,232, ++ 1,208,208,208,5,145,106,102,1,175,147,134,1,173,145,133,1,220,204,204, ++ 1,210,189,189,1,206,184,184,1,202,179,179,1,198,173,173,1,195,169,169, ++ 1,190,163,163,1,187,158,158,1,182,153,153,1,178,149,149,1,175,143,143, ++ 1,175,146,146,1,110,71,59,1,82,41,31,1,67,12,11,1,0,0,0, ++ 4,208,208,208,5,237,237,237,2,234,234,234,1,43,43,43,1,0,0,0, ++ 1,211,112,100,1,247,215,209,1,254,236,232,1,253,233,224,1,253,229,218, ++ 1,253,229,216,1,253,228,215,1,253,228,213,1,253,227,211,1,253,227,210, ++ 1,253,226,208,1,253,225,207,1,253,225,205,1,253,224,203,1,253,223,201, ++ 1,253,222,199,1,253,221,198,1,253,220,195,1,253,219,194,1,253,215,186, ++ 1,245,189,163,1,200,84,73,1,234,234,234,5,208,208,208,5,138,98,93, ++ 1,168,138,125,1,167,136,125,1,216,200,200,1,208,188,188,1,204,182,182, ++ 1,200,177,177,1,196,172,172,1,192,167,167,1,188,161,161,1,184,156,156, ++ 1,180,151,151,1,176,146,146,1,172,141,141,1,171,141,141,1,104,65,54, ++ 1,77,35,26,1,64,10,9,1,0,0,0,4,208,208,208,5,0,0,0, ++ 1,41,41,41,1,108,108,108,1,92,92,92,1,12,12,12,1,199,83,71, ++ 1,205,98,89,1,207,102,94,1,205,97,89,1,203,95,87,1,203,94,86, ++ 1,203,94,85,1,203,94,84,1,203,93,84,1,203,93,83,2,203,92,82, ++ 1,203,92,81,2,203,91,80,1,203,91,79,1,203,90,79,1,203,90,78, ++ 3,199,81,70,1,190,61,54,1,234,234,234,2,82,82,82,1,0,0,0, ++ 1,41,41,41,1,208,208,208,5,130,87,84,1,155,122,114,1,151,119,111, ++ 1,201,188,188,1,197,182,182,1,193,177,177,1,189,172,172,1,185,166,166, ++ 1,182,161,161,1,177,156,156,1,174,151,151,1,169,146,146,1,166,141,141, ++ 1,162,135,135,1,158,130,130,1,90,52,43,1,66,25,19,1,62,7,7, ++ 1,0,0,0,4,208,208,208,4,128,128,128,1,34,34,34,1,106,106,106, ++ 1,98,98,98,1,19,19,19,1,0,0,0,24,22,22,22,1,47,47,47, ++ 1,109,109,109,1,60,60,60,1,255,255,255,1,208,208,208,4,114,66,66, ++ 1,107,57,57,1,100,50,49,1,116,75,75,1,115,72,72,1,113,70,70, ++ 1,111,68,68,1,110,65,65,1,108,64,64,1,107,61,61,1,105,59,59, ++ 1,104,57,57,1,102,55,55,1,100,53,53,1,99,51,51,1,69,16,16, ++ 1,61,7,6,1,61,5,4,1,0,0,0,4,208,208,208,5,234,234,234, ++ 5,0,0,0,22,79,79,79,1,230,230,230,1,0,0,0,1,42,42,42, ++ 1,230,230,230,1,208,208,208,17,128,128,128,1,255,255,255,1,208,208,208, ++ 13,133,133,133,1,0,0,0,1,93,93,93,1,230,230,230,3,87,87,87, ++ 1,0,0,0,2,230,230,230,3,152,152,152,1,0,0,0,1,80,80,80, ++ 1,227,227,227,1,230,230,230,2,198,198,198,1,16,16,16,1,31,31,31, ++ 1,227,227,227,1,230,230,230,7,119,119,119,1,0,0,0,1,161,161,161, ++ 1,208,208,208,32,0,0,0,1,42,42,42,1,230,230,230,4,0,0,0, ++ 1,42,42,42,1,230,230,230,3,146,146,146,1,0,0,0,1,66,66,66, ++ 1,225,225,225,1,230,230,230,2,211,211,211,1,33,33,33,1,2,2,2, ++ 1,189,189,189,1,230,230,230,2,146,146,146,1,0,0,0,1,66,66,66, ++ 1,225,225,225,1,230,230,230,2,211,211,211,1,33,33,33,1,2,2,2, ++ 1,208,208,208,3,128,128,128,1,255,255,255,1,208,208,208,27,0,0,0, ++ 1,74,74,74,1,230,230,230,28,227,227,227,1,42,42,42,1,208,208,208, ++ 21,128,128,128,1,255,255,255,1,128,128,128,9,0,0,0,6,63,63,63, ++ 1,227,227,227,3,42,42,42,1,0,0,0,1,227,227,227,2,55,55,55, ++ 1,1,1,1,1,207,207,207,1,227,227,227,3,206,206,206,1,2,2,2, ++ 1,0,0,0,1,227,227,227,3,62,62,62,1,3,3,3,1,207,207,207, ++ 1,227,227,227,4,105,105,105,1,0,0,0,1,170,170,170,1,227,227,227, ++ 7,77,77,77,1,0,0,0,1,197,197,197,1,227,227,227,5,0,0,0, ++ 1,42,42,42,1,227,227,227,3,62,62,62,1,3,3,3,1,207,207,207, ++ 1,227,227,227,4,105,105,105,1,0,0,0,1,170,170,170,1,227,227,227, ++ 1,14,14,14,1,11,11,11,1,190,190,190,1,227,227,227,2,226,226,226, ++ 1,199,199,199,1,225,225,225,1,227,227,227,3,0,0,0,1,42,42,42, ++ 1,227,227,227,4,0,0,0,1,42,42,42,1,227,227,227,3,59,59,59, ++ 1,0,0,0,1,197,197,197,1,227,227,227,4,153,153,153,1,0,0,0, ++ 1,100,100,100,1,227,227,227,2,59,59,59,1,0,0,0,1,197,197,197, ++ 1,227,227,227,4,153,153,153,1,0,0,0,1,100,100,100,1,227,227,227, ++ 2,42,42,42,1,0,0,0,1,227,227,227,3,42,42,42,1,0,0,0, ++ 1,192,192,192,1,227,227,227,3,207,207,207,1,1,1,1,1,56,56,56, ++ 1,227,227,227,2,185,185,185,1,137,137,137,1,218,218,218,1,227,227,227, ++ 4,42,42,42,1,2,2,2,1,227,227,227,3,42,42,42,1,0,0,0, ++ 1,147,147,147,1,227,227,227,28,224,224,224,1,41,41,41,1,0,0,0, ++ 1,224,224,224,1,219,219,219,1,12,12,12,1,60,60,60,1,224,224,224, ++ 2,110,110,110,1,11,11,11,1,217,217,217,1,224,224,224,1,0,0,0, ++ 1,41,41,41,1,224,224,224,6,206,206,206,1,148,148,148,1,89,89,89, ++ 1,20,20,20,1,0,0,0,2,140,140,140,1,224,224,224,3,0,0,0, ++ 1,41,41,41,1,224,224,224,11,41,41,41,1,0,0,0,1,224,224,224, ++ 2,14,14,14,1,27,27,27,1,224,224,224,5,30,30,30,1,0,0,0, ++ 1,224,224,224,3,18,18,18,1,11,11,11,1,112,112,112,5,69,69,69, ++ 1,0,0,0,1,126,126,126,1,224,224,224,7,52,52,52,1,0,0,0, ++ 1,212,212,212,1,224,224,224,5,0,0,0,1,41,41,41,1,224,224,224, ++ 3,18,18,18,1,11,11,11,1,112,112,112,5,69,69,69,1,0,0,0, ++ 1,126,126,126,1,224,224,224,1,101,101,101,1,0,0,0,1,2,2,2, ++ 1,51,51,51,1,119,119,119,1,189,189,189,1,224,224,224,5,0,0,0, ++ 1,41,41,41,1,224,224,224,4,0,0,0,1,41,41,41,1,224,224,224, ++ 1,0,0,0,1,0,0,1,1,0,0,4,1,0,0,0,17,0,0,4, ++ 1,0,0,1,1,0,0,0,1,56,56,56,1,224,224,224,2,41,41,41, ++ 1,0,0,0,1,224,224,224,3,41,41,41,1,16,16,16,1,224,224,224, ++ 5,26,26,26,1,14,14,14,1,224,224,224,4,216,216,216,1,177,177,177, ++ 1,146,146,146,1,112,112,112,1,65,65,65,1,4,4,4,1,0,0,0, ++ 1,224,224,224,3,41,41,41,1,0,0,0,1,174,174,174,1,224,224,224, ++ 7,0,0,0,1,0,0,1,1,1,1,1,1,6,16,99,1,10,23,128, ++ 1,22,35,127,1,24,37,129,1,24,36,128,1,23,36,128,3,22,35,128, ++ 3,21,34,127,2,20,34,127,1,19,32,125,1,12,24,129,1,8,17,99, ++ 1,0,1,1,1,0,0,1,1,41,41,41,1,0,0,0,1,221,221,221, ++ 2,78,78,78,1,3,3,3,1,206,206,206,1,221,221,221,1,36,36,36, ++ 1,76,76,76,1,221,221,221,2,0,0,0,1,41,41,41,1,221,221,221, ++ 9,217,217,217,1,102,102,102,1,0,0,0,1,36,36,36,1,221,221,221, ++ 3,0,0,0,1,41,41,41,1,221,221,221,10,0,0,0,1,1,1,1, ++ 1,7,18,118,1,41,61,194,1,102,125,209,1,116,144,218,1,109,139,216, ++ 1,108,137,214,1,106,137,214,1,105,137,215,1,106,137,215,1,104,137,214, ++ 1,102,136,214,1,99,133,213,1,97,131,212,1,95,130,211,1,94,130,211, ++ 1,93,129,210,1,73,105,200,1,33,55,191,1,9,20,119,1,0,1,1, ++ 1,0,0,0,4,110,110,110,1,221,221,221,7,43,43,43,1,0,0,0, ++ 1,219,219,219,1,221,221,221,5,0,0,0,1,41,41,41,1,221,221,221, ++ 3,3,3,3,1,0,0,0,8,110,110,110,1,221,221,221,1,219,219,219, ++ 1,127,127,127,1,37,37,37,1,0,0,0,4,6,16,100,1,41,61,194, ++ 1,119,145,204,1,87,121,197,1,61,96,188,1,60,96,187,1,63,100,188, ++ 1,67,104,190,1,62,101,188,1,58,96,186,1,57,97,186,1,62,102,188, ++ 1,72,111,192,1,78,116,195,1,78,117,194,1,80,119,195,1,82,121,196, ++ 1,94,135,201,1,87,122,193,1,33,53,191,1,8,17,101,1,221,221,221, ++ 1,218,218,218,1,0,0,0,1,44,44,44,1,221,221,221,2,3,3,3, ++ 1,38,38,38,1,221,221,221,5,218,218,218,1,0,0,0,1,44,44,44, ++ 1,221,221,221,2,41,41,41,1,0,0,0,1,221,221,221,3,41,41,41, ++ 1,29,29,29,1,221,221,221,5,38,38,38,1,3,3,3,1,221,221,221, ++ 2,216,216,216,1,95,95,95,1,9,9,9,1,0,0,0,2,22,22,22, ++ 1,75,75,75,1,22,22,22,1,0,0,0,1,10,23,128,1,102,125,209, ++ 1,87,121,197,1,37,73,181,1,49,85,185,1,54,91,186,1,51,90,186, ++ 1,42,84,183,1,72,108,195,1,106,136,209,1,119,148,213,1,106,138,209, ++ 1,75,114,197,1,59,101,189,1,74,113,195,1,78,117,196,1,79,118,196, ++ 1,80,119,196,1,94,135,201,1,67,98,197,1,12,24,129,1,221,221,221, ++ 13,217,217,217,1,40,40,40,1,0,0,0,1,217,217,217,2,147,147,147, ++ 1,0,0,0,1,138,138,138,1,182,182,182,1,0,0,0,1,147,147,147, ++ 1,217,217,217,2,0,0,0,1,40,40,40,1,217,217,217,1,157,157,157, ++ 1,26,26,26,1,113,113,113,1,217,217,217,6,215,215,215,1,21,21,21, ++ 1,3,3,3,1,217,217,217,1,0,0,0,1,22,35,127,1,116,144,218, ++ 1,61,96,188,1,49,85,185,1,57,94,187,1,50,89,185,1,78,113,197, ++ 1,176,193,233,1,225,232,246,1,254,254,255,1,255,255,254,1,252,253,254, ++ 1,221,229,244,1,168,189,231,1,83,121,198,1,77,117,195,1,85,124,198, ++ 1,86,125,198,1,89,128,198,1,80,118,206,1,17,31,125,1,217,217,217, ++ 4,34,34,34,1,0,0,0,1,217,217,217,3,14,14,14,1,37,37,37, ++ 1,217,217,217,15,51,51,51,1,0,0,0,1,208,208,208,1,217,217,217, ++ 5,0,0,0,1,40,40,40,1,217,217,217,3,14,14,14,1,37,37,37, ++ 1,217,217,217,1,0,0,0,1,24,37,129,1,109,139,216,1,60,96,187, ++ 1,54,91,186,1,49,89,185,1,94,127,204,1,229,235,248,1,255,255,255, ++ 1,249,251,255,1,214,223,242,1,189,203,231,1,222,229,244,1,255,255,255, ++ 2,221,229,244,1,98,135,204,1,83,123,197,1,90,128,199,1,93,131,199, ++ 1,79,117,206,1,17,31,126,1,217,217,217,3,0,0,0,1,40,40,40, ++ 1,217,217,217,3,14,14,14,1,23,23,23,1,217,217,217,5,198,198,198, ++ 1,0,0,0,1,55,55,55,1,217,217,217,2,14,14,14,1,23,23,23, ++ 1,217,217,217,5,198,198,198,1,0,0,0,1,55,55,55,1,217,217,217, ++ 2,40,40,40,1,0,0,0,1,217,217,217,3,40,40,40,1,18,18,18, ++ 1,217,217,217,3,0,0,0,1,24,36,128,1,108,137,214,1,63,100,188, ++ 1,50,89,185,1,85,118,200,1,227,233,247,1,255,255,255,1,205,217,242, ++ 1,111,142,210,1,77,115,198,1,88,124,201,1,84,122,201,1,129,158,216, ++ 1,227,235,247,1,255,255,255,1,217,227,243,1,93,131,202,1,91,130,199, ++ 1,95,135,200,1,77,114,205,1,17,30,126,1,217,217,217,27,214,214,214, ++ 1,39,39,39,1,0,0,0,1,214,214,214,2,206,206,206,1,8,8,8, ++ 1,68,68,68,1,110,110,110,1,9,9,9,1,206,206,206,1,214,214,214, ++ 2,0,0,0,1,39,39,39,1,0,0,0,1,23,36,128,1,106,137,215, ++ 1,66,103,190,1,45,86,184,1,185,201,234,1,255,255,255,1,201,213,241, ++ 1,72,111,196,1,52,95,187,1,157,179,226,1,255,255,255,1,127,155,213, ++ 1,60,103,189,1,104,140,207,1,232,240,249,1,255,255,255,1,166,189,229, ++ 1,85,126,197,1,99,138,201,1,75,113,204,1,16,30,126,1,214,214,214, ++ 7,39,39,39,1,0,0,0,1,214,214,214,2,54,54,54,1,0,0,0, ++ 1,191,191,191,1,214,214,214,3,201,201,201,1,4,4,4,1,0,0,0, ++ 1,214,214,214,3,52,52,52,1,3,3,3,1,194,194,194,1,214,214,214, ++ 4,152,152,152,1,107,107,107,1,180,180,180,1,214,214,214,7,74,74,74, ++ 1,0,0,0,2,23,36,128,1,106,137,215,1,60,98,187,1,85,119,201, ++ 1,235,239,251,1,252,253,255,1,102,135,205,1,60,101,189,1,72,112,194, ++ 1,179,198,236,1,255,255,255,1,147,173,222,1,82,122,197,1,76,117,195, ++ 1,141,169,221,1,255,255,255,1,220,229,244,1,101,139,204,1,98,137,200, ++ 1,74,112,204,1,16,29,126,1,104,104,104,1,154,154,154,1,214,214,214, ++ 3,210,210,210,1,21,21,21,1,7,7,7,1,214,214,214,3,0,0,0, ++ 1,39,39,39,1,214,214,214,4,0,0,0,1,39,39,39,1,214,214,214, ++ 3,55,55,55,1,0,0,0,1,185,185,185,1,214,214,214,4,144,144,144, ++ 1,0,0,0,1,91,91,91,1,214,214,214,2,55,55,55,1,0,0,0, ++ 1,185,185,185,1,214,214,214,4,144,144,144,1,0,0,0,1,23,36,128, ++ 1,106,138,215,1,55,94,185,1,118,146,212,1,255,255,255,1,201,212,237, ++ 1,62,102,191,1,77,116,195,1,70,111,194,1,177,196,234,1,255,255,255, ++ 1,147,172,222,1,81,121,197,1,88,126,198,1,104,141,207,1,232,238,249, ++ 1,247,250,255,1,127,159,215,1,97,136,200,1,74,111,204,1,15,29,125, ++ 1,213,213,213,1,214,214,214,3,206,206,206,1,8,8,8,1,0,0,0, ++ 1,213,213,213,1,214,214,214,2,39,39,39,1,0,0,0,1,174,174,174, ++ 1,214,214,214,28,210,210,210,1,0,0,0,1,22,35,128,1,105,137,214, ++ 1,54,95,186,1,130,155,213,1,255,255,255,1,195,207,234,1,57,100,189, ++ 1,80,119,197,1,72,112,194,1,179,197,235,1,255,255,255,1,149,175,222, ++ 1,83,123,197,1,92,131,200,1,101,139,205,1,226,233,245,1,250,252,255, ++ 1,131,163,217,1,101,139,201,1,72,108,204,1,15,28,125,1,210,210,210, ++ 1,209,209,209,1,109,109,109,1,0,0,0,1,103,103,103,1,210,210,210, ++ 3,0,0,0,1,39,39,39,1,210,210,210,11,39,39,39,1,0,0,0, ++ 1,210,210,210,2,131,131,131,1,0,0,0,1,73,73,73,1,209,209,209, ++ 1,210,210,210,2,92,92,92,1,0,0,0,2,210,210,210,3,130,130,130, ++ 1,0,0,0,1,68,68,68,1,207,207,207,1,210,210,210,1,0,0,0, ++ 1,22,35,128,1,103,136,214,1,59,100,187,1,122,151,213,1,255,255,255, ++ 1,202,214,237,1,67,108,193,1,82,120,197,1,75,115,195,1,179,199,235, ++ 1,255,255,255,1,151,176,223,1,87,126,198,1,94,133,200,1,110,146,209, ++ 1,233,239,249,1,248,250,255,1,135,166,218,1,106,142,203,1,70,106,203, ++ 1,14,28,125,1,210,210,210,3,130,130,130,1,0,0,0,1,68,68,68, ++ 1,207,207,207,1,210,210,210,2,190,190,190,1,22,22,22,1,3,3,3, ++ 1,182,182,182,1,194,194,194,1,4,4,4,1,46,46,46,1,207,207,207, ++ 1,210,210,210,2,194,194,194,1,12,12,12,1,28,28,28,1,210,210,210, ++ 3,4,4,4,1,35,35,35,1,210,210,210,4,4,4,4,1,35,35,35, ++ 1,210,210,210,3,133,133,133,1,0,0,0,1,60,60,60,1,205,205,205, ++ 1,210,210,210,2,0,0,0,1,22,35,128,1,100,134,213,1,66,106,190, ++ 1,100,134,207,1,241,246,253,1,252,253,255,1,111,143,208,1,71,112,193, ++ 1,83,123,198,1,184,202,237,1,255,255,255,1,154,179,224,1,93,133,201, ++ 1,87,128,197,1,145,173,221,1,255,255,255,1,223,231,245,1,119,153,211, ++ 1,115,150,207,1,68,104,202,1,14,27,125,1,210,210,210,1,39,39,39, ++ 1,0,0,0,1,80,80,80,1,210,210,210,2,209,209,209,1,74,74,74, ++ 1,0,0,0,1,138,138,138,1,210,210,210,2,12,12,12,1,14,14,14, ++ 1,198,198,198,1,210,210,210,2,208,208,208,1,83,83,83,1,0,0,0, ++ 2,203,203,203,1,210,210,210,2,39,39,39,1,0,0,0,1,170,170,170, ++ 1,210,210,210,15,0,0,0,1,21,34,127,1,97,131,212,1,78,116,194, ++ 1,62,104,191,1,199,211,237,1,255,255,255,1,205,218,243,1,85,125,200, ++ 1,71,113,193,1,173,195,232,1,255,255,255,1,145,172,220,1,79,122,195, ++ 1,118,153,210,1,233,240,249,1,255,255,255,1,188,207,237,1,111,147,207, ++ 1,122,155,209,1,67,102,201,1,13,27,125,1,140,140,140,1,207,207,207, ++ 3,0,0,0,1,38,38,38,1,207,207,207,2,188,188,188,1,35,35,35, ++ 1,0,0,0,1,19,19,19,1,76,76,76,1,98,98,98,1,87,87,87, ++ 1,33,33,33,1,0,0,0,1,54,54,54,1,201,201,201,1,207,207,207, ++ 3,0,0,0,1,19,19,19,1,103,103,103,8,145,145,145,1,207,207,207, ++ 2,38,38,38,1,0,0,0,1,207,207,207,2,205,205,205,1,58,58,58, ++ 1,0,0,0,2,21,34,127,1,95,130,211,1,79,118,195,1,70,110,193, ++ 1,103,137,206,1,238,242,252,1,255,255,255,1,205,217,242,1,117,150,210, ++ 1,96,134,203,1,114,149,210,1,100,139,205,1,136,166,217,1,231,238,248, ++ 1,255,255,255,1,224,232,246,1,123,156,213,1,125,157,212,1,124,155,210, ++ 1,65,99,200,1,13,26,124,1,207,207,207,4,164,164,164,1,0,0,0, ++ 1,98,98,98,1,207,207,207,5,28,28,28,1,1,1,1,1,88,88,88, ++ 1,136,136,136,1,207,207,207,1,206,206,206,1,64,64,64,1,0,0,0, ++ 1,33,33,33,1,94,94,94,1,88,88,88,1,18,18,18,1,0,0,0, ++ 1,109,109,109,1,207,207,207,2,93,93,93,1,0,0,0,1,37,37,37, ++ 1,96,96,96,1,92,92,92,1,25,25,25,1,0,0,0,1,135,135,135, ++ 1,207,207,207,3,28,28,28,1,1,1,1,1,88,88,88,1,0,0,0, ++ 1,20,34,127,1,94,130,211,1,80,119,195,1,79,117,196,1,73,114,194, ++ 1,129,159,217,1,241,245,253,1,255,255,255,1,244,247,252,1,212,222,241, ++ 1,198,212,234,1,220,229,244,1,250,252,255,1,255,255,255,1,232,238,248, ++ 1,134,165,217,1,120,153,210,1,131,161,213,1,128,158,211,1,64,98,200, ++ 1,12,26,124,1,0,0,0,1,30,30,30,1,93,93,93,1,88,88,88, ++ 1,18,18,18,1,0,0,0,1,103,103,103,1,207,207,207,3,38,38,38, ++ 1,0,0,0,1,207,207,207,3,38,38,38,1,13,13,13,1,15,15,15, ++ 1,51,51,51,1,97,97,97,1,46,46,46,1,0,0,0,1,65,65,65, ++ 1,207,207,207,3,87,87,87,1,0,0,0,1,31,31,31,1,96,96,96, ++ 1,89,89,89,1,32,32,32,1,13,13,13,1,44,44,44,1,0,0,0, ++ 1,180,180,180,1,207,207,207,2,38,38,38,1,0,0,0,1,168,168,168, ++ 1,207,207,207,1,0,0,0,1,19,32,125,1,93,129,210,1,82,121,196, ++ 1,79,118,196,1,85,124,198,1,79,120,196,1,112,146,209,1,191,208,237, ++ 1,236,241,250,1,255,255,255,1,254,254,254,1,254,255,255,1,234,239,249, ++ 1,190,208,238,1,127,160,214,1,120,154,210,1,128,159,212,1,136,165,215, ++ 1,130,158,211,1,55,87,196,1,13,26,123,1,103,103,103,1,123,123,123, ++ 1,207,207,207,3,203,203,203,1,37,37,37,1,0,0,0,1,203,203,203, ++ 3,193,193,193,1,6,6,6,1,9,9,9,1,196,196,196,1,203,203,203, ++ 3,0,0,0,1,37,37,37,1,203,203,203,3,197,197,197,1,115,115,115, ++ 1,49,49,49,1,14,14,14,1,2,2,2,1,10,10,10,1,47,47,47, ++ 1,123,123,123,1,201,201,201,1,203,203,203,4,0,0,0,7,12,24,129, ++ 1,73,105,200,1,93,135,201,1,80,119,196,1,86,125,198,1,90,128,200, ++ 1,88,127,198,1,85,126,198,1,114,149,210,1,146,174,221,1,151,178,222, ++ 1,150,178,224,1,126,159,215,1,111,147,207,1,124,156,211,1,131,161,213, ++ 1,136,165,215,1,148,174,218,1,114,144,206,1,33,61,185,1,14,26,129, ++ 1,203,203,203,2,201,201,201,1,114,114,114,1,37,37,37,1,6,6,6, ++ 1,8,8,8,1,46,46,46,1,135,135,135,1,203,203,203,10,28,28,28, ++ 1,37,37,37,1,203,203,203,5,146,146,146,1,28,28,28,1,3,3,3, ++ 1,61,61,61,1,203,203,203,2,201,201,201,1,114,114,114,1,37,37,37, ++ 1,6,6,6,1,8,8,8,1,46,46,46,1,135,135,135,1,203,203,203, ++ 3,0,0,0,1,8,17,101,1,33,55,191,1,87,122,193,1,94,135,201, ++ 1,89,128,198,1,92,131,199,1,96,135,200,1,99,138,201,1,95,134,199, ++ 1,93,132,199,1,97,136,200,1,103,139,202,1,113,149,206,1,122,155,209, ++ 1,124,155,210,1,128,158,211,1,130,158,211,1,114,144,206,1,50,80,180, ++ 1,22,43,187,1,10,20,101,1,203,203,203,1,201,201,201,1,117,117,117, ++ 1,38,38,38,1,6,6,6,1,9,9,9,1,51,51,51,1,142,142,142, ++ 1,203,203,203,5,201,201,201,1,117,117,117,1,38,38,38,1,6,6,6, ++ 1,9,9,9,1,51,51,51,1,142,142,142,1,203,203,203,4,37,37,37, ++ 1,0,0,0,1,203,203,203,3,37,37,37,1,25,25,25,1,165,165,165, ++ 1,48,48,48,1,6,6,6,1,22,22,22,1,100,100,100,1,198,198,198, ++ 1,203,203,203,3,198,198,198,1,96,96,96,1,0,0,0,1,0,1,1, ++ 1,9,20,119,1,33,53,191,1,67,98,197,1,80,118,206,1,79,117,206, ++ 1,77,114,205,1,75,113,204,1,75,112,204,1,74,111,204,1,73,109,204, ++ 1,71,107,203,1,68,105,202,1,67,102,201,1,65,99,200,1,64,98,200, ++ 1,55,87,196,1,33,61,185,1,22,43,187,1,12,23,120,1,0,0,0, ++ 1,203,203,203,2,0,0,0,1,37,37,37,1,203,203,203,4,0,0,0, ++ 1,37,37,37,1,203,203,203,4,0,0,0,1,37,37,37,1,203,203,203, ++ 3,200,200,200,23,0,0,0,1,0,0,1,1,0,1,1,1,8,17,99, ++ 1,12,24,129,1,17,31,125,1,17,31,126,1,17,30,126,1,16,30,126, ++ 1,16,29,126,1,15,29,125,1,15,28,125,1,14,28,125,1,14,27,125, ++ 1,13,27,125,1,13,26,124,1,12,26,124,1,13,26,123,1,14,26,129, ++ 1,10,19,100,1,0,0,1,2,200,200,200,33,111,111,111,1,0,0,0, ++ 1,166,166,166,1,200,200,200,125,196,196,196,78,188,188,188,1,18,18,18, ++ 1,80,80,80,1,196,196,196,51,252,5,0,0,0,0,0,255,0,0,0, ++ 11,104,104,104,1,239,239,239,15,162,162,162,1,0,0,0,47,239,239,239, ++ 1,255,255,255,16,0,0,0,10,50,50,50,1,159,159,159,20,50,50,50, ++ 1,0,0,0,15,239,239,239,1,255,255,255,16,0,0,0,10,244,244,244, ++ 1,255,255,255,20,244,244,244,1,0,0,0,15,239,239,239,1,255,255,255, ++ 16,0,0,0,10,255,255,255,22,0,0,0,10,104,104,104,1,239,239,239, ++ 4,254,254,254,1,255,255,255,16,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,21,0,0,0,10,255,255,255,22,0,0,0, ++ 10,239,239,239,1,255,255,255,16,254,254,254,1,239,239,239,4,0,0,0, ++ 10,255,255,255,22,0,0,0,10,239,239,239,1,255,255,255,16,239,239,239, ++ 1,0,0,0,14,255,255,255,22,0,0,0,10,239,239,239,1,255,255,255, ++ 16,239,239,239,1,0,0,0,14,119,119,119,1,239,239,239,20,119,119,119, ++ 1,0,0,0,10,239,239,239,1,255,255,255,16,239,239,239,1,0,0,0, ++ 46,104,104,104,1,239,239,239,16,104,104,104,1,0,0,0,255,0,0,0, ++ 74,255,255,255,32,0,0,0,32,255,255,255,32,0,0,0,32,255,255,255, ++ 32,0,0,0,32,255,255,255,32,0,0,0,6,1,1,1,1,3,3,3, ++ 1,0,0,0,17,3,3,3,1,1,1,1,1,0,0,0,5,255,255,255, ++ 32,0,0,0,6,1,1,1,1,0,0,0,1,59,59,59,1,162,162,162, ++ 1,195,195,195,1,190,190,190,1,191,191,191,9,190,190,190,1,195,195,195, ++ 1,162,162,162,1,59,59,59,1,0,0,0,1,1,1,1,1,0,0,0, ++ 5,255,255,255,32,0,0,0,5,1,1,1,1,0,0,0,1,127,127,127, ++ 1,255,255,255,1,254,254,254,2,255,255,255,11,254,254,254,2,255,255,255, ++ 1,127,127,127,1,0,0,0,6,255,255,255,32,0,0,0,6,60,60,60, ++ 1,255,255,255,1,253,253,253,1,252,252,252,15,253,253,253,1,255,255,255, ++ 1,60,60,60,1,0,0,0,5,255,255,255,32,0,0,0,6,161,161,161, ++ 1,255,255,255,1,252,252,252,1,255,255,255,1,254,254,254,1,255,255,255, ++ 11,254,254,254,1,255,255,255,1,252,252,252,1,255,255,255,1,161,161,161, ++ 1,0,0,0,5,255,255,255,32,0,0,0,6,191,191,191,1,255,255,255, ++ 1,252,252,252,1,254,254,254,1,255,255,255,13,254,254,254,1,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,190,190,190,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,190,190,190,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,191,191,191,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,190,190,190,1,255,255,255,1,252,252,252,1,255,255,255,15,252,252,252, ++ 1,255,255,255,1,190,190,190,1,0,0,0,5,255,255,255,32,0,0,0, ++ 6,191,191,191,1,255,255,255,1,252,252,252,1,254,254,254,1,255,255,255, ++ 13,254,254,254,1,252,252,252,1,255,255,255,1,191,191,191,1,0,0,0, ++ 5,255,255,255,32,0,0,0,6,161,161,161,1,255,255,255,1,252,252,252, ++ 1,255,255,255,1,254,254,254,1,255,255,255,11,254,254,254,1,255,255,255, ++ 1,252,252,252,1,255,255,255,1,161,161,161,1,0,0,0,5,255,255,255, ++ 32,0,0,0,6,60,60,60,1,255,255,255,1,253,253,253,1,252,252,252, ++ 15,253,253,253,1,255,255,255,1,60,60,60,1,0,0,0,5,255,255,255, ++ 32,0,0,0,5,1,1,1,1,0,0,0,1,127,127,127,1,255,255,255, ++ 1,254,254,254,2,255,255,255,11,254,254,254,2,255,255,255,1,127,127,127, ++ 1,0,0,0,6,255,255,255,32,0,0,0,6,1,1,1,1,0,0,0, ++ 1,59,59,59,1,162,162,162,1,195,195,195,1,190,190,190,1,191,191,191, ++ 9,190,190,190,1,195,195,195,1,162,162,162,1,59,59,59,1,0,0,0, ++ 1,1,1,1,1,0,0,0,5,255,255,255,32,0,0,0,32,255,255,255, ++ 32,0,0,0,32,255,255,255,32,0,0,0,32,255,255,255,32,0,0,0, ++ 32,255,255,255,32,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main.pas mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,30 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msetoolbar,msebitmap,msegraphedits,msedataedits, ++ msesimplewidgets,msemenus,mselistbrowser; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ tbutton2: tbutton; ++ tbutton3: tbutton; ++ tbutton4: tbutton; ++ tbutton5: tbutton; ++ tbutton6: tbutton; ++ tbutton7: tbutton; ++ tbutton8: tbutton; ++ tfacecomp1: tfacecomp; ++ tframecomp2: tframecomp; ++ timagelist2: timagelist; ++ tmainmenu1: tmainmenu; ++ tselector1: tselector; ++ ttoolbar1: ttoolbar; ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/testtoolbar.pas mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/testtoolbar.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/testtoolbar.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/testtoolbar.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program testtoolbar; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/testtoolbar.prj mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/testtoolbar.prj +*** mseide-msegui-1.8.orig/contrib/ivankob/examples/test_toolbar/testtoolbar.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/examples/test_toolbar/testtoolbar.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,620 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ [projectoptions] ++ projectdir=/home/pochta/mseide_projects/test_toolbar ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ stringlisteditor=6 ++ [stringlisteditor] ++ stackedunder= ++ x=182 ++ y=208 ++ cx=275 ++ cy=237 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ bmpfiledialog=17 ++ [] ++ filenames=1 ++ /usr/share/icons/Crystal/48x48/devices/3floppy_unmount.png ++ lastdir=/usr/share/icons/Crystal/48x48/devices/ ++ filehistory=10 ++ /usr/share/icons/Crystal/48x48/devices/3floppy_unmount.png ++ /usr/share/icons/Crystal/48x48/devices/3floppy_mount.png ++ /usr/share/icons/Crystal/48x48/devices/linux-classic_hdd_unmount.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/colorscm.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/zip.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/misc.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/font_truetype.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/widget_doc.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/txt.png ++ /usr/share/icons/crystalsvg/48x48/mimetypes/txt2.png ++ filefilterindex=0 ++ filecolwidth=174 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/pochta/mseide_projects/test_toolbar/main.mfm ++ mainfile=testtoolbar.pas ++ targetfile=testtoolbar${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=312 ++ [mainfo] ++ stackedunder=objectinspectorfo ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5088 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=696 ++ cy=443 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=1051 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=286 ++ y=76 ++ cx=738 ++ cy=69 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=363 ++ cx=696 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=1563 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=468 ++ y=75 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=119 ++ width1=181 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1051 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=274 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2043 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=177 ++ y=190 ++ cx=706 ++ cy=443 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=2 ++ 0,-1073741823 ++ 0,18 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /home/pochta/mseide_projects/test_toolbar/testtoolbar.pas ++ /home/pochta/mseide_projects/test_toolbar/main.pas ++ relpaths=2 ++ testtoolbar.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=1 ++ /home/pochta/mseide_projects/test_toolbar/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/contrib/ivankob/printing/texttabledraw.pas mseide-msegui-1.8/contrib/ivankob/printing/texttabledraw.pas +*** mseide-msegui-1.8.orig/contrib/ivankob/printing/texttabledraw.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/contrib/ivankob/printing/texttabledraw.pas 2008-05-04 15:08:00.000000000 +0200 +*************** +*** 0 **** +--- 1,1602 ---- ++ { Copyright (c) 2007 by IvankoB ++ ++ See the file COPYING.MSE, included in this distribution, ++ for details about the copyright. ++ ++ 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. ++ } ++ unit texttabledraw; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ msetypes, msestrings, sysutils, msestream; ++ ++ { ++ Pseudo-graphic chars to construct table frames ++ } ++ const ++ ++ {$ifdef mswindows} ++ { ++ CP_ACP = 0; ++ CP_OEMCP = 1; ++ CP_MACCP = 2; ++ } ++ {$endif} ++ ++ pad_char = #0035; ++ ++ horz_graphoff = #0045; // "-" char ++ vert_graphoff = #0124; // "|" char ++ cross_graphoff = #0043; // "+" char ++ ++ u_r = #9484; // +-- ++ // | ++ ++ _h_ = #9472; // -- ++ ++ h_d = #9516; // --+-- ++ // | ++ ++ r_d = #9488; // --+ ++ // | ++ ++ _v_ = #9474; // | ++ ++ v_r = #9500; // | ++ // +-- ++ // | ++ ++ d_r = #9492; // | ++ // +-- ++ ++ h_u = #9524; // | ++ // --+-- ++ ++ r_u = #9496; // | ++ // --+ ++ ++ v_l = #9508; // | ++ // --+ ++ // | ++ ++ h_v = #9532; // | ++ // --+-- ++ // | ++ ++ cond_ratio = 132/80; ++ //--------------- ++ ++ epson_reset_cmd = #0017#0027'@'; ++ ibm_reset_cmd = #0017#0027'[K'; ++ lj_reset_cmd = #0017#0027'@'; ++ ++ //--------------- ++ ++ epson_hs_cmd = #0027'U0'#0027'x0'#0027'F'#0027'H'#0027'U0'; ++ ibm_hs_cmd = #0027'U0'#0027'I0'#0027'F'#0027'H'#0027'U0'; ++ lj_hs_cmd = #0027'U0'#0027'x0'#0027'F'#0027'H'#0027'U0'; ++ ++ epson_hq_cmd = #0027'x1'; ++ ibm_hq_cmd = #0027'I1'; ++ lj_hq_cmd = #0027'x1'; ++ ++ //--------------- ++ ++ epson_lh_cmd = #0027'3'; ++ ibm_lh_cmd = #0027'3'; ++ lj_lh_cmd = #0027'3'; ++ ++ epson_deflh_cmd = #0027'3'#0036; ++ ibm_deflh_cmd = #0027'3'#0036; ++ lj_deflh_cmd = #0027'3'#0030; ++ ++ //--------------- ++ ++ // pica ++ epson_pica_cmd = #0027'P'; ++ ibm_pica_cmd = #0018; ++ lj_pica_cmd = #0027'P'; ++ ++ // elite ++ epson_elite_cmd = #0027'M'; ++ ibm_elite_cmd = #0027':'; ++ lj_elite_cmd = #0027'M'; ++ ++ // enlarged ++ enlarg_on_cmd = #0027'W1'; ++ enlarg_off_cmd = #0027'W0'; ++ ++ // condensed ++ epson_cond_on_cmd = #0015; ++ ibm_cond_on_cmd = #0027#0015; ++ lj_cond_on_cmd = #0015; ++ // -- ++ epson_cond_off_cmd = #0018; ++ ibm_cond_off_cmd = ''; ++ lj_cond_off_cmd = #0018; ++ ++ epson_5cpi_cmd = epson_cond_off_cmd + epson_pica_cmd + enlarg_on_cmd; ++ epson_6cpi_cmd = epson_cond_off_cmd + epson_elite_cmd + enlarg_on_cmd; ++ epson_8dot56cpi_cmd = epson_cond_on_cmd + epson_pica_cmd + enlarg_on_cmd; ++ epson_10cpi_cmd = epson_cond_off_cmd + epson_pica_cmd + enlarg_off_cmd; ++ epson_12cpi_cmd = epson_cond_off_cmd + epson_elite_cmd + enlarg_off_cmd; ++ epson_17dot3cpi_cmd = epson_cond_on_cmd + epson_pica_cmd + enlarg_off_cmd; ++ epson_23cpi_cmd = epson_cond_on_cmd + epson_elite_cmd + enlarg_off_cmd; ++ ++ ibm_5cpi_cmd = ibm_pica_cmd + enlarg_on_cmd; ++ ibm_10cpi_cmd = ibm_pica_cmd + enlarg_off_cmd; ++ ibm_6cpi_cmd = ibm_elite_cmd + enlarg_on_cmd; ++ ibm_12cpi_cmd = ibm_elite_cmd + enlarg_off_cmd; ++ ibm_17dot3cpi_cmd = ibm_cond_on_cmd; ++ ++ lj_5cpi_cmd = lj_cond_off_cmd + lj_pica_cmd + enlarg_on_cmd; ++ lj_6cpi_cmd = lj_cond_off_cmd + lj_elite_cmd + enlarg_on_cmd; ++ lj_8dot56cpi_cmd = lj_cond_on_cmd + lj_pica_cmd + enlarg_on_cmd; ++ lj_10cpi_cmd = lj_cond_off_cmd + lj_pica_cmd + enlarg_off_cmd; ++ lj_12cpi_cmd = lj_cond_off_cmd + lj_elite_cmd + enlarg_off_cmd; ++ lj_17dot3cpi_cmd = lj_cond_on_cmd + lj_pica_cmd + enlarg_off_cmd; ++ lj_23cpi_cmd = lj_cond_on_cmd + lj_elite_cmd + enlarg_off_cmd; ++ ++ //--------------- ++ ++ bold_on_cmd = #0027'E'; ++ bold_off_cmd = #0027'F'; ++ ++ ul_on_cmd = #0027'-1'; ++ ul_off_cmd = #0027'-0'; ++ ++ non_ibm_ita_on_cmd = #0027'4'; ++ non_ibm_ita_off_cmd = #0027'5'; ++ ++ epson_init_cmd = epson_reset_cmd + epson_deflh_cmd + epson_10cpi_cmd + epson_hs_cmd + bold_off_cmd + ul_off_cmd + non_ibm_ita_off_cmd + epson_cond_off_cmd; ++ ibm_init_cmd = ibm_reset_cmd + ibm_deflh_cmd + ibm_10cpi_cmd + ibm_hs_cmd + bold_off_cmd + ul_off_cmd; ++ lj_init_cmd = lj_reset_cmd + lj_deflh_cmd + lj_10cpi_cmd + lj_hs_cmd + bold_off_cmd + ul_off_cmd + non_ibm_ita_off_cmd + lj_cond_off_cmd; ++ ++ type ++ ++ prn_quality = (pq_fast,pq_nlq); ++ ++ prn_density = ( ++ pd_5cpi, {40 chars/per A4 portrait} ++ pd_6cpi, {48 -- // -- } ++ pd_8dot56cpi, {68 -- // --, Epson/LJ only } ++ pd_10cpi, {80 -- // -- } ++ pd_12cpi, {96 -- // -- } ++ pd_17dot3cpi, {137 -- // -- } ++ pd_23cpi {160 -- // --, Epson/LJ only } ++ ); ++ ++ line_pos = (fl_upper,fl_middle,fl_bottom); // which frame line to draw ++ ++ line_opts = (flo_left,flo_right,flo_vert,flo_top,flo_bottom,flo_vertdouble,flo_horzdouble); ++ lineoptsty = set of line_opts; ++ ++ textalignarty = array of stringposty; ++ ++ clip_opts = (clo_break,clo_trunc,clo_pad); ++ clipoptarty = array of clip_opts; ++ ++ prn_type = (prn_epson, prn_ibm, prn_lj); ++ output_encoding = (enc_latin1, enc_ru866); ++ ++ {$ifdef mswindows} ++ ++ WINBOOL = longbool; ++ BOOL = WINBOOL; ++ LPBOOL = ^BOOL; ++ ++ LPCSTR = Pchar; ++ LPSTR = Pchar; ++ LPTSTR = Pwidechar; ++ LPCTSTR = Pwidechar; ++ LPCWSTR = Pwidechar; ++ ++ HANDLE = System.THandle; ++ LPBYTE = ^BYTE; ++ UINT = cardinal; ++ ++ DWORD = cardinal; ++ ++ DOC_INFO_1 = record ++ pDocName : LPSTR; ++ pOutputFile : LPSTR; ++ pDatatype : LPSTR; ++ end; ++ ++ {$endif} ++ ++ ttextprinter = class ++ private ++ {$ifdef mswindows} ++ fdefprnname: ansistring; ++ {$endif} ++ ftype: prn_type; ++ fjobname: widestring; ++ fgraphoff: boolean; ++ freset_cmd: shortstring; ++ finit_cmd: shortstring; ++ fdeflh_cmd: shortstring; ++ fhs_cmd: shortstring; ++ fhq_cmd: shortstring; ++ flh_cmd: shortstring; ++ fdpi_coeff: integer; ++ ++ fcpi5_cmd: shortstring; ++ fcpi6_cmd: shortstring; ++ fcpi8dot56_cmd: shortstring; ++ fcpi10_cmd: shortstring; ++ fcpi12_cmd: shortstring; ++ fcpi17dot3_cmd: shortstring; ++ fcpi23_cmd: shortstring; ++ ++ fdebugfilename: msestring; ++ fdebugstream: ttextstream; ++ ++ fdebugprint: boolean; ++ fextdebugprint: boolean; ++ ++ fautoprint: boolean; ++ fisprinting: boolean; ++ foutputencoding: output_encoding; ++ ++ fleftmargin: integer; ++ ++ procedure internalchecklst; ++ procedure internalcheckready; ++ ++ procedure internalendprint{(adestroy:boolean = false)}; ++ ++ protected ++ { Initializes the printer settings for a choosen type } ++ procedure settype(const atype: prn_type); ++ procedure setdebugprint(const avalue: boolean); ++ ++ public ++ constructor Create(const atype: prn_type = prn_epson); ++ destructor Destroy; ++ ++ function deviceavailable: boolean; ++ function deviceready: boolean; ++ ++ property printer_type: prn_type read ftype write settype; ++ property outputencoding: output_encoding read foutputencoding write foutputencoding; ++ property graphoff : boolean read fgraphoff write fgraphoff; ++ ++ property debugprint : boolean read fextdebugprint write setdebugprint; ++ // property debugprint : boolean read fdebugprint write setdebugprint; ++ property debugfilename: msestring read fdebugfilename write fdebugfilename; ++ property isprinting: boolean read fisprinting; ++ ++ property job_name: widestring read fjobname write fjobname; ++ ++ property leftmargin: integer read fleftmargin write fleftmargin; ++ ++ { Causes the printer to print GETDATALINE/GETFRAMELINE return automatically } ++ property autoprint: boolean read fautoprint write fautoprint; ++ ++ { Returns the printer command of reset } ++ property reset_cmd: shortstring read freset_cmd; ++ ++ { Returns the printer command of init to some relevant defaults } ++ property init_cmd: shortstring read finit_cmd; ++ ++ { Returns printer command of line interval, "avalue" in mm } ++ function lh_cmd(const avalue: real): shortstring; ++ ++ { Returns printer command of default line interval} ++ property deflh_cmd: shortstring read fdeflh_cmd; ++ ++ { Returns the printer command of setting print quality acc to the suplied switch } ++ function qual_cmd(const avalue: prn_quality): shortstring; ++ ++ { Returns the printer command of setting char horizontal density acc to the suplied switch } ++ function dens_cmd(const avalue: prn_density): shortstring; ++ ++ { Returns the printer command of setting chars to be underlined } ++ function uline_cmd(const do_uline: boolean): shortstring; ++ ++ { Returns the printer command of setting chars to be bold } ++ function bold_cmd(const do_bold: boolean): shortstring; ++ ++ { Returns the printer command of setting chars to be bold } ++ function ita_cmd(const do_italic: boolean): shortstring; ++ ++ procedure writelnp(const avalue: msestring); ++ procedure writep(const avalue: msestring); ++ ++ procedure beginprint; ++ procedure endprint; ++ ++ //========================== ++ ++ ++ { ================================================================== ++ ++ Produces an array[0..n] of msestrings from several columns of msestring data ++ ++ Example of usage : ++ ++ var ++ ar1: msestringarty; ++ ++ begin: ++ ++ ar1:= getdataline( ++ mktabar([0,4,34,44,54,67]), ++ mkvaluear([ ++ inttostr(curr_num), ++ fieldbyname('edition_name').asstring, ++ fldAmount.asstring, ++ floattostrf(fldPrice.ascurrency,ffFixed,0,2), ++ floattostrf(fldSumma.ascurrency,ffFixed,0,2) ++ ]), ++ mkclipoptar([clo_pad,clo_break,clo_pad,clo_pad,clo_pad]), ++ mktextalignar([sp_center,sp_left,sp_center,sp_right,sp_right]) ++ ); ++ for i:=0 to high(ar1) do writelnp(ucs2to866(ar1[i])); ++ } ++ ++ function getdataline( ++ tabpos: integerarty; // defines tabulator positions (>=0), the number is one plus the number of AVALUES ++ avalues: msestringarty; // the input data ++ clipopts: clipoptarty; // "clo_trunc" each by default ++ alignment: textalignarty; // tak_left each by default ++ lineopts: lineoptsty = [flo_left,flo_right,flo_vert] // which frame sublines to draw ++ ): msestringarty; ++ ++ { ================================================================== ++ ++ Produces an msestring presenting one line of table frame ++ ++ Example of usage : ++ ++ writelnp(ucs2to866(getframeline( ++ mktabar([0,4,34,44,54,67]), ++ fl_bottom, ++ mktabar([0,4,5], ++ mktabar([] ++ )));; ++ ++ } ++ ++ function getframeline ( ++ const tabpos: integerarty; // defines tabulator positions (>=0) ++ const lpos: line_pos = fl_middle; // which part of table frame this line presents (top or bottom border, or interlines) ++ const juttabs: integerarty = []; // zero-based, defines numbers of tabs which to draw with an expanding outward char (really applicable for fl_top & fl_bottom) ++ const emptyaftertabs: integerarty = []; // Zero-based, defines numbers of tabs after which to draw hor-lines with spaces up to next tab ++ lineopts: lineoptsty = [flo_left,flo_right,flo_vert,flo_top,flo_bottom] // which sublines of the frame to draw ++ ): msestring; ++ ++ ++ end; ++ ++ { ================================================================== } ++ ++ { An workaround for FPC "dynaray <> openarray" on assignment } ++ function mktextalignar(const items: array of stringposty): textalignarty; ++ ++ { Returns empty string if AVALUE can be considered as a string presentaion of "0" value} ++ function zero2emptystr(const avalue: msestring): msestring; ++ ++ function mkclipoptar(const items: array of clip_opts): clipoptarty; ++ function mktabar(const items: array of integer): integerarty; ++ function mkvaluear(const items: array of msestring): msestringarty; ++ ++ ++ {$ifdef mswindows} ++ ++ { ++ function ws2sysenc(avalue: widestring; outenc: longword = CP_ACP): ansistring; ++ } ++ function w32printrawfile(aprintername, afilename: widestring; deleteafter: boolean = false; ajobname: widestring = ''): boolean; ++ ++ { ++ function GetProfileString( ++ lpAppName: LPCTSTR; // address of section name ++ lpKeyName: LPCTSTR; // address of key name ++ lpDefault: LPCTSTR; // address of default string ++ lpReturnedString: LPTSTR; // address of destination buffer ++ nSize: DWORD // size of destination buffer ++ ): DWORD; stdcall; ++ external 'kernel32' name 'GetProfileString'; ++ } ++ ++ function OpenPrinterW( ++ pPrinterName: LPTSTR; ++ var phPrinter: HANDLE; ++ // pDefault: PPRINTERDEFAULTS ++ pDefault: pointer ++ ): BOOL; stdcall; ++ external 'winspool.drv' name 'OpenPrinterW'; ++ ++ function OpenPrinterA( ++ pPrinterName: LPSTR; ++ var phPrinter: HANDLE; ++ pDefault: pointer ++ ): BOOL; stdcall; ++ external 'winspool.drv' name 'OpenPrinterA'; ++ ++ function ClosePrinter( ++ hPrinter: HANDLE ++ ): BOOL; stdcall; external 'winspool.drv' name 'ClosePrinter'; ++ ++ ++ function StartDocPrinterA( ++ hPrinter: HANDLE; // handle of printer object ++ Level: DWORD; // structure level ++ pDocInfo: LPBYTE // address of structure ++ ): DWORD; stdcall; external 'winspool.drv' name 'StartDocPrinterA'; ++ ++ function EndDocPrinter( ++ hPrinter: HANDLE ++ ): BOOL; stdcall; external 'winspool.drv' name 'EndDocPrinter'; ++ ++ ++ function WritePrinter( ++ hPrinter: HANDLE; ++ pBuf: Pointer; ++ cbBuf: DWORD; ++ var pcWritten: DWORD ++ ): BOOL; stdcall; external 'winspool.drv' name 'WritePrinter'; ++ ++ ++ function WideCharToMultiByte( ++ CodePage: UINT; ++ dwFlags:DWORD; ++ lpWideCharStr:LPCWSTR; ++ cchWideChar:longint; ++ lpMultiByteStr:LPSTR; ++ cchMultiByte:longint; ++ lpDefaultChar:LPCSTR; ++ lpUsedDefaultChar:LPBOOL ++ ):longint; stdcall; external 'kernel32' name 'WideCharToMultiByte'; ++ ++ ++ function GetProfileString( ++ lpAppName: LPCSTR; ++ lpKeyName: LPCSTR; ++ lpDefault: LPCSTR; ++ lpReturnedString: LPSTR; ++ nSize: DWORD ++ ): DWORD; stdcall; external 'kernel32' name 'GetProfileStringA'; ++ ++ ++ {$endif} ++ ++ implementation ++ ++ uses ++ strutils, ++ msedatalist, ++ {$ifndef mswindows}printer,{$endif} ++ msesys, ++ mseucs2toru ++ {$ifdef mswindows} ++ ,msefileutils // to sysfilepath ++ ,msesysintf // iswin95 ++ {$endif}; ++ ++ ++ // ======================================== ++ ++ { ++ function ws2sysenc(avalue: widestring; outenc: longword = CP_ACP): ansistring; ++ var ++ i1: integer; ++ begin ++ i1:= length(avalue); ++ setlength(result,i1); ++ WideCharToMultiByte( ++ outenc, 0, ++ pwidechar(avalue), i1, ++ pchar(result), i1, ++ nil,nil ++ ) ++ end; ++ } ++ //------------------------ ++ ++ {$ifdef mswindows} ++ function w32printrawfile(aprintername, afilename: widestring; deleteafter: boolean = false; ajobname: widestring = ''): boolean; ++ var ++ buf1: array[0..2047] of char; ++ DocInfo1: DOC_INFO_1; ++ ++ NumRead,NumWritten: longword; ++ Total: longint; ++ f: file; ++ PrnHandle: HANDLE; ++ s1: ansistring; ++ ++ begin ++ result:= false; ++ ++ try ++ if iswin95 then begin ++ s1:= aprintername; ++ if not OpenPrinterA(LPSTR(s1),PrnHandle,nil) then begin ++ raise exception.create('OpenPrinter failed'); ++ end; ++ ++ end else begin ++ ++ if not OpenPrinterW(LPTSTR(aprintername),PrnHandle,nil) then begin ++ raise exception.create('OpenPrinter failed'); ++ end; ++ end; ++ ++ s1:= ajobname; ++ with DocInfo1 do begin ++ // pDocName := PChar(ws2sysenc(ajobname)); ++ // pDocName := PChar(ansistring(ajobname)); ++ pDocName := PChar(s1); ++ pOutputFile := nil; ++ pDataType := 'RAW'; ++ end; ++ ++ StartDocPrinterA(PrnHandle, 1, @DocInfo1); ++ Total:= 0; ++ ++ assign(f,tosysfilepath(afilename)); ++ reset(f,1); ++ repeat ++ blockRead(f, buf1, sizeof(buf1),NumRead) ; ++ WritePrinter(PrnHandle, PChar(buf1), NumRead, NumWritten); ++ inc(Total, NumWritten) ; ++ until (NumRead=0) or ( NumWritten<>NumRead ); ++ close(f); ++ ++ EndDocPrinter(PrnHandle); ++ ++ finally ++ ClosePrinter(PrnHandle); ++ end; ++ ++ if deleteafter then begin ++ s1:= tosysfilepath(afilename); ++ deletefile(pchar(s1)); ++ end; ++ ++ // if deleteafter then deletefile(pchar(ws2sysenc(tosysfilepath(afilename)))); ++ ++ result:= true; ++ ++ end; ++ {$endif} ++ // ==================== GENERIC TEXT PROCESSING FUNCTIONS ==================== ++ ++ function ttextprinter.getdataline( ++ tabpos: integerarty; // на ĐľĐ´Đ˝Ń Đ±ĐľĐ»ŃŚŃе, чем значений ++ avalues: msestringarty; ++ clipopts: clipoptarty; ++ alignment: textalignarty; ++ lineopts: lineoptsty = [flo_left,flo_right,flo_vert] ++ ): msestringarty; ++ var ++ i,j,i1,tabhigh,valhigh,brkhigh,alhigh,valhigh1: integer; ++ value_len,tab_len: integer; ++ ar1: msestringararty; ++ s1,s2: msestring; ++ ar2: integerarty; ++ rc, mc,lc: widechar; ++ ipadchar: widechar; ++ begin ++ ++ tabhigh:= high(tabpos); ++ valhigh:= high(avalues); ++ brkhigh:= high(clipopts); ++ alhigh:= high(alignment); ++ valhigh1:= alhigh; ++ ++ if tabhigh < 1 ++ then raise exception.create('TEXTTABLEDRAW.GETDATALINE: There should be at least two tabs specified but only ' + inttostr(tabhigh+1) + ' are defined'); ++ ++ if (valhigh >= tabhigh) or (alhigh >= tabhigh) or (brkhigh >= tabhigh) ++ then raise exception.create('TEXTTABLEDRAW.GETDATALINE: Numbers of AVALUES(' + inttostr(valhigh+1) + ')/DOBREAK(' + inttostr(brkhigh+1) + ')/ALIGMNENT(' + inttostr(alhigh+1) + ') should be less than of TABPOS(' + inttostr(tabhigh+1) + ')'); ++ ++ if tabhigh > (valhigh + 1) then begin ++ setlength(avalues,tabhigh); // by one less than TABHIGH ++ valhigh:= tabhigh -1; ++ end; ++ setlength(ar2,tabhigh); // where to store TAB_LEN for each AVALUES[i] ++ ++ if tabhigh > (brkhigh + 1) then setlength(clipopts,tabhigh); ++ if tabhigh > (alhigh + 1) then setlength(alignment,tabhigh); ++ ++ // поочередно по вŃем табŃляторам ++ setlength(ar1,length(avalues)); // ĐĽĐ°ŃŃив выходных Ńтолбцов Ńтрок ++ i1:= 0; ++ ++ // определение левого отŃŃ‚Ńпа, еŃли табŃляторы начинаютŃŃŹ не Ń Đ˝Đ°Ń‡Đ°Đ»Đ° Ńтроки ++ if tabpos[0] > 0 then ++ s2:= charstring(#$0020, tabpos[0]) ++ else ++ s2:= ''; ++ ++ for i:= 0 to tabhigh - 1 do begin // кроме поŃледнего табŃлятора ++ ++ tab_len:= tabpos[i+1] - tabpos[i] - 1; // ĐĽĐ°ĐşŃимальная Ńирина текŃŃ‚Đ° поŃле табŃлятора ++ ar2[i]:= tab_len; ++ ++ // впиŃĐ°Ń‚ŃŚ Ńмолчания для незаданных входных аргŃментов ++ if i > valhigh1 then avalues[i]:= charstring(#$0020,tab_len); ++ if i > brkhigh then clipopts[i]:= clo_trunc; ++ if i > alhigh then alignment[i]:= sp_left; ++ ++ if tab_len < 1 ++ then raise exception.create('TEXTTABLEDRAW.GETDATALINE: Position of not starting tab should be at least of previous one plus two'); ++ ++ value_len:= length(avalues[i]); // Ńирина полŃченного текŃŃ‚Đ° ++ ++ if (value_len < tab_len) then begin ++ ++ s1:= avalues[i]; ++ setlength(ar1[i],1); // на выходе Ńтолбца бŃдет одноŃтрочный ĐĽĐ°ŃŃив ++ ar1[i][0]:= fitstring(s1,tab_len,alignment[i]); ++ ++ end else if (value_len = tab_len) then begin ++ ++ setlength(ar1[i],1); // на выходе Ńтолбца бŃдет одноŃтрочный ĐĽĐ°ŃŃив ++ ar1[i][0]:= avalues[i]; ++ ++ end else begin ++ ++ // не помещаетŃŃŹ ++ s1:= leftstr(trim(avalues[i]),tab_len); ++ ++ case clipopts[i] of ++ ++ clo_trunc: begin ++ setlength(ar1[i],1); // на выходе Ńтолбца бŃдет одноŃтрочный ĐĽĐ°ŃŃив ++ ar1[i][0]:= s1; ++ end; ++ ++ clo_break: begin ++ ++ ar1[i]:= breaklines(avalues[i],tab_len); // разбить его на Ńтроки в ŃĐ¸Ń€Đ¸Đ˝Ń Ń‚Đ°Đ±Ńлятора ++ // заполнить ĐżŃŃтоты пробелами ++ for j:= 0 to high(ar1[i]) do begin ++ s1:= trim(ar1[i][j]); ++ ar1[i][j]:= fitstring(s1,tab_len,alignment[i]); ++ end; ++ ++ end; ++ ++ clo_pad: begin ++ setlength(ar1[i],1); // на выходе Ńтолбца бŃдет одноŃтрочный ĐĽĐ°ŃŃив ++ ar1[i][0]:= charstring(pad_char,tab_len); ++ end; ++ ++ end; // case ++ ++ end; // if ++ ++ if high(ar1[i]) > i1 then i1:= high(ar1[i]); // чиŃло Ńтрок - для определения Ńамого выŃокого Ńтолбца Ńтрок ++ ++ end; // for ++ ++ rc:= #$0020; mc:= #$0020; lc:= #$0020; ++ if flo_left in lineopts then ++ if fgraphoff then lc:= vert_graphoff else lc:= _v_; ++ ++ if flo_vert in lineopts then ++ if fgraphoff then mc:= vert_graphoff else mc:= _v_; ++ ++ if flo_right in lineopts then ++ if fgraphoff then rc:= vert_graphoff else rc:= _v_; ++ ++ ++ // наŃтроить резŃльтат на ĐĽĐ°ĐşŃимальное найденное чиŃло Ńтрок ++ setlength(result, i1+1); ++ for i:= 0 to i1 do begin // вниз ++ ++ // каждый Ńтолбец начинаетŃŃŹ Ń Đ˛ĐµŃ€Ń‚. линии, ++ // Ń Ńчетом поправки на ŃĐ°ĐĽŃ‹Đą левый табŃлятор > 0 ++ result[i]:= s2 + lc; ++ ++ for j:= 0 to valhigh do begin // вправо ++ ++ if i > (length(ar1[j])-1) then // Ńтолбец Ńодержит меньŃе значений, чем ĐĽĐ°ĐşŃимальное ++ s1:= charstring(#$0020, ar2[j]) // допиŃĐ°Ń‚ŃŚ эти значения как ĐżŃŃтые ++ else ++ s1:= ar1[j][i]; ++ ++ if j < valhigh then ++ result[i]:= result[i] + s1 + mc ++ else ++ result[i]:= result[i] + s1 + rc; ++ ++ end; ++ end; ++ ++ if fautoprint then begin // раŃпечатать ŃразŃ, как готовы вызодные данные ++ ++ for i:=0 to high(result) ++ do writelnp(result[i]); ++ ++ setlength(result,0); // ŃĐľ ŃброŃом резŃльтата в конце ++ end; ++ ++ end; ++ ++ // ======================================== ++ ++ function ttextprinter.getframeline ( ++ const tabpos: integerarty; ++ const lpos: line_pos = fl_middle; ++ const juttabs: integerarty = []; ++ const emptyaftertabs: integerarty = []; ++ lineopts: lineoptsty = [flo_left,flo_right,flo_vert,flo_top,flo_bottom] ++ ): msestring; ++ var ++ c1,rcs,mcs,lcs,rcl,mcl,lcl,hc,lvcl,rvcr,mvcl,mvcr,mvc: widechar; ++ i,i1,i2: integer; ++ s1,s2: msestring; ++ b1,b2,b3: boolean; ++ ++ // ------------ ++ function checkifjut(atab: integer): boolean; ++ var ++ j: integer; ++ begin ++ result:= false; ++ for j:= 0 to high(juttabs) do begin ++ if juttabs[j] = atab then begin ++ result:= true; ++ break; ++ end; ++ end; ++ end; ++ // ------------- ++ function checkifempty(atab: integer): boolean; ++ var ++ j: integer; ++ begin ++ result:= false; ++ for j:= 0 to high(emptyaftertabs) do begin ++ if emptyaftertabs[j] = atab then begin ++ result:= true; ++ break; ++ end; ++ end; ++ end; ++ // -------------- ++ ++ begin ++ // Ńимволы для отриŃовки : ++ rcs := #$0020; // правой верт.линии для нижней/верхней замки ++ mcs := #$0020; // промежŃточных верт.линий для нижней/верхней рамки ++ lcs := #$0020; // левой верт.линии для нижней/верхней рамки ++ rcl := #$0020; // правой верт.линии для промежŃточной рамки ++ mcl := #$0020; // промежŃŃ‚.верт.линии для промежŃточной рамки ++ lcl := #$0020; // левой верт.линии для промежŃточной рамки ++ hc := #$0020; // горизонтальных линий ++ ++ // при наличии нериŃŃемых горизонтальных линий ( emptyaftertabs ), Ńимволы по Ńмолчанию: ++ if fgraphoff then begin ++ lvcl:= vert_graphoff; // левых вертикальных линий перед ĐżŃŃŃ‚Ń‹ĐĽ проŃтранŃтвом ++ rvcr:= vert_graphoff; // правых вертикальных линий поŃле ĐżŃŃтого проŃтранŃтва ++ mvcl:= cross_graphoff; // промежŃŃ‚.верт. линий перед ĐżŃŃŃ‚Ń‹ĐĽ проŃтранŃтвом ++ mvcr:= cross_graphoff; // промежŃŃ‚.верт. линий поŃле ĐżŃŃтого проŃтранŃтва ++ mvc := vert_graphoff; // промежŃŃ‚.верт. линий поŃреди ĐżŃŃтого проŃтранŃтва ++ end else begin ++ lvcl:= _v_; ++ rvcr:= _v_; ++ mvcl:= v_l; ++ mvcr:= v_r; ++ mvc := _v_; ++ end; ++ ++ case lpos of ++ fl_upper: begin ++ ++ if flo_top in lineopts then begin // flo_top ++ ++ if fgraphoff then begin ++ hc:= horz_graphoff; ++ end else begin ++ hc:= _h_; ++ end; ++ ++ if flo_left in lineopts then begin // риŃовать левŃŃŽ Ń€Đ°ĐĽĐşŃ ++ if fgraphoff then begin ++ lcs:= cross_graphoff; ++ lcl:= cross_graphoff; ++ end else begin ++ lcs:= u_r; ++ lcl:= v_r; ++ end; ++ end else begin // не риŃовать левŃŃŽ Ń€Đ°ĐĽĐşŃ ++ if fgraphoff then begin ++ lcs:= horz_graphoff; ++ lcl:= horz_graphoff; ++ end else begin ++ lcs:= _h_; ++ lcl:= _h_; ++ end; ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= cross_graphoff; ++ mcl:= cross_graphoff; ++ end else begin ++ mcs:= h_d; ++ mcl:= h_v; ++ end; ++ end else begin ++ if fgraphoff then begin ++ mcs:= horz_graphoff; ++ mcl:= horz_graphoff; ++ end else begin ++ mcs:= _h_; ++ mcl:= _h_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= cross_graphoff; ++ rcl:= cross_graphoff; ++ end else begin ++ rcs:= r_d; ++ rcl:= v_l; ++ end; ++ end else begin ++ if fgraphoff then begin ++ rcs:= horz_graphoff; ++ rcl:= horz_graphoff; ++ end else begin ++ rcs:= _h_; ++ rcl:= _h_; ++ end; ++ end; ++ ++ end else begin // not flo_top ++ ++ if flo_left in lineopts then begin ++ if fgraphoff then begin ++ lcs:= vert_graphoff; ++ lcl:= vert_graphoff; ++ end else begin ++ lcs:= _v_; ++ lcl:= _v_; ++ end; ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= vert_graphoff; ++ mcl:= vert_graphoff; ++ end else begin ++ mcs:= _v_; ++ mcl:= _v_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= vert_graphoff; ++ rcl:= vert_graphoff; ++ end else begin ++ rcs:= _v_; ++ rcl:= _v_; ++ end; ++ end; ++ ++ end; ++ ++ end; // fl_upper ++ ++ fl_middle: begin ++ ++ if (flo_top in lineopts) or (flo_bottom in lineopts) then begin ++ ++ if fgraphoff then ++ hc:= horz_graphoff ++ else ++ hc:= _h_; ++ ++ if flo_left in lineopts then begin ++ if fgraphoff then begin ++ lcs:= cross_graphoff; ++ lcl:= cross_graphoff; ++ end else begin; ++ lcs:= v_r; ++ lcl:= v_r; ++ end; ++ end else begin ++ if fgraphoff then begin ++ lcs:= horz_graphoff; ++ lcl:= horz_graphoff; ++ end else begin ++ lcs:= _h_; ++ lcl:= _h_; ++ end ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= cross_graphoff; ++ mcl:= cross_graphoff; ++ end else begin ++ mcs:= h_v; ++ mcl:= h_v; ++ end; ++ end else begin ++ if fgraphoff then begin ++ mcs:= horz_graphoff; ++ mcl:= horz_graphoff; ++ end else begin ++ mcs:= _h_; ++ mcl:= _h_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= cross_graphoff; ++ rcl:= cross_graphoff; ++ end else begin ++ rcs:= v_l; ++ rcl:= v_l; ++ end; ++ end else begin ++ if fgraphoff then begin ++ rcs:= horz_graphoff; ++ rcl:= horz_graphoff; ++ end else begin ++ rcs:= _h_; ++ rcl:= _h_; ++ end; ++ end; ++ ++ end else begin // not (flo_top and flo_bottom) ++ ++ if flo_left in lineopts then begin ++ if fgraphoff then begin ++ lcs:= vert_graphoff; ++ lcl:= vert_graphoff; ++ end else begin ++ lcs:= _v_; ++ lcl:= _v_; ++ end; ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= vert_graphoff; ++ mcl:= vert_graphoff; ++ end else begin ++ mcs:= _v_; ++ mcl:= _v_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= vert_graphoff; ++ rcl:= vert_graphoff; ++ end else begin ++ rcs:= _v_; ++ rcl:= _v_; ++ end; ++ end; ++ ++ end; ++ ++ end; // fl_middle ++ ++ fl_bottom: begin // fl_bottom ++ ++ if flo_bottom in lineopts then begin // flo_bottom ++ ++ if fgraphoff then ++ hc:= horz_graphoff ++ else ++ hc:= _h_; ++ ++ if flo_left in lineopts then begin ++ if fgraphoff then begin ++ lcs:= cross_graphoff; ++ lcl:= cross_graphoff; ++ end else begin ++ lcs:= d_r; ++ lcl:= v_r; ++ end; ++ end else begin ++ if fgraphoff then begin ++ lcs:= horz_graphoff; ++ lcl:= horz_graphoff; ++ end else begin ++ lcs:= _h_; ++ lcl:= _h_; ++ end; ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= cross_graphoff; ++ mcl:= cross_graphoff; ++ end else begin ++ mcs:= h_u; ++ mcl:= h_v; ++ end; ++ end else begin ++ if fgraphoff then begin ++ mcs:= horz_graphoff; ++ mcl:= horz_graphoff; ++ end else begin ++ mcs:= _h_; ++ mcl:= _h_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= cross_graphoff; ++ rcl:= cross_graphoff; ++ end else begin ++ rcs:= r_u; ++ rcl:= v_l; ++ end; ++ end else begin ++ if fgraphoff then begin ++ rcs:= horz_graphoff; ++ rcl:= horz_graphoff; ++ end else begin ++ rcs:= _h_; ++ rcl:= _h_; ++ end; ++ end; ++ ++ end else begin // not flo_bottom ++ ++ if flo_left in lineopts then begin ++ if fgraphoff then begin ++ lcs:= vert_graphoff; ++ lcl:= vert_graphoff; ++ end else begin ++ lcs:= _v_; ++ lcl:= _v_; ++ end; ++ end; ++ ++ if flo_vert in lineopts then begin ++ if fgraphoff then begin ++ mcs:= vert_graphoff; ++ mcl:= vert_graphoff; ++ end else begin ++ mcs:= _v_; ++ mcl:= _v_; ++ end; ++ end; ++ ++ if flo_right in lineopts then begin ++ if fgraphoff then begin ++ rcs:= vert_graphoff; ++ rcl:= vert_graphoff; ++ end else begin ++ rcs:= _v_; ++ rcl:= _v_; ++ end; ++ end; ++ ++ end; // fl_bottom ++ ++ end; ++ ++ end; ++ ++ result:= ''; ++ ++ i1:= high(tabpos); ++ if i1 < 1 ++ then raise exception.create('TEXTTABLEDRAW.GETFRAMELINE: At least 2 tabulators are required but only ' + inttostr(i1+1) + ' are defined!'); ++ ++ i2:= high(emptyaftertabs); ++ if i2 >= i1 then ++ raise exception.create('TEXTTABLEDRAW.GETFRAMELINE: Number of tabs with empty after-space (' + inttostr(i2) + ') should be less than the whole number of tabs (' + inttostr(i1+1) + ' ) !'); ++ for i:= 0 to i2 do begin ++ if emptyaftertabs[i] >= i1 then ++ raise exception.create('TEXTTABLEDRAW.GETFRAMELINE: The tab with empty after-space (' + inttostr(emptyaftertabs[i]) + ') should be other tab than the last one (' + inttostr(i1) + ' )!'); ++ end; ++ ++ i2:= high(juttabs); ++ if i2 > i1 then ++ raise exception.create('TEXTTABLEDRAW.GETFRAMELINE: Number of jut tabs should not exceed the whole number of tabs (' + inttostr(i1+1) + '!'); ++ for i:= 0 to i2 do begin ++ if juttabs[i] > i1 then ++ raise exception.create('TEXTTABLEDRAW.GETFRAMELINE: The jut tab (' + inttostr(juttabs[i]) + ') should not exceed the last tab (' + inttostr(i1) + ') !'); ++ end; ++ ++ // определение левого отŃŃ‚Ńпа, еŃли табŃляторы начинаютŃŃŹ не Ń Đ˝Đ°Ń‡Đ°Đ»Đ° Ńтроки ++ if tabpos[0] > 0 then ++ s2:= charstring(#$0020, tabpos[0]) ++ else ++ s2:= ''; ++ ++ for i:= 0 to i1 do begin // for-begin ++ ++ b1:= checkifjut(i); // этот табŃлятор - выпирающий ? ++ b2:= checkifempty(i); // поŃле этого табŃлятора - ĐżŃŃтота ? ++ ++ if i = 0 then begin // на первом (flo_left) табŃляторе предварительно риŃŃем открывающий Ńимвол ++ if b2 then// еŃли здеŃŃŚ табŃлятор, Đ·Đ° которым ĐżŃŃтое проŃтранŃтво ++ result:= lvcl // риŃŃем "|" ++ else ++ if b1 // еŃли здеŃŃŚ табŃлятор, выпирающий в обратнŃŃŽ ŃŃ‚ĐľŃ€ĐľĐ˝Ń ++ then result:= lcl // нариŃовать обоюдо-выпирающий Ńимвол ++ else result:= lcs; // иначе нариŃовать обтекаемый Ńимвол ++ ++ end else if (i > 0) then begin // от второго (flo_vert) ++ ++ b3:= checkifempty(i-1); // перед этим табŃлятором - ĐżŃŃтота ? ++ ++ // определяем горизонтальный Ńимвол ++ if b3 then begin ++ c1:= #$0020; ++ end else begin ++ if fgraphoff then c1:= horz_graphoff else c1:= _h_; ++ end; ++ ++ // риŃŃем горизонтальнŃŃŽ линию от предыдŃщего Đ´Đľ текŃщего табŃлятора ++ result:= result + charstring(c1, tabpos[i]-tabpos[i-1]-1); ++ ++ if (i < i1) then begin // вŃе еще риŃŃем непоŃледние табŃляторы ( flo_vert )? ++ ++ if b2 then begin // еŃли Đ·Đ° этим табŃлятором идет ĐżŃŃтое проŃтранŃтво ++ if b3 // и перед ним тоже ĐżŃŃтое проŃтрантŃво ++ then result:= result + mvc // риŃŃем "|" ++ else result:= result + mvcl; // иначе риŃŃем "-|" ++ end else // поŃле - непŃŃтое проŃтрантŃво ++ if b3 then // но перед - ĐżŃŃтое ++ result:= result + mvcr // риŃŃем "|-" ++ else if b1 // допиŃываем промежŃточный Ńимвол ++ then result:= result + mcl // риŃŃем горизон. линию и промежŃŃ‚ Ńимвол ++ else result:= result + mcs; ++ ++ end else begin // на поŃледнем табŃляторе (flo_right) ++ ++ if b3 then // еŃли перед ним - ĐżŃŃŃ‚Đľ ++ result:= result + rvcr // риŃŃем "|" ++ else if b1 // иначе допиŃываем заверŃающий Ńимвол ++ then result:= result + rcl ++ else result:= result + rcs; ++ ++ end; ++ ++ end; ++ ++ end; // end-for ++ ++ // поправка на ŃĐ°ĐĽŃ‹Đą левый табŃлятор > 0 ++ result:= s2 + result; ++ ++ if fautoprint then begin // раŃпечатать ŃразŃ, как готовы выходные данные ++ writelnp(result); ++ setlength(result,0); // ŃĐľ ŃброŃом резŃльтата в конце ++ end; ++ ++ end; ++ ++ //===================================== ++ ++ function mktextalignar(const items: array of stringposty): textalignarty; ++ var ++ int1: integer; ++ begin ++ setlength(result,length(items)); ++ for int1:= 0 to high(items) do result[int1]:= items[int1]; ++ end; ++ ++ //--------------------------------- ++ ++ function mkclipoptar(const items: array of clip_opts): clipoptarty; ++ var ++ int1: integer; ++ begin ++ setlength(result,length(items)); ++ for int1:= 0 to high(items) do result[int1]:= items[int1]; ++ end; ++ ++ //--------------------------------- ++ ++ function mktabar(const items: array of integer): integerarty; ++ begin ++ result:= opentodynarrayi(items); ++ end; ++ ++ //--------------------------------- ++ ++ function mkvaluear(const items: array of msestring): msestringarty; ++ begin ++ result:= opentodynarraym(items); ++ end; ++ ++ //--------------------------------- ++ ++ function zero2emptystr(const avalue: msestring): msestring; ++ var ++ c1: currency; ++ begin ++ result:= avalue; ++ try ++ c1:= strtofloat(avalue); ++ if c1 = 0 then result:= ''; ++ except on EConvertError do end; ++ end; ++ ++ //============== TTEXTPRINTER ================== ++ ++ function ttextprinter.lh_cmd(const avalue: real): shortstring; ++ begin ++ result:= flh_cmd + chr(round(avalue*fdpi_coeff/25.4)); ++ end; ++ ++ //--------------------------------- ++ ++ function ttextprinter.qual_cmd(const avalue: prn_quality): shortstring; ++ begin ++ if avalue = pq_nlq then ++ result:= fhq_cmd ++ else ++ result:= fhs_cmd; ++ end; ++ ++ //--------------------------------- ++ ++ procedure ttextprinter.settype(const atype: prn_type); ++ begin ++ ftype:= atype; ++ ++ case atype of ++ prn_ibm: begin ++ fdeflh_cmd:= ibm_deflh_cmd; ++ flh_cmd:= ibm_lh_cmd; ++ fhs_cmd:= ibm_hs_cmd; ++ fhq_cmd:= ibm_hq_cmd; ++ freset_cmd:= ibm_reset_cmd; ++ finit_cmd:= ibm_init_cmd; ++ fdpi_coeff:= 216; ++ fcpi5_cmd:= ibm_5cpi_cmd; ++ fcpi6_cmd:= ibm_6cpi_cmd; ++ fcpi10_cmd:= ibm_10cpi_cmd; ++ fcpi12_cmd:= ibm_12cpi_cmd; ++ fcpi8dot56_cmd:= ''; ++ fcpi17dot3_cmd:= ibm_17dot3cpi_cmd;; ++ fcpi23_cmd:= ''; ++ end; ++ prn_lj: begin ++ fdeflh_cmd:= lj_deflh_cmd; ++ flh_cmd:= lj_lh_cmd; ++ fhs_cmd:= lj_hs_cmd; ++ fhq_cmd:= lj_hq_cmd; ++ freset_cmd:= lj_reset_cmd; ++ finit_cmd:= lj_init_cmd; ++ fdpi_coeff:= 180; ++ fcpi5_cmd:= lj_5cpi_cmd; ++ fcpi6_cmd:= lj_6cpi_cmd; ++ fcpi8dot56_cmd:= lj_8dot56cpi_cmd; ++ fcpi10_cmd:= lj_10cpi_cmd; ++ fcpi12_cmd:= lj_12cpi_cmd; ++ fcpi17dot3_cmd:= lj_17dot3cpi_cmd; ++ fcpi23_cmd:= lj_23cpi_cmd; ++ end; ++ else begin ++ fdeflh_cmd:= epson_deflh_cmd; ++ flh_cmd:= epson_lh_cmd; ++ fhs_cmd:= epson_hs_cmd; ++ fhq_cmd:= epson_hq_cmd; ++ freset_cmd:= epson_init_cmd; ++ finit_cmd:= epson_init_cmd; ++ fdpi_coeff:= 216; ++ fcpi5_cmd:= epson_5cpi_cmd; ++ fcpi6_cmd:= epson_6cpi_cmd; ++ fcpi8dot56_cmd:= epson_8dot56cpi_cmd; ++ fcpi10_cmd:= epson_10cpi_cmd; ++ fcpi12_cmd:= epson_12cpi_cmd; ++ fcpi17dot3_cmd:= epson_17dot3cpi_cmd; ++ fcpi23_cmd:= epson_23cpi_cmd; ++ end; ++ end; ++ end; ++ ++ //--------------------------------- ++ ++ function ttextprinter.dens_cmd(const avalue: prn_density): shortstring; ++ begin ++ case avalue of ++ pd_5cpi: result:= fcpi5_cmd; ++ pd_6cpi: result:= fcpi6_cmd; ++ pd_10cpi: result:= fcpi10_cmd; ++ pd_12cpi: result:= fcpi12_cmd; ++ pd_17dot3cpi: result:= fcpi17dot3_cmd; ++ ++ pd_8dot56cpi: begin ++ if ftype = prn_ibm then ++ raise exception.create('TTEXTTABLEDRAW.DENS_CMD: 8.56 CPI density for IBM printers is inavailable!') ++ else ++ result:= fcpi8dot56_cmd; ++ end; ++ ++ pd_23cpi: begin ++ if ftype = prn_ibm then ++ raise exception.create('TTEXTTABLEDRAW.DENS_CMD: 23 CPI density for IBM printers is inavailable!') ++ else ++ result:= fcpi23_cmd; ++ end; ++ ++ end; ++ end; ++ ++ //--------------------------------- ++ ++ function ttextprinter.deviceavailable: boolean; ++ begin ++ {$ifdef mswindows} ++ result:= fdefprnname <> ''; ++ {$else} ++ result:= isLstAvailable; ++ {$endif}; ++ end; ++ ++ ++ function ttextprinter.deviceready: boolean; ++ begin ++ result:= deviceavailable; ++ end; ++ ++ //--------------------------------- ++ ++ constructor ttextprinter.Create(const atype: prn_type = prn_epson); ++ {$ifdef mswindows} ++ var ++ buff: array[0..255] of Char; ++ {$endif} ++ begin ++ ftype:= atype; ++ settype(ftype); ++ fgraphoff:= false; // will use pseudographics by default ++ fdebugfilename:= sysutils.gettempfilename(gettempdir ,'textprinterdbg'); ++ {$ifdef mswindows} ++ fdebugprint:= true; ++ fdefprnname:= ''; ++ {$else} ++ fdebugprint:= false; ++ {$endif} ++ ++ fjobname:= 'Unknown sender'; ++ fextdebugprint:= false; ++ fautoprint:= false; ++ fdebugstream:= nil; ++ fisprinting:= false; ++ foutputencoding:= enc_latin1; ++ fleftmargin:= 0; ++ ++ {$ifdef mswindows} ++ ++ // Obtaining description of the default printer... ++ if not (GetProfileString('windows','device','', buff, SizeOf(buff)) > 0) then ++ raise exception.create('Đ’ ŃиŃтеме не назначен принтер по Ńмолчанию ! Печать невозможна.'); ++ ++ SetString(fdefprnname, buff, Pos(',', buff)-1); ++ if fdefprnname = '' then ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.CREATE: the default WINDOWS printer name is empty ! Печать невозможна.'); ++ ++ {$endif} ++ ++ end; ++ ++ //--------------------------------- ++ ++ procedure ttextprinter.internalcheckready; ++ {$ifdef mswindows} ++ var ++ buff: array[0..255] of Char; ++ {$endif} ++ begin ++ {$ifdef mswindows} ++ if not (GetProfileString('windows','device','', buff, SizeOf(buff)) > 0) then begin ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.internalcheckready: the default WINDOWS printer is not ready !'); ++ end; ++ {$else} ++ if not islstavailable then begin ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.internalcheckready: the RAW queue file (LST) is not ready !'); ++ end; ++ {$endif} ++ end; ++ ++ ++ procedure ttextprinter.internalchecklst; ++ begin ++ {$ifdef mswindows} ++ if fdefprnname = '' then begin ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.internalchecklst: the default WINDOWS printer is not available!'); ++ end; ++ {$else} ++ if not islstavailable then begin ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.internalchecklst: the RAW queue file (LST) is not available!'); ++ end; ++ {$endif} ++ end; ++ ++ ++ procedure ttextprinter.internalendprint{(adestroy:boolean = false)}; ++ {$ifdef mswindows} ++ //var ++ //job_info_size: LongWord; ++ {$endif} ++ begin ++ ++ if fdebugprint then begin // отладка печати ++ if (fdebugstream <> nil) then begin ++ if fdebugstream.isopen then begin ++ if fisprinting then writep(finit_cmd); // ŃбраŃывать принтер по Đ˛Ń‹Ń…ĐľĐ´Ń ++ fdebugstream.close; ++ end; ++ freeandnil(fdebugstream); ++ {$ifdef mswindows} ++ if not fextdebugprint then begin ++ // раŃпечатать файл ++ w32printrawfile(fdefprnname, fdebugfilename, true, fjobname); ++ end; ++ {$endif} ++ end; ++ end else begin // реальная печать ++ internalcheckready; ++ {$ifndef mswindows} ++ if fisprinting then writep(finit_cmd); // ŃбраŃывать принтер по Đ˛Ń‹Ń…ĐľĐ´Ń ++ system.close(lst); ++ {$endif} ++ end; ++ end; ++ ++ //--------------------------------- ++ ++ destructor ttextprinter.Destroy; ++ begin ++ internalendprint; ++ inherited; ++ end; ++ ++ //--------------------------------- ++ ++ procedure ttextprinter.setdebugprint(const avalue: boolean); ++ var ++ s1: msestring; ++ begin ++ if fisprinting then ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.SETPRINTERDEBUG: operation is only allowed before BEGINPRINT!'); ++ // fdebugprint:= avalue; ++ fextdebugprint:= avalue; ++ {$ifndef mswindows} ++ fdebugprint:= avalue; ++ {$endif} ++ end; ++ ++ //--------------------------------- ++ ++ procedure ttextprinter.writelnp(const avalue: msestring); ++ var ++ s1: ansistring; ++ begin ++ if not fisprinting then ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.WRITELNP: operation is only allowed between BEGINPRINT and ENDPRINT!'); ++ ++ case foutputencoding of ++ enc_ru866: s1:= ucs2to866(avalue); ++ else ++ s1:= stringtolatin1(avalue); ++ end; ++ ++ if fleftmargin > 0 then s1:= stringofchar(#$0020, fleftmargin) + s1; ++ ++ // s1:= #$000d + s1 + #$000a; ++ ++ {$ifndef mswindows} ++ if fdebugprint then // отладка печати ++ fdebugstream.writeln(s1) ++ // fdebugstream.write(s1) ++ else begin ++ system.writeln(lst,s1); ++ // system.write(lst,s1); ++ end; ++ {$else} ++ fdebugstream.writeln(s1); ++ // fdebugstream.write(s1); ++ {$endif} ++ end; ++ ++ //--------------------------------- ++ procedure ttextprinter.writep(const avalue: msestring); ++ var ++ s1: ansistring; ++ begin ++ if not fisprinting then ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.WRITEP: operation is only allowed between BEGINPRINT and ENDPRINT!'); ++ ++ case foutputencoding of ++ enc_ru866: s1:= ucs2to866(avalue); ++ else ++ s1:= stringtolatin1(avalue); ++ end; ++ ++ {$ifndef mswindows} ++ if fdebugprint then // отладка печати ++ fdebugstream.write(s1) ++ else begin ++ system.write(lst,s1); ++ end; ++ {$else} ++ fdebugstream.write(s1); ++ {$endif} ++ end; ++ //--------------------------------- ++ ++ procedure ttextprinter.beginprint; ++ var ++ s1: msestring; ++ begin ++ if fdebugprint then begin // отладка печати ++ ++ if trim(fdebugfilename) = '' then ++ fdebugfilename:= sysutils.gettempfilename(gettempdir ,'textprinterdbg'); ++ ++ if fdebugstream = nil then ++ fdebugstream:= ttextstream.create(fdebugfilename,fm_create); ++ ++ end else begin // реальная печать ++ internalcheckready; ++ {$ifndef mswindows} ++ system.append(lst); // переоткрыть файл очереди ++ {$endif} ++ end; ++ fisprinting:= true; ++ fleftmargin:= 0; ++ writep(finit_cmd); // на вŃякий ŃĐ»Ńчай ŃброŃить принтер ++ end; ++ ++ //--------------------------------- ++ ++ procedure ttextprinter.endprint; ++ begin ++ if not fisprinting then ++ raise exception.create('TTEXTTABLEDRAW.TTEXTPRINTER.ENDPRINT: operation is only allowed after BEGINPRINT!'); ++ ++ // writep(finit_cmd); // cброŃить принтер, чтобы не влиять на поŃледŃющие задания ++ internalendprint; ++ fisprinting:= false; ++ end; ++ ++ //--------------------------------- ++ ++ function ttextprinter.uline_cmd(const do_uline: boolean): shortstring; ++ begin ++ if do_uline then result:= ul_on_cmd else result:= ul_off_cmd; ++ end; ++ ++ // --------------------------------- ++ ++ function ttextprinter.bold_cmd(const do_bold: boolean): shortstring; ++ begin ++ if do_bold then result:= bold_on_cmd else result:= bold_off_cmd; ++ end; ++ ++ // --------------------------------- ++ ++ function ttextprinter.ita_cmd(const do_italic: boolean): shortstring; ++ begin ++ if ftype = prn_ibm then ++ raise exception.create('TTEXTTABLEDRAW.ITA_CMD: italic mode is unavailable for IBM printers!'); ++ if do_italic then result:= non_ibm_ita_on_cmd else result:= non_ibm_ita_off_cmd; ++ end; ++ // --------------------------------- ++ ++ ++ end. --- mseide-msegui-1.8.orig/debian/patches/07_Makefile.dpatch +++ mseide-msegui-1.8/debian/patches/07_Makefile.dpatch @@ -0,0 +1,80 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07_Makefile.dpatch by > +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mseide-msegui-1.8~/Makefile mseide-msegui-1.8/Makefile +--- mseide-msegui-1.8~/Makefile 1970-01-01 01:00:00.000000000 +0100 ++++ mseide-msegui-1.8/Makefile 2008-10-06 22:26:16.000000000 +0200 +@@ -0,0 +1,69 @@ ++########################################################################## ++# Debian ++########################################################################## ++ ++ifndef DEBDIR ++DEBDIR=debian ++endif ++ ++# Build dir ++ifndef BUILDDIR ++BUILDDIR=build ++endif ++ ++# Link Tree ++ifdef LINKISCOPY ++ifndef LINKTREE ++LINKTREE:=cp -Rfp ++endif ++else ++ifndef LINKTREE ++LINKTREE:=cp -Rfpl ++endif ++endif ++ ++ifndef ECHO ++ECHO=echo ++endif ++ ++ifneq ($(wildcard ${DEBDIR}/changelog),) ++ ++.PHONY: debcopy deb ++ ++DEBPACKAGEVERSION:=$(shell head -n 1 ${DEBDIR}/changelog | sed -e 's/mseide-msegui (\([0-9\.]\+\)-[0-9]).*/\1/') ++MSEVERSION:=$(shell grep Version VERSION.TXT | head -n 1 | sed -e 's/Version \([0-9\.]\+\)/\1/') ++DEBSRCDIR:=$(BUILDDIR)/mseide-msegui-$(MSEVERSION) ++ ++debcheck: ++ifneq ($(MSEVERSION),$(DEBPACKAGEVERSION)) ++ @$(ECHO) "Debian version ($(DEBPACKAGEVERSION)) is not correct, expect $(MSEVERSION)" ++ @exit 1 ++endif ++ ++debcopy: ++ rm -rf ${BUILDDIR} ++ install -d $(DEBSRCDIR) ++ $(LINKTREE) -t ${DEBSRCDIR} \ ++ ${DEBDIR} \ ++ README.TXT VERSION.TXT \ ++ apps docs lib patch_fpc_2_2 tools ++ find $(DEBSRCDIR) -name 'CVS*' | xargs -n1 rm -rf ++ find $(DEBSRCDIR) -name '.svn' | xargs -n1 rm -rf ++ chmod 755 $(DEBSRCDIR)/debian/rules ++ ++debbuild: ++ifdef NODOCS ++ cd $(DEBSRCDIR) ; dpkg-buildpackage -us -uc -B ++else ++ cd $(DEBSRCDIR) ; dpkg-buildpackage -us -uc ++endif ++ mv -v -t . $(DEBSRCDIR)/../*.{deb,dsc,changes,tar.gz} ++ ++debclean: ++ rm -rf $(DEBSRCDIR) ++ rmdir $(BUILDDIR) ++ ++deb: debcheck debcopy debbuild debclean ++ ++endif # changelog found ++ --- mseide-msegui-1.8.orig/debian/patches/02_images.dpatch +++ mseide-msegui-1.8/debian/patches/02_images.dpatch @@ -0,0 +1,338 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 02_images.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds images. + +@DPATCH@ +*** mseide-msegui-1.8.orig/images/mseide_32x32.xpm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/images/mseide_32x32.xpm 2008-08-29 10:18:45.000000000 +0200 +*************** +*** 0 **** +--- 1,146 ---- ++ /* XPM */ ++ static char *mseide___x__[] = { ++ /* columns rows colors chars-per-pixel */ ++ "32 32 108 2", ++ " c #FFFC02", ++ ". c #FEFB0B", ++ "X c #FDFA12", ++ "o c #ECED24", ++ "O c #FAF823", ++ "+ c #F0F028", ++ "@ c #EBEC33", ++ "# c #ABB858", ++ "$ c #849877", ++ "% c #A9B67D", ++ "& c #ACB97D", ++ "* c #BCC54E", ++ "= c #BAC453", ++ "- c #BBC56A", ++ "; c #C0C94E", ++ ": c #DADF49", ++ "> c #C5CE5C", ++ ", c #F3F347", ++ "< c #3C5DBF", ++ "1 c #5B769C", ++ "2 c #4867A8", ++ "3 c #4968AD", ++ "4 c #4363B3", ++ "5 c #4867B2", ++ "6 c #4263BA", ++ "7 c #627DB1", ++ "8 c #0B35CF", ++ "9 c #183FCE", ++ "0 c #0E37D0", ++ "q c #0F39D0", ++ "w c #133CD0", ++ "e c #1C43C9", ++ "r c #1C44D3", ++ "t c #244AC5", ++ "y c #274CCE", ++ "u c #2A4FCF", ++ "i c #2C50C6", ++ "p c #2D51CF", ++ "a c #3356C1", ++ "s c #3255C9", ++ "d c #3658CC", ++ "f c #2047D3", ++ "g c #254AD4", ++ "h c #294DD5", ++ "j c #2D51D5", ++ "k c #3255D6", ++ "l c #3658D7", ++ "z c #3659D8", ++ "x c #3B5DD8", ++ "c c #3F60D9", ++ "v c #4464CB", ++ "b c #4F6DCD", ++ "n c #5672CD", ++ "m c #5875CB", ++ "M c #4363DA", ++ "N c #4B6BDC", ++ "B c #516FDD", ++ "V c #5572DE", ++ "C c #5A76DE", ++ "Z c #5C78DF", ++ "A c #5F7BE0", ++ "S c #627EE0", ++ "D c #718994", ++ "F c #6680E1", ++ "G c #6C85E2", ++ "H c #6F88E3", ++ "J c #738CE4", ++ "K c #788FE5", ++ "L c #7A91E5", ++ "P c #8B9E89", ++ "I c #839795", ++ "U c #8B9E92", ++ "Y c #80959B", ++ "T c #8EA18C", ++ "R c #91A383", ++ "E c #A3B180", ++ "W c #DDE2BF", ++ "Q c #FFFEB5", ++ "! c #F3F4BF", ++ "~ c #FBFBB8", ++ "^ c #93A5C3", ++ "/ c #8297E7", ++ "( c #8499E6", ++ ") c #8DA0E8", ++ "_ c #92A4EA", ++ "` c #9AABEB", ++ "' c #A3B3ED", ++ "] c #ACBAEF", ++ "[ c #B0BEF0", ++ "{ c #BAC5C4", ++ "} c #B4C1F0", ++ "| c #BAC6F1", ++ " . c #CED6C7", ++ ".. c #C3CDF3", ++ "X. c #C6D0F4", ++ "o. c #CBD4F5", ++ "O. c #CFD8F6", ++ "+. c #D4DCF7", ++ "@. c #D8DFF7", ++ "#. c #DCE2F8", ++ "$. c #E1E7F9", ++ "%. c #E5EAFA", ++ "&. c #EAEEFB", ++ "*. c #EDF0FB", ++ "=. c #F3F5FD", ++ "-. c #F6F8FD", ++ ";. c #FEFEFF", ++ ":. c None", ++ /* pixels */ ++ ":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.:.:.:.8 8 8 8 8 8 c :.:.:.:.:.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.:.;.` q 8 8 8 8 q o.;.C 8 8 :.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.8 8 -.-.Z 8 8 8 8 N ;.;.J 8 8 8 :.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.8 8 8 8 -.;.$.M 8 8 g o.;.;.L 8 8 8 8 8 :.:.:.:.:.:.", ++ ":.:.:.:.:.8 8 8 8 8 -.;.;.] 8 8 J -.;.;.J 8 k r 8 8 :.:.:.:.:.:.", ++ ":.:.:.:.8 8 J &.A w ..;.;.;.c w =.;.;.;.Z ) ;.G 8 w x :.:.:.:.:.", ++ ":.:.:.:.8 8 x %.&.J j [ ;.;.' f ;.;.;.;.N ' #.x j ` &.;.:.:.:.:.", ++ ":.:.:.8 8 8 8 F ;.;.` j _ #.&.M | ;.;.;.x B h L -.;.;.;.:.:.:.:.", ++ ":.:.8 8 8 8 8 w *.;.;.+.M k o.G L ;.;.;.j w [ -.;.;.;.X.w :.:.:.", ++ ":.:.8 8 8 8 8 8 +.;.;.;.;.] h x r c o.&.g } ;.;.;.;.-.C 8 8 :.:.", ++ ":.:.8 8 8 w 8 8 ] ;.;.;.;.;.r 6 - Y l N r _ -.;.;.;...r 8 8 :.:.", ++ ":.:.8 8 ' ;.-.' l ..;.;.;.;.h * X w e 1 2 N *.-.| r w w q :.:.", ++ ":.8 8 8 S =.;.;.J l =.;.;.&.g # X : w $ . + p ` H h ) } } ] :.:.", ++ ":.8 8 8 8 h ' o...M h H C i a e d k g 7 . . u k J $.;.;.;.;.:.:.", ++ ":.8 8 8 8 8 w r f w 8 8 t = @ 3 b W { j E T j O.;.;.;.;.-.' :.:.", ++ ":.8 8 0 w j _ =.;.;.-._ 4 o . 1 ^ Q ~ m w q F @.=.;.*.] g 8 8 :.", ++ ":.:._ ] ..#.;.;.;.;.&.G t > , 5 n ! .j % U w h M S x w 8 8 :.:.", ++ ":.:.;.;.;.;.;.;.;.O.k N / j w 9 4 g w D . . s ' ..L h 8 8 8 :.:.", ++ ":.:.O.-.;.;.;.;.+.x H &.-.+.h D o ; a R O y | ;.;...z 8 8 :.:.", ++ ":.:.8 q w r h j f J ;.;.;.;.V P X < q v y F =.;.;.;.$.r 8 :.:.", ++ ":.:.8 8 8 8 8 8 j #.;.;.;.;.S t & I j ` H w C $.;.;.;.;.K 8 :.:.", ++ ":.:.:.8 8 8 8 8 S ;.;.;.;.| h S w M O.;.o.g C r l ( @.-.o.:.:.:.", ++ ":.:.:.8 8 8 8 8 ) ;.;.;.$.x _ -.h X.;.;.#.k %.J 8 8 g S :.:.:.:.", ++ ":.:.:.:.8 8 8 q +.;.;.#.x k ;.;.g ..;.;.=.M V N 8 8 8 8 :.:.:.:.", ++ ":.:.:.:.:.8 8 M ;.;.%.N 8 C ;.;.B G ;.;.;.K 8 8 8 8 8 :.:.:.:.:.", ++ ":.:.:.:.:.:.8 ` ;.#.h 8 8 Z ;.;.K 8 ' -.;.*.w 8 8 8 :.:.:.:.:.:.", ++ ":.:.:.:.:.:.:...| l 8 8 8 B ;.;.Z 8 r ' ;.;.G 8 8 :.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.8 8 8 8 j ;.;.f 8 8 0 ..;.X.:.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.:.:.8 8 w =.&.8 8 8 8 c :.:.:.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.", ++ ":.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:." ++ }; +Les fichiers binaires mseide-msegui-1.8.orig/images/mseide_48x48.png et mseide-msegui-1.8/images/mseide_48x48.png sont diffĂ©rents. +diff -N -c mseide-msegui-1.8.orig/images/mseide_48x48.xpm mseide-msegui-1.8/images/mseide_48x48.xpm +*** mseide-msegui-1.8.orig/images/mseide_48x48.xpm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/images/mseide_48x48.xpm 2008-08-29 10:19:13.000000000 +0200 +*************** +*** 0 **** +--- 1,173 ---- ++ /* XPM */ ++ static char *mseide___x__[] = { ++ /* columns rows colors chars-per-pixel */ ++ "48 48 119 2", ++ " c #FFFC01", ++ ". c #FFFC0D", ++ "X c #FFFC14", ++ "o c #F0F01A", ++ "O c #E7E926", ++ "+ c #F8F623", ++ "@ c #FFFC25", ++ "# c #F2F22C", ++ "$ c #FDFA2A", ++ "% c #E8E93F", ++ "& c #FFFD35", ++ "* c #F8F739", ++ "= c #FFFD3C", ++ "- c #AFBB6D", ++ "; c #BCC664", ++ ": c #F4F443", ++ "> c #FAF946", ++ ", c #EAEC56", ++ "< c #EEEF5A", ++ "1 c #F2F256", ++ "2 c #F5F458", ++ "3 c #FFFD58", ++ "4 c #CAD16F", ++ "5 c #D4D967", ++ "6 c #C6CE7D", ++ "7 c #5774AE", ++ "8 c #5F7AA9", ++ "9 c #4767B7", ++ "0 c #5774BB", ++ "q c #617CBC", ++ "w c #0B35CF", ++ "e c #0E37D0", ++ "r c #0E38D0", ++ "t c #133BD0", ++ "y c #1C43D2", ++ "u c #2248C9", ++ "i c #3256CB", ++ "p c #3B5CCA", ++ "a c #2047D3", ++ "s c #244AD4", ++ "d c #2A4ED5", ++ "f c #2E52D6", ++ "g c #3155D6", ++ "h c #3658D7", ++ "j c #375AD8", ++ "k c #3A5CD8", ++ "l c #3F60D9", ++ "z c #4565CD", ++ "x c #4867C9", ++ "c c #5F7AC7", ++ "v c #4A69D1", ++ "b c #4364DA", ++ "n c #4867DB", ++ "m c #4B6ADB", ++ "M c #516FDD", ++ "N c #5472DD", ++ "B c #5A76DF", ++ "V c #5E79DF", ++ "C c #637DC6", ++ "Z c #627DE0", ++ "A c #768DAB", ++ "S c #7F94CA", ++ "D c #6D86D4", ++ "F c #6580E1", ++ "G c #6B85E2", ++ "H c #6F88E3", ++ "J c #728BE3", ++ "K c #788FE4", ++ "L c #7C93E5", ++ "P c #84989A", ++ "I c #9AAB97", ++ "U c #A8B685", ++ "Y c #A7B594", ++ "T c #A9B694", ++ "R c #8DA0A6", ++ "E c #95A7A1", ++ "W c #9AABA3", ++ "Q c #A4B3A1", ++ "! c #BEC88C", ++ "~ c #D3D982", ++ "^ c #E0E486", ++ "/ c #FFFEB5", ++ "( c #FEFDBC", ++ ") c #8297D8", ++ "_ c #A3B3CE", ++ "` c #A9B8D2", ++ "' c #8096E6", ++ "] c #859AE7", ++ "[ c #899EE8", ++ "{ c #8FA2E9", ++ "} c #91A4E9", ++ "| c #97A9EA", ++ " . c #9DADEC", ++ ".. c #A4B4ED", ++ "X. c #A8B7EE", ++ "o. c #ACBAEF", ++ "O. c #B0BEEF", ++ "+. c #BAC6D2", ++ "@. c #B4C1F0", ++ "#. c #BAC6F1", ++ "$. c #BEC9F2", ++ "%. c #D6DDC8", ++ "&. c #EFF1CA", ++ "*. c #FFFEC0", ++ "=. c #C2CCF3", ++ "-. c #C7D0F3", ++ ";. c #CBD4F5", ++ ":. c #CFD8F6", ++ ">. c #D4DBF6", ++ ",. c #D9DFF7", ++ "<. c #DCE3F8", ++ "1. c #E1E6F9", ++ "2. c #E5EAFA", ++ "3. c #EAEDFB", ++ "4. c #EDF0FB", ++ "5. c #F3F5FD", ++ "6. c #F6F8FD", ++ "7. c #FFFFFF", ++ "8. c None", ++ /* pixels */ ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.w w w w w 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.w w w w w w w w w w t 8.7.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.7.6.d w w w w w w w w w L 7.7.L w w 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.w w w 6.7.2.a w w w w w w w a 6.7.7.X.w w w w 8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.w w w w 5.7.7.$.r w w w w w w X.7.7.7.o.w w w w w w 8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.w w w w w 5.7.7.7.J w w w w w f 6.7.7.7.@.w w w w w w w 8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.w w w w w w 5.7.7.7.7.d w w w w =.7.7.7.7.@.w w w w w w w w 8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.w w r w w w w 5.7.7.7.7.o.w w w b 7.7.7.7.7.o.w e b B w w w w w 8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.w w k 7.>.j w w 3.7.7.7.7.7.g w w 2.7.7.7.7.7...w <.7.7.y w w w w r 8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.w w w y 6.7.7.B w g 3.7.7.7.7.O.w l 7.7.7.7.7.7.G w 7.7.7.a w w d } 7.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.w w w w w J 7.7.5.J w y ;.7.7.7.7.f t 7.7.7.7.7.7.F w 7.7.B w y | 7.7.7.7.8.8.8.8.8.8.", ++ "8.8.8.8.8.w w w w w r :.7.7.7.| t t $.7.7.7. .w O.7.7.7.7.7.B w ;.a w F 3.7.7.7.7.7.8.8.8.8.8.8.", ++ "8.8.8.8.w w w w w w w h 7.7.7.7.1.f w f @.7.6.r N 7.7.7.7.7.M w r t =.7.7.7.7.7.7.6.k w 8.8.8.8.", ++ "8.8.8.8.w w w w w w w w >.7.7.7.7.7.[ y w L 7.d y 7.7.7.7.7.b w y >.7.7.7.7.7.7.7.' w w 8.8.8.8.", ++ "8.8.8.w w w w w w w w w ;.7.7.7.7.7.7.4.m w X.f w g G 4.7.7.y a <.7.7.7.7.7.7.7.7.y w w 8.8.8.8.", ++ "8.8.8.w w w w w w w w w .7.7.7.7.7.7.7.4.t w w s y w f 7.} w ' 7.7.7.7.7.7.7.7.X.w w w w 8.8.8.", ++ "8.8.8.w w w w t t t w w H 7.7.7.7.7.7.7.7.f w I = = W w g r w f L 5.7.7.7.7.7.6.y w w w w 8.8.8.", ++ "8.8.w w w w G 7.7.7.<.j w o.7.7.7.7.7.7.7.d s X + y w w t t w y 6.7.7.7.2.h w w w w w 8.8.8.", ++ "8.8.w w w w L 7.7.7.7.6.g t @.7.7.7.7.7.7.s k . . a w 7 $ X - w F 7.7.$.y w y y y y t w 8.8.", ++ "8.8.w w w w r o.7.7.7.7.,.a t <.7.7.7.7.-.s t O . > U w t o @ p y #.b w y @.7.7.7.7.6.8.8.8.", ++ "8.8.w w w w w w Z 3.7.7.7.>.y t } #.;.a w w w u C t w w t ~ z w w t K 5.7.7.7.7.7.7.7.8.8.", ++ "8.8.w w w w w w w r h N N m y w w w w t T ^ q w w v ` ) t y # * t f 1.5.7.7.7.7.7.7.7.7.8.8.8.", ++ "8.8.w w w w w w w w w w w w w w w w w P & t a ( / / _ w q Q g w .7.7.7.7.7.7.7.7.>.l w 8.8.", ++ "8.8.w w w w w w w d ;.7.7.7.7.7.<.B w 4 $ t C / / / ( t w w w b 7.7.7.7.7.7.7.4.n w w w 8.8.", ++ "8.8.w w t t s m ..7.7.7.7.7.7.7.7.{ w ; & t v / / / %.w s k w t N K -.4.7.4.N w w w w w 8.8.", ++ "8.8.8.>.7.7.7.7.7.7.7.7.7.7.7.7.| y w i < 3 ! w w +.*.&.n w 5 & Y w w r w w a r w w w w w w 8.8.", ++ "8.8.7.7.7.7.7.7.7.7.7.7.7.7.5.B w a G e t y w w r w s t w A X X p y 5.#.V a w w w w w w w 8.8.", ++ "8.8.8.7.7.7.7.7.7.7.7.7.7.5.b w b 5.7.;.n w w x , 0 f r y X 9 y 7.7.7.5.| t w w w w 8.8.8.", ++ "8.8.8.8.<.7.7.7.7.7.7.7.7.b w F 7.7.7.7.7.M w % . X 8 w 6 1 t g 7.7.7.7.7.=.t w w w 8.8.8.", ++ "8.8.8.w w t t d g k l n j w G 7.7.7.7.7.7.G w : A w t c S y w =.7.7.7.7.7.7.@.w w w 8.8.8.", ++ "8.8.8.w w w w w w w w w w j 7.7.7.7.7.7.7. .w E X 2 a w t w w w } 7.7.7.7.7.7.7.7.N w w 8.8.8.", ++ "8.8.8.8.w w w w w w w w w @.7.7.7.7.7.7.7.} w w D R s w o.7.7.d w r ] 5.7.7.7.7.7.7.3.w 8.8.8.8.", ++ "8.8.8.8.w w w w w w w w r 3.7.7.7.7.7.7.>.t s d w w t [ 7.7.7.N w d w w g } 4.7.7.7.7.8.8.8.8.8.", ++ "8.8.8.8.8.w w w w w w w d 7.7.7.7.7.7.6.d r >.7.w m 4.7.7.7.7.J r 7.#.t w w w n #.7.7.8.8.8.8.8.", ++ "8.8.8.8.8.w w w w w w w V 7.7.7.7.7.7.G w { 7.7.w G 7.7.7.7.7. .w ,.7.n w w w w w 8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.w w w w w w ..7.7.7.7.7.[ w g 6.7.7.w V 7.7.7.7.7.#.w m 4.h w w w w w w 8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.w w w w y 4.7.7.7.7.V w w K 7.7.7.s a 5.7.7.7.7.7.w w r w w w w w w 8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.w w w ' 7.7.7.7.J w w w ] 7.7.7...w J 7.7.7.7.7.n w w w w w w w 8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.w w ,.7.7.7.N w w w w [ 7.7.7.$.w r #.7.7.7.7.>.w w w w w w 8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.a 7.7.6.n w w w w w ' 7.7.7. .w w t #.7.7.7.7.m w w w w 8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.7.,.s w w w w w w J 7.7.7.] w w w t #.7.7.7.:.w w w 8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.w w w w w w w m 7.7.7.b w w w w t 2.7.7.7.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.w w w w w w s 7.7.7.r w w w w w a 6.7.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.w w w w 2.7.:.w w w w w w w 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.7.8.w w w 8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.", ++ "8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8.8." ++ }; --- mseide-msegui-1.8.orig/debian/patches/06_docs.dpatch +++ mseide-msegui-1.8/debian/patches/06_docs.dpatch @@ -0,0 +1,36973 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 03_misc.dpatch by Mazen Neifer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: This patch adds docs. + +@DPATCH@ +diff -N -c -r mseide-msegui-1.8.orig/docs/msehelp-report.txt mseide-msegui-1.8/docs/msehelp-report.txt +*** mseide-msegui-1.8.orig/docs/msehelp-report.txt 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/msehelp-report.txt 2008-02-27 11:37:00.000000000 +0100 +*************** +*** 0 **** +--- 1,613 ---- ++ ============================================== ++ ++ treporter ++ ++ "twidget" stuff: ++ ++ color : the backgroud color of the whole report ( not areas only ) ++ font : the default font for internal widgets ++ helpcontext ++ name ++ statfile ++ tag ++ ++ Event handlers: ++ ++ oncreate ++ ondestroy ++ ondestroyed ++ onloaded ++ onafterupdateskin ++ onbeforeupdateskin ++ ++ dialogcaption & dialogtext ++ - if "reo_waitdialog" is set : title & text of the message dialogue ++ ++ ++ grid_ ++ show: T*/F ++ size ++ snap ++ ++ options ++ reo_autorelease ++ reo_prepass ++ reo_nodisablecontrols ++ reo_nothread ++ reo_waitdialog ++ reo_aotoreadstat ++ reo_autowritestat ++ ++ ppmm ++ pixel per mm ++ ++ Event handlers: ++ ++ onafterrender ++ onbeforerender ++ onpreamble ++ onpageafterpaint ++ onpagebeforerender ++ onpagepaint ++ onprogress ++ ++ Public: ++ procedure render(const acanvas: tcanvas; ++ const onafterrender: reporteventty = nil); overload; ++ procedure render(const aprinter: tstreamprinter; const command: string = ''; ++ const onafterrender: reporteventty = nil); overload; ++ procedure render(const aprinter: tstreamprinter; const astream: ttextstream; ++ const onafterrender: reporteventty = nil); overload; ++ procedure render(const aprinter: tgdiprinter; ++ const onafterrender: reporteventty = nil); overload; ++ procedure waitfor; //returns before calling of onafterrender ++ function prepass: boolean; //true if in prepass render state ++ procedure restart; ++ procedure recordchanged; //calls recordchanged of active page ++ ++ function reppagecount: integer; ++ property reppages[index: integer]: tcustomreportpage read getreppages ++ write setreppages; default; ++ property pagenum: integer read fpagenum {write fpagenum}; ++ //null-based ++ property lastpagecount: integer read flastpagecount write flastpagecount; ++ property activepage: integer read factivepage write setactivepage; ++ procedure finish; ++ property printstarttime: tdatetime read fprintstarttime write fprintstarttime; ++ property nilstream: boolean read fnilstream; ++ //true if reder called with nil stream ++ property canceled: boolean read getcanceled write setcanceled; ++ property running: boolean read getrunning; ++ ++ ============================================== ++ ++ treportpage ++ ++ TWidget stuff : ++ ++ color ++ face ++ frame ++ helpcontext ++ name ++ tag ++ visible ++ ++ datasource - last resort data source for the child areas & bands ++ ++ nextpage ++ nexpageifempty ++ ++ options ++ rpo_once ++ rpo_firsteven ++ rpo_firstodd ++ ++ pageheight ++ pagewidth ++ ++ printorientation ++ rpo_default ( printer.canvas value ) ++ rpo_portrait ++ rpo_landscape ++ ++ visiblepage ++ ++ Event handlers: ++ ++ onafterlastpage ++ onafternextrecord ++ onbeforenextrecord ++ onafterpaint ++ onbeforerender ++ onfirstpage ++ onpaint ++ ++ Public : ++ ++ function isfirstrecord: boolean; ++ - true if "datasource.dataset" is active and positioned to 1-st record ++ ++ function islastrecord: boolean; ++ - true if "datasource.dataset" is active and positioned to the last record ++ ++ procedure recordchanged; ++ property report: tcustomreport read freport; ++ ++ property pagenum: integer read fpagenum write fpagenum; ++ - null-based, local to this page ++ ++ property lastpagecount: integer read getlastpagepagecount write flastpagecount; ++ //local to this page ++ ++ property printstarttime: tdatetime ++ property visiblepage: boolean ++ procedure activatepage; ++ procedure finish; ++ procedure restart; ++ ++ ============================================== ++ ++ tbandarea ++ ++ "twidget" stuff: ++ ++ anchors ++ bounds ++ color ++ cursor ++ enabled ++ face ++ font ++ frame ++ helpcontext ++ hint ++ name ++ optionswidget ++ popupmenu ++ tag ++ taborder ++ visible ++ ++ Event handlers: ++ ++ onactivate ++ onafterupdateskin ++ onbeforeupdateskin ++ ondeactivate ++ ondefocus ++ onenter ++ onexit ++ onfocus ++ onpopup ++ onshowhint ++ ++ Event handlers: ++ ++ onafterpaint ++ onbeforerender: before cicling through the area's bands ++ onbeforerender ++ onfirstarea ++ onpaint ++ ++ Public: ++ ++ islastband - true if any more recordband ( of design-set height = ++ bounds_cy + bottom frame) won't fit the area ++ ++ isfirstband - true if the currently coming recordband (of the area) ++ hasn't been shown on the page yet ++ ++ isfirstrecord - true if : ++ 1) "active_recordband.datasource.dataset" is active and positioned to 1-st record ++ or otherwise ++ 2) "parent_page.datasource.dataset" is active and positioned to 1-st record ++ ++ islastrecord - true if : ++ 1) "active_recordband.datasource.dataset" is active and positioned to the last record ++ or otherwise ++ 2) "parent_page.datasource.dataset" is active and positioned to the last record ++ ++ function istopband: boolean; ++ function remainingheight: integer; ++ ++ function pagepagenum: integer; //null based ++ function reppagenum: integer; //null based ++ ++ function pageprintstarttime: tdatetime; ++ function repprintstarttime: tdatetime; ++ function getreppage: tcustomreportpage; ++ procedure restart; ++ ++ property acty: integer ++ property areafull: boolean ++ ++ =============================================== ++ ++ "li*" element ++ ++ *** presents a single line framing a tab, a recorband,.. *** ++ ++ capstyle ++ ++ cs_projecting - (PS-printer only), doesn't adjust length of the line ++ on joints with other lines ++ ++ cs_butt - adjusts length of the line so that it not to jut out beyond ++ its orthogonal "counterparthner" ++ ++ cs_round - (PS-printer only), rounds joints of this line ++ ++ color - color of the line ++ ++ dashes - numeric 2-digit mask (1-st digit is the space {pix} and 2-nd if the line segment length ) ++ colorgap - color of space between the segments ++ ++ dist - shift {mm} of the line from its default position ( positive values are outward ++ thus enlarge the tab, and vie versa), "livert" shifts left, both vert & hor shifts ++ are accepted ++ ++ visible ++ lv_firstofpage - to draw if belongs to a recorband which : ++ 1) 1-st of the report ++ ++ lv_topofpage ++ lv_nottopofpage ++ lv_firstofpage ++ lv_normal ++ lv_lastofpage ++ lv_firstofgroup ++ lv_lastofgroup ++ lv_firstrecord ++ lv_last_record ++ ++ widthmm ++ ++ =============================================== ++ ++ textflags ++ tf_xcentered ++ tf_right ++ tf_xjustify ++ tf_ycentered ++ tf_bottom ++ tf_clipi ++ tf_clipo ++ tf_grayed ++ tf_wordbreak ++ tf_softhyphen ++ tf_noselect ++ tf_ellipseleft ++ tf_ellipseright ++ tf_tabtospace ++ ++ =============================================== ++ ++ tab = trecordband.tabs[i] ++ ++ color ++ ++ datafield ++ datasource ++ ++ distright ++ distright ++ ++ font: see ++ format ++ ++ kind ++ *** shifts/aligns the value against the tab h-position *** ++ ++ tak_left : the tab is touched by the left extent of value ++ ++ tak_right : the tab is touched by the right extent of value ++ ++ tak_centered : the value is h-centered around the tab ++ ++ tak_decimal : ++ if the value contains a decimal separator then the value shifts ++ so that the separator is placed on the tab's position, ++ otherwise "tak_right" is applied ++ ++ linksource ++ -recordband/bandgroup/rep*disp ++ ++ libottom ++ see "li" element ++ lileft ++ see "li" element ++ lileft ++ see "li" element ++ liright ++ see "li" element ++ litop ++ see "li" element ++ livert ++ see "li" element ++ ++ lookupbuffer ++ lookupkeyfiedno ++ lookupvaluefiedno ++ ++ lookupkind ++ lk_text ++ lk_integer ++ lk_float ++ lk_date ++ lk_time ++ lk_datetime ++ ++ pos ++ ++ options ++ rto_count ++ rto_sum ++ rto_average ++ rto_shownull ++ rto_nocurrentvalue ++ ryo_noreset ++ ++ textflags ++ see "textflags" above ++ ++ tag ++ value ++ ++ Even handlers: ++ ++ ongetvalue ++ ++ =============================================== ++ ++ trecordband ++ ++ "twidget" stuff: ++ ++ anchors ++ bounds ++ color ++ cursor ++ enabled ++ face ++ font ++ frame ++ helpcontext ++ hint ++ name ++ optionswidget ++ popupmenu ++ taborder ++ tag ++ ++ Event handlers: ++ ++ onactivate ++ OnAfterUpdateSkin ++ onchildscaled ++ ondeactivate ++ ondefocus ++ onenter ++ onexit ++ onfocus ++ onfontheightdelta ++ onpopup ++ onshowhint ++ ++ visible : skips this band when rendering the parent area ++ datasource ++ ++ nextband ++ nextbandifempty ++ ++ options ++ bo_once : ++ ++ bo_evenpage ++ bo_oddpage ++ bo_visigroupfirst ++ bo_visigroupnotfirst ++ bo_visigrouplast ++ bo_visigroupnotlast ++ bo_localvalue ++ ++ optionsscale ++ osc_expandx ++ osc_shrinkx ++ osc_expandy ++ osc_shrinky ++ osc_invisisshrinkx ++ osc_invisisshrinky ++ ++ ++ optionsshow ++ bos_showfirstpage ++ bos_hidefirstpage ++ bos_shownormalpage ++ bos_hidenormalpage ++ bos_showevenpage ++ bos_hideevenpage ++ bos_showoddpage ++ bos_hideoddpage ++ ++ bos_showtopofpage ++ bos_hidetopofpage ++ ++ ++ bos_showfirstofpage ++ bos_hidefirstofpage ++ bos_shownormalofpage ++ bos_hidenormalofpage ++ bos_showlastofpage ++ bos_hidelastofpage ++ bos_showfirstrecord ++ bos_hidefirstrecord ++ bos_shownormalrecord ++ bos_hidenormalrecord ++ bos_showlastrecord ++ bos_hidelastrecord ++ ++ ++ visidatasource ++ visidatafield ++ visigroupfield ++ ++ tabs ++ count ++ defaultdist ++ disleft ++ distright ++ ++ libottom ++ see "li" element ++ lileft ++ see "li" element ++ liright ++ see "li" element ++ litop ++ see "li" element ++ livert ++ see "li" element ++ ++ tabs[i] ++ see "tab" above ++ ++ ++ linksource ++ ++ Event handlers: ++ ++ onafterpaint ++ onafternextrecord ++ onbeforenextrecord ++ onbeforepaint ++ onbeforerender: before cycling through the area's bands ++ onpaint ++ ++ Public: ++ ++ procedure beginupdate; ++ procedure endupdate; ++ function remainingbands: integer; ++ function reppage: tcustomreportpage; ++ procedure finish; ++ function isfirstrecord: boolean; ++ function islastrecord: boolean; ++ function isfirstofgroup: boolean; ++ function islastofgroup: boolean; ++ procedure restart; ++ ++ hidden: ++ procedure render(canvas; var empty); ++ - ++ ++ =============================================== ++ ++ tbandgroup ++ ++ "twidget" stuff: ++ ++ anchors ++ bounds ++ color ++ cursor ++ enabled ++ face ++ font ++ frame ++ helpcontext ++ hint ++ name ++ optionswidget ++ popupmenu ++ taborder ++ visible ++ ++ "trecordband" stuff: ++ ++ datasource ++ ++ options ++ optionsscale ++ optionsshow ++ ++ visidatasource ++ visidatafield ++ visigroupfield ++ ++ nextband ++ nextbandifempty ++ ++ onactivate ++ onafterpaint ++ onbeforerender ++ onchildscaled ++ ondeactivate ++ ondefocus ++ onenter ++ onexit ++ onfocus ++ onfontheightdelta ++ onpaint ++ onpopup ++ onshowhint ++ ++ ++ =========================================== ++ ++ trepvaluedisp ++ ++ "twidget" stuff: ++ ++ anchors ++ bounds ++ color ++ cursor ++ enabled ++ face ++ font ++ frame ++ helpcontext ++ hint ++ name ++ optionswidget ++ popupmenu ++ taborder ++ visible ++ tag ++ ++ "trecordband" stuff: ++ ++ options ++ optionsscale ++ optionsshow ++ visidatasource ++ visidatafield ++ visigroupfield ++ onactivate ++ onafterpaint ++ onbeforerender ++ onchildscaled ++ ondeactivate ++ ondefocus ++ onenter ++ onexit ++ onfocus ++ onfontheightdelta ++ onpaint ++ onpopup ++ onshowhint ++ ++ value ++ ++ More event handlers: ++ ++ ongettext ++ ++ Public: ++ ++ format ++ ++ ================================= ++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/msehelp.txt mseide-msegui-1.8/docs/msehelp.txt +*** mseide-msegui-1.8.orig/docs/msehelp.txt 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/msehelp.txt 2008-03-24 21:00:00.000000000 +0100 +*************** +*** 0 **** +--- 1,3244 ---- ++ The public stuff of MSEGUI: ++ ++ **************** ++ ++ (f)window: ++ the OS-allocated ( root = toplevel ) window common for all widgets of this window ++ ++ * "widget.fwindow.fowner = widget.self" in case of the widget present the root "fwindow" ++ ( owns the window ) ++ ++ (f)rootpos: ++ position of the widget in the coord of toplevel window not the nearest parent widget alone, ++ calculated as sum of such positions ( fwidgetrect.pos ) starting from the toplevel through the chain of all parents ++ up to the current widget; ++ "nullpoint" (0,0) for toplevel widgets ( window-owning forms,..) ++ ++ screenpos: ++ - coord aginst the top-left corner of screen ++ - WM decoration & title aren't parts of the widget ! ++ ++ widgetrect: ++ the widget on-screen area including its frame & frame caption ++ ++ paintrect: ++ the widget on-screen area except its frame & frame caption ++ ++ clientrect: ++ virtual area which ++ - for non-scrolling widgets, equals to "paintrect", with its "pos:= (0,0)" ++ - for scrolling widgets, may be bigger than "paintrect", ++ also may shift ( change its "pos" ) when scrolling ++ ++ * "t*grid" aren't such scrollable widgets since their virtual height would be limited by ++ the X11 "+-32000" limitation, ++ so example of such widgets are tscrollbox, "tform.container" etc ++ ++ framerect: ++ the widget on-screen area except its frame caption but including inner & outer frame ++ ++ **************** ++ // translates "point" coord against "source" widgetrect to "dest" widgetrect ++ // ++ // * nil "source" = from screen coord ++ // * nil "dest" = to screen coord ++ procedure translatewidgetpoint1(var point: pointty; const source,dest: twidget); ++ ++ // the function-framed version of "translatewidgetpoint1" ++ function translatewidgetpoint(const point: pointty; const source,dest: twidget): pointty; ++ ++ // rect isntead of point, ++ // if dest = nil then to screen ++ // if source = nil then against screen ++ function translatewidgetrect(const rect: rectty; const source,dest: twidget): rectty; ++ //----------------- ++ // translates "point" coord against "source" paintrect to "dest" paintrect ++ // * nil "source" = from screen coord ++ // * nil "dest" = to screen coord ++ procedure translatepaintpoint1(var point: pointty; const source,dest: twidget); ++ ++ // the function-framed version of "translatepaintpoint1" ++ function translatepaintpoint(const point: pointty; const source,dest: twidget): pointty; ++ ++ // rect isntead of point, ++ // if dest = nil then to screen ++ // if source = nil then against screen ++ function translatepaintrect(const rect: rectty;const source,dest: twidget): rectty; ++ //----------------- ++ // translates "point" coord against "source" clientrect to "dest" clienttrect ++ // * nil "source" = from screen coord ++ // * nil "dest" = to screen coord ++ procedure translateclientpoint1(var point: pointty; ++ const source,dest: twidget); ++ ++ // the function-framed version of "translateclientpoint1" ++ function translateclientpoint(const point: pointty; const source,dest: twidget): pointty; ++ ++ // rect isntead of point, ++ // if dest = nil then to screen ++ // if source = nil then against screen ++ function translateclientrect(const rect: rectty; const source,dest: twidget): rectty; ++ //----------------- ++ ++ // (re)sorts "awidgets" in order of increasing their "widgetrect.x" coords ++ // - if parent = nil then the coords are against individual parent of each of "awidgets" ++ // - if parent is supplied then the coords are against this parent ++ procedure sortwidgetsxorder(var awidgets: widgetarty; const parent: twidget = nil); ++ ++ // (re)sorts "awidgets" in order of increasing their "widgetrect.y" coords ++ // - if parent = nil then the coords are against individual parent of each of "awidgets" ++ // - if parent is supplied then the coords are against this parent ++ procedure sortwidgetsyorder(var awidgets: widgetarty; const parent: twidget = nil); ++ ++ // for each of "widgets", calculates its autosized client area ( min size rect to fit the caption, etc ) ++ // - both hor & ver sizes of client area of each of "widgets" are adjusted to the max of the above calculated areas, ++ // as the result - client areas of all widgets become identically v+h sized ++ // ++ // * right & bottom anchored margins of each widget are preserved ++ procedure syncmaxautosize(const widgets: array of twidget); ++ ++ // for each of "widgets", width of client area of each of "widgets" is adjusted so that ++ // external ( by the outer border of frame ) widths of all widgets become identical ++ // to the external widht of the widest widget ++ // ++ // * if "awidth" >= 0 then no determining the widest widget is taken and ++ // "awidth" is adjusted to instead, for all widgets ++ // * right anchored margins of each widget are lost ++ procedure syncminframewidth(const awidgets: array of twidget; ++ const awidth: integer = -1); ++ ++ // for each of "widgets", height of client area of each of "widgets" is adjusted so that ++ // external ( by the outer border of frame ) heights of all widgets become identical ++ // to the external height of the highest widget ++ // ++ // * if "aheight" >= 0 then no determining the highest widget is taken and ++ // "aheight" is adjusted to instead, for all widgets ++ // * bottom anchored margins of each widget are lost ++ procedure syncminframeheight(const awidgets: array of twidget; ++ const aheight: integer = -1); ++ ++ //==================== ++ ++ tguiapplication = class(tcustomapplication) ++ public ++ ++ // [re]starts the system timer with the new period and ++ // subscribes the application to be a receiver of the modified "ek_timer" event ++ // ( can check for it in the event queue ) ++ procedure settimer(const us: integer); ++ ++ // finds a window by its winID ++ function findwindow(id: winidty; out window: twindow): boolean; ++ ++ // finds a window by its ID & adjusts "rect" so that it ++ // fits "bounds_minc*" & "bounds_maxc*" of the found window ++ procedure checkwindowrect(winid: winidty; var rect: rectty); ++ ++ // inits the timer and "megraphics" ++ procedure initialize; ++ ++ // frees the allocated system resources (GDI, event subsription, the timer) ++ procedure deinitialize; ++ ++ // creates a form instance, it will be shown in "application.run" ++ procedure createform(instanceclass: widgetclassty; var reference); ++ ++ // invalidates all registered forms ( all their widgets will be redrawn ) ++ procedure invalidate; ++ ++ // calls a nested main eventloop, forces processing any pending messages, ++ procedure processmessages; override; //handle with care! ++ ++ // TRUE if no pending events to process for the application ++ function idle: boolean; override; ++ ++ // requests to indicate waiting ( to show the "watches" cursos ) ++ procedure beginwait; override; ++ ++ // removes the "watches" if no unclosed requests for displaying them, ++ // otherwise closes the currently active request ++ procedure endwait; override; ++ ++ // TRUE if there're unclosed requests for displaying "watches" ++ function waiting: boolean; ++ ++ // TRUE if ESC has just been pressed ++ // - if all requests for displaying "watches" are closed then refreshes ++ // the internal list of events ( the GUI-queue -> the app event list) ++ function waitescaped: boolean; //true if escape pressed while waiting ++ ++ // sets state of the current wait dialogue ( but doesn't close one ) to undefined ++ procedure resetwaitdialog; ++ ++ // runs "aexecuteaction" in the main thread in OnIdle mode, ++ // then shows a cancellable message, ++ // if the one is cancelled then runs "acancelaction" then ++ // either fully clears (if exceptions occur ) ++ // or terminates the execution otherwise, ++ // true if not cancelled; ++ // "application.processmessages" must be called regularly if "aexecuteaction" is used here, ++ // alternatively "aidleaction" can be used, call sleep ( some time ) in order to minimize ++ // processor load. ++ // If athread <> nil the function starts and terminates the thread ++ function waitdialog(const athread: tthreadcomp = nil; const atext: msestring = ''; ++ const caption: msestring = ''; ++ const acancelaction: notifyeventty = nil; ++ const aexecuteaction: notifyeventty = nil): boolean; override; ++ ++ // closes the currently modal waitdialogue with "cancelled" state ++ procedure cancelwait; ++ ++ // closes the currently modal waitdialogue with "ok" state ++ procedure terminatewait; ++ ++ function waitstarted: boolean; // the last waitdialogue is currently showing for some requests ++ function waitcanceled: boolean; // the last waitdialogue has been cancelled for some request (but can be shown fot others ?) ++ function waitterminated: boolean; // the last waitdialogue has been terminated for some request (but can be shown fot others ?) ++ ++ // if called from the main app thread then shows as a modal message describing the exception ++ // otherwise posts an async event for which the message will be called ++ procedure showexception(e: exception; const leadingtext: string = ''); override; ++ ++ // posts an async event for which the message describing the exception will be called ++ procedure showasyncexception(e: exception; const leadingtext: string = ''); ++ ++ // "application.errormessage" shows standard error message ( with "ERROR" title ) ++ procedure errormessage(const amessage: msestring); override; ++ ++ // [re]calculates timings & position of hint for "ahintedwidget" ++ // if "ow_timedhint" in "ahintedwidget.foptionswidget" then iys showtime will be ++ // "defaulthintshowtime" ( an app wide setting, 3sec by default) ++ procedure inithintinfo(var info: hintinfoty; const ahintedwidget: twidget); ++ ++ ++ // shows the supplied hint text within "aposrect" with alignment "aplacement" during "ashowtime", ++ // the avail ( but not used currenly ) flags are : hfl_show,hfl_custom,hfl_noautohidemove,hfl_noautohidemove ++ procedure showhint(const sender: twidget; const hint: msestring; ++ const aposrect: rectty; const aplacement: captionposty = cp_bottomleft; ++ const ashowtime: integer = defaulthintshowtime; //0 -> inifinite, ++ // -1 defaultshowtime if ow_timedhint in sender.optionswidget ++ const aflags: hintflagsty = defaulthintflags ++ ); overload; ++ ++ // shows the supplied hint text at left-top position"apos" during "ashowtime", ++ // the avail ( but not used currenly ) flags are : hfl_show,hfl_custom,hfl_noautohidemove,hfl_noautohidemove ++ procedure showhint(const sender: twidget; const hint: msestring; ++ const apos: pointty; ++ const ashowtime: integer = defaulthintshowtime; //0 -> inifinite, ++ // -1 defaultshowtime if ow_timedhint in sender.optionswidget ++ const aflags: hintflagsty = defaulthintflags ++ ); overload; ++ ++ // shows the hint fully defined in "info" for the widget "sender" ++ procedure showhint(const sender: twidget; const info: hintinfoty); overload; ++ ++ // removes the current hint widget & frees its resources & stops its stop timer ++ procedure hidehint; ++ ++ // restarts the current hint and its stop timer ++ procedure restarthint(const sender: twidget); ++ ++ function hintedwidget: twidget; //last hinted widget ++ function activehintedwidget: twidget; //nil if no hint active ++ ++ // returns helpcontext of active widget, '' if none; ++ function activehelpcontext: msestring; ++ ++ // returns helpcontext of the widget under mouse, '' if none; ++ function mousehelpcontext: msestring; ++ ++ // TRUE if one of the app's window/console is in input focus ++ function active: boolean; ++ ++ // returns the desktop resolution ( or the virtual one if used ) ++ function screensize: sizety; ++ ++ // returns the (virtual) desktop resolution except the tray area, ++ // nil -> current active window ++ function workarea(const awindow: twindow = nil): rectty; ++ ++ // returns which of application windows ( forms not eventwidgets, openglwidgets and windowwidgets !) ++ // is active ( provides the input focus ), ++ // it's same for all widgets of the form served by this window ++ function activewindow: twindow; ++ ++ / * A transient window is a descendant of ( "transientfor" ) another window in the stacking order hierarchy */ ++ ++ // returns a first non-transient ( on top of the app stacking order ) window upward ++ // from the currently active window of the application. ++ // or that active window if no such ++ function regularactivewindow: twindow; ++ ++ // same as "activewindow" but the window must not be released (?) ++ function unreleasedactivewindow: twindow; ++ ++ // returns the focused widget of the currently active window if one exists ++ function activewidget: twidget; ++ ++ // returns the widget presenteing the currently active window ++ function activerootwidget: twidget; ++ ++ // returns the window ( not hidden or disabled !) under the screen point "pos" ++ function windowatpos(const pos: pointty): twindow; ++ ++ // puts to "awidget" the container of widget pointed by "namepath" ++ // ( finalizing "." is discarded if found ) , ++ // FALSE if not found, and NIL and TRUE if "namepath" = '' ++ function findwidget(const namepath: string; out awidget: twidget): boolean; ++ ++ // rebuilds the application's window list accorrding to the current on-screen Z-order of its windows; ++ // window list is ordered by "z" - bottom first & top last; ++ // invisibles first ++ procedure sortzorder; ++ ++ // returns a copy of the internal window list of application ++ function windowar: windowarty; ++ ++ // returns the list of application window winIDs ++ function winidar: winidarty; ++ ++ // returns the count of the application windows ++ function windowcount: integer; ++ ++ // returns the window by its number ( "index" >= 0) in the application window list ++ property windows[const index: integer]: twindow read getwindows; ++ ++ // returns the lowest visible window in stackorder, ++ // calls "sortzorder" within ++ function bottomwindow: twindow; ++ ++ // returns the highest visible window in stackorder, ++ // calls "sortzorder" within ++ function topwindow: twindow; ++ ++ ++ // TRUE if all owned windows pass "CanClose" check or ++ // don't have focused widgets ++ function candefocus: boolean; ++ ++ // subscribes the handler "method" to receive keyboard events ++ procedure registeronkeypress(const method: keyeventty); ++ ++ // unsubscribes the handler "method" from receiving keyboard events ++ procedure unregisteronkeypress(const method: keyeventty); ++ ++ // subscribes the handler "method" to receive shortcut events ++ procedure registeronshortcut(const method: keyeventty); ++ ++ // unsubscribes the handler "method" from receiving shortcut events ++ procedure unregisteronshortcut(const method: keyeventty); ++ ++ // subscribes the handler "method" to receive "OnWindowActiveChanged" event ( form-wide ) ++ procedure registeronactivechanged(const method: activechangeeventty); ++ ++ // unsubscribes the handler "method" from receiving "OnWindowActiveChanged" event ( form-wide ) ++ procedure unregisteronactivechanged(const method: activechangeeventty); ++ ++ // subscribes the handler "method" to receive "OnDestroyed" events ( form-wide ) ++ procedure registeronwindowdestroyed(const method: windoweventty); ++ ++ // unsubscribes the handler "method" from receiving "OnDestroyed" events ( form-wide ) ++ procedure unregisteronwindowdestroyed(const method: windoweventty); ++ ++ // subscribes the handler "method" to receive "OnWindowDestroyed" events ( form-wide ) ++ procedure registeronwiniddestroyed(const method: winideventty); ++ ++ // unsubscribes the handler "method" form receiving "OnWindowDestroyed" events ( form-wide ) ++ procedure unregisteronwiniddestroyed(const method: winideventty); ++ ++ // subscribes the handler "method" to receive "ApplicationActiveChanged" events ( form-wide ) ++ procedure registeronapplicationactivechanged(const method: booleaneventty); ++ ++ // unsubscribes the handler "method" from receiving "ApplicationActiveChanged" events ( form-wide ) ++ procedure unregisteronapplicationactivechanged(const method: booleaneventty); ++ ++ // tcustomapplication ++ ++ // subscribes the handler "method" to receive "OnTerminated" event ( form-wide ) ++ procedure registeronterminated(const method: notifyeventty); ++ ++ // unsubscribes the handler "method" from receiving "OnTerminated" events ( form-wide ) ++ procedure unregisteronterminated(const method: notifyeventty); ++ ++ // subscribes the handler "method" to receive "OnTerminateQuery" event ( form-wide ) ++ procedure registeronterminate(const method: terminatequeryeventty); ++ ++ // unsubscribes the handler "method" from receiving "OnTerminateQuery" event ( form-wide ) ++ procedure unregisteronterminate(const method: terminatequeryeventty); ++ ++ // subscribes the handler "method" to receive "OnIdle" event ( form-wide ) ++ procedure registeronidle(const method: idleeventty); ++ ++ // unsubscribes the handler "method" from receiving "OnIdle" events ( form-wide ) ++ procedure unregisteronidle(const method: idleeventty); ++ ++ // calls "canclose" of all application windows except the "sender" window ++ // if all "canclose"are TRUE then checks "OnTerminateQuery" ++ // for all its subscribers ( usually forms of the application ) ++ procedure terminate(const sender: twindow = nil); ++ ++ // TRUE as long as a "terminate" call is in progress ++ function terminating: boolean; ++ ++ // TRUE as long as a "deinitialize" call is in progress ++ function deinitializing: boolean; ++ ++ // returns the current caret object ( the text input focus indicator ) of the application ++ / ( this object provides facitities to control position & appearance & visibility & timings of the caret ) ++ property caret: tcaret read fcaret; ++ ++ // returns the current mouse object of the application ++ / ( this object provides facitities to control position & appearance of the mouse ) ++ property mouse: tmouse read fmouse; ++ ++ // simulates mouseparkevent ++ // ( an adjusting mouse movement without user intervention - grid snapping, docking etc ?) ++ procedure mouseparkevent; ++ ++ // sets mouse position correction for further mouse events, ++ // the real position is less the visual one by the supplied shift ++ procedure delayedmouseshift(const ashift: pointty); ++ ++ // returns/sets a cursor shape used for widgets having their cursor shape set to "cr_default"; ++ // setting it to "cr_default" restores the individual widget cursor(s) ++ property widgetcursorshape: cursorshapety read fwidgetcursorshape write ++ fwidgetcursorshape; ++ ++ // returns/sets the current application-wide cursor shape ( not "watches" if a waiting dialogue is curerntly displayed ! ) ++ // or request to set a new cursor shape ( app-wide ); ++ // doesn't change when changing mouse widgets ++ // ++ // if no waiting dialogue displayed & called from a non-main app thread then redraws ++ // then cursor immediately; ++ // set it to "cr_default" to restore the shape to one set by "widgetcursorshape" ++ // ++ property cursorshape: cursorshapety; // cr_arrow, cr_* ++ ++ // assures the displayed mouse cursor shape to be the shape assigned to the currently under-mouse widget, ++ // otherwise "cr_default" ++ procedure updatecursorshape; //restores cursorshape of mousewidget ++ ++ // returns a widget of the application where the mouse is currently positioned over ++ property mousewidget: twidget read fmousewidget; ++ ++ // returns a widget of the application currently "owning" the mouse ( grabbing all mouse input ) ++ property mousecapturewidget: twidget read fmousecapturewidget; ++ ++ ++ // returns/sets a window to become the main window of the application ++ // then resets all other application windows to the window group it belongs to ( Linux only ); ++ // ++ // the main window minimizes all windows if minimized; ++ property mainwindow: twindow read fmainwindow write setmainwindow; ++ ++ // returns which system thread was allocated to the application on its start ++ // ( the main thread ) ++ property thread: threadty read fthread; ++ ++ // returns teh widget where a mouse button click occured last time ++ // ( to compare with when determinibg whether another widget is clicked ) ++ property buttonpresswidgetbefore: twidget read fbuttonpresswidgetbefore; ++ ++ // returns teh widget where a mouse button release occured last time ++ // ( to compare with when determinibg whether another widget is clicked ) ++ property buttonreleasewidgetbefore: twidget read fbuttonreleasewidgetbefore; ++ ++ ++ // returns/sets the interval of mouse double click recognition ( in microsecs), ++ // defaults to 0.4 sec ++ property dblclicktime: integer read fdblclicktime write fdblclicktime default ++ defaultdblclicktime; //us ++ ++ // tcustomapplication ++ ++ // creates a datamodule instance ( its startup code including "OnLoaded" is executed ) ++ procedure createdatamodule(instanceclass: msecomponentclassty; var reference); ++ ++ ++ // enters the application event loop; ++ // ++ // once the loop finishes, performs "OnTerminated" for all its subscribers, ++ // destroys all application forms ( components & windows ) ++ procedure run; ++ ++ // TRUE if the eventloop is entered ++ function running: boolean; ++ ++ // returns/sets the application name ++ // ( defaults to the full path to application executable in the native OS format ); ++ // currently, only for informatiion query purposes ++ property applicationname: msestring read fapplicationname write fapplicationname; ++ ++ ++ // if exclusive "rights" are satisfied for the main thread ( a mutex lock is OK ) & the event loop is in progress ++ // then posts the "event" to the main application thread for asyc processing, ++ // otherwise adds the event to the internal list for further handling as soon as the above conditions meet ++ procedure postevent(event: tevent); ++ ++ // TRUE if never idle since last call, ++ // unlocks the application and calls sleep if not mainthread and asleepus >= 0 ++ function checkoverload(const asleepus: integer = 100000): boolean; ++ ++ // returns/sets the application exception handler ++ property onexception: exceptioneventty read fonexception write fonexception; ++ ++ // if not "eabort" & no unhandled exceptions, ++ // executes the above "OnException" code if assigned ++ // or shows an exception message otherwise; ++ procedure handleexception(sender: tobject = nil; ++ const leadingtext: string = ''); ++ ++ // synchronizes the calling thread with the main event loop ( via a mutex), ++ // TRUE if the calling thread allready holds the mutex, ++ // the mutex is recursive ++ function lock: boolean; ++ ++ // tries to synchronize the calling thread with the main event loop ( via a mutex) ++ function trylock: boolean; ++ ++ // releases the mutex if the calling thread holds the mutex, ++ // TRUE if no unlock done ++ function unlock: boolean; ++ ++ // releases the mutex recursively if the calling thread holds the mutex, ++ // returns "count" for the below "relockall" ++ function unlockall: integer; ++ ++ // regains the mutex to serve "count" locks ++ procedure relockall(count: integer); ++ ++ // creates a syncronize event ( which will fire asyncronously then waits for another thread will allow it to finish ), assigns "proc" to it as the event handler, ++ // then frees all locks temporarily then posts the event to the app event queue & waits fot it to be processed the resores the locks; ++ // ++ // TRUE if not aborted, quiet -> shows no exceptions if occurs ++ // ++ // the "syncronize event" is an event owning a semaphore which can be touched by another thread ++ // thus causing "event.waitfo" to return & to exec the event handler code ++ // ++ function synchronize(const proc: objectprocty; ++ const quite: boolean = false): boolean; ++ ++ // TRUE if the calling ( this function ) thread is the application main thread ++ function ismainthread: boolean; ++ ++ // TRUE if the currently locked thread is the application main thread ++ function islockthread: boolean; ++ ++ // waith for "athread" to terminate, ++ // does "unlock-relock" around waiting ++ procedure waitforthread(athread: tmsethread); ++ ++ // post a "nothing-to-do" event for asynchronous processing in the main thread ++ procedure wakeupmainthread; ++ ++ // invalidates all registered forms of the application so that their widgets redraw land-specific captions ++ // ( changed by "mseconsts.setlangconsts" ), ++ // called internally in "setlangconsts" before return ++ procedure langchanged; virtual; ++ ++ // returns/sets "aps_terminated" state flag ( no actions ? ) ++ // this flag is also set internally by "terminate" if not cancelled ++ property terminated: boolean read getterminated write setterminated; ++ ++ // returns the number of "handleexception" calls having an effect ( a message or the handler code ) ++ property exceptioncount: longword read fexceptioncount; ++ ++ ================================================================== ++ ++ ++ charset { ANSI/ DEFAULT/ SYMBOL /SHIFTJIS /HANGEUL /GB2312 /CHINESEBIG5 /OEM ++ /JOHAB / HEBREW/ ARABIC/ GREEK/ TURKISH/ VIETNAMESE/ THAI/ EASTEUROPE/ ++ RUSSIAN/ MAC/ BALTIC } ++ - changes the font to the nearest containing the selected encoding(charset) ++ - no font change made if the supplied encoding doesn't match any font ++ color ++ - color of the glyphs contours ++ colorbackground ++ - fill color of the glyph cells ( not including extraspace ) ++ colorshadow ++ - color of SE glyph "edges" ( if not "cl_none", deactivates "colorbackground" ) ++ extraspace ++ - v-space between glyph cells of adjacent text rows (negative values cause the cells to overlap ) ++ height ++ - v-size of glyph cells, in pixels ++ name ++ - initially, font is choosen by { "family" = this name } ++ options: ++ foo_fixed ++ - changes the font to the nearest "mono" spaced (usually = Courier) ++ foo_proportional ++ - changes the font to the nearest "proportionally" spaced (usually = Helvetica) ++ foo_helvetica ++ - changes the font to the nearest in "sans" category (usually = Helvetica) ++ foo_roman ++ - changes the font to the nearest in "serif" category (usually = Times[ New Roman]) ++ foo_script ++ - Win32 only, changes the font to the nearest in "script" category ++ foo_decorative ++ - Win32 only, changes the font to the nearest in "decorative" category ++ foo_antialiased ++ - Linux-only, enables antialiasing (if disabled by Xft globally) ++ foo_nonantialiased ++ - Linux-only, disables antialiasing (if enabled by Xft globally) ++ usually making glyph extents (not cells !) a bit wider ++ style: ++ fs_bold ++ - gives the font a "bold" look ++ fs_italic ++ - gives the font an "italic" look ++ fs_underline ++ - gives the font an "underlined" look ++ fs_strikeout ++ - gives the font a "striked out" look ++ fs_selected ++ - "TRUE" here combined with {tf_noselect:=FALSE}, causes the text described by this font ++ to be initially selected ( with the clipboard operations available ), ++ currently applicable only to richstrings ++ ++ width ++ - 10*{ glyph cell width, average in pixels }, 0 = {font default} ++ ++ xscale ++ - width ratio of each glyph {cell & contour}, the effect is similar to "width" ++ ++ *** "foo_*" font selection overrides one made with "name" ++ ++ *** if change with "foo_*" is usuccessful then the nearest "sans" font is usually choosen ++ ++ *** The categories : ++ ++ sans => have no serifs and have strokes of even thickness ++ serif => have serifs at glyph contours and made up of strokes of varying thickness ++ script => resemble handwriting ++ decorative => flashy styles to be used sparingly in headlines or posters ++ ++ ================================================================== ++ taction: ++ ++ --------------------------- ++ Shortcut processing order : ++ ++ - the smallest piece of processing is "doshortcut" procedure which ++ is called until processed: ++ = starting from the sender up to the toplevel widget ++ = then by all child widgets with non-set "ow_noparentshortcut" ++ = then, if "ow_nochildshortcut" isn't set, by the parent widget ++ = then by the widget oneself ++ ++ - "doshortcut" is checked in the following order: ++ = starting from form's main menu ++ = then from the owning window ( the widget oneself ) ++ = then from the application ++ ++ ++ *** A shortcut is bound to a widget by : ++ - placing an action component on the widget *** ++ - direct assigning the shortcut to the widget (menus,..) ++ --------------------------- ++ ++ caption, color, colorglyph, helpcontext, hint, imagecheckedoffset, ++ imagelist , imagenr, imagenrdisabled ++ ++ - sets look of "clients" (buttons, menu/toolbar items,..), unless ++ these clients have "state.as_local*" set : ++ ++ *** For meaning of these options, see help on the "client" widgets *** ++ ++ group ++ - default value for one-named property of the bound widgets ++ ( menu items,... ) ++ ++ options : ++ ao_updateonidle ++ - runs this action in cycle each time waiting for no gui events ++ ao_globalshortcut ++ - allows the action to trigger on a non-main form ++ ++ shortcut ++ - keyboard combination triggering the action ++ ++ state : ++ ++ as_disabled ++ - prevents the action from triggering, also puts the bound widgets to "disabled" look ++ ++ as_invisible ++ - in run-time, hides the bound widget, still reacting on the shortcut or direct call ++ ++ as_checked ++ - selects the bound menu item if it has "mao_checkbox" option set ++ ++ as_default ++ as_local* ++ ++ statfile ++ ++ ++ stavarname ++ ++ ++ tagaction ++ onasyncevent ++ onchange ++ onexecute ++ onupdate ++ ++ ================================================================== ++ ++ optionswindow: ++ wo_popup ++ - in run-time, hides all OS windows-manager ( WM ) decorations (title bar, buttons "Close/Resize,Min/Max" etc), ++ letting only its client area to appear ++ so : ++ = the window should have own facilities to replace the deactivated WM functionality if needed ++ = can't be resized/maximize/minimized/moved ++ wo_message ++ - similar to "wo_popup" but allows WM to close ( with "Close" button ) & move the window ++ ++ wo_groupleader ++ - keeps on the WM taskbar a shortcut to the window ++ ( if the parent window is a groupleader too then dislpays a step upper in its group ) ++ ++ Event handlers: ++ ++ - onmove ++ = fires once the (window/widget) is created/moved ( with check if really moved by a distance) ++ ++ ================================================================== ++ ++ ++ name ++ ++ anchors ++ ++ ----------- ++ ++ - they control of design/runtime sticking widgets to their parents ++ ++ - dimention pair ( top/bottom or left/right ) both set to "false" cause ++ the widget to fit the parent's client area in that dimention; ++ this effect may be partial in case of "bounds_c*max" settings limit the extents ++ ++ *** Return to the look "before dimention fit" is only possible by manual resizing or setting "bounds_*" ++ ----------- ++ an_left ++ - on run-time, resizes/shifts left the widget to keep the design-set distance ++ between the widget's left border and the left side of parent's client area ++ as the parent resizes, until scrolling begins ++ ++ an_top ++ - on run-time, resizes/shifts up the widget to keep the design-set distance ++ between the widget's top border and the upper side of parent's client area ++ as the parent resizes, until scrolling begins ++ ++ an_right ++ - on run-time, resizes/shifts right the widget to keep the design-set distance ++ between the widget's right border and the right side of parent's client area ++ as the parent resizes, until scrolling begins ++ ++ an_bottom ++ - on run-time, resizes/shifts down the widget to keep the design-set distance ++ between the widget's bottom border and the lower side of parent's client area ++ as the parent resizes, until scrolling begins ++ ++ bounds ++ ++ cx - width of the widget ++ cxmax, cxmin - design/runtime width of the widget is enforced between "cxmax" and "cxmin" ++ cy - height of the widget ++ cymax, cymin - design/runtime height of the widget is enforced between "cymax" and "cymin" ++ x - distance between the widget's left border and the left side of parent's client area ++ y - distance between the widget's top border and the upper side of parent's client area ++ ++ ++ autosize ++ ++ ----------- ++ - only appliable to widgets with "ow_autosize" set ++ - the effect may be partial in case when "bounds_c*max" settings limit the extents ++ ----------- ++ ++ cx - addition to width of the widget (with h-centering post applied) ++ cy - addition to height of the widget (with v-centering post applied) ++ ++ - color ++ = the default color of client area & caption text background ++ = may be overwtitten: ++ * the client area - with "frame.colorclient" ++ * the caption BG - with "frame.font.colorbackground" ++ ++ - font ++ = see {any font} ++ ++ - frame ++ = see {any frame} ++ ++ - face ++ = see {any face} ++ ++ - hint ++ = descriptive text appearing when mouse pointer enters the widget ++ ++ - cursor ++ = shape of the mouse pointer over the client area of widget (run-time only) ++ ++ - visible ++ = "true" allow the widget to appear ( run-time only ) ++ ++ - enabled ++ = "true" allows the widget to participate in GUI interaction ++ = "false" disallows the widget & its childs : ++ * processing all events & shortcuts & menu calls ++ * auto "CanClose" check ++ ++ Also "false" usually aints the widget in color marking ++ the "disabled" state ( usually light gray font color ) ++ ++ - popupmenu ++ = reference to a preset tpopupmenu widget serving the right-click menu ++ ++ - taborder ++ - {0..N} order number when TAB-key cycling through widgets in the container ++ ++ - tag ++ - an integer value bound to this widget instance ++ ++ - helpcontext ++ = a string returned by "(active/mouse)helpcontext" methods of the owning form ++ when this widget is focued or under mouse in the active window ++ ++ - zorder ++ = reading: finds the current Z-order of the widget's window ++ = setting: if the value = 0 then lowers the widget's window in the stacking hierarchy, otherwise rises ++ ++ ++ optionswidget: ++ ++ ow_background ++ - keeps the window/widget on bottom of the Z-order stack. ++ ow_top ++ - keeps the window/widget in foreground ++ ow_noautosizing ++ - when docking, not to resize for the docking area ++ ow_mousefocus ++ - "false" here disables focusing the widget with mouse ++ ow_tabfocus ++ - "false" here disables focusing the widget with "TAB" key ++ ow_parenttabfocus ++ - enters the childs on TAB-focusing then returns to the widget after ++ sequential TAB-ing through its child widgets, ++ otherwise TAB-ing cycles on the childs if entered ++ ++ ow_arrowfocus ++ - allows the widget ( and its childs in turn ) to be focused with ++ the arrow keys ++ ++ ow_subfocus, ow_arrowfocusin, ow_arrowfocusout ++ - in case of arrow keys focusing enabled for child-containing widget, ++ determine behaviour on entering & leaving the widget, see the below table: ++ ++ ow_subfocus | ow_arrowfocusin | ow_arrowfocusout | effect ++ ++ FALSE FALSE FALSE entering-/leaving- ++ FALSE FALSE TRUE entering-/leaving+ ++ FALSE TRUE FALSE entering(nearest)+/leaving- ++ FALSE TRUE TRUE entering(nearest)+/leaving+ ++ TRUE FALSE FALSE entering(last focused)+/leaving- ++ TRUE FALSE TRUE entering(last focused)+/leaving+ ++ TRUE TRUE FALSE entering(nearest)+/leaving- ++ TRUE TRUE TRUE entering(nearest)+/leaving+ ++ ++ - "entering" is focusing on a child within the widget ++ - "leaving" is return from last child onto the widget's level ++ - "nearest" is the child closest on the arrow direction ++ - "last focused" is the child focused on last leaving the widget ++ ++ *** The Up/Down arrow keys can leave from the childs circle, ++ but Left/Right can only toggle between the childs *** ++ ++ *** mouse entering/leaving isn't controllable by these options ++ ++ ++ ow_focusbackonesc ++ - on pressing "Esc", returns input focus to the previously focused widget ++ ++ ow_noparentshortcut ++ ++ *** disables processing of delegated ( from the parent ) shortcuts *** ++ ++ - "true" here disables processing shortcuts if they're delegated ++ from the parent widget ( obviously, not processed by the parent ) ++ ++ ow_nochildshortcut ++ ++ *** disables delegating shortcuts to the parent for taking desision *** ++ ++ - if "true" then the widget tries to process it by oneself ++ otherwise it's passed to the parent widget for further chaining ++ ++ *** A shortcut can only be processed once ( by one widget ) *** ++ ++ ow_canclosenil ++ - "true" here allows to continue even if there's contained widget(s) ++ not passing "CanClose" check ++ ++ ow_mousetransparent ++ - "true" here causes the widget oneself ( not its contained ones ) ++ not to react to mouse events ( just allow them through to the childs ) ++ ++ ow_mousewheel ++ - enables/disables {scrolling/navigating} with wheel of ImPS/2 etc mouse ++ ++ ow_noscroll ++ - don't use screen image scrolling for twidget.scrollrect, ++ redraw the whole scrolled widget rectangle instead; ++ sometimes needed with background fades. ++ ++ ow_nochildpaintclip ++ - ++ ++ ow_destroywidgets ++ - "true" here causes calling "free" for all containing widgets as well ++ ++ ow_hinton ++ - to show the hint even in case of hinting is disabled on the parent ++ ( "parent.ow_hintoff= true & parent.ow_hinton= false" ) ++ ++ ow_hintoff ++ - "true" here combined with "ow_hinton=false" fully disables displaying the hint ++ ++ ow_multiplehint ++ - "true" here causes the widget to redisplay its hint on each {>3px} move within the widget oneself ++ ++ *mse ow_timedhint ++ - "true" here causes hint of the widget to disappear after a timed inteval (about 2 secs by default) ++ ++ ow_fontlineheight (design-time only) ++ - causes "extraspace" of the last text line to be drawn, ++ in turn it causes adjustment of widget height if "ow_autoscale" is set ++ ++ *** makes sence only if "ow_autoscale=true" & ow_autosize=false & "extraspace <> 0" *** ++ ++ ow_fontglyphheight (design-time only) ++ - causes only interline "extraspace"-s to be drawn, opposite to "ow_fontlineheight" ++ ++ ow_autoscale (design-time only) ++ - causes that if the contents change (design OR run-time) so that its' height changes ++ then the widget will be v-scaled as well ++ ++ ow_autosize (design-time only) ++ - causes that widget's heigh & width & client area adjust so that to provide space for contents of the client area ++ - no desing-time change of height/width are possible as long as this option is in effect ++ ++ ow_autosizeanright ++ - when autosizing & {an_right isn't set}, the design-set right margin against the parent is preserved ++ ++ ow_autosizeanbottom ++ - when autosizing & {an_bottom isn't set}, the design-set bottom margin against the parent is preserved ++ ++ optionsskin: ++ ++ - osc_noskin ++ - osc_framebuttononly ++ - osc_container ++ ++ ++ Methods: ++ ++ // tmsecomponent ++ ++ // (re)draws the widget according to the related skin if apllicable; ++ // ++ // also called internally by "loaded" procedure ( before "OnLoaded" code ), ++ // by ShowMessage ( for the internal widgets of the message dialogue ), ++ // when creating tab & form & menu widgets ++ procedure updateskin(const recursive: boolean = false); ++ ++ // TRUE if the instance is created but not yet ready ++ // for interaction & accessing data & appearance change & receiving events etc ++ // ( the stage between firing "OnCreate" & "OnLoaded" ) ++ function loading: boolean; ++ ++ {$ifdef FPC} ++ procedure setinline(value: boolean); // ? ++ procedure setancestor(value: boolean); // ? ++ {$endif} ++ ++ // TRUE if all conditios are OK for executing the code of "event" ( a handler must be assigned to the event ) ++ function canevent(const event: tmethod): boolean; ++ ++ ++ // Shortly, replaces the persistent storage of the widget ++ // ++ // if {value <> nil} then ++ // - if "instance" is nil then calls "createproc" to create the instance, ++ // then assigns the instance's value:= "value" ++ // otherwise frees "instance" ++ procedure setoptionalobject(const value: tpersistent; var instance; ++ createproc: createprocty); ++ ++ // creates the persistent storage of the widget via calling "createproc" ++ procedure getoptionalobject(const instance: tobject; createproc: createprocty); ++ ++ // obtains & puts to "obj" a CORBA interface entry for "aintf" (GUID,...) ++ function getcorbainterface(const aintf: ptypeinfo; out obj) : boolean; ++ ++ // TRUE if the widget is owned, or "self" otherwise ++ function checkowned(component: tcomponent): boolean; ++ ++ // TRUE if the widget is owner, or "self" otherwise ++ function checkowner(component: tcomponent): boolean; ++ ++ // return the top-most widget in owner chain starting from this widget ++ function rootowner: tcomponent; ++ ++ // return the array of owning widgets starting from this widget ++ // componentarty[0] is the widget oneself ++ function getrootcomponentpath: componentarty; ++ ++ // returns items of objeclinker ( which notify this widget ) ++ // and free notify list ( which are notified by this widget ), ++ // duplicates are removed. ++ // ++ // Notifies mainly relate to insertion/removal operation on widgets ++ // The notify list is maintained by FreeNotification & RemoveFreeNotification ++ function linkedobjects: objectarty; ++ ++ // sends "event" recursively to child widgets until no more childs or ++ // the event is processed ( cea_processed ) by one of the childs, ++ // "event" will be destroyed if destroyevent= true and not async ++ procedure sendcomponentevent(const event: tcomponentevent; ++ const destroyevent: boolean = true); ++ ++ // sends "event" to each of owning widgets downward from the root owner, ++ // "event" will be destroyed if destroyevent= true and not async ++ procedure sendrootcomponentevent(const event: tcomponentevent; ++ const destroyevent: boolean = true); ++ ++ // posts an async "atag"-ged event to be handled by oneself ++ procedure asyncevent(atag: integer = 0); ++ ++ // posts a "tcomponentevent" instance from sender=self, ++ // "kind" is defined when creating the event, ++ // and "tag" may be adjusted after creation ++ procedure postcomponentevent(const event: tcomponentevent); ++ ++ // returns the classname of the widget if the widget is toplevel, ++ // and "tmsecomponent" otherwise ) ++ property moduleclassname: string read getmoduleclassname; ++ ++ // returns the classname of the widget as the entry of its constructor ++ // ( button => tbutton, datamodule => tdm1mo, form => ttstfo, dbstringedit => tdbstringedit,.. ) ++ property actualclassname: string read getactualclassname; ++ ++ // returns "fmsecomponentstate" ++ // ( a set of cs_ismodule,cs_endreadproc,cs_loadedproc,cs_noload, cs_hasskin,cs_noskin ) ++ property msecomponentstate: msecomponentstatesty read fmsecomponentstate; ++ ++ // returns/sets a pointer associated with the widget ++ // ( contrary to the integer "tag", allows to use an arbitary data type ++ // for associating data ) ++ property tagpo: pointer read ftagpo write ftagpo; ++ ++ // returns/sets a string identifying the widget in the help system ++ property helpcontext: msestring read gethelpcontext write fhelpcontext; ++ ++ // twidget ++ ++ // creates an instance of the widget, owned by "aowner" if not NIL ++ constructor create(aowner: tcomponent); override; ++ ++ destructor destroy; override; ++ ++ // ?? ++ procedure afterconstruction; override; ++ ++ // rescales the widget frame ( if assigned ) then owned widgets ( if exist, recursively ) then bounds_* then the font ( if assigned ) ++ // called before inserting in parentwidget, ++ // calls "scale(ascale)", ++ // no visual repainting ++ procedure initnewcomponent(const ascale: real); virtual; ++ ++ // restores the "fontheight" to "font.glyphheight" if "ow_fontglyphheight" or ++ // to "font.lineheight" if "ow_fontlineheight" otherwise, ++ // ascale is ignored ? ++ // calls "synctofontheight->setfontheight", ++ // called after inserting in parentwidget, ++ // no visual repainting ++ procedure initnewwidget(const ascale: real); virtual; ++ ++ // creates the widget frame if not yet created ++ procedure createframe; ++ ++ // creates the widget face if not yet created ++ procedure createface; ++ ++ // creates the widget font if not yet created ++ procedure createfont; ++ ++ // checks ws_loadlock and csdestroing too ++ function isloading: boolean; ++ ++ // returns "widgetstatety" - a set of ( ++ // ws_visible,ws_enabled,ws_active,ws_entered,ws_entering,ws_exiting, ++ // ws_focused,ws_mouseinclient,ws_wantmousebutton,ws_wantmousemove, ++ // ws_wantmousefocus,ws_iswidget,ws_opaque,ws_nopaint, ++ // ws_clicked,ws_mousecaptured,ws_clientmousecaptured, ++ // ws_loadlock,ws_loadedproc,ws_showproc,ws_minclientsizevalid, ++ // ws_showed,ws_hidden, //used in tcustomeventwidget ++ // ws_destroying,ws_staticframe,ws_staticface,ws_isvisible ++ // ++ // iframe ++ function widgetstate: widgetstatesty; ++ ++ // returns "widgetstate1ty" - a set of ( ++ // (ws1_childscaled,ws1_fontheightlock, ++ // ws1_widgetregionvalid,ws1_rootvalid, ++ // ws1_anchorsizing,ws1_isstreamed, ++ // ws1_scaled, //used in tcustomscalingwidget ++ // ws1_noclipchildren, ++ // ws1_nodesignvisible,ws1_nodesignframe,ws1_nodesignhandles, ++ // ws1_nodesigndelete,ws1_designactive, ++ // ws1_fakevisible,ws1_nominsize //used for report size calculations ++ // ) ++ property widgetstate1: widgetstates1ty read fwidgetstate1; ++ ++ * this set of states is needed because the max FPC set size is 32 ++ thus "widgetstate1ty" can't fit all states ++ ++ // TRUE if the widget is contained within another widget ++ // ( tcomponent stuff ) ++ function hasparent: boolean; override; ++ ++ // returns the parent component if it's a widget or the grandparent otherwise ++ function getparentcomponent: tcomponent; override; //tcomponent ++ ++ // TRUE if "awidget" is an ascendant or the widget or they are the same widget ++ function checkdescendent(awidget: twidget): boolean; ++ ++ // TRUE if app is running and the widget owns the caret or the caret widget ++ function hascaret: boolean; ++ ++ // TRUE if "winid" allocated and not loading and not destroying, ++ // all widgets on a form have "winid" of this form ( a real window allocated by the OS ) ++ // thus have this function TRUE ++ function windowallocated: boolean; ++ ++ // TRUE if presents a valid toplevelwindow with assigned "winid" ++ function ownswindow: boolean; ++ ++ // invalidated area of the widget, the origin is "clientpos" against the roor widget ++ function updaterect: rectty; ++ ++ // calls recursively "canclose" for all contained widgets ( the widget oneself excluded! ), ++ // TRUE if none of the widgets return FALSE ++ // ++ // more specialized widgets may have "canclose" overridden ++ // to perform more work than just this call recursion ++ // ( not null or range check,.. ) ++ // ++ // "onclosequery" must also pass the check if assigned, for the function to succeed ++ function canclose(const newfocus: twidget = nil): boolean; virtual; ++ ++ // checks "canclose" first for focused widget of the window ( form,.. ) ++ // if it is a descendant of the widget or the widget oneself, ++ // then continues with subwidgets of the widget ++ function canparentclose(const newfocus: twidget): boolean; overload; ++ ++ function canparentclose: boolean; overload; ++ //newfocus = window.focusedwidget ++ ++ function canfocus: boolean; virtual; ++ function setfocus(aactivate: boolean = true): boolean; virtual;//true if ok ++ procedure nextfocus; //sets inputfocus to then next appropriate widget ++ ++ function findtabfocus(const ataborder: integer): twidget; ++ //nil if can not focus ++ ++ function firsttabfocus: twidget; ++ function lasttabfocus: twidget; ++ function nexttaborder(const down: boolean = false): twidget; ++ ++ function focusback(const aactivate: boolean = true): boolean; ++ //false if focus not changed ++ ++ function parentcolor: colorty; ++ function actualcolor: colorty; virtual; ++ function actualopaquecolor: colorty; ++ function backgroundcolor: colorty; ++ function translatecolor(const acolor: colorty): colorty; ++ ++ procedure widgetevent(const event: twidgetevent); virtual; ++ ++ procedure sendwidgetevent(const event: twidgetevent); ++ //event will be destroyed ++ ++ procedure release; override; ++ ++ function show(const modal: boolean = false; ++ const transientfor: twindow = nil): modalresultty; virtual; ++ ++ procedure hide; ++ procedure activate(const abringtofront: boolean = true); virtual; ++ //show and setfocus ++ ++ procedure bringtofront; ++ procedure sendtoback; ++ procedure stackunder(const predecessor: twidget); ++ ++ procedure paint(const canvas: tcanvas); virtual; ++ procedure update; virtual; ++ procedure scrollwidgets(const dist: pointty); ++ ++ procedure scrollrect(const dist: pointty; const rect: rectty; scrollcaret: boolean); ++ //origin = paintrect.pos ++ ++ procedure scroll(const dist: pointty); ++ //scrolls paintrect and widgets ++ ++ procedure getcaret; ++ procedure scrollcaret(const dist: pointty); ++ function mousecaptured: boolean; ++ procedure capturemouse(grab: boolean = true); ++ procedure releasemouse; ++ procedure capturekeyboard; ++ procedure releasekeyboard; ++ procedure synctofontheight; virtual; ++ ++ procedure dragevent(var info: draginfoty); virtual; ++ procedure dochildscaled(const sender: twidget); virtual; ++ ++ procedure invalidatewidget; //invalidates whole widget ++ procedure invalidate; //invalidates clientrect ++ procedure invalidaterect(const rect: rectty; org: originty = org_client); ++ procedure invalidateframestate; ++ ++ procedure invalidateframestaterect(const rect: rectty; ++ const org: originty = org_client); ++ function hasoverlappingsiblings(arect: rectty): boolean; //origin = pos ++ ++ function window: twindow; ++ function rootwidget: twidget; ++ ++ function parentofcontainer: twidget; ++ //parentwidget.parentwidget if parentwidget has not ws_iswidget, ++ //parentwidget otherwise ++ ++ property parentwidget: twidget read fparentwidget write setparentwidget; ++ function getrootwidgetpath: widgetarty; //root widget is last ++ ++ // number of contained widgets ( the widget oneself excluded ! ) ++ function widgetcount: integer; ++ ++ function parentwidgetindex: integer; //index in parentwidget.widgets, -1 if none ++ property widgets[const index: integer]: twidget read getwidgets; ++ function widgetatpos(var info: widgetatposinfoty): twidget; overload; ++ function widgetatpos(const pos: pointty): twidget; overload; ++ ++ function widgetatpos(const pos: pointty; ++ const state: widgetstatesty): twidget; overload; ++ ++ property taborderedwidgets: widgetarty read gettaborderedwidgets; ++ ++ function findtagwidget(const atag: integer; const aclass: widgetclassty): twidget; ++ //returns first matching descendent ++ ++ property container: twidget read getcontainer; ++ function containeroffset: pointty; ++ function childrencount: integer; virtual; ++ property children[const index: integer]: twidget read getchildwidgets; default; ++ ++ function childatpos(const pos: pointty; ++ const clientorigin: boolean = true): twidget; virtual; ++ ++ function getsortxchildren: widgetarty; ++ function getsortychildren: widgetarty; ++ property focusedchild: twidget read ffocusedchild; ++ property focusedchildbefore: twidget read ffocusedchildbefore; ++ ++ function mouseeventwidget(const info: mouseeventinfoty): twidget; ++ ++ function checkdescendent(widget: twidget): boolean; ++ //true if widget is descendent or self ++ ++ function checkancestor(widget: twidget): boolean; ++ //true if widget is ancestor or self ++ ++ function containswidget(awidget: twidget): boolean; ++ ++ procedure insertwidget(const awidget: twidget); overload; ++ ++ procedure insertwidget(const awidget: twidget; const apos: pointty); overload; virtual; ++ //widget can be child ++ ++ function iswidgetclick(const info: mouseeventinfoty; const caption: boolean = false): boolean; ++ //true if eventtype = et_butonrelease, button is mb_left, clicked and pos in clientrect ++ //or in frame.caption if caption = true, origin = pos ++ ++ function isclick(const info: mouseeventinfoty): boolean; ++ //true if eventtype = et_butonrelease, button is mb_left, clicked and pos in clientrect ++ ++ ++ function isdblclick(const info: mouseeventinfoty): boolean; ++ //true if eventtype = et_butonpress, button is mb_left, pos in clientrect ++ // and timedlay to last buttonpress is short ++ ++ function isdblclicked(const info: mouseeventinfoty): boolean; ++ //true if eventtype in [et_buttonpress,et_butonrelease], button is mb_left, ++ // and timedlay to last same buttonevent is short ++ ++ function isleftbuttondown(const info: mouseeventinfoty): boolean; ++ //true if eventtype = et_butonpress, button is mb_left, pos in clientrect ++ //origin = paintrect.pos ++ ++ //====================== ++ ++ widgetrect: the widget on-screen area including its frame & frame caption ++ ++ paintrect: the widget on-screen area except its frame & frame caption ++ ++ clientrect: virtual area which ++ - for non-scrolling widgets, equals to "paintrect", with its "pos:= (0,0)" ++ - for scrolling widgets, may be bigger than "paintrect", ++ also may shift ( change its "pos" ) when scrolling ++ ++ //====================== ++ ++ ++ ++ // the coord of outer top-left corner against the toplevel form = the window owner, ++ // including the frame & frame caption ++ function rootpos: pointty; ++ ++ // the coord of the outer top-left corner against the screen ( the WM decorations aren't counted in ) ++ // includes the frame & frame caption ++ property screenpos: pointty; ++ ++ // the coord of the outer top-left corner against the parent widget, ++ // including the frame & frame caption ++ property widgetrect: rectty; ++ property pos: pointty; // =widgetrect.pos ++ property size: sizety; // =widgetrect.size ++ property left: integer; // =bounds_x ++ property right: integer; //widgetrect.x + widgetrect.cx, sets cx; ++ property top: integer; // =bounds_y ++ property bottom: integer; //widgetrect.y + widgetrect.cy, sets cy; ++ property width: integer; // =bounds_cx ++ property height: integer; // =bounds_cy ++ function widgetsizerect: rectty; //pos = nullpoint ++ ++ // the coord of the paint area ( paintrect ) against own outer top-left corner ( against "widgetrect=pos" ) ++ // except the frame & frame caption ++ function paintrect: rectty; ++ function paintpos: pointty; ++ function paintsize: sizety; ++ function innerpaintrect: rectty; // mainly equals to paintrect ++ function clientwidgetrect: rectty; // mainly equals to paintrect ++ function clientwidgetpos: pointty; ++ function clippedpaintrect: rectty; // mainly equals to but clipped by all parentpaintrects ++ function innerwidgetrect: rectty; // mainly equals to paintrect ++ function innerclientwidgetpos: pointty; ++ ++ // the coord of the paint area ( paintrect ) against own outer top-left corner ( against "widgetrect=pos" ) ++ // except the frame caption ++ function framerect: rectty; // =paintrect except the frame caption area ++ function framepos: pointty; ++ function framesize: sizety; ++ ++ // the coord of the client area ( clientrect ) against the paint area ( paintrect ) ++ // usually these areas match ++ function clientrect: rectty; ++ property clientsize: sizety; ++ property clientwidth: integer; ++ property clientheight: integer; ++ property clientpos: pointty; ++ ++ // the coord of the paint area of the parent against the paint area of this widget ++ function paintrectparent: rectty; //nullrect if parent = nil, ++ ++ // the coord of the client area of the parent against the paint area of this widget ++ function clientrectparent: rectty; //nullrect if parent = nil, ++ ++ // the coord of the inner area against the client area ( clientrect ) ++ function innerclientrect: rectty; // mainly equals to clientrect ++ function innerclientsize: sizety; ++ function innerclientpos: pointty; ++ ++ function framewidth: sizety; //widgetrect.size - paintrect.size ++ function clientframewidth: sizety; //widgetrect.size - clientrect.size ++ function innerclientframewidth: sizety; //widgetrect.size - innerclientrect.size ++ function innerframewidth: sizety; //clientrect.size - innerclientrect.size ++ ++ // the coord of the paint area against the widgetrect(pos) of the parent ++ function paintparentpos: pointty; //origin = parentwidget.pos ++ ++ // the coord of the client area against the widgetrect(pos) of the parent ++ function clientparentpos: pointty; //origin = parentwidget.pos ++ ++ // the coord of the widgetrect(pos) against the client area of parent ++ property parentclientpos: pointty; ++ ++ ++ function clientpostowidgetpos(const apos: pointty): pointty; ++ function widgetpostoclientpos(const apos: pointty): pointty; ++ function widgetpostopaintpos(const apos: pointty): pointty; ++ function paintpostowidgetpos(const apos: pointty): pointty; ++ procedure scale(const ascale: real); virtual; ++ ++ ++ property minsize: sizety read fminsize write setminsize; ++ property maxsize: sizety read fmaxsize write setmaxsize; ++ function maxclientsize: sizety; virtual; ++ ++ ++ property anchors: anchorsty read fanchors write setanchors default defaultanchors; ++ property defaultfocuschild: twidget read getdefaultfocuschild write setdefaultfocuschild; ++ ++ ++ procedure changeclientsize(const delta: sizety); //asynchronous ++ ++ function getcanvas(aorigin: originty = org_client): tcanvas; ++ ++ function showing: boolean; ++ //true if self and all ancestors visible and window allocated ++ ++ function isenabled: boolean; ++ //true if self and all ancestors enabled ++ ++ function active: boolean; ++ function entered: boolean; ++ ++ function activeentered: boolean; ++ //true if entered and window is regularactivewindow or inactivated ++ ++ function focused: boolean; ++ function clicked: boolean; ++ ++ function indexofwidget(const awidget: twidget): integer; ++ ++ procedure changedirection(const avalue: graphicdirectionty; ++ var dest: graphicdirectionty); virtual; ++ ++ // (re)arranges "awidgets" horizontally within the parent's client area ++ // so that awidget[i] were placed next each other ++ // at h-space dist[i], starting from "startx" with the right margin "endmargin"; ++ // ++ // if the number of "dist" is fewer than the number of "awidgets" then the remaining h-spaces are taken ++ // as the last "dist[i]" or "0" if none; ++ // if the number of "dist" is more than the number of "awidgets" then the extra dist[i] are discarded ++ // ++ // non-zero "endmargin" causes one of awdidget[i] to h-resize to provide the margin : ++ // - if one or more of awidgets[i] have [an_left,an_right] set then the first of such is resized ++ // otherwise the last awidgets[i] is h-resized ++ // ++ procedure placexorder( ++ const startx: integer; ++ const dist: array of integer; ++ const awidgets: array of twidget; ++ const endmargin: integer = minint); ++ ++ // (re)arranges "awidgets" vertically within the parent's client area ++ // so that awidget[i] were placed upper/lower each other ++ // at v-space dist[i], starting from "starty" with the bottom margin "endmargin"; ++ // ++ // if the number of "dist" is fewer than the number of "awidgets" then the remaining v-spaces are taken ++ // as the last "dist[i]" or "0" if none; ++ // if the number of "dist" is more than the number of "awidgets" then the extra dist[i] are discarded ++ // ++ // non-zero "endmargin" causes one of awdidget[i] to v-resize to provide the margin : ++ // - if one or more of awidgets[i] have [an_top,an_bottom] set then the first of such is resized ++ // otherwise the last awidgets[i] is v-resized ++ // ++ procedure placeyorder( ++ const starty: integer; ++ const dist: array of integer; ++ const awidgets: array of twidget; ++ const endmargin: integer = minint); ++ //origin = clientpos, endmargin by size adjust of widgets ++ //with [an_top,an_bottom], minint -> no change ++ ++ // if {mode <> wam_none} then (re)arranges "awidgets" horizontally within the parent's client area so that ++ // awidgets[0] stays on its place but awidgets[1..N] : ++ // - if {mode = wam_end} then awidgets[i>=1] move or resize ( if "anchors.al_left" set ) so that they right borders match the right border of awidgets[0] ++ // - if {mode = wam_start} then awidgets[i>=1] move or resize ( if "anchors.al_right" set ) so that they left borders match the left border of awidgets[0] ++ // - if {mode = wam_center} then awidgets[i>=1] move so that they Y-axes match the Y-axe of awidgets[0] ++ // ++ // mainly applicable for v-stacked widgets since h-stacked may overlap after such alignment ++ // ++ // returns the reference point ( the coord of awidgets[0] ) ++ function alignx(const mode: widgetalignmodety; ++ const awidgets: array of twidget): integer; ++ ++ ++ // if {mode <> wam_none} then (re)arranges "awidgets" vertically within the parent's client area so that ++ // awidgets[0] stays on its place but awidgets[1..N] : ++ // - if {mode = wam_end} then awidgets[i>=1] move or resize ( if "anchors.al_top" set ) so that they bottom borders match the bottom border of awidgets[0] ++ // - if {mode = wam_start} then awidgets[i>=1] move or resize ( if "anchors.al_bottom" set ) so that they top borders match the top border of awidgets[0] ++ // - if {mode = wam_center} then awidgets[i>=1] move so that they X-axes match the X-axe of awidgets[0] ++ // ++ // mainly applicable for h-stacked widgets since v-stacked may overlap after such alignment ++ // ++ // returns the reference point ( the coord of awidgets[0] ) ++ function aligny(const mode: widgetalignmodety; ++ const awidgets: array of twidget): integer; ++ ++ function actualcursor: cursorshapety; virtual; ++ ++ ++ Event handlers: ++ ++ - onactivate ++ ++ fires : ++ ++ = on receiving input focus, just before "OnFocus" ++ ++ = forms specific : ++ * on 1-st display of the form after "OnLoaded" ( from "Loaded" procedure) ++ * on switch back from another apllication/WM ( "oe_activate" event ) ++ * after closure of a descendant form ++ * on minimizing/maximizing the form ++ ++ - onchildscaled ++ ++ fires : ++ ++ = on child(s) resizing due to font height change ++ ++ = form widget: once "form.container" {scrolling widget} is loaded ++ ++ - ondeactivate ++ fires ++ = form widget: when the form looses input focus ++ = non-form widget: when the widget looses input focus ++ ++ - ondefocus ++ ++ fires ++ = on disabling the widget ++ ++ *mse = form widget: if another form is focused ++ = non-form widget: if another widget is focused ++ ++ - onenter ++ = fires on any way of taking parent-wide focus as soon as ++ the parent stores the new child's order, before "OnActivate" & "OnFocus" ++ ++ - onexit ++ = fires last on parent-wide lossing focus, after "OnDefocus" & "OnDeactivate" ++ = for top-level ( not in a container ) forms, doesn't fire ++ ++ - onfocus ++ fires ++ = once the existing widget takes the focus ++ = on showing the widget's form if the widget has the lowest "TabOrder" ++ ++ - onfontheightdelta ++ fires ++ = if [ow_fontglyphheight OR ow_fontlineheight ] AND {the ++ new font height differs from the previos one} ++ = before the parent redraws this widget ++ ++ - onpopup ++ fires : ++ = on calling a popup-menu ( with "RightClick" ), once the menu items of the current level are loaded ++ ( before building the submenus ) ++ ++ - onresize ++ ++ = fires on creating/(changing size)/(min-max restoring) of widget, ++ before actual redrawing ++ ++ = rechecks if there's real work to do ++ ++ - onshowhint ++ = fires when a installed hint is activated or on "aplication.showint" called ++ = since called last, allows to adjust the default behavior ++ ++ - onbeforeupdateskin ++ = fires in "updateskin" ( the widget is loaded etc ) before applying the skin ++ ++ - onafterupdateskin ++ = fires in "updateskin" ( the widget is loaded etc ) once the skin is applied ++ ++ ================================================================== ++ ++ tformscrollbox ++ ------------- ++ - presents client area of form & parent of its widgets, ++ initially stretched to fit the form & bound with anchoring ++ but may be adjusted with "bounds" & "anchors" ++ ++ - controls of widget's placement & scrolling ++ ------------- ++ anchors ++ bounds ++ ++ color ++ - color of the whole container area ( except its frame ) & form widgets ++ if their color is "cl_parent" ++ ++ name = container ++ ++ cursor, enabled, face, frame, helpcontext, hint, optionswidget, popupmenu, ++ taborder, tag, visible, onactivate, onafterpaint, onbeforepaint, ++ onchildmouseevent, onclientmouseevent, ondeativate, ondefocus, onenter, ++ onexit, onfocus, onfontheightdelta, onmouseevent, onpaint, onpopup ++ onresize, onshowhint ++ - the same meaning as for the served form ++ ++ ++ oncalcminscrollsize ++ onscroll ++ onchildscaled ++ ++ ++ ++ ================================================================== ++ "tmseform" descendants ( MainForm, SimpleForm,.. ): ++ ++ -------------------------- ++ ++ Client area of the form & parent of its widgets ( against which the widgets ++ are placed and colored ) is presented by the "container" property ++ not "container.frame.clientarea" ++ ++ -------------------------- ++ CanClose is called : ++ ++ - on receiving "ek_close" by window ++ - for modal window, on focus change ++ ++ - within parent window's "CanClose" where all nested windows are ++ checked for OnCloseQuery & OnClose - if any sets "mr_none" then the parent window ++ can't close as well ++ ++ - from nested window's "CanParentClose" ++ - from own "CanParentClose" ++ ++ - some componnets build oneself in own "Loaded" procedure : ++ = widget grids ++ = database access components ++ = ... ++ ++ -------------------------- ++ ++ The "form.show" has parameter "transientfor". ++ The window Z-order is above the "transientfor" window. The exact behaviour ++ depends on the window manager. ++ ++ -------------------------- ++ caption ++ - run-time caption on the title bar ++ ++ color ++ - color behind the client ( contaner ) area ++ ++ container ++ - the real parent of form's widgets, ++ ++ cursor ++ - the mouse over cursor shape ++ ++ enabled - "false" disables all child widgets ++ ++ face ++ + some more options ++ ++ font ++ ++ ++ frame ++ + some more options ++ ++ icon ++ ++ ++ mainmenu ++ ++ ++ name ++ - name to refer when programming ++ ++ options: ++ ++ fo_main ++ - assigns this from as the aplication GUI-face & event receiver ++ - causes the icon of this form to be icon of the application ++ ++ fo_terminateonclose ++ - causes the application to terminate once the form has closed ( doesn't depend on "fo_main" ) ++ ++ ++ fo_freeonclose ++ - causes the form (even being modal) to release its memory on closure or OK-return from "CanClose" ++ ++ fo_defaultpos ++ - lets the WM to position the form initially ++ ++ fo_screencentered ++ - causes the form initially to show in center of the apllication work area ++ ++ fo_closeonesc ++ - causes the form to close on "Esc" key pressed ( with MR_ESCAPE & "OnCloseQuery" firing ) ++ ++ fo_cancelonesc ++ - causes the form to close on "Esc" key pressed ( with MR_CANCEL & "OnCloseQuery" firing ) ++ ++ fo_closeonenter ++ - causes the form to close on "Enter" key pressed ( with MR_OK & "OnCloseQuery" firing ) ++ ++ fo_closeonf10 ++ - causes the form to close on "F10" key pressed ( with MR_F10 & "OnCloseQuery" firing ) ++ ++ fo_globalshortcuts ++ - allows on-this-form "ao_globalshortcut" actions to trigger ++ ++ *** Notes : ++ = shortcuts for modal not "fo_localshortcut" forms are processed by app ++ = shortcuts for "fo_globalshorcut" forms are processed by the owning window ++ ++ fo_localshortcuts ++ - disables triggering shortcuts of on-this-form actions ++ ++ fo_autoreadstat ++ - for "cs_ismodule" forms, before "OnLoaded" fires, rereads all statvars from the bound stafile/memorystream ++ ++ fo_autowritestat ++ - in "CanClose", after "OnClose" fires [ and before app termination for "fo_terminateonlose" form ], ++ rewrites all statvars to the stafile/memorystream ++ - for datamodules, does this before "OnDestroy" fires ++ ++ fo_savepos ++ - saves/restores Z-order, size & scree coordinates of the form ++ as soon as the stat data are ready ++ ++ fo_savestate ++ - for top-level form, saves/restores "VSize", "Active" & "Visible" ++ as soon as the stat data are ready ++ ++ optionswidget ++ ++ optionswindow ++ ++ popupmenu ++ ++ stafile ++ ++ stavarname ++ taborder ++ tag ++ ++ visible - for a form, only affects its childs widgets ++ ++ Events: ++ ++ ++ *** activate = to set focused & redraw the invalidated area ++ ++ oncreate ++ - fires before "Loaded" procedure is called ++ - fires after creating the widget & its subwidgets but before the final arrangement ++ - forms arent' yet visible on return ++ ++ *** Since "Loaded" procedure hasn't yet worked at this point then ++ database contents, values of widget grid's subwidgets ++ are invalid in this event *** ++ ++ onloaded ++ - fires once "Loaded" procedure of owns & all form's widgets finishes ++ - processed after "OnCreate" ++ - on finishing, forms aren't yet visible ++ ++ oneventloopstart ( main forms only ) ++ - only applicable to main forms ++ - fires once all application GUI is built and shown ++ ( and ready to user's interaction ) ++ ++ onactivate ++ - see {any_widget.OnActivate} ++ ++ onenter ++ = see {any_widget.OnEnter} ++ ++ onfocus ++ - see {any_widget.OnFocus} ++ ++ ++ onwindowactivechanged ++ - fires on : ++ = touching another window even on clicking in a behind-modal window ( or its title bar ) ++ = 1-st showing the window ++ - reactivating the window ++ ++ onbeforepaint ++ - fires at the very beginning of "paint", before drawing canvas ++ ++ onpaint ++ - fires in "paint" procedure, between drawing canvas and contained widgets ++ ++ onafterpaint (doafterpaint) ++ - fires just on return from "paint" procedure ++ ++ *mse onapplicationactivechanged ++ - fires : ++ = if the application gets/looses input focus ++ ++ onasyncevent (doasyncevent) ++ - fires on calling {this_form}.asyncevent(atag) from any place of the application ++ once delivered by the app even queue ++ ++ *** "atag" set by caller(s) helps to branch within "onasyncevent", to identify the caller, etc *** ++ *** generally, doesn't fire instantly because these events are delivered through the app event queue *** ++ ++ ++ onchildmouseevent ++ - fires on any mouse activity over its child widget(s) not the (containing) widget oneself ++ ++ *** for forms, it even fires on enetering "container" therefore it appears as if to be the form itself *** ++ ++ onchildscaled ++ - see {any_widget.OnChildScaled} ++ ++ onclientmouseevent ++ - fires on any mouse activity over areas expecting user's mouse input (not titlebars/frames/...) ++ ++ onclose ++ - fires in "CanClose" if "modalresult <> mr_none" ++ ++ onclosequery ++ - fires in "CanClose" before "OnClose" ++ - "mr_none" set on return prevents the window (and its parent) from closing ++ ( "OnClose" is also bypassed ) ++ ++ ++ ondeactivate ++ - see {any_widget.OnDeactivate} ++ ++ ondefocus ++ - see {any_widget.OnDeFocus} ++ ++ ondestroy ++ - fires on in-code calling "BeforeDestruction" ++ ++ ondestroyed ++ - fires on return from the form's destructor ( when all resources are freed ) ++ ++ onterminatequery ++ - fires on an attempt to terminate the app ++ - by setting "var terminate:= false", allows to cancel termination ++ ++ *** Termnation by debugger/OS facilities can't be blocked this way ( win32 )*** ++ ++ onterminated ++ - fires for not-yet-destroyed forms, once the app event loop finishes ++ - may be caused by any closure of the main app form ++ ( app termination, WM/OS facilities, ) ++ ++ ++ onwindowdestroyed ++ - fires once a descendant window is destroyed ++ ( for a main form, when a modal simple form is closed by any way,.. ) ++ ++ onevent ++ - fires on receiving an event ++ = for simple forms, it's only "ek_loaded" ++ ++ *** There can be more if the form is connected to object_event sending ++ components or if the application uses object events, for example by calling ++ tguicomponent.postcomponentevent. **** ++ ++ onexit ++ - see {any_widget.OnExit} ++ ++ onfocusedwidgetchanged ++ - for a "prev-new" parent-wide focused wigdets pair, fires once installing new focus has finished, ++ after "OnFocus" ++ - resends for all contained widgets ++ - doesn't fire if the "prev-new" pair don't really change ++ ++ onfontheightdelta ++ - see {any_widget.OnFontHeightDelta} ++ ++ onhide ++ - fires at beginnig of own/parent's ++ = hide ++ = hidden ++ = destroying ++ = setting "visible:= false" ++ = closing the window ( receiving event "ek_close",.. ) ++ = calling "window.close" ++ ++ onidle ++ - fires everytime when the app GUI event queue gets empty ++ - to stop calling for a while, set "again" parameter to "false" (the initial value ); ++ ++ *** DON'T DO ANYTHING AFFECTING THE APP EVENT QUEUE ( MODAL WINDOWS, "ShowMessage", Sleep(N),... ) IN THIS HANDLER. ++ MODAL WINDOWS CAUSE RECURSION ! *** ++ ++ A code fragment: ++ ++ again:= i < 5; ++ if not again then exit; ++ ++ onkeydown ++ - fires on pressing down a keyboard key over the client area when none of child widgets is focused ++ ++ onkeyup ++ - fires on releasing a keyboard key over the client area when none of child widgets is focused ++ ++ onmouseevent ++ - fires on any mouse activity over the client area ++ ++ onmove ++ - see {any_window.OnMove} ++ ++ onpopup ++ - see {any_widget.OnPopup} ++ ++ onresize ++ - see {any_widget.OnResize} ++ ++ onshortcut ++ - fires before built-in shorcut processing ++ - "info.eventstate=es_processed" set in "OnShortcut" prevents ++ the event from further auto-processing ++ ++ *** The app ++ - recognizes & takes registered shortcuts from app event queue ++ - passes the shocrcut event to each of its windows until the event ++ is processed otherwise processes it by oneself ++ *********** ++ ++ onshow ++ - fires if the widget is visible: ++ = on calling "Show" method ++ = on return from "Loaded" procedure ++ = on showing the parent widget ++ - since called at end, allows to adjust the default behavior ++ ++ onshowhint ++ - see {any_widget.OnShowHint} ++ ++ onstatbeforeread ++ - fires before loading statvars from the disk file ++ ++ onstatafterread ++ - fires once statvars are loaded from the disk file ++ ++ onstatupdate ++ - fires at 1-st stage before updating GUI "state/pos" for read statvars ++ or ++ - fires at pre-last stage before saving GUI "state/pos" ++ ++ onstatread ++ - fires at 2-nd stage before updating GUI "state/pos" for read statvars ++ ++ onstatwrite ++ - fires at last stage before saving GUI "state/pos" ++ ++ *** ++ Upon stat reading, non-minimized visible windows are shown, ++ the active window is activated ++ *** ++ ++ ================================================================== ++ ++ ++ ++ ++ *** Note that switch to the monochrome mode is irerreversible ! *** ++ ++ alignment: ++ ++ By default, images are top-left aligned, with the original size preserved. ++ ++ al_xcentered = centers the image horizontally ++ al_ycentered = centers the image vertically ++ ++ al_right = docks the image to the right border of placeholder ++ al_bottom = docks the image to the bottom border of placeholder ++ ++ al_grayed = fills non-transparent areas with the selected color ++ ++ al_stretchx = adjusts size so that to fill the placeholder in width ++ al_stretchy = adjusts size so that to fill the placeholder in height ++ al_fit = adjusts size so that to fill the placeholder in both width & height ++ ++ al_tiled = spawns the image & tile the whole placeholder with the copies ++ ++ Interpolation mode while stretching ++ ++ al_intpol = antialiases as far as the size changes ++ (the only working in Linux) ++ *mse al_or = interpolation pixel operation is "or" -> 1's are extended ++ *mse al_and = interpolation pixel operation is "and" -> 0's are extended ++ *mse ( al_or and al_and only on win32, mainly useful for stretching of monochrome bitmaps) : ++ ++ colorbackground = color of image transparent ( masked ) areas in monochrome ++ non-masked mode ++ colorforeground = color of non-transparent areas in monochrome mode ++ ++ options: ++ ++ bmo_monochrome = fills non-transparent areas with "colorforeground", ++ also, in non-masked mode, fills transparent areas ++ with "colorbackground" ++ ++ bmo_masked = activates built-in image transparency {it "hides" transparent (masked) areas} ++ bmo_colormask = applies faded edge transparency on the color masked areas in the image ++ ++ transparency = makes the image transparent as long as enlights areas behind ++ the image with the selected color ++ ++ transparentcolor = for a non-masked image, assigns a color indicate transparency areas ++ ( on matching areas, the image will be seen through ) ++ ++ ================================================================== ++ ++ tfacecomp ++ ++ - doesn't affect the widget frame but client area of the frame ++ ++ ++ template: ++ fade: ++ color[i]: = colors forming the fade ++ direction: = direction where the fade grows to ++ *mse gd_(right/up/left/down) ++ ++ *mse pos[i]: = relational position of color[i] on the direction (0.0..1.0) extent ++ ++ transparency = makes the face half-transparent and enlight the underlying widget ++ with a light source of the selected color ++ ( in this case, colors of the face & the widget & the light source ++ simply summarize to higher brightness ) ++ ++ image: ++ see ++ ++ options: ++ ++ *mse *** The fade colors are used not as colors but RGB alpha values ($00 -> opaque, $ff -> transparent) ++ if fao_alpha* are set *** : ++ ++ fao_alphafadeall = applies blending to the widget & all its childs ++ fao_alphafadenochildren = preserves child widgets from blending ++ *mse fao_alphafadeimage = applies blending to "face.image" ++ ++ ================================================================== ++ ++ ++ ++ *** extends & customizes "tfacecomp" *** ++ ++ fade, image, option ++ - see "tfacecomp" ++ ++ template ++ - "tfacecomp" supplying the initial settings ++ ++ localprops : ++ fal_options - "options" overrides "template.options" ++ fal_fadirection - "fade.direction" overrides "template.fade.direction" ++ fal_image - "image" overrides "template.image" ++ fal_fapos - "fade.pos[i]" overrides "template.fade.pos[i]" ++ fal_facolor - "fade.color[i]" overrides "template.fade.color[i]" ++ fal_fatransparency - "fade.transparency" overrides "template.fade.transparency" ++ ++ ++ ================================================================== ++ ++ tframecomp: ++ -------------------------- ++ ++ Terminilogy : ++ ++ {client area = area of the widget which interacts with a user} ++ ++ {bevelling = additional facets rising/sinking frame & client area, ++ constists of two parts - ++ - external: between frame and widget ++ - internal: between frame and client area ++ } ++ ++ {frame= flat space between external & internal facets, ++ floats at the inner level of the external facet ++ } ++ ++ *** Both frame & bevelling affect the client area *** ++ ++ -------------------------- ++ template: ++ ++ colorclient = color of the client area ++ ++ colorframe = color of the frame ++ colorframeactive = used instead of colorframe if the widget is ++ active; "cl_default" means same as colorframe. ++ ++ works if (leveli/levelo <> 0 that's the facets exist : ++ ++ colorshadow = color of facets screened from the NW light source ++ colordkshadow = color of shadows dropped by the NW light source ++ *mse colordkwidth = width of the shadows in pixel, -1=default ++ ++ colorlight = color of facets exposed to the NW light source ++ colorhighlight = color of brighter edges of the facets ++ *mse colorhlwidth = width of the brighter edges in pixel, -1=default ++ ++ extraspace = if applied to menu items, adds more space between these items ++ ++ framei_: ++ (for extendable widgets like menus, these settings widen the widget, ++ for non-extendable like buttons - they squeeze the text area ) ++ ++ bottom= lower margin of text to the client area ++ left = left margin of text to the client area ++ right = margin of text to the client area ++ top = upper margin of text to the client area ++ ++ framewidth= width of the frame ++ *mse leveli = {width=height} of the internal facet, positive -> raised, negative -> sunken ++ *mse levelo = {width=height} of the external facet, positive -> raised, negative -> sunken ++ ++ ================================================================== ++ ++ ++ *** extends & customizes "tframecomp" *** ++ ++ template ++ - "tframecomp" supplying the initial settings ++ ++ colorclient,colordkshadow,colordkwidth,colorframe,colorframeactive, ++ colorhighlight,colorhlwidth,colorlight,colorshadow,framewidth, ++ leveli, levelo, framei_*, ++ ++ ++ ++ font ++ ++ ++ caption ++ - some descriptive text( function name, user prompt,...) placed ++ in a N/W/S/E-combination to the widget's client area ++ ++ *** ++ non-empty caption if (captionpos <> cp_center) & (captiondistouter=false & captiondist>0) enlarges the framed widget ++ by the corresponding size of caption ++ ++ *** ++ ++ captiondist - margin between the caption & the client area ++ ++ captiondistouter : ++ ++ *mse - if "false"(by default), the distance is measured between ++ the inner (facing the client area) extent of the caption ++ and the client area outward the area, ++ the caption is placed outside of the client area ++ ++ *mse - if "true", the caption is mirrored against the edge of client area as ++ to the position when "false" ++ ++ *** nagative values of "captiondist" visually inverse "out of" and within *** ++ ++ *mse captionnoclip - do not clip frame and client area for caption background ++ ( the client area preserves own background under the caption text) ++ ++ captionnooffset - shift orthogonal to "captiondist" ++ ++ captionpos - "corner" where to place the caption ++ ++ localprops : ++ ++ frl_levelo - "levelo" overrides "template.levelo" ++ frl_leveli - "leveli" overrides "template.leveli" ++ frl_framewidth - "framewidth" overrides "template.framewidth" ++ frl_colorclient - "colorclient" overrides "template.colorclient" ++ frl_colorframe - "colorframe" overrides "template.colorframe" ++ frl_colorframeactive - "colorframeactive" overrides "template.colorframeactive" ++ frl_colordkshadow - "colordkshadow" overrides "template.colordkshadow" ++ frl_colorshadow - "colorshadow" overrides "template.colorshadow" ++ frl_colorlight - "colorlight" overrides "template.colorlight" ++ frl_colorhighlight - "colorhighlight" overrides "template.colorhighlight" ++ frl_colordkwidth - "colordkwidth" overrides "template.colordkwidth" ++ frl_colorhlwidth - "colorhlwidth" overrides "template.colorhlwidth" ++ frl_fileft - "framei_left" overrides "template.framei_left" ++ frl_firight - "framei_right" overrides "template.framei_right" ++ frl_fitop - "framei_top" overrides "template.framei_top" ++ frl_fibottom - "framei_bottom" overrides "template.framei_bottom" ++ ++ frl_nodisable ++ ++ ================================================================== ++ ++ tbitmap : ++ image ++ see ++ ++ ================================================================== ++ tstatfile : ++ ++ - so that to be in effect, it should also be assigned to the form where the widget ++ using the stafile is placed on ++ - in design, if "onstatwrite" is set and "filedir" is not yet created, ++ deactivate exception "ECreateError" in project settings ( "Debugger" tab ) ++ - "filedir" may contain "~/" indicating the user's home directory ++ - options "oe_savestate" & "oe_savevalue" of "client" widgets define ++ what to store to the file - position etc changes or/and value changes ++ - in case when a main form shares its stafile with non-main forms, on creating ++ non-main ones, just edited not saved data of the main form ( bound to vars ++ of the statfile) are reset to values read from the statfile upon creating the form; ++ for "sfo_memory", this effect absents unless widgets on the concurring forms ++ share same variable[s]; ++ to avoid this behaviour, disable "fo_autoreadstat" & "fo_autowritestat" ++ of the non-main forms ++ ++ - each "tstafile" owns: ++ = tstatwriter: ++ * provides methods of writing sections & statvars to a memory/file stream ++ ++ - tstatreader: ++ * holds list of sections with statvars each ++ * provides search & check & reading interface to the statvars ++ * provides reading statvars from a memory/file stream ++ ++ Positioning to a section speeds up accessing its statvars ++ ++ - there also is "tstatfiler" ( exposed by some "tstatfile" events ) which: ++ = may present or "tstatwriter" or "tstatreader" ( there's a check method ) ++ = provides directionless "update" methods with internal switch to needed direction of processing - ++ "reading" or "writing" statvars on per-section basis ++ ----------- ++ ++ activator : ++ : NOT YET DONE ++ ++ encoding = "en_utf8" selected here, allows to store non-Latin text in the file ++ *mse filedir = directory where to keep the file ( by default - the current working directory ) ++ filename = name of the file ++ ++ options: ++ sfo_memory = reads & writes not from a disk file but from a named memory stream ++ ( there's an exclusion - see below "sfo_savedata" ), ++ mostly useful for presenting last used values on recalling ++ non-main forms etc ( data even survive recreating forms), ++ or even for data "exchange" between non-main modal( non-concurring ) forms ++ in case of the target widgets share same statvarnames ++ ++ sfo_createpath = creates "filedir" if necessary ++ sfo_savedata = used only with "sfo_memory", commands to save ++ the memory data to the master statfile (see below) ++ ++ *mse sfo_activatorread = activator activate triggers reading ??? ++ *mse sfo_activatorwrite = activator deactivate triggers writing ??? ++ ++ statfile = a master statfile ++ statvarname = name of section of this file in the upper statfile ++ Tag = an integer property for misc purposes ++ ++ Event handlers: ++ onstatafterread - fires on return from "readstat" ++ onstatafterwrite - fires on return from "writestat" ++ onstatbeforeread - fires on beginning of "readstat" ++ onstatbeforewrite - fires on beginning of "writestat" ++ onstatread = fires after reading state data ++ onstatwrite = fires after writing state data ++ onstatupdate = fires after reading/writing state data just before ++ "onstatread" & "onstatwrite" ++ ++ Public methods: ++ ++ procedure initnewcomponent(const ascale: real); override; ++ - does nothing but fixes the default file name as the statfile default ++ ++ procedure readstat(stream: ttextstream = nil); overload; ++ - rereads all statvars of the stafile/memorystream ++ ++ procedure readstat(const aname: msestring; const statreader: tstatreader); overload; ++ - rereads "aname" statvar of the statfile ++ ++ procedure writestat(const stream: ttextstream = nil); overload; ++ - rewrites all statvars to the stafile/memorystream ++ (if neccessary, prepares to writting - creates "filedir", stafile,...) ++ ++ procedure writestat(const aname: msestring; const statwriter: tstatwriter); overload; ++ - overwrites "aname" statvar of the statfile ++ ++ procedure updatestat(const aname: msestring; const statfiler: tstatfiler); ++ - depending on kind of "statfiler" ( writer/reader ), writes/reads ++ the most up-to-date stat data ++ ++ ================================================================== ++ tcustomlookupbuffer : ++ ++ - provides a group of parallel arrays of float(=datetime), integer and widestring types, ++ and facilities to : ++ = search in any array ++ = on found position, quickly obtain corresponding value in another array ++ - for each type, several arrays may be kept ++ - each array is integer-indexed, even string ones ( case[in]sensitive ) ++ - uses two way of accessing arrays data, through : ++ = physic : array storage index ( row number ) directly ++ = logical : the integer index ( see above ): ++ first, physic row number is known for the logical index then the data ++ are accessed with the found number ++ ++ *** logical index values are built automatically based on array values, ++ on updating its data *** ++ - dont' have interface to load data ( see its descendants for that ) ++ ------------- ++ fieldcountfloat - number of float arrays ++ fieldcountinteger - number of integer arrays ++ fieldcounttext - number of widestring arrays ++ ++ Event handlers: ++ - onchange ++ ++ Public interface: ++ ++ procedure beginupdate; - marks beginning of "update" ++ procedure endupdate; - if all "update" finished, fires "onchange" event ++ procedure clearbuffer; - clears all arrays then fires "onchange" ++ ++ procedure checkbuffer; ++ - [re]loads the arrays with most actual data ++ - just a stub here since doesn't have a data source ++ ++ function find(const fieldno: integer; const avalue: integer/realty/msestring; ++ out aindex: integer; const filter: lbfiltereventty = nil): boolean; ++ - applies external filtering ("filter" procedure) then incrementally searches integer/realty(datetime) array "fieldno" ++ for value "avalue" starting from logical index "aindex", returns "true" and the updated logical index ++ if found else next bigger; ++ ++ function find(const fieldno: integer; const avalue: msestring; ++ out aindex: integer; ++ const caseinsensitive: boolean; ++ const filter: lbfiltereventty = nil): boolean; overload; ++ - applies external filtering ("filter" procedure) then incrementally searches widestring array "fieldno" for value "avalue", ++ in "caseinsensitive" manner, starting from logical index "aindex", returns "true" and the updated logical index ++ if found else next bigger; ++ ++ function findphys(const fieldno: integer; const avalue: integer; ++ out aindex: integer; const filter: lbfiltereventty = nil): boolean; overload; ++ - applies external filtering ("filter" procedure) then incrementally searches integer/realty(datetime) array "fieldno" ++ for value "avalue" starting from row number "aindex", returns "true" and the updated row number ++ if found else next bigger; ++ ++ function findphys(const fieldno: integer; const avalue: msestring; ++ out aindex: integer; ++ const caseinsensitive: boolean; ++ const filter: lbfiltereventty = nil): boolean; overload; ++ - applies external filtering ("filter" procedure) then incrementally searches widestring array "fieldno" for value "avalue", ++ in "caseinsensitive" manner, starting from row number "aindex", returns "true" and the updated row number ++ if found else next bigger; ++ ++ *** ++ The external filtering ("filter") procedure takes the arguments of the caller ++ togehther with physical row number found in the caller which allows ++ to check several values at once for that number, within the filter ++ *** ++ ++ function integervaluephys(const fieldno,aindex: integer): integer; ++ - returns value of integer array "fieldno" at row number "aindex" ++ ++ function integervaluelog(const fieldno,aindex: integer): integer; ++ - returns value of integer array "fieldno" where the array index equals to "aindex" ++ ++ function integerindex(const fieldno,aindex: integer): integer; ++ - returns row number of integer array "fieldno" where the array index equals to "aindex" ++ ++ function integerindexar(const fieldno: integer): integerarty; ++ - returns all bunch of indexes of integer array "fiedlno" ++ ++ function integerar(const fieldno: integer): integerarty; ++ - returns all bunch of data of integer array "fiedlno" ++ ++ function floatvaluephys(const fieldno,aindex: integer): realty; ++ - returns value of real/datetime array "fieldno" at row number "aindex" ++ ++ function floatvaluelog(const fieldno,aindex: integer): realty; ++ - returns value of real/datetime array "fieldno" where the array index equals to "aindex" ++ ++ function floatindex(const fieldno,aindex: integer): integer; ++ - returns row number of real/datetime array "fieldno" where the array index equals to "aindex" ++ ++ function floatindexar(const fieldno: integer): integerarty; ++ - returns all bunch of indexes of real/datetime array "fiedlno" ++ ++ function floatar(const fieldno: integer): realarty; ++ - returns all bunch of data of real/datetime array "fiedlno" ++ ++ function textvaluephys(const fieldno,aindex: integer): msestring; ++ - returns value of widestring array "fieldno" at row number "aindex" ++ ++ function textvaluelog(const fieldno,aindex: integer; ++ const caseinsensitive: boolean): msestring; ++ - returns value of widestring array "fieldno" where the array index equals to "aindex" ++ ++ function textindex(const fieldno,aindex: integer; ++ const caseinsensitive: boolean): integer; ++ - returns row number of widestring array "fieldno" where the array index equals to "aindex" ++ ++ function textindexar(const fieldno: integer; ++ const caseinsensitive: boolean): integerarty; ++ - returns all bunch of indexes of widestring array "fiedlno" ++ ++ function textar(const fieldno: integer): msestringarty; ++ - returns all bunch of data of widestring array "fiedlno" ++ ++ ++ function lookupinteger(const integerkeyfieldno,integerfieldno, ++ keyvalue: integer): integer; overload; ++ - returns value of integer array "integerfieldno" at position where ++ value of parallel integer array "integerkeyfieldno" equals to "keyvalue" ++ ( 0 if not found ) ++ ++ function lookupinteger(const stringkeyfieldno,integerfieldno: integer; ++ const keyvalue: msestring): integer; overload; ++ - returns value of integer array "integerfieldno" at position where ++ value of parallel widestring array "stringkeyfieldno" equals to "keyvalue" ++ ( 0 if not found ) ++ ++ function lookuptext(const integerkeyfieldno,textfieldno, ++ keyvalue: integer): msestring; overload; ++ - returns value of integer array "textfieldno" at position where ++ value of parallel integer array "integerkeyfieldno" equals to "keyvalue" ++ ( '' if not found ) ++ ++ function lookuptext(const stringkeyfieldno,textfieldno: integer; ++ const keyvalue: msestring): msestring; overload; ++ - returns value of integer array "textfieldno" at position where ++ value of parallel integer array "integerkeyfieldno" equals to "keyvalue" ++ ( '' if not found ) ++ ++ ++ function lookupfloat(const integerkeyfieldno,floatfieldno, ++ keyvalue: integer): realty; overload; ++ - returns value of real/datetime array "floatfieldno" at position where ++ value of parallel integer array "integerkeyfieldno" equals to "keyvalue" ++ ( emptyreal if not found ) ++ ++ function lookupfloat(const stringkeyfieldno,floatfieldno: integer; ++ keyvalue: msestring): realty; overload; ++ ++ - returns value of real/datetime array "floatfieldno" at position where ++ value of parallel widestring array "stringkeyfieldno" equals to "keyvalue" ++ ( emptyreal if not found ) ++ ++ function count: integer; - returns number of data rows ++ ++ property fieldcounttext: integer; - returns/sets number of widestring arrays ++ property fieldcountfloat: integer; - returns/sets number of real/datetime arrays ++ property fieldcountinteger: integer; - returns/sets number of integer arrays ++ ++ *** the above "fieldcount*" props clear the buffer on setting a value *** ++ ++ property integervalue[const fieldno,aindex: integer]: integer; - a shortcut to "integervaluephys" ++ property floatvalue[const fieldno,aindex: integer]: realty; - a shortcut to "floatvaluephys" ++ property textvalue[const fieldno,aindex: integer]: msestring; - a shortcut to "textvaluephys" ++ ++ property onchange: notifyeventty; ++ - called in "changed" wich in turn is called in : ++ = clearbuffer ++ = endupdate ++ = doasyncevent ++ = loaded ++ = tlookupbuffer.addrow ++ ++ ================================================================== ++ tlookupbuffer = class(tcustomlookupbuffer) ++ ++ - extends "tcustomlookupbuffer" with methods of run-time data filling ++ ++ - see ++ ++ += Extentions to the public interface: ++ ++ procedure addrow(const integervalues: array of integer; ++ const textvalues: array of msestring; ++ const floatvalues: array of realty); ++ ++ - adds one row to each of widestring arrays, integer arrays and real/datetime arrays, ++ array size of "{type}values" equals to number of {type} arrays ++ ++ procedure addrows(const integervalues: array of integerarty; ++ const textvalues: array of msestringarty; ++ const floatvalues: array of realarty); ++ ++ - adds many data rows to each of widestring arrays, integer arrays and real/datetime arrays, ++ only min length of the input data arrays are inserted, longer data are truncated ++ array size of "{type}values" equals to number of {type} arrays and the size of "{type}values[i]" ++ describes number od data elements in the array ++ ++ ++ ================================================================== ++ ++ tdblookupbuffer = class(tcustomdblookupbuffer -> tcustomlookupbuffer) ++ ++ - extends "tcustomlookupbuffer" with interface to fill arrays with DB-data ++ - see & ++ ++ += Extentions to the public interface: ++ ++ procedure checkbuffer; - if data obsolete ("invalid") then reloads them from "datasource" ++ ++ property datasource: tdatasource; - sets/returns DB data source where to load data from ++ property textfields: tdbfieldnamearrayprop; - allows to assign a {datasource:datafield} to each of widestring arrays ++ property integerfields: tdbfieldnamearrayprop; - allows to assign a {datasource:datafield} to each of integer arrays ++ property floatfields: tdbfieldnamearrayprop; - allows to assign a {datasource:datafield} to each of real/datetime arrays ++ ++ property optionsdb: lbdboptionsty; - tunes some DB behaviour apects ++ - olbdb_closedataset : ++ = once data obsolete, opens (if needed) the supplier dataset (disabling its bound controls) ++ then [re]loads data from it then closes it ++ ++ - olbdb_invalidateifmodified : ++ = gets marked "invalid" once contents of the bound dataset change, ++ it signals to reload the buffer with the new data just before next accessing ++ ( for any purpose - searching, lookuping, getting value/(array of values),..) ++ ++ ================================================================== ++ ++ tdbmemolookupbuffer ++ ++ - allows to use for lookup-ing any text-convertable DB-fields ++ - an analog of tdblookupbuffer, but : ++ - "integerfields" may be names of any integer-convertable DB-fields ++ - "floatfields" may be names of any (real/datetime)-convertable DB-fields ++ - "textfields" may be names of any text-presentable DB-fields ++ ++ - each DB-field value ( presenting a memo generally of many lines ) may supply many data rows at once ++ to the bound array of the buffer, since this value will be internally splitted & turned into native array values, ++ and the resulting "count" (arrays row count) of the whole buffer will be the minimal rows count amongst arrays ++ of the buffer, the rest data are truncated ++ ++ - when loading widestring arrays, also checks for & performs "utf8-to-widestring" conversion of values of ++ the bound DB-fields so that these arrays always store widestrings ++ ++ =================================================================== ++ tscalingwidget: ++ ++ optionsscale : ++ ++ *** ++ autosizing to provide room for : ++ = {"frame.caption" + "offset_*"} ++ = "offset_*" if "frame.caption" is unset and "osc_shrink*" is set ++ *** ++ ++ = osc_expandx ++ - makes the widget wider to fit the caption if needed ++ ++ = osc_shrinkx ++ - makes the widget narrower to have no space left & right to the "frame.caption" ++ ++ = osc_expandy ++ - makes the widget taller to fit the caption if needed ++ ++ = osc_shrinky ++ - makes the widget lower to have no space up & down to the "frame.caption" ++ ++ = osc_invisishrinkx ++ - fully h-collapses if "visible=false" ( run-time only ) ++ ++ = osc_invisishrinky ++ - fully v-collapses if "visible=false" ( run-time only ) ++ ++ =================================================================== ++ tspacer ++ ++ * a regular widget which creates a kind of positional link between surrounding widgets ++ * designed to maintain distances between widgets ++ * may have GUI look, caption etc switched off by default ++ * resizing a spacer repositions its linked widgets ++ ++ - anchors ++ = see {any_widget.anchors} ++ ++ - bounds ++ = see {any_widget.bounds} ++ ++ - color ++ = see {any_widget.color} ++ ++ - enabled ++ = "false" turns color of the caption to gray ++ ++ - visible ++ = "true" allows displayable settings (caption text, face, frame etc) to take ++ effect in run-time as well ++ ++ - ++ = see {any face} ++ ++ - ++ = see {any frame} ++ ++ - linkbottom ++ = widget linked down to most outer edge (incl. frame[.caption]) of the spacer ++ - linkleft ++ = widget linked left to most outer edge of the spacer ++ - linkright ++ = widget linked right to most outer edge of the spacer ++ - linktop ++ = widget linked up to most outer edge of the spacer ++ ++ - dist_bottom, dist_left, dist_right, dist_top : ++ = margins between most outer edge the spacer ++ and the corresponding linked widget ++ ++ - options : ++ ++ = spao_glueright ++ ++ % if "false" ++ ++ @ h-repositioning or h-resizing the linkleft widget shifts ++ the whole linked construction, it becomes the only way to h-shift ++ ++ @ if {an_right IN linkright_widget.anchors} then the spacer ++ may be right-resized with auto h-resizing the linkright widget ++ so that the right margin of that widget is kept ++ ++ @ if NOT {an_right IN linkright_widget.anchors} then the spacer ++ may be right-resized with auto h-shifting the linkright widget ++ so that width of that widget is kept ++ ++ % if "true" ++ ++ @ h-repositioning or h-resizing the linkright widget shifts ++ the whole linked construction, it becomes the only way to h-shift ++ ++ @ if {an_left IN linkleft_widget.anchors} then the spacer ++ may be h-resized with auto h-resizing the linkleft widget ++ so that the left margin of that widget is kept ++ ++ @ if NOT {an_left IN linkleft_widget.anchors} then the spacer ++ may be h-resized with auto h-shifting the linkleft widget ++ so that width of that widget is kept ++ ++ = spao_gluebottom ++ ++ % if "false" ++ ++ @ v-repositioning or v-resizing the linktop widget shifts ++ the whole linked construction, it becomes the only way to v-shift ++ ++ @ if {an_bottom IN linkbottom_widget.anchors} then the spacer ++ may be v-resized with auto v-resizing the linkbottom widget ++ so that the bottom margin of that widget is kept ++ ++ @ if NOT {an_bottom IN linkbottom_widget.anchors} then the spacer ++ may be v-resized with auto v-shifting the linkbottom widget ++ so that height of that widget is kept ++ ++ % if "true" ++ ++ @ v-repositioning or v-resizing the linkbottom widget shifts ++ the whole linked construction, it becomes the only way to v-shift ++ ++ @ if {an_top IN linktop_widget.anchors} then the spacer ++ may be v-resized with auto v-resizing the linktop widget ++ so that the top margin of that widget is kept ++ ++ @ if NOT {an_top IN linktop_widget.anchors} then the spacer ++ may be v-resized with auto v-shifting the linktop widget ++ so that height of that widget is kept ++ ++ - optionsscale ++ = see {tscalingwidget.optionsscale} ++ ++ - optionswidget ++ = see {anywidget.optionswidget} ++ ++ - onactivate, onchildscaled, ondeactivate, ondefocus, onenter, onexit, onfocus, ++ onfontheightdelta, onpopup, onresize, onshowhint ++ = see {any_widget.*} ++ ++ - onmove ++ = see {any_window.OnMove} ++ ++ *** any "link*" option set disables the spacer to reposition solely, ++ repositioning is only controlled by a "glued" widget since then ++ ++ =================================================================== ++ tsplitter ++ *** ++ a widget very similar to "tspacer" but : ++ - designed to rearrange areas occupied by adjacent widgets ++ - a linked widget may only enlarge by "eating" the opposite one, ++ so the summary area of both widgets don't change ++ - has GUI look ( hatched grip, color etc) switched on by default ++ - facilitates run-time repositioning oneself and linked widgets ++ - linked widgets may even be other splitters, spacers (with their linked widgets ),.. ++ *** ++ ++ - color ++ = see {any_widget.color} ++ ++ - cursor ++ = see {any_widget.cursor} ++ ++ - enabled ++ = "false" stops user interaction ++ ++ - face ++ = see {any_face} ++ ++ - frame ++ = see {any_frame} ++ ++ - colorgrip ++ = color of grip hatching ++ ++ - grip ++ = defines hatching pattern of the grip ++ ++ * stb_dens(N) : the pattern is of rhombuses, the painted rhombs occupy "N" persents of the grip ++ ++ * stb_block(N) : the pattern is of squares, painted & unpainted squares are equally sized and ++ both have "N" pixels sides ++ ++ * stb_hatchup(N) : the pattern is of right-tilted lines of 1 pixel width, ++ each "N"-th pixel forms these lines ++ ++ * stb_hatchdown(N) : the pattern is of left-tilted lines of 1 pixel width, ++ each "N"-th pixel forms these lines ++ ++ * stb_crosshatch(N) : the pattern is of crossing (left & right) tilted lines of 1 pixel width, ++ each "N"-th pixel forms these lines ++ ++ ++ - linkbottom/linkleft/linkright/linktop ++ = see {tspacer.*} ++ ++ - options ++ ++ = spo_hmove ++ * "true" allows the spliter to move horizontally ++ ++ = spo_hprop ++ * "true" : keep the left position proportional ( on the ratio of creation time ) ++ to weigth of the client area of parent ++ ++ = spo_hsizeprop ++ * "true" : keep width of the spacer proportional ( on the ratio of creation time ) ++ to weigth of the client area of parent ++ * the width stops shrinking on one set in design time ++ ++ = spo_vmove ++ * "true" allows the spliter to move vertically ++ ++ = spo_vprop ++ * "true" : keep the top position proportional ( on the ratio of creation time ) ++ to height of the client area of parent ++ ++ = spo_vsizeprop ++ * "true" : keep height of the spacer proportional ( on the ratio of creation time ) ++ to height of the client area of parent ++ * the height stops shrinking on one set in design time ++ ++ = spo_dockleft ++ * causes the "linkleft" widget to dock to the left border of splitter ++ * make sence only if linkleft "widget.bounds_x" less than "splitter.bounds_x" ++ ++ = spo_docktop ++ * causes the "linktop" widget to dock to the top border of splitter ++ * make sence only if linktop "widget.bounds_y" less than "splitter.bounds_y" ++ ++ = spo_dockright ++ * causes the "linkright" widget to dock to the right border of splitter ++ * make sence only if linkright "widget.(bounds_x+bounds_cx)" more than "splitter.(bounds_x+bounds_cx)" ++ ++ = spo_dockbottom ++ * causes the "linkbottom" widget to dock to the bottom border of splitter ++ * make sence only if linkbottom "widget.(bounds_y+bounds_cy)" more than "splitter.(bounds_y+bounds_cy)" ++ ++ !!! Two special cases : ++ ++ 1. (spo_dockleft = spo_dockright = TRUE) && (linkleft = linkright = the_same_widget) : ++ causes the "linkleft" widget to adjust to h-positiion & width of the splitter, ++ it's even possible that the widget doesn't touch the splitter ++ ++ (spo_docktop = spo_dockbottom = TRUE) && (linktop = linkbottom = the_same_widget) : ++ causes the "linktop" widget to adjust to v-position & height of the splitter, ++ ++ It's even possible in these cases that the widget doesn't touch the splitter ++ ++ - optionsscale ++ = see {tscalingwidget.optionsscale} ++ ++ - optionswidget ++ = see {anywidget.optionswidget} ++ ++ - onactivate, onchildscaled, ondeactivate, ondefocus, onenter, onexit, onfocus, ++ onfontheightdelta, onmove, onpopup, onresize, onshowhint ++ = see "tspacer" ++ ++ - onupdatelayout ++ fires : ++ ++ = on creating the splitter ++ = on any reposition of the linked widgets ++ ( due to moving the splitter, resizing the parent,.. ) ++ ++ ++ =================================================================== ++ tlayouter ++ * a tspacer descendant designed to (auto)resize or/and move ++ its contained widgets acc to some size/positon dependencies ++ * may have GUI look, frame caption etc switched off by default ++ * layouters may be nested to achieve copmplex layouts ++ ++ Each layout change/assignment is divided into performing 2 consequent stages : ++ ++ Stage 1: ++ ++ Widgets may be auto resized in 5 consequent steps using the following options: ++ ++ - if plo_syncmaxautosize in place_options : ++ ++ = all widgets are autosized then their client areas are ++ syncronized to the clientareas of the highest and the widest of the widget ++ ++ * calls "msegui.syncmaxautosize" ++ ++ - if plo_syncpaintwidth in place_options : ++ ++ = the paintwidths of all widgets are synchronized to the widget ++ with the widest outer frame width ( ex. width of "frame.caption" ) ++ ++ * mainly makes sense if "lao_alignx" set and {align_glue = wam_start or wam_end} ( see below ) ++ when the widgets will be adjusted in order to fit into ++ the inner client width of tlayouter: ++ ++ x-aligh level ++ V ++ | Widget_1 the_widest_frame_caption| ++ | Widget_2 frame_caption2 | ++ | Widget_N wider_frame_captionN | ++ ++ here, the effect is shown for "cp_right" frame captions ++ ++ // otherwise syncronizes to the outer ( of the frame except its caption ) width ++ // of the Z-top widget ++ ++ ++ * calls "msegui.syncpaintwidth" ++ * paintwidth is the outer width ++ ++ - if plo_syncpaintheight in place_options : ++ ++ = the paintheights of all widgets are synchronized to the widget ++ with the highest outer frame width ( ex. width of "frame.caption" ). ++ ++ * mainly makes sense if lao_aligny set and {align_glue = wam_start or wam_end} ( see below ) ++ the widgets will be adjusted in order to fit into ++ the inner client height of tlayouter : ++ ++ +------------------------------+ ++ | The_ | ++ | tallest_ taller_ | ++ | frame_ frame_ frame_ | ++ | caption caption2 captionN | ++ | | ++ | Widget1 Widget_2 Widget_N |<== y-align level ++ ++ here, the effect is shown for "cp_topleft" frame captions ++ ++ // otherwise syncronizes to the outer ( of the frame except its caption ) ++ // height of the Z-top widget ++ ++ ++ * calls "msegui.syncpaintheight" ++ ++ - plo_synccaptiondistx in place_options : ++ = causes all widgets to have the widest common room for their cp_(left/right)* frame captions ++ ++ * calls "msegui.synccaptiondistx" ++ ++ - plo_synccaptiondisty in place_options : ++ = causes all widgets to have the highest common room for their cp_(top/bottom)* frame captions ++ ++ * calls "msegui.synccaptiondisty" ++ ++ Stage 2: ++ the widgets may be (re)arranged within the layouter ++ ++ There're 2 modes of such (re)arrangement which can be partially ( orthogonally ) combined ( see later ): ++ ++ 1) the place(ment) mode ( lao_place* in optionslayout ) : ++ ++ - widgets are placed at some distances between each other, possibly with some margins, ++ rooms of invisible widgets ( having visible=false) are also allocated ++ unless "plo_noinvisible in place_options" ++ ++ * the widgets are placed in the order of decreasing their "widgetrect.x" coordinates before alignment ++ ++ * the inter-widget distances and the side margins ( if apllied ) in both dimentions ++ are identical and limited between "place_mindist" and "place_maxdist" ++ ++ = if {lao_placex in optionslayout} and ++ {place_mode <> wam_none} ++ then the following relevant settings aplly : ++ ++ * non-limiting value of "place_maxdist" : ++ ++ # |Widget_1------Widget_2------Widget_3| ++ ++ * non-limiting value of "place_maxdist" and ++ {plo_propmargin in place_options} : ++ ++ # |---Widget_1---Widget_2---Widget_3---| ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_start} : ++ ++ # |Widget_1----Widget_2----Widget_3????| ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_start} and ++ {plo_propmargin in place_options} : ++ ++ # |---Widget_1---Widget_2---Widget_3???| ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_end} : ++ ++ # |??????Widget_1---Widget_2---Widget_3| ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_end} and ++ {plo_propmargin in place_options} : ++ ++ # |???Widget_1---Widget_2---Widget_3---| ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_center} : ++ ++ # |???Widget_1---Widget_2---Widget_3???| ++ ++ * limiting value of "place_maxdist" and ++ {plo_endmargin in place_options} : ++ ++ # |Widget_1----Widget_2----Widget_____3|, ++ or ++ # |Widget_1----Widget_____2----Widget_3|, ++ or ++ # |Widget_____1----Widget_2----Widget_3|, ++ ++ here, the most left amongst widgets having both [an_left,an_right] set is expanded ++ otherwise the most right widget ( Widget_3 in the example ) ++ ++ * limiting value of "place_maxdist" and ++ {place_mode = wam_end} and ++ {plo_propmargin in place_options} and ++ {plo_endmargin in place_options} : ++ ++ # |--Widget_1--Widget_____2--Widget_3--|, ++ ++ The legend: ++ ++ limiting value ++ of "place_maxdist" : such value which produce ++ some visuall effect on the layouter ++ "----" : distance ( = number of minuses, limited by place_maxdis ) ++ "????" : some remaining space ( = number of questmarks ) ++ "Widget_1" : widget of the original size ++ "Widget__..__1" : (auto)resized widget ++ ++ = if {lao_placey in optionslayout} and ++ {place_mode <> wam_none} ++ then the things are handled in the same manner as with "lao_placex" ++ but for the vertical "top2bottom" direction of placement instead of ++ the horizontal "left2right" one ++ ++ ++ 2) the align(ment) mode ( optionslayout.lao_align* ) : ++ ++ - widgets are gathered into a visual group to a dedicated "leader" widget of the layout ++ ( set by "align_leader" and defaults to the lowest in Z-Order = twidget.widgets[0] ) ++ the leader stays in place while the others : ++ ++ = if lao_alignx in optionslayout ( the hor alignment mode ): ++ * if align_mode = wam_start : snap their left borders to the left border of leader ++ * else if align_mode = wam_end : snap their right borders to the right border of leader ++ * else if align_mode = wam_center : snap their v-axes to the v-axis of leader ++ ++ after that, ++ ++ = if lao_aligny in optionslayout ( the vert alignment mode ): ++ * if align_mode = wam_start : snap their top borders to the top border of leader ++ * else if align_mode = wam_end : snap their bottom borders to the bottom border of leader ++ * else if align_mode = wam_center : snap their h-axes to the h-axis of leader ++ ++ - after that, the whole widget group can be aligned within the layouter: ++ ++ = if align_glue = wam_start ++ * if lao_alignx in optionslayout: the left extent of group snaps to the left border of layouter ++ * if lao_aligny in optionslayout: the top extent of group snaps to the top border of layouter ++ = else if align_glue = wam_end ++ * if lao_alignx in optionslayout: the right extent of group snaps to the right border of layouter ++ * if lao_aligny in optionslayout: the bottom extent of group snaps to the bottom border of layouter ++ = else if align_glue = wam_center ++ * if lao_alignx in optionslayout: the v-axis of group snaps to the v-axis of layouter ++ * if lao_aligny in optionslayout: the h-axis of group snaps to the h-axis of layouter ++ ++ Mutually exclusive settings: ++ ++ * only one of "align_mode" can be choosen ++ * only one of "glue_mode" can be choosen ++ * "optionslayout.lao_alignx" & "optionslayout.lao_placex" ++ * "optionslayout.lao_aligny" & "optionslayout.lao_placey" ++ ++ V-alignment ( optionslayout.lao_aligny ) may be combined ++ with h-placement ( optionslayout.lao_placex ), and ++ h-alignment ( optionslayout.lao_alignx ) may be combined ++ with v-placement ( optionslayout.lao_placey ) ++ ++ !!! The effects of the above described { resizing / placement / alignment } are irreversible. ++ So, the only way to revert is to set "wan_none" then to revert manually !!! ++ ++ ============================ ++ ++ The external interface : ++ ++ TWidget stuff: ++ ++ - name ++ - anchors ++ - bounds ++ - color ++ - enabled ++ - visible ++ - : see {any face} ++ - : see {any frame} ++ - hint ++ - helpcontext ++ - tag ++ - taborder ++ - cursor ++ - optionswidget ++ - optionsskin ++ - popupmenu ++ ++ twidget's event handlers: ++ ++ - on(de)activate ++ - onbeforeupdateskin ++ - onafterupdateskin ++ - onchildscaled ++ - onfontheightdelta ++ - on(de)focus ++ - onenter ++ - onmove ++ - onpopup ++ - onresize ++ - onshowhint ++ ++ align_glue : ++ ( outer anchoring mode for widget group, in the align mode ) ++ - wam_none ++ - wam_start ++ - wan_center ++ - wm_end ++ ++ align_leader : ++ the widget ( incl another spacer, splitter or layouter ) against which the aligment applies ( the reference widget ) ++ ++ align_mode : ++ ( inner anchoring mode within widget group, in the align mode ) ++ - wam_none ++ - wam_start ++ - wan_center ++ - wm_end ++ ++ // Place mode: ++ ++ ++ place_mindist, place_maxdist: ++ - in the place(ment) mode, limits distance between widgets ++ ( these distance once calclated also define side margins if aplicable ) ++ ++ place_mode: ++ ( outer anchoring mode for widget group, in the place mode ) ++ - wam_none ++ - wam_start ++ - wan_center ++ - wm_end ++ ++ place_options: ++ - plo_endmargin ++ = to resize a widget so that it "eats" extra space if it occurs ++ ++ * only applicable in the place mode, with a limiting value of "place_maxdist" and: ++ ++ 1) {place_mode <> wam_none} ++ or ++ 2) {place_mode = wam_end} and {plo_propmargin in place_options} ++ ++ For the exact look, see above ++ ++ ++ - plo_propmargin ++ = виджеты раŃŃтавляютŃŃŹ теŃнее Ń‚Đ°Đş, чтобы образовалиŃŃŚ отŃŃ‚Ńпы перед и поŃле, ++ причем раŃŃтояние ĐĽĐµĐ¶Đ´Ń Ń†ĐµĐ˝Ń‚Ń€Đ°ĐĽĐ¸ виджетов было бы таким же, ++ как и раŃтояние ĐĽĐµĐ¶Đ´Ń Ńерединами крайних виджетов и Ńоотв. границами зоны раŃŃтановки ++ ++ - plo_syncmaxautosize ++ = see above ++ ++ - plo_synccaptiondistx ++ = see above ++ ++ * affects widgets with opposite cp_left/right set as well ++ * the minimal before-adjustment "captiondist" amongst all widgets limits "captiondist" for each of the widget ++ * don't set cfo_captiondistouter here ! ++ ++ - plo_synccaptiondisty ++ = see above ++ ++ * affects widgets with opposite cp_top/bottom set as well ++ * the minimal before-adjustment "captiondist" amongst all widgets limits "captiondist" for each of the widget ++ * don't set cfo_captiondistouter here ! ++ ++ - plo_syncpaintwidth ++ = see above ++ ++ - plo_syncpaintheight ++ = see above ++ ++ dist_left, dist_right, dist_top, dist_bottom : ++ = margins between most outer edge the layouter and ++ the corresponding linked widget ++ ++ * see "tspacer" for detail ++ ++ linkleft,linkright,linktop,linkbottom : see "tspacer" ++ ++ options: ++ - spao_glueright, spao_gluebottom: ++ = set the adjustment dependencies between the layouter an its link_* widgets ++ ++ * see "tspacer" for more details ++ ++ optionslayout: // which mode of widget placement to apply ++ - lao_alignx ++ - lao_aligny ++ - lao_placex ++ - lao_placey ++ ++ * lao_place* & lao_align* for one dircetion can't be combined ++ ++ optionsscale: ++ ++ * cause the layouter to provide full space for the widgets as long as they expand/shrink/move ++ ++ - osc_expandx ++ = allocates more h-space if needed ++ ++ - osc_shrinkx ++ = removes extra h-space if occured ++ ++ - osc_expandy ++ = allocates more v-space if needed ++ ++ - osc_shrinky ++ = removes extra v-space if occured ++ ++ - osc_invisishrinkx ++ = fully h-collapses the layouter if "visible=false" ( run-time only ) ++ ++ - osc_invisishrinky ++ = fully v-collapses the layoter if "visible=false" ( run-time only ) ++ ++ optionsskin: ++ = see ++ ++ ++ Methods: ++ ++ constructor create(aowner: tcomponent); override; ++ ++ =================================================================== ++ ++ tdbwidgetgrid ++ ++ anchors - ... ++ bounds - ... ++ ++ color ++ - color of the grid's client area ++ cursor ++ - cursor shape when the mouse is over the client area ++ ++ datacols ++ colorselect ++ linecolor ++ linecolorfix ++ linewidth ++ newrowcol ++ ++ options ++ co_readonly ++ co_nofocus ++ co_invisible ++ co_disabled ++ co_drawfocus ++ co_mousemovefocus ++ co_lefbuttonfocusonly ++ co_focusselect ++ co_mouseselect ++ co_keyselect ++ co_multiselect ++ co_resetselectionexit ++ co_rowselect ++ co_fixwidth ++ co_fixpos ++ co_fill ++ co_proportional ++ co_nohscroll ++ co_savevalue ++ co_savestate ++ co_rowfont ++ co_rowcolor ++ co_zebracolor ++ co_nosort ++ co_sortdescent ++ co_norearrange ++ co_cancopy ++ co_canpaste ++ co_mousescrollrow ++ co_rowdatachange ++ ++ sortcol ++ width ++ ++ items[N] ++ color ++ colorselect ++ datalist - ??? ++ face - see ++ fontselect - see ++ frame - see ++ linecolor ++ linecolorfix ++ linewidth ++ name ++ ++ options ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.pas mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.pas +*** mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.pas 2008-01-07 09:32:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program chartrecorderdemo; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.prj mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.prj +*** mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/chartrecorderdemo.prj 2008-01-07 10:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,686 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder/chartrecorderdemo.prj ++ options=57 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=141 ++ width4=290 ++ width5=320 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder/main.mfm ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=322 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/ifi/mseifigui.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/ifi/mseifilink.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/msedispwidgets.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/msesimplewidgets.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/editwidgets/msegraphedits.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msestrings.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msenogui.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msedbedit.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/mseforms.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msebufdataset.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=852 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=852 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=113 ++ width1=187 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=862 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 0,0 ++ 0,27 ++ 1,228 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder/chartrecorderdemo.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder/main.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/msechart.pas ++ relpaths=3 ++ chartrecorderdemo.pas ++ main.pas ++ ../../../../../../../mse/trunk/lib/common/widgets/msechart.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/charts/tchartrecorder/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main.mfm mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main.mfm 2008-01-07 09:32:00.000000000 +0100 +*************** +*** 0 **** +--- 1,61 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 226 ++ bounds_y = 224 ++ bounds_cx = 403 ++ bounds_cy = 280 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 403 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ moduleclassname = 'tmseform' ++ object chartrec: tchartrecorder ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 403 ++ bounds_cy = 280 ++ frame.framei_left = 30 ++ frame.framei_top = 10 ++ frame.framei_bottom = 10 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ anchors = [] ++ samplecount = 300 ++ traces.count = 1 ++ traces.items = < ++ item ++ offset = -1.0000000000000000E+0000 ++ range = 2.0000000000000000E+0000 ++ end> ++ dialhorz.widthmm = 2.9999999999999999E-0001 ++ dialhorz.range = 1.0000000000000000E+0000 ++ dialhorz.ticks.count = 1 ++ dialhorz.ticks.items = < ++ item ++ color = -1610612733 ++ intervalcount = 1.0000000000000000E+0001 ++ end> ++ dialvert.widthmm = 2.9999999999999999E-0001 ++ dialvert.offset = -1.0000000000000000E+0000 ++ dialvert.range = 2.0000000000000000E+0000 ++ dialvert.ticks.count = 1 ++ dialvert.ticks.items = < ++ item ++ color = -1610612733 ++ caption = '0.0' ++ intervalcount = 1.0000000000000000E+0001 ++ end> ++ end ++ object ttimer1: ttimer ++ interval = 50000 ++ ontimer = ti ++ enabled = True ++ left = 80 ++ top = 96 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main_mfm.pas mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main_mfm.pas 2008-01-07 09:32:00.000000000 +0100 +*************** +*** 0 **** +--- 1,80 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1244] of byte end = ++ (size: 1245; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,226,0,8,98,111,117,110,100, ++ 115,95,121,3,224,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,147,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,24,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,15,109,111,100,117,108,101,99,108,97, ++ 115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,14,116,99, ++ 104,97,114,116,114,101,99,111,114,100,101,114,8,99,104,97,114,116,114,101, ++ 99,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95, ++ 121,2,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9,98,111,117, ++ 110,100,115,95,99,121,3,24,1,17,102,114,97,109,101,46,102,114,97,109, ++ 101,105,95,108,101,102,116,2,30,16,102,114,97,109,101,46,102,114,97,109, ++ 101,105,95,116,111,112,2,10,19,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,98,111,116,116,111,109,2,10,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,9, ++ 102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104, ++ 116,12,102,114,108,95,102,105,98,111,116,116,111,109,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11,0,11, ++ 115,97,109,112,108,101,99,111,117,110,116,3,44,1,12,116,114,97,99,101, ++ 115,46,99,111,117,110,116,2,1,12,116,114,97,99,101,115,46,105,116,101, ++ 109,115,14,1,6,111,102,102,115,101,116,5,0,0,0,0,0,0,0,128, ++ 255,191,5,114,97,110,103,101,5,0,0,0,0,0,0,0,128,0,64,0, ++ 0,16,100,105,97,108,104,111,114,122,46,119,105,100,116,104,109,109,5,0, ++ 152,153,153,153,153,153,153,253,63,14,100,105,97,108,104,111,114,122,46,114, ++ 97,110,103,101,5,0,0,0,0,0,0,0,128,255,63,20,100,105,97,108, ++ 104,111,114,122,46,116,105,99,107,115,46,99,111,117,110,116,2,1,20,100, ++ 105,97,108,104,111,114,122,46,116,105,99,107,115,46,105,116,101,109,115,14, ++ 1,5,99,111,108,111,114,4,3,0,0,160,13,105,110,116,101,114,118,97, ++ 108,99,111,117,110,116,5,0,0,0,0,0,0,0,160,2,64,0,0,16, ++ 100,105,97,108,118,101,114,116,46,119,105,100,116,104,109,109,5,0,152,153, ++ 153,153,153,153,153,253,63,15,100,105,97,108,118,101,114,116,46,111,102,102, ++ 115,101,116,5,0,0,0,0,0,0,0,128,255,191,14,100,105,97,108,118, ++ 101,114,116,46,114,97,110,103,101,5,0,0,0,0,0,0,0,128,0,64, ++ 20,100,105,97,108,118,101,114,116,46,116,105,99,107,115,46,99,111,117,110, ++ 116,2,1,20,100,105,97,108,118,101,114,116,46,116,105,99,107,115,46,105, ++ 116,101,109,115,14,1,5,99,111,108,111,114,4,3,0,0,160,7,99,97, ++ 112,116,105,111,110,6,3,48,46,48,13,105,110,116,101,114,118,97,108,99, ++ 111,117,110,116,5,0,0,0,0,0,0,0,160,2,64,0,0,0,0,6, ++ 116,116,105,109,101,114,7,116,116,105,109,101,114,49,8,105,110,116,101,114, ++ 118,97,108,4,80,195,0,0,7,111,110,116,105,109,101,114,7,2,116,105, ++ 7,101,110,97,98,108,101,100,9,4,108,101,102,116,2,80,3,116,111,112, ++ 2,96,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main.pas mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/charts/tchartrecorder/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/charts/tchartrecorder/main.pas 2008-01-07 09:32:00.000000000 +0100 +*************** +*** 0 **** +--- 1,31 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msechart,msetimer; ++ ++ type ++ tmainfo = class(tmseform) ++ chartrec: tchartrecorder; ++ ttimer1: ttimer; ++ procedure ti(const sender: TObject); ++ private ++ x: integer; ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ ++ const ++ periode = 300; //pixels ++ ++ procedure tmainfo.ti(const sender: TObject); ++ begin ++ chartrec.addsample([sin(2*pi*x/periode)]); ++ x:= (x + 1) mod periode; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/dbfilter.pas mseide-msegui-1.8/docs/tutorials/db/dbfilter/dbfilter.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/dbfilter.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/dbfilter/dbfilter.pas 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program dbfilter; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/dbfilter.prj mseide-msegui-1.8/docs/tutorials/db/dbfilter/dbfilter.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/dbfilter.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/dbfilter/dbfilter.prj 2007-12-10 12:22:00.000000000 +0100 +*************** +*** 0 **** +--- 1,711 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/dbfilter ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/dbfilter/dbfilter.prj ++ options=57 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=141 ++ width4=290 ++ width5=320 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=106 ++ cx=365 ++ cy=531 ++ wsize=0 ++ active=1 ++ visible=1 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/dbfilter/main.mfm ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=28 ++ ${fpcdir}fcl/db/sqldb/interbase/ ++ ${fpcdir}fcl/db/sqlite/ ++ ${fpcdir}fcl/db/sqldb/mysql/ ++ ${fpcdir}fcl/db/sqldb/postgres/ ++ ${fpcdir}fcl/db/sqldb/interbase/ ++ ${fpcdir}fcl/db/dbase/ ++ ${fpcdir}fcl/db/ ++ ${fpcdir}fcl/db/sqldb/ ++ ${fpcdir}packages/fcl-db/src/sqldb/*/ ++ ${fpcdir}packages/fcl-db/src/sqldb/ ++ ${fpcdir}packages/fcl-db/src/ ++ ${fpcdir}packages/base/ibase/ ++ ${fpcdir}packages/base/postgres/ ++ ${fpcdir}packages/base/mysql/ ++ ${fpcdir}packages/base/libc/ ++ ${fpcdir}packages/extra/opengl/ ++ ${fpcdir}packages/extra/x11/ ++ ${fpcdir}rtl/objpas/sysutils/ ++ ${fpcdir}rtl/objpas/classes/ ++ ${fpcdir}rtl/objpas/ ++ ${fpcdir}rtl/$rtltarget/ ++ ${fpcdir}rtl/unix/ ++ ${fpcdir}rtl/i386/ ++ ${fpcdir}rtl/inc/ ++ ${fpcdir}rtl/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=322 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/report/msereport.pas ++ /home/mse/packs/standard/svn/mse/branches/fixes_1_0/lib/common/kernel/msebitmap.pas ++ /home/mse/packs/standard/svn/mse/trunk/apps/ide/formdesigner.pas ++ /home/mse/packs/standard/svn/mse/branches/fixes_1_0/lib/common/widgets/msetoolbar.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/image/msegraphicstream.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/image/mseformatbmpico.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/designutils/mseimagelisteditor.pas ++ /home/mse/packs/standard/svn/mse/trunk/README.TXT ++ /home/mse/packs/standard/svn/mse/branches/fixes_1_0/lib/common/kernel/msegui.pas ++ /home/mse/packs/standard/svn/mse/trunk/apps/ide/mse_mseide.prj ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=0 ++ [objectinspectorfo.grid] ++ width0=119 ++ width1=181 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=186 ++ y=172 ++ cx=823 ++ cy=530 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=620 ++ y=379 ++ cx=368 ++ cy=306 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=1 ++ 48,19 ++ bookmarks0=0 ++ sourcefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/dbfilter/main.pas ++ relpaths=1 ++ main.pas ++ ismoduletexts=1 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/dbfilter/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main.mfm mseide-msegui-1.8/docs/tutorials/db/dbfilter/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/dbfilter/main.mfm 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,114 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 291 ++ bounds_y = 247 ++ bounds_cx = 308 ++ bounds_cy = 280 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 308 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ moduleclassname = 'tmseform' ++ object tdbnavigator1: tdbnavigator ++ optionswidget = [ow_destroywidgets, ow_autoscale, ow_autosize] ++ bounds_x = 8 ++ bounds_y = 0 ++ bounds_cx = 288 ++ frame.dummy = 0 ++ datasource = tmsedatasource1 ++ visiblebuttons = [dbnb_first, dbnb_prior, dbnb_next, dbnb_last, dbnb_insert, dbnb_delete, dbnb_edit, dbnb_post, dbnb_cancel, dbnb_filter, dbnb_filteronoff, dbnb_find] ++ end ++ object tdbwidgetgrid1: tdbwidgetgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 32 ++ bounds_cx = 290 ++ bounds_cy = 242 ++ frame.dummy = 0 ++ taborder = 1 ++ datasource = tmsedatasource1 ++ optionsgrid = [og_rowinserting, og_rowdeleting, og_focuscellonenter, og_autofirstrow, og_autoappend, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 15 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 16 ++ end> ++ datacols.count = 1 ++ datacols.options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datacols.items = < ++ item ++ width = 254 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ widgetname = 'tdbstringedit1' ++ end> ++ datarowheight = 16 ++ reffontheight = 14 ++ object tdbstringedit1: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 254 ++ bounds_cy = 16 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_leveli, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ datafield = 'text1' ++ datasource = tmsedatasource1 ++ reffontheight = 14 ++ end ++ end ++ object tmsesqlquery1: tmsesqlquery ++ logfilename = 'test.db' ++ indexlocal.count = 1 ++ indexlocal.items = < ++ item ++ fields.count = 1 ++ fields.items = < ++ item ++ fieldname = 'text1' ++ options = [ifo_caseinsensitive] ++ end> ++ active = True ++ end> ++ beforeendfilteredit = befendfiltered ++ afterendfilteredit = afterendfiltered ++ params = <> ++ IndexDefs = <> ++ Active = True ++ OnFilterRecord = filterrec ++ FieldDefs = < ++ item ++ Name = 'text1' ++ DataType = ftString ++ Size = 50 ++ end> ++ controller.options = [dso_local] ++ left = 16 ++ top = 184 ++ object text1fi: tmsestringfield ++ DisplayWidth = 50 ++ FieldName = 'text1' ++ Size = 50 ++ left = 24 ++ top = 240 ++ end ++ end ++ object tmsedatasource1: tmsedatasource ++ DataSet = tmsesqlquery1 ++ left = 16 ++ top = 208 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/dbfilter/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/dbfilter/main_mfm.pas 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,148 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..2601] of byte end = ++ (size: 2602; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,35,1,8,98,111,117,110,100, ++ 115,95,121,3,247,0,9,98,111,117,110,100,115,95,99,120,3,52,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,52,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,24,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,15,109,111,100,117,108,101,99,108,97, ++ 115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,12,116,100, ++ 98,110,97,118,105,103,97,116,111,114,13,116,100,98,110,97,118,105,103,97, ++ 116,111,114,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,11,111,119,95,97,117,116,111,115,105, ++ 122,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100, ++ 115,95,121,2,0,9,98,111,117,110,100,115,95,99,120,3,32,1,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,10,100,97,116,97,115,111,117, ++ 114,99,101,7,15,116,109,115,101,100,97,116,97,115,111,117,114,99,101,49, ++ 14,118,105,115,105,98,108,101,98,117,116,116,111,110,115,11,10,100,98,110, ++ 98,95,102,105,114,115,116,10,100,98,110,98,95,112,114,105,111,114,9,100, ++ 98,110,98,95,110,101,120,116,9,100,98,110,98,95,108,97,115,116,11,100, ++ 98,110,98,95,105,110,115,101,114,116,11,100,98,110,98,95,100,101,108,101, ++ 116,101,9,100,98,110,98,95,101,100,105,116,9,100,98,110,98,95,112,111, ++ 115,116,11,100,98,110,98,95,99,97,110,99,101,108,11,100,98,110,98,95, ++ 102,105,108,116,101,114,16,100,98,110,98,95,102,105,108,116,101,114,111,110, ++ 111,102,102,9,100,98,110,98,95,102,105,110,100,0,0,0,13,116,100,98, ++ 119,105,100,103,101,116,103,114,105,100,14,116,100,98,119,105,100,103,101,116, ++ 103,114,105,100,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111, ++ 119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100, ++ 115,95,121,2,32,9,98,111,117,110,100,115,95,99,120,3,34,1,9,98, ++ 111,117,110,100,115,95,99,121,3,242,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,10,100,97,116, ++ 97,115,111,117,114,99,101,7,15,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,49,11,111,112,116,105,111,110,115,103,114,105,100,11,15,111,103, ++ 95,114,111,119,105,110,115,101,114,116,105,110,103,14,111,103,95,114,111,119, ++ 100,101,108,101,116,105,110,103,19,111,103,95,102,111,99,117,115,99,101,108, ++ 108,111,110,101,110,116,101,114,15,111,103,95,97,117,116,111,102,105,114,115, ++ 116,114,111,119,13,111,103,95,97,117,116,111,97,112,112,101,110,100,20,111, ++ 103,95,99,111,108,99,104,97,110,103,101,111,110,116,97,98,107,101,121,12, ++ 111,103,95,97,117,116,111,112,111,112,117,112,17,111,103,95,109,111,117,115, ++ 101,115,99,114,111,108,108,99,111,108,0,13,102,105,120,99,111,108,115,46, ++ 99,111,117,110,116,2,1,13,102,105,120,99,111,108,115,46,105,116,101,109, ++ 115,14,1,5,119,105,100,116,104,2,15,0,0,13,102,105,120,114,111,119, ++ 115,46,99,111,117,110,116,2,1,13,102,105,120,114,111,119,115,46,105,116, ++ 101,109,115,14,1,6,104,101,105,103,104,116,2,16,0,0,14,100,97,116, ++ 97,99,111,108,115,46,99,111,117,110,116,2,1,16,100,97,116,97,99,111, ++ 108,115,46,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108,108,12, ++ 99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101, ++ 115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95, ++ 114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108, ++ 111,114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119, ++ 0,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,5,119, ++ 105,100,116,104,3,254,0,7,111,112,116,105,111,110,115,11,7,99,111,95, ++ 102,105,108,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111, ++ 95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110, ++ 116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98, ++ 114,97,99,111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111, ++ 108,108,114,111,119,0,10,119,105,100,103,101,116,110,97,109,101,6,14,116, ++ 100,98,115,116,114,105,110,103,101,100,105,116,49,0,0,13,100,97,116,97, ++ 114,111,119,104,101,105,103,104,116,2,16,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,14,0,13,116,100,98,115,116,114,105,110,103,101,100, ++ 105,116,14,116,100,98,115,116,114,105,110,103,101,100,105,116,49,13,111,112, ++ 116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115, ++ 101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,0,8,98,111,117,110,100,115,95,120,2, ++ 0,8,98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115,95, ++ 99,120,3,254,0,9,98,111,117,110,100,115,95,99,121,2,16,12,102,114, ++ 97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,7,118,105, ++ 115,105,98,108,101,8,9,100,97,116,97,102,105,101,108,100,6,5,116,101, ++ 120,116,49,10,100,97,116,97,115,111,117,114,99,101,7,15,116,109,115,101, ++ 100,97,116,97,115,111,117,114,99,101,49,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,14,0,0,0,12,116,109,115,101,115,113,108,113,117, ++ 101,114,121,13,116,109,115,101,115,113,108,113,117,101,114,121,49,11,108,111, ++ 103,102,105,108,101,110,97,109,101,6,7,116,101,115,116,46,100,98,16,105, ++ 110,100,101,120,108,111,99,97,108,46,99,111,117,110,116,2,1,16,105,110, ++ 100,101,120,108,111,99,97,108,46,105,116,101,109,115,14,1,12,102,105,101, ++ 108,100,115,46,99,111,117,110,116,2,1,12,102,105,101,108,100,115,46,105, ++ 116,101,109,115,14,1,9,102,105,101,108,100,110,97,109,101,6,5,116,101, ++ 120,116,49,7,111,112,116,105,111,110,115,11,19,105,102,111,95,99,97,115, ++ 101,105,110,115,101,110,115,105,116,105,118,101,0,0,0,6,97,99,116,105, ++ 118,101,9,0,0,19,98,101,102,111,114,101,101,110,100,102,105,108,116,101, ++ 114,101,100,105,116,7,14,98,101,102,101,110,100,102,105,108,116,101,114,101, ++ 100,18,97,102,116,101,114,101,110,100,102,105,108,116,101,114,101,100,105,116, ++ 7,16,97,102,116,101,114,101,110,100,102,105,108,116,101,114,101,100,6,112, ++ 97,114,97,109,115,14,0,9,73,110,100,101,120,68,101,102,115,14,0,6, ++ 65,99,116,105,118,101,9,14,79,110,70,105,108,116,101,114,82,101,99,111, ++ 114,100,7,9,102,105,108,116,101,114,114,101,99,9,70,105,101,108,100,68, ++ 101,102,115,14,1,4,78,97,109,101,6,5,116,101,120,116,49,8,68,97, ++ 116,97,84,121,112,101,7,8,102,116,83,116,114,105,110,103,4,83,105,122, ++ 101,2,50,0,0,18,99,111,110,116,114,111,108,108,101,114,46,111,112,116, ++ 105,111,110,115,11,9,100,115,111,95,108,111,99,97,108,0,4,108,101,102, ++ 116,2,16,3,116,111,112,3,184,0,0,15,116,109,115,101,115,116,114,105, ++ 110,103,102,105,101,108,100,7,116,101,120,116,49,102,105,12,68,105,115,112, ++ 108,97,121,87,105,100,116,104,2,50,9,70,105,101,108,100,78,97,109,101, ++ 6,5,116,101,120,116,49,4,83,105,122,101,2,50,4,108,101,102,116,2, ++ 24,3,116,111,112,3,240,0,0,0,0,14,116,109,115,101,100,97,116,97, ++ 115,111,117,114,99,101,15,116,109,115,101,100,97,116,97,115,111,117,114,99, ++ 101,49,7,68,97,116,97,83,101,116,7,13,116,109,115,101,115,113,108,113, ++ 117,101,114,121,49,4,108,101,102,116,2,16,3,116,111,112,3,208,0,0, ++ 0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main.pas mseide-msegui-1.8/docs/tutorials/db/dbfilter/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/dbfilter/main.pas 2007-12-10 00:45:00.000000000 +0100 +*************** +*** 0 **** +--- 1,64 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,db,msebufdataset,msesqldb,msqldb, ++ sysutils,msedataedits,msedbedit,msedialog,mseedit,msegrids,msestrings,msetypes, ++ msedb; ++ ++ type ++ tmainfo = class(tmseform) ++ tmsesqlquery1: tmsesqlquery; ++ tdbnavigator1: tdbnavigator; ++ tdbwidgetgrid1: tdbwidgetgrid; ++ tdbstringedit1: tdbstringedit; ++ tmsedatasource1: tmsedatasource; ++ text1fi: tmsestringfield; ++ procedure filterrec(DataSet: TDataSet; var Accept: Boolean); ++ procedure befendfiltered(const sender: tmsebufdataset; ++ const akind: filtereditkindty); ++ procedure afterendfiltered(const sender: tmsebufdataset; ++ const akind: filtereditkindty); ++ private ++ filtervalue: msestring; ++ findvalue: msestring; ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm,msewidgets; ++ ++ procedure tmainfo.filterrec(DataSet: TDataSet; var Accept: Boolean); ++ begin ++ accept:= msecomparetextlen(filtervalue,text1fi.asmsestring) = 0; ++ end; ++ ++ procedure tmainfo.befendfiltered(const sender: tmsebufdataset; ++ const akind: filtereditkindty); ++ var ++ mstr1: msestring; ++ begin ++ mstr1:= text1fi.asmsestring; //dataset is in dsfilter state ++ case akind of ++ fek_filter: begin ++ filtervalue:= mstr1; ++ end; ++ fek_find: begin ++ findvalue:= mstr1; ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.afterendfiltered(const sender: tmsebufdataset; ++ const akind: filtereditkindty); ++ begin ++ if akind = fek_find then begin ++ if not sender.indexlocal[0].find([findvalue],[],false,true) then begin ++ showmessage('Record "'+findvalue+'" not found.'); ++ end; ++ end; ++ end; ++ ++ end. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/dbfilter/test.db et mseide-msegui-1.8/docs/tutorials/db/dbfilter/test.db sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/continents_ref.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/continents_ref.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/continents_ref.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/continents_ref.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,373 ---- ++ ++ ++ ++ Ńďđŕâî÷íčę ęîíňčíĺíňîâ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íčę ęîíňčíĺíňîâ

++

Ńîçäŕĺě íîâóţ ôîđěó :

++
++

File -> New -> Form -> Simple Form ->

++
++

На запрос имени файла - ââîäčě "continentseditform" č ďîäňâĺđćäŕĺě -> ŕâňîěŕňč÷ĺńęč ńîçäŕĺňń˙ ôîđěŕ :

++

"continentseditfo"

++
    ++
  • caption := Continents editor
  • ++
  • options ->
      ++
    • fo_screencentered:= true
    • ++
    ++
  • ++
  • bounds -> ++
      ++
    • "cx" č "cy" - ęŕę "planetseditfo"
    • ++
    ++
  • ++
  • oncreate := continentseditfocreated ++
    ++

    procedure tcontinentseditfo.continentseditfocreated(
    ++   const sender: TObject);
    ++ begin
    ++  application.createdatamodule(trefsdatamo, refsdatamo);
    ++  commonrefseditfo1.dsContents.dataset := grdContinents.datasource.dataset;
    ++ end;

    ++
    ++
  • ++
  • ondestroy:= continentseditfodestroyed ++
    ++

    procedure tcontinentseditfo.continentseditfodestroyed(
    ++   const sender: TObject);
    ++ begin
    ++  refsdatamo.free;
    ++ end;

    ++
    ++
  • ++
++
++

Íĺ çŕáóäĺě âęëţ÷čňü â "uses" ńĺęöčţ "implementation" ôŕéëŕ "continentseditform.pas" ěîäóëü "refsdatamodule" :

++
++

implementation
++
++ uses
++   continentseditform_mfm,
++   // ďđĺäîńňŕâë˙ĺň ňčď "trefsdatamo" č îáúĺęň "refsdatamo"
++   refsdatamodule
++ ;

++
++
++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ îňîáđŕćĺíčĺ ôîđěű "refsdatamo" č âűáčđŕĺě "qryContinents" :

++
    ++
  • óńňŕíîâčňü ďî öĺďî÷ęĺ (Active:= false ) -> ( UsePrimaryKeyAsKey := false ) -> (Active:= true )
  • ++
  • controller
  • ++
      ++
    • fields.count->[...] ++
        ++
      • ďĺđĺíĺńňč âńĺ "FieldDefs" -> "Fields "
      • ++
      ++
    • ++
    • fields ++
        ++
      • item 0 ( ăäĺ "FieldName" = "id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInKey:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 1 ( ăäĺ "FieldName" = "planet_id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 2 ( ăäĺ "FieldName" = "descr" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

 

++

Âíîâü âîçđŕůŕĺěń˙ íŕ ôîđěó "continentseditfo" ( âűáđŕâ ôŕéë "continentseditform.pas", č äŕëĺĺ, ĺńëč íĺîáőîäčěî - íŕćŕâ "F12" ).

++

Щелкнув на форме правой кнопкой, открыть меню, и, командой "Insert submodule" - вставить в форму субмодуль "commonrefseditform" . При необходимости - ďîäîăíŕňü размер, чтобы исчезли полосы прокрутки.

++

Óđîíčňü íŕ "continentseditfo" компонент DB -> tdbwidgetgrid, и установить для него ěĺńňî č đŕçěĺđ ęŕę ó "planetseditfo -> grdPlanets" :

++

name := grdContinents

++
    ++
  • datasource := refsdatamo.dsContinents
  • ++
  • anchors ++
      ++
    • an_left:= true
    • ++
    • an_top:= true
    • ++
    • an_right:= true
    • ++
    ++
  • ++
  • fixrows -> ++
      ++
    • item(-1) ->
        ++
      • color:= cl_ltgreen
      • ++
      • captions ++ -> Additem -> ++
          ++
        • item 0 ->
            ++
          • caption:= Continent name
          • ++
          ++
        • ++
        • item 1 ->
            ++
          • caption:= Planet name
          • ++
          ++
        • ++
        ++
      • ++
      • captionsfix ++ -> Additem -> ++
          ++
        • item 0 ->
            ++
          • caption:= #8470
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
  • fixcols -> ++
      ++
    • item(-1) ->
        ++
      • numstart:= 1
      • ++
      • numstep:= 1
      • ++
      • đŕńň˙íóňü ďđčěĺđíî ďîä 3 öčôđű
      • ++
      ++
    • ++
    ++
  • ++
  • rowcolors->AddItem ++
      ++
    • item 0:= [..] // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • item 1:= cl_green // ńŕëŕňíűé
    • ++
    ++
  • ++
  • datalink ->
      ++
    • options ++
        ++
      • gdo_propscrollbar:= true
      • ++
      • gdo_thumbtracking:= true
      • ++
      ++
    • ++
    • onupdaterowdata:= grdcontinenetsupdaterowdata ++
      ++

      procedure tcontinentseditfo.grdcontinentsupdaterowdata(
      ++  const sender: tcustomgrid;
      ++  const arow: Integer; const adataset: TDataSet);
      ++ begin
      ++  case adataset.updatestatus of
      ++   usInserted: sender.rowcolorstate[arow]:= 0;
      ++   usModified: sender.rowcolorstate[arow]:= 1;
      ++  else
      ++   sender.rowcolorstate[arow]:= 255;
      ++  end;
      ++ end;

      ++
      ++

      č íĺ çŕáóäüňĺ äîáŕâčňü íóćíűĺ "unit" -ű â ńĺęöčţ "interface -> uses" :

      ++
      ++

      interface
      ++  uses
      ++  msegui,mseclasses,mseforms,commonrefseditform,msedbedit,
      ++  msegrids,
      ++  db
      ++ ;

      ++
      ++
    • ++
    ++
  • ++
++

Ňĺďĺđü ńîçäŕäčě č îďčřĺě ńňîëáöű "grdContinents", ďîäëĺćŕůčĺ ďđîńěîňđó č đĺäŕęňčđîâŕíčţ.

++

Óđîíčňü íŕ "grdContinents" компонент ++ DB -> tdbstringedit :

++

name:= seContinent

++
    ++
  • datafield:= descr
  • ++
  • optionsedit ++
      ++
    • oe_notnull:= true
    • ++
    • oe_autopost:= true
    • ++
    ++
  • ++
  • đŕńň˙íóňü ďđčěĺđíî íŕ ďîëîâčíó ńâîáîäíîé řčđčíű "grdContinents"
  • ++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdContinents :

++
    ++
  • datacols -> ++
      ++
    • item 0 ++
        ++
      • options
          ++
        • co_proportional:= true
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Óđîíčňü íŕ "grdContinents" компонент DB -> tdbenumeditlb :

++

name:= lbnePlanet

++
    ++
  • datafield:= planet_id
  • ++
  • optionsedit
    • oe_autopost:= true
    • ++
    ++
  • ++
  • dropdown ->
      ++
    • lookupbuffer := refsdatamo.lbufPlanets
    • ++
    ++
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • äŕííűé ęîěďîíĺíň : ++
    ++
    ++
      ++
    • áĺđĺň ńďčńîę çíŕ÷ĺíčé "refsdatamo.lbufPlanets" ( çŕďîëí˙ĺěűé ďî đĺçóëüňŕňŕě çŕďđîńŕ ę ňŕáëčöĺ ďëŕíĺň ( refsdatamo.dsPlanets->qryPlanets ) )
      ++
    • ++
    • âűáčđŕĺň â íĺě ńŕěűé ďĺđâűé ňĺęńňîâűé ńňîëáĺö ( textfields[0] = "descr" = íŕçâŕíč˙ ďëŕíĺň ), č çíŕ÷ĺíč˙ěč čç ýňîăî ńňîëáöŕ çŕďîëí˙ĺň âűďŕäŕţůčé ńďčńîę
      ++
    • ++
    • ďî ňĺęóůĺěó çíŕ÷ĺíčţ "planet_id" ( ęŕćäîăî čç ęîíňčíĺíňîâ ) âűáîđęč čç ňŕáëčöű ęîíňčíĺíňîâ ( refsdatamo.dsContinents->qryContinents ) íŕőîäčň íŕçâŕíčĺ ďëŕíĺňű â âűďŕäŕţůĺě ńďčńęĺ č îňîáđŕćŕĺň ĺăî
      ++
    • ++
    • ďđč âűáîđĺ â âűďŕäŕţůĺě ńďčńęĺ íŕőîäčň ńîîňâĺňńňâóţůĺĺ ýňîěó âűáîđó çíŕ÷ĺíčĺ â ńŕěîě ďĺđâîě öĺëî÷čńëĺííîě ńňîëáöĺ ( integerfields[0] = "id" = ęëţ÷č ďëŕíĺň )
      ++
    • ++
    • çŕďčńűâŕĺň íŕéäĺííîĺ çíŕ÷ĺíčĺ â ďîëĺ "planet_id" âűáîđęč čç ňŕáëčöű ęîíňčíĺíňîâ
    • ++
    ++

    Ňŕęčě îáđŕçîě îńóůĺńňâëĺíŕ ńčíőđîíčçŕöč˙ âűáîđîę čç 2-ő ňŕáëčö ( ďëŕíĺň č ęîíňčíĺíňîâ ) , ďđč÷ĺě - áĺç 2-ňŕáëč÷íîăî ( read-only ) çŕďđîńŕ, ÷ňî ďîçâîëčëî íŕě âîńďîëüçîâŕňüń˙ ńđĺäńňâŕěč ŕâňîěŕňč÷ĺńęîé ăĺíĺđŕöčč SQL-çŕďđîńîâ íŕ čçěĺíĺíč˙ äŕííűő

    ++
  • ++
++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdContinents :

++
    ++
  • datacols ->
      ++
    • item 1 ++
        ++
      • options ->
          ++
        • co_fill:= true
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

 

++

Îńňŕëîńü ńäĺëŕňü âűçîâ "continentseditfo" ÷ĺđĺç ăëŕâíîĺ ěĺíţ ďđîăđŕěěű.

++

Ďĺđĺęëţ÷čňüń˙ íŕ äčçŕéí "mainfo" ( ôŕéë "main.pas" ).

++

Óđîíčňü â ëţáîě íĺçŕđčńîâŕííîě ěĺńňĺ "mainfo" ęîěďîíĺíň "GUI -> taction" :

++

Name:= actContinentsEdit

++
    ++
  • onexecute:= continentseditexecute
  • ++
++
++

procedure tmainfo.continentseditexecute(const sender: TObject);
++ begin
++  try
++ ++   application.createform(tcontinentseditfo, continentseditfo);
++   if continentseditfo.show(true) = mr_windowclosed then begin
++    qryPersons.active:= true;
++   end;
++  finally
++   continentseditfo.free;
++  end;
++ end;

++

Íĺ çŕáóäüňĺ äîáŕâčňü ńńűëęó íŕ ôŕéë "continentseditform" â ńĺęöčţ "interface" ôŕéëŕ "main.pas" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
++  msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
++  planetseditform,
++  continentseditform
++ ;

++
++
++

Íŕńňđîčňü âűçîâ "actContinentsEdit" čç îńíîâíîăî ěĺíţ ôîđěű ďđčëîćĺíč˙ ( mainfo ):

++

mnuMain : ++

++
    ++
  • menu ++
      ++
    • submenu ++
        ++
      • item 1 ++
          ++
        • submenu -> AppendItem ++
            ++
          • item 1 ++
              ++
            • caption:= &Continents..
            • ++
            • action:= actContinentsEdit
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Ôčíŕëüíűé âčä ôîđěű đĺäŕęňîđŕ ńďčńęŕ ęîíňčíĺíňîâ :

++

â äčçŕéíĺ :

++

++

č âî âđĺě˙ đŕáîňű ďđîăđŕěěű:

++

++

Ĺäčíńňâĺííîĺ ńóůĺńňâĺííîĺ îňëč÷čĺ äŕííîăî ( ęîíňčíĺíňű -> continentseditform ) ńďđŕâî÷íčęŕ îň âűřĺđŕńńěîňđĺííîăî ( ďëŕíĺňű -> planetseditform ) - íŕëč÷čĺ âňîđîăî ńňîëáöŕ â ňŕáëčöĺ, îňîáđŕćĺíčĺ č đĺäŕęňčđîâŕíčĺ â ęîňîđîě ńäĺëŕíî ń čńďîëüçîâŕíčĺě âűďŕäŕţůĺăî ńďčńęŕ ( ďđĺäîńňŕâë˙ĺěîăî ęîěďîíĺíňîě "tdbenumeditlb" ) .

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/countries_ref.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/countries_ref.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/countries_ref.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/countries_ref.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,366 ---- ++ ++ ++ ++ Ńďđŕâî÷íčę ńňđŕí ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íčę ńňđŕí

++

Ńîçäŕĺě íîâóţ ôîđěó :

++
++

File -> New -> Form -> Simple Form ->

++
++

На запрос имени файла - ââîäčě "countrieseditform" č ďîäňâĺđćäŕĺě -> ŕâňîěŕňč÷ĺńęč ńîçäŕĺňń˙ ôîđěŕ :

++

"countrieseditfo"

++
    ++
  • caption := Countries editor
  • ++
  • options -> ++
      ++
    • fo_screencentered:= true
    • ++
    ++
  • ++
  • bounds -> ++
      ++
    • "cx" č "cy" - ęŕę "planetseditfo"
    • ++
    ++
  • ++
  • oncreate := countrieseditfocreated ++
    ++

    procedure tcountrieseditfo.countrieseditfocreated(
    ++   const sender: TObject);
    ++ begin
    ++  application.createdatamodule(trefsdatamo, refsdatamo);
    ++  commonrefseditfo1.dsContents.dataset := grdcountries.datasource.dataset;
    ++ end;

    ++
    ++
  • ++
  • ondestroy:= countrieseditfodestroyed ++
    ++

    procedure tcountrieseditfo.countrieseditfodestroyed(
    ++   const sender: TObject);
    ++ begin
    ++  refsdatamo.free;
    ++ end;

    ++
    ++
  • ++
++
++

Íĺ çŕáóäĺě âęëţ÷čňü â "uses" ńĺęöčţ "implementation" ôŕéëŕ "countrieseditform.pas" ěîäóëü "refsdatamodule" :

++
++

implementation
++
++ uses
++   countrieseditform_mfm,
++   // ďđĺäîńňŕâë˙ĺň ňčď "trefsdatamo" č îáúĺęň "refsdatamo"
++   refsdatamodule
++ ;

++
++
++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ îňîáđŕćĺíčĺ ôîđěű "refsdatamo" č âűáčđŕĺě "qryCountries" :

++
    ++
  • óńňŕíîâčňü ďî öĺďî÷ęĺ (Active:= false ) -> ( UsePrimaryKeyAsKey := false ) -> (Active:= true )
  • ++
  • controller
  • ++
      ++
    • fields.count->[...] ++
        ++
      • ďĺđĺíĺńňč âńĺ "FieldDefs" -> "Fields "
      • ++
      ++
    • ++
    • fields ++
        ++
      • item 0 ( ăäĺ "FieldName" = "id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInKey:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 1 ( ăäĺ "FieldName" = "continent_id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 2 ( ăäĺ "FieldName" = "descr" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

 

++

Âíîâü âîçđŕůŕĺěń˙ íŕ ôîđěó "countrieseditfo" ( âűáđŕâ ôŕéë "countrieseditform.pas", č äŕëĺĺ, ĺńëč íĺîáőîäčěî - íŕćŕâ "F12" ).

++

Щелкнув на форме правой кнопкой, открыть меню, и, командой "Insert submodule" - вставить в форму субмодуль "commonrefseditform" . При необходимости - ďîäîăíŕňü размер, чтобы исчезли полосы прокрутки.

++

Óđîíčňü íŕ "countrieseditfo" компонент DB -> tdbwidgetgrid, и установить для него ěĺńňî č đŕçěĺđ ęŕę ó "planetseditfo -> grdPlanets" :

++

name := grdCountries

++
    ++
  • datasource := refsdatamo.dsCountries
  • ++
  • anchors ++
      ++
    • an_left:= true
    • ++
    • an_top:= true
    • ++
    • an_right:= true
    • ++
    ++
  • ++
  • fixrows -> ++
      ++
    • item(-1) -> ++
        ++
      • color:= cl_ltgreen
      • ++
      • captions -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= Country name
          • ++
          ++
        • ++
        • item 1 -> ++
            ++
          • caption:= Continent name
          • ++
          ++
        • ++
        ++
      • ++
      • captionsfix -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= #8470
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
  • fixcols -> ++
      ++
    • item(-1) -> ++
        ++
      • numstart:= 1
      • ++
      • numstep:= 1
      • ++
      • đŕńň˙íóňü ďđčěĺđíî ďîä 3 öčôđű
      • ++
      ++
    • ++
    ++
  • ++
  • rowcolors->AddItem ++
      ++
    • item 0:= [..] // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • item 1:= cl_green // ńŕëŕňíűé
    • ++
    ++
  • ++
  • datalink -> ++
      ++
    • options ++
        ++
      • gdo_propscrollbar:= true
      • ++
      • gdo_thumbtracking:= true
      • ++
      ++
    • ++
    • onupdaterowdata:= grdcountriesupdaterowdata ++
      ++

      procedure tcountrieseditfo.grdcountriesupdaterowdata(
      ++  const sender: tcustomgrid;
      ++  const arow: Integer; const adataset: TDataSet);
      ++ begin
      ++  case adataset.updatestatus of
      ++   usInserted: sender.rowcolorstate[arow]:= 0;
      ++   usModified: sender.rowcolorstate[arow]:= 1;
      ++  else
      ++   sender.rowcolorstate[arow]:= 255;
      ++  end;
      ++ end;

      ++
      ++

      č íĺ çŕáóäüňĺ äîáŕâčňü íóćíűĺ "unit" -ű â ńĺęöčţ "interface -> uses" :

      ++
      ++

      interface
      ++  uses
      ++  msegui,mseclasses,mseforms,commonrefseditform,msedbedit,
      ++  msegrids,
      ++  db
      ++ ;

      ++
      ++
    • ++
    ++
  • ++
++

Ňĺďĺđü ńîçäŕäčě č îďčřĺě ńňîëáöű "grdCountries", ďîäëĺćŕůčĺ ďđîńěîňđó č đĺäŕęňčđîâŕíčţ.

++

Óđîíčňü íŕ "grdCountries" компонент DB -> tdbstringedit :

++

name:= seCountry

++
    ++
  • datafield:= descr
  • ++
  • optionsedit ++
      ++
    • oe_notnull:= true
    • ++
    • oe_autopost:= true
    • ++
    ++
  • ++
  • đŕńň˙íóňü ďđčěĺđíî íŕ ďîëîâčíó ńâîáîäíîé řčđčíű "grdCountries"
  • ++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdCountries :

++
    ++
  • datacols -> ++
      ++
    • item 0 ++
        ++
      • options ++
          ++
        • co_proportional:= true
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Óđîíčňü íŕ "grdCountries" компонент DB -> tdbenumeditlb :

++

name:= lbneContinent

++
    ++
  • datafield:= continent_id
  • ++
  • optionsedit ++
      ++
    • oe_autopost:= true
    • ++
    ++
  • ++
  • dropdown -> ++
      ++
    • lookupbuffer := refsdatamo.lbufContinents
    • ++
    ++
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • çäĺńü ňŕęćĺ, ęŕę č â đĺäŕęňîđĺ ęîíňčíĺíňîâ, äë˙ îňîáđŕćĺíč˙ äŕííűő čç 2-ő ňŕáëčö - čńďîëüçóĺňń˙ ďŕđŕ "tdblookupbuffer + tdbenumeditlb":
    ++
  • ++
++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdCountries :

++
    ++
  • datacols -> ++
      ++
    • item 1 ++
        ++
      • options -> ++
          ++
        • co_fill:= true
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

 

++

Îńňŕëîńü ńäĺëŕňü âűçîâ "countrieseditfo" ÷ĺđĺç ăëŕâíîĺ ěĺíţ ďđîăđŕěěű.

++

Ďĺđĺęëţ÷čňüń˙ íŕ äčçŕéí "mainfo" ( ôŕéë "main.pas" ).

++

Óđîíčňü â ëţáîě íĺçŕđčńîâŕííîě ěĺńňĺ "mainfo" ęîěďîíĺíň "GUI -> taction" :

++

Name:= actCountriesEdit

++
    ++
  • onexecute:= countrieseditexecute
  • ++
++
++

procedure tmainfo.countrieseditexecute(const sender: TObject);
++ begin
++  try
++   application.createform(tcountrieseditfo, countrieseditfo);
++   if countrieseditfo.show(true) = mr_windowclosed then begin
++    qryPersons.active:= true;
++   end;
++  finally
++   countrieseditfo.free;
++  end;
++ end;

++

Íĺ çŕáóäüňĺ äîáŕâčňü ńńűëęó íŕ ôŕéë "countrieseditform" â ńĺęöčţ "interface" ôŕéëŕ "main.pas" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
++  msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
++  planetseditform,
++  continentseditform,
++  countrieseditform
++ ;

++
++
++

Íŕńňđîčňü âűçîâ "actCountriesEdit" čç îńíîâíîăî ěĺíţ ôîđěű ďđčëîćĺíč˙ ( mainfo ):

++

mnuMain :

++
    ++
  • menu ++
      ++
    • submenu ++
        ++
      • item 1 ++
          ++
        • submenu -> AppendItem ++
            ++
          • item 1 ++
              ++
            • caption:= &Countries..
            • ++
            • action:= actCountriesEdit
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Ôčíŕëüíűé âčä ôîđěű đĺäŕęňîđŕ ńďčńęŕ ńňđŕí :

++

â äčçŕéíĺ :

++

++

č âî âđĺě˙ đŕáîňű ďđîăđŕěěű:

++

++

Äŕííűé ( ńňđŕíű -> countrieseditform ) ńďđŕâî÷íčę - ďî÷ňč ďîëíűé ŕíŕëîă âűřĺđŕńńěîňđĺííîăî ńďđŕâî÷íčęŕ ęîíňčíĺňîâ.

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup/setup.sh mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup/setup.sh +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup/setup.sh 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup/setup.sh 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,13 ---- ++ #!/bin/sh ++ ++ # DB SERVER = PostgreSQL ++ ++ # dbname = serious_matters ++ ++ dropdb -Upostgres serious_matters ++ ++ createdb -Upostgres -E UNICODE serious_matters ++ ++ psql -Upostgres -f ./tables.sql -d serious_matters ++ ++ exit 0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup/tables.sql mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup/tables.sql +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup/tables.sql 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup/tables.sql 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,148 ---- ++ SET CLIENT_ENCODING TO 'UTF8'; ++ SET DATESTYLE TO 'German'; ++ ++ --------------------------------------------------------- ++ create sequence feature_id_seq; ++ create table features ( ++ id integer default nextval('feature_id_seq'), ++ descr text not null ++ ); ++ ++ insert into features (descr) values ('nasty'); ++ insert into features (descr) values ('ill'); ++ insert into features (descr) values ('tender'); ++ ++ insert into features (descr) values ('bizzare'); ++ insert into features (descr) values ('atrocious'); ++ insert into features (descr) values ('cunny'); ++ ++ insert into features (descr) values ('reliable'); ++ insert into features (descr) values ('hard-working'); ++ insert into features (descr) values ('lazy'); ++ ++ insert into features (descr) values ('nice'); ++ insert into features (descr) values ('sexy'); ++ insert into features (descr) values ('disgusting'); ++ ++ insert into features (descr) values ('traitrous'); ++ insert into features (descr) values ('smart'); ++ insert into features (descr) values ('dumb'); ++ ++ insert into features (descr) values ('mad'); ++ insert into features (descr) values ('volatile'); ++ insert into features (descr) values ('right'); ++ --------------------------------------------------------- ++ create sequence occupation_id_seq; ++ create table occupations ( ++ id integer default nextval('occupation_id_seq'), ++ descr text not null ++ ); ++ ++ insert into occupations (descr) values ('precident'); ++ insert into occupations (descr) values ('pirate'); ++ insert into occupations (descr) values ('just good guy'); ++ ++ insert into occupations (descr) values ('a bad guy'); ++ insert into occupations (descr) values ('actress/actor'); ++ insert into occupations (descr) values ('producer'); ++ ++ insert into occupations (descr) values ('singer'); ++ insert into occupations (descr) values ('mus.band'); ++ insert into occupations (descr) values ('vampire'); ++ ++ insert into occupations (descr) values ('sportsman'); ++ --------------------------------------------------------- ++ create sequence planet_id_seq; ++ create table planets ( ++ id integer default nextval('planet_id_seq'), ++ descr text not null ++ ); ++ insert into planets (descr) values ('Earth'); ++ insert into planets (descr) values ('Mars'); ++ insert into planets (descr) values ('Merqury'); ++ insert into planets (descr) values ('Pluton'); ++ insert into planets (descr) values ('Jupiter'); ++ insert into planets (descr) values ('Faeton'); ++ --------------------------------------------------------- ++ create sequence continent_id_seq; ++ create table continents ( ++ id integer default nextval('continent_id_seq'), ++ planet_id integer, ++ descr text not null ++ ); ++ ++ insert into continents (planet_id,descr) values (1,'Africa'); ++ insert into continents (planet_id,descr) values (1,'Gondvana'); ++ insert into continents (planet_id,descr) values (1,'Antartica'); ++ insert into continents (planet_id,descr) values (1,'N.America'); ++ insert into continents (planet_id,descr) values (1,'Asia'); ++ insert into continents (planet_id,descr) values (1,'Europe'); ++ --------------------------------------------------------- ++ create sequence country_id_seq; ++ create table countries ( ++ id integer default nextval('country_id_seq'), ++ continent_id integer, ++ descr text not null ++ ); ++ ++ insert into countries (continent_id, descr) values (4,'USA'); ++ insert into countries (continent_id, descr) values (5,'Iraqe'); ++ insert into countries (continent_id, descr) values (6,'Finland'); ++ insert into countries (continent_id, descr) values (6,'Sweeden'); ++ insert into countries (continent_id, descr) values (6,'Germany'); ++ insert into countries (continent_id, descr) values (5,'Uzbekistan'); ++ --------------------------------------------------------- ++ create sequence person_id_seq; ++ create table persons ( ++ id integer default nextval('person_id_seq'), ++ feature_id integer, ++ occupation_id integer, ++ country_id integer, ++ descr text not null, ++ sexual_potention float, ++ photo bytea, ++ if_happy boolean, ++ dateofbirth date ++ ); ++ ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (5,2,NULL,'F.Dreik',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,dateofbirth) values (5,2,NULL,'c.Morgan',100.0,'29.12.1800'); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (18,2,NULL,'J.Blud', 0.0); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'R.Reighan',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Bush',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'S.Hussein',NULL); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'I.Ghandy',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Lopes',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,if_happy,dateofbirth) values (10,5,2,'Sh.Fenn', 99.2,'t','01.03.1960'); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'H.Berry',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,if_happy) values (NULL,NULL,NULL,'H.Ford',NULL,'f'); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'B.Willis',99.6); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'Ch.Theron',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Kameron',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'ABBA',NULL); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'The Rasmus',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'Halloween',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'WhiteSnake',NULL); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (3,9,NULL,'g.Drakula',100.0); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'W.Hewston',NULL); ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'M.Schumaher',NULL); ++ ++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'I.Karimov',NULL); ++ --------------------------------------------------------- ++ DROP USER worldadmin; ++ CREATE USER worldadmin WITH ENCRYPTED PASSWORD 'all'; ++ GRANT ALL PRIVILEGES ON ++ persons,person_id_seq, ++ features,feature_id_seq, ++ occupations,occupation_id_seq, ++ planets,planet_id_seq, ++ continents,continent_id_seq, ++ countries,country_id_seq ++ TO worldadmin; +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/db_setup.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/db_setup.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,176 ---- ++ ++ ++ ++ Ńîçäŕíčĺ ÁÄ ++ ++ ++ ++ ++ ++

 âčäĺ ăîňîâűő ôŕéëîâ ( ÷ňîáű íĺ áűëî ďđîáëĺě ń îęîí÷ŕíč˙ěč ńňđîę, ďđŕâŕěč íŕ çŕďóńę č ň.ď) - ńęŕ÷ŕéňĺ č đŕńďŕęóéňĺ ŕđőčâíűé ôŕéë db_setup.tgz.

++

 

++

Ďî˙ńíĺíč˙

++
Ńîäĺđćčěîĺ ôŕéëŕ "setup.sh" :
++
++
++

 

++

#!/bin/sh ++

++

# DB SERVER = PostgreSQL
++ # dbname = serious_matters

++

dropdb -Upostgres serious_matters
++ createdb -Upostgres -E UNICODE serious_matters
++
++ psql -Upostgres -f ./tables.sql -d serious_matters
++
++ exit 0

++

 

++
++
++

Äŕííűé ńęđčďň :

++
    ++
  • ďĺđĺńîçäŕĺň ( ń ďđîěĺćóňî÷íűě óäŕëĺíčĺě !!! ) áŕçó äŕííűő "serious_matters" ń âíóňđĺííčě ôîđěŕňîě őđŕíĺíč˙ äŕííűő UNICODE ( đĺŕëüíî - UTF8 ), ÷ňî ďîçâîëčň ďîëó÷ŕňü îäíč č ňĺ ćĺ ńčěâîëű äŕćĺ ďîëüçîâŕňĺë˙ě ń đŕçëč÷íűěč ęëčĺíňńęčěč ęîäčîâęŕěč )
    ++
  • ++
  • ďîńëĺäîâŕňĺëüíî âűďîëí˙ĺň SQL-ęîěŕíäű, ńîäĺđćŕůčĺń˙ â ôŕéëĺ "tables.sql"
  • ++
++
 
++
Č ńîäĺđćčěîĺ ôŕéëŕ "tables.sql" :
++
++
++

 

++

SET CLIENT_ENCODING TO 'UTF8';
++ SET DATESTYLE TO 'German';

++

---------------------------------------------------------
++ create sequence feature_id_seq;
++ create table features (
++ id integer default nextval('feature_id_seq'),
++ descr text not null
++ );

++

insert into features (descr) values ('nasty');
++ insert into features (descr) values ('ill');
++ insert into features (descr) values ('tender');

++

insert into features (descr) values ('bizzare');
++ insert into features (descr) values ('atrocious');
++ insert into features (descr) values ('cunny');

++

insert into features (descr) values ('reliable');
++ insert into features (descr) values ('hard-working');
++ insert into features (descr) values ('lazy');

++

insert into features (descr) values ('nice');
++ insert into features (descr) values ('sexy');
++ insert into features (descr) values ('disgusting');

++

insert into features (descr) values ('traitrous');
++ insert into features (descr) values ('smart');
++ insert into features (descr) values ('dumb');

++

insert into features (descr) values ('mad');
++ insert into features (descr) values ('volatile');
++ insert into features (descr) values ('right');
++ ---------------------------------------------------------
++ create sequence occupation_id_seq;
++ create table occupations (
++ id integer default nextval('occupation_id_seq'),
++ descr text not null
++ );

++

insert into occupations (descr) values ('precident');
++ insert into occupations (descr) values ('pirate');
++ insert into occupations (descr) values ('just good guy');

++

insert into occupations (descr) values ('a bad guy');
++ insert into occupations (descr) values ('actress/actor');
++ insert into occupations (descr) values ('producer');

++

insert into occupations (descr) values ('singer');
++ insert into occupations (descr) values ('mus.band');
++ insert into occupations (descr) values ('vampire');

++

insert into occupations (descr) values ('sportsman');
++ ---------------------------------------------------------
++ create sequence planet_id_seq;
++ create table planets (
++ id integer default nextval('planet_id_seq'),
++ descr text not null
++ );
++ insert into planets (descr) values ('Earth');
++ insert into planets (descr) values ('Mars');
++ insert into planets (descr) values ('Merqury');
++ insert into planets (descr) values ('Pluton');
++ insert into planets (descr) values ('Jupiter');
++ insert into planets (descr) values ('Faeton');
++ ---------------------------------------------------------
++ create sequence continent_id_seq;
++ create table continents (
++ id integer default nextval('continent_id_seq'),
++ planet_id integer,
++ descr text not null
++ );

++

insert into continents (planet_id,descr) values (1,'Africa');
++ insert into continents (planet_id,descr) values (1,'Gondvana');
++ insert into continents (planet_id,descr) values (1,'Antartica');
++ insert into continents (planet_id,descr) values (1,'N.America');
++ insert into continents (planet_id,descr) values (1,'Asia');
++ insert into continents (planet_id,descr) values (1,'Europe');
++ ---------------------------------------------------------
++ create sequence country_id_seq;
++ create table countries (
++ id integer default nextval('country_id_seq'),
++ continent_id integer,
++ descr text not null
++ );

++

insert into countries (continent_id, descr) values (4,'USA');
++ insert into countries (continent_id, descr) values (5,'Iraqe');
++ insert into countries (continent_id, descr) values (6,'Finland');
++ insert into countries (continent_id, descr) values (6,'Sweeden');
++ insert into countries (continent_id, descr) values (6,'Germany');
++ insert into countries (continent_id, descr) values (5,'Uzbekistan');
++ ---------------------------------------------------------
++ create sequence person_id_seq;
++
++ create table persons (
++  id integer default nextval('person_id_seq'),
++  feature_id integer,
++  occupation_id integer,
++  country_id integer,
++  descr text not null,
++  sexual_potention float,
++  photo bytea,
++  if_happy boolean,
++  dateofbirth date
++ );
++

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (5,2,NULL,'F.Dreik',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,dateofbirth) values (5,2,NULL,'c.Morgan',100.0,'29.12.1800');
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (18,2,NULL,'J.Blud', 0.0);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'R.Reighan',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Bush',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'S.Hussein',NULL);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'I.Ghandy',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Lopes',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,if_happy,dateofbirth) values (10,5,2,'Sh.Fenn', 99.2,'t','01.03.1960');

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'H.Berry',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention,if_happy) values (NULL,NULL,NULL,'H.Ford',NULL,'f');
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'B.Willis',99.6);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'Ch.Theron',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'J.Kameron',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'ABBA',NULL);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'The Rasmus',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'Halloween',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'WhiteSnake',NULL);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (3,9,NULL,'g.Drakula',100.0);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'W.Hewston',NULL);
++ insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'M.Schumaher',NULL);

++

insert into persons (feature_id, occupation_id,country_id,descr,sexual_potention) values (NULL,NULL,NULL,'I.Karimov',NULL);
++ ---------------------------------------------------------
++ DROP USER worldadmin;
++ CREATE USER worldadmin WITH ENCRYPTED PASSWORD 'all';
++
++ GRANT ALL PRIVILEGES ON
++  persons,person_id_seq,
++  features,feature_id_seq,
++  occupations,occupation_id_seq,
++  planets,planet_id_seq,
++  continents,continent_id_seq,
++  countries,country_id_seq
++ TO worldadmin;

++

 

++
++
++

Çäĺńü, ďî ďîđ˙äęó - ńîçäŕţňń˙ đŕáî÷čĺ ňŕáëčöű, ŕâňîíóěĺđŕňîđű äë˙ ýěóë˙öčč ďîëĺé-ń÷ĺň÷čęîâ, ďîëüçîâŕňĺëü "worldadmin" ń ďŕđîëĺě "all", č ýňîěó ďîëüçîâŕňĺëţ äŕţňń˙ íĺîáőîäčěűĺ äë˙ ďđîńěîňđŕ č đĺäŕęňčđîâŕíč˙ äŕííűő ďîëíîěî÷č˙. Ňŕęćĺ âűďîëí˙ĺňń˙ ďĺđâč÷íîĺ çŕďîëíĺíčĺ đŕáî÷čő ňŕáëčö íŕ÷ŕëüíűěč äŕííűěč.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/edit_project.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/edit_project.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/edit_project.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/edit_project.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,1839 ---- ++ ++ ++ ++ Đĺäŕęňčđîâŕíčĺ äŕííűő î ďĺđńîíŕő ++ ++ ++ ++ ++

Ĺńëč ěű őîňčě đĺäŕęňčđîâŕňü äŕííűĺ,
++ ŕ íĺ ňîëüęî ďđîńěŕňđčâŕňü

++

Đĺäŕęňčđóĺňń˙, ęŕę ďđŕâčëî, îäíŕ ňŕáëčöŕ, îńňŕëüíűĺ ćĺ ňŕáëčöű â ëó÷řĺě ńëó÷ŕĺ ďîńňŕâë˙ţň äë˙ íĺĺ äŕííűĺ â âčäĺ ńńűëîę.

++

Âčäîčçěĺí˙ĺě çŕďđîń, ňŕę ęŕę äë˙ đĺäŕęňčđîâŕíč˙ íŕě íóćíű çíŕ÷ĺíč˙ ńńűëîę íŕ äđóăčĺ ňŕáëčöű, ŕ ňŕęćĺ íóćíî çíŕňü ęëţ÷č ńňđîę ńŕěîé đĺäŕęňčđóĺěîé ňŕáëčöű ( ÷ňîáű ńëó÷ŕéíî íĺ ńďóňŕňü ńňđîęč ďđč čçěĺíĺíč˙ő ) :

++

Ěĺí˙ĺě :

++

qryPersons -> SQL:=
++  a.id, /* ęëţ÷ĺâîé ńňîëáĺö */
++  a.feature_id,
++  a.occupation_id,
++  a.country_id,
++  a.descr,
++  a.sexual_potention ,
++  a.photo,
++  b.descr as country,
++  c.descr as occupation,
++  d.descr as feature,
++  a.if_happy,
++  a.dateofbirth

++ from persons a left outer join
++  countries b on a.country_id=b.id left outer join
++  occupations c on a.occupation_id=c.id left outer join
++  features d on a.feature_id=d.id
++ order by a.id;

++

Ůĺëęŕĺě íŕ "Test" -> äîëćíî áűňü "ÎĘ" .

++

Čňîăî - äîáŕâëĺíű ďîë˙:

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
a.idęëţ÷ đĺäŕęňčđóĺěîé ňŕáëčöű ( persons )
a.feature_id ńńűëęŕ íŕ ňŕáëčöó "features"
a.occupation_idńńűëęŕ íŕ ňŕáëčöó "occupations"
a.country_idńńűëęŕ íŕ ňŕáëčöó "countries"
++

Ýňč ďîë˙ - öĺëî÷čńëĺííűĺ ( integer ), čáî ďî÷ňč 100% čěĺííî ňŕęčěč ˙âë˙ţňń˙ íîěĺđŕ ńňđîę ňŕáëčö.

++

Îňîáđŕćŕňü áóäĺě ňĺ ćĺ ďîë˙, ÷ňî č đŕíĺĺ:

++
    ++
  • d.descr as feature ( string )
  • ++
  • c.descr as occupation   (string)
  • ++
  • b.descr as country ( string )
  • ++
  • a.descr ( string )
  • ++
  • a.sexual_potention ( float )
  • ++
  • a.photo ( blob )  
  • ++
  • a.if_happy ( boolean )
  • ++
  • a.dateofbirth ( date )
  • ++
++

Íĺďîńđĺäńňâĺííî đĺäŕęňčđîâŕňüń˙ íĺ áóäóň ňîëüęî ďîë˙ :

++
    ++
  • a.id - ňŕę ęŕę čńďîëüçóĺňń˙ ňîëüęî äë˙ íŕőîćäĺíč˙ ńňđîęč đĺäŕęňčđóěîé ňŕáëčöű (îďđĺäĺëĺíč˙ ěĺńňŕ đŕäŕęňčđîâŕíč˙ ) , ŕ ďđč âńňŕâęĺ íîâűő çŕďčńĺé - áóäĺň čńďîëüçîâŕňüń˙ ń÷ĺň÷čę "person_id_seq", ďđĺäîńňŕâëĺííűé áŕçîé äŕííűő č ďđčâ˙çŕííűé ę äŕíîěó ďîëţ ( ńě. ńęđčďň ńîçäŕíč˙ ÁÄ )
  • ++
  • a.photo - ňŕę ęŕę ďîęŕ íĺň ńđĺäńňâ đĺäŕęňčđîâŕíč˙ ăđŕôč÷ĺńęčő äŕííűő, âç˙ňűő ďđ˙ěî čç ÁÄ
  • ++
++

++

Âčäîčçěĺíĺíčĺ ďđîăđŕěěű ďđîńěîňđŕ ďîä âîçěîćíîĺ đĺäŕęňčđîâŕíčĺ

++

Âűęëţ÷ŕĺě çŕďđîń, ňŕę ęŕę ěĺí˙ĺňń˙ ńőĺěŕ äŕííűő :

++
++

qryPersons.active:= false

++
++

č íŕçíŕ÷ŕĺě čő persistent-ďîë˙ěč ňčďŕ "1" (íĺíŕńňđŕčâŕĺěűěč):

++

QryPersons->controller->fields.count->[...] -> îňęđűâŕĺňń˙ äčŕëîă, â ęîňîđîě - ďî î÷ĺđĺäč čç íĺçŕňĺíĺííűő ( äîńňóďíűő ) ďîëĺé ńďđŕâŕ, âűáčđŕĺě "id" č "photo" č ćěĺě ęíîďęó ńî ńňđĺëęîé âëĺâî (ďĺđĺíîńčě ďîë˙ čç ŕâňîńîçäŕâŕĺěűő ( “fielddefs” ) â đŕçđ˙ä ďîńňî˙ííűő – “fields” ), č çŕęđűâŕĺě äčŕëîă.

++

Îńňŕëüíűĺ ďîë˙ áóäóň ó÷ŕâńňâîâŕňü â îňîáđŕćĺíčč č đĺäŕęňčđîâŕíčč, ďîýňîěó äë˙ îáëĺă÷ĺíč˙ ćčçíč ( ÷ňîáű đŕáîňŕňü ń íčěč íĺ â ęîäĺ, ŕ ÷ĺđĺç äčçŕéíĺđ ) - ńäĺëŕĺě čő persistent-ďîë˙ěč ňčďŕ "2" ( âčçóŕëüíî-íŕńňđŕčâŕĺěűěč ) :

++

Đîí˙ĺě ýňč ďîë˙ čç ďŕëčňđű DBF íŕ “grdPerson” , ďîä íŕçâŕíč˙ěč ńîńňâĺňńňâóţůčő ńňîëáöîâ ňŕáëčöű :

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
Ňčď â DBF-ďŕëčňđĺ
Ńâîéńňâî "FieldName"
Ńâîéńňâî "name"
Ďîëĺ â çŕďđîńĺ ( äë˙ ńďđŕâęč )
Tmsedtringfield
feature
fldFeature
d.descr as feature
Tmsedtringfield
occupation
fldOccupation
c.descr as occupation
Tmsedtringfield
country
fldCountry
b.descr as country
Tmsedtringfield
descr
fldName
a.descr
Tmsefloatfield
sexual_potention
fldSexPotention
a.sexual_potention
Tmsebooleanfield
if_happy
fldHappy
a.if_happy
Tmsedatefield
dateofbirth
fldDateOfBirth
a.dateofbirth
Tmselongintfield
feature_id
fldFeatureId
a.feature_id
Tmselongintfield
occupation_id
fldOccupationId
a.occupation_id
Tmselongintfield
country_id
fldCountryId
a.country_id
++

Ńâîéńňâî "Dataset:= qryPersons" ó âńĺő ýňčő ďîëĺé, ďîë˙ íóćíî íŕńňđŕčâŕňü ďîî÷ĺđĺäíî.

++

Ňŕęćĺ:

++
    ++
  • óńňŕíîâčě "fldHappy.DisplayValues:= Yes;No" - ňĺďĺđü íĺň íĺîáőîäčěîńňč â ęîíńňđóęöčč "case when... end" â SQL-çŕďđîńĺ
  • ++
  • óńňŕíîâčě "fldSexPotention.DisplayFormat:=####.####" - ňĺďĺđü íĺň íĺîáőîäčěîńňč â îňáđŕáîň÷čęĺ "personsafteropen" - óäŕëčě ĺăî čç ńâîéńňâ "qryPersons", ŕ ňŕęćĺ čç ôŕéëŕ "main.pas"
  • ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • ďî čäĺĺ, ó âńĺő ďîëĺé čç âűřĺďđčâĺäĺííîé ňŕáëčöĺ íóćíî óńňŕíîâčňü "ProviderFlags->pfInWhere:= false", ÷ňîáű ďđč ŕâňîńîçäŕíčč çŕďđîńîâ íŕ čçěĺíĺíčĺ äŕííűő, çíŕ÷ĺíč˙ ýňčő ďîëĺé íĺ âęëţ÷ŕëčńü â WHERE-ôčëüňđű SQL-çŕďđîńîâ, íî â äŕííîě ńëó÷ŕĺ ýňî íĺ íóćíî, ňŕę ęŕę : ++
    • ŕâňîńîçäŕíčĺ çŕďđîńîâ íĺďđčěĺíčěî čç-çŕ ěíîăî-ňŕáëč÷íîé ďđčđîäű âűáîđęč "qryPersons" ++
    • ++
    • "qryPersons.UpdateMode:= upWhereKeyOnly", ňî ĺńňü äŕíŕ ďđ˙ěŕ˙ ęîěŕíäŕ ńňđîčňü WHERE-ôčëüňđű ňîëüęî čç ďîëĺé ń "ProviderFlags->pfInKey:= true"
    • ++
    ++
  • ++
++
    ++
  • "####.####" çäĺńü - íŕ ńŕěîě äĺëĺ ŕíŕëîăč÷íî ďđčńâîĺíčţ â ęîäĺ "DisplayFormat='##.##'" čç ăëŕâű "Îňîáđŕćĺíčĺ äŕííűő". Ďđčńâîĺíčĺ â ęîäĺ äĺëŕĺňń˙ áĺç óäâîĺíč˙ ÷čńëŕ "#", ďđč íŕçíŕ÷ĺíčč ćĺ ÷ĺđĺç đĺäŕęňîđ ńâîéńňâ ýňî óäâîĺíčĺ íóćíî ďîňîěó, ÷ňî îäčíî÷íűé ( áĺç îáđŕěëĺíč˙ â '' ) ńčěâîë "#" â ˙çűęĺ "Pascal" čńďîëüçóĺňń˙ ęŕę ďđĺôčęń ęîäîâ ńčěâîëîâ;
    ++ çŕňî ěîćíî âńňŕâë˙ňü â ôîđěŕň ęîäű ńčâîëîâ, íŕďđčěĺđ "#n" ( čëč "#13" ) - ńčěâîë ďĺđĺâîäŕ ńňđîęč , ďđč÷ĺě â ýňîě ěĺńňĺ áóäĺň đĺŕëüíî âűďîëíĺí ďĺđĺâîä ńňđîęč ( ďîëíűé ôîđěŕň äë˙ ýňîăî ńëó÷ŕ˙ áóäĺň "####.#####n" )
    ++
  • ++
  • "fldDateOfBirth .DisplayFormat" îńňŕâë˙ĺě ďóńňűě, ÷ňîáű ŕâňîěŕňč÷ĺńęč čńďîëüçîâŕëń˙ ŕäŕďňčđîâŕííűé ę ňĺęóůĺé ńčńňĺěíîé ëîęŕëč "ShortDateFormat " ( ńě. ăëŕâó "Îňîáđŕćĺíčĺ äŕííűő" )
  • ++
++

Ňĺďĺđü ěîćíî âęëţ÷čňü çŕďđîń :

++
++

qryPersons.active:= true

++
++

÷ňîáű óâčäĺňü ďî˙âčâřčĺń˙ äŕííűĺ â ňŕáëčöĺ. Ĺńëč ňĺďĺđü çŕďóńňčňü ďđîăđŕěěó (÷ĺđĺç F9), ňî óâčäčě, ÷ňî îíŕ ďîęŕ íč÷ĺě íĺ îňëč÷ŕĺňń˙ îň ďđĺäűäóůĺé ďđîđŕěěű ďđîńěîňđŕ. Íî çŕňî ěű ńĺé÷ŕń âęëţ÷čëč â ďđîăđŕěěó ňî÷ęč đĺäŕęňčđîâŕíč˙ - ěîäčôčöčđîâŕëč çŕďđîń č ńîçäŕëč persistent-ďîë˙.

++

++

Đĺŕëčçŕöč˙ đĺäŕęňčđîâŕíč˙

++

Ęŕćäóţ čç çŕďčńĺé ěîćíî :

++
    ++
  1. đĺäŕęňčđîâŕňü
  2. ++
  3. äîáŕâë˙ňü
  4. ++
  5. óäŕë˙ňü
  6. ++
++

Číčöččđîâŕňü ýňč äĺéńňâč˙ áóäĺě :

++
    ++
  1. ńďĺöčŕëüíűěč ęďîíęŕěč
  2. ++
  3. popup-menu
  4. ++
  5. ęëŕâčŕňóđíűěč ęîěáčíŕöč˙ěč
  6. ++
  7. Ęîíňĺęńíűěč ęëŕâčřŕěč
  8. ++
++

Đŕç ó íŕń ňđč ńďîńîáŕ číčöččđîâŕíč˙, çíŕ÷čň - îď˙ňü ďîíŕäîá˙ňń˙ "taction". Óđîíčě íŕ ňŕáëčöó ňđč ęîěďîíĺíňŕ "GUI -> taction" :
++

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
Name
onexecute
actEdit
editformshow
actAdd
addformshow
actDelete
deleterecord
++

Äë˙ đĺŕëčçŕöčč ńďîńîáŕ (1) - óâĺëč÷čě ěĺńňî âíčçó ôîđěű, óđîíčě ňóäŕ óđîíčě ňđč ęíîďęč (Widget -> tbutton ), č óâ˙ćĺě čő ń "taction" :

++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++
Name
Action

Caption

++
btnEdit
actEdit
&Edit..
btnAdd
actAdd
&Add..
btnDelete
actDelete
&Delete..
++

Ńâîéńňâî 'anchor" âńĺő ňđĺő ęíîďîę óńňŕíîâčě [an_bottom:= true, an_right:= true, îńňŕëüíűĺ - false], ÷ňîáű ýňč ęíîďęč äĺđćŕëčńü ďĺđâîíŕ÷ŕëüíîăî çŕçîđŕ ń íčćíčě ęđŕĺě ôîđěű ďđč čçěĺíĺíčč ĺĺ đŕçěĺđŕ.

++

Íŕçíŕ÷čě íîâűě ęíîďęŕě đŕíĺĺ ďđčí˙ňűé "ęíîďî÷íűé" ńňčëü :

++
++

óäĺđćčâŕ˙ ęëŕâčřó "Ctrl", âűáčđŕĺě âńĺ ňđč ęíîďęč "btnEdit", "btnAdd" č "btnDelete", äŕëĺĺ čäĺě â đĺäŕęňîđ ńâîéńňâ :

++
++

frame->[...]

++
    ++
  • template:= ftButtons
  • ++
++
++

âčäčě, ÷ňî ó âńĺő ęíîďîę ďî˙âčëń˙ çŕěĺňíűé áîđäţđ÷čę, ďëţń âńĺ îíč ęíîďęč îęđŕńčëčńü ń îäčí öâĺň (ńâĺňëî-ćĺëňűé, íŕçíŕ÷ĺííűé ęíîďęŕě "çŕęđűňü/îňěĺíčňü/çŕâĺđřčňü" ). Čńďđŕâčě ýňî, ďđčí˙â, ÷ňî :

++
    ++
  • öâĺň ęíîďîę "đĺäŕęňčđîâŕňü" ( Edit ) -> ńâĺňëî-çĺëĺíűé (cl_ltgreen)
  • ++
  • öâĺň íîďîę "äîáŕâčňü" ( "Add" čëč "Append" ) -> ńâĺňëî-ńčíčé (cl_ltblue)
  • ++
  • öâĺň íîďîę "óäŕëčňü" ( Delete ) -> ńâĺňëî-ęđŕńíűé (cl_ltred)
  • ++
++
++
++
++

btnEdit :

++
    ++
  • template ++
      ++
    • colorclient:= cl_ltgreen
    • ++
    ++
    ++

    âűăë˙äčň ňĺěíîâŕňűě, ďîýňîěó âűáĺđĺě íĺ čç ďŕëčňđű, ŕ ÷ĺđĺç äčŕëîă :

    ++
    ++
      ++
    • colorclient -> [...] ++
        ++
      • red:= 200
      • ++
      • green:= 255
      • ++
      • blue:= 200
      • ++
      ++
    • ++
    ++
  • ++
++
++

btnAdd :

++
    ++
  • template ++
      ++
    • colorclient:= cl_ltblue
    • ++
    ++
    ++

    ňîćĺ âűăë˙äčň ňĺěíîâŕňűě, ďîýňîěó âűáĺđĺě íĺ čç ďŕëčňđű, ŕ ÷ĺđĺç äčŕëîă :

    ++
    ++
      ++
    • colorclient -> [...] ++
        ++
      • red:= 200
      • ++
      • green:= 200
      • ++
      • blue:= 255
      • ++
      ++
    • ++
    ++
  • ++
++
++

btnDelete :

++
    ++
  • template ++
      ++
    • colorclient:= cl_ltred
    • ++
    ++
    ++

    ňîćĺ âűăë˙äčň ňĺěíîâŕňűě, ďîýňîěó âűáĺđĺě íĺ čç ďŕëčňđű, ŕ ÷ĺđĺç äčŕëîă :

    ++
    ++
      ++
    • colorclient -> [...] ++
        ++
      • red:= 255
      • ++
      • green:= 200
      • ++
      • blue:= 200
      • ++
      ++
    • ++
    ++
  • ++
++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • íĺîá˙çŕňĺëüíűĺ äâîĺňî÷č˙ â ęîíöĺ ńâîéńňŕ "caption" óäîáíű ďđîńňî äë˙ číôîđěčđîâŕíč˙ ďîëüçîâŕňĺë˙ :
    ++ "Íĺ áîéń˙ ďîďđîáîâŕňü çäĺńü - ýňî âĺäü äĺéńňâčĺ áóäĺň âűďîëíĺíî íĺ ńđŕçó č ěîë÷ŕ, ŕ ÷ĺđĺç äîďîëíčňĺëüíűĺ äčŕëîăč, çŕďđîńű č ôîđěű !"
  • ++
++

Äë˙ đĺŕëčçŕöčč ńďîńîáŕ (2) - óđîíčě íŕ ňŕáëčöó ęîěďîíĺíň :

++

Widget-> tpopupmenu

++
    ++
  • name:= pupMenu
  • ++
  • menu -> submenu -> AppendItem ++
      ++
    • item 0 : ++
        ++
      • caption:= &Edit record..
      • ++
      • action:= actEdit
      • ++
      ++
    • ++
    • item 1
    • ++
    ++
      ++
        ++
      • caption:= &Add record..
      • ++
      • action:= actAdd
      • ++
      ++
    • item2 ++
        ++
      • caption:= &Delete record..
      • ++
      • action:= actDelete
      • ++
      ++
    • ++
    ++
  • ++
++

č ńęŕćĺě ňŕáëčöĺ "ďđč ęëčęĺ ďđŕâîé ęíîďęîé - âűçűâŕé ýňî ěĺíţ" :

++
++

grdPersons.popupmenu:= pupPersons

++
++

Äë˙ đĺŕëčçŕöčč ńďîńîáŕ (3) - ďđîńňî íŕçíŕ÷čě ńâîéńňâî "shortcut" îáúĺęňîâ "taction" :

++
    ++
  • actEdit -> shortcut:= Ctrl+E
  • ++
  • actAdd -> shortcut:= Ctrl+Insert
  • ++
  • actDelete -> shortcut:= Ctrl+Delete
  • ++
++

Ńďîńîá (4) ó íŕń óćĺ đĺŕëčçîâŕí - ńě. áóęâű ďîńëĺ "&" â ńâîéńňâŕő "caption".

++

++

Ńďĺöčŕëüíŕ˙ ôîđěŕ äë˙ đĺäŕęňčđîâŕíč˙ č äîáŕâëĺíč˙

++

Ŕ ňĺďĺđü, ďî ďîđ˙äęó: ++ ++ Ňŕę ęŕę čěĺţůŕ˙ń˙ ňŕáëčöŕ ďîçâîë˙ĺň ňîëüęî ďđîńěŕňđčâŕňü äŕííűĺ, ++ ňî äë˙ čő čçěĺíĺíč˙ áóäĺě čńďîëüçîâŕňü îňäĺëüíóţ ôîđěó = đĺäŕęňîđ çŕďčńč.

++

File -> New -> Form -> Simple Form : ńîőđŕíčňü ôŕéë ďîä čěĺíĺí "editform" -> ńîçäŕĺňń˙ "editfo" ňčďŕ "teditfo". "Editfo" íĺëüç˙ ďĺđĺčěĺíîâűâŕňü.
++

++

 íčćíţţ ÷ŕńňü ýňîé ôîđěű đîí˙ĺě äâĺ ęíîďęč "Widgets->tbutton" :

++

++ Ëĺâŕ˙ ęíîďęŕ:

++
    ++
  • name = btnOk ++ // frame.template = mainfo.ftButtons
  • ++
  • caption = '&OK'
  • ++
  • modalresult = mr_ok
  • ++
++

Ďđŕâŕ˙ ęíîďęŕ:

++
    ++
  • name = btnCancel ++ // frame.template = mainfo.ftButtons
  • ++
  • caption = '&Cancel'
  • ++
  • modalresult = mr_cancel
  • ++
++

Đŕç ďî˙âčëčńü íîâűĺ ęíîďęč - çíŕ÷čň, ďîđŕ čě íŕçíŕ÷čňü íŕř "ęíîďî÷íűé" ńňčëü. Ęíîďęŕ "btnCance", ęŕę ęíîďęŕ îňěĺíű äîëćíŕ čěĺňü ńâĺňëî-ćĺëňűé öâĺň ( ďî-óěîë÷ŕíčţ äë˙ ęíîďîę ), ŕ ęíîďęŕ "btnOk" ( ęíîďęŕ ăîňîâíîńňč/ďîäňâĺđćäĺíč˙ ) - ďóńňü áóäĺň ńâĺňëî-öčŕíîâîăî öâĺňŕ :

++
++

btnOk :

++
    ++
  • frame->[...]
  • ++
  • template:= mainfo.ftButtons
  • ++
  • colorclient:= cl_ltcyan
  • ++
++

btnCancel :

++
    ++
  • frame->[...]
  • ++
  • template:= mainfo.ftButtons
  • ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • îáđŕňčňĺ âíčěŕíčĺ, ÷ňî ěű ďđîďčńŕëč ęíîďî÷íűé ńňčëü, ńîçäŕííűé č îďčńŕííűé íŕ äđóăîé ôîđěĺ !
  • ++
++
++

Íĺďóńňűĺ çíŕ÷ĺíč˙ "modalresult" ăîâîđ˙ň î ňîě, ++ ÷ňî ůĺë÷îę íŕ ňŕęîé ęíîďęĺ çŕęđűâŕĺň ôîđěó, ++ ďîńëĺ ÷ĺăî ôóíęöč˙ ďîęŕçŕ ôîđěű <Ôîđěŕ>.show(true) ( áóäĺň čńďîëüçîâŕíŕ íčćĺ ďî ňĺęńňó ) âĺđíĺň ńîîňâĺňńňâóţůĺĺ ++ çíŕ÷ĺíčĺ "mr_ok" čëč "mr_cancel", ęîňîđîĺ çŕňĺě ěîćíî čńďîëüçîâŕňü äë˙ ďđčí˙ňč˙ ++ đĺřĺíč˙.

++

Äîáŕâëĺíčĺ íîâîé çŕďčńč ěîćĺň áűňü đĺŕëčçîâŕíî ęŕę äîáŕâëĺíčĺ ( append ) ďóńňîé çŕďčńč ń ďîńëĺäóţůčě đĺäŕęňčđîâŕíčĺě ĺĺ ďîëĺé, ňî ĺńňü - ěű ěîćĺě čńďîëüçîâŕňü îäíó č ňó ćĺ ôîđěó äë˙ đĺäŕęňčđîâŕíč˙ č äîáŕâëĺíč˙ äŕííűő .

++

Ýňŕ ôîđěŕ äîëćíŕ ďîęŕçűâŕňüń˙ ďî ęîěŕíäĺ íŕ đĺäŕęňčđîâŕíčĺ ( čëč äîáŕâëĺíčĺ ) - â ěĺňîäŕő îáúĺęňîâ "actEdit" č "actAdd" , íŕőîä˙ůčőń˙ íŕ îńíîâíîé ôîđěĺ "mainfo":

++

Čçěĺíĺíč˙ â ôŕéëĺ "main.pas"

++
++

procedure tmainfo.editformshow(const sender: TObject);
++ begin
++  try
++   with qryPersons do begin
++    edit; // ďĺđĺâîäčě "qryPerson" â đĺćčě đĺäŕęňčđîâŕíč˙ ňĺęóůĺé çŕďčńč
++    application.createform(teditfo,editfo); // ěîäŕëüíűé ďîęŕç "editfo"
++    // ďîęŕçŕňü, ÷ňî čěĺííî đĺäŕęňčđîâŕíčĺ, ŕ íĺ äîáŕâëĺíčĺ
++    editfo.caption:= ' Editing a person => '+ fldName.asstring;
++
++    case editfo.show(true) of
++      mr_ok: begin // "editfo" çŕęđűňŕ ęíîďęîé ń ęîäîě "mr_ok"
++      // çäĺńü áóäĺň ęîä çŕďčńč â ÁÄ + ďĺđâűáîđęč
++      end else begin // "editfo" çŕęđűňŕ ęíîďęîé ń ęîäîě, îňëč÷íűě îň "mr_ok"
++       cancel; // îňęŕçŕňüń˙ îň ďîäăîňîâëĺííűő ę çŕďčńč â ÁÄ čçěĺíĺíčé
++      end;
++    end;
++
++   end;
++  finally
++   editfo.free; // ďđč ëţáîě čńőîäĺ - óäŕëčňü "editfo" čç ďŕě˙ňč
++  end;
++ end;

++

// äîáŕâčňü ěĺňîä ÷ĺđĺç äâîéíîé ęëčę â ďîëĺ "actAdd->onexecute"
++ // Ďđîöĺäóđŕ äîáŕâëĺíč˙ íîâîé çŕďčńč :
++ //
++ procedure tmainfo.addformshow(const sender: TObject);
++ begin
++
++  try
++   with qryPersons do begin
++ // âńňŕâčňü â đĺäŕęňčđóĺěóţ ňŕáëčöó ďóńňóţ ńňđîęó,
++ // č ňóň ćĺ âîéňč â đĺćčě ĺĺ đĺäŕęňčđîâŕíč˙
++    append;
++    application.createform(teditfo,editfo);
++    editfo.caption:= ' Adding a new person';
++
++    case editfo.show(true) of
++     mr_ok: begin
++      // çäĺńü áóäĺň ęîä çŕďčńč â ÁÄ + ďĺđâűáîđęč
++      end else begin
++       cancel; // îňęŕçŕňüń˙ îň äîáŕâëĺíč˙
++ ++      end;    
++     end;
++
++    end;
++   finally
++    editfo.free;
++   end;
++
++ end;

++

 

++
++

Ęŕę âčäíî, ýňč äâĺ ďđîöĺäóđű îňëč÷ŕţňń˙ ňîëüęî :

++
    ++
  • ďĺđâîé îďĺđŕöčĺé ń ňŕáëčöĺé : ++
    ++
      ++
    • đĺäŕęňčđîâŕíčĺ : qryPersons.edit;
    • ++
    • äîáŕâëĺíčĺ : qryPersons.append.
      ++
    • ++
    ++
  • ++
  • ďîäńęŕçęîé î ňîě, ÷ňî ěű čěĺííî äĺëŕĺě - editfo.caption
  • ++
++

Óäŕëĺíčĺ ňĺęóůĺé çŕďčńč íĺ ňđĺáóĺň íčęŕęčő äîďîëíčňĺëüíűő ôîđě - äîńňŕňî÷íî îáîéňčńü âűâîäîě äčŕëîăŕ äë˙ ďîäňâĺđćäĺíč˙ đĺřĺíč˙ íŕ óäŕëĺíčĺ. Ďîýňîěó - ĺůĺ čçěĺíĺíč˙ â ôŕéëĺ "main.pas" :

++
++

implementation

++

uses
++   main_mfm,
++   editform, // äë˙ äîńňóďŕ ę "editfo"
++   msewidgets // ÷ňîáű ěîćíî áűëî čńďîëüçîâŕňü äčŕëîăč "showmessage", "askyesno", ..
++ ;

++

...( ďđîöĺäóđű đĺäŕęňčđîâŕíč˙ č äîáŕâëĺíč˙ )

++

procedure tmainfo.deleteprson(const sender: TObject);
++ begin
++  if askyesno('Are you a nut ???','Deletion request',mr_no,200) then begin
++   with qryPersons do begin
++ ++    delete;
++   end;
++  end;
++ end;

++
++

++

Ńďîńîáű íĺďîńđĺäńňâĺííîăî đĺäŕęňčđîâŕíč˙ ňĺęóůĺé çŕďčńč

++

Ńĺđâčń đĺäŕęňčđîâŕíč˙ ďîëĺé ňĺęóůĺé çŕďčńč áŕçîâîé ňŕáëčöű ("persons") îáĺńďĺ÷čâŕĺňń˙ ńëĺäóţůčěč ++ ęîěďîíĺíňŕěč ďŕëčňđű "DB" :

++
    ++
  1. ňĺęcňîâűĺ ďîë˙ ( âđîäĺ "descr" ) -> ÷ĺđĺç ęîěďîíĺíň "tdbstringedit"
  2. ++
  3. ëîăč÷ĺńęčĺ ďîë˙ ( âđîäĺ "if_happy" ) -> ÷ĺđĺç ęîěďîíĺíňű "tdbbooleantextedit" ë"tdbbooleanedit"
  4. ++
  5. öĺëî÷čńëĺííűĺ ďîë˙ ( íĺň â íŕřĺé çŕäŕ÷ĺ ) -> ÷ĺđĺç ęîěďîíĺíň "tdbintegeredit"
  6. ++
  7. ďîë˙ äë˙ çíŕ÷ĺíčé ń ďëŕâŕţůĺé ňî÷ęîé ( âđîäĺ "sexual_potention" ) -> ÷ĺđĺç ęîěďîíĺíň "tdbstringedit"
  8. ++
  9. ńńűëęč íŕ ńňđîęč â äđóăčő ňŕáëčöŕő ( âđîäĺ "country_id" ) -> "tdbenumeditlb" č "tenumeditlb"
  10. ++
  11. .. äđóăčĺ ďîęŕ íĺ đŕńńěŕňđčâŕĺě ..
  12. ++
++

Ďđčěĺ÷ŕíčĺ:

++
++

Ęîăäŕ ńëĺäóĺň čńďîëüçîâŕňü ÷čńëîâűĺ ďîë˙ âěĺńňî ńňđîęîâűő ( âĺäü č ÷čńëŕ, č áóęâű, ďî ńâîĺé ďđčđîäĺ - ńčěâîëű ) ? ++ Îňâĺň - ňîăäŕ, ęîăäŕ čő çíŕ÷ĺíč˙ ěîăóň áűňü čńďîëüçîâŕíű â ŕđčôěĺňč÷ĺńęčő âűđŕćĺíč˙ő.

++
++

Ďĺđĺ÷čńëĺííűĺ ęîěďîíĺíňű íŕďđ˙ěóţ ěĺí˙ţň çíŕ÷ĺíčĺ ńîîňâĺňńňâóţůĺăî ďîë˙ ńňđîęč ÁÄ. ++ Íî áűâŕĺň č äđóăŕ˙ ďîňđĺáíîńňü - çŕăđóçčňü ńďčńîę çíŕ÷ĺíčé čç ÁÄ, íî, ďîńëĺ âűáîđŕ â ńďčńęĺ - ++ íĺ çŕďčńűâŕňü âűáđŕííîĺ çíŕ÷ĺíčĺ îáđŕňíî â ÁÄ, ŕ čńďîëüçîâŕňü ďî äđóăîěó - â ďđîöĺäóđĺ ôčëüňđŕöčč, č ň.ď. ++ Ďđčěĺđ ňŕęîăî ęîěďîíĺíňŕ - "tenumeditlb". Ýňî ęîěďîíĺíň ó íŕń áóäĺň čńďîëüçîâŕí äë˙ ńóćĺíč˙ ++ ďîčńęŕ ńňđŕíű ďî âűáđŕííîěó ŕňđčáóňó "ęîíňčíĺíň".

++

Ęîěďîíĺíňű "tdbenumeditlb" č "tenumeditlb" (ęŕę č âńĺ ń čěĺíŕěč ňčďŕ ++ "t..(datatype)lb" ) íóćäŕţňń˙ â ńďĺöčŕëüíîě ęîěďîíĺíňĺ äë˙ őđŕíĺíč˙ ńďčńęîâ çíŕ÷ĺíčé - ++ ňŕę íŕçűâŕĺěűő "lookup buffers". Ĺńëč ňŕęîé "buffer" çŕďîëí˙ĺňń˙ čç ÁÄ - ýňî ęîěďîíĺíň "tdblookupbuffer", ++ ŕ ĺńëč âđó÷íóţ - "tlookupbuffer" .
++ Î÷ĺíü âŕćíűé ńĺđâčń ýňčő "áóôĺđîâ" - ńčíőđîíčçčđîâŕííîńňü íĺńęîëüęčő ++ ńňîëáöîâ äŕííűő, äŕćĺ đŕçíîăî ňčďŕ, ÷ňî ďîçâîë˙ĺň âűáđŕňü, íŕďđčěĺđ, ňĺęńňîâűé ńňîëáĺö äë˙ çŕďîëíĺíč˙ ńďčńęŕ ++ ňĺęńňîâűő çíŕ÷ĺíčé ( íŕçâŕíčé ńňđŕí č ň.ď.), ŕ â ěîěĺíň âűáîđŕ â ýňîě ńďčńęĺ - çŕôčęńčđîâŕňü ++ ńîîňâĺňńňâóţůčé âűáđŕííîěó íŕçâŕíčţ ńňŕíű ęëţ÷ ńňđîęč â ňŕáëčöĺ ńňđŕí, č ň.ď.

++

++

Data Module

++

Ňĺďĺđü íŕäî đĺřčňü - îňęóäŕ áđŕňü äŕííűĺ äë˙ çŕďîëíĺíč˙ ýňčő "áóôĺđîâ" ( ńďčńîę ŕňđčáóňîâ ), Íĺďëîőî áű ňŕęćĺ ďđĺäóńěîňđĺňü âîçěîćíîńňü đĺäŕęňčđîâŕíč˙ ńîäĺđćčěîăî ýňčő ńďčńęîâ - äë˙ ęŕćäîăî čç ęîňîđűő ďîňđĺáóĺňń˙ ńâî˙ îňäĺëüíŕ˙ ôîđěŕ.
++ Čňîăî, ďîëó÷ŕĺňń˙, ÷ňî îäíč č ňĺ äŕííűĺ ěîăóň ďîňđĺáîâŕňüń˙ â đŕçíűő ěĺńňŕő ďđîăđŕěěű, ŕ čěĺííî - â âčäĺ ńďčńęîâ äë˙ đĺäŕęňčđîâŕíč˙ äŕííűő î ďĺđńîíĺ (â ňŕáëčöĺ "persons" ), č â âčäĺ ňŕáëčö äë˙ đĺäŕęňčđîâŕíč˙ ńŕěčő ńďčńęîâ. Ďîýňîěó ýňč ńďčńî÷íűĺ äŕííűĺ :

++
    ++
  1. óäîáíĺĺ ńäĺëŕňü ăëîáŕëüíî-äîńňóďíűěč;
  2. ++
  3. âűáčđŕňü íóćíî îäčí đŕç č â îäíîě ěĺńňĺ, ÷ňîáű čçěĺíĺíč˙ â đĺçóëüňŕňĺ đĺäŕęňčđîâŕíč˙ ňóň ćĺ ńňŕëč áű âčäíű â ěĺńňŕő ďđîńěîňđŕ.
  4. ++
++

Äë˙ ýňčő öĺëĺé čäĺŕëüíî ďîäőîä˙ň ňŕę íŕçűâŕĺěűĺ "data modules".

++

File -> New -> Form -> Data Module : ńîőđŕíčňü ôŕéë ďîä čěĺíĺí "refsdatamodule" -> ńîçäŕĺňń˙ "refsdatamo" ňčďŕ "trefsdatamo". "refdatamo" íĺëüç˙ ďĺđĺčěĺíîâűâŕňü.

++

Äŕëĺĺ - íŕáđîńŕňü íŕ ôîđěó äŕňŕ-ěîäóë˙ ńëĺäóţůčĺ ęîěďîíĺíňű ń ďŕëčňđű "DB" :

++
Ńďčńîę ďëŕíĺň
++
++

tmsesqlquery (1) :

++
    ++
  • Name = qryPlanets
  • ++
  • Database = mainfo.conn
  • ++
  • SQL = 'select * from planets order by id;
  • ++
  • UsePrimaryKeyAsKey = False
  • ++
  • controller.fields.fields => "Append Item"
      ++
    • item 0 ++
        ++
      • FieldName = 'id'
      • ++
      • ProviderFlags = [pfInKey]
      • ++
      ++
    • ++
    • item 1 ++
        ++
      • FieldName = 'descr'
      • ++
      ++
    • ++
    ++ ProviderFlags = [pfInUpdate]
  • ++
  • Active = True
  • ++
++
++
++

tmsedatasource (1) :

++
    ++
  • Name = dsPlanets
  • ++
  • DataSet = qryPlanets
  • ++
++
++
++

tdblookupbuffer (1) :

++
    ++
  • Name = lbufPlanets
  • ++
  • datasource = dsPlanets
  • ++
  • textfields.items ++
      ++
    • item 0 = 'descr' // ńďčńîę íŕçâŕíčé ďëŕíĺň
    • ++
    ++
  • ++
  • integerfields.items ++
      ++
    • item 0 = 'id'    // ńďčńîę íîěĺđîâ ďëŕíĺň
    • ++
    ++
  • ++
++
++
 
++
Ńďčńîę ęîíňčíĺíňîâ
++
++

tmsesqlquery (2) :

++
    ++
  • Name = qryContinents
  • ++
  • BeforeOpen = qrycontinentsbeforeopen // EVENT PROCESSING !
  • ++
  • Database = mainfo.conn
  • ++
  • SQL = 'select * from continents order by id;'
  • ++
  • UsePrimaryKeyAsKey = False
  • ++
  • controller.fields.fields => "Append item"
      ++
    • item 0 ++
        ++
      • FieldName = 'id'
      • ++
      • ProviderFlags = [pfInKey]
      • ++
      ++
    • ++
    • item 1 ++
        ++
      • FieldName = 'planet_id'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    • item 2 ++
        ++
      • FieldName = 'descr'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    ++
  • ++
  • Active = True
  • ++
++
++
++

 

++

Ńëĺäóţůčé ęîä - äë˙ ăŕđŕíňčč ňîăî, ÷ňî äŕííűĺ î ďëŕíĺňŕő áóäóň äîńňóďíű ďĺđĺä âűáîđęîé äŕííűő î ęîíňčíĺíňŕő ( îďčńŕíč˙ ęîíňčíĺíňîâ ńîäĺđćŕň ńńńűëęč íŕ ďëŕíĺňű ) :

++

Óńňŕíîâčňü "refsdatamodule.pas-> qryContinents -> beforeopen:= qrycontinentsbeforeopen", č îďčńŕňü ęîä :

++

procedure trefsdatamo.qrycontinentsbeforeopen(DataSet: TDataSet);
++    begin qryPlanets.active:= true;
++ end;

++

Ýňî ęîä íóćĺí â ňîě ńëó÷ŕĺ, ĺńëč ńďčńîę ďëŕíĺň ěîćĺň čçěĺíčňüń˙ âî âđĺě˙ čńďîëüçîâŕíč˙ ńďčńęŕ ęîíňčíĺíňîâ (ďđĺäóńěîňđĺíî đĺäŕęňčđîâŕíčĺ ďëŕíĺň).

++
++
++

tmsedatasource (2) :

++
    ++
  • Name = dsContinents
  • ++
  • DataSet = qryContinents
  • ++
++
++

 

++
++

tdblookupbuffer (2) :

++
    ++
  • Name = lbufContinents
  • ++
  • datasource = dsContinents
  • ++
  • textfields.items => "Append Item"
      ++
    • item 0 = 'descr' // ńďčńîę íŕçâŕíčé ęîíňčíĺíňîâ
    • ++
    ++
  • ++
  • integerfields.items => "Append Item"
      ++
    • item 0 = 'id' // ńďčńîę íîěĺđîâ ęîíňčíĺíňîâ
    • ++
    • item 1 = 'planet_id' // ńńűëęč íŕ ňŕáëčöó "planets"
    • ++
    ++
  • ++
++
++

 

++

Íĺńęîëüęî ńëîâ î "lbufContinents" :

++
    ++
  • "integerfields" ńîäĺđćčň äîďîëíčňĺëüíîĺ ďîëĺ "planet_id", ďî ęîňîđîěó áóäĺň âűďîëí˙ňü îňôčëüňđîôęŕ ďî ďëŕíĺňĺ
  • ++
++
 
++
Ńďčńîę ńňđŕí
++
++

tmsesqlquery (3) :

++
    ++
  • Name = qryCountries
  • ++
  • BeforeOpen = qrycountriesbeforeopen // EVENT PROCESSING !
  • ++
  • Database = mainfo.conn
  • ++
  • SQL = 'select * from countries order by id;'
  • ++
  • UsePrimaryKeyAsKey = False
  • ++
  • controller.fields.fields => "Append Item"
      ++
    • item 0 ++
        ++
      • FieldName = 'id'
      • ++
      • ProviderFlags = [pfInKey]
      • ++
      ++
    • ++
    • item 1 ++
        ++
      • FieldName = 'continent_id'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    • item 2 ++
        ++
      • FieldName = 'descr'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    ++
  • ++
  • Active = True
  • ++
++
++
++

 

++

Ńëĺäóţůčé ęîä - äë˙ ăŕđŕíňčč ňîăî, ÷ňî äŕííűĺ î ęîíňčíĺíňŕő áóäóň äîńňóďíű ďĺđĺä âűáîđęîé äŕííűő î ńňđŕíŕő ( îďčńŕíč˙ ńňđŕí ńîäĺđćŕň ńńńűëęč íŕ ęîíňčíĺíňű ) :

++
++

Óńňŕíîâčňü "refsdatamodule.pas-> qryCountries -> beforeopen:= qrycountriesbeforeopen", č îďčńŕňü ęîä :

++

procedure trefsdatamo.qrycountriesbeforeopen(DataSet: TDataSet);
++    begin qryContinents.active:= true;
++ end;

++
++

Ýňîň ęîä íóćĺí â ňîě ńëó÷ŕĺ, ĺńëč ńďčńîę ęîíňčíĺíňîâ ěîćĺň čçěĺíčňüń˙ âî âđĺě˙ čńďîëüçîâŕíč˙ ńďčńęŕ ńňđŕí ( ĺńëč ďđĺäóńěîňđĺíî đĺäŕęňčđîâŕíčĺ ďëŕíĺň ).

++

Čńďîëüçóĺěűé ęŕę ďŕđŕěĺňđ ňčď "TDataSet" ++ îďđĺäĺëĺí â ôŕéëĺ "db.pp" čç ęîěďëĺęňŕ FPC, ďîýňîěó ýňîň ôŕéë íóćíî äîáŕâčňü â "refsdatamodule.pas" -> interface -> uses :

++
++

interface
++   uses
++   msegui,mseclasses,mseforms,msesqldb,msedb,mselookupbuffer,
++   db
++ ;

++
++

Ďî÷ĺěó "interface" ÷ŕńňü ? Ďîňîěó ÷ňî "refsdatamodule -> qryCountries -> beforeopen" äîáŕâčëŕ îáú˙âëĺíčĺ "qrycountriesbeforeopen" ńďĺđâŕ â interface-÷ŕńňü refdatamodule.pas

++
++
++

tmsedatasource (3) :

++
    ++
  • Name = dsCountries
  • ++
  • DataSet = qryCountries
  • ++
++
++

 

++
++

tdblookupbuffer (3) :

++
    ++
  • Name = lbufCountries
  • ++
  • datasource = dsCountries
  • ++
  • textfields.items => "Append Item"
      ++
    • item 0 = 'descr' // ńďčńîę íŕçâŕíčé ńňđŕí
    • ++
    ++
  • ++
  • ++
    integerfields.items => "Append Item"
      ++
    • item 0 = 'id' // ńďčńîę íîěĺđîâ ńňđŕí
    • ++
    • item 1 = 'continent_id // ńńűëęč íŕ ňŕáëčöó "continents"
    • ++
    ++
    ++
  • ++
++
++

 

++

Íĺńęîëüęî ńëîâ î "lbufCountries" :

++
    ++
  • "integerfields" ńîäĺđćčň äîďîëíčňĺëüíîĺ ďîëĺ "continent_id", ďî ęîňîđîěó áóäĺň âűďîëí˙ňü îňôčëüňđîôęŕ ďî ęîíňčíĺíňó
  • ++
++
 
++
Ńďčńîę ďđîôĺńńčé
++
++
++

tmsesqlquery (4) :

++
    ++
  • Name = qryOccupations
  • ++
  • Database = mainfo.conn
  • ++
  • SQL = 'select * from occupations order by id;'
  • ++
  • UsePrimaryKeyAsKey = False
  • ++
  • controller.fields.fields => "Append Item"
      ++
    • item 0 ++
        ++
      • FieldName = 'id'
      • ++
      • ProviderFlags = [pfInKey]
      • ++
      ++
    • ++
    • item 1 ++
        ++
      • FieldName = 'descr'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    • Active = True
    • ++
    ++
  • ++
++
++

tmsedatasource (4) :

++
    ++
  • Name = dsOccupations
  • ++
  • DataSet = qryOccupations
  • ++
++
++

 

++
++

tdblookupbuffer (4) :

++
    ++
  • Name = lbufOccupations
  • ++
  • datasource = dsOccupations
  • ++
  • textfields.items => "Append Item"
      ++
    • item 0 = 'descr' // ńďčńîę íŕçâŕíčé ďđîôĺńńčé
    • ++
    ++
  • ++
  • integerfields.items => "Append Item" ++
      ++
    • item 0 = 'id' // ńďčńîę íîěĺđîâ ďđîôĺńńčé
    • ++
    ++
  • ++
++
++

 

++
Ńďčńîę ÷ĺđň őŕđŕęňĺđŕ
++
++

tmsesqlquery (5) :

++
    ++
  • Name = qryFeatures
  • ++
  • Database = mainfo.conn
  • ++
  • SQL = 'select * from features order by id;'
  • ++
  • UsePrimaryKeyAsKey = False
  • ++
  • controller.fields.fields => "Append Item"
      ++
    • item 0 ++
        ++
      • FieldName = 'id'
      • ++
      • ProviderFlags = [pfInKey]
      • ++
      ++
    • ++
    • item 1 ++
        ++
      • FieldName = 'descr'
      • ++
      • ProviderFlags = [pfInUpdate]
      • ++
      ++
    • ++
    ++
  • ++
  • Active = True
  • ++
++
++

 

++
++

tmsedatasource (5) :

++
    ++
  • Name = dsFeatures
  • ++
  • DataSet = qryFeatures
  • ++
++
++

 

++
++

tdblookupbuffer (5) :

++
    ++
  • Name = lbufFeatures
  • ++
  • datasource = dsFeatures
  • ++
  • textfields.items => "Append Item"
      ++
    • item 0 = 'descr'
    • ++
    ++
  • ++
  • integerfields.items => "Append Item"
      ++
    • item 0 = 'id'
    • ++
    ++
  • ++
++
++

 

++

Ďđčěĺ÷ŕíč˙ :

++
++

pfInKey -> íóćíî äë˙ ŕâňîěŕňč÷ĺńęîé çŕďčńč ÂŃĹÉ îňđĺäŕęňčđîâŕííîé ńňđîęč â ÁÄ; äŕííűé ďŕđŕěĺňđ ăîâîđčň "äŕííîĺ ďîëĺ íĺńĺň â ńĺáĺ ęëţ÷ ( čëč îäčí čç ęëţ÷ĺé ńňđîęč), ňî ĺńňü îäíîçíŕ÷íî ĺĺ čäĺíňčôčöčđóĺň" ; ńěűńë - ÷ňîáű íĺ čńďîđňčňü äđóăóţ ńňđîęó, íóćíî âńĺăäŕ çíňü, ăäĺ íŕőîäčřüń˙

++

pfInUpdate -> íóćíî äë˙ çŕďčńč íîâîăî çíŕ÷ĺíč˙ äŕííîăî ďîë˙ â ěîěĺíň ŕâňîěŕňč÷ĺńęîé çŕďčńč âńĺé ńňđîęč, číŕ÷ĺ čçěĺíĺíč˙ ďđč đĺäŕęňčđîâŕíčč áóäóň ďđîčăíîđčđîâŕíű

++

UsePrimaryKeyAsKey:=False -> ďđčęŕç íĺ ďűňŕňüń˙ ŕâňîěŕňč÷ĺńęč îďđĺäĺëčňü ďîëĺ ń óíčęŕëüíűě ęëţ÷îě, âĺäü ěű ńŕěč óęŕçűâŕĺě ęëţ÷ĺâîĺ ďîëĺ, ńě. pfInKey

++

integerfields.* -> ďîë˙ ń ęëţ÷ŕěč č ńńűëęŕěč íŕ ęëţ÷č

++

textfields.* -> ďîë˙ ń ňĺęńňîâűěč çíŕ÷ĺíč˙ěč, ńâ˙çŕííűĺ ń ęëţ÷ĺâűěč ďîë˙ěč

++

"... order by id" âî âńĺő çŕďđîńŕő - ÷ňîáű ăŕđŕíňčđîâŕňü ďđĺćíčé ďîđ˙äîę çŕďčńĺé ďîńëĺ đĺäŕęňčđîâŕíč˙ ( číŕ÷ĺ ńĺđâĺđ ÁÄ ěîćĺň äŕňü ďîđ˙äîę ďî âđĺěĺíč čçěĺíĺíč˙ )

++

 

++
++

Ăîňîâűé "refsdatamo" âűăë˙äčň ńëĺäóţůčě îáđŕçîě :

++

++

 

++

Ňĺďĺđü íóćíî đĺřčňü, â ęŕęîé ěîěĺíň ńîçäŕâŕňü ýňîň "datamodule" âî âđĺě˙ đŕáîňű ăîňîâîăî ďđčëîćĺíč˙, číŕ÷ĺ đŕçěĺůĺííűĺ íŕ íĺě ęîěďîíĺíňű áóäóň íĺäîńňóďíű. Íŕëčöî äâŕ âŕđčŕíňŕ :

++
    ++
  1. ńđŕçó ďđč çŕďóńęĺ ďđčëîćĺíč˙ - ďđîůĺ, íî ěîćĺň áĺç íĺîáőîäčěîńňč îňúĺńňü ďŕě˙ňü, ĺńëč íĺ ďëŕíčđóĺňń˙ íčęŕęîăî đĺäŕęňčđîâŕíč˙
    ++
  2. ++
  3. ďî ěĺđĺ íĺîáőîäčěîńňč - ďđč đĺäŕęňčđîâŕíčč äŕííűő, čńďîëüçóţůĺě ĺăî ęîěďîíĺíňű, ďđč ýňîě ďîäđŕçóěĺâŕĺňń˙, ÷ňî ýňîň "datamodule" áóäĺň óäŕë˙ňüń˙ ńđŕçó, ęŕę ňîëüęî ńňŕíĺň íĺíóćíűě.
  4. ++
++

Ěű áóäĺě čńďîëüçîâŕňü âŕđčŕíň (2) ęŕę áîëĺĺ "ďđîäâčíóňűé".

++

Ńđŕçó âčäíî, ÷ňî "datamodule" äîëćĺí ńîçäŕâŕňüń˙ äë˙ öĺëĺé đĺäŕęňčđîâŕíč˙/äîáŕâëĺíč˙ ń čńďîëüçîâŕíčĺě ôîđěű "editfo", ňî ĺńňü íĺďîńđĺäńňâĺííî ďĺđĺä ńîçäŕíčĺě "editfo"

++
++

Óńňŕíîâčňü "editform.pas->editfo->oncreate:= editfocreated", č îďčńŕňü ęîä :

++

procedure teditfo.editfocreated(const sender: TObject);
++ begin
++   application.createdatamodule(trefsdatamo, refsdatamo);
++ end;

++
++

č óäŕë˙ňüń˙ čç ďŕě˙ňč ńđŕçó âńëĺä çŕ îńâîáîćäĺíčĺě ôîđěű :

++
++

Óńňŕíîâčňü "editform.pas->editfo->ondestroy:= editfodestroyed", č îďčńŕňü ęîä :

++

procedure teditfo.editfodestroyed(const sender: TObject);
++ begin
++   refsdatamo.free;
++ end;

++
++

Íĺ çŕáóäüňĺ âęëţ÷čňü "refsdatamodule" â "editform.pas" -> implementation -> uses :

++
++

uses
++   editform_mfm,
++   refsdatamodule
++ ;

++
++

Ĺńëč âńĺ "qry(*).Active:=true" îňđŕáîňŕëč íîđěŕëüíî - âîçâđŕůŕĺěń˙ íŕ "editfo".
++

++

Ęîěďîíĺíňű äë˙ đĺäŕęňčđîâŕíč˙ ďîëĺé

++

Óđîíčě íŕ "editfo" ęîěďîíĺíňű, ďđĺäíŕçíŕ÷ĺííűĺ äë˙ đĺäŕęňčđîâŕíč˙ ++ îňäĺëüíűő ďîëĺé ňĺęóůĺé çŕďčńč ÁÄ.

++
++
++
++

tdbstringedit (1)

++
    ++
  • Name:= seName
  • ++
  • frame ++
      ++
    • caption = 'Name'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • ++
  • datasource = mainfo.dsPersons
  • ++
  • datafield = 'descr'
  • ++
++
++

++

tenumeditlb (1)

++
    ++
  • Name:= cbPlanets
  • ++
  • frame ++
      ++
    • caption = 'Planet'
    • ++
    ++
  • ++
  • onsetvalue = othercontinent
  • ++
  • dropdown ++
      ++
    • lookupbuffer = refsdatamo.lbufContinents
    • ++
    • keyfieldno: = 0 // refsdatamo.lbufPlanets's integerfields[0]
    • ++
    • cols ++ // ęŕęîé čç textfields[i] çŕíîńčňü â âűďŕäŕţůčé ńďčńîę ++
        ++
      • item 0 ++
          ++
        • fieldno:= 0 // refsdatamo.lbufPlanets's textfields[0]
        • ++
        ++
      • ++
      ++
    • ++
    • valuecol:= 0 // ŕíŕëîăč÷íî "keyfieldno"
    • ++
    ++
  • ++
++
++

tenumeditlb (2)

++
    ++
  • Name:= cbContinents
  • ++
  • frame ++
      ++
    • caption = 'Continent'
    • ++
    ++
  • ++
  • onsetvalue = othercontinent
  • ++
  • dropdown ++
      ++
    • lookupbuffer = refsdatamo.lbufContinents
    • ++
    • keyfieldno: = 0 // refsdatamo.lbufContinents's integerfields[0]
    • ++
    • cols ++
        ++
      • item 0 ++
          ++
        • fieldno:= 0 // refsdatamo.lbufContinents's textfields[0]
        • ++
        ++
      • ++
      ++
    • ++
    • onfilter = continentsfilter
    • ++
    ++ valuecol:= 0 // ŕíŕëîăč÷íî "keyfieldno"
  • ++
++
++

 

++
++
++
++

tdbenumeditlb (1)

++
    ++
  • Name:= cbCountries
  • ++
  • frame ++
      ++
    • caption = 'Country'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • ++
  • ondataentered = countryentered
  • ++
  • datafield = 'country_id'
  • ++
  • datasource = mainfo.dsPersons
  • ++
  • dropdown ++
      ++
    • lookupbuffer = refsdatamo.lbufCountries
    • ++
    • optionslb = [olb_copyitems]
    • ++
    • keyfieldno: = 0 // refsdatamo.lbufCountries's integerfields[0]
    • ++
    • cols ++
        ++
      • item 0 ++
          ++
        • fieldno:= 0 // refsdatamo.lbufCountries's textfields[0]
        • ++
        ++
      • ++
      ++
    • ++
    • onfilter = countriesfilter
    • ++
    ++
  • ++
++
++

tdbenumeditlb (2)

++
    ++
  • Name:= cbOccupations
  • ++
  • frame ++
      ++
    • caption = 'Occupation'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • ++
  • ondataentered = occupationentered
  • ++
  • datafield = 'occupation_id'
  • ++
  • datasource = mainfo.dsPersons
  • ++
  • dropdown ++
      ++
    • lookupbuffer = refsdatamo.lbufOccupations
    • ++
    • keyfieldno: = 0 // refsdatamo.lbufOccupations's integerfields[0] ++
    • ++
    ++
  • ++
      ++
    • cols ++
    • ++
    ++
      ++
        ++
      • item 0 ++
          ++
        • fieldno:= 0 // refsdatamo.lbufOccupations's textfields[0]
        • ++
        ++
      • ++
      ++
    ++
++
++ ++ ++

tdbenumeditlb (3)

++
    ++
  • Name:= cbFeatures
  • ++
  • frame ++
      ++
    • caption = 'Feature'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • ++
  • ondataentered = featureentered
  • ++
  • datafield = 'feature_id'
  • ++
  • datasource = mainfo.dsPersons
  • ++
  • dropdown ++
      ++
    • lookupbuffer = refsdatamo.lbufFeatures
    • ++
    • cols ++
        ++
      • item 0
      • ++
      ++
    • ++
    ++ fieldno:= 0 // refsdatamo.lbufFeatures's textfields[0]
  • ++
++
++ ++ ++

 

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • Îňëč÷č˙ íŕńňđîĺę "tdbenumeditlb" č "tenumeditlb": ++
      ++
    • tenumeditlb -> âűőîäíîĺ çíŕ÷ĺíčĺ íŕőîäčňń˙ â ńâîéńňâĺ "<tenumeditlb>.value"; ďî ýňîé ďđč÷číĺ ó ýňčő ęîěďîíĺíňîâ äîëćíî áűňü ďđŕâčëüíî âűńňŕâëĺíî ńâîéńňâî "<dropdown>.valuecol"
    • ++
    • tdbenumeditlb -> âűáđŕííîĺ çíŕ÷ĺíčĺ íŕďđ˙ěóţ ďčřĺňń˙ â ďîëĺ ÁÄ "<datasource>.<datafield>"; íî ńâîéńňâŕ "value" č "valuecol" ňŕęćĺ ěîăóň čńďîëüçîâŕňüń
    • ++
    ++
  • ++
++

 

++
++

tdbrealedit (1)

++
    ++
  • Name:= reSexPotention
  • ++
  • frame ++
  • ++
      ++
    • caption = 'Sex. potention'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • datasource = mainfo.dsPersons
  • ++
  • datafield = 'sexual_potention'
  • ++
  • formatdisp:= '####.####'
  • ++
  • formatedit:= '####.####'
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • "formatdisp" ( ďîęŕç ) č "formatedit" ( ďîäńâĺňęŕ ââîäŕ ) íŕ ńŕěîě äĺëĺ - "##.##", ÷ňî, ńîăëŕńíî ńčíňŕęńčńó ôóíęöčč "Format" , îçíŕ÷ŕĺň "÷čńëî ń ďëŕâŕţůĺé ňî÷ęîé íĺ áîëĺĺ áîëĺĺ "2-ő öčôđ äî" č "2-ő öčôđ ďîńëĺ" äĺń˙ňč÷íîăî đŕçäĺëčňĺë˙, ń ďđčíóäčňĺëüíűě îęđóăëĺíčĺě". Ňî ĺńňü ęîëč÷ĺńňâî "#" äîëćíî áűňü óäâîĺíî - ďîňîěó ÷ňî îäčíŕđíűé ńčěâîë "#" â ˙çűęĺ "Pascal" íŕ÷číŕĺň ęîä ńčěâîëŕ ( âđîäĺ ęîäŕ #32, îáîçíŕ÷ŕţůĺăî ďđîáĺë ) .
  • ++
++

Ĺńëč ďđĺäűäóůĺĺ çíŕ÷ĺíčĺ áűëî ďóńňîĺ, ňî ďîëüçîâŕňĺëü ěîćĺň íĺ çíŕňü, â ęŕęčő ĺäčíčöŕő čçěĺđ˙ĺňń˙ çíŕ÷ĺíčĺ,č ęŕîé äčŕďŕçîí çíŕ÷ĺíčé äîďóńňčě. Ďîýňîěó ďîäęŕćĺě, äë˙ ÷ĺăî óđîíčě ńďđŕâŕ îň reSexPotention :

++
++

Widget->tlabel (1) :

++
    ++
  • Name:= lblSexPotentionHint
  • ++
  • Caption:= (0..100) %
  • ++
++
++
++

 

++

 

++
++
++

tdbcalendardatetimedit (1)

++
    ++
  • Name:= cdeDateOfBirth
  • ++
  • frame
  • ++
      ++
    • caption = 'Date of birth'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • datasource = mainfo.dsPersons
  • ++
  • datafield = 'dateofbirth'
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • "cdeDateOfBirth" ďîçâîë˙ĺň ęŕę ââîäňčňü äŕňó íŕďđ˙ěóţ, ňŕę č âűáčđŕňü čç âűďŕäŕţůĺăî ęŕëĺíäŕđ˙
    ++
  • ++
  • "formatdisp" č "formatedit" îńňŕâë˙ĺě ďócňűěč, ÷ňîáű îď˙ňü-ňŕęč ďđč âíóňđĺííčő ďđĺîáđŕçîâŕíč˙ő čńďîëüçîâŕëń˙ "ShortDateFormat" (ńě. âűřĺ )
    ++
  • ++
  • çíŕ÷ĺíč˙ äŕň äîďóńęŕţň íĺňî÷íîĺ ( ńîęđŕůĺííîĺ ) ńîîňâĺňńňâčĺ ôîđěŕňó - č äĺíü, č ěĺń˙ö, č ăîä ěîăóň áűňü ââĺäĺíű (1..2) öčôđŕěč, äë˙ ÷ĺăî âî âđĺě˙ âíóňđĺííîăî ďđĺîáđŕçîâŕíč˙ áóäóň ďđčěĺíĺíű íĺęîňîđűĺ äîďóůĺíč˙, âďëîňü äî î÷ĺíü óäîáíűő óďđîůĺíčé âđîäĺ : ++
      ++
    • 20 -> 20-ĺ ÷čńëî ňĺęóůĺăî ěĺń˙öŕ
    • ++
    • 20.1 -> 20-ĺ ˙íâŕđ˙ ňĺęóůĺăî ăîäŕ
    • ++
    • 20.1.6 -> 20 ˙íâŕđ˙ 2006 ăîäŕ
      ++
    • ++
    ++
  • ++
  • âńëĺäńňâčĺ îńîáĺííîńňĺé âíóňđĺííĺăî ďđĺäńňŕâëĺíč˙ äŕň â "FreePascal" âĺđńčé äî 2.4.ő, ěčíčěŕëüíîĺ ęîđđĺęňíîĺ çíŕ÷ĺíčĺ äŕňű đŕâíî 30.12.1899;
    ++ íŕ÷číŕ˙ ń âĺđńčé 2.4.0-rc1, ěčíčěŕëüíŕ˙ äŕňŕ îăđŕíč÷čâŕĺňń˙ íĺ âűíóćäĺííűě ëčěčňîě, ŕ ŕâňîďĺđĺâîäîě ńîęđŕůĺííîăî ôîđěŕňŕ ( ńě. âűřĺ, íŕďđčěĺđ - ę çíŕ÷ĺíčţ ăîäŕ ěĺíüřĺ 100 ŕâňîěŕňč÷ĺńęč ďđčáŕâë˙ĺňń˙ 2000 ) , č đŕâíŕ 01.01.0100
    ++
  • ++
  • ĺńëč äîďóńęŕĺňń˙ ďóńňîĺ çíŕ÷ĺíčĺ äŕňű - îńňŕâüňĺ ńâîéńňâî "min" ňŕęćĺ ďóńňűě
    ++
  • ++
  • ńâîéńňâî "ěŕő" íĺ äîëćíî îńňŕâŕňüń˙ ďóńňűě - číŕ÷ĺ ëţáŕ˙ äŕňŕ áóäĺň ń÷čňŕňüń˙ íĺâĺđíîé
    ++
  • ++
  • ďđîáĺë â ďîëĺ ââîäŕ äŕňű, ďîńëĺ íŕćŕňč˙ "Enter" ,ďđĺâđŕůŕĺňń˙ â ňĺęóůóţ äŕňó
    ++
  • ++
  • äë˙ âűâîäŕ ęŕëĺíäŕđ˙ áĺç ďîěîůč ěűřč - čńďîëüçóĺéňĺ ęîěáčíŕöčţ "Shift+Enter "
  • ++
++
++

×ňîáű ďîëüçîâŕňĺëü çíŕë ďđŕâčëüíűé ôîđěŕň ââîäŕ äŕňű ( ĺńëč ńňŕđîĺ çíŕ÷ĺíčĺ ďóńňîĺ č ďîňîěó íĺăäĺ ďîäńěîňđĺňü ) , ďîęŕćĺě ĺěó ýňîň ôîđěŕň.
++ Óđîíčě ńďđŕâŕ îň cdeDateOfBirth :

++
++
++

Widget->tlabel (2) :

++
    ++
  • Name:= lblDateFormatHint
  • ++
++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • Ňŕę ęŕę, â îňëč÷čĺ îň "lblSexPotentionHint", íĺâîçěîćíî ďđîďčńŕňü ( run-time ) çíŕ÷ĺíčĺ ęîíńňŕíňű "ShortDateFormat" â "lblDateFormatHint.caption" čńďîëüçó˙ đĺäŕęňîđ ńâîéńňâ ( design-time ) , ďđčäĺňń˙ ýňî ńäĺëŕňü â ęîäĺ ďđč îňęđűňčč ôîđěű "editfo" - áóäĺň ńäĺëŕíî ďîçćĺ, âěĺńňĺ ń äđóăčěč îďĺđŕöč˙ěč
  • ++
++
++
++

 

++
++
++
++
++

tdbbooleantextedit (1)

++
    ++
  • Name:= beHappy
  • ++
  • frame
  • ++
      ++
    • caption = 'Happy ?'
    • ++
    • captionpos = cp_left
    • ++
    • captiondist = 15
    • ++
    ++
  • datasource = mainfo.dsPersons
  • ++
  • datafield = 'if_happy'
  • ++
  • text ++
      ++
    • false:= 'Óâű :('
    • ++
    • true:= 'Óůĺ ęŕę :)'
    • ++
    ++
  • ++
++

Íĺńęîëüęî ńëîâ î "beHappy" :

++
++
    ++
  • ýňî - îńîáűé ňčď ęîěďîíĺíňŕ äë˙ îňîáđŕćĺíčé çíŕ÷ĺíčé ňčďŕ "äŕ/íĺň" ďëţń ďóńňîĺ çíŕ÷ĺíčĺ äë˙ "íĺčçâĺńňíî"; â íŕřĺě ńëó÷ŕĺ ňŕęčĺ íĺčçâĺńňíűĺ çíŕ÷ĺíč˙ äîďóńęŕţňń˙, ďîýňîěó čńďîëüçîâŕíčĺ äđóăîăî ęîěďîíĺíňŕ - ń ňîëüęî 2-ě˙ ńîńňî˙íč˙ěč ( "tdbboleanedit" ) áűëî áű íĺęîđđĺęňíî
    ++
  • ++
  • ńâîéńňâŕ text_(false/true) ďîçâîë˙ţň ďĺđĺîďđĺäĺëčňü ňĺęńň çíŕ÷ĺíčé ďî ńâîĺě óńěîňđĺíčţ ++
      ++
    • ĺńňü ĺůĺ îäčí ńďîńîá ďîäěĺíű ňĺęńňŕ áóëĺâűő( ëîăč÷ĺńęčő ) çíŕ÷ĺíčé â ˙÷ĺéęŕő ňŕáëčö ňčďŕ "tgbstringgrid", ęŕę íŕřŕ ňŕáëčöŕ "grdPersons" - îí ęîíňđîëëčđóĺňń˙ íŕńňđîéęŕěč ďîë˙ ÁÄ, ń ęîňîđűě ńâ˙çŕí äŕííűé ęîěďîíĺíň, â äŕííîě ńëó÷ŕĺ "mainfo.dsPersons->if_happy": ++
        ++
      • ďĺđĺőîäčě íŕ ôîđěó "mainfo" (ôŕéë "main.pas" ) , âűáčđŕĺě ýňî ďîëĺ ( "fldHappy" ) , č ďđîďčńűâŕĺě, ÷ĺđĺç ";", â "DisplayValues" áîëĺĺ ďîí˙ňíóţ íŕě ďŕđó - ďóňü äŕćĺ "Ĺůĺ ęŕę :);Óâű :(" ++ , ÷ňîáű ýňîň ĺęň âűăë˙äĺë îäčíŕęîâî č íŕ "grdPersons", č íŕ ôîđěĺ đĺäŕęňčđîâŕíč˙ "editfo" ;
        ++ ěîćĺň áűňü, ďđčäĺňń˙ ÷óňü óâĺëč÷čňü đŕçěĺđ ďîńëĺäíĺăî ńňîëáöŕ "grdPersons"
        ++ [ äë˙ "íĺčçâĺńňíî" ňŕęîé ďîäěĺíű íĺ ďđĺäóńěîňđĺíî ]
      • ++
      ++
    • ++
    ++
  • ++
++
++

 

++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • Îáđŕňčňĺ âíčěŕíčĺ, ÷ňî îďčńŕíč˙ ęîěďîíĺíňîâ çŕäŕţňń˙ íĺ îňäĺëüíűěč "tlabel", ŕ ńâîéńňâŕěč "<frame>.caption", ăäĺ: ++
      ++
    • caption:= 'Country' -> ńŕěî îďčńŕíčĺ
    • ++
    • captionpos = cp_left -> âűâîäčňü ńëĺâŕ îň ęîěďîíĺíňŕ čëč "cp_topleft" - ńâĺđőó ńëĺâŕ, č ň.ď.
    • ++
    • captiondist = 15 -> ń çŕçîđîě 15 ďčęńĺëîâ
      ++
    • ++
    ++
  • ++
  • îáëĺă÷čňü âűđŕâíčâŕíčĺ ęîěďîíĺíňîâ ń "captionpos = cp_left" ěîćíî ńëĺäóţůčě îáđŕçîě : ++
      ++
    • đŕńńňŕâčňü ńŕěč ęîěďîíĺíňű č âűđîâí˙ňü ďî ëĺâîé ăđŕíčöĺ
    • ++
    • íŕçíŕ÷čňü "caption:= <Îďčńŕíčĺ>" ęŕćäîăî čç ęîěďîíĺíňîâ, íî íĺ ňđîăŕňü "captionpos" č "captiondist"
    • ++
    • âűáđŕňü âńĺ âűđŕâíčâŕĺěűĺ ęîěďîíĺňű, óäĺđćčâŕ˙ ęëŕâčřó "Ctrl"
    • ++
    • â đĺäŕęňîđĺ ńâîéńňâ - âűńňŕâčňü "captionpos = cp_left" č "captiondist = 15" , ýňî čçěĺíĺíčĺ îňđŕçčňń˙ íŕ âńĺő âűáđŕííűő ęîěďîíĺíňŕő
    • ++
    • ëĺâîé ęíîďęîé ěűřč ďĺđĺěĺńňčňü âńţ âűáđŕííóţ ăđóďďó ňŕę, ÷ňîáű îíŕ ďîěĺńňčëŕńü íŕ ôîđěĺ âěĺńňĺ ń îďčńŕíč˙ěč
      ++
    • ++
    ++
  • ++
++

Îáůčé âčä ôîđěű "editfo" ń ęîěďîíĺíňŕěč :

++

++

Ňĺďĺđü ěîćíî çŕďóńňčňü íŕřó ďđîăđŕěěó č ďđîňĺńňčđîâŕňü ôîđěó "edotfo", îíŕ áóäĺň âűăë˙äĺňü ńëĺäóţůčě îáđŕçîě :

++

++

Ňĺďĺđü, ĺńëč áűňü âíčěŕňĺëüíűě, ěîćíî çŕěĺňčňü îäíó îńîáĺííîńňü - čçěĺíĺíč˙ ŕđňčáóňîâ "Name", "Sex.potention" č "Happy ?" ňóň ćĺ îňđŕćŕţňń˙ ňŕęćĺ č â ňŕáëčöĺ ďđîńěîňđŕ ( "grdPersons" ) , â îňëč÷čĺ îň îńňŕëüíűő ŕňđčáóňîâ. Ďî÷ĺěó ? Ďîňîěó ÷ňî ýňč çíŕ÷ĺíč˙ ýňčő ŕňđčáóňîâ íŕďđ˙ěóţ ńâ˙çŕíű ń ďîë˙ěč âűáîđęč, ôîđěčđóţůĺé "grdPersons" - "qryPersons", č ďîýňîěó đĺäŕęňčđóţňń˙ ňŕęćĺ íŕďđ˙ěóţ. Ŕňđčáóňű ćĺ "Country" & "Occupation" & "Feature" đĺäŕęňčđóţňń˙ ÷ĺđĺç çŕěĺíó ńńűëîę íŕ ęëţ÷č äđóăčő ňŕáëčö, ďîýňîěó, äĺëŕ˙ âűáîđ â ńďčńęĺ "Country", ěű ěĺí˙ĺě çíŕ÷ĺíčĺ ďîë˙ "country_id" âűáîđęč "qryPersons", íî íĺ ďîë˙ "country", îňîáđŕćŕĺěîăî â "grdPersons". ×ňîáű čçěĺíčňü "country" ńčíőđîííî ń "country_id", íóćĺí ęîä :

++

editform->cbCountries ->ondataentered:= countryentered :

++
++

procedure teditfo.countryentered(const sender: TObject);
++ begin
++    mainfo.fldCountry.value:= cbCountries.text;
++ end;

++
++

editform->cbOccupations ->ondataentered:= occupationentered :

++
++

procedure teditfo.occupationentered(const sender: TObject);
++ begin
++    mainfo.fldOccupation.value:= cbOccupations.text;
++ end;

++
++

editform->cbFeatures ->ondataentered:= featureentered :

++
++

procedure teditfo.featureentered(const sender: TObject);
++ begin
++    mainfo.fldFeature.value:= cbFeatures.text;
++ end;

++
++

Ňî ĺńňü íŕďđ˙ěóţ ęîđđĺęňčđóĺňń˙ âűáîđęŕ "qryPersons", ŕ óćĺ ďî íĺé ďĺđĺđčńîâűâŕĺňń˙ ńâ˙çŕííŕ˙ ňŕáëčöŕ "grdPersons".

++

Íĺ çŕáóäüňĺ âńňŕâčňü "main" â ńĺęöčţ "uses" ôŕéëŕ "editform.pas" , ÷ňîáű âčäĺňü "main" :

++
++

implementation
++
++ uses
++   editform_mfm,
++   refsdatamodule,
++   main
++ ;

++
++

Ďđčěĺ÷ŕíčĺ:

++
    ++
  • â ďđčíöčďĺ, ýňîň ńčíőđîíčçě íĺ ňŕę óć č íóćĺí - ďîňîěó, ÷ňî "grdPersons", âî âđĺě˙ đĺäŕęňčđîâŕíč˙, ďî÷ňč ďîëíîńňüţ çŕęđűâŕĺňń˙ ôîđěîé đĺäŕęňčđîâŕíč˙ "editfo" - ňîň ćĺ ýôôĺęň áóäĺň äîńňčăíóň ďîńëĺ çŕďčńč čçěĺíĺíčé â ÁÄ ń ďîńëĺäóţůčě ďĺđĺçŕďđîńîě - óćĺ ń îáíîâëĺííűěč ( ńčíőđîíčçčđîâŕíűěč ) çíŕ÷ĺíč˙ěč "country_id" č "country" č ň.ä.
  • ++
++

Äŕëĺĺ, ěű âčäčě ńďčńęč "Planets" & "Continents", âűáîđ â ęîňîđűő íčăäĺ íĺ îňđŕćŕĺňń˙. Č âîîáůĺ - çŕ÷ĺě îíč íóćíű ?  ęŕ÷ĺńňâĺ ôčëüňđîâ - ÷ňîáű ńóçčňü âűáîđ ńňđŕí, âĺäü ńňđŕí â ăŕëŕęňčęĺ ěîćĺň áűňü íĺîáîçđčěîĺ ěíîćĺńňâî !
++ Íč â ňŕáëčöĺ "persons", íč â ńŕěîé âűáîđęĺ "qryPesrons" íĺň äŕííűő íč î ďëŕíĺňŕő, íč î ęîíňčíĺíňŕő - ňîëüęî ęëţ÷č ňŕáëčöű ńňđŕí. Çŕňî â ňŕáëčöĺ ńňđŕí "countries" ĺńňü ńńűëęč íŕ ęëţ÷č ňŕáëčöű ęîíňčíĺíňîâ "continents", ŕ ňŕáëčöĺ ęîíňčíĺňîâ - ĺńňü ńńűëęč íŕ íŕ ęëţ÷č ňŕáëčöű ďëŕíĺň "planets". Âîň č čńďîëüçóĺě ýňó öĺďî÷ęó ęëţ÷ĺé :

++

editform->cbPlanets ->onsetvalue:= planetchanged :

++
++

procedure teditfo.planetchanged(const sender:TObject; var avalue:Integer;var accept:Boolean);
++ begin
++ // ĺńëč âűáđŕíŕ đĺŕëüíî äđóăŕ˙ ďëŕíĺňŕ ++
++  if avalue <> (sender as tenumeditlb).value then begin
++   cbContinents.value:= -1; // îňěĺíčňü âűáîđ â ńďčńęĺ ęîíňčíĺíňîâ
++
++ // č ńňđŕíó ňĺďĺđü íóćíî âűáčđŕňü ďî-íîâîé
++   mainfo.fldCountry.clear; // ŕâňîěŕňč÷ĺńęč îňěĺíčň âűáîđ â ńďčńęĺ ńňđŕí
++ // ++ (ńĺđâčń ęîěďîíĺíňŕ TDB ENUMEDITLB)
++   mainfo.fldCountryId.clear;
++  end;
++ end;
++

++
++

editform->cbPlanets ->onsetvalue:= planetchanged :

++
++

procedure teditfo.continentchanged( const sender:TObject; var avalue:Integer;var accept:Boolean );
++ begin
++ // ĺńëč âűáđŕí đĺŕëüíî äđóăîé ęîíňčíĺíň
++  if avalue <> (sender as tenumeditlb).value then begin
++   mainfo.fldCountry.clear; // ńňđŕíó ňĺďĺđü íóćíî âűáčđŕňü ďî-íîâîé
++   mainfo.fldCountryId.clear;
++  end;
++ end;

++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • îáđŕňčňĺ âíčěŕíčĺ, ÷ňî "cbContinents.value:= -1" çäĺńü íĺîá˙çŕňĺëüíî, ňŕę ęŕę ńáđîń âűáîđŕ â ńďčńęĺ ďđîčçîéäĺň ďđč óńňŕíîâęĺ ďóńňîăî çíŕ÷ĺíč˙ ( îďĺđŕöč˙ "<field>.clear" ) â ńâ˙çŕíîě (datasource+datafiled) ďîëĺ.
    ++
  • ++
  • ďî÷ĺěó ěű čńďîëüçîâŕëč čěĺííî ńîáűňčĺ "onsetvalue" : ++
      ++
    • ďîňîěó ÷ňî ďî ĺăî âőîäíűě ďŕđŕěĺňđŕě ěîćíî îďđĺäĺëčňü ďđĺäűäóůĺĺ č íîâîĺ çíŕ÷ĺíčĺ, ÷ňîáű îáíŕđóćčňü đĺŕëüíîĺ čçěĺíĺíčĺ âűáîđŕ, ŕ íĺ ďđîńňî ńŕě ôŕęň âűáîđŕ
    • ++
    • Äë˙ ńďđŕâęč :
    • ++
    • ondataentered - ńđŕáŕňűâŕĺň ńđŕçó ďî ôčęńŕöčč íîâîăî çíŕ÷ĺíč˙ â "value "
    • ++
    • onchange - ńđŕáŕňűâŕĺň ďđč ëţáîě čçěĺíĺíčč ňĺęńňŕ, âęëţ÷ŕ˙ ďđčńâîĺíčĺ
      ++
      ++ <component>.value:= <new_value>
      ++
    • ++
    • onsetvalue - ńđŕáŕňűâŕĺň ěĺćäó đó÷íűě čçěĺíĺíčĺě ňĺęńňŕ č çŕďčńüţ ýňîăî čçěĺíĺíč˙ â ńâîéńňâî "value", ňŕęčě îáđŕçîě ďîçâîë˙˙ ńäĺëŕňü îňęŕň
    • ++
    • ontextedited - ńđŕáŕňűâŕĺň ďđč đó÷íîě đĺäŕęňčđîâŕíčč ňĺęńňŕ, ďîçâîë˙˙ íŕ ëĺňó ďîäęîđđĺęňčđîâŕňü ýňî ňĺęńň
      ++
    • ++
    ++
  • ++
  • ( mainfo.fldCountryId.clear & mainfo.fldCountry.clear ) - čäóň â îäíîé ńâ˙çęĺ "ęëţ÷ ńňđŕíű + íŕçâŕíčĺ ńňđŕíű", ďîýňîěó č ńáďŕńűâŕţňń˙ + ęîđđĺęňčđóţňń˙ âěĺńňĺ
  • ++
++

Âńĺ áű őîđîřî, íî ďđč îňęđűňčč ôîđěű đĺäŕęňčđîâŕíč˙ "editfo" ńďčńęč ďëŕíĺň č ęîíňčíĺíňîâ îńňŕţňń˙ íĺâűáđŕííűěč, äŕćĺ ĺńëč â đĺäŕęňčđóĺěîé çŕďčńč çŕäŕíŕ ńňđŕíŕ ( ęîňîđŕ˙ ďđčďčńŕíŕ ę íĺęčě ęîíňčíĺíňó č ďëŕíĺňĺ ). Íŕäî áű ńčíőđîíčçčđîâŕňü ńďčńęč ďëŕíĺň č ęîíňčíĺíňîâ ďî ýňîěó íŕ÷ŕëüíîěó çíŕ÷ĺíčţ ńňđŕíű :

++
++

procedure teditfo.editfocreate(const sender: TObject);
++ var
++  int1: integer;
++ begin
++  application.createdatamodule(trefsdatamo, refsdatamo);
++
++ // íŕ÷ŕëüíŕ˙ ńčíőđîíčçŕöč˙ ęîíňčíĺíňŕ ďî ńňđŕíĺ
++  if refsdatamo.lbufCountries.findphys(0,integer(cbCountries.value),int1) then begin
++   cbContinents.value:= refsdatamo.lbufCountries.integervaluephys(1,int1);
++  end;

++

// č ńčíőđîíčçŕöč˙ ďëŕíĺňű ďî ńčíőđîíčçčđîâŕííîěó ęîíňčíĺíňó
++  if refsdatamo.lbufContinents.findphys(0,integer(cbContinents.value),int1) then begin
++   cbPlanets.value:= refsdatamo.lbufContinents.integervaluephys(1,int1);
++  end;
++ // ďîęŕçŕňü ďđŕâčëüíűé ôîđěŕň äŕňű ++
++  lblDateFormatHint.caption:= '( ' + uppercase(ShortDateFormat) + ' )';
++
++ end;

++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • refsdatamo.lbufCountries.findphys(0,integer(cbCountries.value),int1); ++
    ++
      ++
    • íŕőîäčň č çŕďîěčíŕĺň â ďĺđĺěĺííîé "int1" ôčçč÷ĺńęčé íîěĺđ çŕďčńč â áóôĺđĺ ńďčńęŕ ńňđŕí, ńîîňâĺńňâóţůčé íŕ÷ŕëüíîěó çíŕ÷ĺíčţ ńňđŕíű
      ++
    • ++
    • 0 = íîěĺđ ňîăî ńňîëáöŕ čç "integercols", ăäĺ őđŕí˙ňń˙ ęëţ÷č ńňđŕí
      ++
    • ++
    • ďđčâĺäĺíčĺ ňčďŕ "integer(cbCountries.value)" íóćíî äë˙ ňîăî, ÷ňîáű âűçâŕňü âĺđńčţ "findphys" čěĺííî äë˙ "integer"-ŕđăóěĺíňŕ
      ++
    • ++
    ++
  • ++
  • cbContinents.value:= refsdatamo.lbufCountries.integervaluephys(1,int1); ++
    ++
      ++
    • ÷čňŕĺň čç ńďčńęŕ ńňđŕí, čç íŕéäĺííîé âűřĺ ńňđîęč, çíŕ÷ĺíčĺ 2-ăî ńňîëáöŕ ( ęëţ÷ â ňŕáëčöĺ ęîíňčíĺíňîâ ), ++ č ďî íĺěó äĺëŕĺň âűáîđ â ńďčńęĺ ęîíňčíĺíňîâ
      ++
    • ++
    • 1 = íîěĺđ ňîăî ńňîëáöŕ čç "integercols", ăäĺ őđŕí˙ňń˙ ęëţ÷č ęîíňčíĺíňîâ
      ++
    • ++
    ++
  • ++
  • ŕíŕëîăč÷íî äë˙ ďëŕíĺň - íî, âěĺńňî ńňđŕíű, îňňŕëęčâŕ˙ńü îň ęîíňčíĺíňŕ
    ++
  • ++
  • "lblDateFormatHint.caption:=..." - ęîěŕíäŕ äë˙ ďîęŕçŕ ďîëüçîâŕňĺëţ ďđŕâčëüíîăî ôîđěŕňŕ äŕňű ( ńě. âűřĺ, îďčńŕíčĺ "lblDateFormatHint" )
  • ++
++

Ňĺďĺđü íĺďîńđĺäńňâĺííî ńŕěŕ ôčëüňđŕöč˙. Âűáčđŕ˙ ďëŕíĺňó č/čëč ęîíňčíĺíň, ěű áóäĺě ńóćŕňü ńďčńîę ńňđŕí â ńďčńęĺ äë˙ âűáîđŕ. Äë˙ ôčëüňđŕöčč óäîáíî ďđčěĺíčňü ńâîéńňâî "onfilter" ęîěďîíĺíňîâ ń âűďŕäŕţůčěč ńďčńęŕěč :

++

editform => ++ cbContinents -> dropdown -> onfilter:= continentsfilter :

++
++

procedure teditfo.continentsfilter(const sender: tcustomlookupbuffer;
++   const physindex: Integer; var valid: Boolean);
++ begin
++
++  valid:=
++   (cbPlanets.value = -1)
++  or
++   (sender.integervalue[1,physindex] = cbPlanets.value);
++
++ end;

++
++

editform => cbCountries -> dropdown -> onfilter:= countriesfilter :

++
++

procedure teditfo.countriesfilter(const sender: tcustomlookupbuffer;
++   const physindex: Integer; var valid: Boolean);
++ begin

++

 if cbPlanets.value = -1 then begin
++   if cbContinents.value = -1 then begin
++    valid:= true;
++   end else begin
++    valid:= sender.integervalue[1,physindex] = cbContinents.value;
++   end;
++  end else begin
++   if cbContinents.value = -1 then begin
++    valid:= false;
++   end else begin
++    valid:= sender.integervalue[1,physindex] = cbContinents.value;
++   end;
++  end;
++
++ end;

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • îáđŕáîň÷čę "onfilter" âűçűâŕĺňń˙ â ěîěĺíň îňęđűňč˙ âűďŕäŕţůĺăî ńďčńęŕ, č ďîî÷ĺđĺäíî ďđîâĺđ˙ĺň âńĺ çíŕ÷ĺíč˙, ęîňîđűěč ýňîň ńďčńîę äîëćĺí áűňü çŕďîëíĺí, íŕ ńîîňâĺňńňâčĺ íĺęîňîđîěó ęđčňĺđčţ, đĺŕëčçóĺěîěó â ęîäĺ îáđŕáîň÷čęŕ ++
    ++
      ++
    • óńňŕíŕâëčâŕ˙ "valid:= true;" ďĺđĺä âűőîäîě čç îáđŕáîň÷čęŕ, ěű đŕçđĺřŕĺě äŕííîěó çíŕ÷ĺíčţ áűňü ďîěĺůĺííűě â ńďčńîę, č íŕîáîđîň
      ++
    • ++
    • "valid:= sender.integervalue[1,physindex] = cbContinents.value;" îçíŕ÷ŕĺň "ĺńëč äŕííîě óçíŕ÷ĺíčţ ńňđŕíű ńîďîńňŕâëĺí ęîä ęîíňčíĺíňŕ ( {sender = lbufCountries}.integervalue [ 1 /* íîěĺđ ńňîëáŕ ń ęîäŕěč ęîíňčíĺíňîâ */, physindex ] ), đŕâíűé ňîěó ęîäó, ÷ňî âűáđŕí ÷ĺđĺç ńďčńîę ęîíňčíĺíňîâ ( cbContinents.value ) - ďđîńďóńňčňü äŕííóţ ńňđŕíó â ńďčńîę ńňđŕí"
    • ++
    ++
  • ++
++
++

Ęîíĺ÷íî, íĺ çŕáóäüňĺ äîáŕâčňü ěîäóëü "mselookupbuffer", îďčńűâŕţůčé "tcustomlookupbuffer", â "uses"-ńĺęöčţ "editform" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msesimplewidgets,msedbedit,
++  mselookupbuffer;

++
++

Ňĺďĺđü, çŕďóńňčâ ďđčëîćĺíčĺ, ěű ěîćĺě đĺäŕęňčđîâŕňü, äîáŕâë˙ňü č óäŕë˙ňü çŕďčńč čç ňŕáëčöű "persons".

++

Âŕćíî ďđĺäîňâđŕňčňü ďîďűňęč çŕďčńč â ÁÄ çŕâĺäîěî íĺęîđđĺęňíűő çíŕ÷ĺíčé, číŕ÷ĺ ďđîăđŕěěŕ ěîćĺň ŕâŕđčéíî çŕâĺđřčňüń˙. Ďđčěĺđ - ďîë˙ ÁÄ ń ŕňđčáóňŕěč "NOT NULL", â ńëó÷ŕĺ íŕřĺăî ďđîĺęňŕ - "descr"-ďîë˙ âńĺő ňŕáëčö. Ďîýňîěó çŕďđĺňčě îńňŕâë˙ňü ďóńňűĺ çíŕ÷ĺíč˙ â ęîěďîíĺíňŕő, ńâ˙çŕííűő ń ďîë˙ěč "descr" :

++
++

editform->seName ->optionsedit -> oe_notnull:= true

++
++

Ňĺďĺđü, ďđč çŕęđűňčč ôîđěű "editfo", ýňîň ęîěďîíĺíň áóäĺň ďđîâĺđĺí íŕ ďđĺäěĺň ďóńňîé ńňđîęč.

++

Ďđčěĺ÷ŕíč˙:

++
    ++
  • â îáůĺě ńëó÷ŕĺ "ďóńňŕ˙ ńňđîęŕ" íĺ ýęâčâŕëĺíňíŕ "NULL"-çíŕ÷ĺíčţ â ÁÄ, íî ďî-äđóăîěó ďđîâĺđęó ňóň íĺ ńäĺëŕĺřü
  • ++
++

Äŕëĺĺ, ŕňđčáóň "Sex.potention" čçěĺđ˙ĺňń˙ â ďđîöĺíňŕő - ďîňîěó äîëćĺí áűňü â ăđŕíčöŕő (0..100) % . Ňŕęćĺ ďîęŕćĺě, ęŕęîé äĺń˙ňč÷íűé đŕçäĺëčňĺëü äîëćĺí čńďîëüçîâŕňüń˙ â ňĺęóůĺé ëîęŕëč. Îáĺńďĺ÷čě ýňî :

++

editform ->reSexPotention->oncheckalue:= sexpotentioncheckvalue :

++
++

procedure teditfo.sexpotentioncheckvalue(const sender: tdataedit;
++   const quiet: Boolean; var accept: Boolean);
++ var
++  f1: double;
++ begin
++  try
++   // ńäĺëŕňü ňĺńňîâîĺ çíŕ÷ĺíčĺ äîńňóďűě äë˙ ŕđčôěĺňč÷ĺńęčő îďĺđŕöččé
++   // - ÷čńëîâűě
++   f1:= StrToFloat(sender.text);
++   if (f1 < 0) or (f1 > 100) then begin // çŕňĺě ďđîâĺđčňü äčŕďŕçîí
++    // ĺńëč âűőîä çŕ ăđŕíčöű - îňęŕçŕňü
++    accept:= false;
++    // č đóăíóňüń˙
++    showmessage('Percent of people sexual potention should be ' +
++    'in range 0..100','Invalid Input',150);
++   end;
++  except
++   on EConvertError do begin // ÷ňîáű íĺ âűëĺňĺňü íŕ íĺâĺđíîě ôîđěŕňĺ
++    // ďóńňîĺ çíŕ÷ĺíčĺ - đŕçđĺřčňü
++    if sender.text <> '' then
++     // íî ďđî íĺâĺđíűé ôîđěŕň - ńęŕçŕňü
++     accept:= false;
++     showmessage('Percent value 0..100% step 0'+
++      DecimalSeparator +
++      '01 expected here','Invalid Input',150);
++    end;
++   end;
++  end;
++ end;

++
++

Ďî˙ńíĺíč˙ ę ęîäó :

++
    ++
  • óńňŕíîâęŕ "accept := false" âîçâđŕůŕĺň ďîëüçîâŕňĺë˙ ę ěĺńňó îřčáęč, č íĺ đŕçđĺřčň çŕęđűňü ôîđěó "editfo" äî ňĺő ďîđ, ďîęŕ îřčáęŕ íĺ áóäĺň óńňđŕíĺíŕ.
    ++
  • ++
  • çŕďđĺň çŕęđűňč˙ ôîđěű äî óńňđŕíĺíč˙ îřčáęč ( ďîęŕ "accept" íĺ ńňŕíĺň "true" ) óďđŕâë˙ĺňń˙ îďöčĺé "reSexPotention -> optionsedit -> oe_closequery:= true"
    ++
  • ++
  • íĺâĺđíîĺ çíŕ÷ĺíčĺ âńĺ ćĺ ďđčíčěŕĺňń˙ ďđč íŕćŕňčĺ ęíîďęč "Cancel", ń ďđčńâoĺííűě ĺé ęîäîě çŕęđűňč˙ ôîđěű "rm_cancel " ( â íŕřĺě ńëó÷ŕĺ - ęîăäŕ "reSexPotention -> optionsedit -> oe_checkrmcancel:= true" ) , íî ýňî ( äŕ č âńĺ äđóăčĺ čçěĺíĺííűĺ čëč äîáŕâëĺííűĺ ) çíŕ÷ĺíčĺ áóäĺň ńáđîřĺíî ęîěŕíäîé îňęŕňŕ čçěĺíĺíčé ňĺęóůĺé çŕďčńč "qryPerson.cancel", âűçâŕííîé â "tmainfo.editformshow" ++
      ++
    • "qryPerson.cancel" ňŕęćĺ óäŕë˙ĺň íîâóţ ďóńňóţ çŕďčńü, ÷ĺđĺç đĺäŕęňčđîâŕíčĺ ęîňîđîé đĺŕëčçîâŕíî äîáŕâëĺíčĺ
      ++
    • ++
    ++
  • ++
  • DecimalSeparator - âńňđîĺííŕ˙ ęîíńňŕíňŕ ˙çűęŕ FreePascal, ŕâňîěŕňč÷ĺńęč ŕäŕďňčđóĺň ę ňĺęóůĺé ńčńňĺěíîé ëîęŕëč
  • ++
++

Äŕ, íĺ çŕáóäüňĺ ďîäęîđđĺęňčđîâŕňü ńĺęöčč "uses" ôŕéëŕ "editform" :

++
++

interface
++ uses
++   msegui,mseclasses,mseforms,msesimplewidgets,msedbedit,
++   mselookupbuffer,
++   msedataedits; // čěďîđň "tdataedit"
++ // .. ++

++

implementation
++ uses
++   editform_mfm,
++   refsdatamodule,
++   main,
++   sysutils, // čěďîđň "StrToFloat"
++   msewidgets // čěďîđň "ShowMessage"
++ ;

++
++

Îńňŕëîńü îäíî "íî" - ďĺđĺçŕďóńňčâ ďîăđŕěěó, ěű óáĺäčěń˙, ÷ňî íŕřŕ đŕáîňŕ ďđîďŕëŕ äŕđîě - îď˙ňü âčäčě "ńňŕđűĺ" äŕííűĺ. Ŕ âńĺ ďîňîěó, ÷ňî íŕřč čçěĺíĺíč˙ äĺëŕëčńü íĺ â ÁÄ, ŕ âî âđĺěĺííîě áóôĺđĺ đĺäŕęňčđîâŕíč˙. Ďîýňîěó ďĺđĺőîäčě ę ńëĺäóţůĺěó ýňŕďó.

++

++

Ôčęńŕöč˙ čçěĺíĺíčé, äîáŕâëĺíčé č óäŕëĺíčé â ÁÄ

++

Äîáŕâčě ńţäŕ ćĺ âîçěîćíîńňü îňęŕňčňü čçěĺĺíčíč˙ äî čő ôčęńŕöččâ ÁÄ.

++

Ęîěďîíĺíň "TBufDataSet" ďđĺäîńňŕâë˙ĺň ńëĺäóţůčé ńĺđâčń ďî îáěĺíó ěĺćäó áóôĺđîě đĺäŕęňčđîâŕíč˙ č ÁÄ :

++
    ++
  • CancelUpdates -> îęŕňčňü íĺńîőđŕíĺííűĺ čçěĺíĺíč˙
  • ++
  • ApplyUpdates-> çŕďčńŕňü íĺńîőđŕíĺííűĺ čçěĺíĺíč˙ â ÁÄ, ďđč÷ĺě â ďŕęĺňíîě đĺćčěĺ - âńĺ çŕďčńč ďî-î÷ĺđĺäč ++ , ęîăäŕ äë˙ ęŕćäîé čç çŕďčńĺé : ++
      ++
    • ŕíŕëčçčđóĺňń˙ ňčď îáíîâëĺíč˙ - äîáŕâëĺíčĺ/čçěĺíĺíčĺ čëč óäŕëĺíčĺ, č â çŕâčńčěîńňč îň ýňîăî ňčďŕ, âîçěîćíű äâŕ âŕđčŕíňŕ ďđîäîëćĺíč˙: ++
        ++
      1. ŕâňîěŕňč÷ĺńęŕ˙ ăĺíĺđŕöč˙ č âűďîëíĺíčĺ SQL-ęîěŕíäű ++
          ++
        • âîçěîćíŕ, ęîăäŕ đĺäŕęňčđóĺěűé çŕďđîń âűë îáđŕůĺí ę îäíîé ňŕáëčöĺ, ŕ ňŕęćĺ ĺńňü âîçěîćíîńňü îäíîçíŕ÷íî îďđĺäĺëčňü ěĺńňîďîëîćĺíčĺ â çŕďđîńĺ, ÷ĺđĺç: ++
            ++
          • ŕâňîěŕňč÷ĺńęč íŕéäĺííűé číäĺęń -> îďöč˙ "UsePrimaryKeyAsKey" ++ - âđ˙ä ëč ++ ńňîčň íŕäĺ˙ňüń˙
          • ++
          • ňŕę íŕçűâŕĺěűĺ "ProviderFlags" îňäĺëüíűő ńňîáöîâ çŕďđîńŕ : ++
              ++
            • "pfInKey" č "pfInWhere" -> âęëţ÷ŕňü äŕííűé ńňîëáĺö â WHERE-ôčëüňđű SQL -ęîěŕíä
            • ++
            ++
          • ++
          ++
        • ++
        • áóäĺň ëč ęîíęđĺňíűé ńňîëáĺö âęëţ÷ŕňüń˙ â SET -ńĺęöčţ ńăĺíĺđčđîâŕííűő "UPDATE" SQL-ęîěŕíä - îďđĺäĺë˙ĺňń˙ "ProviderFlag"-îě "pfInUpdate"
        • ++
        ++
      2. ++
      3. ńŕěîńňî˙ňĺëüíîĺ íŕďčńŕíčĺ SQL-ęîěŕíäű, îňňŕëęčâŕ˙ńü îň čçâĺńňíîăî ňčďŕ îáíîâëĺíč˙ : ++
      4. ++
      ++
        ++
          ++
        • âűďîëí˙ĺňń˙ âíóňđč ńďĺöčŕëüíî îňáđŕáîň÷čęŕ ńîáűňč˙ "onapplyrecupdate", íŕëč÷čĺ ýňîăî îáđŕáîň÷čęŕ âűęëţ÷ŕĺň ŕâňîăíĺđŕöčţ (ńě. âűřĺ )
        • ++
        • ˙âë˙ĺňń˙ íŕčáîëĺĺ ăčáęčě, ňŕę ęŕę ďîçâîë˙ĺň ++
            ++
          • îáíîâë˙ňü çŕďđîńű, îáđŕůĺííűĺ ę íĺńęîëüęčě ňŕáëčöŕě, ÁÄ-ôóíęöč˙ě, views, č ďđî÷čě "read-only" ÁÄ-îáúĺęňŕě
          • ++
          • čńďîëüçîâŕňü ďđîěĺćóňî÷íűĺ ęîěŕíäű, âđĺěĺííűĺ ňŕáëčöű č.ň.ď.
          • ++
          ++
        • ++
        ++
      ++
    • ++
    ++
  • ++
++

 

++
++
++
++

 íŕřĺě ńëó÷ŕĺ äŕííűĺ â ňŕáëčöĺ "grdPersons" ďîëó÷ĺíű čç ěíîăî-ňŕáëč÷íîăî çŕďđîńŕ, ďîýňîěó ďî-ëţáîěó áóäĺě čńďîëüçîâŕňü ńďîńîá (2) .

++
++
++
++

mainfo -> qryPersons

++
++

äĺëŕĺě Active:=false, ÷ňîáű čçáĺćŕňü ęîĺ-ęŕęîé đóăŕíč

++
++
    ++
  • UsePrimaryKeyAsKey:= false
  • ++
  • onapplyrecupdate:= personsupdate
  • ++
  • controller -> fields = "<id><tmsefield>" -> DeleteItem // îńâîáîäčňü ďîä "fldPersonId", ńě íčćĺ
  • ++
++
++

Óđîíčňü íŕ "mainfo", ăäĺ-íčáóäü ďîä ęîěďîíĺíň "trans", ń ďŕëčňđű "DBF" :

++
++

DBF->tmselongintfield :

++
    ++
  • Name:= fldPersonId
  • ++
  • DataSet:= qryPersons
  • ++
  • FieldName:= id
  • ++
++

Ďđčěĺ÷ŕíčĺ :

++
    ++
  • "fldPersonId" ęŕę îňäĺëüíűé ęîěďîíĺíň čěĺĺň ńěűńë ďđč ěíîăîęđŕňíîě îáđŕůĺíčč ę çíŕ÷ĺíčţ ďîë˙. Áîëĺĺ ďđčâű÷íűé ńďîńîá "qryPersons.fieldbyname('id')" çäĺńü îęŕçűâŕĺňń˙ ěĺíĺĺ ýôôĺęňčâíűě, ňŕę ęŕę ďîäđŕçóěĺâŕĺň ďîčńę ďîë˙ ďî čěĺíč ńđĺäč ńďčńęŕ ďîëĺé ďđč ęŕćäîě îáđŕůĺíčč
  • ++
++
++

č âîçâđŕůŕĺě "qryPersons.Active:=true"

++
++

č îďčńűâŕĺě ęîä "personsupdate" :

++
++

procedure tmainfo.personsupdate(
++  const sender: tmsesqlquery;
++  const updatekind: TUpdateKind;
++  var asql: AnsiString;
++  var done: Boolean);
++ begin
++  with qryPersons do begin
++   case updatekind of // ŕíŕëčçčđóĺňń˙ ňčď îáíîâëĺíč˙
++    ukModify: begin // čçěĺíĺíčĺ ňĺęóůĺé çŕďčńč
++     asql:= 'update persons set '+
++      'descr=' + fldName.assql +
++      ',country_id=' + fldCountryId.assql +
++      ',feature_id=' + fldFeatureId.assql +
++      ',occupation_id=' + fldOccupationId.assql +
++      ',sexual_potention=' + fldSexPotention.assql +
++      ',if_happy=' + fldHappy.assql +
++      ',dateofbirth=' + fldDateOfBirth.assql +
++      ' where id='+ fldPersonId.assql + ';';
++    end;
++    ukInsert: begin // äîáŕâëĺíčĺ íîâîé çŕďčńč
++     asql:= 'insert into persons (' +
++      'id' +
++      ',descr' +
++      ',country_id' +
++      ',feature_id' +
++      ',occupation_id' +
++      ',sexual_potention' +
++      ',if_happy' +
++      ',dateofbirth' +
++      ') values (' +
++      'nextval('+ #39 + 'person_id_seq' + #39 + ')' +
++      ',' + fldName.assql +
++      ',' + fldCountryId.assql +
++      ',' + fldFeatureId.assql +
++      ',' + fldOccupationId.assql +
++      ',' + fldSexPotention.assql +
++      ',' + fldHappy.assql +
++      ',' + fldDateOfBirth.assql +
++      ')';
++      writeln(asql);
++    end;
++    ukDelete: begin // óäŕëĺíčĺ ňĺęóůĺé çŕďčńč
++     asql:= 'delete from persons where id=' + fldPersonId.assql;
++    end;
++   end;
++  end;
++ end;

++
++

Ňî ĺńňü âčäčě ôîđěčđîâŕíčĺ îáű÷íîé SQL-ęîěŕíäű. ×ňîáű ýňŕ ęîěŕíäŕ đĺŕëüíî âűďîëíčëŕńü, íóćíî âńĺăî ëčřü âűçâŕňü ěĺňîä "qryPersons.ApplyUpdates" - ęîňîđűé ńôîđěčđóĺň č âűďîëíčň ňŕęčĺ ćĺ ęîěŕíäű ďîńëĺäîâŕňĺëüíî äë˙ âńĺő "íóćäŕţůčőń˙" çŕďčńĺé.

++

Íî č ýňî íĺň âńĺ ! Âńĺ SQL-ęîěŕíäű, íŕ÷číŕ˙ ń ďĺđâč÷íîé âűáîđęč äŕííűő, âűďîëí˙ţňń˙ â đĺćčěĺ íĺ˙âíîé ňđŕíçŕęöčč. Ďîýňîěó, ÷ňîáű çŕôčęńčđîâŕňü äŕííűĺ â ÁÄ, íóćíî ýňó ňđŕíçŕęöčţ ďîäňâĺđäčňü ( "Commit" ). Äŕëĺĺ, ďîńëĺ ďîäňâĺđćäĺíč˙ ňđŕíçŕęöčč, ďĺđâč÷íŕ˙ âűáîđęŕ ńáđŕńűâŕĺňń˙ č ńâ˙çŕííűĺ ń íĺé ęîěďîíĺíňű î÷čůŕţňń˙ (÷ňî 100% ďđŕâčëüíî - âĺäü ňĺďĺđü ńîäĺđćčěîĺ ÁÄ ěîćĺň íĺ ńîâďŕäŕňü ńî "ńňŕđűěč" çíŕ÷ĺíč˙ěč ęîěďîíĺíňîâ ) . Íčęŕęčő ďđîáëĺě - íóćíî ďđîńňî ďĺđĺóńňŕíîâčňü ńâîéńňâî "Active:= true" ó ńáđîřĺííűő âűáîđîę, â íŕřĺě ńëó÷ŕĺ - ó "qryPersons".

++

Ĺůĺ îäčí ďîáî÷íűé ýôôĺęň - ńáđîń ňŕę íŕçűâŕĺěűő çŕęëŕäîę ( "bookmark" ) , ďîýňîěó ďîńëĺ ďîâňîđíîé çŕăđóçęč äŕííűő íîěĺđ ňĺęóůĺé ńňđîęč ňŕęćĺ áóäĺň ńáđîřĺí. Ďîýňîěó, ĺńëč ěű őîňčě âîńńňŕíîâčňü ěĺńňîíŕőîćäĺíčĺ ďîńëĺ îáíîâëĺíč˙ äŕííűő - íóćíî ńäĺëŕňü ýňî â ęîäĺ (÷ĺđĺç ńďĺöčŕëüíóţ ďĺđĺěĺííóţ äë˙ őđŕíĺíč˙ ęëţ÷ŕ ňĺęóůĺé çŕďčńč ňŕáëčöű "persons", âěĺńňĺ ń ęîäîě ńîőđŕíĺíč˙ č âîîńňŕíîâëĺíč˙ ýňîăî ęëţ÷ŕ ).

++
++

Ďđčěĺ÷ŕíčĺ:

++
    ++
  • ęëţ÷ ňĺęóůĺé çŕďčńč â čäĺŕëĺ - çíŕ÷ĺíčĺ óíčęŕëüíîăî ďîë˙ ňŕáëčöű, â íŕřĺě ńëó÷ŕĺ - ďîëĺ "id".
  • ++
++
++

Äîáŕâčě ýňó ďĺđĺěĺííóţ â ńĺęöčţ "implementation" ôŕéëŕ "main.pas"

++
++

var
++  prevkey: integer ; // ďĺđĺěĺííŕ˙ äë˙ őđŕíĺíč˙ ęëţ÷ŕ ňĺęóůĺé ńňđîęč "qryPersons"

++
++

++

 ęîäĺ ( îáíîâëĺíčĺ + ďĺđĺâűáîđęŕ ) äŕííűő äĺëŕţňń˙ ÷ĺđĺç äîáŕâëĺíčĺ âűçîâîâ "ApplyUpdates", "Commit" č "Active:=true" â ďđîöĺäóđű "editformshow", "addformshow" č "deleterecord" â ôŕéëĺ "main", č ýňč ďđîöĺäóđű ďđčíčěŕţň ńëĺäóţůčé âčä :

++
++

editformshow :

++
++

procedure tmainfo.editformshow (const sender: TObject);
++ begin
++  try
++   with qryPersons do begin
++    // çŕďîěíčňü ďîçčöčţ íŕ ńëó÷ŕé îňęŕçŕ îň čçěĺíĺíčé
++    prevkey:= fldPersonId.asinteger;
++     edit; // âîéňč â đĺćčě đĺäŕęňčđîâŕíč˙ ňĺęóůĺé çŕďčńč
++     application.createform(teditfo,editfo);
++     editfo.caption:= ' Editing a person => '+ fldName.asstring;
++     case editfo.show(true) of
++      mr_ok: begin // ĺńëč ôîđěŕ đĺäŕęňčđîâŕíč˙ çŕęđűňŕ ęíîďęîé "Ok", ňî
++       applyupdates; // ńôîđěčđîâŕňü č âűďîëíčňü SQL-ęîěŕíäó íŕ îáíîâëĺíčĺ,
++       trans.commit; // ďîäňâĺđäčňü ýňó SQL-ęîěŕíäó,
++       active:= true; // ďĺđĺ÷čňŕňü îáíîâëĺííîĺ ńîäĺđćčěîĺ ÁÄ
++       locate(prevkey, fldPersonId); // č âĺđíóňüń˙ íŕ ďđĺćíţţ ďîçčöčţ
++      end else begin
++       cancel; // îňęŕçŕňüń˙ îň çŕďčńč â ÁÄ
++      end;
++     end;
++   end;
++   finally
++    editfo.free;
++   end;
++ end;

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • "editfo.caption:= ' Editing a person => '+ fldName.asstring;" - ďîęŕçűâŕĺň äĺňŕëč ďî ôîđěĺ ( čçěĺíĺíčĺ äŕííűő č ďî ęŕęîé ďĺđńîíĺ )
  • ++
++

 

++
++
++
++

addformshow :

++
++

procedure tmainfo.addformshow(const sender: TObject);
++ begin
++  try
++   with qryPersons do begin
++    // çŕďîěíčňü ďîçčöčţ íŕ ńëó÷ŕé îňęŕçŕ îň čçěĺíĺíčé
++    prevkey:= fldPersonId.asinteger;
++    // ńîçäŕňü íîâóţ çŕďčńü, ńäĺëŕňü ĺĺ ňĺęóůĺé
++    // č âîéňč â đĺćčě ĺĺ đŕäŕęňčđîâŕíč˙
++    append;
++    application.createform(teditfo,editfo);
++    editfo.caption:= ' Adding a new person';
++
++    case editfo.show(true) of
++     mr_ok: begin // ĺńëč ôîđěŕ đĺäŕęňčđîâŕíč˙ çŕęđűňŕ ęíîďęîé "Ok", ňî
++      applyupdates; // ńôîđěčđîâŕňü č âűďîëíčňü SQL-ęîěŕíäó íŕ äîáŕâëĺíčĺ,
++      trans.commit; // ďîäňâĺđäčňü ýňó SQL-ęîěŕíäó,
++      active:= true; // ďĺđĺ÷čňŕňü îáíîâëĺííîĺ ńîäĺđćčěîĺ ÁÄ
++      last; // č âńňŕňü íŕ äîáŕâëĺííóţ çŕďčńü
++     end else begin // ĺńëč ćĺ ęíîďęîé "Cancel", ňî
++      cancel; // îňęŕçŕňüń˙ îň çŕďčńč â ÁÄ
++      locate(prevkey, fldPersonId); // č âĺđíóňüń˙ íŕ ďđĺäűäóůóţ ďîçčöčţ
++     end;
++    end;
++
++   end;
++  finally
++   editfo.free;
++  end;
++ end;

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • "editfo.caption:= ' Adding a new person';" - ďîęŕçűâŕĺň, ÷ňî äŕííŕ˙ ôîđěŕ - íĺ äë˙ đĺäŕęňčđîâŕíč˙, ŕ čěĺííî äë˙ äîáŕâëĺíč˙ íîâîé ďĺńîíŕëčč
  • ++
++

 

++
++
++
++

deleterecord :

++
++

procedure tmainfo.deleterecord(const sender: TObject);
++ var
++  recnum: integer;
++ begin
++  if askyesno('Are you a nut ???','Deletion request',mr_no,200) then begin
++   with qryPersons do begin
++    recnum:= recno;
++    delete; // ďîěĺňčňü ňĺęóůóţ çŕďčńü íŕ óäŕëĺíčĺ
++    applyupdates; // ńôîđěčđîâŕňü č âűďîëíčňü SQL-ęîěŕíäó íŕ óäŕëĺíčĺ,
++    trans.commit; // ďîäňâĺđäčňü ýňó SQL-ęîěŕíäó,
++    active:= true; // ďĺđĺ÷čňŕňü îáíîâëĺííîĺ ńîäĺđćčěîĺ ÁÄ
++    if recno > 0 then
++      recno:= recnum - 1; // č âńňŕňü íŕ çŕďčńü, ďîńëĺäííţţ ďĺđĺä óäŕëĺííîé
++  end;
++ end;

++

Îáđŕňčňĺ âíčěŕíčĺ, ÷ňî â ýňîé ďđîöĺäóđĺ âěĺńňî ęëţ÷ŕ ńňđîęč ( prevkey ) čńďîëüçóĺňń˙ çíŕ÷ĺíčĺ "qryPersons.RecNo" - íîěĺđ ńňđîęč â ňŕáëčöĺ ( ôčęńčđóĺěűé âî âíóňđĺííĺé ďĺđĺěĺííîé "recnum". Ďî÷ĺěó ? Ďîňîěó ÷ňî ďîëĺ "id' ďîńëĺ óäŕëĺíč˙ çŕďčńč óćĺ íĺ áóäĺň ńîäĺđćŕňü čńęîěîăî çíŕ÷ĺíč˙.

++


++

++
++
++

Îáđŕňčňĺ ňŕęćĺ âíčěŕíčĺ íŕ ( íĺîá˙çŕňĺëüíűĺ ) çŕěĺíű, ńâ˙çŕííűĺ ń ââĺäĺíčĺě ęîěďîíĺíňŕ "fldPersonId" :

++
    ++
  • prevkey:= fieldbyname('id').asinteger -> prevkey:= fldPersonId.asinteger
  • ++
  • locate(prevkey, fieldbyname('id') ) -> locate(prevkey, fldPersonId)
  • ++
++

Âńĺ - ňĺďĺđü ěîćíî çŕďóńňčňü ďđîăđŕěěó, îíŕ ďîëíîńňüţ ôóíęöčîíŕëüíŕ.

++

Íĺęîňîđűĺ ěĺëęčĺ řňđčőč :

++
    ++
  • ÷ňîáű çŕńňŕâčňü ęíîďęó áűňü "ďî-óěîë÷ŕíčţ" ( ńđŕáŕňűâŕňü ďđč íŕćŕňčč "Enter" ńđŕçó ďîîëĺ îňęđűňč˙ ôîđěű ), č âîîáůĺ íŕçíŕ÷čňü ďîđ˙äîę ďĺđĺőîäŕ ěĺćäó ęîěďîíĺíňŕěč ďđč çŕâĺđřĺíčč â ęŕćäîě čç íčő -> čńďîëüçóéňĺ ńâîéńňâî "TabOrder" ( >=0 ), ďđč÷ĺě ěĺíüřčĺ çíŕ÷ĺíč˙ čěĺţň áîëüřčé ďđčîđčňĺň.
  • ++
  • ÷ňîáű ôîđěŕ "editfo" çŕęđűâŕëŕńü ďđč íŕćŕňčč ęëŕâčřč "Esc" ( óäîáíî, ĺńëč íĺ čńďîëüçóĺňń˙ ěűřü) : ++
    ++

    editfo->options->fo_closeonesc:= true

    ++
    ++
  • ++
  • ÷ňîáű íóćíŕ˙ íŕě ôîđěŕ âűâîäčëŕńü â öĺíňđĺ ýęđŕíŕ ( óäîáíî, ĺńëč đŕçđĺřĺíčĺ ýęđŕíŕ ěîćĺň ěĺí˙ňüń˙ ) : ++
    ++

    editfo->options->fo_screencentered:= true

    ++
    ++
  • ++
  • ÷ňîáű âűçűâŕňü ôîđěó đĺäŕęňčđîâŕíč˙ "editfo" ďđč äâîéíîě ůĺë÷ęĺ ěűřč ďî ńňđîęĺ : ++
      ++
    • mainform->grdPersons->oncellevent:= personsevent : ++

      procedure tmainfo.personsevent(
      ++   const sender: TObject;
      ++   var info: celleventinfoty);
      ++ begin ++
      ++  if (cek_buttonrelease = info.eventkind) and
      ++     (sender as twidget).isdblclick(info.mouseeventinfopo^) then
      ++  begin
      ++     actEdit.execute;
      ++  end;
      ++ end;

      ++
    • ++
    ++
    ++

    ňî ĺńňü ŕíŕëčçčđóĺě ôŕęň îňďóńęŕíč˙ ěűřč â ďđĺäĺëŕő "grdPersons", č ĺńëč ýňîň ôŕęň ńîîňâĺňńňâóĺň äâîéíîěó ůĺëęó ëĺâîé ęíîďîęîé - íŕďđ˙ěóţ çŕďóńęŕĺě äĺéńňâčĺ, íŕçíŕ÷ĺííîĺ ęîěďîíĺíňó "actEdit"

    ++

    čëč ĺůĺ áîëĺĺ óďđîůĺííűé ( đĺęîěĺíäóĺěűé ) âŕđčŕíň :

    ++
    ++

    procedure tmainfo.personsevent(
    ++   const sender: TObject;
    ++   var info: celleventinfoty);
    ++ begin
    ++
     if iscellclick( info,[ccr_dblclick] ) then begin
    ++   actEdit.execute;
    ++  end;
    ++ ++ end;

    ++
    ++

    č (äë˙ ńďđŕâęč) ńîâńĺě íčçęîóđîâíĺâűé ęîä :

    ++
    ++

    with info,mouseeventinfopo^ do begin
    ++  if (cek_buttonrelease = info.eventkind ) and
    ++     (ss_double in shiftstate) and
    ++     (button = mb_left)
    ++  then begin
    ++   actEdit.execute;
    ++  end;
    ++ end;

    ++

    ++
    ++

    Ďđčěĺ÷ŕíč˙ :

    ++
      ++
    • "iscellclick" óäîáíŕ ĺůĺ č ňĺě, ÷ňî, ďî óěîë÷ŕíčţ, íŕćŕňčĺ "Enter" ýęâčâŕëĺíňíî äâîéíîěó ůĺë÷ęó ( îňęëţ÷čňü ýňî ďîâĺäĺíčĺ ěîćíî, âęëţ÷čâ îăđŕíč÷ĺíčĺ "ccr_nokeyreturn" â "[..]" ńďčńęĺ)
      ++
    • ++
    • âîň ěű óâčäĺëč ĺůĺ îäčí âŕđčŕíň ŕęňčâčçŕöčč ęîěďîíĺíňîâ ňčďŕ "taction" - ÷ĺđĺç ďđ˙ěîé âűçîâ "execute", č ďîëó÷čëč ĺůĺ îäíî ďîäňâĺđćäĺíčĺ áîëüřîăî óäîáńňâŕ č ăčáęîńňč "taction"
      ++
    • ++
    • ďî óěîë÷ŕíčţ číňĺđâŕë îáíŕđóćĺíč˙ äâîéíîăî ůĺë÷ęŕ â "MSEgui" đŕâĺí 0.4 ńĺę, âĺńüěŕ ńčëüíî îňëč÷ŕţůĺĺń˙ îň çíŕ÷ĺíč˙ 0.2 ńĺę, ďđčí˙ňîěó ďî óěîë÷ŕíčţ â ńđĺäĺ X11 ; äŕííűé číňĺđâŕë ěîćíî čçěĺíčňü ńëĺäóţůčě ńďîńîáîě : ++
      ++
      ++

      â ńŕěîé MSEgui-ďđîăđŕěěĺ - â ńňŕđňîâîě ôŕéëĺ ďđîĺęňŕ :

      ++

      // čçěĺđ˙ĺňń˙ â (1/1.000.000) ńĺęóíäű
      ++ application.dblclicktime:= 200000;
      ++ application.createform(tmainfo,mainfo);
      ++ application.run;

      ++

      Ďđčěĺ÷ŕíčĺ :

      ++
        ++
      • â ďđčíöčďĺ, äŕííóţ íŕńňđîéęó ěîćíî çŕäŕâŕňü č ěĺí˙ňü â ëţáîě ěĺńňĺ ďđîăđŕěěű
        ++
      • ++
      • MSEgui čńďîëüçóĺň ńîáńňâĺííűé ŕëăîđčňě äë˙ čńęëţ÷ĺíč˙ íĺâĺđíîé číňĺđďđĺňŕöčč "äâîéíîăî ůĺë÷ęŕ " â ńëó÷ŕ˙ő, ęîăäŕ óęŕçŕňĺëü ěűřč çŕ âđĺě˙ ěĺćäó ůĺë÷ęŕěč óńďĺâŕĺň ďĺđĺěĺńňčňüń˙ íŕ äđóăîé âčçóŕëüíűé ęîěďîíĺíň ( čëč ˙÷ĺéęó ňŕáëčöű ), ďđč÷ĺě äŕííűé ŕëăîđčňě íĺ çŕâčńčň îň îćčäŕĺěîăî číňĺđâŕëŕ ěĺćäó ůĺë÷ęŕěč .
        ++ Ďîýňîěó "application.dblclicktime" ěîćĺň ďđčíčěŕňü âĺńüěŕ áîëüřčĺ çíŕ÷ĺíč˙ áĺç ęŕęčő-ëčáî ďđîáëĺě, č ďîëüçîâŕňĺëţ íĺ íóćíî ňîđîďčňüń˙ ńî ůĺë÷ęŕěč.
        ++ Ĺäčíńňâĺííîĺ , î ÷ĺě â ýňîě ńëó÷ŕĺ íŕäî ďîěíčňü - äë˙ ňŕáëčö čńďîëüçóéňĺ čěĺííî "iscellclick( info,[ccr_dblclick]", ňŕę ęŕę ňîëüęî çäĺńü âűďîëí˙ĺňń˙ ďđîâĺđęŕ íŕ ďĺđĺěĺůĺíčĺ â ńîńĺäíčĺ ˙÷ĺéęč ňŕáëčöű
      • ++
      ++
      ++
    • ++
    ++
    ++
  • ++
++

Âńĺ, ňĺďĺđü ěű ěîćĺě ďđîńěŕňđčâŕňü č đĺäŕęňčđîâŕňü äŕííűĺ î ăŕëŕęňč÷ĺńęčő ďĺđńîíŕëč˙ő - čő čěĺíŕő, ěĺńňîćčňĺëüńňâĺ, ÷ĺđňŕő őŕđŕęňĺđŕ č ň.ä.
++ Íî ÷ňî äĺëŕňü, ĺńëč â íŕřĺé ăŕëŕňčęĺ îňęđűňŕ íîâŕ˙ ďëŕíĺňŕ, č íŕ íĺé ňîćĺ îáíŕđóćĺíű đŕçóěíűĺ ńóůĺńňâŕ ? Čëč ęŕęŕ˙-ňî çëîáíŕ˙ öčâčëčçŕöč˙ đŕńďűëčëŕ îäíó čç íŕřčő ďëŕíĺň íŕ ŕňîěű ? Čëč íĺęčĺ đĺâîëţöčîíĺđű çŕőâŕňčëč âëŕńňü č ďĺđâűě äĺëîě ďĺđĺčěĺíîâŕëč ńâîţ ďëŕíĺňó ? Čëč â íŕřĺé ăŕëŕęňčęĺ íŕęîíĺö-ňî čçćčňű íĺęčĺ îěĺđčçčňĺëüíűĺ ÷ĺđňű őŕđŕęňĺđŕ ?
++ Ďđŕâčëüíî, íóćíî čěĺňü ńĺđâčń ďî đĺäŕęňčđîâŕíčţ ďëŕíĺň ( çŕîäíî - ęîíňčíĺňîâ č ńňđŕí íŕ ýňčő ďëŕíĺňŕő ) . Ŕíŕëîăč÷íî ęŕńŕĺňń˙ ÷ĺđň őŕđŕęňĺđŕ č đîäîâ äĺ˙ňĺëüíîńňč.

++

Ďîýňîěó ďĺđĺőîäčě íŕ ńëĺäóţůčé ýňŕď - ďđîńěîňđ č đĺäŕęňčđîâŕíčĺ ńďđŕâî÷íűő ňŕáëčö.

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/exe_squeezing.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/exe_squeezing.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/exe_squeezing.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/exe_squeezing.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,84 ---- ++ ++ ++ ++ Ěčíčěčçŕöč˙ đŕçěĺđŕ čńďîëí˙ĺěîăî ôŕéëŕ ++ ++ ++ ++ ++ ++

Óěĺíüřĺíčĺ đŕçěĺđŕ čńďîëí˙ĺěîăî ôŕéëŕ

++

Čńőîäíűé đŕçěĺđ čńďîëí˙ĺěîăî ôŕéëŕ "persons" - 6.109.004 áŕéň.

++

Çŕőîäčě â íŕńňđîéęč íŕřĺăî ďđîĺęňŕ :

++
    ++
  • Project -> Options -> Make
    ++ č ńěîňđčě ňŕáëčöó "Make options", čůĺě â íĺé ńňđîęó ń "-gl" ( âęëţ÷ŕňü îňëŕäî÷íóţ číôîđěŕöčţ ), ŕ â ýňîé ńňđîęĺ - ńňîëáĺö, â ęîňîđîě íĺň ęđĺńňčęŕ. Ďî óěîë÷ŕíčţ, ýňî áóäĺň ńňîëáĺö, îçŕăëŕâëĺííűé öčôđîé "4".
    ++ Ýňî çíŕ÷čň, ÷ňî ďĺđĺńîáđŕâ ďđîĺęň ęîěŕíäîé čç ěĺíţ "Project -> Make 4" - ěű ďîëó÷čě ôŕéë áĺç îňëŕäî÷íîé číôîđěŕöčč.
    ++ Äĺëŕĺě čěĺííî ňŕę, áĺç âń˙ęčő äîďîëíčňĺëüíűő íŕńňđîĺę - ďđîńňî "Project -> Make 4".
  • ++
++

Ó ěĺí˙ â đĺçóëüňŕňĺ ďîëó÷čëń˙ đŕçěĺđ 1.707.828 áŕéň.

++

Ńđŕçó îăîâîđţńü, ÷ňî çäĺńü, ęđîěĺ âűęčäűâŕíč˙ îňëŕäî÷íîé číôîđěŕöčč, áűëŕ âűďîëíĺíŕ "óěíŕ˙ ëčíęîâęŕ" ( îďöč˙ "-XX" ) ń áčáëčîňĺęŕěč FreePascal ( ňĺěč, ÷ňî ďđĺäńňŕâëĺíű ôŕéëŕěč ń řŕáëîíŕěč čěĺí "lib*.a" )

++

Íî íč ńŕě ďđîĺęň, íč MSEgui-áčáëčîňĺęč íĺ áűëč ďîäăîňîâëĺíű ę "óěíîé ëčíęîâęĺ", ŕ ďîňîěó ďîďŕëč â âűőîäíîé ôŕéë ďîëíîńňüţ. Ňî ĺńňü ýęîíîěč˙ âűřëŕ çŕ ń÷ĺň óäŕëĺíč˙ îňëŕäî÷íîé číôîđěŕöčč č âç˙ňč˙ íĺîáőîäčěîăî ěčíčěóěŕ čç áčáëčîňĺę FPC.

++

Ĺůĺ áîëüřĺăî ěîćíî äîáčňüń˙, âęëţ÷čâ đĺćčě "óěíîé ęîěďčë˙öčč" ( ńŕěîăî ďđîĺęňŕ č MSEgui-áčáëčîňĺę, ÷ňîáű ňîćĺ âç˙ňü čç íčő íĺîáőîäčěűé ěčíčěóě ), âďčńŕâ â ďîńëĺäíţţ ńňđîęó îďöčţ "-CX", â đĺçóëüňŕňĺ ÷ĺăî ďîëó÷čě ăđóďďó íŕńňđîĺę ęŕę íŕ đčńóíęĺ :

++

 

++

++

 

++

Ňĺďĺđü, ďĺđĺńîáđŕâ ďđîĺęň ňîé ćĺ ęîěŕíäîé "Project -> Make 4", ďîëó÷ŕĺě đŕçěĺđ ôŕéëŕ 1.190.068 áŕéň, ÷ňî î÷ĺíü äŕćĺ íĺďëîőî äë˙ ńëîćíîăî DataBase-ďđîĺęňŕ !

++

Çŕéä˙ â ęŕňŕëîă íŕřĺăî ďđîĺęňŕ č â ęŕňŕëîăč MSEgui-áčáëčîňĺę, ěű ňîćĺ óâčäčě ňŕě ôŕéëű "lib*.a".

++

Čěĺéňĺ ââčäó, ÷ňî :

++
    ++
  • âĺđńčč FreePascal äë˙ đŕçđŕáîň÷čęŕ ( 2.1.ő ) ńîâĺđřĺííî íĺ îá˙çŕíű ďđŕâčëüíî îňđŕáŕňűâŕňü "óěíűĺ" ęîěďčë˙öčţ č ëčíęîâęó ! Íĺ óäčâë˙éňĺńü ďîňîě, ĺńëč íĺ ďîëó÷čňĺ îćčäŕĺěîăî ýôôĺęňŕ.
    ++
  • ++
  • ńáîđęŕ ń ęëţ÷ŕěč "-XX" č "-CX" : ++
      ++
    • â äĺń˙ňęč đŕç ěĺäëĺííĺĺ îáű÷íîé ńáîđęč ( çŕďóńęŕĺěîé "Project -> Build" ), č ďîňîěó - äîëćíŕ čńďîëüçîâŕňüń˙ ńóăóáî ďĺđĺä ńäŕ÷ĺé ďđîĺęňŕ çŕęŕç÷čęó
      ++
    • ++
    • âűęëţ÷ŕĺň ďîřŕăîâóţ îňëŕäęó ( äŕćĺ ĺńëč âęëţ÷ĺíŕ îďöč˙ îňëŕäî÷íîé číôîđěŕöčč "-gl" ) , ÷ňîáű âĺđíóňü ďîřŕăîâóţ îňëŕäęó, íóćíî áóäĺň ďĺđĺńîáđŕňü ďđîĺęň â îáű÷íîě đĺćčěĺ ( "Project -> Build" )
    • ++
    ++
  • ++
++

Äŕëüíĺéřĺĺ óěĺíüřĺíčĺ đŕçěĺđŕ âîçěîćíî çŕ ń÷ĺň ďđčěĺíĺíč˙ ďđîăđŕěě-óďŕęîâůčęîâ ňčďŕ UPX, ó ěĺí˙, ďî ęîěŕíäĺ

++
++

upx -9 ./persons

++
++

ďîëó÷čëń˙ đŕçěĺđ ôŕéëŕ 457.398 áŕéň. Čěĺéňĺ ââčäó, ÷ňî äŕííîĺ óěĺíüřĺíčĺ čěĺĺň ńâîţ öĺíó - đŕńďŕęîâó ôŕéëŕ â ěîěĺíň çŕďóńęŕ ďđîăđŕěěű ( ń îůóňčěîé ďŕóçîé, "îňúĺäŕíčĺě" ďŕě˙ňč č ň.ď. ), ďîýňîěó - íĺ čńďîëüçóéňĺ ęŕę ńŕěîöĺëü.

++

Âîîáůĺ, ŕ ęŕęîâ ěčíčěŕëüíűé ďđĺäĺë đŕçěĺđŕ FPC-ďđîăđŕěěű, ńî âńĺěč îďöč˙ěč "óěíîé" ęîěďčë˙öčč č ëčíęîâęč ( ppc386 -mobjfpc -CX -XX {file}.pas; strip -s {file} ) ?

++

Ďóńňŕ˙ ďđîăđŕěěŕ íŕ FPC-2.0.4 :

++
++

program test;
++
++ begin
++ end.

++
++

äŕĺň 115 Ęáŕéň.

++

Ňŕ ćĺ ďđîăđŕěěŕ, íî çŕäĺéńňâóţůŕ˙ ÁÄ-ńĺđâčńű :

++
++

program test;
++
++ uses
++   db, sqldb;
++
++ begin
++ end.

++
++

äŕĺň óćĺ 552 Ęáŕéň ( ňđŕíçčňîě ÷ĺđĺç óâĺńčńňóţ ńŕěó-ďî-ńĺáĺ ÁÄ-ďîääĺđćęó âęëţ÷ŕţňń˙ ňŕęćĺ óâĺńčńňűĺ ěîäóëč ďîääĺđćęč ++ "varaints" č "widestring" ) .

++

Äŕëüíĺéřĺĺ óńëîćíĺíčĺ ýňîé ďđîăđŕěěű íĺ äŕĺň ńóůĺńňâĺííîăî óâĺëč÷ĺíč˙ đŕçěĺđŕ :

++
++

program test;
++ uses
++   db, sqldb, pqconnection;
++
++ var
++  conn: tpqconnection;
++  qry: tsqlquery;
++
++ begin
++ end.

++
++

âńĺăî-ňî 555 Ęáŕéň, ňî ĺńňü ďđčđîńň â 3 ĘÁŕéň.

++

Čňîăî ěű âčäčě, ÷ňî âń˙ GUI-ďîääĺđćęŕ, ďđĺäîńňŕâëĺííŕ˙ áčáëčîňĺęîé MSEgui, çŕí˙ëŕ 1.1 M - 0.55 M = 550 K. Ńîăëŕńčňĺńü - íĺ î÷ĺíü-ňî č ěíîăî.

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/features_ref.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/features_ref.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/features_ref.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/features_ref.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,304 ---- ++ ++ ++ ++ Ńďđŕâî÷íčę ÷ĺđň őŕđŕęňĺđŕ ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íčę ÷ĺđň őŕđŕęňĺđŕ

++

Ńîçäŕĺě íîâóţ ôîđěó :

++
++

File -> New -> Form -> Simple Form ->

++
++

На запрос имени файла - ââîäčě "featureseditform" č ďîäňâĺđćäŕĺě -> ŕâňîěŕňč÷ĺńęč ńîçäŕĺňń˙ ôîđěŕ :

++

"featureseditfo"

++
    ++
  • caption := Features editor
  • ++
  • options -> ++
      ++
    • fo_screencentered:= true
    • ++
    ++
  • ++
  • bounds -> ++
      ++
    • "cx" č "cy" - ęŕę "planetseditfo"
    • ++
    ++
  • ++
  • oncreate := featureseditfocreated ++
    ++

    procedure tfeatureseditfo.featureseditfocreated(
    ++   const sender: TObject);
    ++ begin
    ++  application.createdatamodule(trefsdatamo, refsdatamo);
    ++  commonrefseditfo1.dsContents.dataset := grdFeatures.datasource.dataset;
    ++ end;

    ++
    ++
  • ++
  • ondestroy:= featureseditfodestroyed ++
    ++

    procedure tfeatureseditfo.featureseditfodestroyed(
    ++   const sender: TObject);
    ++ begin
    ++  refsdatamo.free;
    ++ end;

    ++
    ++
  • ++
++
++

Íĺ çŕáóäĺě âęëţ÷čňü â "uses" ńĺęöčţ "implementation" ôŕéëŕ "featureseditform.pas" ěîäóëü "refsdatamodule" :

++
++

implementation
++
++ uses
++   featureseditform_mfm,
++   // ďđĺäîńňŕâë˙ĺň ňčď "trefsdatamo" č îáúĺęň "refsdatamo"
++   refsdatamodule
++ ;

++
++
++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ îňîáđŕćĺíčĺ ôîđěű "refsdatamo" č âűáčđŕĺě "qryFeatures" :

++
    ++
  • óńňŕíîâčňü ďî öĺďî÷ęĺ (Active:= false ) -> ( UsePrimaryKeyAsKey := false ) -> (Active:= true )
  • ++
  • controller
  • ++
      ++
    • fields.count->[...] ++
        ++
      • ďĺđĺíĺńňč âńĺ "FieldDefs" -> "Fields "
      • ++
      ++
    • ++
    • fields ++
        ++
      • item 0 ( ăäĺ "FieldName" = "id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInKey:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 1 ( ăäĺ "FieldName" = "descr" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

 

++

Âíîâü âîçđŕůŕĺěń˙ íŕ ôîđěó "featureseditfo" ( âűáđŕâ ôŕéë "featureseditform.pas", č äŕëĺĺ, ĺńëč íĺîáőîäčěî - íŕćŕâ "F12" ).

++

Щелкнув на форме правой кнопкой, открыть меню, и, командой "Insert submodule" - вставить в форму субмодуль "commonrefseditform" . При необходимости - ďîäîăíŕňü размер, чтобы исчезли полосы прокрутки.

++

Óđîíčňü íŕ "featureseditfo" компонент DB -> tdbwidgetgrid, и установить для него ěĺńňî č đŕçěĺđ ęŕę ó "planetseditfo -> grdPlanets" :

++

name := grdFeatures

++
    ++
  • datasource := refsdatamo.dsFeatures
  • ++
  • anchors ++
      ++
    • an_left:= true
    • ++
    • an_top:= true
    • ++
    • an_right:= true
    • ++
    ++
  • ++
  • fixrows -> ++
      ++
    • item(-1) -> ++
        ++
      • color:= cl_ltgreen
      • ++
      • captions -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= Feature name
          • ++
          ++
        • ++
        ++
      • ++
      • captionsfix -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= #8470
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
  • fixcols -> ++
      ++
    • item(-1) -> ++
        ++
      • numstart:= 1
      • ++
      • numstep:= 1
      • ++
      • đŕńň˙íóňü ďđčěĺđíî ďîä 3 öčôđű
      • ++
      ++
    • ++
    ++
  • ++
  • rowcolors->AddItem ++
      ++
    • item 0:= [..] // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • item 1:= cl_green // ńŕëŕňíűé
    • ++
    ++
  • ++
  • datalink -> ++
      ++
    • options ++
        ++
      • gdo_propscrollbar:= true
      • ++
      • gdo_thumbtracking:= true
      • ++
      ++
    • ++
    • onupdaterowdata:= grdfeaturesupdaterowdata ++
      ++

      procedure tfeatureseditfo.grdfeaturesupdaterowdata(
      ++  const sender: tcustomgrid;
      ++  const arow: Integer; const adataset: TDataSet);
      ++ begin
      ++  case adataset.updatestatus of
      ++   usInserted: sender.rowcolorstate[arow]:= 0;
      ++   usModified: sender.rowcolorstate[arow]:= 1;
      ++  else
      ++   sender.rowcolorstate[arow]:= 255;
      ++  end;
      ++ end;

      ++
      ++

      č íĺ çŕáóäüňĺ äîáŕâčňü íóćíűĺ "unit" -ű â ńĺęöčţ "interface -> uses" :

      ++
      ++

      interface
      ++  uses
      ++  msegui,mseclasses,mseforms,commonrefseditform,msedbedit,
      ++  msegrids,
      ++  db
      ++ ;

      ++
      ++
    • ++
    ++
  • ++
++

 

++

Ňĺďĺđü ńîçäŕäčě č îďčřĺě ńňîëáöű "grdFeatures", ďîäëĺćŕůčĺ ďđîńěîňđó č đĺäŕęňčđîâŕíčţ.

++

Óđîíčňü íŕ "grdFeatures" компонент DB -> tdbstringedit :

++

name:= seFeature

++
    ++
  • datafield:= descr
  • ++
  • optionsedit ++
      ++
    • oe_notnull:= true
    • ++
    • oe_autopost:= true
    • ++
    ++
  • ++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdFeatures :

++
    ++
  • datacols -> ++
      ++
    • item 0 ++
        ++
      • options ++
          ++
        • co_proportional:= fill
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

 

++

Îńňŕëîńü ńäĺëŕňü âűçîâ "featureseditfo" ÷ĺđĺç ăëŕâíîĺ ěĺíţ ďđîăđŕěěű.

++

Ďĺđĺęëţ÷čňüń˙ íŕ äčçŕéí "mainfo" ( ôŕéë "main.pas" ).

++

Óđîíčňü â ëţáîě íĺçŕđčńîâŕííîě ěĺńňĺ "mainfo" ęîěďîíĺíň "GUI -> taction" :

++

Name:= actFeaturesEdit

++
    ++
  • onexecute:= featureseditexecute
  • ++
++
++

procedure tmainfo.featureseditexecute(const sender: TObject);
++ begin
++  try
++   application.createform(tfeatureseditfo, featureseditfo);
++   if featureseditfo.show(true) = mr_windowclosed then begin
++    qryPersons.active:= true;
++   end;
++  finally
++   featureseditfo.free;
++  end;
++ end;

++

Íĺ çŕáóäüňĺ äîáŕâčňü ńńűëęó íŕ ôŕéë "featureseditform" â ńĺęöčţ "interface" ôŕéëŕ "main.pas" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
++  msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
++  planetseditform,
++  continentseditform,
++  countrieseditform,
++  featureseditform
++ ;

++
++
++

Íŕńňđîčňü âűçîâ "actFeaturesEdit" čç îńíîâíîăî ěĺíţ ôîđěű ďđčëîćĺíč˙ ( mainfo ):

++

mnuMain :

++
    ++
  • menu ++
      ++
    • submenu ++
        ++
      • item 1 ++
          ++
        • submenu -> AppendItem ++
            ++
          • item 1 ++
              ++
            • caption:= &Features..
            • ++
            • action:= actFeaturesEdit
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Ôčíŕëüíűé âčä ôîđěű đĺäŕęňîđŕ ńďčńęŕ ÷ĺđň őŕđŕęňĺđŕ :

++

â äčçŕéíĺ :

++

++

č âî âđĺě˙ đŕáîňű ďđîăđŕěěű:

++

++

Äŕííűé ( ÷ĺđňű őŕđŕęňĺđŕ -> featureseditform ) ńďđŕâî÷íčę - ďî÷ňč ďîëíűé ŕíŕëîă âűřĺđŕńńěîňđĺííîăî ńďđŕâî÷íčęŕ ďëŕíĺň.

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/files_info.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/files_info.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/files_info.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/files_info.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,37 ---- ++ ++ ++ ++ Čńőîäíűĺ ôŕéëű ďđîĺęňŕ ++ ++ ++ ++ ++

Ôŕéëű čńőîäíčęîâ ďîëíîńňüţ đŕáî÷ĺăî ďđîĺęňŕ
++ ( íŕ ěîěĺíň íŕďčńŕíč˙ äŕííîăî đóęîâîäńňâŕ )

++

Ńęŕ÷ŕéňĺ ôŕéë persons.tgz.

++

Đŕńďŕęóéňĺ ýňî ŕđőčâ â ęŕňŕëîă, ăäĺ ďđîăđŕěěčńň ( Âű ? ) čěĺĺň äîńňóď íŕ çŕďčńü, č ńäĺëŕéňĺ ýňîăî ďđîăđŕěčńňŕ âëŕäĺëüöĺě âńĺő ýňčő ôŕéëîâ, ĺńňĺňńňâĺííî - ňîćĺ ń ďđŕâŕěč íŕ çŕďčńü.
++ Íĺ çŕáóäüňĺ, ÷ňî ňŕęčĺ ćĺ âëŕäĺëĺö č ďđŕâŕ äîńňóďŕ äîëćíű áűňü č íŕ ôŕéëű č ęŕňŕëîăč ńŕěîé MSEgui-áčáëčîňĺęč.

++

Çŕďóńę ďđîĺęňŕ :

++
    ++
  • çŕęđîéňĺ ďđĺäűäóůčé ďđîĺęň č, ÷ĺđĺç "Project -> Open", óęŕćčňĺ íŕ ôŕéë "persons.prj" â âűřĺîçíŕ÷ĺííîě ęŕňŕëîăĺ. ++
    ++
      ++
    • ýňîň ôŕéë ďîěíčň ďîńëĺäíĺĺ ěĺńňîíŕőîćäĺíčĺ ôŕéëîâ ďđîĺęňŕ ( íŕ ôŕéëîâîé ńčńňĺěĺ ěîĺăî đŕáî÷ĺăî ěĺńňŕ ), ďîýňîěó, â íĺęîňîđűő đĺäęčő ńëó÷ŕ˙ő - ěîćĺň ďîňđĺáîâŕňü îň Âŕń ďîęŕçŕňü, ăäĺ ęŕęčĺ ôŕéëű îęŕçŕëčńü.
      ++
    • ++
    ++
  • ++
  • äŕëĺĺ, ęŕę îáű÷íî : ++
    ++
      ++
    • Project -> Build : ďĺđĺńîáđŕňü âńĺ ( äŕćĺ íĺčçěĺíĺííűĺ ) čńőîäíűĺ ôŕéëű, ń îďöč˙ěč ďî óěîë÷ŕíčţ
      ++
    • ++
    • Project -> Make ( čëč "F9" ) : ďĺđĺńîáđŕňü ňîëüęî čçěĺíĺííűĺ čńőîäíűĺ ôŕéëű, č çŕďóńňčňü âíîâü ńîáđŕííűé čńďîëí˙ĺěűé ôŕéë ( ń ďîääĺđćęîé ďîřŕăîâîé îňëŕäęč - ňî áčřü ń îńňŕíîâęŕěč íŕ "breakpoints" )
      ++
    • ++
    ++
  • ++
++

Ĺńëč ÷ňî-ňî ďîřëî ńîâńĺě íĺ ňŕę, ňî óäŕëčňĺ ôŕéëű "*_mfm.pas " č ďĺđĺîňęđîéňĺ ďđîĺęň çŕíîâî - ęŕćäűé čç ýňčő ôŕéëîâ áóäĺň ďĺđĺńîçäŕí â ěîěĺíň ńáîđęč ďđîĺęňŕ ďîńëĺ ěŕëĺéřĺăî čçěĺíĺíč˙ ( ďîňŕńęŕňü ňóäŕ-ńţäŕ č .ň.ď. ) â ńîńňâĺňńňâóţůĺé ôîđěĺ ( *.mfm -ôŕéëĺ ) . MSEide â ýňč ěîěĺíňű ěîćĺň Âŕń ďîďđîńčňü óęŕçŕňü íŕ íóćíűé *.mfm -ôŕéë ( áóäĺň âčäíî, ęŕęîé ) .

++

 

++ ++ +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/gsfonts_setup/xft2gs.tgz et mseide-msegui-1.8/docs/tutorials/db/persons/ru/gsfonts_setup/xft2gs.tgz sont diffĂ©rents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/help_subsystem.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/help_subsystem.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/help_subsystem.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/help_subsystem.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,92 ---- ++ ++ ++ ++ Ďîäńčńňĺěŕ ďîěîůč ++ ++ ++ ++ ++ ++

++

Ďîęŕç äŕííűő î ďđîăđŕěěĺ
++ ( "About the program.." )

++

Ĺńëč íĺ íóćíî íčęŕęîăî óęđŕřŕňĺëüńňâŕ, ňî äë˙ ýňîé öĺëč - áîëĺĺ ÷ĺě äîńňŕňî÷íî âűâĺńňč äčŕëîăîâîĺ îęíî "ShowMessage".
++ Ďî ďîđ˙äęó :

++

Âîçâđŕůŕĺěń˙ íŕ "mainfo" ( ôŕéë "mainform.pas ) .

++

Đîí˙ĺě íŕ ôîđěó ęîěďîíĺíň GUI->taction :

++

name:= actShowAbout

++
    ++
  • onexecute:= showaboutexecute
  • ++
++
++

procedure tmainfo.showaboutexecute(const sender: TObject);
++ begin
++  showmessage(
++   lineend +
++   'The Galaxy Data Keeper'+ #174 + lineend +
++   lineend +
++   'This extremely useful program is designed' + lineend +
++   'for keeping data on creatures widely-known' + lineend +
++   'in our galaxy.' + lineend +
++   lineend +
++   'Authors:' + lineend +
++   lineend +
++   ' Bill Mad,' + lineend +
++   ' Susan Bitch,' + lineend +
++   ' Freddie Krugger' + lineend +
++   lineend +
++   '2006, Almalyk city, UZ'+ lineend,
++   'About program',
++   [mr_ok], // ń ĺäčíńňâĺííîé ęíîďęîé "OK"
++   mr_ok, // č ďî-óěîë÷ŕíčţ, ńŕěî-ńîáîé, áóäĺň ýňŕ ćĺ ęíîďęŕ
++   [],
++   150 // řčđčíŕ - ęŕę ěčíčěóě 150 ýęđŕííűő ĺäčíčö
++ );
++ end;

++

Ďđčěĺ÷ŕíč˙:

++
    ++
  • "lineend" - ęîä ďĺđĺâîäŕ ńňđîęč, ŕâňîěŕňč÷ĺńęč íŕńňđŕčâŕĺěűé íŕ DOS/UNIX-âŕđŕčíň
  • ++
  • #174 : UNICODE-ęîä çíŕ÷ęŕ "copyright registered" ( ® )
  • ++
++

Íĺ çŕáóäĺě ďđîďčńŕňü "msestrings" ( îďčńűâŕţůčé "lineend" ) â ńĺęöčč "uses" ôŕéëŕ "main.pas" :

++

implementation
++
++ uses
++  main_mfm,
++  editform,
++  msewidgets, // for askyesno,
++  msestrings // for lineend
++ ;

++
++

Č ďđîďčńűâŕĺě âűçîâ "actShowAbout" čç ďîäđŕçäĺëŕ "Help" îńíîâíîăî ěĺíţ ďđîăđŕěěű :

++

mnuMain :

++
    ++
  • menu ++
      ++
    • submenu ++
        ++
      • item 2 ++
          ++
        • submenu -> AppendItem ++
            ++
          • item 0 ++
              ++
            • caption:= &About Program..
            • ++
            • action:= actShowAbout
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Äŕííűé äčŕëîă, áóäó÷č âűçâŕí, âűăë˙äčň ńëĺäóţůčě îáđŕçîě :

++

++

 

++ ++ +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/about_dialogue.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/about_dialogue.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/commonrefseditfo.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/commonrefseditfo.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/continentseditfo_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/continentseditfo_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/continentseditfo_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/continentseditfo_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/countrieseditfo_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/countrieseditfo_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/countrieseditfo_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/countrieseditfo_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/datamodule1.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/datamodule1.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/editform_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/editform_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/editform_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/editform_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/featureseditfo_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/featureseditfo_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/featureseditfo_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/featureseditfo_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/mainmenu_changed.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/mainmenu_changed.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/make_options.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/make_options.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/occupationseditfo_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/occupationseditfo_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/occupationseditfo_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/occupationseditfo_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/planetseditfo_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/planetseditfo_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/planetseditfo_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/planetseditfo_runtime.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/viewapp_design.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/viewapp_design.png sont différents. +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/images/viewapp_runtime.png et mseide-msegui-1.8/docs/tutorials/db/persons/ru/images/viewapp_runtime.png sont différents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/index.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/index.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/index.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/index.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,80 ---- ++ ++ ++ ++ A database project example ( FPC + MSEgui ) ++ ++ ++ ++ ++ ++

Ńîäĺđćŕíčĺ

++

 

++
    ++
  1. Ďîńňŕíîâęŕ çŕäŕ÷č - âĺäĺíčĺ áŕçű äŕííűő ďî čçâĺńňíűě ďĺđńîíŕëč˙ě íŕřĺé ăŕëŕęňčęč
  2. ++
  3. Ďîäăîňîâčňĺëüíűĺ řŕăč ++
      ++
    1. Óńňđŕíĺíčĺ îřčáîę “Free Pascal Compiler” (FPC) č ďĺđĺńáîđęŕ MSEgui/ide
    2. ++
    3. Ňđĺáîâŕíč˙ ę âčäĺî-ďîäńčńňĺěĺ
    4. ++
    5. Ďđîâĺđęŕ ńčńňĺěű íŕ íŕëč÷čĺ áčáëčîňĺę, čńďîëüçóĺěűő MSEgui, â ęîíňĺęńňĺ ďđîĺęňŕ
    6. ++
    7. Ďđîâĺđęŕ ńčńňĺěű íŕ íŕëč÷čĺ řđčôňîâ, čńďîëüçóĺěűő MSEgui
    8. ++
    9. Íĺńęîëüęî ńëîâ î ďĺ÷ŕňč
    10. ++
    ++ ++
  4. Ńîçäŕíčĺ ďđîĺęňŕ
  5. ++
  6. Îńíîâíŕ˙ ôîđěŕ, çŕďóńę č çŕâĺđřĺíčĺ ďđčëîćĺíč˙
  7. ++
  8. Ďđîńěîňđ đŕíĺĺ âíĺńĺííűő äŕííűő î ďĺđńîíŕő
  9. ++
  10. Đĺäŕęňčđîâŕíčĺ, äîáŕâëĺíčĺ č óäŕëĺíčĺ äŕííűő î ďĺđńîíŕő ++
      ++
    1. Âčäîčçěĺíĺíčĺ ďđîăđŕěěű ďđîńěîňđŕ ďîä âîçěîćíîĺ đĺäŕęňčđîâŕíčĺ
    2. ++
    3. Đĺŕëčçŕöč˙ đĺäŕęňčđîâŕíč˙ ++
        ++
      1. Đĺäŕęňčđîâŕíčĺ č äîáŕâëĺíčĺ ń čńďîëüçîâŕíčĺě îňäĺëüíîé ôîđěű
      2. ++
      3. Ńďîńîáű íĺďîńđĺäńňâĺííîăî đĺäŕęňčđîâŕíč˙ ňĺęóůĺé çŕďčńč
      4. ++
      5. Data Module
      6. ++
      7. Ęîěďîíĺíňű äë˙ đĺäŕęňčđîâŕíč˙ ďîëĺé
      8. ++
      9. Ôčęńŕöč˙ čçěĺíĺíčé, äîáŕâëĺíčé č óäŕëĺíčé â ÁÄ
      10. ++
      ++
    4. ++
    ++
  11. ++
  12. Ńďđŕâî÷íűĺ ňŕáëčöű ++
      ++
    1. Ńóáěîäóëü ęŕę ńđĺäńňâî óíčôčęŕöčč číňĺđôĺéńŕ č ŕëăîđčňěŕ îáđŕáîňęč ńîáűňčé
    2. ++
    3. Ńďđŕâî÷íčę ďëŕíĺň ++
        ++
      1. Âűçîâŕ ôîđěű ďđîńěîňđŕ-đĺäŕęňčđîâŕíč˙ čç ăëŕâíîăî ěĺíţ
      2. ++
      ++
    4. ++
    5. Ńďđŕâî÷íčę ęîíňčíĺíňîâ
    6. ++
    7. Ńďđŕâî÷íčę ńňđŕí
    8. ++
    9. Ńďđŕâî÷íčę ďđîôĺńńčé ( đîäîâ äĺ˙ňĺëüíîńňč )
    10. ++
    11. Ńďđŕâî÷íčę ÷ĺđň őŕđŕęňĺđŕ
    12. ++
    ++
  13. ++
  14. Âűçîâ ďîěîůč ďî ďđîăđŕěěĺ ++
      ++
    1. Ďîęŕç číôîđěŕöčč "Î ďđîăđŕěěĺ"
    2. ++
    3. Ęîíňĺęńňíŕ˙ ďîěîůü ( áóäĺň )
    4. ++
    ++
  15. ++
  16. Đŕńďĺ÷ŕňęŕ äŕííűő î ďĺđńîíŕő ( ńęîđî áóäĺň )
  17. ++
  18. Óěĺíüřĺíčĺ đŕçěĺđŕ čńďîëí˙ĺěîăî ôŕéëŕ ďđîăđŕěěű
  19. ++
  20. Ďđčëîćĺíč˙ ++
      ++
    1. Ńęđčďňű äë˙ ńîçäŕíč˙ č ďĺđâč÷íîăî íŕďîëíĺíč˙ áŕçű äŕííűő
    2. ++
    3. Ńęđčďňű äë˙ ăĺíĺđŕöčč ôŕéëîâ ŕëčŕńîâ äë˙ "GhostScript"
    4. ++
    5. Íĺęîňîđűĺ äĺęîđŕňčâíűĺ čçěĺíĺíč˙ ++
        ++
      1. Îńíîâíîĺ ěĺíţ
      2. ++
      ++
    6. ++
    7. Ăîňîâűé ďđîĺęň â âčäĺ čńőîäíčęîâ
    8. ++
    ++
  21. ++
++
++

 

++
++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/more_decorations.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/more_decorations.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/more_decorations.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/more_decorations.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ ++ ++ ++ Äĺęîđŕňčâíűĺ äîđŕáîňęč ++ ++ ++ ++ ++ ++

++

Îńíîâíîĺ ěĺíţ

++

Äë íŕ÷ŕëŕ - âîçâđŕůŕĺěń˙ íŕ "mainfo" ( ôŕéë "mainform.pas ) .

++

×ňîáű ďîëîńŕ ěĺíţ íĺ ńëčřęîě ďđčćčěŕëŕńü ę çŕăîëîâęó îńíîâíîăî îęíŕ ďđîăđŕěěű :

++
    ++
  • mainfo -> ftMainMenuItem -> template -> framei -> top:=5
  • ++
++

Äđóăîé řđčôň ěĺíţ, č ÷óňü ďîěĺíüřĺ đŕçěĺđîě :

++
    ++
  • mainfo -> mnuMain -> menu -> font ++
      ++
    • height:= 13
    • ++
    • name:= stf_helvetica
    • ++
    ++
  • ++
++
++

Çäĺńü ěîćĺňĺ ýęďĺđčěĺíňčđîâŕňü, ďîęŕ íĺ äîáüĺňĺńü ćĺëŕĺěîăî âčäŕ, ďđč÷ĺě "name" ( íŕçâŕíčĺ řđčôňŕ ) íĺ îá˙çŕňĺëüíî âűáčđŕňü čç ńďčńęŕ - ěîćíî íŕďđ˙ěóţ âďĺ÷ŕňŕňü ( đĺăčńň áóęâ íĺ ó÷čňűâŕĺňń˙ ) íóćíîĺ čě˙, ĺńëč ňŕęîé řđčôň đĺŕëüíî óńňŕíîâëĺí â ńčńňĺěĺ - "Arial", "Times New Roman", "tahoma", č ň.ď. Čçěĺíĺíč˙ áóäóň âčäíű ńđŕçó ďî őîäó, ďîýňîěó ýňî - őîđîřčé ńďîńîá óçíŕňü, ęŕęčĺ řđčôňű âčä˙ň MSEgui-ďđîăđŕěěű ( ňî÷íĺĺ, FreeTtype-áčáëčîňĺęŕ )

++
++

 

++

Ňĺďĺđü óâĺëč÷čě đŕńńňî˙íč˙ ďóíęňîâ ěĺíţ ěĺćäó ńîáîé č ăđŕíčöŕěč âűďŕäŕţůĺăî ńďčńęŕ ďóíęňîâ. Đîí˙ĺě íŕ ôîđěó ęîěďîíĺíň GUI->tframecomp :

++

name:= ftMainMenuPopupItem

++
    ++
  • template -> framei ++
      ++
    • bottom:= 1
    • ++
    • left:= 10
    • ++
    • right:= 2
    • ++
    • top:= 1
    • ++
    ++
  • ++
++

č íŕçíŕ÷ŕĺň ýëĺěĺíňŕě âűďŕäŕţůĺăî ńďčńęŕ čńďîëüçîâŕňü äŕííűĺ íŕńňđîéęč :

++
    ++
  • mainfo -> mnuMain -> popupitemframetemplate:= ftMainMenuPopupItem
  • ++
++

Âčäîčçěĺíĺíîĺ ěĺíţ âűăë˙äčň ńëĺäóţůčě îáđŕçîě ( íŕ ěîĺě ýęđŕíĺ ń ěîčěč řđčôňŕěč ) :

++

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/occupations_ref.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/occupations_ref.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/occupations_ref.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/occupations_ref.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,305 ---- ++ ++ ++ ++ Ńďđŕâî÷íčę ďđîôĺńńčé ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íčę ďđîôĺńńčé

++

Ńîçäŕĺě íîâóţ ôîđěó :

++
++

File -> New -> Form -> Simple Form ->

++
++

На запрос имени файла - ââîäčě "occupationseditform" č ďîäňâĺđćäŕĺě -> ŕâňîěŕňč÷ĺńęč ńîçäŕĺňń˙ ôîđěŕ :

++

"occupationseditfo"

++
    ++
  • caption := Occupations editor
  • ++
  • options -> ++
      ++
    • fo_screencentered:= true
    • ++
    ++
  • ++
  • bounds -> ++
      ++
    • "cx" č "cy" - ęŕę "planetseditfo"
    • ++
    ++
  • ++
  • oncreate := occupationseditfocreated ++
    ++

    procedure toccupationseditfo.occupationseditfocreated(
    ++   const sender: TObject);
    ++ begin
    ++  application.createdatamodule(trefsdatamo, refsdatamo);
    ++  commonrefseditfo1.dsContents.dataset := grdOccupations.datasource.dataset;
    ++ end;

    ++
    ++
  • ++
  • ondestroy:= occupationseditfodestroyed ++
    ++

    procedure toccupationseditfo.occupationseditfodestroyed(
    ++   const sender: TObject);
    ++ begin
    ++  refsdatamo.free;
    ++ end;

    ++
    ++
  • ++
++
++

Íĺ çŕáóäĺě âęëţ÷čňü â "uses" ńĺęöčţ "implementation" ôŕéëŕ "occupationseditform.pas" ěîäóëü "refsdatamodule" :

++
++

implementation
++
++ uses
++   occupationseditform_mfm,
++   // ďđĺäîńňŕâë˙ĺň ňčď "trefsdatamo" č îáúĺęň "refsdatamo"
++   refsdatamodule
++ ;

++
++
++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ îňîáđŕćĺíčĺ ôîđěű "refsdatamo" č âűáčđŕĺě "qryOccupations" :

++
    ++
  • óńňŕíîâčňü ďî öĺďî÷ęĺ (Active:= false ) -> ( UsePrimaryKeyAsKey := false ) -> (Active:= true )
  • ++
  • controller
  • ++
      ++
    • fields.count->[...] ++
        ++
      • ďĺđĺíĺńňč âńĺ "FieldDefs" -> "Fields "
      • ++
      ++
    • ++
    • fields ++
        ++
      • item 0 ( ăäĺ "FieldName" = "id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInKey:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 1 ( ăäĺ "FieldName" = "descr" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

 

++

Âíîâü âîçđŕůŕĺěń˙ íŕ ôîđěó "occupationseditfo" ( âűáđŕâ ôŕéë "occupationseditform.pas", č äŕëĺĺ, ĺńëč íĺîáőîäčěî - íŕćŕâ "F12" ).

++

Щелкнув на форме правой кнопкой, открыть меню, и, командой "Insert submodule" - вставить в форму субмодуль "commonrefseditform" . При необходимости - ďîäîăíŕňü размер, чтобы исчезли полосы прокрутки.

++

Óđîíčňü íŕ "occupationseditfo" компонент DB -> tdbwidgetgrid, и установить для него ěĺńňî č đŕçěĺđ ęŕę ó "planetseditfo -> grdPlanets" :

++

name := grdOccupations

++
    ++
  • datasource := refsdatamo.dsOccupations
  • ++
  • anchors ++
      ++
    • an_left:= true
    • ++
    • an_top:= true
    • ++
    • an_right:= true
    • ++
    ++
  • ++
  • fixrows -> ++
      ++
    • item(-1) -> ++
        ++
      • color:= cl_ltgreen
      • ++
      • captions -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= Occupation name
          • ++
          ++
        • ++
        ++
      • ++
      • captionsfix -> Additem -> ++
          ++
        • item 0 -> ++
            ++
          • caption:= #8470
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
  • fixcols -> ++
      ++
    • item(-1) -> ++
        ++
      • numstart:= 1
      • ++
      • numstep:= 1
      • ++
      • đŕńň˙íóňü ďđčěĺđíî ďîä 3 öčôđű
      • ++
      ++
    • ++
    ++
  • ++
  • rowcolors->AddItem ++
      ++
    • item 0:= [..] // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • item 1:= cl_green // ńŕëŕňíűé
    • ++
    ++
  • ++
  • datalink -> ++
      ++
    • options ++
        ++
      • gdo_propscrollbar:= true
      • ++
      • gdo_thumbtracking:= true
      • ++
      ++
    • ++
    • onupdaterowdata:= grdoccupationsupdaterowdata ++
      ++

      procedure toccupationseditfo.grdoccupationsupdaterowdata(
      ++  const sender: tcustomgrid;
      ++  const arow: Integer; const adataset: TDataSet);
      ++ begin
      ++  case adataset.updatestatus of
      ++   usInserted: sender.rowcolorstate[arow]:= 0;
      ++   usModified: sender.rowcolorstate[arow]:= 1;
      ++  else
      ++   sender.rowcolorstate[arow]:= 255;
      ++  end;
      ++ end;

      ++
      ++

      č íĺ çŕáóäüňĺ äîáŕâčňü íóćíűĺ "unit" -ű â ńĺęöčţ "interface -> uses" :

      ++
      ++

      interface
      ++  uses
      ++  msegui,mseclasses,mseforms,commonrefseditform,msedbedit,
      ++  msegrids,
      ++  db
      ++ ;

      ++
      ++
    • ++
    ++
  • ++
++

 

++

Ňĺďĺđü ńîçäŕäčě č îďčřĺě ńňîëáöű "grdOccupations", ďîäëĺćŕůčĺ ďđîńěîňđó č đĺäŕęňčđîâŕíčţ.

++

Óđîíčňü íŕ "grdOccupations" компонент DB -> tdbstringedit :

++

name:= seFeature

++
    ++
  • datafield:= descr
  • ++
  • optionsedit ++
      ++
    • oe_notnull:= true
    • ++
    • oe_autopost:= true
    • ++
    ++
  • ++
++

Настроить появившийся ńňîëáĺö ňŕáëčöű

++

grdOccupations :

++
    ++
  • datacols -> ++
      ++
    • item 0 ++
        ++
      • options ++
          ++
        • co_proportional:= fill
        • ++
        ++
      • ++
      • frame -> [..] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

 

++

Îńňŕëîńü ńäĺëŕňü âűçîâ "occupationseditfo" ÷ĺđĺç ăëŕâíîĺ ěĺíţ ďđîăđŕěěű.

++

Ďĺđĺęëţ÷čňüń˙ íŕ äčçŕéí "mainfo" ( ôŕéë "main.pas" ).

++

Óđîíčňü â ëţáîě íĺçŕđčńîâŕííîě ěĺńňĺ "mainfo" ęîěďîíĺíň "GUI -> taction" :

++

Name:= actOccupationsEdit

++
    ++
  • onexecute:= occupationseditexecute
  • ++
++
++

procedure tmainfo.occupationseditexecute(const sender: TObject);
++ begin
++  try
++   application.createform(toccupationseditfo, occupationseditfo);
++   if occupationseditfo.show(true) = mr_windowclosed then begin
++    qryPersons.active:= true;
++   end;
++  finally
++   occupationseditfo.free;
++  end;
++ end;

++

Íĺ çŕáóäüňĺ äîáŕâčňü ńńűëęó íŕ ôŕéë "occupationseditform" â ńĺęöčţ "interface" ôŕéëŕ "main.pas" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
++  msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
++  planetseditform,
++  continentseditform,
++  countrieseditform,
++  featureseditform,
++  occupationseditform
++ ;

++
++
++

Íŕńňđîčňü âűçîâ "actOccupationsEdit" čç îńíîâíîăî ěĺíţ ôîđěű ďđčëîćĺíč˙ ( mainfo ):

++

mnuMain :

++
    ++
  • menu ++
      ++
    • submenu ++
        ++
      • item 1 ++
          ++
        • submenu -> AppendItem ++
            ++
          • item 1 ++
              ++
            • caption:= &Occupations..
            • ++
            • action:= actOccupationsEdit
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Ôčíŕëüíűé âčä ôîđěű đĺäŕęňîđŕ ńďčńęŕ ďđîôĺńńčé :

++

â äčçŕéíĺ :

++

++

č âî âđĺě˙ đŕáîňű ďđîăđŕěěű:

++

++

Äŕííűé ( ÷ĺđňű őŕđŕęňĺđŕ -> occupationseditform ) ńďđŕâî÷íčę - ďî÷ňč ďîëíűé ŕíŕëîă âűřĺđŕńńěîňđĺííîăî ńďđŕâî÷íčęŕ ďëŕíĺň.

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/planets_ref.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/planets_ref.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/planets_ref.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/planets_ref.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,456 ---- ++ ++ ++ ++ Ńďđŕâî÷íčę ďëŕíĺň ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íčę ďëŕíĺň

++

File->New->Form->Simple Form

++
    ++
  • íŕ çŕďđîń - coőđŕíčňü ďîä čěĺíĺě "planetseditform.pas"
  • ++
++

÷ňî ŕâňîěŕňč÷ĺńęč ńîçäŕĺň ôîđěó "planetseditfo".

++

Ďđčęŕćĺě ýňoé ôîđěĺ îňîáđŕćŕňüń˙ â öĺíňĺ ýęđŕíŕ ( íĺ â äčçŕéíĺ, ŕ âî âđĺě˙ đŕáîňű ďđîăđŕěěű ) :

++
    ++
  • planetseditfo->options->fo_screencentered:= true
  • ++
++

Íŕçíŕ÷čě ĺé çŕăîëîâîę, îňëč÷ŕţůčé î ďđî÷čő ńďđŕâî÷íčęîâ :

++
    ++
  • planetseditfo->caption:= Planets editor
  • ++
++

Ĺńëč ôîđěŕ ÷ŕůĺ âńĺăî âűâîäčňń˙ ňîëüęî äë˙ ďđîńěîňđŕ, ňî óäîáíî çŕęđűâŕňü ĺĺ íŕćŕňčĺě ęëŕâčřč "Esc" ( ęŕę ěű óćĺ ńäĺëŕëč ń "editform" ) , óńňŕíîâčâ, íŕďđčěĺđ :

++
++

planetseditfo->options->fo_closeonesc:= true

++
++

Íî çäĺńü ýňî áóäĺň íĺóěĺńňíî ( ďîňîěó ÷ňî đĺäŕęňčđîâŕíčĺ ńďđŕâî÷íčęîâ - ńĺđüĺçíŕ˙ č đĺäęî-âűďîí˙ĺěŕ˙ đŕáîňŕ ), ďîýňîěó îńňŕâčě ďî-óěîë÷ŕíčţ :

++
++

fo_closeonesc:= false

++
++

Äŕëĺĺ âńňŕâčě ęŕđęŕń đĺäŕęňîđŕ ńďđŕâî÷íčęîâ (ôîđěó "commonrefseditfo" ) :

++
    ++
  • ďĺđĺęëţ÷čňüń˙ čç đĺćčěŕ đĺäŕęňčđîâŕíč˙ čńőîäíîăî ňĺęńňŕ â đĺćčě îňîáđŕćĺíč˙ ôîđěű - íŕćŕâ "F12"
    ++
  • ++
  • âűáđŕňü ěŕëĺíüęóţ ôîđěó "planetseditfo"
    ++
  • ++
  • ďî ůĺëęó ďđŕâîé ęíîďęč ěűřč - âűáđŕňü "Insert submodule" ( "Âńňŕâčň ńóáěîäóëü" ) , č äŕëĺĺ, â ďî˙âčâřĺěń˙ ńďčńęĺ, âűáđŕňü ńňđîęó ń "commonrefseditfo.mfm"
    ++
  • ++
  • đŕńň˙íóňü ěŕëĺíüęóţ ôîđěó ňŕę, ÷ňîáű čń÷ĺçëč ďîëîńű ďđîęđóňęč č ýňŕ ôîđěŕ ńňŕëŕ âűăë˙äĺňü â ňî÷íîńňč ňŕę ćĺ, ęŕę "commonrefseditfo"
  • ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • ń ýňîăî ěîěĺíňŕ îđčăčíŕëüíóţ ôîđěó "planetseditfo" âűáđŕňü íĺ ňŕę-ňî ďđîńňî - âĺäü âěĺńňî íĺĺ ňĺďĺđü ďđĺäńňŕâë˙ĺňń˙ âëîćĺííŕ˙ "commonrefseditfo". Ńäĺëŕňü ýňî ěîćíî ÷ĺđĺç đĺäŕęňîđ ńâîéńňâ - âűáđŕňü "planetseditfo (tplanetseditfo)" â âűďŕäŕţůĺě ńďčńęĺ
  • ++
++

Ňĺďĺđü áóäĺě ŕäŕďňčđîâŕňü ęŕđęŕń đĺäŕęňîđŕ ę ęîíęđĺňíîěó đĺäŕęňîđó - đĺäŕęňîđó ńďčńęŕ ďëŕíĺň.

++

Ůĺëęŕĺě ďî ńĺđĺäčíĺ ăčáđčäŕ "planetseditfo+commonrefseditfo", ÷ňîáű âűáđŕňü ĺăî, č đîí˙ĺě íŕ íĺăî ňîň ĺäčíńňâĺííűé ęîěďîíĺíň, ęîňîđűě áóäóň đŕçëč÷ŕňüń˙ đŕçëč÷íűĺ đĺäŕęňîđű ńďđŕâî÷íčęîâ :

++

DB -> tdbwidgetgrid

++
    ++
  • Name:= grdPlanets
  • ++
  • DataSource:= refsdatamo.dsPlanets
  • ++
  • anchors ++
      ++
    • an_left:= true
    • ++
    • an_top:= true
    • ++
    • an_right:= true
    • ++
    ++
  • ++
++
++

Ďđčěĺ÷ŕíčĺ :

++
    ++
  • â ďđčíöčďĺ , č "tdbwidgetgrid" ěîćíî áűëî áű ńäĺëŕňü îáůčě äë˙ âńĺő ńďđŕâî÷íčęîâ - íî ňîăäŕ ďđčřëîńü áű íŕńňđŕčâŕňü ńňîëáöű, çŕăîëîâęč č ň.ď. íĺ âčçóŕëüíî, ŕ â ęîäĺ, ÷ňî ĺńňü ďîëíŕ˙ áĺńńěűńëčöŕ
  • ++
++
++

Ňĺďĺđü ďĺđĺęëţ÷ŕĺě ýňîň ďóńňîé "DataSource" íŕ đĺŕëüíűé čńňî÷íčę äŕííűő ( çäĺńü - äŕííűĺ î ďëŕíĺňŕő ) :

++
    ++
  • âűáčđŕĺě â đĺäŕęňîđĺ ńâîéńňâ "planetseditfo (tplanetseditfo)", č ďđîďčńűâŕĺě îáđŕáîň÷čęč ńîáűňčé ńîçäŕíč˙ č óäŕëĺíč˙ ýňîé ôîđěű :
    ++
      ++
    • planetseditfo
      ++
        ++
      • oncreate:= planetseditfocreated
      • ++
      ++
      ++

      procedure tplanetseditfo.planetseditformcreated(
      ++ const sender: TObject);
      ++ begin
      ++  application.createdatamodule(trefsdatamo, refsdatamo);
      ++  commonrefseditfo1.dsContents.dataset := grdPlanets.datasource.dataset;
      ++ end;

      ++

      ÷ňî ńîçäŕĺň "DataModule", â ęîňîđîě îďđĺäĺëĺí číňĺđĺńóţůčé íŕń çŕďđîń ńďčńęŕ ďëŕíĺň ( qryPlanets->dsPlanets ), ďđč÷ĺě ńŕě ýňîň çŕďđîń ŕâňîěŕňč÷ĺńęč âűďîëí˙ĺňń˙ ( ĺńëč óńňŕíîâëĺíî "Active:= true" âî âđĺě˙ äčçŕéíŕ ńŕěîăî "DataModule" ) , č â ęîíöĺ ăîâîđčě íŕřĺěó ďĺđĺęëţ÷ŕĺěîěó "DataSource" - "ňĺďĺđü ó ňĺá˙ ĺńňü äŕííűĺ - ńďčńîę ďëŕíĺň" ( âĺäü "grdPlanets.datasource.dataset" âî âđĺě˙ äčçŕéíŕ óńňŕíîâëĺí ęŕę "refsdatamo.dsPlanets" )

      ++

      Ďđčěĺ÷ŕíč˙ :

      ++
        ++
      • "commonrefseditfo1" - ŕâňîěŕňč÷ĺńęč ńăĺíĺđčđîâŕííîĺ čě˙ ýęçĺěďë˙đŕ âńňŕâëĺííîăî ńóáěîäóë˙ ( ńě. ôŕéë "planetseditform.pas", îďčńŕíčĺ ęëŕńńŕ "tplaneteditfo") , ňî ĺńňü ěĺçŕíčçě ńóáěîäóëĺé đĺŕëčçîâŕí íĺ ÷ĺđĺç íŕńëĺäîâŕíčĺ (čńőîäíîăî ęîäŕ), ŕ ÷ĺđĺç ŕăđĺăčđîâŕíčĺ ( áčíŕđíîăî ęîäŕ ) - ÷ňî íŕěíîăî ýôôĺęňčâíĺĺ ń ňî÷ęč çđĺíč˙ ďŕě˙ňč
        ++
      • ++
      • íŕçíŕ÷ĺíčĺ "commonrefseditfo1.dsContents.dataset" ňóň ćĺ çŕďîëíčň ęîěďîíĺíňű, óâ˙çŕííűĺ ń "dsContents", â íŕřĺě ńëó÷ŕĺ - ňŕáëč÷íűé ęîěďîíĺíň "grdPlanets", ďëţń "dsContents" ňĺďĺđü ěîćĺň îáđŕáŕňűâŕňü ńîáűňč˙ , ńâ˙çŕííűĺ ń "refsdatamo.dsPlanets"
      • ++
      ++
      ++
        ++
      • ++
      ++ ondestroy:= planetseditfodestroyed ++
      ++

      procedure tplanetseditfo.planetseditformdestroyed(
      ++ const sender: TObject);
      ++ begin
      ++  refsdatamo.free;
      ++ end;

      ++

      çäĺńü - îáű÷íîĺ îńâîáîćäĺíčĺ ďŕě˙ňč îň îňđŕáîňŕâřĺăî îáúĺęňŕ.

      ++

      Č íĺ çŕáóäĺě âęëţ÷čňü â "uses" ńĺęöčţ "implementation" ôŕéëŕ "planetseditform.pas" ěîäóëü "refsdatamodule" :

      ++
      ++

      implementation
      ++
      ++ uses
      ++   planetseditform_mfm,
      ++   // ďđĺäîńňŕâë˙ĺň ňčď "trefsdatamo" č îáúĺęň "refsdatamo"
      ++   refsdatamodule
      ++ ;

      ++
      ++
      ++
    • ++
    ++
  • ++
++

Ňŕę ęŕę äŕííűĺ ďđĺäńňŕâëĺíű âűáîđęîé čç îäíîé ňŕáëčöű ÁÄ ( "planets" ) , îáíîâëĺíčĺ äŕííűő ěîćĺň äĺëŕňüń˙ ÷ĺđĺ ŕâňîěŕňč÷ńęóţ ăĺíĺđŕöčţ SQL-çŕďđîńîâ. Íî ÷ňîáű ýňî đŕáîňŕëî ďđŕâčëüíî, íóćíî ďîäăîňîâčňü ę ýňîěó ńŕěó âűáîđęó äŕííűő ( îďđĺäĺëĺííóţ â "refsdatamo" ).

++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ îňîáđŕćĺíčĺ ôîđěű "refsdatamo" :

++

âűáčđŕĺě "qryPlanets"

++
    ++
  • óńňŕíîâčňü ďî öĺďî÷ęĺ (Active:= false ) -> ( UsePrimaryKeyAsKey := false ) -> (Active:= true )
  • ++
  • controller
  • ++
      ++
    • fields.count->[...] ++
        ++
      • ďĺđĺíĺńňč âńĺ "FieldDefs" -> "Fields "
      • ++
      ++
    • ++
    • fields ++
        ++
      • item 0 ( ăäĺ "FieldName" = "id" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInKey:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      • item 1 ( ăäĺ "FieldName" = "descr" ) ++
          ++
        • ProviderFlags ++
            ++
          • pfInUpdate:= true
          • ++
          • îńňŕëüíűĺ := false
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • ÷ňîáű âńňŕâęŕ íîâűő çŕďčńĺé ( SQL INSERT-ęîěŕíäű ) áűëŕ ęîđđĺęňíîé, íóćíî ďđĺäâŕđčňĺëüíî đĺřčňü, ęŕę ăŕđŕíňčđîâŕňü óíčęŕëüíóţ íóěĺđŕöčţ íîâűő ńňđîę, äë˙ ýňîăî ĺńňü ńëĺäóţůčĺ ńďîńîáű : ++
      ++
      ++
    1. čńďîëüçîâŕňü ńĺđâčń ŕâňîíóěĺđŕöčč ( counter/autoincrement, "default nextval('some_sequence')", OID-ďîëĺ, .. ) ÁÄ, äë˙ ÷ĺăî íóćíî čçáĺćŕňü ˙âíîé íóěĺđŕöčč - ďîńëĺ âűçîâĺ ěĺňîäŕ "{dataset}.append", äîáŕâë˙ţůĺăî íîâóţ ńňđîęó ń íŕ÷ŕëüíűěč ďóńňűěč çíŕ÷ĺíč˙ěč, íĺ çŕäŕâŕňü íčęŕęîăî çíŕ÷ĺíč˙ äë˙ ďîë˙ óíčęŕëüíîăî ęëţ÷ŕ ňŕáëčöű ( ń íŕřĺě ńëó÷ŕĺ - ďîëĺ "id" ), ňîăäŕ ýňî ďîëĺ áóäĺň đŕńöĺíĺíî ęŕę NULL č íĺ áóäĺň âęëţ÷ĺíî ŕ ŕâňîăĺíĺđčđóĺěóţ SQL INSERT-ęîěŕíäó;
      ++ â äŕííîě ďđîĺęňĺ ěű ďîńňóďčëč čěĺíĺíî ňŕęčě îáđŕçîě
      ++
    2. ++
    3. cŕěčě ďîçŕáîňčňüń˙ î íóěĺđŕöčč - íî ňîăäŕ ďđčäĺňń˙ îňęŕçŕňüń˙ îň ŕâňîăĺíĺđŕöčč SQL-ęîěŕíä, č îďčńŕňü íóćíóţ SQL-ęîěŕíäó (ďđč÷ĺě - č INSERT, č UPDATE, č DELETE ) â îáđŕáîň÷čęĺ "onapplyrecupdate", ńě.ăëŕâó "Đĺäŕęňčđîâŕíčĺ äŕííűő", ŕ óćĺ â ńŕěîě îáđŕáîň÷čęĺ ĺńňü đŕçíűĺ âŕđčŕíňű đŕńń÷ĺňŕ íîâîăî çíŕ÷ĺíč˙ ęëţ÷ĺâîăî ďîë˙ : ++
        ++
          ++
        • âíóňđč ńŕěîé ďđîăđŕěěű, âđîäĺ "{dataset}.last; last_id= fldPlanetId; inc(last_id);" - çäĺńü "last_id" - âíóňđĺíí˙˙ ďĺđĺěĺííŕ˙, ŕ "{dataset}" äîëćĺí áűňü óďîđ˙äî÷ĺí ďî-âîçđŕńňŕíčţ ďîë˙, óâ˙çŕíîăî ń "fldPlanetId" ( çäĺńü - "id" )
          ++
        • ++
        • ęŕę ďîäçŕďđîń âíóňđč SQL INSERT-ęîěŕíäű, âđîäĺ ".. (SELECT max(id)+1 FROM planets ), .. " - ĺńëč ňŕęîé ńčńňŕęńčń ďîçâîë˙ĺňń˙ ńĺđâĺđîě ÁÄ
        • ++
        ++
    ++
    ++ Ďđčěĺ÷ŕíč˙ : ++
      ++
    • OID-ďîë˙ - ńóăóáî äë˙ âíóňđĺííĺăî ďđčěĺěíĺíč˙, čő çíŕ÷ĺíč˙ ěîăóň ěĺí˙ňüń˙ ďîńëĺ UPDATE-îďĺđŕöčé č ďîňîěó íĺ äîëćíű čńďîëüçîâŕňüń˙ äë˙ ńńűëîę ěĺćäó ňŕáëčöŕěč !
    • ++
    ++
  • ++
    ++
  • ďĺđĺíîń "FieldDefs -> Fields" íóćĺí äë˙ äîńňóďŕ ę "ProviderFlags"
    ++
  • ++
  • "UsePrimaryKeyAsKey := false" îçíŕ÷ŕĺň ďîëíîńňüţ đó÷íîé ęîíňđîëü íŕä ( ProviderFlags->pfInKey:= true ) ;
    ++
  • ++
  • ńěűńë îďöčč (UsePrimaryKeyAsKey:=true) - ďîďűňŕňüń˙ íŕéňč ęëţ÷ĺâűĺ ďîë˙ ńđĺäńňâŕěč äđŕéâĺđŕ ÁÄ, č, ĺńëč ňŕęîâűĺ íŕéäĺíű - íŕçíŕ÷čňü čě "pfInKey:= true", ďđč óńďĺőĺ ýňî ďîçâîëčëî áű îáîéňčńü áĺç ďĺđĺíîńŕ "FieldDefs" -> "Fields ";
    ++ íî ýňî çíŕ÷čň - ďîďŕńňü â çŕâčńčěîńňü îň íŕëč÷č˙ ( îňńňóńňâč˙ ) číäĺęńîâ â ÁÄ, âĺđńčč ńĺđâĺđŕ ÁÄ č ň.ď. - ďîýňîěó ďîęŕ îňęŕćĺěń˙ îň ýňîé óńëóăč, č óęŕćĺě âńĺ íóćíűĺ "pfInKey" âđó÷íóţ
    ++
  • ++
  • "pfInKey" -> äŕííîĺ ďîëĺ ńîäĺđćčň ęëţ÷č ńňđîę âűáîđęč čç ÁÄ č áóäĺň čńďîëüçîâŕňüń˙ äë˙ ňî÷íîăî îďđĺäĺëĺíč˙ ěĺńňŕ čçěĺíĺíčé ( ÷ĺđĺç WHERE-ęîíńňđóęöčč SQL-çŕďđîńîâ )
    ++
  • ++
  • "pfInUpdate" -> ďîńëĺäíĺĺ çíŕ÷ĺíč˙ äŕííîĺ ďîë˙ äîëćíî âęëţ÷ŕňüń˙ â SQL-ęîěŕíäű íŕ îáíîâëĺíčĺ
    ++
  • ++
  • "pfInKey" č "pfInUpdate" čěĺţň ńěűńë ňîëüęî â đĺćčěĺ ŕâňîăĺíĺđŕöčč SQL-çŕďđîńîâ, ňî ĺńňü - ĺńëč â đîäčňĺëüńęîě îáúĺęňĺ "tmsesqlquery" íĺ îďđĺäĺëĺí ďîëüçîâŕňĺëüńęčé îáđŕáîň÷čę äë˙ "onapplyrecupdate"
  • ++
++

Ňĺďĺđü îďčřĺě ńňîëáöű grdPlanets, ďîäëĺćŕůčĺ ďđîńěîňđó č đĺäŕęňčđîâŕíčţ. Äë˙ íŕ÷ŕëŕ çŕăë˙íĺě íŕ ďđĺäűäóůčé řŕă:

++
    ++
  • ďîëĺ "id" ( ęëţ÷ ňŕáëčöű ) -> íĺň ńěűńëŕ îňîáđŕćŕňü číŕ÷ĺ ęŕę äë˙ íóěĺđŕöčč ńňđîę ++
      ++
    • íî ýňŕ íóěĺđŕöč˙ ěîćĺň áűňü ń ďđîďóńęŕěč (â ńëó÷ŕĺ óäŕëĺíč˙ çŕďčńĺé ) , ďîýňîěó äë˙ íóěĺđŕöčč íŕäĺćíĺĺ čńďëüçîâŕňü ńĺđâčń ŕâňîíóěĺđŕöčč ňŕáëč÷íűő ęîěďîíĺíňîâ
      ++
    • ++
    ++
  • ++
  • ďîëĺ "descr" ( íŕçâŕíčĺ ďëŕíĺňű ) -> ďîëĺçíŕ˙ číôîđěŕöč˙, ďîýňîěó íŕçíŕ÷čě ýňî ďîëĺ ńîîňâĺňńňâóţůĺěó ńňîëáöó "grdPlanets" ++
      ++
    • ýňî ďîëĺ - ňĺęńňîâîĺ, ďîýňîó äë˙ ĺăî đĺäŕęňčđîâŕíč˙ ďîäőîäčň ęîěďîíĺíň "DB->tdbstringedit"
    • ++
    ++
  • ++
++

Óđîíčňü ń ďŕëčňđű "DB" íŕ "grdPlanets" ęîěďîíĺíň

++

tdbstringedit :

++
    ++
  • Name:= seName
  • ++
  • optionsedit ++
      ++
    • oe_notnull:= true
    • ++
    • oe_autopost:= true
    • ++
    ++
  • ++
  • datafield:= descr
  • ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • "oe_notnull" -> íĺ ďîçâîë˙ňü çŕęđűňü ôîđěó, ĺńëč çäĺńü - ďóńňîĺ çíŕ÷ĺíčĺ; íóćíî ďîňîěó, ÷ňî ďđč ńîäŕíčč ÁÄ ďîëţ "desc" áűëî íŕçíŕ÷ĺíî îăđŕíč÷ĺíčĺ "NOT NULL"
    ++
  • ++
  • "oe_autopost" -> ôčęńčđîâŕňü čçěĺíĺíč˙ ďđč ďĺđâîé âîçěîćíîńňč ( ďđč íŕćŕňčč "Enter" č ň.ď. ) , íóćíî, ĺńëč ěű őîňčě îďĺđŕňčâíî îňńëĺćčâŕňü ńîńňî˙íčĺ đĺäŕęňčđîâŕíč˙ - ęŕę đŕç íŕř ńëó÷ŕé
  • ++
++

Ňĺďĺđü ěű âčäčě íóćíűĺ äŕííűĺ - ňî ĺńňü ęîěďîíĺíň "tdbwidgetgrid" ďîńňđîčë äë˙ íŕń ňŕáëčöó čç ńóáęîěďîíĺňîâ "tdbstringedit" ( ěîăóň áűňü č äđóăčĺ -" tdbbooleanedit", "tdbenumeditlb" č ň.ä. ).  ńëó÷ŕĺ "tdbenumeditlb" ěîćíî, îńňŕâŕ˙ńü â đŕěęŕő çŕďđîńŕ ę îäíîé ňŕáëčöĺ - đĺäŕęňčđîâŕňü ńńűëęč íŕ äđóăčĺ ňŕáëčöű.
++ Ŕâňîěŕňč÷ĺńęč óńňŕíîâëĺííîĺ ńâîéńňâî "DataSource:= refsdatamo.dsPlanets" îáúĺęňŕ "seName" óíŕńëĺäîâŕíî îň đîäčňĺëüńęîăî îáúĺęňŕ "grdPlanets". Ěĺí˙ňü ĺăî íĺň ńěűńëŕ - âńĺ đŕâíî áóäĺň ďđîčăíîđčđîâŕíî .
++ Ňŕęćĺ, "grdPlanets->datacols.count" óâĺëč÷čëń˙ íŕ "1" (ňî ĺńňü ďđîčçîřëî ŕâňîěŕňč÷ĺńęîĺ äîáŕâëĺíčĺ ńňîëáöŕ, â íŕřĺě ńëó÷ŕĺ "Item 0" ) .

++

grdPlanets :

++
    ++
  • datacols ++
      ++
    • item 0 ++
        ++
      • options ++
          ++
        • co_fill:= true
        • ++
        ++
      • ++
      • frame -> [...] ++
          ++
        • framei ++
            ++
          • left:= 10
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Âęëţ÷čě ŕâňîíóěĺđŕöčţ ńňđîę ňŕáëčöű :

++

grdPlanets :

++
    ++
  • fixcols ++
      ++
    • item (-1) ++
        ++
      • numstart:= 1
      • ++
      • numstep:= 1
      • ++
      ++
    • ++
    ++
  • ++
++

č íŕđčńóĺě çŕăîëîâîę ňŕáëčöű :

++

grdPlanets

++
    ++
  • fixrows ++
      ++
    • item (-1) ++
        ++
      • captionsfix->AppendItem ++
          ++
        • item 0 ++
            ++
          • caption:= #8470 // çíŕę íóěĺđŕöčč ( "ą" )
          • ++
          • đŕńřčđčňü ďđčěĺđíî ďîä ňđč öčôđű
          • ++
          ++
        • ++
        ++
      • ++
      • captions->AppendItem ++
          ++
        • item 0 ++
            ++
          • caption:= Country name
          • ++
          ++
        • ++
        ++
      • ++
      • color:= cl_ltgreen
      • ++
      ++
    • ++
    ++
  • ++
++

Ĺńëč â ňŕáëčöĺ îćčäŕĺňń˙ íĺ áîëĺĺ 1000 çŕďčńĺé ( 99% äë˙ ńďčńęŕ ďëŕíĺň ) , ňî ěîćíî đŕçđĺřčňü ňî÷íóţ ńčíőđîíčçŕöčţ âĺđňčęŕëüíîé ďđîęđóňęč ń ńîäĺđćčěűě ÁÄ :

++

grdPlanets :

++
    ++
  • datalink ++
      ++
    • options ++
        ++
      • gdo_propscrollbar:= true
      • ++
      • gdo_thumtrack:= true
      • ++
      ++
    • ++
    ++
  • ++
++

 

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • äîńňóď ę çíŕ÷ĺíč˙ě ˙÷ĺĺę "grdPlanets" : seName[{íîěĺđ ńňđîęč, >=0}] , ňčď äŕííűő - ňîň ćĺ, ÷ňî ó "seName", ňî ĺńňü - "msestring".
  • ++
++

Ňĺďĺđü đĺŕëčçóĺě öâĺňîâîĺ âűäĺëĺíčĺ ńňđîę ( ÷ňîáű ďîëüçîâŕňĺëü ńđŕçó âčäĺë - ăäĺ čńőîäíűĺ äŕííűĺ, ŕ ăäĺ ňĺ, ÷ňî îí ńŕě íŕââîäčë ), ďîä ęîňîđîĺ č ńäĺëŕíű öâĺňíűĺ ďîëîńęč ńëĺâŕ î ęíîďęč "Close" ( cě. âűřĺ ) . Íŕçíŕ÷ŕĺě ňî ćĺ íŕáîđ öâĺňîâ, ÷ňî č íŕ ďîëîńęŕő :

++

grdPlanets :

++
    ++
  • rowcolors->AddItem ++
      ++
    • item 0:= [..] // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • item 1:= cl_green // ńŕëŕňíűé
    • ++
    ++
  • ++
++

č ďđîďčńűâŕĺě ęîä âűáîđŕ íóćíîăî öâĺňŕ čç ýňîăî íŕáîđŕ, ÷ĺđĺç ńďĺöčŕëüíűé îáđŕáîň÷čę ńîáűňč˙ :

++

grdPlanets :

++
    ++
  • datalink ++
      ++
    • onupdaterowdata:= grdplanetsupdaterowdata
    • ++
    ++
  • ++
++

č ęîä ýňîé ďđîöĺäóđű :

++
++

procedure tplanetseditfo.grdplanetsupdaterowdata(
++  const sender: tcustomgrid;
++  const arow: Integer; const adataset: TDataSet);
++ begin
++  // ŕíŕëčç ňčďŕ îáíîâëĺíč˙ çŕďčńč
++  case adataset.updatestatus of
++   usInserted: // ýňî - íîâŕ˙ çŕďčńü
++    // ďîäęđŕńčňü öâĺňîě, 1-ě ďî ďîđ˙äęó â "rowcolors"
++    sender.rowcolorstate[arow]:= 0;
++   usModified: // ýňî - çŕďčńü, čçěĺíĺííŕ˙ ń ěîěĺíňŕ âűçîâŕ ôîđěű
++    // ďîäęđŕńčňü öâĺňîě, 2-ě ďî ďîđ˙äęó â "rowcolors"
++    sender.rowcolorstate[arow]:= 1;
++  // ýňî - íĺňđîíóňŕ˙ (čëč óäŕëĺííŕ˙ ? )çŕďčńü
++  // ( íî óäŕëĺíűĺ ěű âńĺ đŕâíî íĺ ńěîćĺě óâčäĺňü )
++  else // íĺňđîíóňŕ˙ çŕďčńü
++   sender.rowcolorstate[arow]:= 255; // óáđŕňü ďîäęđŕńęó
++  end;
++ end;

++
++

č íĺ çŕáóäüňĺ äîáŕâčňü íóćíűĺ "unit" -ű â ńĺęöčţ "interface -> uses" :

++
++

interface
++  uses
++  msegui,mseclasses,mseforms,commonrefseditform,msedbedit,
++  msegrids, // îáĺńďĺ÷čâŕĺň "tcustomgrid"
++  db // îáĺńďĺ÷čâŕĺň "tdataset"
++ ;

++

++
++

Ńďîńîá âűçîâŕ
++ ôîđěű ďđîńěîňđŕ-đĺäŕęňčđîâŕíč˙

++

Ňŕę ęŕę ňŕęîăî đîäŕ đĺäŕęňčđîâŕíčĺ ňđĺáóĺňń˙ íĺ÷ŕńňî, ňî ýňîň âűçîâ ěîćíî ńďđ˙ňŕňü ďîäŕëüřĺ, ÷ňîáű íĺ ěĺřŕëń˙ - ęóäŕ-íčáóäü â îńíîâíîĺ ěĺíţ. Íî, íŕ ńëó÷ŕé, ĺńëč âäđóă ďîíŕäîáčňń˙ íĺńęîëüęî ńďîńîáîâ âűçîâŕ, čëč čç íĺńęîëüęčő ôîđě - îď˙ňü çŕäĺéńňâóĺě ęîěďîíĺíň "taction".

++

Ďĺđĺęëţ÷ŕĺěń˙ íŕ äčçŕéí "mainfo" ( ôŕéë "main.pas" ). Đîí˙ĺě â ëţáîě íĺçŕđčńîâŕííîě ěĺńňĺ "mainfo" ń ďŕëčňđű "GUI" :

++

taction :

++
    ++
  • Name:= actPlanetsEdit
  • ++
  • onexecute:= planetseditexecute
  • ++
++
++

procedure tmainfo.planetseditexecute(const sender: TObject);
++ begin
++  try
++   // îňîáđŕçčňü ôîđěó đĺäŕęňîđŕ ďëŕíĺň
++   application.createform(tplanetseditfo, planetseditfo);
++   // ĺńëč ýňŕ ôîđěŕ çŕęđűňŕ îćčäŕĺěűě îáđŕçîě
++   // ( ęíîďęîé ń ęîäîě "mr_windowclosed" )
++   if planetseditfo.show(true) = mr_windowclosed then begin
++    // ďđč íĺîáőîäčěîńňč - îńâĺćŕĺě äŕííűĺ î ďĺđńîíŕëč˙ő
++    // ń ó÷ĺňîě čçěĺíĺíčé â ďëŕíĺňŕő
++    qryPersons.active:= true;
++   end;
++  finally
++   planetseditfo.free; // óäŕë˙ĺě ôîđěó đĺäŕęňîđŕ čç ďŕě˙ňč
++  end;
++ end;

++
++

 

++

Ňĺďĺđü íŕńňđîčě âűçîâ "actPlanetsEdit" čç îńíîâíîăî ěĺíţ. Âűäĺëčě äë˙ âűçîâŕ đĺäŕęňîđîâ ńďđŕâî÷íčęîâ íîâűé đŕçäĺë ěĺíţ - "Edit" .

++

mainfo :

++
    ++
  • mnuMain ++
      ++
    • menu ++
        ++
      • submenu ++
          ++
        • item 0 -> AppendItem ( ěĺćäó "File" č "Help" ) ++
            ++
          • item 1 ++
              ++
            • caption:= Ed&it..
            • ++
            • submenu -> AppendItem ++
                ++
              • item 0 ++
                  ++
                • caption:= &Planets..
                • ++
                • action:= actPlanetsEdit
                • ++
                ++
              • ++
              ++
            • ++
            ++
          • ++
          ++
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++

Íĺ çŕáóäüňĺ äîáŕâčňü ńńűëęó íŕ ôŕéë "planetseditform" â ńĺęöčţ "interface" ôŕéëŕ "main.pas" :

++
++

interface
++
++ uses
++  msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,
++  msedbedit,mseactions,msesimplewidgets,msemenus,db,msegrids,
++  planetseditform
++ ;

++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • çíŕę "&" â " Ed&it.. " ńňîčň íĺ ďĺđĺä "E", ŕ ďĺđĺä "i" - ďîňîěó, ÷ňî "&E" óćĺ čńďîëüçóĺňń˙ íŕ ňîé ćĺ ôîđěĺ ( "mainfo" ) , ńě. ęíîďęó "btnEdit"
  • ++
++

Ôčíŕëüíűé âčä ôîđěű đĺäŕęňîđŕ ńďčńęŕ ďëŕíĺň :

++

â äčçŕéíĺ :

++

++

č âî âđĺě˙ đŕáîňű ďđîăđŕěěű:

++

++

 

++

Ńëĺäóţůčĺ ńďđŕâî÷íčęč (ęîíňčíĺíňű, ńňđŕíű, ... ), âńëĺäńňâčĺ ďđčěĺíĺíč˙ ńóáěîäóë˙ "commonrefeditform" , áóäóň ďđŕęňč÷ĺńęč ŕíŕëîăč÷íű - ďîňîěó áóäóň îďčńŕíű ęđŕňęî, íî ń äĺňŕëčçŕöčĺé îňëč÷čé .

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/prepare_steps.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/prepare_steps.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/prepare_steps.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/prepare_steps.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,381 ---- ++ ++ ++ ++ Ďîäăîňîâčňĺëüíűĺ řŕăč ++ ++ ++ ++ ++

++

Óńňđŕíĺíčĺ îřčáîę “Free Pascal Compiler” (FPC) č ďĺđĺńáîđęŕ "MSEgui/ide"

++

Ýňîň řŕă íóćĺí, ÷ňîáű čçáĺćŕňü íĺęîňîđűő ńňđŕííîńňĺé (ŕ ňî č ńĺđüĺçíűő îřčáîę âđîäĺ "SegmentationFault" č "AccessViolation" ), ŕ ňŕęćĺ ĺńëč ďëŕíčđóĺňń˙ čńďîëüçîâŕíčĺ íĺ-ASCII –ęîäîâ â čńőîäíűő ňĺęńňŕő (ńě. äŕëüřĺ ) . Ęîěŕíäŕ FPC - â ęóđńĺ, íî íŕ äŕííűé ěîěĺíň íĺ óńďĺëŕ âęëţ÷čňü äŕííűĺ čńďđŕâëĺíč˙ â ńňŕáčëüíűé ( 2.0. x ) áđŕí÷ FPC-ďđîĺęňŕ.

++

Ęîđî÷ĺ, ĺńëč ó âŕń âĺđńč˙ "FreePascal 2.0.4-rc1" č ďîçäíĺĺ - ôŕéëű čç ęŕňŕëîăŕ «patch_fpc_2_0_4» ( ďŕęĺň čńőîäíčęîâ MSEgui + MSEide ) ďĺđĺďčńŕňü ďîâĺđő ńîîňâĺňńňâóţůčő ôŕéëîâ čńőîäíčęîâ FPC ,

++

Ďĺđĺéňč â ęŕňŕëîă "$fpc_source_dir/fcl" , âűďîëíčňü “make clean”, çŕňĺě “make”, çŕňĺě - ďĺđĺďčńŕňü ďĺđĺńîçäŕííűĺ unit -ű čç “$fpc_source_dir/fcl/units/” ďîâĺđő ńîîňâĺňńňâóţůčő unit -îâ â ęŕňŕëîăĺ áčíŕđíčęîâ FPC (îáű÷íî /usr/lib/fpc/$fpc_version/units/i386-linux/fcl/ ). Ňĺďĺđü ďĺđĺńîáđŕňü "MSEgui/ide" čç čńőîäíčęîâ, ÷ňîáű ňŕęćĺ îňđŕçčňü ńäĺëŕííűĺ čçěĺíĺíč˙.

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • ďîńëĺäí˙˙ ńňŕáčëüíŕ˙ âĺđńč˙ "FreePascal" ( 2.0.4-rc1 - íŕ ěîěĺíň íŕďčńŕíč˙ äŕííîăî đóęîâîäńňâŕ ), äîńňóďíŕ íŕ http://svn.freepascal.org/svn/fpc/branches/fixes_2_0
    ++
      ++
    • äë˙ âĺđńčé FreePascal íčćĺ 2.0.4 : ++
      ++
        ++
      • ń ôŕéëŕěč čç «patch_fpc_2_0_4» - íč÷ĺăî íĺ äĺëŕňü !
        ++
      • ++
      • íĺęîňîđűĺ îďĺđŕöčč ďî ÷ŕńňč ďîääĺđćęč ÁÄ ěîăóň âűďîëí˙ňüń˙ íĺęîđđĺęňíî, ďîýňîěó ëó÷řĺ îáíîâčňüń˙ ęŕę ěčíčěóě äî 2.0.4-rc1
        ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
  • ńŕěűĺ ńâĺćŕ˙ âĺđńč˙ "MSEide+MSEgui" - äîńňóďíŕ â âčäĺ ęŕňŕëîăŕ čńőîäíűő ôŕéëîâ íŕ https://svn.sourceforge.net/svnroot/mseide-msegui/trunk, ŕ â âčäĺ ďđĺęîěďčëčđîâŕííűő áčíŕđíűő ôŕéëîâ č/čëč ŕđőčâîâ čńőîäíűő ôŕéëîâ - ďî ŕäđĺńó http://sourceforge.net/project/showfiles.php?group_id=165409, ńě. ďîńëĺäíčĺ âĺđńčč ++
    ++
      ++
    • ĺńëč őîňčňĺ čńďđŕâčňü îřčáęč "FreePascal" ( ńě. «patch_fpc_2_0_4» ), ňî âŕđčŕíň "MSEgui+IDE" â âčäĺ čńőîäíűő ôŕéëîâ Âŕě ďîíŕäîáčňń˙ ďî-ëţáîěó
      ++
    • ++
    • âĺđńč˙ ń SVN-trunk ďđĺäíŕçíŕ÷ĺíŕ ňîëüęî äë˙ ńáîđęč ďîä "FreePascal" âĺđńčé 2.0.4-rc1 č ďîçäíĺĺ
    • ++
    ++
  • ++
++


++

++

Ňđĺáîâŕíč˙ ę âčäĺî-ďîäńčńňĺěĺ

++

×ňîáű MSEide č ďđčëîćĺíč˙ íŕ áŕçĺ MSEgui âîîáůĺ ńňŕđňîâŕëč , äčńďëĺé äîëćĺí íŕőîäčňüń˙ â ňŕę íŕçűâŕĺěîě "TrueColor" đĺćčěĺ. Äë˙ ýňîăî ĺńňü ńëĺäóţůčĺ âŕđčŕíňű:

++
    ++
  1. óńňŕíîâčňü ăëóáčíó öâĺňŕ 15bpp, 16bpp čëč 24bpp -> "TrueColor" ďî óěîë÷ŕíčţ
  2. ++
  3. óńňŕíîâčňü ăëóáčíó öâĺňŕ 8bpp č äîďîëíčňĺëüíî ďîěĺńňčňü â ďîäńĺęöčţ "Display" ôŕéëŕ "XF86Config-4", îďčńűâŕţůóţ äŕííóţ ăëóáčíó, îďöčţ :
  4. ++
++
    ++
    ++

    Visual   "TrueColor"

    ++

    ęîňîđŕ˙ ďĺđĺíŕçíŕ÷ŕĺň ďđĺćíĺĺ óěîë÷ŕíčĺ äë˙ 8bpp ( "PseudoColor" )

    ++
    ++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • ĺńëč óńňŕíîâëĺíű 8bpp čëč 15bpp, ňî ďĺđĺőîäíűĺ ( ďŕńňĺëüíűĺ, âîęđóă ńĺđîăî ) öâĺňŕ ěîăó îęŕçŕňüń˙ čńęŕćĺííűěč.
    ++ Îńîáĺííî ýňî ęŕńŕĺňń˙ đĺćčěîâ 15bpp.
    ++  ďđčíöčďĺ, â MSEgui-ďđîăđŕěěŕő ýňî ěîćíî ďîďđŕâčňü, íî çŕ÷ĺě - ĺńëč äđóăčĺ X11-ďđîăđŕěěű âńĺ đŕâíî îńňŕíóňń˙ ń íĺďđŕâčëüíűěč öâĺňŕěč.
  • ++
++

++

Ďđîâĺđęŕ ńčńňĺěű íŕ íŕëč÷čĺ áčáëčîňĺę,
++ čńďîëüçóĺěűő MSEgui,
++ â ęîíňĺęńňĺ íŕřĺăî ďđîĺęňŕ

++

/usr/lib/libXft.so   –> ĺńëč őîňčě ŕíňčŕëčŕńčíă, ŕâňîçŕěĺíó č ň.ď. řđčôňîâ – ęîđî÷ĺ, âĺńü ńĺđâčń áčáëîňĺęč FreeType

++

Ďđčěĺ÷ŕíčĺ:

++
++

×ňîáű âń˙ ýňŕ ęđŕńîňŕ đĺŕëüíî çŕđŕáîňŕëŕ – íóćíî óńňŕíîâčňü TTF -řđčôňű, čäĺŕëüíî ďîäőîä˙ň FreeSans , FreeSerif č FreeMono (ďŕęĺň “ttf-freefont” )

++
++

/usr/lib/libXrender.so   -> íóćíŕ, ĺńëč áóäĺě čńďîëüçîâŕňü ęŕđňčíęč, öâĺňîâűĺ ăđŕäčĺíňű č ň.ď. ( MSEide čńďîëüçóĺň ňŕęîâűĺ – íŕďđčěĺđ, äë˙ đčńîâŕíč˙ ăđŕäčĺíňîâ â ďŕëčňđĺ öâĺňîâ )

++

/usr/lib/libpq.so     -> ÷ĺđĺç íĺĺ áóäĺě đŕáîňŕňü ń PostgreSQL -ńĺđâĺđîě

++

/usr/X11R6/lib/libX11.so č /usr/X11R6/lib/libICE.so –> čő íŕëč÷čĺ îá˙çŕňĺëüíî (îíč 100% ĺńňü, ĺńëč íîđěŕëüíî đŕáîňŕţň Čęńű ) !

++

Ĺńëč ďĺđĺ÷čńëĺííűő áčáëčîňĺę íĺň, ňî :

++
    ++
  1. óńňŕíîâčňĺ ńîîňâĺňńňâóţůčĺ ďŕęĺňű;
  2. ++
  3. ńîçäŕéňĺ ńčěâîëč÷ĺńęčĺ ëčíęč îň áîëĺĺ äĺňŕëčçčđîâŕíűő čěĺí ôŕéëîâ, íŕďđčěĺđ:
  4. ++
++
++

# ln –s /usr/lib/libXrender.so.1 /usr/lib/libXrender.so

++
++

č îň čěĺíč “root” âűďîëíčňĺ ęîěŕíäó “ldconfig”.

++

++

Ďđîâĺđęŕ ńčńňĺěű íŕ íŕëč÷čĺ řđčôňîâ,
++ čńďîëüçóĺěűő MSEgui

++

Ňŕę ęŕę MSEgui âíóňđč čńďîëüçóĺň ţíčęîä, îí ěîćĺň đŕáîňŕňü â ëţáîé íŕöčîíŕëüíîé ńđĺäĺ ( ńě. ńčńňĺěíóţ ďĺđĺěĺííóţ “LANG” ), ďđč óńëîâčč, ÷ňî â ńčńňĺěĺ óńňŕíîâëĺíű řđčôňű ń ęîäčđîâęîé ISO 10646-1, â ęîňîđűő ďđĺäńňŕâëĺíű ńčěâîëű íŕöčîíŕëüíîăî ŕëôŕâčňŕ ńčńňĺěű ( ńě. ďĺđâóţ, äî ňî÷ęč, ÷ŕńňü çíŕ÷ĺíč˙ “LANG”, ó ěĺí˙ ýňî “ru_RU” ). Îď˙ňü-ňŕęč, ďđîůĺ âńĺăî ýňîăî äîáčňüń˙, óńňŕíîâčâ ňĺ ćĺ “ttf-freefonts”.

++

Äë˙ ďîäńňđŕőîâęč ďî ÷ŕńňč ęîäčđîâîę ëó÷řĺ čěďîđňčđîâŕňü ýňč řđčôňű čç ńĺđâĺđŕ řđčôňîâ, ňŕę ęŕę ýňîň ńĺđâĺđ óěĺĺň íŕ ëĺňó ăĺíĺđčđîâŕňü íóćíűĺ ęîäčđîâęč:

++
    ++
  • óńňŕíîâčňü ďŕęĺň «xfstt» ( ńĺđâĺđ TrueType-řđčôňîâ )
  • ++
  • â ńĺęöčţ ( /etc/X11/XF86Config-4: Files ) äîďčńŕňü čěďîđň řđčôňîâ čç «xfstt» :    ++
    ++

    FontPath   "unix/:7101"

    ++
    ++
  • ++
  • ńęŕçŕňü ńĺđâĺđó XFSTT , ęŕęčĺ ęîäčđîâęč ăĺíĺđčđîâŕňü, äë˙ ÷ĺăî â /etc/init.d/xfstt , â ęîíöĺ ńĺęöčč ŕíŕëčçŕ ęîíôčăóđŕöčč, âďčńŕňü ńňđîęó : ++
    ++

    userarg="$userarg --encoding iso8859-1,koi8-r,windows-1251,iso10646-1,symbol-0"

    ++
    ++
  • ++
  • ďĺđĺçŕďóńňčňü «xfstt» ( /etc/init.d/xfstt restart ), ŕ çŕňĺě č âńĺ X11- ńĺńńčč ( Ctrl+Alt+BackSpace â ęŕćäîé čç ńĺńńčé )
  • ++
++

Ďđčěĺ÷ŕíčĺ:

++
++

čńďîëüçîâŕíčĺ "$userarg" - ëčřü îäčí čç ńďîńîáîâ ( čńďîëüçîâŕíűé â Debian Linux ) äë˙ ďĺđĺäŕ÷č ďŕđŕěĺňđîâ ęîěŕíćíîé ńňđîęč â çŕďóńęŕĺěűé ńĺđâĺđ ( äĺěîí ) "xfstt", â äđóăîě Linux-äčńňđčáóňčâĺ ěîćĺň ďîíŕäîáčňüń˙ äđóăîé ńďîńîá

++

ďŕđŕěĺňđ "--encoding" çŕäŕĺň, řđčôňű â ęŕęčő ęîäčđîâęŕő ńăĺíĺđčđîâŕňü, ďđč÷ĺě ęŕćäűé řđčôň çŕíčěŕĺň ďŕě˙ňü, ďîýňîěó áóäĺě ěčíčěŕëčńňŕěč - çŕäŕäčě ěčíčěŕëüíî íĺîáőîäčěűé íŕáîđ ęîäčđîâîę äë˙ îňîáđŕćĺíč˙ ńňŕíäŕđňíűő X11-ďđîăđŕěě ( iso8859-1 ), ńňŕíäŕđňíî đóńčôčöčđîâŕííűő ďđîăđŕěě ( koi8-r), MSEgui-ďđîăđŕěě ( iso10646-1 ) č ńčěâîëîâ âđîäĺ ńňđĺëîę, ęóđńîđîâ č č ň.ď. ( symbol-0 ); ęîäčđîâęŕ "windows-1251" çäĺńü - íŕ ńëó÷ŕé ÷ňĺíč˙ đóńńęčő MSWord-ôŕéëîâ â ńđĺäĺ OpenOffice/StarOffice/KWord

++

«xfstt» ďđč çŕďóńęĺ čůĺň TrueType-řđčôňű â ęŕňŕëîăĺ č ďîäęŕňŕëîăŕő “/usr/share/fonts/truetype/*” - íŕőîäčň, ńňđîčň ęýř, ăĺíĺđčđóĺň ęîäčđîâęč č ďîäăđóćŕĺň - íĺçŕâčńčěî îň áŕçîâîé ęîíôčăóđŕöčč X11.

++

Ďîýňîěó äîáŕâčňü äđóăîé ęîěďëĺęň TTF-řđčôňîâ ďđîńňî – ńęîďčđóéňĺ, íŕďđčěĺđ, řđčôňű îň MicroSoft – â ęŕňŕëîă “/usr/share/fonts/truetype/microsoft/”, č âűďîëíčňĺ â íĺě ęîěŕíäű «mkfontscale `pwd`», «mkfontdir `pwd`» č «fń-cache `pwd`» ( ýňč ęîěŕíäű íóćíű, ÷ňîáű číôîđěŕöč˙ î íîâűő řđčôňŕő ńňŕëŕ äîńňóďíŕ äë˙ "X11" č "FreeType" ).

++

Ďđ˙ěŕ˙ ńńűëęŕ íŕ “/usr/share/fonts/truetype/ ”( č ďîäęŕňŕëîăč ) â (/etc/X11/XF86Config-4: Files ) ěîćĺň áűňü óäŕëĺíŕ.

++
++

++

Íĺńęîëüęî ńëîâ î ďĺ÷ŕňč

++

 Ëčíóęńĺ äë˙ ďĺ÷ŕňč čç GUI -ďđčëîćĺíčé čńďîëüçóeňń˙ "GhostScript" – ďđîńňî ďîňîěó, ÷ňî îí óěĺĺň ďĺđĺâîäčňü ďîëó÷ĺííűĺ çŕäŕíč˙ â ôîđěŕňĺ PS ( PostScript ) íŕ «˙çűę» ęîíęđĺňíîăî ďđčíňĺđŕ (íĺ îá˙çŕňĺëüíî ďîääĺđćčâŕţůĺăî PS ).

++

×ňîáű čńďîëüçîâŕňü îäíč č ňĺ ćĺ řđčôňű äë˙ îňîáđŕćĺíč˙ č ďĺ÷ŕňč – íóćíî ńęŕçŕňü "GhostScript" , ăäĺ íŕőîä˙ňń˙ îňîáđŕćŕĺěűĺ řđčôňű.

++

Ęîěŕíäŕ ďĺ÷ŕňč âűăë˙äčň ďđčěĺđíî ňŕę:

++
++

ńat <file_to_print>.ps | \
++ gs -I/usr/share/fonts/truetype/ -q -sDEVICE=epson -dBATCH -dNOPAUSE -dSAFER \
++ -sOutputFile=- - | lpr -Plp

++
++

ăäĺ:

++

"ńat <file_to_print>.ps" – ěîćĺň áűňü çŕěĺíĺíî ďîňîęîě äŕííűő äë˙ đŕńďĺ÷ŕňęč (â ôîđěŕňĺ PS )

++

"-I/usr/share/fonts/truetype/" - íóćíî, ĺńëč â ôŕéëĺ ďĺ÷ŕňč ĺńňü ńńűëęč íŕ řđčôňű čç ýňîăî ęŕňŕëîăŕ (č ĺăî ďîäęŕňŕëîăîâ)

++

"-sDEVICE=epson" – ďĺđĺâîäčňü â ôîđěŕň äë˙ đŕńďĺ÷ŕňęč íŕ 9-čăîëü÷ŕňîě ďđčíňĺđĺ ńčńňĺěű ęîěŕíä “Epson”

++

( ńďčńîę ďîääĺđćčâŕĺěűő ďđčíňĺđîâ ěîćíî óçíŕňü ęîěŕíäîé «gs --help», ńě. «Available devices» )

++

"lp -Plp" – ďĺ÷ŕňŕňü ÷ĺđĺç LPD/LPRng-ńďóëĺđ, ó ęîňîđîăî čńďîëüçîâŕňü î÷ĺđĺäü ďĺ÷ŕňč “lp”, ęîňîđŕ˙, ęńňŕňč íĺ äîëćíŕ äĺëŕňü ďđîăîí ńňđŕíčöű ( PS -ôŕéë îáű÷íî ńîäĺđćčň ňŕęóţ ęîěŕíäó)

++

Ěĺńňîďîëîćĺíčĺ TrueType -řđčôňîâ ěîćíî ňŕęćĺ óęŕçŕňü ÷ĺđĺç “~/.bash_profile”, äîáŕâčâ ńňđîęó:

++
++

export GS_FONTPATH=/usr/share/fonts/truetype/: $GS_FONTPATH

++
++

Ęńňŕňč , GhostScript ńŕě ďđîńęŕíčđóĺň ďîäęŕňŕëîăč «/usr/share/fonts/truetype/*» â ďîčńęĺ řđčôňîâ .

++

Íî ďđîńňî číôîđěŕöčč î ęŕňŕëîăĺ íĺäîńňŕňî÷íî, ÷ňîáű GhostScript ńěîă čńďîëüçîâŕňü TTF -řđčôňű, âĺäü îí íĺ ďîíčěŕĺň čő čěĺíŕ. Ďđčäĺňń˙ čńďîëüçîâŕňü ŕëčŕńű – ńě. ôŕéë

++
++

/usr/share/gs[-afpl,-esp]/<ver>/lib/Fontmap.GS

++
++

++

Ďđčěĺđ ńęđčďňŕ äë˙ ŕâňîěŕňčçŕöčč đóňčííîé çŕäŕ÷č ăĺíĺđŕöčč ŕëčŕńîâ ( ďđč÷ĺě ýňč ŕëčŕńű äîëćíű ńîîňâĺňńňâîŕňü ŕíŕëîăč÷íűě â "FreeType" - číŕ÷ĺ áóäóň đŕńőîćäĺíč˙ âčäŕ íŕ ýęđŕíĺ č íŕ áóěŕăĺ ) - ńě. â ŕđőčâĺ xft2gs.tgz, ôŕéë "do_xft.sh".  ýňîě ŕđőčâĺ ňŕęćĺ íŕőîä˙ňń˙ :

++
    ++
  • Fontmap.GS.xft - ńăĺíĺđčđîâŕííűé ýňčě ńęđčďňîě ôđŕăěĺíň äë˙ äîáŕâëĺíč˙ â "Fontmap.GS" íŕ âŕřĺě đŕáî÷ĺě ěĺńňĺ
    ++
  • ++
  • fonts.conf - ôŕéë ęîíôčăóđŕöčč "FreeType" ( /etc/fonts/fonts.conf ), ń äîáŕâëĺíčĺě ŕëčŕńŕ äë˙ řđčôňŕ "fixed" ( čńďîëüçóĺňń˙ â "MSEide" )
  • ++
++

Çŕďóńęŕňü "do_xft.sh" ( č âęëţ÷ŕňü íîâîĺ ńîäĺđćčěîĺ "Fontmap.GS.xft" â "Fontmap.GS" ) ńëĺäóĺň ďîńëĺ čçěĺíĺíč˙ â ńĺęöč˙ő "<alias>..< prefer>" ôŕéëŕ "/etc/fonts/fonts.conf".
++ Ďđŕâčëî – ĺńëč ŕëčŕńű â ôŕéëĺ "Fontmap.GS" ďĺđĺńĺęŕţňń˙ ( ďĺđĺîďđĺäĺë˙ţňń˙ ), ňî çŕäĺéńňâóĺňń˙ ńŕěűé ďîńëĺäíčé âŕđčŕíň.

++

Íŕńňđîéęč ( ÷ĺđĺç ďĺđĺěĺííűĺ âíóňđč ôŕéëŕ ) ďî óěîë÷ŕíčţ "do_xft.sh" äîńňŕňî÷íű äŕćĺ äë˙ ňîăî, ÷ňîáű "GhostScript" ďîíčěŕë đŕçíűĺ âŕđčŕíňű čěĺíîâŕíč˙ íĺęîňîđűő řđčôňîâ, íŕďđčěĺđ - "Times", "Times New", "Times New Roman", "TimesNew Roman", "TimesNewRoman" - âńĺ áóäóň îäčíŕęîâűě îáđŕçîě îáđŕáîňŕíű, ĺńëč đĺŕëüíî ďđĺäńňŕâëĺíű îäíčě č ňĺě ćĺ ôŕéëîě řđčôňŕ. Íî đŕáîňŕĺň ýňîň
++ ěĺőŕíčçě íĺ âńĺăäŕ, č ńëŕâŕ áîăó - ëó÷řĺ âńĺăäŕ çíŕňü, ęŕęîé řđčôň đĺŕëüíî čńďîëüçóĺňń˙, ďîýňîěó
++ ĺäčíńňâĺííî íŕäĺćíűé ńďîńîá çŕäŕíč˙ čěĺíč řđčôňŕ - ĺăî ňî÷íŕ˙ íîňŕöč˙, ń ńîáëţäĺíčĺě âńĺő ďđîáĺëîâ č đĺăčńňđŕ áóęâ ++
++ - íŕńňî˙ňĺëüíî Âŕě đĺęîěĺíäóţ âńĺăäŕ äĺëŕňü čěĺííî ňŕę ( ňî÷íűĺ íŕçâŕíč˙ řđčôňîâ, ďîíčěŕĺěűĺ "GhostScript" - ńě. ëĺâűé ńňîëáĺö â ôŕéëĺ "Fontmap.GS" ).
++
++ Ňŕęćĺ, ń ýňčěč íŕńňđîéęŕěč íĺ íóćíî äîáŕâë˙ňü "export GS_FONTPATH=.." â âŕř "~/.bash_profile" (ńě. âűřĺ ), ňŕę ęŕę áóäóň čńďîëüçîâŕíű ďîëíűĺ ďóňč ę ôŕéëŕě řđčôňîâ.

++

Çŕďóńęŕňü "do_xft.sh" ńëĺäóĺň îň čěĺíč ďîëüçîâŕňĺë˙, ęîňîđűé áóäĺň đĺŕëüíî ďĺ÷ŕňŕňü ( ÷ňîáű ó÷ĺńňü ĺăî ńîáńňâĺííűĺ řđčôňű - â äîěŕříĺě ęŕňŕëîăĺ ) , ŕ óćĺ äîáŕâë˙ňü ę "Fontmap.GS" ďđčäĺňń˙, ńňŕâ ńóďĺđďîëüçîâŕňĺëĺě ( root ) . Ňŕęćĺ, äŕííűé ńęđčďň ďîäđŕçóěĺâŕĺň čńďîëüçîâŕíčĺ TrueType-řđčôňîâ.

++

Îď˙ňü-ňŕęč – ďî÷ĺěó čńďîëüçîâŕňü â PostScript íĺ ďđčâű÷íűĺ PS (Type1–řđčôňű), ŕ čěĺííî TrueType ( TTF ) ? Ďđîńňî ďîňîěó, ÷ňî TTF-řđčôňű ńîäĺđćŕň â ńĺáĺ íŕ÷ĺđňŕíč˙ ńčěâîëîâ ďđŕęňč÷ĺńęč âńĺő ĺâđîďĺéńęčő ˙çűęîâ, íóćíî ëčřü ńęŕçŕňü «čńďîëüçóé ňŕęîé-ňî ęîä äë˙ íŕ÷ĺđňŕíč˙ ňŕęîé-ňî áóęâű» . Çŕäŕíč˙ ďĺ÷ŕňč ( â ôîđěŕňĺ PS ), ăĺíĺđčđóĺěűĺ MSEgui ęîěďîíĺíňîě «tpostscriptprinter», ńîäĺđćŕň â ńĺáĺ ňŕáëčöű ďĺđĺęîäčđîâęč – ÷ňî ďîçâîë˙ĺň đŕńďĺ÷ŕňŕňü ďđŕęňč÷ĺńęč ëţáűĺ ( őîňü ęčňŕéńęčĺ – ëčřü áű áűëč â řđčôňĺ ! ) ńčěâîëű, âíĺ çŕâčńčěîńňč îň ńčńňĺěíîé ęîäčđîâęč.

++
++

Îáůĺĺ ďđŕâčëî ďđč ďîäăîňîâęĺ ďĺ÷ŕňč - âńĺăäŕ óęŕçűâŕéňĺ â ďđîăđŕěěĺ ěŕęńčěŕëüíî äĺňŕëčçčđîâŕííîĺ čě˙ řđčôňű - "Times New Roman" č ň.ď., ÷ňîáű ďîňîě, čç-çŕ âîçěîćíűő đŕçëč÷čé â ŕëčŕńŕő řđčôňîâ, íĺ ďîëó÷čëîńü đŕńőîćäĺíčé ďđč ďĺ÷ŕňč ňîé ćĺ číôîđěŕöčč íŕ äđóăîě đŕáî÷ĺě ěĺńňĺ.
++ Ëĺă÷ĺ óńňŕíîâčňü íŕ äđóăîě đŕáî÷ĺě ěĺńňĺ íóćíűé řđčôň, ÷ĺě âîçčňüń˙ ń ŕëčŕńŕěč
!

++
++

Ďđčěĺ÷ŕíč˙ :

++

Ďîâĺäĺíčĺ "GhostScript" ďđč ďîëó÷ĺíčč íĺďđŕâčëüíîăî čëč íĺčçâĺńňíîăî čěĺíč řđčôňŕ, čëč ęîăäŕ ôŕéë řđčôňŕ íĺäîńňóďĺí íŕ ôŕéëîâîé ńčńňĺěĺ - íĺîäíîçíŕ÷íî. Îí ěîćĺň ďđĺęđŕňčňü đŕáîňó, ŕ ěîćĺň č ďđîäîëćčňü, çŕěĺíčâ íĺâĺđíűé řđčôň íŕ óěîë÷ŕíčĺ, ęŕę ďđŕâčëî - řđčôň "Helvetica" ( ĺńëč řđčôň ++ ďî-óěîë÷ŕíčţ äîńňóďĺí, ňî, ęŕę ďđŕâčëî - ďđîčńőîäčň 2-é âŕđčŕíň )

++

Ôîđěŕň íŕçâŕíč˙ řđčôňŕ, ăĺíĺđčđóĺěîăî "MSEgui" â çŕäŕíč˙ő äë˙ ďĺ÷ŕňč :

++
    ++
  • {font name with spaces and correct letter casing}[-[Bold[Italic]]
  • ++
++
++

ăäĺ :

++
    ++
  • tprintercanvas.font.name: => {font name with spaces and correct letter casing}
    ++
  • ++
  • tprintercanvas.font.style:= [fs_bold, fs_italic] => [-[Bold[Italic]]
  • ++
++

č čěĺííî äë˙ ňŕęîăî ôîđěŕňŕ ( "Times New Roman-BoldItalic", č ň.ď. ) â ôŕéëĺ "Fontmap.GS" äîëćíű áűňü ďîäăîňîâëĺíű ęîđđĺęňíűĺ ŕëčŕńű.

++
++

Ęŕęčĺ řđčôňű ďî óěîë÷ŕíčţ čńďîëüçóţň MSEgui-ďđîăđŕěěű ? Ęîěďëĺęň "Fixed", "Helvetica", "Sans", "Serif", "Courier New" č "Mono", íŕçíŕ÷ĺííűé ăđóďďĺ âńňđîĺííűő ( stock ) îáúĺęňîâ, äîńňóďíűő ęŕćäîěó MSEgui-ďđčëîćĺíčţ .
++ Ďđč çŕęŕçĺ řđčôňîâ áčáëčîňĺęŕ "FreeType" îáđŕůŕĺňń˙ ę ńâîĺěó ďŕđňíĺđó - áčáëčîňĺęĺ "FontConfig", ęîňîđŕ˙, â ńâîţ î÷ĺđĺäü, ŕíŕëčçčđóĺň ńčńňĺěíűĺ íŕńňđîéęč řđčôňîâ - ôŕéë "/etc/fonts/fonts.conf" .

++

 ýňîě ôŕéëĺ íŕń číňĺđĺńóţň ńĺęöčč :

++

A. Áĺçóńëîâíŕ˙ çŕěĺíŕ řđčôňŕ :

++
++
++

<!--
++ Accept deprecated 'mono' alias, replacing it with 'monospace'
++ -->
++ <match target="pattern">
++ <test qual="any" name="family">
++ <string>mono</string>
++ </test>
++ <edit name="family" mode="assign">
++ <string>monospace</string>
++ </edit>
++ </match>

++
++

Ňî ĺńňü âěĺńňî řđčôňŕ "Mono" ńëĺäóĺň čńęŕňü řđčôň "Monospace".

++
++

 

++

!!! Ńđŕçó âńëĺä ýňîé ńĺęöčĺé - äîáŕâčě çŕďčńü, îćčäŕĺěóţ "MSEide" :

++
++

<match target="pattern">
++ <test qual="any" name="family">
++ <string>fixed</string>
++ </test>
++ <edit name="family" mode="assign">
++ <string>monospace</string>
++ </edit>
++ </match>

++

Ýňî áóäĺň ŕëčŕń äë˙ řđčôňŕ "fixed".

++

 

++
++
++

 

++
++
++

<!--
++ Accept alternate 'sans serif' spelling, replacing it with 'sans-serif'
++ -->
++ <match target="pattern">
++ <test qual="any" name="family">
++ <string>sans serif</string>
++ </test>
++ <edit name="family" mode="assign">
++ <string>sans-serif</string>
++ </edit>
++ </match>

++

Ňî ĺńňü âěĺńňî řđčôňŕ "sans serif" ńëĺäóĺň čńęŕňü řđčôň "sans-serif".

++
++
++

<!--
++ Accept deprecated 'sans' alias, replacing it with 'sans-serif'
++ -->
++ <match target="pattern">
++ <test qual="any" name="family">
++ <string>sans</string>
++ </test>
++ <edit name="family" mode="assign">
++ <string>sans-serif</string>
++ </edit>
++ </match>

++

Ňî ĺńňü âěĺńňî řđčôňŕ "sans" ńëĺäóĺň čńęŕňü îď˙ňü-ňŕęč řđčôň "sans-serif".

++
++

 

++

B. Âŕđčŕíňű, â ďîđ˙äęĺ óáűâŕíč˙ ďđĺäďî÷ňĺíč˙

++
++

<!--
++ Provide required aliases for standard names
++ -->
++ <alias>
++ <family>serif</family>
++ <prefer>
++ <family>Bitstream Vera Serif</family>
++ <family>Times New Roman</family>
++ ... ++
++ <family>Nimbus Roman No9 L</family>
++ <family>Times</family>
++ ... ++
++ <family>FreeSerif</family>
++ </prefer>
++ </alias>
++

++

Ňî ĺńňü ďđč íĺńęîëüęčő âŕđčŕíňŕő âűáîđŕ řđčôňŕ "serif" - íŕ÷číŕňü ń "Bitstream Vera Serif" ( ęîěďëĺęň "fonts-bitstream" ), çŕňĺě - "Times New Roman" ( řđčôň îň "MicroSoft" ), "Nimbus Roman No9 L" (Type1-řđčôň îň "Adobe", âőîäčň â ęîěďëĺęň GhostScript ), "Times" ( bitmap-řđčôň čő ęîěďëĺęňŕ XWindows) č "FreeSerif " ++ (řđčôň čç ęîěďëĺęňŕ “ttf-freefont” ) .

++
++
++


++ <alias>
++ <family>sans-serif</family>
++ <prefer>
++ <family>Bitstream Vera Sans</family>
++ <family>Verdana</family>
++ <family>Arial</family>
++ ...
++ <family>Nimbus Sans L</family>
++ <family>Helvetica</family>
++ ...
++ <family>FreeSans</family>
++ </prefer>
++ </alias>
++

++

Ňî ĺńňü ďđč íĺńęîëüęčő âŕđčŕíňŕő âűáîđŕ řđčôňŕ "sans-serif" - íŕ÷číŕňü ń "Bitstream Vera Sans" ( ęîěďëĺęň "fonts-bitstream" ), çŕňĺě - "Verdana" č "Arial" ( řđčôňű îň "MicroSoft" ), "Nimbus Sans L" (Type1-řđčôň îň "Adobe", âőîäčň â ęîěďëĺęň GhostScript ), "Helvetica" ( bitmap-řđčôň čő ęîěďëĺęňŕ XWindows) č "FreeSans" (řđčôň čç ęîěďëĺęňŕ “ttf-freefont” ) .

++

 

++
++
++

<alias>
++ <family>monospace</family>
++ <prefer>
++ <family>Bitstream Vera Sans Mono</family>
++ <family>Andale Mono</family>
++ <family>Courier New</family>
++ ... ++
++ <family>Nimbus Mono L</family>
++ <family>Courier</family>
++ ... ++
++ <family>FreeMono</family>
++ </prefer>
++ </alias>

++

Ňî ĺńňü ďđč íĺńęîëüęčő âŕđčŕíňŕő âűáîđŕ řđčôňŕ "monospace" - íŕ÷číŕňü ń "Bitstream Vera Sans Mono" ( ęîěďëĺęň "fonts-bitstream" ), çŕňĺě - "Andale Mono" č "Courier New" ( řđčôňű îň "MicroSoft" ), "Nimbus Mono L" ( Type1-řđčôň îň "Adobe", âőîäčň â ęîěďëĺęň GhostScript ), "Courier" ( bitmap-řđčôň čő ęîěďëĺęňŕ XWindows) č "FreeMono" (řđčôň čç ęîěďëĺęňŕ “ttf-freefont” ) .

++
++

Ňî ĺńňü, ĺńëč â ńčńňĺěĺ óńňŕíîâëĺíű âńĺ âűřĺďĺđĺ÷čńëĺííűĺ ęîěďëĺęňű řđčôňîâ, ňî řđčôňű “ttf-freefont” îńňŕíóňń˙ íĺçŕäĺéńňâîâŕííűěč. Řđčôňű "fonts-bitstream" íŕ ńčńňĺěĺ ń đóńńęîé ëîęŕëüţ áóäóň îňńĺ÷ĺíű čç-çŕ čő áŕçîâîăî ˙çűęŕ ( lang=en ) , ńëĺäîâŕňĺëüíî - áóäóň çŕäĺéńňâîâŕíű MicroSoft-řđčôňű.

++

Ĺńëč ěű őîňčě, ÷ňîáű â "MSEgui" ( č ďđî÷čő ďđîăđŕěěŕő, îđčĺíňčđîâŕííűő íŕ "FreeType" ) áűëč çŕäĺéńňâîâŕíű řđčôňű “ttf-freefont”, ďđčäĺňń˙ âđó÷íóţ ďĺđĺěĺńňčňü ńňđîęó "<family>FreeSerif</family>" âűřĺ ńňđîęč "<family>Times New Roman</family>", č ňŕę äŕëĺĺ äë˙ îńňŕëüíűő řđčôňîâ.

++

Ęńňŕňč, ńęđčďň "do_xft.sh" ( ńě. âűřĺ ) ďđčíčěŕĺň â đŕńń÷ĺň äŕííűé ďđčîđčňĺň řđčôňîâ č äë˙ ńŕěűő ďđčîđčňĺňíűő řđčôňîâ ńîçäŕĺň ńŕěűĺ ęîđîňęčĺ ŕëčŕńű .

++

Ďđčěĺ÷ŕíčĺ :

++
    ++
  • ĺńëč Âű đŕáîňŕĺňĺ â Win-32 č óńňŕíîâčëč "GhostScript + GV", âĺđńčč äë˙ "Windows", Âŕě âńĺ đŕâíî ďîňđĺáóĺňń˙ ôŕéë "Fontmap" ( "Fontmap.GS", íî ń óáđŕííűě đŕńřčđĺíčĺě ), ęîňîđűé äîëćĺí íŕőîäčňüń˙ â ęŕňŕëîăĺ "${WINDIR}/Fonts/". Ńîäĺđćčěîĺ äŕííîăî ôŕéëŕ ďđčäĺňń˙ ăĺíĺđčđîâŕňü â Linux, âęëţ÷čâ ęŕňŕëîă "${WINDIR}/Fonts/" â ńďčńîę ęŕňŕëîăîâ řđčôňîâ "Linux"
    ++
      ++
    • â "Fontmap" číôîđěŕöčţ î ďóň˙ő ę ôŕéëŕě řđčôňîâ ďđčäĺňń˙ óäŕëčňü - ëčáî âđó÷íóţ, ëčáî ďîäďđŕâčâ âíóňđĺííţţ ďĺđĺěĺííóţ "SHORTPATHS" ńęđčďňŕ "do_xft.sh", óńňŕíîâčâ ĺĺ â "1"
      ++
    • ++
    ++
  • ++
  • íčęňî íĺ çŕńňŕâë˙ĺň ńňŕâčňü íč "Microsoft", íč "FreeFont" řđčôňű - âďîëíĺ ěîćíî îáîéňčńü Type1-řđčôňŕěč îň "Adobe", äŕ ĺůĺ ďđč ňîě, ÷ňî äë˙ íčő ďîäőîäčň íĺčçěĺíĺííűé "Fontmap.gs" ;
    ++ íî â ýňčő řđčôňŕő íŕěíîăî ěĺíüřĺ ęîäčđîâîę č ńčěâîëîâ, íóćíŕ âîçí˙ ń X11-ŕëčŕńŕěč äë˙ íîđěŕëüíîé đŕáîňű íĺ-FreeType ďđîăđŕěě, č ň.ä., ęîđî÷ĺ, ďî ěîĺěó îďűňó - ěíîăî íĺíóćíîé âîçíč ;
    ++
  • ++
  • ĺńëč â ńčńňĺěĺ óńňŕíîâëĺíű Type1-řđčôňű, ňî îíč áĺçóńëîâíî çŕőâŕňűâŕţň íŕ ńĺá˙ FreeType-ŕëčŕńű "Times", "Helvetica" č "Courier " , ÷ňî ěîćĺň ńîçäŕňü íĺńňűęîâęó ń ěîäčôčöčđîâŕííűě "Fontmap.GS" ; ÷ňîáű ýňî ďđĺäîňâđŕňčňü, óäŕëčňĺ čç "/etc/fonts/fonts.conf" ńëĺäóţůóţ ńĺęöčţ : ++
    ++

    <!--
    ++ URW provides metric and shape compatible fonts for these 3 Adobe families
    ++ Mark these as effective replacements by binding the replacement
    ++ family names strongly
    ++ -->
    ++ <match target="pattern">
    ++ <test name="family"><string>Times</string></test>
    ++ <edit name="family" mode="append" binding="same">
    ++ <string>Nimbus Roman No9 L</string>
    ++ </edit>
    ++ </match>
    ++ <match target="pattern">
    ++ <test name="family"><string>Helvetica</string></test>
    ++ <edit name="family" mode="append" binding="same">
    ++ <string>Nimbus Sans L</string>
    ++ </edit>
    ++ </match>
    ++ <match target="pattern">
    ++ <test name="family"><string>Courier</string></test>
    ++ <edit name="family" mode="append" binding="same">
    ++ <string>Nimbus Mono L</string>
    ++ </edit>
    ++ </match>

    ++
    ++
  • ++
++
++

č ďĺđĺçŕďóńčňĺ X11 ( ÷ňîáű čçěĺíĺíč˙ "fonts.conf" ) âńňóďčëč â äĺéńňâčĺ.

++
++

Ěîćĺň âńňŕňü âîďđîń - ęŕęîé ęîěďëĺęň TrueType-řđčôňîâ ńëĺäóĺň âűáđŕňü - "FreeFonts", "MicroSoft", "BitStream" č ň.ď. ? Ŕ ěîćĺň âîîáůĺ îăđŕíč÷čňüń˙ Type1-řđčôňŕěč ( *.pfa/pfb). Ěîăó ňîëüęî ńîńëŕňüń˙ íŕ ńîáńňâĺííűé îďűň :

++
    ++
  • řđčôňű îň MicroSoft äŕţň ďđĺęđŕńíűĺ îňďĺ÷ŕňęč č íŕ áîëüřčő, č íŕ ěŕëűő đŕçěĺđŕő, ďđŕęňč÷ĺńęč íĺ ňđĺáóţň ďîäńňđîéęč ďŕđŕěĺňđîâ FreeType-áčáëčîňĺęč ( ńě. íčćĺ ), îäíŕęî ďđč ňîě ćĺ çŕäŕíîě đŕçěĺđĺ řđčôňű îňîáđŕćŕţň íĺńęîëüęî óęđóďíĺííűĺ ëčňĺđű, íîđěŕëüíî ýňî čëč íĺň - íĺčçâĺńňíî, ěîćíî ďîýęďĺđčěĺíčđîâŕňü ń DPI-ďŕđŕěĺňđîě (96..120) â íŕńňđîéęŕő XFSTT-ńĺđâĺđŕ
    ++
  • ++
  • ďđî÷čĺ řđčôňű - äë˙ íîđěŕëüíîăî âčäŕ ňđĺáóţň äîíŕńňđîéęč FreeType-áčáëčîňĺęč : ++
      ++
    • ÷ňîáű óáđŕňü öâĺňíűĺ îđĺîëű -> âęëţ÷čňü "autihinting" -> ńîçäŕňü ëčíę :
      ++
      ++ "/etc/fonts/conf.d/32-autohint.conf", óęŕçűâŕţůčé íŕ "/etc/fonts/conf.d/autohint.conf"
      ++
    • ++
    • ÷ňîáű ďîâűńčňü đĺçęîńňü ďđîđčńîâęč -> âęëţ÷čňü ńóáďčęńĺëüíóţ îňđčńîâęó ďčęńĺëîâ -> ńîçäŕňü ëčíę :
      ++
      ++ "/etc/fonts/conf.d/31-sub-pixel.conf", óęŕçűâŕţůčé íŕ "/etc/fonts/conf.d/sub-pixel.conf " ++
      ++

      Ďŕđŕěĺňđ "rgb" â ýňîě ôŕéëĺ îďđĺäĺë˙ĺň ďîđ˙äîę (ńëĺâŕ íŕďđŕâî) öâĺňîâ â öâĺňîâűő ňđčŕäŕő, îáđŕçóţůčő îňäĺëüíűĺ ďčęńĺëű, č ěîćĺň îňëč÷ŕňüń˙ â đŕçíűő ěîäĺë˙ő ěîíčňîđîâ. Âčäĺí ďîä ëóďîé, čěĺĺň íŕčáîëüřčé ýôôĺęň äë˙ ěîíčňđîâ ń ňđčŕäŕěč, đŕńďîëîćĺííűěč â îäíó ëčíčţ - íŕďđčěĺđ, ćčäîęđčńňŕëčč÷ĺńęčő. Ĺńëč đĺŕëüíűé ďîđ˙äîę öâĺňîâ îňëč÷ŕĺňń˙ îň "rgb", ěîćíî ĺăî óęŕçŕňü â ýňîě ďŕđŕěĺňđĺ.

      ++
      ++
    • ++
    ++
  • ++
++
++
++

Č âńĺ đŕâíî ěĺëęčĺ ( < 8 ) đŕçěĺđű řđčôňîâ ěîăóň ďđîđčńîâűâŕňüń˙ ń đŕçđűâŕěč, îńîáĺíî ĺńëč âęëţ÷ĺíŕ ńóáďčęńĺëüíŕ˙ ďđîđčńîâęŕ

++
++
++

Ďđčěĺ÷ŕíč˙ : ++

++
    ++
  • ×ňîáű íĺěŕńřňŕáčđóĺěűĺ ( íĺ-TrueType/Type1 ) řđčôňű íĺ âęëčíčëčńü â ńďčńîę řđčôňîâ č íĺ ďîěĺřŕëč áű âűáîđó ęîđđĺęňíîăî ěŕńřňŕáčđóĺěîăî řđčôňŕ, ěîćíî čńęëţ÷čňü čő íĺ-TrueType/Type1-řđčôňű čç îáđŕáîňęč â FreeType-áčáëčîňĺęĺ : ++
    ++

    ńîçäŕňü ëčíę "/etc/fonts/conf.d/30-no-bitmap.conf", óęŕçűâŕţůčé íŕ "/etc/fonts/conf.d/no-bitmap.conf"

    ++
    ++
  • ++
  • Ôŕéëű â ęŕňŕëîăĺ "/etc/fonts/conf.d/*" áóäóň îáđŕáîňŕíű â ďîđ˙äęĺ âîçđŕńňŕíč˙ öčôđ â íŕ÷ŕëĺ čěĺíč ( öčôđű íĺ äîëćíű ďîâňîđ˙ňüń˙, áĺç öčôđ - âîîáůĺ íĺ áóäĺň îáđŕáîňŕí ) ++

    ++ .
  • ++
++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/project_base.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/project_base.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/project_base.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/project_base.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,154 ---- ++ ++ ++ ++ Îńíîâíŕ˙ ôîđěŕ, çŕďóńę č çŕâĺđřĺíčĺ ďđčëîćĺíč˙ ++ ++ ++ ++ ++

Îńíîâíŕ˙ ôîđěŕ,
++ çŕďóńę č çŕâĺđřĺíčĺ ďđčëîćĺíč˙

++

Íŕäďčńü â çŕăîëîâęĺ îńíîâíîăî îęíŕ ďđîăđŕěěű, âî âđĺě˙ ĺĺ âűďîëíĺíč˙:

++
++

Mainfo.caption:= “The Galaxy Data Keeper”

++
++

Äŕëĺĺ, ýňî – ńďîńîá çŕâĺđřĺíč˙ ďđîăđŕěěű, ŕ ňŕęćĺ âűâîä ďîäńęŕçęč. Â ëţáîé íîđěŕëüíîé ďđîăđŕěěĺ, ýňč îďĺđŕöčč číčöččđóţňń˙ čç îńíîâíîăî ěĺíţ, ŕ ňŕęćĺ ńďĺöčŕëüíîé ęîďęŕěč čëč ęëŕâčřŕěč. Đŕç ó íŕń íĺńęîëüęî âîçěîćíűő ěĺńň – îďčřĺě ńŕěî äĺéńňâčĺ, ŕ óćĺ ďîňîě ďđčâ˙ćĺěń˙ ę íĺěó â íóćíűő ěĺńňŕő.

++

Äë˙ îďčńŕíč˙ äĺéńňâčé ĺńňü ęîěďîíĺíň “taction”. Ďîýňîěó óđîíčě (GUI -> taction) íŕ íŕřó ôîđěó č íŕçîâĺě ĺăî "actExit" , č íŕçíŕ÷čě ĺěó čńďîëí˙ĺěűé ęîä:

++
++

ńâîéńňâî «onexecute»: ďčřĺě íŕçâŕíčĺ ďđîöĺäóđű “ appexit ”, ćěĺě “ Enter ” č äâŕćäű ęëčęŕĺě ěűřüţ, ÷ňî ďĺđĺíîńčň íŕń â ńŕě ęîä äîáŕâëĺííîé ďđîöĺäóđű, âńňŕâë˙ĺě ňóäŕ ęîěŕíäó íŕ çŕâĺđřĺíčĺ ďđîăđŕěěű, ďîëó÷ŕ˙

++
++

procedure tmainfo.appexit(const sender: TObject);
++ begin
++   application.terminated:= true;
++ end;

++
++

Č íŕçíŕ÷ŕĺě äŕííîěó äĺéńňâčţ “ăîđ˙÷óţ” ęîěáčíŕöčţ ęëŕâčř:

++
++

Shortcut:= Ctrl+Q

++
++
++

 

++

Äŕëĺĺ đîí˙ĺě íŕ ôîđěó ęîěďîíĺíňű :

++

Widget->tbutton :

++
    ++
  • Name:= btnExit
  • ++
  • Caption:= Ex&it
  • ++
  • Action:= actExit
  • ++
++

ýňî áóäĺň ęíîďęŕ äë˙ çŕâĺđřĺíč˙ ďđîăđŕěěű.

++

Ďđčěĺ÷ŕíčĺ :

++
    ++
  • íŕçíŕ÷čňü ęíîďęĺ "btnExit" çŕâĺđřĺíčĺ ďđîăđŕěěű ěîćíî č äđóăčě îáđŕçîě : ++ ++
      ++
    • óáĺäčňüń˙, ÷ňî "mainfo->options->fo_terminateonclose:= true"
    • ++
    • íŕçíŕ÷čňü ęíîďęĺ "btnExit" ęîä çŕâĺđřĺíč˙ "btnExit->modalresult:= mr_windowclosed"
    • ++
    ++

    ňî ĺńňü íŕćŕňčĺ äŕííîé ęíîďęč âűçűâŕĺň çŕęđűňčĺ îęíŕ ( ôîđěű ) , íŕ ęîňîđîé ęíîďęŕ đŕńďîëîćĺíŕ ( mainfo ) , ŕ çŕęđűňčĺ ôîđěű - ŕâňîěŕňč÷ĺńęč çŕâĺđřŕĺň đŕáîňó ďđčëîćĺíč˙; íî çäĺńü ěű ýňî ńďîńîá íĺ ďđčěĺí˙ĺě, ďîňîěó ÷ňî çŕęđűňčĺ ďđčëîćĺíč˙ - ďđčâ˙çŕíî ę "taction" .

    ++
  • ++
++

Äŕëĺĺ đîí˙ĺě çŕăîňîâęó ăëŕâíîăî ěĺíţ ďđîăđŕěěű :

++
++

Widget->tmainmenu :

++
    ++
  • Name:= mnuMain
  • ++
  • Menu->submenu.count ->(RightClick)->AddItem ++
      ++
    •   Item0 : ++
        ++
      • caption:= &File
        ++   submenu.count -> (RightClick) ->AddItem ++
          ++
        •   item0: ++
            ++
          •     caption:= E&xit
          • ++
          •     action:= actExit
          • ++
          ++
        • ++
        ++
      • ++
      •   Item1: ++
          ++
        •     Caption:= &Help
        • ++
        ++
      • ++
      ++
    • ++
    ++
  • ++
++
++

Ăîâîđčě ôîđěĺ "čńďîëüçóé ýňî ěĺíţ" :

++
++

Mainfo

++
++

menu:= mnuMain

++
++
++

č ńđŕçó âčäčě, ÷ňî "File" č "Help" â ěĺíţ - î÷ĺíü áëčçęî äđóă ę äđóăó. Ďîýňîěó äŕëĺĺ đîí˙ĺě ęîěďîíĺíň, óďđŕâë˙ţůčé ńňčëĺě đŕěîę, ăđŕíčö, îňńňóďîâ č çŕçîđîâ :

++
++

GUI->tframecomp (1) :

++
    ++
  • Name:= ftMainMenuItem
  • ++
  • Template ++
      ++
    • framei: ++
        ++
      • Left:= 10
      • ++
      • Right:= 50
      • ++
      ++
    • ++
    ++
  • ++
++
++

č ń ĺăî ďîěîůüţ đŕçäâčăŕĺě ďóíęňű â ďîëîńĺ ěĺíţ :

++
++

mnuMain

++
    ++
  • itemframetemplate:= ftMainMenuItems
  • ++
++
++

Ňĺďĺđü ěîćíî ďîďđîáîâŕňü ěĺíţ – ęŕę âî âđĺě˙ đŕáîňű ďđîăđŕěěű. Îáđŕňčňĺ âíčěŕíčĺ íŕ íŕçâŕíčĺ ăîđ˙÷ĺé ęîěáčíŕöčč ( Ctrl+Q , ŕ ňŕęćĺ ďîä÷ĺđęíóňóţ “x” â “Exit” – ňŕě, ăäĺ â “caption” ńňîčň “&” )

++

Ěîćíî äŕćĺ çŕďóńňčňü íŕřó ďđîăđŕěěó (íŕćŕâ F9 ), č óáĺäčňüń˙, ÷ňî ěĺíţ đŕáîňŕĺň, ŕ ňŕęćĺ â ňîě, ÷ňî ďđîăđŕěěŕ ěîćĺň áűňü çŕâĺđřĺíŕ çŕäóěŕííűě îáđŕçîě.

++

Âî âđĺě˙ đŕáîňű ěîćíî ěĺí˙ňü đŕçěĺđ îęíŕ ďđîăđŕěěű, ďđč ýňîě “btnExit” îńňŕĺňń˙ íŕ ďđĺćíĺě ěĺńňĺ, ŕ ëó÷řĺ áű îíŕ äĺđćŕëŕńü çŕ íčćíčé ďđŕâűé óăîë îęíŕ ďđîăđŕěěű:

++
++

btnExit

++
    ++
  • anchors: ++
      ++
    • an_top:= false
    • ++
    • an_left:= false
    • ++
    • an_right:= true
    • ++
    • an_bottom:= true
    • ++
    ++
  • ++
++
++

Ęíîďęŕ "btnExit" ěîćĺň ďîęŕçŕňüń˙ ěŕëîçŕěĺňíîé. Âűäĺëčě ĺĺ đĺëüĺôîě č öâĺňîě.
++ Óńëîâčěń˙, ÷ňî öâĺň ęíîďîę çŕęđűňč˙ (Close), çŕâĺđřĺíč˙(Exit) č îňěĺíű (Cancel) - ńâĺňëî-ćĺëňűé.
++ Îď˙ňü đîí˙ě ęîěďîíĺíň ++ óďđŕâëĺíč˙ ńňčëĺě ăđŕíčö :

++
++

GUI->tframecomp (2) :

++
    ++
  • Name:= ftButtons
  • ++
  • Template
      ++
    • colorclient:= cl_ltyellow // öâĺň ôîíŕ âíóňđĺííĺé çîíű - ńâĺňëî-ćĺëňűé
    • ++
    • leveli:= 2 // âíóňđĺííóţ çîíó ďđčďîäí˙ňü íŕ 2 ĺäčíčöű
    • ++
    • levelo:= -1 // âńĺ öĺëčęîě - îďóńňčňü íŕ 1 ĺäčíčöó
    • ++
    ++
  • ++
++

Ňĺďĺđü íŕçíŕ÷čě ęíîďęĺ "btnExit" âűřĺńîçäŕííűé "ńňčëü" :

++
++

btnExit->frame->[...] :

++
    ++
  • template:= ftButtons
  • ++
++
++

č âčäčě, ęŕę ýňî ńňčëü ńđŕçó îňđŕçčëń˙ íŕ ęíîďęĺ.

++
++ ++ +\ Pas de fin de ligne Ă  la fin du fichier. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/project_creation.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/project_creation.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/project_creation.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/project_creation.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,44 ---- ++ ++ ++ ++ Ńîçäŕíčĺ ďđîĺęňŕ ++ ++ ++ ++ ++

Ńîçäŕíčĺ ďđîĺęňŕ

++
    ++
  1. Âűáîđ ňčďŕ ďđîĺęňŕ => GUI :
  2. ++
    ++

    Project -> New ->From Template -> default.prj

    ++
    ++
  3. Ďî˙âë˙ĺňń˙ äčŕëîă “ NewProject ”, â ęîňîđîě óęŕçűâŕĺě ěĺňńîíŕőîćäĺíčĺ íîâîăî ďđîĺęňŕ :
  4. ++
++
++

čäĺě â äîěŕříččé ęŕňŕëîă ( ÷ňîáű čěĺňü ďđŕâŕ íŕ çŕďčńü ), ńîçäŕĺě ňŕě íîâűé ęŕňŕëîă ( ęíîďęŕ "NewDir" ńďđŕâŕ-ńâĺđőó äčŕëîăŕ) ń čěĺíĺě, îňđŕćŕţůčě íŕçíŕ÷ĺíčĺ ďđîĺęňŕ - "persons", ŕ â ďîëĺ “ Name ” - âďčřĺě čě˙ äë˙ íîâîăî ďđîĺęňŕ, ďóńňü îńňŕíĺňń˙ ňĺě ćĺ, ÷ňî č íŕçâŕíčĺ ęŕňŕëîăŕ :

++
++

persons

++
++

č ćěĺě «ÎĘ» -> ďî˙âë˙ĺňń˙ îęíî čńőîäíűő ôŕéëîâ, ń îňęđűňűě ńňŕđňîâűě ôŕéëîě ďđîĺęňŕ ( persons.pas ) , â ęîňîđîě âčäčě, ÷ňî çŕďóńę ďđčëîćĺíč˙ íŕ÷íĺňń˙ ń ńîçäŕíč˙ č îňîáđŕćĺíč˙ íĺęîé “mainfo” ňčďŕ “tmainfo”.

++
++

Ňĺďĺđü ďđčńňóďčě ę äčçŕéíó ýňîé “mainfo”. Îíŕ óćĺ ńîçäŕíŕ, ÷ňîáű ĺĺ óâčäĺňü:

++
++

Ěĺíţ -> View -> âűáčđŕĺě "main.mfm" -> âčäčě ďóńňóţ ôîđěó

++
++

Äŕëĺĺ, ÷ňî ďĺđĺęëţ÷ŕňüń˙ ěĺćäó äčçŕéíîě ôîđěű č ĺĺ ďîëĺçíűě ęîäîě – áóäĺě čńďîëüçîâŕňü ęëŕâčřó F12. Ďîäńęŕçęŕ – ÷ňîáű îňîáđŕçčňü đĺäŕęňîđ ńâîéńňâ – íŕćŕňü F11 .

++

Ńëĺäóţůŕ˙ óńňŕíîâęŕ çŕäŕĺň ęîäčđîâęó ňĺęńňŕ, čńďîëüçóĺěóţ ďđč ńîőđŕíĺíčč/çŕăđóçęĺ čńőîäíűő ôŕéëîâ íŕ äčńę::

++

Project -> Options -> Editor -> Encoding :

++
    ++
  • Locale :   áĺç ďĺđĺęîäčđîâęč ( ďî óěîë÷ŕíčţ )
  • ++
  • utf8 :     â ďĺđĺęîäčđîâęîé â UTF -8
  • ++
++

Ĺńëč ó âŕń â ęîäĺ áóäóň ňĺęńňîâűĺ ęîíńňŕíňű ń ęîäŕěč ńčěâîëîâ, îňëč÷íűěč îň ASCII (32..127), íŕďđčěĺđ, ňĺęňű ńîîáůĺíčé íŕ đóńńęîě ˙çűęĺ – čńďîëüçóéňĺ “utf8”, číŕ÷ĺ, â đŕçëč÷íîăî đîäŕ ńîîáůĺíč˙ő – ďîëó÷čňĺ ęđŕęîç˙áđű. Îäíŕęî, ÷ňîáű ýňî đŕáîňŕëî – íóćíî ńęŕçŕňü ęîěďčë˙ňîđó FreePascal , ÷ňî íŕřč čńőîäíűĺ ňĺęńňű çŕęîäčđîâŕíű čěĺííî â “utf8”, äë˙ ýňî:

++
++

Project -> Options -> Make -> Make options -> 1- ˙ ńňđîęŕ : äîáŕâüňĺ ęëţ÷ ęîěďčë˙öčč “-Fcutf8

++

Íĺ çŕáóäüňĺ, ÷ňî ěîćĺň ďîňđĺáîâŕňüń˙ íŕëîćĺíčĺ ďŕň÷ŕ íŕ FreePascal, čńďđŕâë˙ţůĺăî îřčáęč â “utf8”-ďîääĺđćęĺ, ńě. Óńňđŕíĺíčĺ îřčáîę “Free Pascal Compiler”

++
++

Ęńňŕňč, ĺńëč íĺ-ASCII ęîäű áóäóň čńďîëüçâŕňüń˙ ňîëüęî â ńâîéńňâŕő, íŕńňđŕčâŕĺěűő ÷ĺđĺç PropertyEditor – íĺîáőîäčěîńňü â « utf8» îňďŕäŕĺň ( ďîňîěó, ÷ňî âíóňđĺííĺĺ ďđîäńňŕâëĺíčĺ ňĺęńňŕ â ňŕęčő ńâîéńňâŕő - 2-áŕéňíŕ˙ ęîäčđîâęŕ ńčěâîëîâ ).
++

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/ref_tables.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/ref_tables.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/ref_tables.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/ref_tables.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,589 ---- ++ ++ ++ ++ Ńďđŕâî÷íűĺ ňŕáëčöű ++ ++ ++ ++ ++ ++

Ńďđŕâî÷íűĺ ňŕáëčöű

++

Ńďđŕâî÷íčęč ďđĺäńňŕâŕë˙ţň ńîáîé ďđîńňűĺ ňŕáëčöű ( "planets", "continents", "countries", "features" č "occupations") , ńîńňî˙ůčĺ, ęŕę ďđŕâčëî, čç :

++
    ++
  • ęëţ÷ĺâîĺ ďîëĺ : {čě˙_ńďđŕâî÷íčęŕ}_id
  • ++
  • ďîëĺ íŕçâŕíč˙ : descr
  • ++
  • č íĺîá˙çŕňĺëüíűő ńńűëîę íŕ ęëţ÷ĺâűĺ ďîë˙ äđóăčő ńďđŕâî÷íčęîâ:
  • ++
++

Äë˙ đĺäŕęňčđîâŕíč˙ ňŕáëčö, ńîäĺđćŕůčő ńńűëęč íŕ äđóăĺ ňŕáëčöű, â ďđĺäűäóůĺé ÷ŕńňč ďđîĺęňŕ ěű čńďîëüçîâŕëč îňäĺëüíóţ ôîđěó ( "editfo" ).

++

Ňŕęćĺ îáúĺäčíčě ďđîńěîňđ äŕííűő ń čő đĺäŕęňčđîâŕíčĺě ( ňŕę íŕçűâŕĺěîĺ "in-place editing", ęŕę â MicroSoft Excel & Access ), äë˙ ÷ĺăî čäĺŕëüíî ďîäőîä˙ň ňŕáëč÷íűĺ MSEgui-ęîěďîíĺíňű - "tdbwidgetgrid" ( ęîňîđűĺ â äĺňŕë˙ő áóäóň đŕńńěîňđĺíű â ńëĺäóţůčő ăëŕâŕő ) .

++

Çäĺńü ćĺ, âńëĺäńňâčĺ ďîőîćĺńňč ňŕáëčö, ŕ ňŕęćĺ čő ăđóďďčđîâęč ďî íŕçíŕ÷ĺíčţ ( ńďđŕâî÷íčęč ) - íŕďđŕřčâŕĺňń˙ óíčôčęŕöč˙ čő đĺäŕęňčđîâŕíč˙.  ÷ĺě ýňŕ óíčôčęŕöč˙ ěîćĺň çŕęëţ÷ŕňüń˙ ?

++
    ++
  • îäčíŕęîâŕ˙ ôîđěŕ đĺäŕęňčđîâŕíč˙
  • ++
  • ěŕęńčěóě îäčíŕęîâűő ęîěďîíĺíňîâ ++
      ++
    • đŕçëč÷č˙ ěĺćäó óäîáíî îăđŕíč÷čňü âíóňđč íĺęîé đĺäŕęňčđóĺěîé ňŕáëčöű (g rid ) :
    • ++
    • ĺńňü îńîáűé ňŕáëč÷íűé ęîěďîíĺíň - "tdbwidgetgrid", ęîňîđűé : ++
        ++
      • ďîçâîë˙ĺň, ĺńëč íóćíî, ńôîđěčđîâŕňü ńňîëáöű čç ęîěďîíĺíňîâ ňčďŕ "tdbenumeditlb" ň.ď., â ńâîţ î÷ĺđĺäü ńâ˙çŕííűő ń "tdblookupbuffer", ňĺě ńŕěűě ďîçâîë˙˙ đĺäŕęňčđîâŕňü ńńűëęč íŕ äđóăčĺ ňŕáëčöű ÷ĺđĺç íŕçâŕíč˙ ýňčő ńńűëîę
      • ++
      ++
    • ++
    • đŕáîňŕ ń ňŕáëčöĺé ňđĺáóĺň îäíîăî "DataSource"-ęîěďîíĺíňŕ äë˙ âńĺő ńňîëáöîâ, č, âűďîëíčâ ýňî óńëîâčĺ, ěű ěîćĺě :
        ++
      • äĺđćŕňü îäčí ĺäčńňâĺííűé "DataSource"-ęîěďîíĺíň, č, ÷ňîáű ďĺđĺęëţ÷čňüń˙ íŕ îáńëóćčâŕíčĺ ęîęđĺňíîăî ńďđŕâî÷íčęŕ - äîńňŕňî÷íî ďđîńňî ďđčńâîčňü ýňîěó ęîěďîíĺíňó ńńűëęó íŕ "DataSource" ýňîăî ńďđŕâî÷íčęŕ
      • ++
      ++
    • ++
    ++
  • ++
  • îäčíŕęîâŕ˙ îáđŕáîňęŕ ńîáűňčé ++
      ++
    • âńţ đŕáîňó ń ÁÄ ěîćíî çŕěęíóňü íŕ ńîáńňâĺííűé ďĺđĺíŕçíŕ÷ŕĺěűé "DataSource"-ęîěďîíĺíň ( ńě. âűřĺ ) , âĺäü, çíŕ˙ "datasource", ěîćíî ďî öĺďî÷ęĺ óçíŕňü č "dataset", č "transaction" č "database", ňî ĺńňü - čěĺňü âĺńü íóćíűé ńĺđâčń
    • ++
    ++
  • ++
++

Ďîä ýňč ďóíęňű ďđîńňî čäĺŕëüíî ďîäőîäčň ěĺőŕíčçě ňŕę íŕçűâŕĺěűő ńóáěîäóëĺé. Čňŕę, íŕ÷íĺě.

++

++

Ńóáěîäóëü
++ ęŕę ńđĺäńňâî óíčôčęŕöčč číňĺđôĺéńŕ
++ č ŕëăîđčňěŕ îáđŕáîňęč ńîáűňčé

++

File->New->Form->SimpleForm :

++
    ++
  • íŕ çŕďđîń - ńîőđŕíčňü ďîä čěĺíĺě "commonrefseditform"
  • ++
  • anchors : óńňŕíîâčňü âńĺ â "false"
  • ++
  • đŕńň˙íóňü äî đŕçěĺđŕ ďđčěĺđíî 400ő300
  • ++
  • óđîíčňü íŕ ôîđěó ęîěďîíĺíň "Widgets->tbutton", č đŕńňčđŕćčđîâŕňü ĺăî äî řĺńňč ęíîďîę : ++
      ++
    • âűáđŕňü ęíîďęó
    • ++
    • ďî ůĺëęó ďđŕâîé ęíîďęîé ( čëč ęîěáčíŕöčĺé ęëŕâčř "Ctrl+C" ) -> CopyComponent(s)
    • ++
    • ůĺëęíóňü â ďóńňîě ěĺńňĺ ôîđěű
    • ++
    ++ âňŕâčňü ńęîďčđîâŕííűé ęîěďîíĺíň : ++
      ++
        ++
      • ďî ůĺëęó ďđŕâîé ęíîďęîé ( čëč ęîěáčíŕöčĺé ęëŕâčř "Ctrl+V" ) -> PasteComponent(s)
      • ++
      ++
    ++
  • ++
  • óđîíčňü íŕ ôîđěó ÷ĺňűđĺ ęîěďîíĺíňŕ "GUI->taction", č ďî î÷ĺđĺäč čő íŕńňđîčňü : ++
      ++
    • (1) ++ : ++
        ++
      • Name:= actSaveAll
      • ++
      • onexecute:= saveallexecute
      • ++
      • state ++
          ++
        • as_disabled:= true
        • ++
        ++
      • ++
      ++
    • ++
    • (2) : ++
        ++
      • Name:= actUndoAll
      • ++
      • onexecute:= undoallexecute
      • ++
      • state ++
          ++
        • as_disabled:= true
        • ++
        ++
      • ++
      ++
    • ++
    • (3) : ++
        ++
      • Name:= actUndo
      • ++
      • onexecute:= undoexecute
      • ++
      • state ++
          ++
        • as_disabled:= true
        • ++
        ++
      • ++
      ++
    • ++
    • (4) : ++
        ++
      • Name:= actAdd
      • ++
      • onexecute:= addexecute
      • ++
      ++
    • ++
    • (5) : ++
        ++
      • Name:= actDelete
      • ++
      • onexecute:= deleteexecute
      • ++
      • state ++
          ++
        • as_disabled:= true
        • ++
        ++
      • ++
      ++
      ++

      Ďđčěĺ÷ŕíčĺ:

      ++
        ++
      • ďĺđâîíŕ÷ŕëüíűé çŕďđĺň ( "as_disabled = true" ) ó âńĺő "taction", ęđîěĺ "actAdd" - ďîňîěó, ÷ňî äîáŕâčňü ěîćíî âńĺăäŕ, ŕ âîň ńîőđŕí˙ňü, îňěĺí˙ňü čëč óäŕë˙ňü čěĺĺň ńěűńë ňîëüęî ĺńëč ĺńňü đĺŕëüíűé "ěŕňĺđčŕë" äë˙ ýňčő îďĺđŕöčé;
        ++ ęîđî÷ĺ, áóäĺě đŕçđĺřŕňü äĺéńňâč˙ ňîëüęî ňîăäŕ, ęîăäŕ â íčő ĺńňü ńěűńë;
        ++ ďëţń ňŕęîé ďîäőîä čçáŕë˙ĺň îň íĺîáőîäčěîńňč âíóňđĺííčő ďđîâĺđîę "ěîćíî-čëč-íĺëüç˙" âíóňđč ďđîöĺäóđ ńîőđŕíĺíč˙, îňěĺíű čëč óäŕëĺíč˙
        ++
      • ++
      • óńňŕíîâęŕ âńĺő "anchor" ôîđěű "commonrefseditfo" â "false" ńäĺëŕíŕ äë˙ ňîăî, ÷ňîáű ýňŕ ôîđěŕ, áóäó÷č âëîćĺííîé, íĺ ďűňŕëŕńü ŕäŕďňđčđîâŕňüń˙ ďîä đŕçěĺđ ęîíňĺéíĺđŕ ( íŕîáîđîň - ńŕě ęîíňĺéíĺđ äîëćĺí áűňü đŕńřčđĺí, ÷ňî âěĺńňčňü ýňó ôîđěó )
        ++
      • ++
      • "actClose" - ďđîâĺđčň, ăîňîâŕ ëč ôîđěŕ ę çŕęđűňčţ ( âî âńĺő ëč âíóňđĺííčő ęîěďîíĺíňŕő ńîäĺđćŕňń˙ ďđŕâčëüíűĺ çíŕ÷ĺíč˙ ), č, ĺńëč ăîňîâŕ - çŕęđîĺň ôîđěó, ń ęîäîě âîçâđŕňŕ "mr_windowclosed"; äŕííűé ęîä âîçâđŕňŕ ňŕęćĺ ńňűęóĺňń˙ ń çŕęđűňčĺ ôîđěű íŕćŕňčĺ íŕ ęëŕâčřó "Esc", ńě. äŕëĺĺ
        ++
      • ++
      • "actSaveAll" - číöččđóĺň çŕďčńü čçěĺíĺíčé â ÁÄ, ďîçâîë˙ĺň ýňî äĺëŕňü ěíîăîęđŕňíî, ďîęŕ ôîđěŕ íĺ çŕęđűňŕ ( "actClose" )
        ++
      • ++
      • "actUndoAll" - číčöččđóĺň îňěĺíó âńĺő čçěĺíĺíčé, ńäĺëŕíűő ďîńëĺ îňęđűňč˙ ôîđěű čëč ďîńëĺäíĺé îďĺđŕöčč "SaveAll"
        ++
      • ++
      • "actUndo" ++
          ++
        • číčöččđóĺň îňěĺíó čçěĺíĺíčé ňĺęóůĺé âűáđŕđíîé çŕďčńč, ďîęŕ ýňč čçěĺíĺíč˙ íĺ çŕďčńŕíű "SaveAll"
        • ++
        • čěĺĺň ńěűńë ňîëüęî äë˙ čçěĺíĺííűő ( íĺ äîáŕâëĺííűő ) çŕďčńĺé ( äîáŕâëĺííűĺ ëó÷řĺ óäŕë˙ňü, ńě. íčćĺ )
          ++
        • ++
        ++
      • ++
      • "actDelete"
          ++
        • číčöččđóöĺň óäŕëĺíčĺ ňĺęóůĺé âűáđŕííîé çŕďčńč (ęŕę ďĺđâîíŕ÷ŕëüíî âűáđŕííîé, ňŕę č äîáŕâëĺííîé ďńîëĺ îňęđűňč˙ ôîđěű )
          ++
        • ++
        ++
      • ++
      ++
      ++
    • ++
    ++
  • ++
++
    ++
  • íŕńňđîčě ęíîďęč : ++
      ++
    • (1) : ++
        ++
      • Name:= btnSaveAll
      • ++
      • Caption:= Save All
      • ++
      • action:= actSaveAll
      • ++
      ++
    • ++
    • (2) : ++
        ++
      • Name:= btnUnDoAll
      • ++
      • Caption:= UnDo All
      • ++
      • action:= actUnDoAll
      • ++
      ++
    • ++
    • (3) : ++
        ++
      • Name:= btnUnDo
      • ++
      • Caption:= UnDo
      • ++
      • action:= actUnDo
      • ++
      ++ (4) : ++
        ++
      • Name:= btnAdd
      • ++
      • Caption:= Add
      • ++
      • action:= actAdd
      • ++
      ++ (5) : ++
        ++
      • Name:= btnDelete
      • ++
      • Caption:= Delete
      • ++
      • action:= actDelete
      • ++
      ++
    • ++
    • (6) : ++
        ++
      • Name:= btnClose
      • ++
      • Caption:= Ok
      • ++
      • modalresult:= mr_windowclosed // ęîä çŕâĺđřĺíč˙,ęîňîđűé ďîňîě áóäĺě ďđîâĺđ˙ňü
      • ++
      ++
    • ++
    ++
  • ++
++
    ++
    ++

    Îď˙ňü ęíîďęč - çíŕ÷čň, îď˙ňü çŕäŕäčě čě íŕř "ęíîďî÷íűé" ńňčëü :

    ++

    óäĺđćčâŕ˙ ęëŕâčřó "Ctrl", âűáčđŕĺě âńĺ ęíîďęč ( "btnSave" ... "btnCancel" ) , čäĺě â đĺäŕęňîđ ńâîéńňâ :

    ++
    ++

    frame->[...]

    ++
      ++
    • template:= mainfo.ftButtons
    • ++
    ++
    ++

    Âńĺ ęíîďęč îęđŕńčëčńü â ńâĺňëî-ćĺëňűé öâĺň, čńďđŕâčě öâĺňŕ ńîăëŕńíî ďđč˙íňűő ńîăëŕřĺíčé ( ńě . ăëŕâű "Ďđîńěîňđ" č "Đĺäŕęňčđîâŕíčĺ" ) .

    ++ ++
    ++

    btnSaveAll :

    ++
    ++

    - ęíîďęŕ ńîőđŕíĺíč˙ - íîâŕ˙ ęŕňĺăîđč˙ : íîâűé öâĺň - ńâĺňëŕ˙ ěŕăĺíňŕ ( G:=200, R/B:= 255 )

    ++
    ++
      ++
    • frame ++
        ++
      • colorclient -> [...] ++
          ++
        • red:= 255
        • ++
        • green:= 200
        • ++
        • blue:= 255
        • ++
        ++
      • ++
      ++
    • ++
    ++
    ++
    ++

    btnUnDoAll

    ++
    ++

    - ęíîďęŕ îňěĺíű - íîâŕ˙ ęŕňĺăîđč˙ : íîâűé öâĺň - ďî÷ňč áĺëűé (cl_highlight)

    ++

    frame

    ++
      ++
    • colorclient:= cl_highlight
    • ++
    ++
    ++
    ++
    ++
    ++

    btnUnDo

    ++
    ++

    - ňîćĺ ęíîďęŕ îňěĺíű : öâĺň - ňîćĺ ďî÷ňč áĺëűé (cl_highlight)

    ++

    frame

    ++
      ++
    • colorclient:= cl_highlight
    • ++
    ++
    ++
    ++

    btnAdd

    ++
    ++

    - ęíîďęŕ äîáŕâëĺíč˙ : öâĺň - ńâĺňëî-ńčíčé ( B:=255, R/G:= 200 )

    ++

    frame

    ++
      ++
    • colorclient -> [...] ++
        ++
      • red:= 200
      • ++
      • green:= 200
      • ++
      • blue:= 255
      • ++
      ++
    • ++
    ++
    ++
    ++
    ++
    ++

    btnDelete

    ++
    ++

    - ęíîďęŕ óäŕëĺíč˙ : öâĺň - ńâĺňëî-ęđŕńíűé ( R:=255, G/B:= 200 )

    ++

    frame

    ++
      ++
    • colorclient -> [...] ++
        ++
      • red:= 255
      • ++
      • green:= 200
      • ++
      • blue:= 200
      • ++
      ++
    • ++
    ++
    ++
    ++

    btnClose

    ++
    ++

    - ęíîďęŕ ďîäňâĺđćäĺíč˙ : öâĺň - ńâĺňëűé öčŕí (cl_ltcyan)

    ++

    frame

    ++
      ++
    • colorclient:= cl_ltcyan
    • ++
    ++
    ++
    ++
    ++

     

    ++

    Ďđčěĺ÷ŕíč˙ :

    ++
      ++
    • ęíîďęč (1)...(5) ďđčçâŕíű ŕęňčâčçčđîâŕňü ńîîňâĺňńňâóţůčĺ "taction"
      ++
    • ++
    • îáđŕňčňĺ âíčěŕíčĺ, ÷ňî çŕďđĺůĺíčĺ "taction" ŕâňîěŕňč÷ĺńęč çŕďđĺůŕĺň ńâ˙çŕííűĺ ń íčěč ęîěďîíĺíňű, â íŕřĺě ńëó÷ŕĺ - "tbutton"
      ++
    • ++
    • äŕííűě ęíîďęŕě íĺ íŕçíŕ÷ĺíű ęëŕâčŕňóđíűĺ ŕńĺëĺđŕňîđű ( "&" â ńâîéńňâŕő "caption" ) - ďîňîěó, ÷ňî îíč ěĺřŕëčńü áű ń ňŕáëč÷íűě đĺäŕęňčđîâŕíčĺě
    • ++
    ++
    ++
    ++
++

Ňŕęćĺ ďîëĺçíî ďîęŕçŕňü ďîëüçîâŕňĺëţ. ęŕęčĺ çŕďčńč îí čçěĺíčë č ęŕęčĺ - íĺň, ŕ ĺńëč "äŕ" - ňî ęŕęčě îáđŕçîě. Ńäĺëŕĺě ýňî ÷ĺđĺç âűäĺëĺíčĺ öâĺňîě ńňđîę â ňŕáëčöĺ ( ęîňîđŕ˙ áóäĺň íŕ ôîđěĺ, â ęîđóţ áóäĺň âńňŕâëĺí íŕř ńóáěîäóëü ). Íî ďîäńęŕçŕňü, ęŕęîé öâĺň ÷ňî îçíŕ÷ŕĺň - ëó÷řĺ íŕ ńóáěîäóëĺ, ÷ňîáű ďîňîě áűëŕ óíčôčęŕöč˙ ýňčő öâĺňîâ âî âńĺő ńďđŕâî÷íčęŕő - č ďëŕíĺň, č ęîíňíĺíňîâ, č...

++

Đîí˙ĺě ń ďŕëčňđű "Widget" :

++

tlabel (1)

++
    ++
  • Name:= lblAddedLegend
  • ++
  • frame -> [...] ++
      ++
    • caption:= added
    • ++
    • captionpos:= cp_right
    • ++
    • captiondist:= 10
    • ++
    • colorclient -> [..] ++ // áëĺäíî-îđŕíćĺâűé ++
        ++
      • red:= 255
      • ++
      • green:= 192
      • ++
      • blue:= 0
      • ++
      ++
    • ++
    • leveli:= -2 // óňîďčňü âíóňđü
    • ++
    ++
  • ++
++

tlabel (2)

++
    ++
  • Name:= lblChangedLegend
  • ++
  • frame -> [...] ++
      ++
    • caption:= changed
    • ++
    • captionpos:= cp_right
    • ++
    • captiondist:= 10
    • ++
    • colorclient:= cl_green // ńŕëŕňíűé
    • ++
    • leveli:= -2 // óňîďčňü âíóňđü
    • ++
    ++
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • Đŕńęđŕńęó ńňđîę đĺŕëčçîâŕňü â ńóáěîäóëĺ íĺ ďîëó÷čňń˙ - ďîňîěó ÷ňî ňŕáëčöŕ (ń ýňčěč ńňđîęŕěč) áóäĺň ęŕćäŕ˙ ńâî˙ äë˙ ęŕćäîăî ńďđŕâî÷íčęŕ ( ďëŕíĺň, ... ) .
  • ++
++

 

++
++

Ňĺďĺđü äîáŕâčě číňĺđôĺéń ę ÁÄ :

++
    ++
  • óđîíčňü íŕ ôîđěó ęîěďîíĺíň "DB->tmsedatasource" : ++
      ++
    • Name:= dsContents
    • ++
    • OnDataChange:= contentschange
    • ++
    ++
    ++

    procedure tcommonrefeditfo.contentschange(
    ++   Sender: TObject;
    ++   Field: TField);
    ++ begin
    ++ ++  with ((sender as tdatasource).dataset) as tsqlquery do begin
    ++   actDelete.enabled:= recordcount > 0;
    ++   actUnDoAll.enabled:= changecount > 0;
    ++   actSaveAll.enabled:= changecount > 0;
    ++   // actUnDo.enabled:= updatestatus = usModified; // ďîęŕ îňęëţ÷ĺíî
    ++  end;
    ++ end;

    ++

    Ďđčěĺ÷ŕíč˙ :

    ++
      ++
    • "// actUnDo.enabled.. " - äŕííűé ęîěěĺíňŕđčé íĺ äŕĺň âęëţ÷čňü îáđŕáîňęó ńîáűňč˙ "actUnDo" ( äŕííűé îáđŕáîň÷čę âűçűâŕĺň "{tmsesqlquery}.cancelupdate", ńě. íčćĺ, ęîňîđűé ďîęŕ đŕáîňŕĺň íĺęîđđĺęňíî - íĺäîäĺëęŕ ďî ÷ŕńňč "FreePascal" ) ; ęŕę ňîëüęî "cancelupdate" áóäĺň ďî÷číĺíŕ - äŕííűé ęîěěĺíňŕđčé ěîćíî áóäĺň óáđŕňü
      ++
    • ++
    • ďđčâĺäĺíčĺ ňčďŕ "((sender as tdatasource).dataset) as tmsesqlquery" íĺîáőîäčěî äë˙ äîńňóďŕ ę ďîńëĺäíĺé âĺđńčč "changĺcount" , óíŕńëĺäîâŕííîé îň ęîěďîíĺíňŕ "tăbufdataset"
      ++
    • ++
    • äŕííŕ˙ ďđîöĺäóđŕ đŕçđĺřŕĺň čëč çŕďđĺůŕĺň, ďî ńčňóŕöčč ďîńëĺ âńĺő ěŕíčďóë˙öčé, ńîîňâĺňńňâóţůčĺ "taction" :
    • ++
    ++
    ++
      ++
    • ĺńňü â ďĺđâîíŕ÷ŕëüíîé âűáîđęĺ őîňü ÷ňî-ňî îńňŕëîńü ( <tsqlquery>.recordcount > 0 )( ĺńňü ÷ňî óäŕë˙ňü ) -> đŕçđĺřŕĺě óäŕëĺíčĺ ( Delete )
      ++
    • ++
    • ĺńňü ńîńňî˙íčĺ âűáîđęč îňëč÷ŕĺňń˙ îň ďĺđâîíŕ÷ŕëüíîăî ++ ( <tsqlquery>.changecount > 0 ) ++
        ++
      • ěîćíî îňęŕňčňüń˙ ę ďĺđâîíŕ÷ŕëüíîěó -> đŕçđĺřčě îňęŕň ( UnDoAll )
      • ++
      • ěîćíî ďđčí˙ňü čçěĺíĺíč˙ -> đŕçđĺřčě ńîőđŕíĺíčĺ ( SaveAll )
        ++
      • ++
      ++
    • ++
    • ĺńëč ňĺęóůŕ˙ çŕďčńü îňđĺäŕęňčđîâŕíŕ ( updatestatus = usModified ) - ĺĺ ěîćíî îňęŕňčňü ( UnDo )
    • ++
    ++
    ++
    ++
  • ++
  • îďčńŕňü ďđîöĺäóđű, ďđčďčńŕííűĺ ę "taction" : ++
    ++
      ++
    • ++
      saveallexecute ++
      ++

      procedure tcommonrefseditfo.saveallexecute(const sender: TObject);
      ++ begin
      ++  if parentwidget.container.canclose(nil) then begin
      ++   // ďîäęëţ÷čňüń˙ ę çŕďđîńó
      ++   with dsContents.dataset as tmsesqlquery do begin
      ++    applyupdates; // çŕďčńŕňü čçěĺíĺíč˙ â ÁÄ
      ++    (transaction as tmsesqltransaction).commit; // č ďîäňâĺđäčňü ýňó çŕďčńü
      ++    active:= true; // ďĺđĺ÷čňŕňü îáíîâëĺííîĺ ńîäĺđćčěîĺ ÁÄ
      ++   end;
      ++  end;
      ++ end;

      ++

      Âńĺ čçěĺíĺíč˙ çŕďčńűâŕţňń˙ â ÁÄ.

      ++

      Ďđčěĺ÷ŕíč˙ :

      ++
        ++
      • ďđčâĺäĺíčĺ ňčďŕ "(transaction as tmsesqltransaction)" íóćíî äë˙ äîńňóďŕ ę "tsqltransaction.Commit"
        ++
      • ++
      • "parentwidget.container.canclose(nil)" ďđîńčň ôîđěó ( parentwidget.container ) , â ęîňîđóţ áóäĺň âńňŕâëĺí íŕř ńóáěîäóëü "Ďđîâĺđü, âńĺ ëč ňâîč äŕííűĺ ăîňîâű äë˙ çŕďčńč â ÁÄ ? ", "Ŕâňîěŕňč÷ĺńęč çŕâĺđřč đĺäŕęňčđîâŕíčĺ č çŕďčřč âńĺ, ÷ňî ěîćíî, â áóôĺđ" č "Ďîęŕćč ďîëüçîâŕňĺëţ ĺăî îřčáęč"
        ++ ( âńĺ ęîěďîíĺíňű äë˙ đĺäŕęňčđîâŕíč˙ áóäóň íŕőîäčňüń˙ íŕ ňîé ôîđěĺ ( äîńňóďíîé ęŕę "parentwidget.container" ) , ŕ íĺ â ńŕěîě ńóáěîäóëĺ )
      • ++
      ++

       

      ++
      ++
      ++
    • ++
    • ++
      . ++ undoallexecute ++
      ++

      procedure tcommonrefseditfo.undoexecute(const sender: TObject);
      ++ begin
      ++  (dsContents.dataset as tmsesqlquery).cancelupdates;
      ++ end;

      ++

      Îňěĺí˙ţňń˙ âńĺ čçěĺíĺíč˙.
      ++
      ++

      ++
      ++
      ++
    • ++
    • undoexecute
    • ++
      ++

      procedure tcommonrefseditfo.undoexecute(const sender: TObject);
      ++ begin
      ++  // (dsContents.dataset as tmsesqlquery).cancelupdate;
      ++ end;

      ++

      Îňěĺí˙ţňń˙ čçěĺíĺíč˙ ňîëüęî â ňĺęóůĺé âűáđŕííîé çŕďčńč.

      ++

      Ďđčěĺ÷ŕíč˙ :

      ++
        ++
      • ęŕę âčäčňĺ, ďîëĺçíűé ęîä çŕęîěěĺíňčđîâŕí - äî ňĺő ďîđ, ďîęŕ íĺ áóäĺň đĺŕëčçîâŕíŕ đŕáî÷ŕ˙ âĺđńč˙ "cancelupdate" â "FreePascal" ( ńě. ňŕęćĺ îďčńŕíčĺ "actUndo" )
        ++
      • ++
      ++
      ++
      ++
    • ++
      addexecute ++
      ++

      procedure tcommonrefseditfo.addexecute(const sender: TObject);
      ++ begin
      ++  if parentwidget.canparentclose(nil) then begin
      ++   dsContents.dataset.append;
      ++  end;
      ++ end;

      ++

      Äîáŕâë˙ĺňń˙ íîâŕ˙ ( ďóńňŕ˙ ) çŕďčńü, ďîäëĺćŕůŕ˙ äŕëüíĺéřĺěó đĺäŕęňčđîâŕíčţ.

      ++

      Ďđčěĺ÷ŕíč˙ :

      ++
        ++
      • ďđîâĺđęŕ "parentwidget.canparentclose(nil)" â ôîđěĺ, čńďîëüçóţůĺé íŕř ńóáěîäóëü, číčöččđóĺň ďđîâĺđęó ( č, ĺńëč âńĺ íîđěŕëüíî - çŕďčńü â áóôĺđ) ďîńëĺäíĺăî čçěĺíĺíč˙ äŕííűő áĺç ˙âíîé íŕ ňî ęîěŕíäű ( âđîäĺ íŕćŕňč˙ "Enter" â ęîíöĺ đĺäŕęňčđîâŕíč˙ ); íóćíŕ čěĺííî íŕ ńëó÷ŕé, ĺńëč ďîëüçîâŕňĺëü çŕáűë ńäĺëŕňü ýňč äĺéńňâč˙ ( íîđěŕëüíîĺ ˙âëĺíčĺ ! ), č ďűňŕĺňń˙ ďĺđĺéňč íŕ äđóăóţ ńňđîęó ňŕáëčöű čëč íŕ äđóăîé ęîěďîíĺíň đĺäŕęňčđîâŕíč˙, äîáŕâčňü íîâóţ çŕďčńü č ň.ď.;
        ++ ęîđî÷ĺ, ďîęŕ íĺ áóäóň čńďđŕâëĺíű îřčáęč â ňĺęóůĺé çŕďčńč - íĺ äŕńň íč÷ĺăî äĺëŕňü !
        ++
      • ++
      ++
      ++
      ++
    • ++
      ++
        ++
      • deleteexecute ++
        ++

        procedure tcommonrefseditfo.deleteexecute(const sender: TObject);
        ++ begin
        ++  dsContents.dataset.delete;
        ++ end

        ++

        Óäŕë˙ĺňń˙ ňĺęóůŕ˙ âűáđŕííŕ˙ çŕďčńü.

        ++
        ++
      • ++
      ++
      ++
    ++
    ++

     

    ++

    Čçěĺíĺíč˙ â ńĺęöč˙ő "uses" ( äîáŕâëĺíű "db" č "msesqldb" ) :

    ++
    ++

    interface
    ++  uses
    ++  msegui,mseclasses,mseforms,msesimplewidgets,mseactions,msedb,
    ++  db // ďđĺäîńňŕâë˙ĺň "tfield"
    ++ ;

    ++

    ...

    ++

    uses
    ++  commonrefseditform_mfm,
    ++  msesqldb // ďđĺäîńňŕâë˙ĺň "tmsesqlquery"
    ++ ;

    ++
    ++

    Ďđčěĺ÷ŕíč˙ : ++

    ++
      ++
    • Ęîíńňđóęöč˙ "parentwidget.container.canclose(nil)" îňíîńčňń˙ ę ěĺőŕíčçěó ńóáěîäóëĺé č áóäĺň đŕńńěîňđĺíŕ ďîçćĺ
      ++
    • ++
    • ďđčâĺäĺíčĺ ňčďŕ "dsContents.dataset as tmsesqlquery" íóćíî äë˙ äîńňóďŕ ę ďîńëĺäíčě âĺđńč˙ě "applyupdates" č "transaction", óíŕńëĺäîâŕííűě îň ęîěďîíĺíňîâ "tbufdataset", "tdbdataset" č "tsqlquery"
      ++
    • ++
    • "append" č "delete" íĺ ňđĺáóţň ďđčâĺäĺíč˙ ňčďŕ, ňŕę ęŕę îňíîń˙ňń˙ íŕďđ˙ěóţ ę ęîěďîíĺíňó "tdataset"
      ++
    • ++
    • ďîńëĺäíčč âĺđńčč" îçíŕ÷ŕĺň - ďîńëĺäíčĺ ďĺđĺîďđĺäĺëĺíűĺ â öĺďî÷ęĺ âčđňŕëüíűő ěĺňîäîâ
    • ++
    ++
    ++
  • ++
++

Ňĺďĺđü çŕďđĺňčě çŕęđűňčĺ ôîđěű áĺç ďîëíîé ˙ńíîńňč îňíîńčňĺëüíî - âńĺ ëč čçěĺíĺíč˙ äŕííűő ńîőđŕíĺíĺíű ( čëč îňěĺíĺíű ) . Óäîáíĺĺ âńĺăî ýňî ńäĺëŕňü â ďđîöĺäóđĺ ďđîâĺđęč ďđŕâčëüíîńňč äŕííűő, ŕâňîěŕňč÷ĺńęč âűçűâŕĺěîé ďđč çŕęđűňčč ôîđěű ( ŕ ňŕęćĺ ˙âíî, ÷ĺđĺç âűçîâ "canclose"- ďđč ćĺëŕíčč ęîĺ-÷ňî äîďđîâĺđčňü ) :

++

commonrefseditfo

++
    ++
  • onclosequery:= commonrefseditfoclosequery
  • ++
++
++

procedure tcommonrefseditfo.commonrefseditfoclosequery(
++   const sender: tcustommseform;
++   var amodalresult: modalresultty);
++ begin
++  with dsContents.dataset as tmsesqlquery do begin
++   // ĺńňü čçěĺěĺíĺíč˙, íî ęîěŕíäű íŕ čő ńîőđŕíĺíčĺ - íĺ áűëî
++
++   if (not isexpected) and (changecount > 0) then begin
++    // ăîâîđčě "Íóćíî ęîĺ-÷ňî äîäĺëŕňü"
++
++    showmessage(
++     'There are unsaved changes in the table. Fix them !',
++     'Unsaved changes',
++     [mr_ok]
++    );
++    // îňęŕçűâŕĺě ôîđěĺ â çŕęđűňčč, ÷ňîáű
++    // ďîëüçîâŕňĺëü âĺđíóëń˙ â íĺĺ č çŕęîí÷čë íĺäîäĺëŕííîĺ
++    amodalresult:= mr_none;
++   end;
++  end;
++ end;

++

"(not isexpected)" - ďđîâĺđęŕ ôëŕćęîâîé ďĺđĺěĺííîé (ńě. íčćĺ). Ĺńëč "isexpected = true", ňî čäĺň ŕâňîěŕňč÷ĺńęŕ˙ ďđîâĺđęŕ ďî ńöĺíŕđčţ ( çŕďóůĺííŕ˙ ęíîďęŕěč "Save All" čëč "Add" ), ďîýňîěó ďîëüçîâŕňĺë˙ ěó÷ŕňü íĺ íŕäî.

++

Ĺńëč ćĺ "isexpected = false", ýňî çíŕ÷čň, ÷ňî ďđîöĺäóđŕ âűçűâŕíŕ ďđ˙ěűě çŕęđűňčĺě ôîđěű ( čëč íĺďđ˙ěűě - íŕďđčěĺđ, ÷ĺđĺç çŕâĺđřĺíčĺ ďđčëîćĺíč˙), áĺç äîëćíîăî âíčěŕíč˙ ę čçěĺíĺííűě äŕííűě. Âîň č ďđčâëĺęŕĺě ýňî âíčěŕíčĺ - ÷ĺđĺç "showmessage" !

++
++

Äîďîëíčňĺëüíűĺ ěîäčôčęŕöčč ôŕéëŕ "commonrefseditform.pas" - äîáŕâëĺíčĺ "msewidgets" â ńĺęöčţ "uses" , ďĺđĺěĺííŕ˙ ďîä ôëŕă "isexpected", č óďđŕâëĺíčĺ ýňčě ôëŕăîě :

++
++

implementation

++

uses
++  commonrefseditform_mfm,
++  msesqldb, // ďđĺäîńňŕâë˙ĺň "tmsesqlquery"
++  msewidgets // ďđĺäîńňŕâë˙ĺň "showmessage"
++ ;

++

var
++   // ôëŕă-ďđčçíŕę čńďîëüçîâŕíč˙ ęíîďîę"SaveAll" čëč "Add"
++  isexpected : boolean;

++

// ńëĺăęŕ ěîäčôčöčđîâŕííŕ˙ ďđîöĺäóđŕ
++ //
++ procedure tcommonrefseditfo.saveallexecute(
++  const sender: TObject);
++ begin
++  // ÷ňîáű ++ íĺ áűëî đóăŕíč â "onclosequery"
++  isexpected:= true;
++  if parentwidget.container.canclose(nil) then begin
++   with dsContents.dataset as tmsesqlquery do begin
++    applyupdates;
++    (transaction as tmsesqltransaction).commit;
++    active:= true;
++   end;
++  end;
++  // íĺńîőđŕíĺííűĺ äŕííűĺ - îď˙ňü íĺíîđěŕëüíîĺ ˙âëĺíčĺ
++  isexpected:= false;
++ end;

++

č ŕíŕëîăč÷íî

++

procedure tcommonrefseditfo.addexecute(
++   const sender: TObject);
++ begin
++  isexpected:= true;
++  if parentwidget.canparentclose(nil) then begin
++   dsContents.dataset.append;
++  end;
++  isexpected:= false;
++ end;

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • çäĺńü "parentwidget.container.canclose(nil)" č "parentwidget.canparentclose(nil)" âűçîâóň íĺ˙âíűě îáđŕçîě "tcommonrefseditfo.commonrefseditfoclosequery", çŕ ęîňîđîé č îńňŕíĺňń˙ ďîńëĺäíĺĺ ńëîâî - çŕńňŕâčňü ďîëüçîâŕňĺë˙ ďđîäîëćčňü đĺäŕęňčđîâŕíčĺ, čëč çŕęđűňü ôîđěó
  • ++
++
++

Čňîăîâűé âčä ôîđěű "commonrefeditfo" ń ęîěďîíĺíňŕěč :

++

++

 

++

Ňĺďĺđü ýňŕ ôîđěŕ, â ęŕ÷ĺńňâĺ ńóáěîäóë˙ ( submodule ) ěîćĺň čńďîëüçîâŕňüń˙ ęŕę ęŕđęŕń äë˙ ďîńňđîĺíč˙ îäíîňčďíűő đĺäŕęňîđîâ ňŕáëčö. Ęŕę ýňî ńäĺëŕňü - ńě . äŕëĺĺ .

++

 

++ ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,173 ---- ++ object commonrefseditfo: tcommonrefseditfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 61 ++ bounds_y = 154 ++ bounds_cx = 401 ++ bounds_cy = 323 ++ anchors = [] ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 401 ++ container.bounds_cy = 323 ++ container.frame.dummy = 0 ++ onclosequery = commonrefseditfoclosequery ++ moduleclassname = 'tmseform' ++ object btnSaveAll: tbutton ++ bounds_x = 8 ++ bounds_y = 232 ++ bounds_cx = 74 ++ bounds_cy = 28 ++ frame.colorclient = 16763135 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption] ++ action = actSaveAll ++ caption = 'Save All' ++ end ++ object btnUnDo: tbutton ++ bounds_x = 168 ++ bounds_y = 232 ++ bounds_cx = 58 ++ bounds_cy = 28 ++ frame.colorclient = -1879048188 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption] ++ action = actUnDo ++ caption = 'UnDo' ++ end ++ object btnAdd: tbutton ++ bounds_x = 240 ++ bounds_y = 232 ++ bounds_cx = 66 ++ bounds_cy = 28 ++ frame.colorclient = 13158650 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_localcaption] ++ action = actAdd ++ caption = 'Add' ++ end ++ object btnDelete: tbutton ++ bounds_x = 320 ++ bounds_y = 232 ++ bounds_cx = 74 ++ bounds_cy = 28 ++ frame.colorclient = 16763080 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 3 ++ state = [as_disabled, as_localcaption] ++ action = actDelete ++ caption = 'Delete' ++ end ++ object btnClose: tbutton ++ bounds_x = 128 ++ bounds_y = 272 ++ bounds_cx = 266 ++ bounds_cy = 44 ++ frame.colorclient = -1610612714 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 2 ++ state = [as_localcaption] ++ caption = 'Close' ++ modalresult = mr_windowclosed ++ end ++ object btnUnDoAll: tbutton ++ bounds_x = 96 ++ bounds_y = 232 ++ bounds_cx = 66 ++ bounds_cy = 28 ++ frame.colorclient = -1879048188 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_disabled, as_localcaption] ++ action = actUnDoAll ++ caption = 'UnDo All' ++ end ++ object lblAddedLegend: tlabel ++ bounds_x = 8 ++ bounds_y = 272 ++ bounds_cx = 88 ++ bounds_cy = 18 ++ frame.leveli = -2 ++ frame.colorclient = 16760832 ++ frame.caption = 'added' ++ frame.captionpos = cp_right ++ frame.captiondist = 10 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 52 ++ 0 ++ ) ++ taborder = 1 ++ reffontheight = 16 ++ end ++ object lblChangedLegend: tlabel ++ bounds_x = 8 ++ bounds_y = 296 ++ bounds_cx = 102 ++ bounds_cy = 18 ++ frame.leveli = -2 ++ frame.colorclient = -1610612728 ++ frame.caption = 'changed' ++ frame.captionpos = cp_right ++ frame.captiondist = 10 ++ frame.localprops = [frl_leveli, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 66 ++ 0 ++ ) ++ reffontheight = 16 ++ end ++ object actSaveAll: taction ++ state = [as_disabled] ++ onexecute = saveallexecute ++ left = 8 ++ top = 192 ++ end ++ object actUnDo: taction ++ state = [as_disabled] ++ onexecute = undoexecute ++ left = 160 ++ top = 192 ++ end ++ object actAdd: taction ++ onexecute = addexecute ++ left = 240 ++ top = 192 ++ end ++ object actDelete: taction ++ state = [as_disabled] ++ onexecute = deleteexecute ++ left = 312 ++ top = 192 ++ end ++ object dsContents: tmsedatasource ++ OnDataChange = contentschange ++ left = 152 ++ top = 168 ++ end ++ object actUnDoAll: taction ++ state = [as_disabled] ++ onexecute = undoallexecute ++ left = 80 ++ top = 192 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,167 ---- ++ unit commonrefseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,commonrefseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2998] of byte end = ++ (size: 2999; data: ( ++ 84,80,70,48,17,116,99,111,109,109,111,110,114,101,102,115,101,100,105,116, ++ 102,111,16,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,61,8,98,111,117,110,100,115, ++ 95,121,3,154,0,9,98,111,117,110,100,115,95,99,120,3,145,1,9,98, ++ 111,117,110,100,115,95,99,121,3,67,1,7,97,110,99,104,111,114,115,11, ++ 0,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119, ++ 105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115, ++ 11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111, ++ 119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19,111, ++ 119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,120,3,145,1,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,121,3,67,1,21,99,111,110, ++ 116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 12,111,110,99,108,111,115,101,113,117,101,114,121,7,26,99,111,109,109,111, ++ 110,114,101,102,115,101,100,105,116,102,111,99,108,111,115,101,113,117,101,114, ++ 121,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116, ++ 109,115,101,102,111,114,109,0,7,116,98,117,116,116,111,110,10,98,116,110, ++ 83,97,118,101,65,108,108,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,3,232,0,9,98,111,117,110,100,115,95,99,120, ++ 2,74,9,98,111,117,110,100,115,95,99,121,2,28,17,102,114,97,109,101, ++ 46,99,111,108,111,114,99,108,105,101,110,116,4,255,200,255,0,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116, ++ 101,109,112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117, ++ 116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,7,5,115,116,97,116,101,11,11,97,115, ++ 95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,6,97,99,116,105,111,110,7,10,97,99,116,83,97, ++ 118,101,65,108,108,7,99,97,112,116,105,111,110,6,8,83,97,118,101,32, ++ 65,108,108,0,0,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68, ++ 111,8,98,111,117,110,100,115,95,120,3,168,0,8,98,111,117,110,100,115, ++ 95,121,3,232,0,9,98,111,117,110,100,115,95,99,120,2,58,9,98,111, ++ 117,110,100,115,95,99,121,2,28,17,102,114,97,109,101,46,99,111,108,111, ++ 114,99,108,105,101,110,116,4,4,0,0,144,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114, ++ 99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97, ++ 116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116,111,110,115, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,6,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97, ++ 98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110, ++ 0,6,97,99,116,105,111,110,7,7,97,99,116,85,110,68,111,7,99,97, ++ 112,116,105,111,110,6,4,85,110,68,111,0,0,7,116,98,117,116,116,111, ++ 110,6,98,116,110,65,100,100,8,98,111,117,110,100,115,95,120,3,240,0, ++ 8,98,111,117,110,100,115,95,121,3,232,0,9,98,111,117,110,100,115,95, ++ 99,120,2,66,9,98,111,117,110,100,115,95,99,121,2,28,17,102,114,97, ++ 109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,250,200,200,0,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114, ++ 108,95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101, ++ 46,116,101,109,112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116, ++ 66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,8,116,97,98,111,114,100,101,114,2,4,5,115,116,97,116,101,11,15, ++ 97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97,99,116, ++ 105,111,110,7,6,97,99,116,65,100,100,7,99,97,112,116,105,111,110,6, ++ 3,65,100,100,0,0,7,116,98,117,116,116,111,110,9,98,116,110,68,101, ++ 108,101,116,101,8,98,111,117,110,100,115,95,120,3,64,1,8,98,111,117, ++ 110,100,115,95,121,3,232,0,9,98,111,117,110,100,115,95,99,120,2,74, ++ 9,98,111,117,110,100,115,95,99,121,2,28,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,200,200,255,0,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111, ++ 108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109, ++ 112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116, ++ 111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,5,115,116,97,116,101,11,11,97,115,95,100, ++ 105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116, ++ 105,111,110,0,6,97,99,116,105,111,110,7,9,97,99,116,68,101,108,101, ++ 116,101,7,99,97,112,116,105,111,110,6,6,68,101,108,101,116,101,0,0, ++ 7,116,98,117,116,116,111,110,8,98,116,110,67,108,111,115,101,8,98,111, ++ 117,110,100,115,95,120,3,128,0,8,98,111,117,110,100,115,95,121,3,16, ++ 1,9,98,111,117,110,100,115,95,99,120,3,10,1,9,98,111,117,110,100, ++ 115,95,99,121,2,44,17,102,114,97,109,101,46,99,111,108,111,114,99,108, ++ 105,101,110,116,4,22,0,0,160,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105, ++ 101,110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7, ++ 16,109,97,105,110,102,111,46,102,116,66,117,116,116,111,110,115,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114, ++ 2,2,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,7,99,97,112,116,105,111,110,6,5,67,108,111,115, ++ 101,11,109,111,100,97,108,114,101,115,117,108,116,7,15,109,114,95,119,105, ++ 110,100,111,119,99,108,111,115,101,100,0,0,7,116,98,117,116,116,111,110, ++ 10,98,116,110,85,110,68,111,65,108,108,8,98,111,117,110,100,115,95,120, ++ 2,96,8,98,111,117,110,100,115,95,121,3,232,0,9,98,111,117,110,100, ++ 115,95,99,120,2,66,9,98,111,117,110,100,115,95,99,121,2,28,17,102, ++ 114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,4,0,0, ++ 144,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97, ++ 109,101,46,116,101,109,112,108,97,116,101,7,16,109,97,105,110,102,111,46, ++ 102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,5,5,115,116,97,116,101, ++ 11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99, ++ 97,108,99,97,112,116,105,111,110,0,6,97,99,116,105,111,110,7,10,97, ++ 99,116,85,110,68,111,65,108,108,7,99,97,112,116,105,111,110,6,8,85, ++ 110,68,111,32,65,108,108,0,0,6,116,108,97,98,101,108,14,108,98,108, ++ 65,100,100,101,100,76,101,103,101,110,100,8,98,111,117,110,100,115,95,120, ++ 2,8,8,98,111,117,110,100,115,95,121,3,16,1,9,98,111,117,110,100, ++ 115,95,99,120,2,88,9,98,111,117,110,100,115,95,99,121,2,18,12,102, ++ 114,97,109,101,46,108,101,118,101,108,105,2,254,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,0,192,255,0,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,5,97,100,100,101,100,16,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,8,99,112,95,114, ++ 105,103,104,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105, ++ 115,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114, ++ 97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114, ++ 97,109,101,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,0,2,52,2,0, ++ 0,8,116,97,98,111,114,100,101,114,2,1,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,16,0,0,6,116,108,97,98,101,108,16,108,98, ++ 108,67,104,97,110,103,101,100,76,101,103,101,110,100,8,98,111,117,110,100, ++ 115,95,120,2,8,8,98,111,117,110,100,115,95,121,3,40,1,9,98,111, ++ 117,110,100,115,95,99,120,2,102,9,98,111,117,110,100,115,95,99,121,2, ++ 18,12,102,114,97,109,101,46,108,101,118,101,108,105,2,254,17,102,114,97, ++ 109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,8,0,0,160,13, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,6,7,99,104,97,110,103, ++ 101,100,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7, ++ 8,99,112,95,114,105,103,104,116,17,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,100,105,115,116,2,10,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,105,15,102, ++ 114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,0,2,0,2,66,2,0,0,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,16,0,0,7,116,97,99,116,105, ++ 111,110,10,97,99,116,83,97,118,101,65,108,108,5,115,116,97,116,101,11, ++ 11,97,115,95,100,105,115,97,98,108,101,100,0,9,111,110,101,120,101,99, ++ 117,116,101,7,14,115,97,118,101,97,108,108,101,120,101,99,117,116,101,4, ++ 108,101,102,116,2,8,3,116,111,112,3,192,0,0,0,7,116,97,99,116, ++ 105,111,110,7,97,99,116,85,110,68,111,5,115,116,97,116,101,11,11,97, ++ 115,95,100,105,115,97,98,108,101,100,0,9,111,110,101,120,101,99,117,116, ++ 101,7,11,117,110,100,111,101,120,101,99,117,116,101,4,108,101,102,116,3, ++ 160,0,3,116,111,112,3,192,0,0,0,7,116,97,99,116,105,111,110,6, ++ 97,99,116,65,100,100,9,111,110,101,120,101,99,117,116,101,7,10,97,100, ++ 100,101,120,101,99,117,116,101,4,108,101,102,116,3,240,0,3,116,111,112, ++ 3,192,0,0,0,7,116,97,99,116,105,111,110,9,97,99,116,68,101,108, ++ 101,116,101,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108, ++ 101,100,0,9,111,110,101,120,101,99,117,116,101,7,13,100,101,108,101,116, ++ 101,101,120,101,99,117,116,101,4,108,101,102,116,3,56,1,3,116,111,112, ++ 3,192,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101, ++ 10,100,115,67,111,110,116,101,110,116,115,12,79,110,68,97,116,97,67,104, ++ 97,110,103,101,7,14,99,111,110,116,101,110,116,115,99,104,97,110,103,101, ++ 4,108,101,102,116,3,152,0,3,116,111,112,3,168,0,0,0,7,116,97, ++ 99,116,105,111,110,10,97,99,116,85,110,68,111,65,108,108,5,115,116,97, ++ 116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,0,9,111,110,101, ++ 120,101,99,117,116,101,7,14,117,110,100,111,97,108,108,101,120,101,99,117, ++ 116,101,4,108,101,102,116,2,80,3,116,111,112,3,192,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcommonrefseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/commonrefseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,112 ---- ++ unit commonrefseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,mseactions,msedb, ++ // provides "tfield" ++ db ++ ; ++ ++ type ++ tcommonrefseditfo = class(tmseform) ++ actSaveAll: taction; ++ actUnDo: taction; ++ actAdd: taction; ++ actDelete: taction; ++ btnSaveAll: tbutton; ++ btnUnDo: tbutton; ++ btnAdd: tbutton; ++ btnDelete: tbutton; ++ btnClose: tbutton; ++ btnCancel: tbutton; ++ dsContents: tmsedatasource; ++ actUnDoAll: taction; ++ tlabel1: tlabel; ++ procedure contentschange(Sender: TObject; Field: TField); ++ procedure saveallexecute(const sender: TObject); ++ procedure undoexecute(const sender: TObject); ++ procedure addexecute(const sender: TObject); ++ procedure deleteexecute(const sender: TObject); ++ procedure undoallexecute(const sender: TObject); ++ procedure commonrefseditfoclosequery(const sender: tcustommseform; ++ var amodalresult: modalresultty); ++ end; ++ ++ var ++ commonrefseditfo: tcommonrefseditfo; ++ ++ implementation ++ ++ uses ++ commonrefseditform_mfm, ++ // priovides "tmsesqlquery" ++ msesqldb, ++ msewidgets ++ ; ++ ++ var ++ isexpected : boolean; ++ ++ procedure tcommonrefseditfo.contentschange(Sender: TObject; Field: TField); ++ begin ++ with ((sender as tdatasource).dataset) as tmsesqlquery do begin ++ actDelete.enabled:= recordcount > 0; ++ actUnDoAll.enabled:= changecount > 0; ++ actSaveAll.enabled:= changecount > 0; ++ // actUnDo.enabled:= updatestatus = usModified; ++ end; ++ end; ++ ++ procedure tcommonrefseditfo.saveallexecute(const sender: TObject); ++ begin ++ isexpected:= true; ++ if parentwidget.container.canclose(nil) then begin ++ with dsContents.dataset as tmsesqlquery do begin ++ applyupdates; ++ (transaction as tmsesqltransaction).commit; ++ active:= true; ++ end; ++ end; ++ isexpected:= false; ++ end; ++ ++ procedure tcommonrefseditfo.undoexecute(const sender: TObject); ++ begin ++ // (dsContents.dataset as tmsesqlquery).cancelupdate; ++ end; ++ ++ procedure tcommonrefseditfo.addexecute(const sender: TObject); ++ begin ++ isexpected:= true; ++ if parentwidget.canparentclose(nil) then begin ++ dsContents.dataset.append; ++ end; ++ isexpected:= false; ++ end; ++ ++ procedure tcommonrefseditfo.deleteexecute(const sender: TObject); ++ begin ++ dsContents.dataset.delete; ++ end; ++ ++ procedure tcommonrefseditfo.undoallexecute(const sender: TObject); ++ begin ++ (dsContents.dataset as tmsesqlquery).cancelupdates; ++ end; ++ ++ procedure tcommonrefseditfo.commonrefseditfoclosequery(const sender: tcustommseform; ++ var amodalresult: modalresultty); ++ begin ++ with dsContents.dataset as tmsesqlquery do begin ++ if (not isexpected) and (changecount > 0) then begin ++ showmessage( ++ 'There are unsaved changes in the table. Fix them !', ++ 'Unsaved changes', ++ [mr_ok] ++ ); ++ amodalresult:= mr_none; ++ end; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,172 ---- ++ object continentseditfo: tcontinentseditfo ++ bounds_x = 63 ++ bounds_y = 152 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Continents editor' ++ icon.transparency = -2147483648 ++ oncreate = continentseditfocreated ++ ondestroy = continentseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdContinents: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsContinents ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 31 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 20 ++ captions.count = 2 ++ captions.items = < ++ item ++ caption = 'Continent name' ++ end ++ item ++ caption = 'Planet name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 2 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 171 ++ options = [co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seContinent' ++ end ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 162 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'lbnePlanet' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdcontinentsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 16 ++ object seContinent: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_cx = 171 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsContinents ++ reffontheight = 16 ++ end ++ object lbnePlanet: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 172 ++ bounds_cx = 162 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.button.color = -1879048187 ++ frame.dummy = 0 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'planet_id' ++ datasource = refsdatamo.dsContinents ++ dropdown.lookupbuffer = refsdatamo.lbufPlanets ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 16 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,213 ---- ++ unit continentseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,continentseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..3916] of byte end = ++ (size: 3917; data: ( ++ 84,80,70,48,17,116,99,111,110,116,105,110,101,110,116,115,101,100,105,116, ++ 102,111,16,99,111,110,116,105,110,101,110,116,115,101,100,105,116,102,111,8, ++ 98,111,117,110,100,115,95,120,2,63,8,98,111,117,110,100,115,95,121,3, ++ 152,0,9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110, ++ 100,115,95,99,121,3,66,1,23,99,111,110,116,97,105,110,101,114,46,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98, ++ 102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112, ++ 97,114,101,110,116,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,19,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,99,120,3,146,1,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,66,1,21,99,111, ++ 110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,7,111,112,116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110, ++ 99,101,110,116,101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100, ++ 115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97, ++ 116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101, ++ 115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,17,67,111,110,116, ++ 105,110,101,110,116,115,32,101,100,105,116,111,114,17,105,99,111,110,46,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,8,111,110,99, ++ 114,101,97,116,101,7,23,99,111,110,116,105,110,101,110,116,115,101,100,105, ++ 116,102,111,99,114,101,97,116,101,100,9,111,110,100,101,115,116,114,111,121, ++ 7,25,99,111,110,116,105,110,101,110,116,115,101,100,105,116,102,111,100,101, ++ 115,116,114,111,121,101,100,15,109,111,100,117,108,101,99,108,97,115,115,110, ++ 97,109,101,6,8,116,109,115,101,102,111,114,109,0,244,17,116,99,111,109, ++ 109,111,110,114,101,102,115,101,100,105,116,102,111,17,99,111,109,109,111,110, ++ 114,101,102,115,101,100,105,116,102,111,49,9,98,111,117,110,100,115,95,99, ++ 120,3,146,1,9,98,111,117,110,100,115,95,99,121,3,66,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,146,1, ++ 19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121, ++ 3,66,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,17,105,99,111,110,46,116,114,97,110,115,112,97, ++ 114,101,110,99,121,4,0,0,0,128,0,241,7,116,98,117,116,116,111,110, ++ 10,98,116,110,83,97,118,101,65,108,108,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,8,5,115,116,97, ++ 116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108, ++ 111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117,116,116,111, ++ 110,7,98,116,110,85,110,68,111,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,7,5,115,116,97,116,101, ++ 11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99, ++ 97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110, ++ 101,120,101,99,117,116,101,0,0,0,241,7,116,98,117,116,116,111,110,6, ++ 98,116,110,65,100,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,5,5,115,116,97,116,101,11,15,97, ++ 115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111, ++ 99,97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117, ++ 116,116,111,110,9,98,116,110,68,101,108,101,116,101,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,4,5, ++ 115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97, ++ 115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111, ++ 99,97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117, ++ 116,116,111,110,8,98,116,110,67,108,111,115,101,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,0,0, ++ 241,7,116,98,117,116,116,111,110,10,98,116,110,85,110,68,111,65,108,108, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,6,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97, ++ 98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110, ++ 17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0, ++ 0,241,6,116,108,97,98,101,108,14,108,98,108,65,100,100,101,100,76,101, ++ 103,101,110,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,2,0,0,241,6,116,108,97,98,101,108,16, ++ 108,98,108,67,104,97,110,103,101,100,76,101,103,101,110,100,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 1,0,0,242,2,8,13,116,100,98,119,105,100,103,101,116,103,114,105,100, ++ 13,103,114,100,67,111,110,116,105,110,101,110,116,115,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97, ++ 99,107,111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101, ++ 108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18, ++ 111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95, ++ 120,2,8,8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100, ++ 115,95,99,120,3,130,1,9,98,111,117,110,100,115,95,99,121,3,218,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111, ++ 114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8,97, ++ 110,95,114,105,103,104,116,0,10,100,97,116,97,115,111,117,114,99,101,7, ++ 23,114,101,102,115,100,97,116,97,109,111,46,100,115,67,111,110,116,105,110, ++ 101,110,116,115,13,102,105,120,99,111,108,115,46,99,111,117,110,116,2,1, ++ 13,102,105,120,99,111,108,115,46,105,116,101,109,115,14,1,5,119,105,100, ++ 116,104,2,31,8,110,117,109,115,116,97,114,116,2,1,7,110,117,109,115, ++ 116,101,112,2,1,0,0,13,102,105,120,114,111,119,115,46,99,111,117,110, ++ 116,2,1,13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,5, ++ 99,111,108,111,114,4,20,0,0,160,6,104,101,105,103,104,116,2,20,14, ++ 99,97,112,116,105,111,110,115,46,99,111,117,110,116,2,2,14,99,97,112, ++ 116,105,111,110,115,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111, ++ 110,6,14,67,111,110,116,105,110,101,110,116,32,110,97,109,101,0,1,7, ++ 99,97,112,116,105,111,110,6,11,80,108,97,110,101,116,32,110,97,109,101, ++ 0,0,17,99,97,112,116,105,111,110,115,102,105,120,46,99,111,117,110,116, ++ 2,1,17,99,97,112,116,105,111,110,115,102,105,120,46,105,116,101,109,115, ++ 14,1,7,99,97,112,116,105,111,110,18,1,0,0,0,22,33,0,0,0, ++ 0,15,114,111,119,99,111,108,111,114,115,46,99,111,117,110,116,2,2,15, ++ 114,111,119,99,111,108,111,114,115,46,105,116,101,109,115,1,4,0,192,255, ++ 0,4,8,0,0,160,0,14,100,97,116,97,99,111,108,115,46,99,111,117, ++ 110,116,2,2,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14, ++ 1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2, ++ 10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,5,119,105,100,116,104,3,171,0,7,111,112,116,105,111, ++ 110,115,11,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12, ++ 99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101, ++ 115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95, ++ 114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108, ++ 111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,11,115,101,67,111, ++ 110,116,105,110,101,110,116,0,1,17,102,114,97,109,101,46,102,114,97,109, ++ 101,105,95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111,99,97, ++ 108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116,104,3, ++ 162,0,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108,108,12, ++ 99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101, ++ 115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95, ++ 114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108, ++ 111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,10,108,98,110,101, ++ 80,108,97,110,101,116,0,0,16,100,97,116,97,108,105,110,107,46,111,112, ++ 116,105,111,110,115,11,17,103,100,111,95,112,114,111,112,115,99,114,111,108, ++ 108,98,97,114,14,103,100,111,95,116,104,117,109,98,116,114,97,99,107,0, ++ 24,100,97,116,97,108,105,110,107,46,111,110,117,112,100,97,116,101,114,111, ++ 119,100,97,116,97,7,26,103,114,100,99,111,110,116,105,110,101,110,116,115, ++ 117,112,100,97,116,101,114,111,119,100,97,116,97,13,100,97,116,97,114,111, ++ 119,104,101,105,103,104,116,2,22,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,16,0,13,116,100,98,115,116,114,105,110,103,101,100,105,116, ++ 11,115,101,67,111,110,116,105,110,101,110,116,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101, ++ 108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18, ++ 111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,0,9, ++ 98,111,117,110,100,115,95,99,120,3,171,0,9,98,111,117,110,100,115,95, ++ 99,121,2,22,12,102,114,97,109,101,46,108,101,118,101,108,111,2,0,17, ++ 102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,3,0, ++ 0,128,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,108,101,118,101,108,111,15,102,114,108,95,99,111,108,111, ++ 114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,8,116,97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108, ++ 101,8,11,111,112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117, ++ 110,100,111,111,110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101, ++ 114,121,16,111,101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15, ++ 111,101,95,101,120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115, ++ 104,105,102,116,114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116, ++ 117,114,110,20,111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110, ++ 101,120,105,116,13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111, ++ 101,95,97,117,116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111, ++ 115,101,108,101,99,116,111,110,102,105,114,115,116,99,108,105,99,107,10,111, ++ 101,95,110,111,116,110,117,108,108,11,111,101,95,97,117,116,111,112,111,115, ++ 116,16,111,101,95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111, ++ 101,95,107,101,121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101, ++ 118,97,108,117,101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,9, ++ 100,97,116,97,102,105,101,108,100,6,5,100,101,115,99,114,10,100,97,116, ++ 97,115,111,117,114,99,101,7,23,114,101,102,115,100,97,116,97,109,111,46, ++ 100,115,67,111,110,116,105,110,101,110,116,115,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,16,0,0,13,116,100,98,101,110,117,109,101,100, ++ 105,116,108,98,10,108,98,110,101,80,108,97,110,101,116,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102, ++ 111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119, ++ 104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101, ++ 116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104, ++ 116,0,8,98,111,117,110,100,115,95,120,3,172,0,9,98,111,117,110,100, ++ 115,95,99,120,3,162,0,9,98,111,117,110,100,115,95,99,121,2,22,12, ++ 102,114,97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101, ++ 46,99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95, ++ 108,101,118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101, ++ 110,116,0,18,102,114,97,109,101,46,98,117,116,116,111,110,46,99,111,108, ++ 111,114,4,5,0,0,144,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,7,118,105,115,105,98,108,101,8,11,111,112,116,105,111,110,115,101,100, ++ 105,116,11,12,111,101,95,117,110,100,111,111,110,101,115,99,13,111,101,95, ++ 99,108,111,115,101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109, ++ 114,99,97,110,99,101,108,15,111,101,95,101,120,105,116,111,110,99,117,114, ++ 115,111,114,14,111,101,95,115,104,105,102,116,114,101,116,117,114,110,12,111, ++ 101,95,101,97,116,114,101,116,117,114,110,20,111,101,95,114,101,115,101,116, ++ 115,101,108,101,99,116,111,110,101,120,105,116,13,111,101,95,101,110,100,111, ++ 110,101,110,116,101,114,13,111,101,95,97,117,116,111,115,101,108,101,99,116, ++ 25,111,101,95,97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115, ++ 116,99,108,105,99,107,11,111,101,95,97,117,116,111,112,111,115,116,16,111, ++ 101,95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107, ++ 101,121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108, ++ 117,101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116, ++ 97,102,105,101,108,100,6,9,112,108,97,110,101,116,95,105,100,10,100,97, ++ 116,97,115,111,117,114,99,101,7,23,114,101,102,115,100,97,116,97,109,111, ++ 46,100,115,67,111,110,116,105,110,101,110,116,115,21,100,114,111,112,100,111, ++ 119,110,46,108,111,111,107,117,112,98,117,102,102,101,114,7,22,114,101,102, ++ 115,100,97,116,97,109,111,46,108,98,117,102,80,108,97,110,101,116,115,19, ++ 100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111,117,110,116,2, ++ 1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,105,116,101,109, ++ 115,14,1,0,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2, ++ 16,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,83,97,118, ++ 101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97,99,116,85, ++ 110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99,116,65,100, ++ 100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68,101,108,101, ++ 116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101, ++ 10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97,99,116,105, ++ 111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcontinentseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/continentseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/continentseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,52 ---- ++ unit continentseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit, ++ msegrids, ++ db; ++ ++ type ++ tcontinentseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdContinents: tdbwidgetgrid; ++ lbnePlanet: tdbenumeditlb; ++ seContinent: tdbstringedit; ++ procedure continentseditfocreated(const sender: TObject); ++ procedure continentseditfodestroyed(const sender: TObject); ++ procedure grdcontinentsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ continentseditfo: tcontinentseditfo; ++ ++ implementation ++ uses ++ continentseditform_mfm, ++ refsdatamodule; ++ ++ procedure tcontinentseditfo.continentseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdContinents.datasource.dataset; ++ end; ++ ++ procedure tcontinentseditfo.continentseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tcontinentseditfo.grdcontinentsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,170 ---- ++ object countrieseditfo: tcountrieseditfo ++ bounds_x = 51 ++ bounds_y = 171 ++ bounds_cx = 402 ++ bounds_cy = 323 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 402 ++ container.bounds_cy = 323 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Countries editor' ++ icon.transparency = -2147483648 ++ oncreate = countrieseditfocreated ++ ondestroy = countrieseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ container.bounds_cx = 402 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdCountries: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsCountries ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 27 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 20 ++ captions.count = 2 ++ captions.items = < ++ item ++ caption = 'Country name' ++ end ++ item ++ caption = 'Continent name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 2 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 178 ++ options = [co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seCountry' ++ end ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 159 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'lbneContinent' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdcountriesupdaterowdata ++ datarowheight = 22 ++ reffontheight = 16 ++ object seCountry: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_cx = 178 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsCountries ++ reffontheight = 16 ++ end ++ object lbneContinent: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 179 ++ bounds_cx = 159 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.button.color = -1879048187 ++ frame.dummy = 0 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'continent_id' ++ datasource = refsdatamo.dsCountries ++ dropdown.lookupbuffer = refsdatamo.lbufContinents ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 16 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,211 ---- ++ unit countrieseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,countrieseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..3879] of byte end = ++ (size: 3880; data: ( ++ 84,80,70,48,16,116,99,111,117,110,116,114,105,101,115,101,100,105,116,102, ++ 111,15,99,111,117,110,116,114,105,101,115,101,100,105,116,102,111,8,98,111, ++ 117,110,100,115,95,120,2,51,8,98,111,117,110,100,115,95,121,3,171,0, ++ 9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115, ++ 95,99,121,3,67,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116, ++ 105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101, ++ 102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119, ++ 95,97,114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111, ++ 99,117,115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114, ++ 101,110,116,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,19,99,111,110,116,97,105,110,101,114,46, ++ 98,111,117,110,100,115,95,99,120,3,146,1,19,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,99,121,3,67,1,21,99,111,110,116, ++ 97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,7, ++ 111,112,116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101, ++ 110,116,101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116, ++ 97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10, ++ 102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116, ++ 97,116,101,0,7,99,97,112,116,105,111,110,6,16,67,111,117,110,116,114, ++ 105,101,115,32,101,100,105,116,111,114,17,105,99,111,110,46,116,114,97,110, ++ 115,112,97,114,101,110,99,121,4,0,0,0,128,8,111,110,99,114,101,97, ++ 116,101,7,22,99,111,117,110,116,114,105,101,115,101,100,105,116,102,111,99, ++ 114,101,97,116,101,100,9,111,110,100,101,115,116,114,111,121,7,24,99,111, ++ 117,110,116,114,105,101,115,101,100,105,116,102,111,100,101,115,116,114,111,121, ++ 101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8, ++ 116,109,115,101,102,111,114,109,0,244,17,116,99,111,109,109,111,110,114,101, ++ 102,115,101,100,105,116,102,111,17,99,111,109,109,111,110,114,101,102,115,101, ++ 100,105,116,102,111,49,9,98,111,117,110,100,115,95,99,120,3,146,1,19, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3, ++ 146,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,17,105,99,111,110,46,116,114,97,110,115,112,97,114, ++ 101,110,99,121,4,0,0,0,128,0,241,7,116,98,117,116,116,111,110,10, ++ 98,116,110,83,97,118,101,65,108,108,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,8,5,115,116,97,116, ++ 101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117,116,116,111,110, ++ 7,98,116,110,85,110,68,111,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,8,116,97,98,111,114,100,101,114,2,7,5,115,116,97,116,101,11, ++ 11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97, ++ 108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101, ++ 120,101,99,117,116,101,0,0,0,241,7,116,98,117,116,116,111,110,6,98, ++ 116,110,65,100,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,5,5,115,116,97,116,101,11,15,97,115, ++ 95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99, ++ 97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117,116, ++ 116,111,110,9,98,116,110,68,101,108,101,116,101,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,4,5,115, ++ 116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115, ++ 95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99, ++ 97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117,116, ++ 116,111,110,8,98,116,110,67,108,111,115,101,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,0,0,241, ++ 7,116,98,117,116,116,111,110,10,98,116,110,85,110,68,111,65,108,108,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,6,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98, ++ 108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17, ++ 97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0, ++ 241,6,116,108,97,98,101,108,14,108,98,108,65,100,100,101,100,76,101,103, ++ 101,110,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,2,0,0,241,6,116,108,97,98,101,108,16,108, ++ 98,108,67,104,97,110,103,101,100,76,101,103,101,110,100,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1, ++ 0,0,242,2,8,13,116,100,98,119,105,100,103,101,116,103,114,105,100,12, ++ 103,114,100,67,111,117,110,116,114,105,101,115,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107, ++ 111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 8,8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95, ++ 99,120,3,130,1,9,98,111,117,110,100,115,95,99,121,3,218,0,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115, ++ 11,7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8,97,110,95, ++ 114,105,103,104,116,0,10,100,97,116,97,115,111,117,114,99,101,7,22,114, ++ 101,102,115,100,97,116,97,109,111,46,100,115,67,111,117,110,116,114,105,101, ++ 115,13,102,105,120,99,111,108,115,46,99,111,117,110,116,2,1,13,102,105, ++ 120,99,111,108,115,46,105,116,101,109,115,14,1,5,119,105,100,116,104,2, ++ 27,8,110,117,109,115,116,97,114,116,2,1,7,110,117,109,115,116,101,112, ++ 2,1,0,0,13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1, ++ 13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,5,99,111,108, ++ 111,114,4,20,0,0,160,6,104,101,105,103,104,116,2,20,14,99,97,112, ++ 116,105,111,110,115,46,99,111,117,110,116,2,2,14,99,97,112,116,105,111, ++ 110,115,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,6,12, ++ 67,111,117,110,116,114,121,32,110,97,109,101,0,1,7,99,97,112,116,105, ++ 111,110,6,14,67,111,110,116,105,110,101,110,116,32,110,97,109,101,0,0, ++ 17,99,97,112,116,105,111,110,115,102,105,120,46,99,111,117,110,116,2,1, ++ 17,99,97,112,116,105,111,110,115,102,105,120,46,105,116,101,109,115,14,1, ++ 7,99,97,112,116,105,111,110,18,1,0,0,0,22,33,0,0,0,0,15, ++ 114,111,119,99,111,108,111,114,115,46,99,111,117,110,116,2,2,15,114,111, ++ 119,99,111,108,111,114,115,46,105,116,101,109,115,1,4,0,192,255,0,4, ++ 8,0,0,160,0,14,100,97,116,97,99,111,108,115,46,99,111,117,110,116, ++ 2,2,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,17, ++ 102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,10,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114, ++ 108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,5,119,105,100,116,104,3,178,0,7,111,112,116,105,111,110,115, ++ 11,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99,111, ++ 95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116, ++ 97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111, ++ 119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114, ++ 0,10,119,105,100,103,101,116,110,97,109,101,6,9,115,101,67,111,117,110, ++ 116,114,121,0,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108, ++ 101,102,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,5,119,105,100,116,104,3,159,0,7,111, ++ 112,116,105,111,110,115,11,7,99,111,95,102,105,108,108,12,99,111,95,115, ++ 97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116, ++ 101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99, ++ 111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,0,10, ++ 119,105,100,103,101,116,110,97,109,101,6,13,108,98,110,101,67,111,110,116, ++ 105,110,101,110,116,0,0,16,100,97,116,97,108,105,110,107,46,111,112,116, ++ 105,111,110,115,11,17,103,100,111,95,112,114,111,112,115,99,114,111,108,108, ++ 98,97,114,14,103,100,111,95,116,104,117,109,98,116,114,97,99,107,0,24, ++ 100,97,116,97,108,105,110,107,46,111,110,117,112,100,97,116,101,114,111,119, ++ 100,97,116,97,7,25,103,114,100,99,111,117,110,116,114,105,101,115,117,112, ++ 100,97,116,101,114,111,119,100,97,116,97,13,100,97,116,97,114,111,119,104, ++ 101,105,103,104,116,2,22,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,16,0,13,116,100,98,115,116,114,105,110,103,101,100,105,116,9,115, ++ 101,67,111,117,110,116,114,121,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102, ++ 111,110,116,103,108,121,112,104,104,101,105,103,104,116,0,9,98,111,117,110, ++ 100,115,95,99,120,3,178,0,9,98,111,117,110,100,115,95,99,121,2,22, ++ 12,102,114,97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109, ++ 101,46,99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108, ++ 95,108,101,118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105, ++ 101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8,11,111, ++ 112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111, ++ 110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111, ++ 101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101, ++ 120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116, ++ 114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20, ++ 111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116, ++ 13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117, ++ 116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101, ++ 99,116,111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111, ++ 116,110,117,108,108,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101, ++ 95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101, ++ 121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117, ++ 101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97, ++ 102,105,101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117, ++ 114,99,101,7,22,114,101,102,115,100,97,116,97,109,111,46,100,115,67,111, ++ 117,110,116,114,105,101,115,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,16,0,0,13,116,100,98,101,110,117,109,101,100,105,116,108,98,13, ++ 108,98,110,101,67,111,110,116,105,110,101,110,116,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119,104,101, ++ 101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,0, ++ 8,98,111,117,110,100,115,95,120,3,179,0,9,98,111,117,110,100,115,95, ++ 99,120,3,159,0,9,98,111,117,110,100,115,95,99,121,2,22,12,102,114, ++ 97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116, ++ 0,18,102,114,97,109,101,46,98,117,116,116,111,110,46,99,111,108,111,114, ++ 4,5,0,0,144,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7, ++ 118,105,115,105,98,108,101,8,11,111,112,116,105,111,110,115,101,100,105,116, ++ 11,12,111,101,95,117,110,100,111,111,110,101,115,99,13,111,101,95,99,108, ++ 111,115,101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109,114,99, ++ 97,110,99,101,108,15,111,101,95,101,120,105,116,111,110,99,117,114,115,111, ++ 114,14,111,101,95,115,104,105,102,116,114,101,116,117,114,110,12,111,101,95, ++ 101,97,116,114,101,116,117,114,110,20,111,101,95,114,101,115,101,116,115,101, ++ 108,101,99,116,111,110,101,120,105,116,13,111,101,95,101,110,100,111,110,101, ++ 110,116,101,114,13,111,101,95,97,117,116,111,115,101,108,101,99,116,25,111, ++ 101,95,97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115,116,99, ++ 108,105,99,107,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101,95, ++ 97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121, ++ 101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101, ++ 12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102, ++ 105,101,108,100,6,12,99,111,110,116,105,110,101,110,116,95,105,100,10,100, ++ 97,116,97,115,111,117,114,99,101,7,22,114,101,102,115,100,97,116,97,109, ++ 111,46,100,115,67,111,117,110,116,114,105,101,115,21,100,114,111,112,100,111, ++ 119,110,46,108,111,111,107,117,112,98,117,102,102,101,114,7,25,114,101,102, ++ 115,100,97,116,97,109,111,46,108,98,117,102,67,111,110,116,105,110,101,110, ++ 116,115,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111,117, ++ 110,116,2,1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,105, ++ 116,101,109,115,14,1,0,0,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,16,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116, ++ 83,97,118,101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97, ++ 99,116,85,110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99, ++ 116,65,100,100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68, ++ 101,108,101,116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97, ++ 99,116,105,111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcountrieseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/countrieseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit countrieseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db; ++ ++ type ++ tcountrieseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdCountries: tdbwidgetgrid; ++ lbneContinent: tdbenumeditlb; ++ seCountry: tdbstringedit; ++ procedure countrieseditfocreated(const sender: TObject); ++ procedure countrieseditfodestroyed(const sender: TObject); ++ procedure grdcountriesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ countrieseditfo: tcountrieseditfo; ++ ++ implementation ++ ++ uses ++ countrieseditform_mfm, ++ refsdatamodule; ++ ++ procedure tcountrieseditfo.countrieseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdCountries.datasource.dataset; ++ end; ++ ++ procedure tcountrieseditfo.countrieseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tcountrieseditfo.grdcountriesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,276 ---- ++ object editfo: teditfo ++ bounds_x = 79 ++ bounds_y = 171 ++ bounds_cx = 379 ++ bounds_cy = 334 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 379 ++ container.bounds_cy = 334 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_closeonesc, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ icon.transparency = -2147483648 ++ oncreate = editfocreated ++ ondestroyed = editfodestroyed ++ moduleclassname = 'tmseform' ++ object btnOk: tbutton ++ bounds_x = 152 ++ bounds_y = 296 ++ bounds_cx = 90 ++ bounds_cy = 30 ++ frame.colorclient = -1610612714 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_localcaption] ++ caption = '&Ok' ++ modalresult = mr_ok ++ end ++ object btnCancel: tbutton ++ bounds_x = 312 ++ bounds_y = 296 ++ bounds_cx = 58 ++ bounds_cy = 30 ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_localcaption] ++ caption = '&Cancel' ++ modalresult = mr_cancel ++ end ++ object seName: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 12 ++ bounds_y = 16 ++ bounds_cx = 328 ++ bounds_cy = 22 ++ frame.caption = 'Name' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 52 ++ 0 ++ 0 ++ 0 ++ ) ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = mainfo.dsPersons ++ reffontheight = 16 ++ end ++ object cbPlanets: tenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 45 ++ bounds_cx = 148 ++ bounds_cy = 41 ++ frame.caption = 'Planet' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 19 ++ 0 ++ 0 ++ ) ++ taborder = 9 ++ onsetvalue = planetchanged ++ dropdown.lookupbuffer = refsdatamo.lbufPlanets ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 16 ++ end ++ object cbContinents: tenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 184 ++ bounds_y = 45 ++ bounds_cx = 156 ++ bounds_cy = 41 ++ frame.caption = 'Continent' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 19 ++ 0 ++ 0 ++ ) ++ taborder = 10 ++ onsetvalue = continentchanged ++ dropdown.lookupbuffer = refsdatamo.lbufContinents ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ dropdown.onfilter = continentsfilter ++ reffontheight = 16 ++ end ++ object cbCountries: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 47 ++ bounds_y = 96 ++ bounds_cx = 301 ++ bounds_cy = 22 ++ frame.caption = 'Country' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 65 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ ondataentered = countryentered ++ datafield = 'country_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufCountries ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ dropdown.onfilter = countriesfilter ++ reffontheight = 16 ++ end ++ object cbOccupations: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 26 ++ bounds_y = 128 ++ bounds_cx = 322 ++ bounds_cy = 22 ++ frame.caption = 'Occupation' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 86 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ ondataentered = occupationentered ++ datafield = 'occupation_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufOccupations ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 16 ++ end ++ object cbFeatures: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 48 ++ bounds_y = 160 ++ bounds_cx = 300 ++ bounds_cy = 22 ++ frame.caption = 'Feature' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 64 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 3 ++ ondataentered = featureentered ++ datafield = 'feature_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufFeatures ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 16 ++ end ++ object reSexPotention: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 4 ++ bounds_y = 192 ++ bounds_cx = 160 ++ bounds_cy = 22 ++ frame.caption = 'Sex. potention' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 108 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 4 ++ oncheckvalue = sexpotentioncheckvalue ++ datafield = 'sexual_potention' ++ datasource = mainfo.dsPersons ++ formatedit = '##.##' ++ formatdisp = '##.##' ++ reffontheight = 16 ++ end ++ object beHappy: tdbbooleantextedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 45 ++ bounds_y = 256 ++ bounds_cx = 167 ++ bounds_cy = 22 ++ frame.caption = 'Happy ?' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 67 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 6 ++ text_false = #1059#1074#1099 ++ text_true = #1045#1097#1077' '#1082#1072#1082 ++ datafield = 'if_happy' ++ datasource = mainfo.dsPersons ++ reffontheight = 16 ++ end ++ object lblDateFormatHint: tlabel ++ bounds_x = 224 ++ bounds_y = 224 ++ bounds_cy = 26 ++ taborder = 12 ++ reffontheight = 16 ++ end ++ object lblSexPotentionHint: tlabel ++ bounds_x = 176 ++ bounds_y = 192 ++ bounds_cx = 68 ++ bounds_cy = 26 ++ taborder = 11 ++ caption = '(0..100) %' ++ reffontheight = 16 ++ end ++ object cdeDateOfBirth: tdbcalendardatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 18 ++ bounds_y = 224 ++ bounds_cx = 194 ++ bounds_cy = 22 ++ frame.caption = 'Date of birth' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 94 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 5 ++ datafield = 'dateofbirth' ++ datasource = mainfo.dsPersons ++ reffontheight = 16 ++ ma = 73050 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,284 ---- ++ unit editform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,editform; ++ ++ const ++ objdata: record size: integer; data: array[0..5334] of byte end = ++ (size: 5335; data: ( ++ 84,80,70,48,7,116,101,100,105,116,102,111,6,101,100,105,116,102,111,8, ++ 98,111,117,110,100,115,95,120,2,79,8,98,111,117,110,100,115,95,121,3, ++ 171,0,9,98,111,117,110,100,115,95,99,120,3,123,1,9,98,111,117,110, ++ 100,115,95,99,121,3,78,1,23,99,111,110,116,97,105,110,101,114,46,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98, ++ 102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112, ++ 97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,123,1, ++ 19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121, ++ 3,78,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,17,102,111,95, ++ 115,99,114,101,101,110,99,101,110,116,101,114,101,100,13,102,111,95,99,108, ++ 111,115,101,111,110,101,115,99,15,102,111,95,97,117,116,111,114,101,97,100, ++ 115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97, ++ 116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101, ++ 115,116,97,116,101,0,17,105,99,111,110,46,116,114,97,110,115,112,97,114, ++ 101,110,99,121,4,0,0,0,128,8,111,110,99,114,101,97,116,101,7,13, ++ 101,100,105,116,102,111,99,114,101,97,116,101,100,11,111,110,100,101,115,116, ++ 114,111,121,101,100,7,15,101,100,105,116,102,111,100,101,115,116,114,111,121, ++ 101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8, ++ 116,109,115,101,102,111,114,109,0,7,116,98,117,116,116,111,110,5,98,116, ++ 110,79,107,8,98,111,117,110,100,115,95,120,3,152,0,8,98,111,117,110, ++ 100,115,95,121,3,40,1,9,98,111,117,110,100,115,95,99,120,2,90,9, ++ 98,111,117,110,100,115,95,99,121,2,30,17,102,114,97,109,101,46,99,111, ++ 108,111,114,99,108,105,101,110,116,4,22,0,0,160,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108, ++ 111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112, ++ 108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116,111, ++ 110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98, ++ 111,114,100,101,114,2,7,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,0,7,99,97,112,116,105,111,110,6, ++ 3,38,79,107,11,109,111,100,97,108,114,101,115,117,108,116,7,5,109,114, ++ 95,111,107,0,0,7,116,98,117,116,116,111,110,9,98,116,110,67,97,110, ++ 99,101,108,8,98,111,117,110,100,115,95,120,3,56,1,8,98,111,117,110, ++ 100,115,95,121,3,40,1,9,98,111,117,110,100,115,95,99,120,2,58,9, ++ 98,111,117,110,100,115,95,99,121,2,30,14,102,114,97,109,101,46,116,101, ++ 109,112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116, ++ 116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,8,5,115,116,97,116,101,11,15,97,115,95, ++ 108,111,99,97,108,99,97,112,116,105,111,110,0,7,99,97,112,116,105,111, ++ 110,6,7,38,67,97,110,99,101,108,11,109,111,100,97,108,114,101,115,117, ++ 108,116,7,9,109,114,95,99,97,110,99,101,108,0,0,13,116,100,98,115, ++ 116,114,105,110,103,101,100,105,116,6,115,101,78,97,109,101,13,111,112,116, ++ 105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101, ++ 102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119, ++ 95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,12,8,98,111,117,110,100,115, ++ 95,121,2,16,9,98,111,117,110,100,115,95,99,120,3,72,1,9,98,111, ++ 117,110,100,115,95,99,121,2,22,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,4,78,97,109,101,16,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,100,105,115,116,2,15,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,52,2,0,2,0,2,0,0,11,111,112,116, ++ 105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111,110,101, ++ 115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101,95, ++ 99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120,105, ++ 116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116,114,101, ++ 116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20,111,101, ++ 95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13,111, ++ 101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117,116,111, ++ 115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101,99,116, ++ 111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111,116,110, ++ 117,108,108,16,111,101,95,97,117,116,111,112,111,112,117,112,109,101,110,117, ++ 13,111,101,95,107,101,121,101,120,101,99,117,116,101,12,111,101,95,115,97, ++ 118,101,118,97,108,117,101,12,111,101,95,115,97,118,101,115,116,97,116,101, ++ 0,9,100,97,116,97,102,105,101,108,100,6,5,100,101,115,99,114,10,100, ++ 97,116,97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46,100,115, ++ 80,101,114,115,111,110,115,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,16,0,0,11,116,101,110,117,109,101,100,105,116,108,98,9,99,98, ++ 80,108,97,110,101,116,115,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12, ++ 111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115, ++ 95,120,2,16,8,98,111,117,110,100,115,95,121,2,45,9,98,111,117,110, ++ 100,115,95,99,120,3,148,0,9,98,111,117,110,100,115,95,99,121,2,41, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,6,80,108,97,110, ++ 101,116,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97, ++ 109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,19,2,0, ++ 2,0,0,8,116,97,98,111,114,100,101,114,2,9,10,111,110,115,101,116, ++ 118,97,108,117,101,7,13,112,108,97,110,101,116,99,104,97,110,103,101,100, ++ 21,100,114,111,112,100,111,119,110,46,108,111,111,107,117,112,98,117,102,102, ++ 101,114,7,22,114,101,102,115,100,97,116,97,109,111,46,108,98,117,102,80, ++ 108,97,110,101,116,115,19,100,114,111,112,100,111,119,110,46,99,111,108,115, ++ 46,99,111,117,110,116,2,1,19,100,114,111,112,100,111,119,110,46,99,111, ++ 108,115,46,105,116,101,109,115,14,1,0,0,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,16,0,0,11,116,101,110,117,109,101,100,105,116, ++ 108,98,12,99,98,67,111,110,116,105,110,101,110,116,115,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102, ++ 111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,3,184,0,8,98,111,117,110,100,115, ++ 95,121,2,45,9,98,111,117,110,100,115,95,99,120,3,156,0,9,98,111, ++ 117,110,100,115,95,99,121,2,41,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,9,67,111,110,116,105,110,101,110,116,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114, ++ 102,114,97,109,101,1,2,0,2,19,2,0,2,0,0,8,116,97,98,111, ++ 114,100,101,114,2,10,10,111,110,115,101,116,118,97,108,117,101,7,16,99, ++ 111,110,116,105,110,101,110,116,99,104,97,110,103,101,100,21,100,114,111,112, ++ 100,111,119,110,46,108,111,111,107,117,112,98,117,102,102,101,114,7,25,114, ++ 101,102,115,100,97,116,97,109,111,46,108,98,117,102,67,111,110,116,105,110, ++ 101,110,116,115,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,99, ++ 111,117,110,116,2,1,19,100,114,111,112,100,111,119,110,46,99,111,108,115, ++ 46,105,116,101,109,115,14,1,0,0,17,100,114,111,112,100,111,119,110,46, ++ 111,110,102,105,108,116,101,114,7,16,99,111,110,116,105,110,101,110,116,115, ++ 102,105,108,116,101,114,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,16,0,0,13,116,100,98,101,110,117,109,101,100,105,116,108,98,11,99, ++ 98,67,111,117,110,116,114,105,101,115,13,111,112,116,105,111,110,115,119,105, ++ 100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11, ++ 111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119, ++ 102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103, ++ 104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117, ++ 110,100,115,95,120,2,47,8,98,111,117,110,100,115,95,121,2,96,9,98, ++ 111,117,110,100,115,95,99,120,3,45,1,9,98,111,117,110,100,115,95,99, ++ 121,2,22,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,7,67, ++ 111,117,110,116,114,121,16,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,100,105,115,116,2,15,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114, ++ 97,109,101,1,2,65,2,0,2,0,2,0,0,8,116,97,98,111,114,100, ++ 101,114,2,1,13,111,110,100,97,116,97,101,110,116,101,114,101,100,7,14, ++ 99,111,117,110,116,114,121,101,110,116,101,114,101,100,9,100,97,116,97,102, ++ 105,101,108,100,6,10,99,111,117,110,116,114,121,95,105,100,10,100,97,116, ++ 97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46,100,115,80,101, ++ 114,115,111,110,115,21,100,114,111,112,100,111,119,110,46,108,111,111,107,117, ++ 112,98,117,102,102,101,114,7,24,114,101,102,115,100,97,116,97,109,111,46, ++ 108,98,117,102,67,111,117,110,116,114,105,101,115,19,100,114,111,112,100,111, ++ 119,110,46,99,111,108,115,46,99,111,117,110,116,2,1,19,100,114,111,112, ++ 100,111,119,110,46,99,111,108,115,46,105,116,101,109,115,14,1,0,0,17, ++ 100,114,111,112,100,111,119,110,46,111,110,102,105,108,116,101,114,7,15,99, ++ 111,117,110,116,114,105,101,115,102,105,108,116,101,114,13,114,101,102,102,111, ++ 110,116,104,101,105,103,104,116,2,16,0,0,13,116,100,98,101,110,117,109, ++ 101,100,105,116,108,98,13,99,98,79,99,99,117,112,97,116,105,111,110,115, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,26,8,98,111, ++ 117,110,100,115,95,121,3,128,0,9,98,111,117,110,100,115,95,99,120,3, ++ 66,1,9,98,111,117,110,100,115,95,99,121,2,22,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,10,79,99,99,117,112,97,116,105,111,110, ++ 16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99, ++ 112,95,108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 100,105,115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,86, ++ 2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,2,13,111, ++ 110,100,97,116,97,101,110,116,101,114,101,100,7,17,111,99,99,117,112,97, ++ 116,105,111,110,101,110,116,101,114,101,100,9,100,97,116,97,102,105,101,108, ++ 100,6,13,111,99,99,117,112,97,116,105,111,110,95,105,100,10,100,97,116, ++ 97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46,100,115,80,101, ++ 114,115,111,110,115,21,100,114,111,112,100,111,119,110,46,108,111,111,107,117, ++ 112,98,117,102,102,101,114,7,26,114,101,102,115,100,97,116,97,109,111,46, ++ 108,98,117,102,79,99,99,117,112,97,116,105,111,110,115,19,100,114,111,112, ++ 100,111,119,110,46,99,111,108,115,46,99,111,117,110,116,2,1,19,100,114, ++ 111,112,100,111,119,110,46,99,111,108,115,46,105,116,101,109,115,14,1,0, ++ 0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,16,0,0,13, ++ 116,100,98,101,110,117,109,101,100,105,116,108,98,10,99,98,70,101,97,116, ++ 117,114,101,115,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 48,8,98,111,117,110,100,115,95,121,3,160,0,9,98,111,117,110,100,115, ++ 95,99,120,3,44,1,9,98,111,117,110,100,115,95,99,121,2,22,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,7,70,101,97,116,117,114, ++ 101,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7, ++ 99,112,95,108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,100,105,115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2, ++ 64,2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,3,13, ++ 111,110,100,97,116,97,101,110,116,101,114,101,100,7,14,102,101,97,116,117, ++ 114,101,101,110,116,101,114,101,100,9,100,97,116,97,102,105,101,108,100,6, ++ 10,102,101,97,116,117,114,101,95,105,100,10,100,97,116,97,115,111,117,114, ++ 99,101,7,16,109,97,105,110,102,111,46,100,115,80,101,114,115,111,110,115, ++ 21,100,114,111,112,100,111,119,110,46,108,111,111,107,117,112,98,117,102,102, ++ 101,114,7,23,114,101,102,115,100,97,116,97,109,111,46,108,98,117,102,70, ++ 101,97,116,117,114,101,115,19,100,114,111,112,100,111,119,110,46,99,111,108, ++ 115,46,99,111,117,110,116,2,1,19,100,114,111,112,100,111,119,110,46,99, ++ 111,108,115,46,105,116,101,109,115,14,1,0,0,13,114,101,102,102,111,110, ++ 116,104,101,105,103,104,116,2,16,0,0,11,116,100,98,114,101,97,108,101, ++ 100,105,116,14,114,101,83,101,120,80,111,116,101,110,116,105,111,110,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103, ++ 108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99, ++ 97,108,101,0,8,98,111,117,110,100,115,95,120,2,4,8,98,111,117,110, ++ 100,115,95,121,3,192,0,9,98,111,117,110,100,115,95,99,120,3,160,0, ++ 9,98,111,117,110,100,115,95,99,121,2,22,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,14,83,101,120,46,32,112,111,116,101,110,116,105, ++ 111,110,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7, ++ 7,99,112,95,108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,108,2,0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,4, ++ 12,111,110,99,104,101,99,107,118,97,108,117,101,7,22,115,101,120,112,111, ++ 116,101,110,116,105,111,110,99,104,101,99,107,118,97,108,117,101,9,100,97, ++ 116,97,102,105,101,108,100,6,16,115,101,120,117,97,108,95,112,111,116,101, ++ 110,116,105,111,110,10,100,97,116,97,115,111,117,114,99,101,7,16,109,97, ++ 105,110,102,111,46,100,115,80,101,114,115,111,110,115,10,102,111,114,109,97, ++ 116,101,100,105,116,6,5,35,35,46,35,35,10,102,111,114,109,97,116,100, ++ 105,115,112,6,5,35,35,46,35,35,13,114,101,102,102,111,110,116,104,101, ++ 105,103,104,116,2,16,0,0,18,116,100,98,98,111,111,108,101,97,110,116, ++ 101,120,116,101,100,105,116,7,98,101,72,97,112,112,121,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102, ++ 111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,2,45,8,98,111,117,110,100,115,95, ++ 121,3,0,1,9,98,111,117,110,100,115,95,99,120,3,167,0,9,98,111, ++ 117,110,100,115,95,99,121,2,22,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,7,72,97,112,112,121,32,63,16,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,15,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111, ++ 117,116,101,114,102,114,97,109,101,1,2,67,2,0,2,0,2,0,0,8, ++ 116,97,98,111,114,100,101,114,2,6,10,116,101,120,116,95,102,97,108,115, ++ 101,18,3,0,0,0,35,4,50,4,75,4,9,116,101,120,116,95,116,114, ++ 117,101,18,7,0,0,0,21,4,73,4,53,4,32,0,58,4,48,4,58, ++ 4,9,100,97,116,97,102,105,101,108,100,6,8,105,102,95,104,97,112,112, ++ 121,10,100,97,116,97,115,111,117,114,99,101,7,16,109,97,105,110,102,111, ++ 46,100,115,80,101,114,115,111,110,115,13,114,101,102,102,111,110,116,104,101, ++ 105,103,104,116,2,16,0,0,6,116,108,97,98,101,108,17,108,98,108,68, ++ 97,116,101,70,111,114,109,97,116,72,105,110,116,8,98,111,117,110,100,115, ++ 95,120,3,224,0,8,98,111,117,110,100,115,95,121,3,224,0,9,98,111, ++ 117,110,100,115,95,99,121,2,26,8,116,97,98,111,114,100,101,114,2,12, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,16,0,0,6,116, ++ 108,97,98,101,108,19,108,98,108,83,101,120,80,111,116,101,110,116,105,111, ++ 110,72,105,110,116,8,98,111,117,110,100,115,95,120,3,176,0,8,98,111, ++ 117,110,100,115,95,121,3,192,0,9,98,111,117,110,100,115,95,99,120,2, ++ 68,9,98,111,117,110,100,115,95,99,121,2,26,8,116,97,98,111,114,100, ++ 101,114,2,11,7,99,97,112,116,105,111,110,6,10,40,48,46,46,49,48, ++ 48,41,32,37,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,16, ++ 0,0,23,116,100,98,99,97,108,101,110,100,97,114,100,97,116,101,116,105, ++ 109,101,101,100,105,116,14,99,100,101,68,97,116,101,79,102,66,105,114,116, ++ 104,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95, ++ 109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,2,18,8,98,111,117,110,100,115,95, ++ 121,3,224,0,9,98,111,117,110,100,115,95,99,120,3,194,0,9,98,111, ++ 117,110,100,115,95,99,121,2,22,13,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,6,13,68,97,116,101,32,111,102,32,98,105,114,116,104,16,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95, ++ 108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105, ++ 115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102, ++ 114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,94,2,0, ++ 2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,5,9,100,97,116, ++ 97,102,105,101,108,100,6,11,100,97,116,101,111,102,98,105,114,116,104,10, ++ 100,97,116,97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46,100, ++ 115,80,101,114,115,111,110,115,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,16,2,109,97,4,90,29,1,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,teditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/editform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/editform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,164 ---- ++ unit editform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,msedbedit,mselookupbuffer, ++ msedataedits,msedb; ++ ++ type ++ teditfo = class(tmseform) ++ btnOk: tbutton; ++ btnCancel: tbutton; ++ seName: tdbstringedit; ++ cbPlanets: tenumeditlb; ++ cbContinents: tenumeditlb; ++ cbCountries: tdbenumeditlb; ++ cbOccupations: tdbenumeditlb; ++ cbFeatures: tdbenumeditlb; ++ reSexPotention: tdbrealedit; ++ beHappy: tdbbooleantextedit; ++ lblDateFormatHint: tlabel; ++ lblSexPotentionHint: tlabel; ++ cdeDateOfBirth: tdbcalendardatetimeedit; ++ procedure editfocreated(const sender: TObject); ++ procedure editfodestroyed(const sender: TObject); ++ procedure countryentered(const sender: TObject); ++ procedure occupationentered(const sender: TObject); ++ procedure featureentered(const sender: TObject); ++ procedure continentchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure planetchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure continentsfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ procedure countriesfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ procedure sexpotentioncheckvalue(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ ++ end; ++ var ++ editfo: teditfo; ++ ++ implementation ++ ++ uses ++ editform_mfm, ++ refsdatamodule, ++ main, ++ sysutils, ++ msewidgets ++ ; ++ ++ ++ procedure teditfo.editfocreated(const sender: TObject); ++ var ++ int1: integer; ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ ++ if refsdatamo.lbufCountries.findphys(0,integer(cbCountries.value),int1) then begin ++ cbContinents.value:= refsdatamo.lbufCountries.integervaluephys(1,int1); ++ end; ++ ++ if refsdatamo.lbufContinents.findphys(0,integer(cbContinents.value),int1) then begin ++ cbPlanets.value:= refsdatamo.lbufContinents.integervaluephys(1,int1); ++ end; ++ ++ lblDateFormatHint.caption:= '( ' + uppercase(ShortDateFormat) + ' )'; ++ end; ++ ++ procedure teditfo.editfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure teditfo.countryentered(const sender: TObject); ++ begin ++ mainfo.fldCountry.value:= cbCountries.text; ++ end; ++ ++ procedure teditfo.occupationentered(const sender: TObject); ++ begin ++ mainfo.fldOccupation.value:= cbOccupations.text; ++ end; ++ ++ procedure teditfo.featureentered(const sender: TObject); ++ begin ++ mainfo.fldFeature.value:= cbFeatures.text; ++ end; ++ ++ procedure teditfo.continentchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ if avalue <> (sender as tenumeditlb).value then begin ++ mainfo.fldCountry.clear; ++ mainfo.fldCountryId.clear; ++ end; ++ end; ++ ++ procedure teditfo.planetchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ if avalue <> (sender as tenumeditlb).value then begin ++ cbContinents.value:= -1; ++ mainfo.fldCountry.clear; ++ mainfo.fldCountryId.clear; ++ end; ++ end; ++ ++ procedure teditfo.continentsfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ begin ++ valid:= ++ (cbPlanets.value = -1) ++ or ++ (sender.integervalue[1,physindex] = cbPlanets.value); ++ end; ++ ++ procedure teditfo.countriesfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ begin ++ ++ if cbPlanets.value = -1 then begin ++ if cbContinents.value = -1 then begin ++ valid:= true; ++ end else begin ++ valid:= sender.integervalue[1,physindex] = cbContinents.value; ++ end; ++ end else begin ++ if cbContinents.value = -1 then begin ++ valid:= false; ++ end else begin ++ valid:= sender.integervalue[1,physindex] = cbContinents.value; ++ end; ++ end; ++ ++ end; ++ ++ procedure teditfo.sexpotentioncheckvalue(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ var ++ f1: double; ++ begin ++ try ++ f1:= StrToFloat(sender.text); ++ if (f1 < 0) or (f1 > 100) then begin ++ accept:= false; ++ showmessage('Percent of people sexual potention should be in range 0..100','Invalid Input',150); ++ end; ++ except ++ on EConvertError do begin ++ if sender.text <> '' then begin ++ accept:= false; ++ showmessage('Percent value 0..100% step 0'+ DecimalSeparator +'01 expected here','Invalid Input',150); ++ end; ++ end; ++ end; ++ ++ end; ++ ++ ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,139 ---- ++ object featureseditfo: tfeatureseditfo ++ bounds_x = 30 ++ bounds_y = 142 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Features editor' ++ icon.transparency = -2147483648 ++ oncreate = featureseditfocreated ++ ondestroy = featureseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdFeatures: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsFeatures ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 20 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Feature name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 336 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seFeature' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdfeaturesupdaterowdata ++ datarowheight = 22 ++ reffontheight = 16 ++ object seFeature: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_cx = 336 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsFeatures ++ reffontheight = 16 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,165 ---- ++ unit featureseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,featureseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2958] of byte end = ++ (size: 2959; data: ( ++ 84,80,70,48,15,116,102,101,97,116,117,114,101,115,101,100,105,116,102,111, ++ 14,102,101,97,116,117,114,101,115,101,100,105,116,102,111,8,98,111,117,110, ++ 100,115,95,120,2,30,8,98,111,117,110,100,115,95,121,3,142,0,9,98, ++ 111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99, ++ 121,3,66,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117, ++ 115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110, ++ 116,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,19,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,99,120,3,146,1,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,121,3,66,1,21,99,111,110,116,97,105, ++ 110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,7,111,112, ++ 116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116, ++ 101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116, ++ 16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111, ++ 95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116, ++ 101,0,7,99,97,112,116,105,111,110,6,15,70,101,97,116,117,114,101,115, ++ 32,101,100,105,116,111,114,17,105,99,111,110,46,116,114,97,110,115,112,97, ++ 114,101,110,99,121,4,0,0,0,128,8,111,110,99,114,101,97,116,101,7, ++ 21,102,101,97,116,117,114,101,115,101,100,105,116,102,111,99,114,101,97,116, ++ 101,100,9,111,110,100,101,115,116,114,111,121,7,23,102,101,97,116,117,114, ++ 101,115,101,100,105,116,102,111,100,101,115,116,114,111,121,101,100,15,109,111, ++ 100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102, ++ 111,114,109,0,244,17,116,99,111,109,109,111,110,114,101,102,115,101,100,105, ++ 116,102,111,17,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111, ++ 49,9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110,100, ++ 115,95,99,121,3,66,1,19,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,99,120,3,146,1,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,121,3,66,1,21,99,111,110,116,97,105, ++ 110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,17,105,99, ++ 111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128, ++ 0,241,7,116,98,117,116,116,111,110,10,98,116,110,83,97,118,101,65,108, ++ 108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111, ++ 114,100,101,114,2,8,5,115,116,97,116,101,11,11,97,115,95,100,105,115, ++ 97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0, ++ 0,0,241,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68,111,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,7,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98, ++ 108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17, ++ 97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0, ++ 241,7,116,98,117,116,116,111,110,6,98,116,110,65,100,100,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 5,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117, ++ 116,101,0,0,0,241,7,116,98,117,116,116,111,110,9,98,116,110,68,101, ++ 108,101,116,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,4,5,115,116,97,116,101,11,11,97,115,95, ++ 100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117, ++ 116,101,0,0,0,241,7,116,98,117,116,116,111,110,8,98,116,110,67,108, ++ 111,115,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,0,0,241,7,116,98,117,116,116,111,110,10, ++ 98,116,110,85,110,68,111,65,108,108,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,6,5,115,116,97,116, ++ 101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,0,0,241,6,116,108,97,98,101,108,14, ++ 108,98,108,65,100,100,101,100,76,101,103,101,110,100,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,0, ++ 0,241,6,116,108,97,98,101,108,16,108,98,108,67,104,97,110,103,101,100, ++ 76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,1,0,0,242,2,8,13,116,100,98, ++ 119,105,100,103,101,116,103,114,105,100,11,103,114,100,70,101,97,116,117,114, ++ 101,115,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119, ++ 95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121, ++ 2,8,9,98,111,117,110,100,115,95,99,120,3,130,1,9,98,111,117,110, ++ 100,115,95,99,121,3,218,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6, ++ 97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,0,10,100,97,116, ++ 97,115,111,117,114,99,101,7,21,114,101,102,115,100,97,116,97,109,111,46, ++ 100,115,70,101,97,116,117,114,101,115,13,102,105,120,99,111,108,115,46,99, ++ 111,117,110,116,2,1,13,102,105,120,99,111,108,115,46,105,116,101,109,115, ++ 14,1,5,119,105,100,116,104,2,29,8,110,117,109,115,116,97,114,116,2, ++ 1,7,110,117,109,115,116,101,112,2,1,0,0,13,102,105,120,114,111,119, ++ 115,46,99,111,117,110,116,2,1,13,102,105,120,114,111,119,115,46,105,116, ++ 101,109,115,14,1,5,99,111,108,111,114,4,20,0,0,160,6,104,101,105, ++ 103,104,116,2,20,14,99,97,112,116,105,111,110,115,46,99,111,117,110,116, ++ 2,1,14,99,97,112,116,105,111,110,115,46,105,116,101,109,115,14,1,7, ++ 99,97,112,116,105,111,110,6,12,70,101,97,116,117,114,101,32,110,97,109, ++ 101,0,0,17,99,97,112,116,105,111,110,115,102,105,120,46,99,111,117,110, ++ 116,2,1,17,99,97,112,116,105,111,110,115,102,105,120,46,105,116,101,109, ++ 115,14,1,7,99,97,112,116,105,111,110,18,1,0,0,0,22,33,0,0, ++ 0,0,15,114,111,119,99,111,108,111,114,115,46,99,111,117,110,116,2,2, ++ 15,114,111,119,99,111,108,111,114,115,46,105,116,101,109,115,1,4,0,192, ++ 255,0,4,8,0,0,160,0,14,100,97,116,97,99,111,108,115,46,99,111, ++ 117,110,116,2,1,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115, ++ 14,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116, ++ 2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,5,119,105,100,116,104,3,80,1,7,111,112,116,105, ++ 111,110,115,11,7,99,111,95,102,105,108,108,12,99,111,95,115,97,118,101, ++ 118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99, ++ 111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111, ++ 114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,0,10,119,105,100, ++ 103,101,116,110,97,109,101,6,9,115,101,70,101,97,116,117,114,101,0,0, ++ 16,100,97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103, ++ 100,111,95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111, ++ 95,116,104,117,109,98,116,114,97,99,107,0,24,100,97,116,97,108,105,110, ++ 107,46,111,110,117,112,100,97,116,101,114,111,119,100,97,116,97,7,24,103, ++ 114,100,102,101,97,116,117,114,101,115,117,112,100,97,116,101,114,111,119,100, ++ 97,116,97,13,100,97,116,97,114,111,119,104,101,105,103,104,116,2,22,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,16,0,13,116,100,98, ++ 115,116,114,105,110,103,101,100,105,116,9,115,101,70,101,97,116,117,114,101, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,0,9,98,111,117,110,100,115,95,99,120,3,80,1, ++ 9,98,111,117,110,100,115,95,99,121,2,22,12,102,114,97,109,101,46,108, ++ 101,118,101,108,111,2,0,17,102,114,97,109,101,46,99,111,108,111,114,99, ++ 108,105,101,110,116,4,3,0,0,128,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,7,118,105,115,105,98,108,101,8,11, ++ 111,112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111, ++ 111,110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16, ++ 111,101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95, ++ 101,120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102, ++ 116,114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110, ++ 20,111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105, ++ 116,13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97, ++ 117,116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108, ++ 101,99,116,111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110, ++ 111,116,110,117,108,108,11,111,101,95,97,117,116,111,112,111,115,116,16,111, ++ 101,95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107, ++ 101,121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108, ++ 117,101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116, ++ 97,102,105,101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111, ++ 117,114,99,101,7,21,114,101,102,115,100,97,116,97,109,111,46,100,115,70, ++ 101,97,116,117,114,101,115,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,16,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,83, ++ 97,118,101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97,99, ++ 116,85,110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99,116, ++ 65,100,100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68,101, ++ 108,101,116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117,114, ++ 99,101,10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97,99, ++ 116,105,111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tfeatureseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/featureseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/featureseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit featureseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db, ++ msedataedits; ++ ++ type ++ tfeatureseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdFeatures: tdbwidgetgrid; ++ seFeature: tdbstringedit; ++ procedure featureseditfocreated(const sender: TObject); ++ procedure featureseditfodestroyed(const sender: TObject); ++ procedure grdfeaturesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ featureseditfo: tfeatureseditfo; ++ ++ implementation ++ uses ++ featureseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure tfeatureseditfo.featureseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdFeatures.datasource.dataset; ++ end; ++ ++ procedure tfeatureseditfo.featureseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tfeatureseditfo.grdfeaturesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,616 ---- ++ object mainfo: tmainfo ++ bounds_x = 35 ++ bounds_y = 146 ++ bounds_cx = 707 ++ bounds_cy = 401 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 22 ++ container.bounds_cx = 707 ++ container.bounds_cy = 379 ++ container.frame.dummy = 0 ++ container.taborder = 1 ++ optionswindow = [wo_groupleader] ++ mainmenu = mnuMain ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'The Galaxy Data Keeper' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object grdPersons: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_hinton, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 689 ++ bounds_cy = 306 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ popupmenu = pupPersons ++ datasource = dsPersons ++ optionsgrid = [og_colsizing, og_focuscellonenter, og_autofirstrow, og_colchangeontabkey, og_autopopup] ++ datacols.count = 7 ++ datacols.colorselect = -1610612713 ++ datacols.options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datacols.optionsedit = [scoe_undoonesc, scoe_eatreturn, scoe_autoselect, scoe_autoselectonfirstclick, scoe_caretonreadonly] ++ datacols.items = < ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ width = 133 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ onshowhint = shownamehint ++ datafield = 'descr' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ width = 101 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'country' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ width = 89 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'occupation' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ width = 94 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'feature' ++ end ++ item ++ frame.framei_right = 5 ++ frame.localprops = [frl_firight] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ width = 70 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'sexual_potention' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ colorselect = -1610612713 ++ width = 89 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'dateofbirth' ++ textflags = [tf_xcentered, tf_ycentered, tf_noselect] ++ end ++ item ++ colorselect = -1610612713 ++ width = 54 ++ options = [co_readonly, co_focusselect, co_rowselect, co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'if_happy' ++ textflags = [tf_xcentered, tf_ycentered, tf_noselect] ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 32 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ frame.levelo = 1 ++ frame.leveli = -1 ++ frame.colorclient = -1610612716 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_fitop, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ height = 36 ++ captions.count = 7 ++ captions.items = < ++ item ++ caption = 'Name' ++ end ++ item ++ caption = 'Country' ++ end ++ item ++ caption = 'Occupation' ++ end ++ item ++ caption = 'Feature' ++ end ++ item ++ caption = 'Sexual'#13#10'potention' ++ end ++ item ++ caption = 'Date of'#13#10'birth' ++ end ++ item ++ caption = 'Happy?' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ datarowheight = 16 ++ oncellevent = personsevent ++ reffontheight = 14 ++ end ++ object btnExit: tbutton ++ bounds_x = 639 ++ bounds_y = 341 ++ bounds_cx = 58 ++ bounds_cy = 29 ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 1 ++ state = [as_localcaption] ++ action = actExit ++ caption = 'E&xit' ++ end ++ object btnEdit: tbutton ++ bounds_x = 214 ++ bounds_y = 335 ++ bounds_cx = 71 ++ bounds_cy = 30 ++ frame.colorclient = 13172680 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 2 ++ state = [as_localcaption] ++ action = actEdit ++ caption = '&Edit..' ++ end ++ object btnAdd: tbutton ++ bounds_x = 326 ++ bounds_y = 335 ++ bounds_cx = 79 ++ bounds_cy = 30 ++ frame.colorclient = 13158655 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 3 ++ state = [as_localcaption] ++ action = actAdd ++ caption = '&Add..' ++ end ++ object btnDelete: tbutton ++ bounds_x = 446 ++ bounds_y = 335 ++ bounds_cx = 79 ++ bounds_cy = 30 ++ frame.colorclient = 16763080 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 4 ++ state = [as_localcaption] ++ action = actDelete ++ caption = '&Delete..' ++ end ++ object conn: tmsepqconnection ++ Connected = True ++ DatabaseName = 'serious_matters' ++ Params.Strings = ( ++ 'options=''--CLIENT_ENCODING=koi8''' ++ ) ++ Password = 'all' ++ Transaction = trans ++ UserName = 'worldadmin' ++ HostName = 'localhost' ++ options = [pqco_closetransactiononfail] ++ left = 16 ++ top = 344 ++ end ++ object trans: tmsesqltransaction ++ Active = True ++ Database = conn ++ Params.Strings = ( ++ '' ++ ) ++ left = 16 ++ top = 368 ++ end ++ object qryPersons: tmsesqlquery ++ Active = True ++ Database = conn ++ Transaction = trans ++ SQL.Strings = ( ++ 'select' ++ ' a.id,' ++ ' a.feature_id,' ++ ' a.occupation_id,' ++ ' a.country_id,' ++ ' a.descr,' ++ ' a.sexual_potention ,' ++ ' a.photo,' ++ ' b.descr as country,' ++ ' c.descr as occupation,' ++ ' d.descr as feature,' ++ ' a.if_happy,' ++ 'a.dateofbirth' ++ 'from persons a left outer join ' ++ 'countries b on a.country_id=b.id left outer join ' ++ 'occupations c on a.occupation_id=c.id left outer join ' ++ 'features d on a.feature_id=d.id ' ++ 'order by a.id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'feature_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'occupation_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'country_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'sexual_potention' ++ DataType = ftFloat ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'photo' ++ DataType = ftBlob ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'country' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'occupation' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'feature' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'if_happy' ++ DataType = ftBoolean ++ Precision = -1 ++ Size = 1 ++ end ++ item ++ Name = 'dateofbirth' ++ DataType = ftDate ++ Precision = -1 ++ Size = 8 ++ end> ++ onapplyrecupdate = personsupdate ++ left = 80 ++ top = 344 ++ object fldSexPotention: tmsefloatfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'sexual_potention' ++ DisplayFormat = '##.##' ++ left = 432 ++ top = 114 ++ end ++ object fldHappy: tmsebooleanfield ++ DisplayWidth = 3 ++ FieldName = 'if_happy' ++ Index = 1 ++ displayvalues = #1044#1072';'#1053#1077#1090 ++ left = 600 ++ top = 98 ++ end ++ object fldCountryId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'country_id' ++ Index = 2 ++ left = 176 ++ top = 98 ++ end ++ object fldOccupationId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'occupation_id' ++ Index = 3 ++ left = 272 ++ top = 162 ++ end ++ object fldFeatureId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'feature_id' ++ Index = 4 ++ left = 376 ++ top = 90 ++ end ++ object fldPersonId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 5 ++ left = 184 ++ top = 336 ++ end ++ object fldDateOfBirth: tmsedatefield ++ DisplayWidth = 10 ++ FieldName = 'dateofbirth' ++ Index = 6 ++ left = 520 ++ top = 72 ++ end ++ object fldName: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 7 ++ Size = 4 ++ Transliterate = False ++ left = 80 ++ top = 110 ++ end ++ object fldCountry: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'country' ++ Index = 8 ++ Size = 4 ++ Transliterate = False ++ left = 168 ++ top = 118 ++ end ++ object fldOccupation: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'occupation' ++ Index = 9 ++ Size = 4 ++ Transliterate = False ++ left = 272 ++ top = 182 ++ end ++ object fldFeature: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'feature' ++ Index = 10 ++ Size = 4 ++ Transliterate = False ++ left = 360 ++ top = 134 ++ end ++ end ++ object fldName1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'descr' ++ Index = -1 ++ left = 104 ++ top = 82 ++ end ++ object fldCountry1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'country' ++ Index = -1 ++ left = 184 ++ top = 66 ++ end ++ object fldOccupation1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'occupation' ++ Index = -1 ++ left = 272 ++ top = 130 ++ end ++ object fldFeature1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'feature' ++ Index = -1 ++ left = 384 ++ top = 66 ++ end ++ object dsPersons: tmsedatasource ++ DataSet = qryPersons ++ left = 88 ++ top = 368 ++ end ++ object actExit: taction ++ shortcut = 16465 ++ onexecute = appexit ++ left = 24 ++ end ++ object mnuMain: tmainmenu ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ action = actExit ++ caption = 'E&xit' ++ state = [as_localcaption] ++ end> ++ caption = '&File..' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 5 ++ submenu.items = < ++ item ++ action = actPlanetsEdit ++ caption = '&Planets..' ++ state = [as_localcaption] ++ end ++ item ++ action = actContinentsEdit ++ caption = '&Continents..' ++ state = [as_localcaption] ++ end ++ item ++ action = actCountriesEdit ++ caption = 'C&ountries..' ++ state = [as_localcaption] ++ end ++ item ++ action = actFeaturesEdit ++ caption = '&Features..' ++ state = [as_localcaption] ++ end ++ item ++ action = actOccupationsEdit ++ caption = '&Occupations..' ++ state = [as_localcaption] ++ end> ++ caption = 'Ed&it..' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ action = actShowAbout ++ caption = '&About program..' ++ state = [as_localcaption] ++ end> ++ caption = '&Help' ++ state = [as_localcaption] ++ end> ++ menu.font.height = 13 ++ menu.font.name = 'stf_helvetica' ++ menu.font.dummy = 0 ++ itemframetemplate = ftMainMenuItem ++ popupitemframetemplate = ftMainMenuPopupItem ++ left = 336 ++ end ++ object ftMainMenuItem: tframecomp ++ template.framei_left = 10 ++ template.framei_top = 5 ++ template.framei_right = 50 ++ left = 416 ++ top = 1 ++ end ++ object actEdit: taction ++ shortcut = 16453 ++ onexecute = editformshow ++ left = 216 ++ top = 290 ++ end ++ object actAdd: taction ++ shortcut = 20486 ++ onexecute = addformshow ++ left = 320 ++ top = 290 ++ end ++ object actDelete: taction ++ shortcut = 16452 ++ onexecute = deleterecord ++ left = 440 ++ top = 290 ++ end ++ object pupPersons: tpopupmenu ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ action = actEdit ++ caption = '&Edit record..' ++ state = [as_localcaption] ++ end ++ item ++ action = actAdd ++ caption = '&Add record..' ++ state = [as_localcaption] ++ end ++ item ++ action = actDelete ++ caption = '&Delete record..' ++ state = [as_localcaption] ++ end> ++ left = 368 ++ top = 234 ++ end ++ object ftButtons: tframecomp ++ template.levelo = -1 ++ template.leveli = 2 ++ template.colorclient = -1610612712 ++ left = 544 ++ top = 354 ++ end ++ object actPlanetsEdit: taction ++ onexecute = planetseditexecute ++ left = 104 ++ top = 162 ++ end ++ object actContinentsEdit: taction ++ onexecute = continentseditexecute ++ left = 104 ++ top = 186 ++ end ++ object actCountriesEdit: taction ++ onexecute = countrieseditexecute ++ left = 104 ++ top = 210 ++ end ++ object actFeaturesEdit: taction ++ onexecute = featureseditexecute ++ left = 104 ++ top = 234 ++ end ++ object actOccupationsEdit: taction ++ onexecute = occupationseditexecute ++ left = 104 ++ top = 258 ++ end ++ object actShowAbout: taction ++ onexecute = showaboutexecute ++ left = 216 ++ top = 2 ++ end ++ object ftMainMenuPopupItem: tframecomp ++ template.framei_left = 10 ++ template.framei_top = 1 ++ template.framei_right = 2 ++ template.framei_bottom = 1 ++ left = 536 ++ top = 2 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,532 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..10298] of byte end = ++ (size: 10299; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,8, ++ 98,111,117,110,100,115,95,120,2,35,8,98,111,117,110,100,115,95,121,3, ++ 146,0,9,98,111,117,110,100,115,95,99,120,3,195,2,9,98,111,117,110, ++ 100,115,95,99,121,3,145,1,23,99,111,110,116,97,105,110,101,114,46,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95,115,117,98, ++ 102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97,110,115,112, ++ 97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,0,18,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,22,19, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3, ++ 195,2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,121,3,123,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,18,99,111,110,116,97,105,110,101,114,46, ++ 116,97,98,111,114,100,101,114,2,1,13,111,112,116,105,111,110,115,119,105, ++ 110,100,111,119,11,14,119,111,95,103,114,111,117,112,108,101,97,100,101,114, ++ 0,8,109,97,105,110,109,101,110,117,7,7,109,110,117,77,97,105,110,10, ++ 102,111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115, ++ 11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110,97, ++ 116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114,101,97, ++ 100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116, ++ 97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118, ++ 101,115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,22,84,104,101, ++ 32,71,97,108,97,120,121,32,68,97,116,97,32,75,101,101,112,101,114,17, ++ 105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8, ++ 116,109,115,101,102,111,114,109,0,13,116,100,98,115,116,114,105,110,103,103, ++ 114,105,100,10,103,114,100,80,101,114,115,111,110,115,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97, ++ 99,107,111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101, ++ 108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9, ++ 111,119,95,104,105,110,116,111,110,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115, ++ 95,121,2,8,9,98,111,117,110,100,115,95,99,120,3,177,2,9,98,111, ++ 117,110,100,115,95,99,121,3,50,1,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102, ++ 116,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,9,97,110, ++ 95,98,111,116,116,111,109,0,9,112,111,112,117,112,109,101,110,117,7,10, ++ 112,117,112,80,101,114,115,111,110,115,10,100,97,116,97,115,111,117,114,99, ++ 101,7,9,100,115,80,101,114,115,111,110,115,11,111,112,116,105,111,110,115, ++ 103,114,105,100,11,12,111,103,95,99,111,108,115,105,122,105,110,103,19,111, ++ 103,95,102,111,99,117,115,99,101,108,108,111,110,101,110,116,101,114,15,111, ++ 103,95,97,117,116,111,102,105,114,115,116,114,111,119,20,111,103,95,99,111, ++ 108,99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95,97, ++ 117,116,111,112,111,112,117,112,0,14,100,97,116,97,99,111,108,115,46,99, ++ 111,117,110,116,2,7,20,100,97,116,97,99,111,108,115,46,99,111,108,111, ++ 114,115,101,108,101,99,116,4,23,0,0,160,16,100,97,116,97,99,111,108, ++ 115,46,111,112,116,105,111,110,115,11,11,99,111,95,114,101,97,100,111,110, ++ 108,121,14,99,111,95,102,111,99,117,115,115,101,108,101,99,116,12,99,111, ++ 95,114,111,119,115,101,108,101,99,116,15,99,111,95,112,114,111,112,111,114, ++ 116,105,111,110,97,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12, ++ 99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102, ++ 111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122, ++ 101,98,114,97,99,111,108,111,114,17,99,111,95,109,111,117,115,101,115,99, ++ 114,111,108,108,114,111,119,0,20,100,97,116,97,99,111,108,115,46,111,112, ++ 116,105,111,110,115,101,100,105,116,11,14,115,99,111,101,95,117,110,100,111, ++ 111,110,101,115,99,14,115,99,111,101,95,101,97,116,114,101,116,117,114,110, ++ 15,115,99,111,101,95,97,117,116,111,115,101,108,101,99,116,27,115,99,111, ++ 101,95,97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115,116,99, ++ 108,105,99,107,20,115,99,111,101,95,99,97,114,101,116,111,110,114,101,97, ++ 100,111,110,108,121,0,14,100,97,116,97,99,111,108,115,46,105,116,101,109, ++ 115,14,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102, ++ 116,2,5,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116,4, ++ 23,0,0,160,5,119,105,100,116,104,3,133,0,7,111,112,116,105,111,110, ++ 115,11,11,99,111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111, ++ 99,117,115,115,101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101, ++ 99,116,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99, ++ 111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115, ++ 116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114, ++ 111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111, ++ 114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0, ++ 10,111,110,115,104,111,119,104,105,110,116,7,12,115,104,111,119,110,97,109, ++ 101,104,105,110,116,9,100,97,116,97,102,105,101,108,100,6,5,100,101,115, ++ 99,114,0,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101, ++ 102,116,2,5,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116, ++ 4,23,0,0,160,5,119,105,100,116,104,2,101,7,111,112,116,105,111,110, ++ 115,11,11,99,111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111, ++ 99,117,115,115,101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101, ++ 99,116,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99, ++ 111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115, ++ 116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114, ++ 111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111, ++ 114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0, ++ 9,100,97,116,97,102,105,101,108,100,6,7,99,111,117,110,116,114,121,0, ++ 1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2, ++ 5,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0, ++ 0,160,5,119,105,100,116,104,2,89,7,111,112,116,105,111,110,115,11,11, ++ 99,111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115, ++ 115,101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,15, ++ 99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99,111,95,115, ++ 97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116, ++ 101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99, ++ 111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99, ++ 111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97, ++ 116,97,102,105,101,108,100,6,10,111,99,99,117,112,97,116,105,111,110,0, ++ 1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2, ++ 5,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0, ++ 0,160,5,119,105,100,116,104,2,94,7,111,112,116,105,111,110,115,11,11, ++ 99,111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115, ++ 115,101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,15, ++ 99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99,111,95,115, ++ 97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116, ++ 101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99, ++ 111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99, ++ 111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97, ++ 116,97,102,105,101,108,100,6,7,102,101,97,116,117,114,101,0,1,18,102, ++ 114,97,109,101,46,102,114,97,109,101,105,95,114,105,103,104,116,2,5,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,11,102,114, ++ 108,95,102,105,114,105,103,104,116,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0,0, ++ 160,5,119,105,100,116,104,2,70,7,111,112,116,105,111,110,115,11,11,99, ++ 111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115,115, ++ 101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,15,99, ++ 111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99,111,95,115,97, ++ 118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101, ++ 10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111, ++ 108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111, ++ 95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97,116, ++ 97,102,105,101,108,100,6,16,115,101,120,117,97,108,95,112,111,116,101,110, ++ 116,105,111,110,9,116,101,120,116,102,108,97,103,115,11,8,116,102,95,114, ++ 105,103,104,116,12,116,102,95,121,99,101,110,116,101,114,101,100,11,116,102, ++ 95,110,111,115,101,108,101,99,116,0,0,1,11,99,111,108,111,114,115,101, ++ 108,101,99,116,4,23,0,0,160,5,119,105,100,116,104,2,89,7,111,112, ++ 116,105,111,110,115,11,11,99,111,95,114,101,97,100,111,110,108,121,14,99, ++ 111,95,102,111,99,117,115,115,101,108,101,99,116,12,99,111,95,114,111,119, ++ 115,101,108,101,99,116,15,99,111,95,112,114,111,112,111,114,116,105,111,110, ++ 97,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115, ++ 97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11, ++ 99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97, ++ 99,111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108, ++ 114,111,119,0,9,100,97,116,97,102,105,101,108,100,6,11,100,97,116,101, ++ 111,102,98,105,114,116,104,9,116,101,120,116,102,108,97,103,115,11,12,116, ++ 102,95,120,99,101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116, ++ 101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0,0,1,11, ++ 99,111,108,111,114,115,101,108,101,99,116,4,23,0,0,160,5,119,105,100, ++ 116,104,2,54,7,111,112,116,105,111,110,115,11,11,99,111,95,114,101,97, ++ 100,111,110,108,121,14,99,111,95,102,111,99,117,115,115,101,108,101,99,116, ++ 12,99,111,95,114,111,119,115,101,108,101,99,116,7,99,111,95,102,105,108, ++ 108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97, ++ 118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99, ++ 111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99, ++ 111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114, ++ 111,119,0,9,100,97,116,97,102,105,101,108,100,6,8,105,102,95,104,97, ++ 112,112,121,9,116,101,120,116,102,108,97,103,115,11,12,116,102,95,120,99, ++ 101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116,101,114,101,100, ++ 11,116,102,95,110,111,115,101,108,101,99,116,0,0,0,16,100,97,116,97, ++ 108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100,111,95,112,114, ++ 111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95,116,104,117,109, ++ 98,116,114,97,99,107,0,13,102,105,120,99,111,108,115,46,99,111,117,110, ++ 116,2,1,13,102,105,120,99,111,108,115,46,105,116,101,109,115,14,1,5, ++ 119,105,100,116,104,2,32,8,110,117,109,115,116,97,114,116,2,1,7,110, ++ 117,109,115,116,101,112,2,1,0,0,13,102,105,120,114,111,119,115,46,99, ++ 111,117,110,116,2,1,13,102,105,120,114,111,119,115,46,105,116,101,109,115, ++ 14,1,12,102,114,97,109,101,46,108,101,118,101,108,111,2,1,12,102,114, ++ 97,109,101,46,108,101,118,101,108,105,2,255,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,20,0,0,160,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101, ++ 118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,14,102,114,108,95, ++ 102,114,97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114, ++ 102,114,97,109,101,9,102,114,108,95,102,105,116,111,112,12,102,114,108,95, ++ 102,105,98,111,116,116,111,109,15,102,114,108,95,99,111,108,111,114,99,108, ++ 105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,6, ++ 104,101,105,103,104,116,2,36,14,99,97,112,116,105,111,110,115,46,99,111, ++ 117,110,116,2,7,14,99,97,112,116,105,111,110,115,46,105,116,101,109,115, ++ 14,1,7,99,97,112,116,105,111,110,6,4,78,97,109,101,0,1,7,99, ++ 97,112,116,105,111,110,6,7,67,111,117,110,116,114,121,0,1,7,99,97, ++ 112,116,105,111,110,6,10,79,99,99,117,112,97,116,105,111,110,0,1,7, ++ 99,97,112,116,105,111,110,6,7,70,101,97,116,117,114,101,0,1,7,99, ++ 97,112,116,105,111,110,6,17,83,101,120,117,97,108,13,10,112,111,116,101, ++ 110,116,105,111,110,0,1,7,99,97,112,116,105,111,110,6,14,68,97,116, ++ 101,32,111,102,13,10,98,105,114,116,104,0,1,7,99,97,112,116,105,111, ++ 110,6,6,72,97,112,112,121,63,0,0,17,99,97,112,116,105,111,110,115, ++ 102,105,120,46,99,111,117,110,116,2,1,17,99,97,112,116,105,111,110,115, ++ 102,105,120,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,18, ++ 1,0,0,0,22,33,0,0,0,0,13,100,97,116,97,114,111,119,104,101, ++ 105,103,104,116,2,16,11,111,110,99,101,108,108,101,118,101,110,116,7,12, ++ 112,101,114,115,111,110,115,101,118,101,110,116,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,14,0,0,7,116,98,117,116,116,111,110,7,98, ++ 116,110,69,120,105,116,8,98,111,117,110,100,115,95,120,3,127,2,8,98, ++ 111,117,110,100,115,95,121,3,85,1,9,98,111,117,110,100,115,95,99,120, ++ 2,58,9,98,111,117,110,100,115,95,99,121,2,29,14,102,114,97,109,101, ++ 46,116,101,109,112,108,97,116,101,7,9,102,116,66,117,116,116,111,110,115, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111, ++ 114,115,11,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116, ++ 111,109,0,8,116,97,98,111,114,100,101,114,2,1,5,115,116,97,116,101, ++ 11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97, ++ 99,116,105,111,110,7,7,97,99,116,69,120,105,116,7,99,97,112,116,105, ++ 111,110,6,5,69,38,120,105,116,0,0,7,116,98,117,116,116,111,110,7, ++ 98,116,110,69,100,105,116,8,98,111,117,110,100,115,95,120,3,214,0,8, ++ 98,111,117,110,100,115,95,121,3,79,1,9,98,111,117,110,100,115,95,99, ++ 120,2,71,9,98,111,117,110,100,115,95,99,121,2,30,17,102,114,97,109, ++ 101,46,99,111,108,111,114,99,108,105,101,110,116,4,200,255,200,0,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108, ++ 95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46, ++ 116,101,109,112,108,97,116,101,7,9,102,116,66,117,116,116,111,110,115,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114, ++ 115,11,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111, ++ 109,0,8,116,97,98,111,114,100,101,114,2,2,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97,99, ++ 116,105,111,110,7,7,97,99,116,69,100,105,116,7,99,97,112,116,105,111, ++ 110,6,7,38,69,100,105,116,46,46,0,0,7,116,98,117,116,116,111,110, ++ 6,98,116,110,65,100,100,8,98,111,117,110,100,115,95,120,3,70,1,8, ++ 98,111,117,110,100,115,95,121,3,79,1,9,98,111,117,110,100,115,95,99, ++ 120,2,79,9,98,111,117,110,100,115,95,99,121,2,30,17,102,114,97,109, ++ 101,46,99,111,108,111,114,99,108,105,101,110,116,4,255,200,200,0,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108, ++ 95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46, ++ 116,101,109,112,108,97,116,101,7,9,102,116,66,117,116,116,111,110,115,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114, ++ 115,11,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111, ++ 109,0,8,116,97,98,111,114,100,101,114,2,3,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97,99, ++ 116,105,111,110,7,6,97,99,116,65,100,100,7,99,97,112,116,105,111,110, ++ 6,6,38,65,100,100,46,46,0,0,7,116,98,117,116,116,111,110,9,98, ++ 116,110,68,101,108,101,116,101,8,98,111,117,110,100,115,95,120,3,190,1, ++ 8,98,111,117,110,100,115,95,121,3,79,1,9,98,111,117,110,100,115,95, ++ 99,120,2,79,9,98,111,117,110,100,115,95,99,121,2,30,17,102,114,97, ++ 109,101,46,99,111,108,111,114,99,108,105,101,110,116,4,200,200,255,0,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114, ++ 108,95,99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101, ++ 46,116,101,109,112,108,97,116,101,7,9,102,116,66,117,116,116,111,110,115, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111, ++ 114,115,11,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116, ++ 111,109,0,8,116,97,98,111,114,100,101,114,2,4,5,115,116,97,116,101, ++ 11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97, ++ 99,116,105,111,110,7,9,97,99,116,68,101,108,101,116,101,7,99,97,112, ++ 116,105,111,110,6,9,38,68,101,108,101,116,101,46,46,0,0,16,116,109, ++ 115,101,112,113,99,111,110,110,101,99,116,105,111,110,4,99,111,110,110,9, ++ 67,111,110,110,101,99,116,101,100,9,12,68,97,116,97,98,97,115,101,78, ++ 97,109,101,6,15,115,101,114,105,111,117,115,95,109,97,116,116,101,114,115, ++ 14,80,97,114,97,109,115,46,83,116,114,105,110,103,115,1,6,32,111,112, ++ 116,105,111,110,115,61,39,45,45,67,76,73,69,78,84,95,69,78,67,79, ++ 68,73,78,71,61,107,111,105,56,39,0,8,80,97,115,115,119,111,114,100, ++ 6,3,97,108,108,11,84,114,97,110,115,97,99,116,105,111,110,7,5,116, ++ 114,97,110,115,8,85,115,101,114,78,97,109,101,6,10,119,111,114,108,100, ++ 97,100,109,105,110,8,72,111,115,116,78,97,109,101,6,9,108,111,99,97, ++ 108,104,111,115,116,7,111,112,116,105,111,110,115,11,27,112,113,99,111,95, ++ 99,108,111,115,101,116,114,97,110,115,97,99,116,105,111,110,111,110,102,97, ++ 105,108,0,4,108,101,102,116,2,16,3,116,111,112,3,88,1,0,0,18, ++ 116,109,115,101,115,113,108,116,114,97,110,115,97,99,116,105,111,110,5,116, ++ 114,97,110,115,6,65,99,116,105,118,101,9,8,68,97,116,97,98,97,115, ++ 101,7,4,99,111,110,110,14,80,97,114,97,109,115,46,83,116,114,105,110, ++ 103,115,1,6,0,0,4,108,101,102,116,2,16,3,116,111,112,3,112,1, ++ 0,0,12,116,109,115,101,115,113,108,113,117,101,114,121,10,113,114,121,80, ++ 101,114,115,111,110,115,6,65,99,116,105,118,101,9,8,68,97,116,97,98, ++ 97,115,101,7,4,99,111,110,110,11,84,114,97,110,115,97,99,116,105,111, ++ 110,7,5,116,114,97,110,115,11,83,81,76,46,83,116,114,105,110,103,115, ++ 1,6,6,115,101,108,101,99,116,6,7,32,32,97,46,105,100,44,6,15, ++ 32,32,97,46,102,101,97,116,117,114,101,95,105,100,44,6,18,32,32,97, ++ 46,111,99,99,117,112,97,116,105,111,110,95,105,100,44,6,15,32,32,97, ++ 46,99,111,117,110,116,114,121,95,105,100,44,6,10,32,32,97,46,100,101, ++ 115,99,114,44,6,22,32,32,97,46,115,101,120,117,97,108,95,112,111,116, ++ 101,110,116,105,111,110,32,44,6,10,32,32,97,46,112,104,111,116,111,44, ++ 6,21,32,32,98,46,100,101,115,99,114,32,97,115,32,99,111,117,110,116, ++ 114,121,44,6,24,32,32,99,46,100,101,115,99,114,32,97,115,32,111,99, ++ 99,117,112,97,116,105,111,110,44,6,21,32,32,100,46,100,101,115,99,114, ++ 32,97,115,32,102,101,97,116,117,114,101,44,6,13,32,32,97,46,105,102, ++ 95,104,97,112,112,121,44,6,13,97,46,100,97,116,101,111,102,98,105,114, ++ 116,104,6,31,102,114,111,109,32,112,101,114,115,111,110,115,32,97,32,108, ++ 101,102,116,32,111,117,116,101,114,32,106,111,105,110,32,6,50,99,111,117, ++ 110,116,114,105,101,115,32,32,98,32,111,110,32,97,46,99,111,117,110,116, ++ 114,121,95,105,100,61,98,46,105,100,32,108,101,102,116,32,111,117,116,101, ++ 114,32,106,111,105,110,32,6,54,111,99,99,117,112,97,116,105,111,110,115, ++ 32,99,32,111,110,32,97,46,111,99,99,117,112,97,116,105,111,110,95,105, ++ 100,61,99,46,105,100,32,108,101,102,116,32,111,117,116,101,114,32,106,111, ++ 105,110,32,6,33,102,101,97,116,117,114,101,115,32,32,100,32,111,110,32, ++ 97,46,102,101,97,116,117,114,101,95,105,100,61,100,46,105,100,32,6,14, ++ 111,114,100,101,114,32,98,121,32,97,46,105,100,59,0,9,73,110,100,101, ++ 120,68,101,102,115,14,0,6,80,97,114,97,109,115,14,0,18,85,115,101, ++ 80,114,105,109,97,114,121,75,101,121,65,115,75,101,121,8,13,83,116,97, ++ 116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108,101,99,116, ++ 9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101,6,2,105, ++ 100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101, ++ 114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4, ++ 0,1,4,78,97,109,101,6,10,102,101,97,116,117,114,101,95,105,100,8, ++ 68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114,9, ++ 80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1, ++ 4,78,97,109,101,6,13,111,99,99,117,112,97,116,105,111,110,95,105,100, ++ 8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 1,4,78,97,109,101,6,10,99,111,117,110,116,114,121,95,105,100,8,68, ++ 97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114,9,80, ++ 114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4, ++ 78,97,109,101,6,5,100,101,115,99,114,8,68,97,116,97,84,121,112,101, ++ 7,6,102,116,77,101,109,111,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,16,115,101,120,117, ++ 97,108,95,112,111,116,101,110,116,105,111,110,8,68,97,116,97,84,121,112, ++ 101,7,7,102,116,70,108,111,97,116,9,80,114,101,99,105,115,105,111,110, ++ 2,255,4,83,105,122,101,2,8,0,1,4,78,97,109,101,6,5,112,104, ++ 111,116,111,8,68,97,116,97,84,121,112,101,7,6,102,116,66,108,111,98, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 1,4,78,97,109,101,6,7,99,111,117,110,116,114,121,8,68,97,116,97, ++ 84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99,105,115,105, ++ 111,110,2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,10, ++ 111,99,99,117,112,97,116,105,111,110,8,68,97,116,97,84,121,112,101,7, ++ 6,102,116,77,101,109,111,9,80,114,101,99,105,115,105,111,110,2,255,4, ++ 83,105,122,101,2,4,0,1,4,78,97,109,101,6,7,102,101,97,116,117, ++ 114,101,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111,9, ++ 80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1, ++ 4,78,97,109,101,6,8,105,102,95,104,97,112,112,121,8,68,97,116,97, ++ 84,121,112,101,7,9,102,116,66,111,111,108,101,97,110,9,80,114,101,99, ++ 105,115,105,111,110,2,255,4,83,105,122,101,2,1,0,1,4,78,97,109, ++ 101,6,11,100,97,116,101,111,102,98,105,114,116,104,8,68,97,116,97,84, ++ 121,112,101,7,6,102,116,68,97,116,101,9,80,114,101,99,105,115,105,111, ++ 110,2,255,4,83,105,122,101,2,8,0,0,16,111,110,97,112,112,108,121, ++ 114,101,99,117,112,100,97,116,101,7,13,112,101,114,115,111,110,115,117,112, ++ 100,97,116,101,4,108,101,102,116,2,80,3,116,111,112,3,88,1,0,14, ++ 116,109,115,101,102,108,111,97,116,102,105,101,108,100,15,102,108,100,83,101, ++ 120,80,111,116,101,110,116,105,111,110,9,65,108,105,103,110,77,101,110,116, ++ 7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,16,115,101,120,117,97,108,95,112,111,116,101,110,116,105,111,110,13, ++ 68,105,115,112,108,97,121,70,111,114,109,97,116,6,5,35,35,46,35,35, ++ 4,108,101,102,116,3,176,1,3,116,111,112,2,114,0,0,16,116,109,115, ++ 101,98,111,111,108,101,97,110,102,105,101,108,100,8,102,108,100,72,97,112, ++ 112,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,3,9,70,105, ++ 101,108,100,78,97,109,101,6,8,105,102,95,104,97,112,112,121,5,73,110, ++ 100,101,120,2,1,13,100,105,115,112,108,97,121,118,97,108,117,101,115,18, ++ 6,0,0,0,20,4,48,4,59,0,29,4,53,4,66,4,4,108,101,102, ++ 116,3,88,2,3,116,111,112,2,98,0,0,16,116,109,115,101,108,111,110, ++ 103,105,110,116,102,105,101,108,100,12,102,108,100,67,111,117,110,116,114,121, ++ 73,100,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104, ++ 116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,10,9,70,105,101,108,100,78,97,109,101,6,10,99,111,117,110,116, ++ 114,121,95,105,100,5,73,110,100,101,120,2,2,4,108,101,102,116,3,176, ++ 0,3,116,111,112,2,98,0,0,16,116,109,115,101,108,111,110,103,105,110, ++ 116,102,105,101,108,100,15,102,108,100,79,99,99,117,112,97,116,105,111,110, ++ 73,100,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104, ++ 116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,10,9,70,105,101,108,100,78,97,109,101,6,13,111,99,99,117,112, ++ 97,116,105,111,110,95,105,100,5,73,110,100,101,120,2,3,4,108,101,102, ++ 116,3,16,1,3,116,111,112,3,162,0,0,0,16,116,109,115,101,108,111, ++ 110,103,105,110,116,102,105,101,108,100,12,102,108,100,70,101,97,116,117,114, ++ 101,73,100,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103, ++ 104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100, ++ 116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,10,102,101,97,116, ++ 117,114,101,95,105,100,5,73,110,100,101,120,2,4,4,108,101,102,116,3, ++ 120,1,3,116,111,112,2,90,0,0,16,116,109,115,101,108,111,110,103,105, ++ 110,116,102,105,101,108,100,11,102,108,100,80,101,114,115,111,110,73,100,9, ++ 65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117, ++ 115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10, ++ 9,70,105,101,108,100,78,97,109,101,6,2,105,100,5,73,110,100,101,120, ++ 2,5,4,108,101,102,116,3,184,0,3,116,111,112,3,80,1,0,0,13, ++ 116,109,115,101,100,97,116,101,102,105,101,108,100,14,102,108,100,68,97,116, ++ 101,79,102,66,105,114,116,104,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,10,9,70,105,101,108,100,78,97,109,101,6,11,100,97,116,101,111, ++ 102,98,105,114,116,104,5,73,110,100,101,120,2,6,4,108,101,102,116,3, ++ 8,2,3,116,111,112,2,72,0,0,13,116,109,115,101,109,101,109,111,102, ++ 105,101,108,100,7,102,108,100,78,97,109,101,12,68,105,115,112,108,97,121, ++ 87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,5,100, ++ 101,115,99,114,5,73,110,100,101,120,2,7,4,83,105,122,101,2,4,13, ++ 84,114,97,110,115,108,105,116,101,114,97,116,101,8,4,108,101,102,116,2, ++ 80,3,116,111,112,2,110,0,0,13,116,109,115,101,109,101,109,111,102,105, ++ 101,108,100,10,102,108,100,67,111,117,110,116,114,121,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 7,99,111,117,110,116,114,121,5,73,110,100,101,120,2,8,4,83,105,122, ++ 101,2,4,13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,4,108, ++ 101,102,116,3,168,0,3,116,111,112,2,118,0,0,13,116,109,115,101,109, ++ 101,109,111,102,105,101,108,100,13,102,108,100,79,99,99,117,112,97,116,105, ++ 111,110,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105, ++ 101,108,100,78,97,109,101,6,10,111,99,99,117,112,97,116,105,111,110,5, ++ 73,110,100,101,120,2,9,4,83,105,122,101,2,4,13,84,114,97,110,115, ++ 108,105,116,101,114,97,116,101,8,4,108,101,102,116,3,16,1,3,116,111, ++ 112,3,182,0,0,0,13,116,109,115,101,109,101,109,111,102,105,101,108,100, ++ 10,102,108,100,70,101,97,116,117,114,101,12,68,105,115,112,108,97,121,87, ++ 105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,7,102,101, ++ 97,116,117,114,101,5,73,110,100,101,120,2,10,4,83,105,122,101,2,4, ++ 13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,4,108,101,102,116, ++ 3,104,1,3,116,111,112,3,134,0,0,0,0,15,116,109,115,101,115,116, ++ 114,105,110,103,102,105,101,108,100,8,102,108,100,78,97,109,101,49,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,20,9,70,105,101,108,100,78, ++ 97,109,101,6,5,100,101,115,99,114,5,73,110,100,101,120,2,255,4,108, ++ 101,102,116,2,104,3,116,111,112,2,82,0,0,15,116,109,115,101,115,116, ++ 114,105,110,103,102,105,101,108,100,11,102,108,100,67,111,117,110,116,114,121, ++ 49,12,68,105,115,112,108,97,121,87,105,100,116,104,2,20,9,70,105,101, ++ 108,100,78,97,109,101,6,7,99,111,117,110,116,114,121,5,73,110,100,101, ++ 120,2,255,4,108,101,102,116,3,184,0,3,116,111,112,2,66,0,0,15, ++ 116,109,115,101,115,116,114,105,110,103,102,105,101,108,100,14,102,108,100,79, ++ 99,99,117,112,97,116,105,111,110,49,12,68,105,115,112,108,97,121,87,105, ++ 100,116,104,2,20,9,70,105,101,108,100,78,97,109,101,6,10,111,99,99, ++ 117,112,97,116,105,111,110,5,73,110,100,101,120,2,255,4,108,101,102,116, ++ 3,16,1,3,116,111,112,3,130,0,0,0,15,116,109,115,101,115,116,114, ++ 105,110,103,102,105,101,108,100,11,102,108,100,70,101,97,116,117,114,101,49, ++ 12,68,105,115,112,108,97,121,87,105,100,116,104,2,20,9,70,105,101,108, ++ 100,78,97,109,101,6,7,102,101,97,116,117,114,101,5,73,110,100,101,120, ++ 2,255,4,108,101,102,116,3,128,1,3,116,111,112,2,66,0,0,14,116, ++ 109,115,101,100,97,116,97,115,111,117,114,99,101,9,100,115,80,101,114,115, ++ 111,110,115,7,68,97,116,97,83,101,116,7,10,113,114,121,80,101,114,115, ++ 111,110,115,4,108,101,102,116,2,88,3,116,111,112,3,112,1,0,0,7, ++ 116,97,99,116,105,111,110,7,97,99,116,69,120,105,116,8,115,104,111,114, ++ 116,99,117,116,3,81,64,9,111,110,101,120,101,99,117,116,101,7,7,97, ++ 112,112,101,120,105,116,4,108,101,102,116,2,24,0,0,9,116,109,97,105, ++ 110,109,101,110,117,7,109,110,117,77,97,105,110,18,109,101,110,117,46,115, ++ 117,98,109,101,110,117,46,99,111,117,110,116,2,3,18,109,101,110,117,46, ++ 115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,13,115,117,98,109, ++ 101,110,117,46,99,111,117,110,116,2,1,13,115,117,98,109,101,110,117,46, ++ 105,116,101,109,115,14,1,6,97,99,116,105,111,110,7,7,97,99,116,69, ++ 120,105,116,7,99,97,112,116,105,111,110,6,5,69,38,120,105,116,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,0,0,0,7,99,97,112,116,105,111,110,6,7,38,70,105,108,101,46, ++ 46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46,99,111,117,110, ++ 116,2,5,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,6, ++ 97,99,116,105,111,110,7,14,97,99,116,80,108,97,110,101,116,115,69,100, ++ 105,116,7,99,97,112,116,105,111,110,6,10,38,80,108,97,110,101,116,115, ++ 46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,0,1,6,97,99,116,105,111,110,7,17,97,99,116, ++ 67,111,110,116,105,110,101,110,116,115,69,100,105,116,7,99,97,112,116,105, ++ 111,110,6,13,38,67,111,110,116,105,110,101,110,116,115,46,46,5,115,116, ++ 97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110, ++ 0,0,1,6,97,99,116,105,111,110,7,16,97,99,116,67,111,117,110,116, ++ 114,105,101,115,69,100,105,116,7,99,97,112,116,105,111,110,6,12,67,38, ++ 111,117,110,116,114,105,101,115,46,46,5,115,116,97,116,101,11,15,97,115, ++ 95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,1,6,97,99,116, ++ 105,111,110,7,15,97,99,116,70,101,97,116,117,114,101,115,69,100,105,116, ++ 7,99,97,112,116,105,111,110,6,11,38,70,101,97,116,117,114,101,115,46, ++ 46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,0,1,6,97,99,116,105,111,110,7,18,97,99,116,79, ++ 99,99,117,112,97,116,105,111,110,115,69,100,105,116,7,99,97,112,116,105, ++ 111,110,6,14,38,79,99,99,117,112,97,116,105,111,110,115,46,46,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,0,0,0,7,99,97,112,116,105,111,110,6,7,69,100,38,105,116,46, ++ 46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46,99,111,117,110, ++ 116,2,1,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,6, ++ 97,99,116,105,111,110,7,12,97,99,116,83,104,111,119,65,98,111,117,116, ++ 7,99,97,112,116,105,111,110,6,16,38,65,98,111,117,116,32,112,114,111, ++ 103,114,97,109,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99, ++ 97,108,99,97,112,116,105,111,110,0,0,0,7,99,97,112,116,105,111,110, ++ 6,5,38,72,101,108,112,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,0,0,0,16,109,101,110,117,46,102, ++ 111,110,116,46,104,101,105,103,104,116,2,13,14,109,101,110,117,46,102,111, ++ 110,116,46,110,97,109,101,6,13,115,116,102,95,104,101,108,118,101,116,105, ++ 99,97,15,109,101,110,117,46,102,111,110,116,46,100,117,109,109,121,2,0, ++ 17,105,116,101,109,102,114,97,109,101,116,101,109,112,108,97,116,101,7,14, ++ 102,116,77,97,105,110,77,101,110,117,73,116,101,109,22,112,111,112,117,112, ++ 105,116,101,109,102,114,97,109,101,116,101,109,112,108,97,116,101,7,19,102, ++ 116,77,97,105,110,77,101,110,117,80,111,112,117,112,73,116,101,109,4,108, ++ 101,102,116,3,80,1,0,0,10,116,102,114,97,109,101,99,111,109,112,14, ++ 102,116,77,97,105,110,77,101,110,117,73,116,101,109,20,116,101,109,112,108, ++ 97,116,101,46,102,114,97,109,101,105,95,108,101,102,116,2,10,19,116,101, ++ 109,112,108,97,116,101,46,102,114,97,109,101,105,95,116,111,112,2,5,21, ++ 116,101,109,112,108,97,116,101,46,102,114,97,109,101,105,95,114,105,103,104, ++ 116,2,50,4,108,101,102,116,3,160,1,3,116,111,112,2,1,0,0,7, ++ 116,97,99,116,105,111,110,7,97,99,116,69,100,105,116,8,115,104,111,114, ++ 116,99,117,116,3,69,64,9,111,110,101,120,101,99,117,116,101,7,12,101, ++ 100,105,116,102,111,114,109,115,104,111,119,4,108,101,102,116,3,216,0,3, ++ 116,111,112,3,34,1,0,0,7,116,97,99,116,105,111,110,6,97,99,116, ++ 65,100,100,8,115,104,111,114,116,99,117,116,3,6,80,9,111,110,101,120, ++ 101,99,117,116,101,7,11,97,100,100,102,111,114,109,115,104,111,119,4,108, ++ 101,102,116,3,64,1,3,116,111,112,3,34,1,0,0,7,116,97,99,116, ++ 105,111,110,9,97,99,116,68,101,108,101,116,101,8,115,104,111,114,116,99, ++ 117,116,3,68,64,9,111,110,101,120,101,99,117,116,101,7,12,100,101,108, ++ 101,116,101,114,101,99,111,114,100,4,108,101,102,116,3,184,1,3,116,111, ++ 112,3,34,1,0,0,10,116,112,111,112,117,112,109,101,110,117,10,112,117, ++ 112,80,101,114,115,111,110,115,18,109,101,110,117,46,115,117,98,109,101,110, ++ 117,46,99,111,117,110,116,2,3,18,109,101,110,117,46,115,117,98,109,101, ++ 110,117,46,105,116,101,109,115,14,1,6,97,99,116,105,111,110,7,7,97, ++ 99,116,69,100,105,116,7,99,97,112,116,105,111,110,6,14,38,69,100,105, ++ 116,32,114,101,99,111,114,100,46,46,5,115,116,97,116,101,11,15,97,115, ++ 95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,1,6,97,99,116, ++ 105,111,110,7,6,97,99,116,65,100,100,7,99,97,112,116,105,111,110,6, ++ 13,38,65,100,100,32,114,101,99,111,114,100,46,46,5,115,116,97,116,101, ++ 11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,1, ++ 6,97,99,116,105,111,110,7,9,97,99,116,68,101,108,101,116,101,7,99, ++ 97,112,116,105,111,110,6,16,38,68,101,108,101,116,101,32,114,101,99,111, ++ 114,100,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108, ++ 99,97,112,116,105,111,110,0,0,0,4,108,101,102,116,3,112,1,3,116, ++ 111,112,3,234,0,0,0,10,116,102,114,97,109,101,99,111,109,112,9,102, ++ 116,66,117,116,116,111,110,115,15,116,101,109,112,108,97,116,101,46,108,101, ++ 118,101,108,111,2,255,15,116,101,109,112,108,97,116,101,46,108,101,118,101, ++ 108,105,2,2,20,116,101,109,112,108,97,116,101,46,99,111,108,111,114,99, ++ 108,105,101,110,116,4,24,0,0,160,4,108,101,102,116,3,32,2,3,116, ++ 111,112,3,98,1,0,0,7,116,97,99,116,105,111,110,14,97,99,116,80, ++ 108,97,110,101,116,115,69,100,105,116,9,111,110,101,120,101,99,117,116,101, ++ 7,18,112,108,97,110,101,116,115,101,100,105,116,101,120,101,99,117,116,101, ++ 4,108,101,102,116,2,104,3,116,111,112,3,162,0,0,0,7,116,97,99, ++ 116,105,111,110,17,97,99,116,67,111,110,116,105,110,101,110,116,115,69,100, ++ 105,116,9,111,110,101,120,101,99,117,116,101,7,21,99,111,110,116,105,110, ++ 101,110,116,115,101,100,105,116,101,120,101,99,117,116,101,4,108,101,102,116, ++ 2,104,3,116,111,112,3,186,0,0,0,7,116,97,99,116,105,111,110,16, ++ 97,99,116,67,111,117,110,116,114,105,101,115,69,100,105,116,9,111,110,101, ++ 120,101,99,117,116,101,7,20,99,111,117,110,116,114,105,101,115,101,100,105, ++ 116,101,120,101,99,117,116,101,4,108,101,102,116,2,104,3,116,111,112,3, ++ 210,0,0,0,7,116,97,99,116,105,111,110,15,97,99,116,70,101,97,116, ++ 117,114,101,115,69,100,105,116,9,111,110,101,120,101,99,117,116,101,7,19, ++ 102,101,97,116,117,114,101,115,101,100,105,116,101,120,101,99,117,116,101,4, ++ 108,101,102,116,2,104,3,116,111,112,3,234,0,0,0,7,116,97,99,116, ++ 105,111,110,18,97,99,116,79,99,99,117,112,97,116,105,111,110,115,69,100, ++ 105,116,9,111,110,101,120,101,99,117,116,101,7,22,111,99,99,117,112,97, ++ 116,105,111,110,115,101,100,105,116,101,120,101,99,117,116,101,4,108,101,102, ++ 116,2,104,3,116,111,112,3,2,1,0,0,7,116,97,99,116,105,111,110, ++ 12,97,99,116,83,104,111,119,65,98,111,117,116,9,111,110,101,120,101,99, ++ 117,116,101,7,16,115,104,111,119,97,98,111,117,116,101,120,101,99,117,116, ++ 101,4,108,101,102,116,3,216,0,3,116,111,112,2,2,0,0,10,116,102, ++ 114,97,109,101,99,111,109,112,19,102,116,77,97,105,110,77,101,110,117,80, ++ 111,112,117,112,73,116,101,109,20,116,101,109,112,108,97,116,101,46,102,114, ++ 97,109,101,105,95,108,101,102,116,2,10,19,116,101,109,112,108,97,116,101, ++ 46,102,114,97,109,101,105,95,116,111,112,2,1,21,116,101,109,112,108,97, ++ 116,101,46,102,114,97,109,101,105,95,114,105,103,104,116,2,2,22,116,101, ++ 109,112,108,97,116,101,46,102,114,97,109,101,105,95,98,111,116,116,111,109, ++ 2,1,4,108,101,102,116,3,24,2,3,116,111,112,2,2,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,310 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,msedbedit,mseactions, ++ msesimplewidgets,msemenus,db,msegrids,planetseditform,continentseditform, ++ countrieseditform,featureseditform, occupationseditform; ++ ++ type ++ tmainfo = class(tmseform) ++ dsPersons: tmsedatasource; ++ conn: tmsepqconnection; ++ qryPersons: tmsesqlquery; ++ actExit: taction; ++ btnExit: tbutton; ++ grdPersons: tdbstringgrid; ++ mnuMain: tmainmenu; ++ btnEdit: tbutton; ++ btnAdd: tbutton; ++ btnDelete: tbutton; ++ actEdit: taction; ++ actAdd: taction; ++ actDelete: taction; ++ ftMainMenuItem: tframecomp; ++ fldName1: tmsestringfield; ++ fldCountry1: tmsestringfield; ++ fldOccupation1: tmsestringfield; ++ fldFeature1: tmsestringfield; ++ fldSexPotention: tmsefloatfield; ++ fldHappy: tmsebooleanfield; ++ fldCountryId: tmselongintfield; ++ fldOccupationId: tmselongintfield; ++ fldFeatureId: tmselongintfield; ++ pupPersons: tpopupmenu; ++ fldPersonId: tmselongintfield; ++ fldDateOfBirth: tmsedatefield; ++ ftButtons: tframecomp; ++ actPlanetsEdit: taction; ++ actContinentsEdit: taction; ++ actCountriesEdit: taction; ++ actFeaturesEdit: taction; ++ actOccupationsEdit: taction; ++ actShowAbout: taction; ++ ftMainMenuPopupItem: tframecomp; ++ fldName: tmsememofield; ++ fldCountry: tmsememofield; ++ fldOccupation: tmsememofield; ++ fldFeature: tmsememofield; ++ trans: tmsesqltransaction; ++ procedure appexit(const sender: TObject); ++ procedure editformshow(const sender: TObject); ++ procedure addformshow(const sender: TObject); ++ procedure deleterecord(const sender: TObject); ++ procedure personsupdate(const sender: tmsesqlquery; ++ const updatekind: TUpdateKind; var asql: AnsiString; ++ var done: Boolean); ++ procedure shownamehint(const sender: tdatacol; const arow: Integer; ++ var info: hintinfoty); ++ procedure personsevent(const sender: TObject; var info: celleventinfoty); ++ procedure planetseditexecute(const sender: TObject); ++ procedure continentseditexecute(const sender: TObject); ++ procedure countrieseditexecute(const sender: TObject); ++ procedure featureseditexecute(const sender: TObject); ++ procedure occupationseditexecute(const sender: TObject); ++ procedure showaboutexecute(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ uses ++ main_mfm, ++ editform, ++ msewidgets, // for askyesno, ++ msestrings ++ ; ++ ++ var ++ prevkey: integer; ++ ++ procedure tmainfo.appexit(const sender: TObject); ++ begin ++ application.terminated:= true; ++ end; ++ ++ procedure tmainfo.editformshow (const sender: TObject); ++ begin ++ try ++ with qryPersons do begin ++ prevkey:= fldPersonId.asinteger; ++ edit; ++ application.createform(teditfo,editfo); ++ editfo.caption:= ' Editing a person => '+ fldName.asstring; ++ ++ case editfo.show(true) of ++ mr_ok: begin ++ applyupdates; ++ trans.commit; ++ active:= true; ++ locate(prevkey, fldPersonId); ++ end else begin ++ cancel; ++ end; ++ end; ++ ++ end; ++ finally ++ editfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.addformshow(const sender: TObject); ++ begin ++ try ++ with qryPersons do begin ++ prevkey:= fldPersonId.asinteger; ++ append; ++ application.createform(teditfo,editfo); ++ editfo.caption:= ' Adding a new person'; ++ ++ case editfo.show(true) of ++ mr_ok: begin ++ applyupdates; ++ trans.commit; ++ active:= true; ++ last; ++ end else begin ++ cancel; ++ locate(prevkey, fldPersonId); ++ end; ++ end; ++ ++ end; ++ finally ++ editfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.deleterecord(const sender: TObject); ++ var ++ recnum: integer; ++ begin ++ if askyesno('Are you a nut ???','Deletion request',mr_no,200) then begin ++ with qryPersons do begin ++ recnum:= recno; ++ delete; ++ applyupdates; ++ trans.commit; ++ active:= true; ++ ++ if recnum > 0 then ++ recnum:= recnum - 1; ++ ++ recno:= recnum; // 1 upper is now the new position ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.personsupdate(const sender: tmsesqlquery; ++ const updatekind: TUpdateKind; var asql: AnsiString; ++ var done: Boolean); ++ begin ++ with qryPersons do begin ++ ++ case updatekind of ++ ++ ukModify: begin ++ asql:= 'update persons set '+ ++ 'descr=' + fldName.assql + ++ ',country_id=' + fldCountryId.assql + ++ ',feature_id=' + fldFeatureId.assql + ++ ',occupation_id=' + fldOccupationId.assql + ++ ',sexual_potention=' + fldSexPotention.assql + ++ ',if_happy=' + fldHappy.assql + ++ ',dateofbirth=' + fldDateOfBirth.assql + ++ ' where id='+ fldPersonId.assql + ';'; ++ end; ++ ++ ukInsert: begin ++ asql:= 'insert into persons (' + ++ 'id' + ++ ',descr' + ++ ',country_id' + ++ ',feature_id' + ++ ',occupation_id' + ++ ',sexual_potention' + ++ ',if_happy' + ++ ',dateofbirth' + ++ ') values (' + ++ 'nextval('+ #39 + 'person_id_seq' + #39 + ')' + ++ ',' + fldName.assql + ++ ',' + fldCountryId.assql + ++ ',' + fldFeatureId.assql + ++ ',' + fldOccupationId.assql + ++ ',' + fldSexPotention.assql + ++ ',' + fldHappy.assql + ++ ',' + fldDateOfBirth.assql + ++ ')'; ++ end; ++ ++ ukDelete: begin ++ asql:= 'delete from persons where id=' + fldPersonId.assql; ++ end; ++ ++ end; ++ ++ end; ++ end; ++ ++ procedure tmainfo.shownamehint(const sender: tdatacol; const arow: Integer; ++ var info: hintinfoty); ++ begin ++ info.caption:= grdPersons[sender.colindex][arow]; ++ end; ++ ++ ++ procedure tmainfo.personsevent(const sender: TObject; ++ var info: celleventinfoty); ++ begin ++ if iscellclick(info,[ccr_dblclick]) then begin ++ actEdit.execute; ++ end; ++ end; ++ ++ procedure tmainfo.planetseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tplanetseditfo, planetseditfo); ++ if planetseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ planetseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.continentseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tcontinentseditfo, continentseditfo); ++ if continentseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ continentseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.countrieseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tcountrieseditfo, countrieseditfo); ++ if countrieseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ countrieseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.featureseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tfeatureseditfo, featureseditfo); ++ if featureseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ featureseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.occupationseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(toccupationseditfo, occupationseditfo); ++ if occupationseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ occupationseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.showaboutexecute(const sender: TObject); ++ begin ++ showmessage( ++ lineend + ++ 'The Galaxy Data Keeper'+ #174 + ++ lineend + lineend + ++ 'This extremely useful program is designed' + lineend + ++ 'for keeping data on creatures widely-known' + lineend + ++ 'in our galaxy.' + lineend + ++ lineend + ++ 'Authors:' + lineend + ++ lineend + ++ ' Bill Mad,' + lineend + ++ ' Susan Bitch,' + lineend + ++ ' Freddie Krugger' + lineend + ++ lineend + ++ '2006, Almalyk city, UZ'+ lineend, ++ 'About program', ++ [mr_ok], ++ mr_ok, ++ [], ++ 150 ++ ); ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,137 ---- ++ object occupationseditfo: toccupationseditfo ++ bounds_x = 158 ++ bounds_y = 180 ++ bounds_cx = 401 ++ bounds_cy = 321 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 401 ++ container.bounds_cy = 321 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Occupations editor' ++ icon.transparency = -2147483648 ++ oncreate = occupationseditfocreated ++ ondestroy = occupationseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cy = 321 ++ container.bounds_cy = 321 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdOccupations: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsOccupations ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 20 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Occupation name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 336 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seOccupation' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdoccupationsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 16 ++ object seOccupation: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_cx = 336 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsOccupations ++ reffontheight = 16 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,165 ---- ++ unit occupationseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,occupationseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2959] of byte end = ++ (size: 2960; data: ( ++ 84,80,70,48,18,116,111,99,99,117,112,97,116,105,111,110,115,101,100,105, ++ 116,102,111,17,111,99,99,117,112,97,116,105,111,110,115,101,100,105,116,102, ++ 111,8,98,111,117,110,100,115,95,120,3,158,0,8,98,111,117,110,100,115, ++ 95,121,3,180,0,9,98,111,117,110,100,115,95,99,120,3,145,1,9,98, ++ 111,117,110,100,115,95,99,121,3,65,1,23,99,111,110,116,97,105,110,101, ++ 114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119,95, ++ 115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114,97, ++ 110,115,112,97,114,101,110,116,13,111,119,95,109,111,117,115,101,119,104,101, ++ 101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115, ++ 12,111,119,95,97,117,116,111,115,99,97,108,101,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,145,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,65,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,7,111,112,116,105,111,110,115,11,17,102,111,95,115,99,114, ++ 101,101,110,99,101,110,116,101,114,101,100,15,102,111,95,97,117,116,111,114, ++ 101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101, ++ 115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115, ++ 97,118,101,115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,18,79, ++ 99,99,117,112,97,116,105,111,110,115,32,101,100,105,116,111,114,17,105,99, ++ 111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128, ++ 8,111,110,99,114,101,97,116,101,7,24,111,99,99,117,112,97,116,105,111, ++ 110,115,101,100,105,116,102,111,99,114,101,97,116,101,100,9,111,110,100,101, ++ 115,116,114,111,121,7,26,111,99,99,117,112,97,116,105,111,110,115,101,100, ++ 105,116,102,111,100,101,115,116,114,111,121,101,100,15,109,111,100,117,108,101, ++ 99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0, ++ 244,17,116,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,17, ++ 99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,49,9,98,111, ++ 117,110,100,115,95,99,121,3,65,1,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,121,3,65,1,21,99,111,110,116,97,105, ++ 110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,17,105,99, ++ 111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128, ++ 0,241,7,116,98,117,116,116,111,110,10,98,116,110,83,97,118,101,65,108, ++ 108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111, ++ 114,100,101,114,2,8,5,115,116,97,116,101,11,11,97,115,95,100,105,115, ++ 97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0, ++ 0,0,241,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68,111,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,7,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98, ++ 108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17, ++ 97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0, ++ 241,7,116,98,117,116,116,111,110,6,98,116,110,65,100,100,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 5,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117, ++ 116,101,0,0,0,241,7,116,98,117,116,116,111,110,9,98,116,110,68,101, ++ 108,101,116,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,4,5,115,116,97,116,101,11,11,97,115,95, ++ 100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117, ++ 116,101,0,0,0,241,7,116,98,117,116,116,111,110,8,98,116,110,67,108, ++ 111,115,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,0,0,241,7,116,98,117,116,116,111,110,10, ++ 98,116,110,85,110,68,111,65,108,108,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,6,5,115,116,97,116, ++ 101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,0,0,241,6,116,108,97,98,101,108,14, ++ 108,98,108,65,100,100,101,100,76,101,103,101,110,100,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,0, ++ 0,241,6,116,108,97,98,101,108,16,108,98,108,67,104,97,110,103,101,100, ++ 76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,1,0,0,242,2,8,13,116,100,98, ++ 119,105,100,103,101,116,103,114,105,100,14,103,114,100,79,99,99,117,112,97, ++ 116,105,111,110,115,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111, ++ 119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100, ++ 115,95,121,2,8,9,98,111,117,110,100,115,95,99,120,3,130,1,9,98, ++ 111,117,110,100,115,95,99,121,3,218,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101, ++ 102,116,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,0,10, ++ 100,97,116,97,115,111,117,114,99,101,7,24,114,101,102,115,100,97,116,97, ++ 109,111,46,100,115,79,99,99,117,112,97,116,105,111,110,115,13,102,105,120, ++ 99,111,108,115,46,99,111,117,110,116,2,1,13,102,105,120,99,111,108,115, ++ 46,105,116,101,109,115,14,1,5,119,105,100,116,104,2,29,8,110,117,109, ++ 115,116,97,114,116,2,1,7,110,117,109,115,116,101,112,2,1,0,0,13, ++ 102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105,120,114, ++ 111,119,115,46,105,116,101,109,115,14,1,5,99,111,108,111,114,4,20,0, ++ 0,160,6,104,101,105,103,104,116,2,20,14,99,97,112,116,105,111,110,115, ++ 46,99,111,117,110,116,2,1,14,99,97,112,116,105,111,110,115,46,105,116, ++ 101,109,115,14,1,7,99,97,112,116,105,111,110,6,15,79,99,99,117,112, ++ 97,116,105,111,110,32,110,97,109,101,0,0,17,99,97,112,116,105,111,110, ++ 115,102,105,120,46,99,111,117,110,116,2,1,17,99,97,112,116,105,111,110, ++ 115,102,105,120,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110, ++ 18,1,0,0,0,22,33,0,0,0,0,15,114,111,119,99,111,108,111,114, ++ 115,46,99,111,117,110,116,2,2,15,114,111,119,99,111,108,111,114,115,46, ++ 105,116,101,109,115,1,4,0,192,255,0,4,8,0,0,160,0,14,100,97, ++ 116,97,99,111,108,115,46,99,111,117,110,116,2,1,14,100,97,116,97,99, ++ 111,108,115,46,105,116,101,109,115,14,1,17,102,114,97,109,101,46,102,114, ++ 97,109,101,105,95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111, ++ 99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116, ++ 0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116, ++ 104,3,80,1,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108, ++ 108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97, ++ 118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99, ++ 111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99, ++ 111,108,111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,12,115,101, ++ 79,99,99,117,112,97,116,105,111,110,0,0,16,100,97,116,97,108,105,110, ++ 107,46,111,112,116,105,111,110,115,11,17,103,100,111,95,112,114,111,112,115, ++ 99,114,111,108,108,98,97,114,14,103,100,111,95,116,104,117,109,98,116,114, ++ 97,99,107,0,24,100,97,116,97,108,105,110,107,46,111,110,117,112,100,97, ++ 116,101,114,111,119,100,97,116,97,7,27,103,114,100,111,99,99,117,112,97, ++ 116,105,111,110,115,117,112,100,97,116,101,114,111,119,100,97,116,97,13,100, ++ 97,116,97,114,111,119,104,101,105,103,104,116,2,22,13,114,101,102,102,111, ++ 110,116,104,101,105,103,104,116,2,16,0,13,116,100,98,115,116,114,105,110, ++ 103,101,100,105,116,12,115,101,79,99,99,117,112,97,116,105,111,110,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,0,9,98,111,117,110,100,115,95,99,120,3,80,1,9,98, ++ 111,117,110,100,115,95,99,121,2,22,12,102,114,97,109,101,46,108,101,118, ++ 101,108,111,2,0,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105, ++ 101,110,116,4,3,0,0,128,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,15,102,114, ++ 108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,7,118,105,115,105,98,108,101,8,11,111,112, ++ 116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111,110, ++ 101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101, ++ 95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120, ++ 105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116,114, ++ 101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20,111, ++ 101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13, ++ 111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117,116, ++ 111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101,99, ++ 116,111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111,116, ++ 110,117,108,108,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101,95, ++ 97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121, ++ 101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101, ++ 12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102, ++ 105,101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117,114, ++ 99,101,7,24,114,101,102,115,100,97,116,97,109,111,46,100,115,79,99,99, ++ 117,112,97,116,105,111,110,115,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,16,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116, ++ 83,97,118,101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97, ++ 99,116,85,110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99, ++ 116,65,100,100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68, ++ 101,108,101,116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97, ++ 99,116,105,111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,toccupationseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/occupationseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit occupationseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db; ++ ++ type ++ toccupationseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdOccupations: tdbwidgetgrid; ++ seOccupation: tdbstringedit; ++ procedure occupationseditfocreated(const sender: TObject); ++ procedure occupationseditfodestroyed(const sender: TObject); ++ procedure grdoccupationsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ occupationseditfo: toccupationseditfo; ++ ++ implementation ++ ++ uses ++ occupationseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure toccupationseditfo.occupationseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdOccupations.datasource.dataset; ++ end; ++ ++ procedure toccupationseditfo.occupationseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure toccupationseditfo.grdoccupationsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/persons.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/persons.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/persons.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/persons.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ program persons; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.dblclicktime:= 220000; ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/persons.prj mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/persons.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/persons.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/persons.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,613 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1 ++ findinfiledialog=29 ++ [findinfileadialogfo] ++ stackedunder= ++ x=260 ++ y=73 ++ cx=331 ++ cy=249 ++ [findinfileadialogfo.findtext] ++ value=fpc204 ++ history=1 ++ fpc204 ++ [findinfileadialogfo.casesensitive] ++ value=0 ++ [findinfileadialogfo.wholeword] ++ value=0 ++ [findinfileadialogfo.indirectories] ++ value=1 ++ [findinfileadialogfo.inopenfiles] ++ value=0 ++ [findinfileadialogfo.dir] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [findinfileadialogfo.mask] ++ value="*.pas" "*.pp" "*.inc" ++ history=0 ++ [findinfileadialogfo.subdirs] ++ value=0 ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=4 ++ y=37 ++ cx=821 ++ cy=500 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=156 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=125 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=43 ++ cx=358 ++ cy=531 ++ wsize=0 ++ active=1 ++ visible=1 ++ stringlisteditor=6 ++ [stringlisteditor] ++ stackedunder= ++ x=182 ++ y=208 ++ cx=275 ++ cy=237 ++ texteditor=15 ++ [msetexteditorfo] ++ stackedunder= ++ x=28 ++ y=54 ++ cx=432 ++ cy=492 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msetexteditorfo.filedialog] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ dbfieldeditor=12 ++ [msedbfieldeditorfo] ++ stackedunder= ++ x=60 ++ y=259 ++ cx=601 ++ cy=216 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msedbfieldeditorfo.splitter] ++ x=305 ++ y=24 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.mfm ++ mainfile=persons.pas ++ targetfile=persons${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -Fcutf8 ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=1 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ ++ line=1 ++ 0 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=251 ++ [mainfo] ++ stackedunder=mainfo.panel1 ++ x=18 ++ y=24 ++ cx=331 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5616 ++ [mainfo.openfile] ++ filenames=0 ++ lastdir=/home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/ ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.pas ++ /usr/local/lib/msegui/lib/common/kernel/i386-linux/mseguiintf.pas ++ /home/pochta/mseide_projects/persons.wiki/editform.mfm ++ /home/pochta/mseide_projects/persons.wiki/editform.mfm-bad ++ /home/pochta/mseide_projects/persons.1/occupationseditform.pas ++ /home/pochta/mseide_projects/persons.1/featureseditform.pas ++ /home/pochta/mseide_projects/persons.1/countrieseditform.pas ++ /home/pochta/mseide_projects/persons.1/continentseditform.pas ++ /home/pochta/mseide_projects/persons.1/planetseditform.pas ++ /home/pochta/mseide_projects/persons.1/commonrefeditform.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=527 ++ parent=mainfo.panel1.container ++ visible=1 ++ x=0 ++ y=0 ++ cx=818 ++ cy=447 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=15 ++ parent=mainfo.basedock ++ visible=1 ++ x=0 ++ y=0 ++ cx=331 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=watchfo ++ parent= ++ x=366 ++ y=20 ++ cx=377 ++ cy=123 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=1551 ++ parent=mainfo.panel1.container ++ visible=0 ++ x=0 ++ y=367 ++ cx=818 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=783 ++ stackedunder=breakpointsfo ++ parent= ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=6 ++ mouseeventinfoty(info) ++ info ++ mouseeventinfoty(info.mouseeventinfopo^) ++ QRYPERSONS__GETCHANGECOUNT ++ event ++ po1^[int1] ++ width1=152 ++ values2=6 ++ ++ ++ ++ ++ ++ ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=targetconsolefo ++ parent= ++ x=444 ++ y=34 ++ cx=275 ++ cy=498 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=89 ++ width1=170 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=stackfo ++ parent= ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=findinfilefo ++ parent= ++ x=317 ++ y=64 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=0 ++ width1=33 ++ values2=0 ++ width2=239 ++ width4=34 ++ values5=0 ++ width5=38 ++ values6=0 ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=projecttreefo ++ parent= ++ x=407 ++ y=178 ++ cx=555 ++ cy=479 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=cpufo ++ parent= ++ x=263 ++ y=431 ++ cx=286 ++ cy=201 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=objectinspectorfo ++ parent= ++ x=114 ++ y=171 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=threadsfo ++ parent= ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=watchpointsfo ++ parent= ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=disassfo ++ parent= ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1 ++ stackedunder=mainfo ++ parent= ++ x=121 ++ y=136 ++ cx=884 ++ cy=340 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2047 ++ stackedunder=formdesignerfo ++ parent= ++ x=43 ++ y=91 ++ cx=828 ++ cy=447 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=433 ++ hintheight=204 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=clipbo ++ findhistory=4 ++ clipbo ++ rowcount ++ 94250 ++ planetcha ++ findoptions=1 ++ editpos=1 ++ 0,0 ++ bookmarks0=0 ++ sourcefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.pas ++ ismoduletexts=1 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=200 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,138 ---- ++ object planetseditfo: tplanetseditfo ++ bounds_x = 93 ++ bounds_y = 171 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Planets editor' ++ icon.transparency = -2147483648 ++ oncreate = planetseditfocreated ++ ondestroy = planetseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_localcaption, as_localonexecute] ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption, as_localonexecute] ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ end ++ object grdPlanets: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 384 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ taborder = 2 ++ datasource = refsdatamo.dsPlanets ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 20 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Country name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 334 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seName' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdplanetsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 16 ++ object seName: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_cx = 334 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsPlanets ++ reffontheight = 16 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,164 ---- ++ unit planetseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,planetseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2932] of byte end = ++ (size: 2933; data: ( ++ 84,80,70,48,14,116,112,108,97,110,101,116,115,101,100,105,116,102,111,13, ++ 112,108,97,110,101,116,115,101,100,105,116,102,111,8,98,111,117,110,100,115, ++ 95,120,2,93,8,98,111,117,110,100,115,95,121,3,171,0,9,98,111,117, ++ 110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99,121,3, ++ 66,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,13, ++ 111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,120,3,146,1,19,99,111,110,116,97,105,110,101,114,46,98, ++ 111,117,110,100,115,95,99,121,3,66,1,21,99,111,110,116,97,105,110,101, ++ 114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,7,111,112,116,105, ++ 111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114, ++ 101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102, ++ 111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115, ++ 97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0, ++ 7,99,97,112,116,105,111,110,6,14,80,108,97,110,101,116,115,32,101,100, ++ 105,116,111,114,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110, ++ 99,121,4,0,0,0,128,8,111,110,99,114,101,97,116,101,7,20,112,108, ++ 97,110,101,116,115,101,100,105,116,102,111,99,114,101,97,116,101,100,9,111, ++ 110,100,101,115,116,114,111,121,7,22,112,108,97,110,101,116,115,101,100,105, ++ 116,102,111,100,101,115,116,114,111,121,101,100,15,109,111,100,117,108,101,99, ++ 108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,244, ++ 17,116,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,17,99, ++ 111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,49,9,98,111,117, ++ 110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99,121,3, ++ 66,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,120,3,146,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,121,3,66,1,21,99,111,110,116,97,105,110,101,114,46,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,17,105,99,111,110,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,0,241,7,116,98, ++ 117,116,116,111,110,10,98,116,110,83,97,118,101,65,108,108,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 8,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95, ++ 108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116, ++ 98,117,116,116,111,110,7,98,116,110,85,110,68,111,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,7,5, ++ 115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,15,97, ++ 115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111, ++ 99,97,108,111,110,101,120,101,99,117,116,101,0,0,0,241,7,116,98,117, ++ 116,116,111,110,6,98,116,110,65,100,100,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,5,5,115,116,97, ++ 116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17, ++ 97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0, ++ 241,7,116,98,117,116,116,111,110,9,98,116,110,68,101,108,101,116,101,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,4,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98, ++ 108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17, ++ 97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0,0,0, ++ 241,7,116,98,117,116,116,111,110,8,98,116,110,67,108,111,115,101,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,3,0,0,241,7,116,98,117,116,116,111,110,10,98,116,110,85,110, ++ 68,111,65,108,108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,6,5,115,116,97,116,101,11,11,97,115, ++ 95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99, ++ 117,116,101,0,0,0,241,6,116,108,97,98,101,108,14,108,98,108,65,100, ++ 100,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,0,0,241,6,116,108,97,98,101,108,16,108,98,108,67,104,97, ++ 110,103,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,0,0,242,2,8,13,116,100,98,119,105,100,103,101,116,103, ++ 114,105,100,10,103,114,100,80,108,97,110,101,116,115,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97, ++ 99,107,111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101, ++ 108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18, ++ 111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95, ++ 120,2,8,8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100, ++ 115,95,99,120,3,128,1,9,98,111,117,110,100,115,95,99,121,3,218,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111, ++ 114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8,97, ++ 110,95,114,105,103,104,116,0,8,116,97,98,111,114,100,101,114,2,2,10, ++ 100,97,116,97,115,111,117,114,99,101,7,20,114,101,102,115,100,97,116,97, ++ 109,111,46,100,115,80,108,97,110,101,116,115,13,102,105,120,99,111,108,115, ++ 46,99,111,117,110,116,2,1,13,102,105,120,99,111,108,115,46,105,116,101, ++ 109,115,14,1,5,119,105,100,116,104,2,29,8,110,117,109,115,116,97,114, ++ 116,2,1,7,110,117,109,115,116,101,112,2,1,0,0,13,102,105,120,114, ++ 111,119,115,46,99,111,117,110,116,2,1,13,102,105,120,114,111,119,115,46, ++ 105,116,101,109,115,14,1,5,99,111,108,111,114,4,20,0,0,160,6,104, ++ 101,105,103,104,116,2,20,14,99,97,112,116,105,111,110,115,46,99,111,117, ++ 110,116,2,1,14,99,97,112,116,105,111,110,115,46,105,116,101,109,115,14, ++ 1,7,99,97,112,116,105,111,110,6,12,67,111,117,110,116,114,121,32,110, ++ 97,109,101,0,0,17,99,97,112,116,105,111,110,115,102,105,120,46,99,111, ++ 117,110,116,2,1,17,99,97,112,116,105,111,110,115,102,105,120,46,105,116, ++ 101,109,115,14,1,7,99,97,112,116,105,111,110,18,1,0,0,0,22,33, ++ 0,0,0,0,15,114,111,119,99,111,108,111,114,115,46,99,111,117,110,116, ++ 2,2,15,114,111,119,99,111,108,111,114,115,46,105,116,101,109,115,1,4, ++ 0,192,255,0,4,8,0,0,160,0,14,100,97,116,97,99,111,108,115,46, ++ 99,111,117,110,116,2,1,14,100,97,116,97,99,111,108,115,46,105,116,101, ++ 109,115,14,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101, ++ 102,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,5,119,105,100,116,104,3,78,1,7,111,112, ++ 116,105,111,110,115,11,7,99,111,95,102,105,108,108,12,99,111,95,115,97, ++ 118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101, ++ 10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111, ++ 108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,0,10,119, ++ 105,100,103,101,116,110,97,109,101,6,6,115,101,78,97,109,101,0,0,16, ++ 100,97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100, ++ 111,95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95, ++ 116,104,117,109,98,116,114,97,99,107,0,24,100,97,116,97,108,105,110,107, ++ 46,111,110,117,112,100,97,116,101,114,111,119,100,97,116,97,7,23,103,114, ++ 100,112,108,97,110,101,116,115,117,112,100,97,116,101,114,111,119,100,97,116, ++ 97,13,100,97,116,97,114,111,119,104,101,105,103,104,116,2,22,13,114,101, ++ 102,102,111,110,116,104,101,105,103,104,116,2,16,0,13,116,100,98,115,116, ++ 114,105,110,103,101,100,105,116,6,115,101,78,97,109,101,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102, ++ 111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119, ++ 104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101, ++ 116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104, ++ 116,0,9,98,111,117,110,100,115,95,99,120,3,78,1,9,98,111,117,110, ++ 100,115,95,99,121,2,22,12,102,114,97,109,101,46,108,101,118,101,108,111, ++ 2,0,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116, ++ 4,3,0,0,128,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,108,101,118,101,108,111,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,7,118,105,115,105,98,108,101,8,11,111,112,116,105,111, ++ 110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111,110,101,115,99, ++ 13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101,95,99,104, ++ 101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120,105,116,111, ++ 110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116,114,101,116,117, ++ 114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20,111,101,95,114, ++ 101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13,111,101,95, ++ 101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117,116,111,115,101, ++ 108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101,99,116,111,110, ++ 102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111,116,110,117,108, ++ 108,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101,95,97,117,116, ++ 111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121,101,120,101, ++ 99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101,12,111,101, ++ 95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102,105,101,108, ++ 100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117,114,99,101,7, ++ 20,114,101,102,115,100,97,116,97,109,111,46,100,115,80,108,97,110,101,116, ++ 115,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,16,0,0,0, ++ 241,7,116,97,99,116,105,111,110,10,97,99,116,83,97,118,101,65,108,108, ++ 0,0,241,7,116,97,99,116,105,111,110,7,97,99,116,85,110,68,111,0, ++ 0,241,7,116,97,99,116,105,111,110,6,97,99,116,65,100,100,0,0,241, ++ 7,116,97,99,116,105,111,110,9,97,99,116,68,101,108,101,116,101,0,0, ++ 241,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101,10,100,115,67, ++ 111,110,116,101,110,116,115,0,0,241,7,116,97,99,116,105,111,110,10,97, ++ 99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tplanetseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/planetseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/planetseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,55 ---- ++ unit planetseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit, ++ msegrids, // provides "tcustomgrid" ++ db // // provides "tdataset" ++ ; ++ ++ type ++ tplanetseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdPlanets: tdbwidgetgrid; ++ seName: tdbstringedit; ++ procedure planetseditfodestroyed(const sender: TObject); ++ procedure planetseditfocreated(const sender: TObject); ++ procedure grdplanetsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ ++ var ++ planetseditfo: tplanetseditfo; ++ ++ implementation ++ ++ uses ++ planetseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure tplanetseditfo.planetseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tplanetseditfo.planetseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdPlanets.datasource.dataset; ++ end; ++ ++ procedure tplanetseditfo.grdplanetsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,371 ---- ++ object refsdatamo: trefsdatamo ++ left = 162 ++ top = 223 ++ moduleclassname = 'tmsedatamodule' ++ size = ( ++ 417 ++ 186 ++ ) ++ object qryPlanets: tmsesqlquery ++ Active = True ++ Database = mainfo.conn ++ Transaction = mainfo.trans ++ SQL.Strings = ( ++ 'select * from planets order by id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 1 ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 16 ++ end ++ object qryContinents: tmsesqlquery ++ Active = True ++ BeforeOpen = qrycontinentsbeforeopen ++ Database = mainfo.conn ++ Transaction = mainfo.trans ++ SQL.Strings = ( ++ 'select * from continents order by id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'planet_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 1 ++ ProviderFlags = [pfInKey] ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'planet_id' ++ Index = 2 ++ ProviderFlags = [pfInUpdate] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 48 ++ end ++ object qryCountries: tmsesqlquery ++ Active = True ++ BeforeOpen = qrycountriesbeforeopen ++ Database = mainfo.conn ++ Transaction = mainfo.trans ++ SQL.Strings = ( ++ 'select * from countries order by id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'continent_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 1 ++ ProviderFlags = [pfInKey] ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'continent_id' ++ Index = 2 ++ ProviderFlags = [pfInUpdate] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 80 ++ end ++ object qryOccupations: tmsesqlquery ++ Active = True ++ Database = mainfo.conn ++ Transaction = mainfo.trans ++ SQL.Strings = ( ++ 'select * from occupations order by id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 1 ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 112 ++ end ++ object qryFeatures: tmsesqlquery ++ Active = True ++ Database = mainfo.conn ++ Transaction = mainfo.trans ++ SQL.Strings = ( ++ 'select * from features order by id;' ++ ) ++ IndexDefs = <> ++ Params = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 1 ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 144 ++ end ++ object dsPlanets: tmsedatasource ++ DataSet = qryPlanets ++ left = 144 ++ top = 16 ++ end ++ object dsContinents: tmsedatasource ++ DataSet = qryContinents ++ left = 144 ++ top = 48 ++ end ++ object dsOccupations: tmsedatasource ++ DataSet = qryOccupations ++ left = 144 ++ top = 112 ++ end ++ object dsFeatures: tmsedatasource ++ DataSet = qryFeatures ++ left = 144 ++ top = 144 ++ end ++ object dsCountries: tmsedatasource ++ DataSet = qryCountries ++ left = 144 ++ top = 80 ++ end ++ object lbufPlanets: tdblookupbuffer ++ datasource = dsPlanets ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 16 ++ end ++ object lbufContinents: tdblookupbuffer ++ datasource = dsContinents ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 2 ++ integerfields.items = ( ++ 'id' ++ 'planet_id' ++ ) ++ left = 272 ++ top = 48 ++ end ++ object lbufCountries: tdblookupbuffer ++ datasource = dsCountries ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 2 ++ integerfields.items = ( ++ 'id' ++ 'continent_id' ++ ) ++ left = 272 ++ top = 80 ++ end ++ object lbufOccupations: tdblookupbuffer ++ datasource = dsOccupations ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 112 ++ end ++ object lbufFeatures: tdblookupbuffer ++ datasource = dsFeatures ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 144 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,238 ---- ++ unit refsdatamodule_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,refsdatamodule; ++ ++ const ++ objdata: record size: integer; data: array[0..4414] of byte end = ++ (size: 4415; data: ( ++ 84,80,70,48,11,116,114,101,102,115,100,97,116,97,109,111,10,114,101,102, ++ 115,100,97,116,97,109,111,4,108,101,102,116,3,162,0,3,116,111,112,3, ++ 223,0,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,14, ++ 116,109,115,101,100,97,116,97,109,111,100,117,108,101,4,115,105,122,101,1, ++ 3,161,1,3,186,0,0,0,12,116,109,115,101,115,113,108,113,117,101,114, ++ 121,10,113,114,121,80,108,97,110,101,116,115,6,65,99,116,105,118,101,9, ++ 8,68,97,116,97,98,97,115,101,7,11,109,97,105,110,102,111,46,99,111, ++ 110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12,109,97,105,110, ++ 102,111,46,116,114,97,110,115,11,83,81,76,46,83,116,114,105,110,103,115, ++ 1,6,34,115,101,108,101,99,116,32,42,32,102,114,111,109,32,112,108,97, ++ 110,101,116,115,32,111,114,100,101,114,32,98,121,32,105,100,59,0,9,73, ++ 110,100,101,120,68,101,102,115,14,0,6,80,97,114,97,109,115,14,0,18, ++ 85,115,101,80,114,105,109,97,114,121,75,101,121,65,115,75,101,121,8,13, ++ 83,116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108, ++ 101,99,116,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101, ++ 6,2,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116, ++ 101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122, ++ 101,2,4,0,1,4,78,97,109,101,6,5,100,101,115,99,114,8,68,97, ++ 116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99,105, ++ 115,105,111,110,2,255,4,83,105,122,101,2,4,0,0,23,99,111,110,116, ++ 114,111,108,108,101,114,46,102,105,101,108,100,115,46,99,111,117,110,116,2, ++ 2,24,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46, ++ 102,105,101,108,100,115,1,1,7,10,102,116,95,108,111,110,103,105,110,116, ++ 7,7,102,116,95,109,101,109,111,0,14,1,9,65,108,105,103,110,77,101, ++ 110,116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78, ++ 97,109,101,6,2,105,100,5,73,110,100,101,120,2,1,13,80,114,111,118, ++ 105,100,101,114,70,108,97,103,115,11,7,112,102,73,110,75,101,121,0,0, ++ 1,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101, ++ 108,100,78,97,109,101,6,5,100,101,115,99,114,4,83,105,122,101,2,4, ++ 13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,0,0,0,4,108, ++ 101,102,116,2,16,3,116,111,112,2,16,0,0,12,116,109,115,101,115,113, ++ 108,113,117,101,114,121,13,113,114,121,67,111,110,116,105,110,101,110,116,115, ++ 6,65,99,116,105,118,101,9,10,66,101,102,111,114,101,79,112,101,110,7, ++ 23,113,114,121,99,111,110,116,105,110,101,110,116,115,98,101,102,111,114,101, ++ 111,112,101,110,8,68,97,116,97,98,97,115,101,7,11,109,97,105,110,102, ++ 111,46,99,111,110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12, ++ 109,97,105,110,102,111,46,116,114,97,110,115,11,83,81,76,46,83,116,114, ++ 105,110,103,115,1,6,37,115,101,108,101,99,116,32,42,32,102,114,111,109, ++ 32,99,111,110,116,105,110,101,110,116,115,32,111,114,100,101,114,32,98,121, ++ 32,105,100,59,0,9,73,110,100,101,120,68,101,102,115,14,0,6,80,97, ++ 114,97,109,115,14,0,18,85,115,101,80,114,105,109,97,114,121,75,101,121, ++ 65,115,75,101,121,8,13,83,116,97,116,101,109,101,110,116,84,121,112,101, ++ 7,8,115,116,83,101,108,101,99,116,9,70,105,101,108,100,68,101,102,115, ++ 14,1,4,78,97,109,101,6,2,105,100,8,68,97,116,97,84,121,112,101, ++ 7,9,102,116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111, ++ 110,2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,9,112, ++ 108,97,110,101,116,95,105,100,8,68,97,116,97,84,121,112,101,7,9,102, ++ 116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,5,100,101,115,99, ++ 114,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80, ++ 114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,0,23, ++ 99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46,99,111, ++ 117,110,116,2,3,24,99,111,110,116,114,111,108,108,101,114,46,102,105,101, ++ 108,100,115,46,102,105,101,108,100,115,1,1,7,10,102,116,95,108,111,110, ++ 103,105,110,116,7,10,102,116,95,108,111,110,103,105,110,116,7,7,102,116, ++ 95,109,101,109,111,0,14,1,9,65,108,105,103,110,77,101,110,116,7,14, ++ 116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 2,105,100,5,73,110,100,101,120,2,1,13,80,114,111,118,105,100,101,114, ++ 70,108,97,103,115,11,7,112,102,73,110,75,101,121,0,0,1,9,65,108, ++ 105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115,116, ++ 105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70, ++ 105,101,108,100,78,97,109,101,6,9,112,108,97,110,101,116,95,105,100,5, ++ 73,110,100,101,120,2,2,13,80,114,111,118,105,100,101,114,70,108,97,103, ++ 115,11,10,112,102,73,110,85,112,100,97,116,101,0,0,1,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,5,100,101,115,99,114,4,83,105,122,101,2,4,13,84,114,97,110, ++ 115,108,105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16, ++ 3,116,111,112,2,48,0,0,12,116,109,115,101,115,113,108,113,117,101,114, ++ 121,12,113,114,121,67,111,117,110,116,114,105,101,115,6,65,99,116,105,118, ++ 101,9,10,66,101,102,111,114,101,79,112,101,110,7,22,113,114,121,99,111, ++ 117,110,116,114,105,101,115,98,101,102,111,114,101,111,112,101,110,8,68,97, ++ 116,97,98,97,115,101,7,11,109,97,105,110,102,111,46,99,111,110,110,11, ++ 84,114,97,110,115,97,99,116,105,111,110,7,12,109,97,105,110,102,111,46, ++ 116,114,97,110,115,11,83,81,76,46,83,116,114,105,110,103,115,1,6,36, ++ 115,101,108,101,99,116,32,42,32,102,114,111,109,32,99,111,117,110,116,114, ++ 105,101,115,32,111,114,100,101,114,32,98,121,32,105,100,59,0,9,73,110, ++ 100,101,120,68,101,102,115,14,0,6,80,97,114,97,109,115,14,0,18,85, ++ 115,101,80,114,105,109,97,114,121,75,101,121,65,115,75,101,121,8,13,83, ++ 116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108,101, ++ 99,116,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101,6, ++ 2,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101, ++ 103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,4,0,1,4,78,97,109,101,6,12,99,111,110,116,105,110,101,110,116, ++ 95,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101, ++ 103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,4,0,1,4,78,97,109,101,6,5,100,101,115,99,114,8,68,97,116, ++ 97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99,105,115, ++ 105,111,110,2,255,4,83,105,122,101,2,4,0,0,23,99,111,110,116,114, ++ 111,108,108,101,114,46,102,105,101,108,100,115,46,99,111,117,110,116,2,3, ++ 24,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46,102, ++ 105,101,108,100,115,1,1,7,10,102,116,95,108,111,110,103,105,110,116,7, ++ 10,102,116,95,108,111,110,103,105,110,116,7,7,102,116,95,109,101,109,111, ++ 0,14,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103, ++ 104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100, ++ 116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,2,105,100,5,73, ++ 110,100,101,120,2,1,13,80,114,111,118,105,100,101,114,70,108,97,103,115, ++ 11,7,112,102,73,110,75,101,121,0,0,1,9,65,108,105,103,110,77,101, ++ 110,116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78, ++ 97,109,101,6,12,99,111,110,116,105,110,101,110,116,95,105,100,5,73,110, ++ 100,101,120,2,2,13,80,114,111,118,105,100,101,114,70,108,97,103,115,11, ++ 10,112,102,73,110,85,112,100,97,116,101,0,0,1,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 5,100,101,115,99,114,4,83,105,122,101,2,4,13,84,114,97,110,115,108, ++ 105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16,3,116, ++ 111,112,2,80,0,0,12,116,109,115,101,115,113,108,113,117,101,114,121,14, ++ 113,114,121,79,99,99,117,112,97,116,105,111,110,115,6,65,99,116,105,118, ++ 101,9,8,68,97,116,97,98,97,115,101,7,11,109,97,105,110,102,111,46, ++ 99,111,110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12,109,97, ++ 105,110,102,111,46,116,114,97,110,115,11,83,81,76,46,83,116,114,105,110, ++ 103,115,1,6,38,115,101,108,101,99,116,32,42,32,102,114,111,109,32,111, ++ 99,99,117,112,97,116,105,111,110,115,32,111,114,100,101,114,32,98,121,32, ++ 105,100,59,0,9,73,110,100,101,120,68,101,102,115,14,0,6,80,97,114, ++ 97,109,115,14,0,18,85,115,101,80,114,105,109,97,114,121,75,101,121,65, ++ 115,75,101,121,8,13,83,116,97,116,101,109,101,110,116,84,121,112,101,7, ++ 8,115,116,83,101,108,101,99,116,9,70,105,101,108,100,68,101,102,115,14, ++ 1,4,78,97,109,101,6,2,105,100,8,68,97,116,97,84,121,112,101,7, ++ 9,102,116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110, ++ 2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,5,100,101, ++ 115,99,114,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 0,23,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46, ++ 99,111,117,110,116,2,2,24,99,111,110,116,114,111,108,108,101,114,46,102, ++ 105,101,108,100,115,46,102,105,101,108,100,115,1,1,7,10,102,116,95,108, ++ 111,110,103,105,110,116,7,7,102,116,95,109,101,109,111,0,14,1,9,65, ++ 108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115, ++ 116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9, ++ 70,105,101,108,100,78,97,109,101,6,2,105,100,5,73,110,100,101,120,2, ++ 1,13,80,114,111,118,105,100,101,114,70,108,97,103,115,11,7,112,102,73, ++ 110,75,101,121,0,0,1,12,68,105,115,112,108,97,121,87,105,100,116,104, ++ 2,10,9,70,105,101,108,100,78,97,109,101,6,5,100,101,115,99,114,4, ++ 83,105,122,101,2,4,13,84,114,97,110,115,108,105,116,101,114,97,116,101, ++ 8,0,0,0,4,108,101,102,116,2,16,3,116,111,112,2,112,0,0,12, ++ 116,109,115,101,115,113,108,113,117,101,114,121,11,113,114,121,70,101,97,116, ++ 117,114,101,115,6,65,99,116,105,118,101,9,8,68,97,116,97,98,97,115, ++ 101,7,11,109,97,105,110,102,111,46,99,111,110,110,11,84,114,97,110,115, ++ 97,99,116,105,111,110,7,12,109,97,105,110,102,111,46,116,114,97,110,115, ++ 11,83,81,76,46,83,116,114,105,110,103,115,1,6,35,115,101,108,101,99, ++ 116,32,42,32,102,114,111,109,32,102,101,97,116,117,114,101,115,32,111,114, ++ 100,101,114,32,98,121,32,105,100,59,0,9,73,110,100,101,120,68,101,102, ++ 115,14,0,6,80,97,114,97,109,115,14,0,18,85,115,101,80,114,105,109, ++ 97,114,121,75,101,121,65,115,75,101,121,8,13,83,116,97,116,101,109,101, ++ 110,116,84,121,112,101,7,8,115,116,83,101,108,101,99,116,9,70,105,101, ++ 108,100,68,101,102,115,14,1,4,78,97,109,101,6,2,105,100,8,68,97, ++ 116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114,9,80,114, ++ 101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4,78, ++ 97,109,101,6,5,100,101,115,99,114,8,68,97,116,97,84,121,112,101,7, ++ 6,102,116,77,101,109,111,9,80,114,101,99,105,115,105,111,110,2,255,4, ++ 83,105,122,101,2,4,0,0,23,99,111,110,116,114,111,108,108,101,114,46, ++ 102,105,101,108,100,115,46,99,111,117,110,116,2,2,24,99,111,110,116,114, ++ 111,108,108,101,114,46,102,105,101,108,100,115,46,102,105,101,108,100,115,1, ++ 1,7,10,102,116,95,108,111,110,103,105,110,116,7,7,102,116,95,109,101, ++ 109,111,0,14,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82, ++ 105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87, ++ 105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,2,105,100, ++ 5,73,110,100,101,120,2,1,13,80,114,111,118,105,100,101,114,70,108,97, ++ 103,115,11,7,112,102,73,110,75,101,121,0,0,1,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 5,100,101,115,99,114,4,83,105,122,101,2,4,13,84,114,97,110,115,108, ++ 105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16,3,116, ++ 111,112,3,144,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114, ++ 99,101,9,100,115,80,108,97,110,101,116,115,7,68,97,116,97,83,101,116, ++ 7,10,113,114,121,80,108,97,110,101,116,115,4,108,101,102,116,3,144,0, ++ 3,116,111,112,2,16,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,12,100,115,67,111,110,116,105,110,101,110,116,115,7,68,97,116, ++ 97,83,101,116,7,13,113,114,121,67,111,110,116,105,110,101,110,116,115,4, ++ 108,101,102,116,3,144,0,3,116,111,112,2,48,0,0,14,116,109,115,101, ++ 100,97,116,97,115,111,117,114,99,101,13,100,115,79,99,99,117,112,97,116, ++ 105,111,110,115,7,68,97,116,97,83,101,116,7,14,113,114,121,79,99,99, ++ 117,112,97,116,105,111,110,115,4,108,101,102,116,3,144,0,3,116,111,112, ++ 2,112,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101,10, ++ 100,115,70,101,97,116,117,114,101,115,7,68,97,116,97,83,101,116,7,11, ++ 113,114,121,70,101,97,116,117,114,101,115,4,108,101,102,116,3,144,0,3, ++ 116,111,112,3,144,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,11,100,115,67,111,117,110,116,114,105,101,115,7,68,97,116,97, ++ 83,101,116,7,12,113,114,121,67,111,117,110,116,114,105,101,115,4,108,101, ++ 102,116,3,144,0,3,116,111,112,2,80,0,0,15,116,100,98,108,111,111, ++ 107,117,112,98,117,102,102,101,114,11,108,98,117,102,80,108,97,110,101,116, ++ 115,10,100,97,116,97,115,111,117,114,99,101,7,9,100,115,80,108,97,110, ++ 101,116,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116, ++ 2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1, ++ 6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108, ++ 100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102,105, ++ 101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101,102, ++ 116,3,16,1,3,116,111,112,2,16,0,0,15,116,100,98,108,111,111,107, ++ 117,112,98,117,102,102,101,114,14,108,98,117,102,67,111,110,116,105,110,101, ++ 110,116,115,10,100,97,116,97,115,111,117,114,99,101,7,12,100,115,67,111, ++ 110,116,105,110,101,110,116,115,16,116,101,120,116,102,105,101,108,100,115,46, ++ 99,111,117,110,116,2,1,16,116,101,120,116,102,105,101,108,100,115,46,105, ++ 116,101,109,115,1,6,5,100,101,115,99,114,0,19,105,110,116,101,103,101, ++ 114,102,105,101,108,100,115,46,99,111,117,110,116,2,2,19,105,110,116,101, ++ 103,101,114,102,105,101,108,100,115,46,105,116,101,109,115,1,6,2,105,100, ++ 6,9,112,108,97,110,101,116,95,105,100,0,4,108,101,102,116,3,16,1, ++ 3,116,111,112,2,48,0,0,15,116,100,98,108,111,111,107,117,112,98,117, ++ 102,102,101,114,13,108,98,117,102,67,111,117,110,116,114,105,101,115,10,100, ++ 97,116,97,115,111,117,114,99,101,7,11,100,115,67,111,117,110,116,114,105, ++ 101,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116,2, ++ 1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1,6, ++ 5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108,100, ++ 115,46,99,111,117,110,116,2,2,19,105,110,116,101,103,101,114,102,105,101, ++ 108,100,115,46,105,116,101,109,115,1,6,2,105,100,6,12,99,111,110,116, ++ 105,110,101,110,116,95,105,100,0,4,108,101,102,116,3,16,1,3,116,111, ++ 112,2,80,0,0,15,116,100,98,108,111,111,107,117,112,98,117,102,102,101, ++ 114,15,108,98,117,102,79,99,99,117,112,97,116,105,111,110,115,10,100,97, ++ 116,97,115,111,117,114,99,101,7,13,100,115,79,99,99,117,112,97,116,105, ++ 111,110,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116, ++ 2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1, ++ 6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108, ++ 100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102,105, ++ 101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101,102, ++ 116,3,16,1,3,116,111,112,2,112,0,0,15,116,100,98,108,111,111,107, ++ 117,112,98,117,102,102,101,114,12,108,98,117,102,70,101,97,116,117,114,101, ++ 115,10,100,97,116,97,115,111,117,114,99,101,7,10,100,115,70,101,97,116, ++ 117,114,101,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110, ++ 116,2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115, ++ 1,6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101, ++ 108,100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102, ++ 105,101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101, ++ 102,116,3,16,1,3,116,111,112,3,144,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,trefsdatamo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_1_0/refsdatamodule.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,45 ---- ++ unit refsdatamodule; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesqldb,msedb,mselookupbuffer,msedatamodules,db; ++ ++ type ++ trefsdatamo = class(tmsedatamodule) ++ qryPlanets: tmsesqlquery; ++ qryContinents: tmsesqlquery; ++ qryCountries: tmsesqlquery; ++ qryOccupations: tmsesqlquery; ++ qryFeatures: tmsesqlquery; ++ dsPlanets: tmsedatasource; ++ dsContinents: tmsedatasource; ++ dsOccupations: tmsedatasource; ++ dsFeatures: tmsedatasource; ++ dsCountries: tmsedatasource; ++ lbufPlanets: tdblookupbuffer; ++ lbufContinents: tdblookupbuffer; ++ lbufCountries: tdblookupbuffer; ++ lbufOccupations: tdblookupbuffer; ++ lbufFeatures: tdblookupbuffer; ++ procedure qrycountriesbeforeopen(DataSet: TDataSet); ++ procedure qrycontinentsbeforeopen(DataSet: TDataSet); ++ end; ++ var ++ refsdatamo: trefsdatamo; ++ implementation ++ uses ++ refsdatamodule_mfm; ++ ++ procedure trefsdatamo.qrycountriesbeforeopen(DataSet: TDataSet); ++ begin ++ qryContinents.active:= true; ++ end; ++ ++ procedure trefsdatamo.qrycontinentsbeforeopen(DataSet: TDataSet); ++ begin ++ qryPlanets.active:= true; ++ end; ++ ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,179 ---- ++ object commonrefseditfo: tcommonrefseditfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 61 ++ bounds_y = 155 ++ bounds_cx = 401 ++ bounds_cy = 323 ++ anchors = [] ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 401 ++ container.bounds_cy = 323 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ onclosequery = commonrefseditfoclosequery ++ moduleclassname = 'tmseform' ++ object btnSaveAll: tbutton ++ bounds_x = 8 ++ bounds_y = 232 ++ bounds_cx = 74 ++ bounds_cy = 28 ++ frame.colorclient = 16763135 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_disabled, as_localcaption] ++ action = actSaveAll ++ caption = 'Save All' ++ end ++ object btnUnDo: tbutton ++ bounds_x = 168 ++ bounds_y = 232 ++ bounds_cx = 58 ++ bounds_cy = 28 ++ frame.colorclient = -1879048188 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 6 ++ state = [as_disabled, as_localcaption] ++ action = actUnDo ++ caption = 'UnDo' ++ end ++ object btnAdd: tbutton ++ bounds_x = 240 ++ bounds_y = 232 ++ bounds_cx = 66 ++ bounds_cy = 28 ++ frame.colorclient = 13158650 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 4 ++ state = [as_localcaption] ++ action = actAdd ++ caption = 'Add' ++ end ++ object btnDelete: tbutton ++ bounds_x = 320 ++ bounds_y = 232 ++ bounds_cx = 74 ++ bounds_cy = 28 ++ frame.colorclient = 16763080 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 3 ++ state = [as_disabled, as_localcaption] ++ action = actDelete ++ caption = 'Delete' ++ end ++ object btnClose: tbutton ++ bounds_x = 128 ++ bounds_y = 272 ++ bounds_cx = 266 ++ bounds_cy = 44 ++ frame.colorclient = -1610612714 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 2 ++ state = [as_localcaption] ++ caption = 'Close' ++ modalresult = mr_windowclosed ++ end ++ object btnUnDoAll: tbutton ++ bounds_x = 96 ++ bounds_y = 232 ++ bounds_cx = 66 ++ bounds_cy = 28 ++ frame.colorclient = -1879048188 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 5 ++ state = [as_disabled, as_localcaption] ++ action = actUnDoAll ++ caption = 'UnDo All' ++ end ++ object lblAddedLegend: tlabel ++ optionswidget = [ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 272 ++ bounds_cx = 83 ++ bounds_cy = 16 ++ frame.leveli = -2 ++ frame.colorclient = 16760832 ++ frame.caption = 'added' ++ frame.captionpos = cp_right ++ frame.captiondist = 10 ++ frame.localprops = [frl_leveli, frl_framewidth, frl_colorframe, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 47 ++ 0 ++ ) ++ taborder = 1 ++ reffontheight = 14 ++ end ++ object lblChangedLegend: tlabel ++ optionswidget = [ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 296 ++ bounds_cx = 96 ++ bounds_cy = 16 ++ frame.leveli = -2 ++ frame.colorclient = -1610612728 ++ frame.caption = 'changed' ++ frame.captionpos = cp_right ++ frame.captiondist = 10 ++ frame.localprops = [frl_leveli, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 60 ++ 0 ++ ) ++ reffontheight = 14 ++ end ++ object actSaveAll: taction ++ state = [as_disabled] ++ onexecute = saveallexecute ++ left = 8 ++ top = 192 ++ end ++ object actUnDo: taction ++ state = [as_disabled] ++ onexecute = undoexecute ++ left = 160 ++ top = 192 ++ end ++ object actAdd: taction ++ onexecute = addexecute ++ left = 240 ++ top = 192 ++ end ++ object actDelete: taction ++ state = [as_disabled] ++ onexecute = deleteexecute ++ left = 312 ++ top = 192 ++ end ++ object dsContents: tmsedatasource ++ OnDataChange = contentschange ++ left = 152 ++ top = 168 ++ end ++ object actUnDoAll: taction ++ state = [as_disabled] ++ onexecute = undoallexecute ++ left = 80 ++ top = 192 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,179 ---- ++ unit commonrefseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,commonrefseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..3234] of byte end = ++ (size: 3235; data: ( ++ 84,80,70,48,17,116,99,111,109,109,111,110,114,101,102,115,101,100,105,116, ++ 102,111,16,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,61,8,98,111,117,110,100,115, ++ 95,121,3,155,0,9,98,111,117,110,100,115,95,99,120,3,145,1,9,98, ++ 111,117,110,100,115,95,99,121,3,67,1,7,97,110,99,104,111,114,115,11, ++ 0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97,105,110, ++ 101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119, ++ 95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114, ++ 97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120, ++ 2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,120,3,145,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,121,3,67,1,21,99,111,110,116,97,105,110,101,114,46, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,17,105,99,111,110,46,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,12,111,110,99, ++ 108,111,115,101,113,117,101,114,121,7,26,99,111,109,109,111,110,114,101,102, ++ 115,101,100,105,116,102,111,99,108,111,115,101,113,117,101,114,121,15,109,111, ++ 100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102, ++ 111,114,109,0,7,116,98,117,116,116,111,110,10,98,116,110,83,97,118,101, ++ 65,108,108,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100, ++ 115,95,121,3,232,0,9,98,111,117,110,100,115,95,99,120,2,74,9,98, ++ 111,117,110,100,115,95,99,121,2,28,17,102,114,97,109,101,46,99,111,108, ++ 111,114,99,108,105,101,110,116,4,255,200,255,0,16,102,114,97,109,101,46, ++ 108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111, ++ 114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112,108, ++ 97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116,111,110, ++ 115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111, ++ 114,100,101,114,2,7,5,115,116,97,116,101,11,11,97,115,95,100,105,115, ++ 97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,0,6,97,99,116,105,111,110,7,10,97,99,116,83,97,118,101,65,108, ++ 108,7,99,97,112,116,105,111,110,6,8,83,97,118,101,32,65,108,108,0, ++ 0,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68,111,8,98,111, ++ 117,110,100,115,95,120,3,168,0,8,98,111,117,110,100,115,95,121,3,232, ++ 0,9,98,111,117,110,100,115,95,99,120,2,58,9,98,111,117,110,100,115, ++ 95,99,121,2,28,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105, ++ 101,110,116,4,4,0,0,144,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101, ++ 110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,16, ++ 109,97,105,110,102,111,46,102,116,66,117,116,116,111,110,115,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 6,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97,99, ++ 116,105,111,110,7,7,97,99,116,85,110,68,111,7,99,97,112,116,105,111, ++ 110,6,4,85,110,68,111,0,0,7,116,98,117,116,116,111,110,6,98,116, ++ 110,65,100,100,8,98,111,117,110,100,115,95,120,3,240,0,8,98,111,117, ++ 110,100,115,95,121,3,232,0,9,98,111,117,110,100,115,95,99,120,2,66, ++ 9,98,111,117,110,100,115,95,99,121,2,28,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,250,200,200,0,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111, ++ 108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109, ++ 112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116, ++ 111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,4,5,115,116,97,116,101,11,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,0,6,97,99,116,105,111,110,7, ++ 6,97,99,116,65,100,100,7,99,97,112,116,105,111,110,6,3,65,100,100, ++ 0,0,7,116,98,117,116,116,111,110,9,98,116,110,68,101,108,101,116,101, ++ 8,98,111,117,110,100,115,95,120,3,64,1,8,98,111,117,110,100,115,95, ++ 121,3,232,0,9,98,111,117,110,100,115,95,99,120,2,74,9,98,111,117, ++ 110,100,115,95,99,121,2,28,17,102,114,97,109,101,46,99,111,108,111,114, ++ 99,108,105,101,110,116,4,200,200,255,0,16,102,114,97,109,101,46,108,111, ++ 99,97,108,112,114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99, ++ 108,105,101,110,116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116, ++ 101,7,16,109,97,105,110,102,111,46,102,116,66,117,116,116,111,110,115,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,3,5,115,116,97,116,101,11,11,97,115,95,100,105,115,97,98, ++ 108,101,100,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0, ++ 6,97,99,116,105,111,110,7,9,97,99,116,68,101,108,101,116,101,7,99, ++ 97,112,116,105,111,110,6,6,68,101,108,101,116,101,0,0,7,116,98,117, ++ 116,116,111,110,8,98,116,110,67,108,111,115,101,8,98,111,117,110,100,115, ++ 95,120,3,128,0,8,98,111,117,110,100,115,95,121,3,16,1,9,98,111, ++ 117,110,100,115,95,99,120,3,10,1,9,98,111,117,110,100,115,95,99,121, ++ 2,44,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110,116, ++ 4,22,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0, ++ 14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,16,109,97,105, ++ 110,102,111,46,102,116,66,117,116,116,111,110,115,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,0,7,99,97,112,116,105,111,110,6,5,67,108,111,115,101,11,109,111, ++ 100,97,108,114,101,115,117,108,116,7,15,109,114,95,119,105,110,100,111,119, ++ 99,108,111,115,101,100,0,0,7,116,98,117,116,116,111,110,10,98,116,110, ++ 85,110,68,111,65,108,108,8,98,111,117,110,100,115,95,120,2,96,8,98, ++ 111,117,110,100,115,95,121,3,232,0,9,98,111,117,110,100,115,95,99,120, ++ 2,66,9,98,111,117,110,100,115,95,99,121,2,28,17,102,114,97,109,101, ++ 46,99,111,108,111,114,99,108,105,101,110,116,4,4,0,0,144,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,14,102,114,97,109,101,46,116, ++ 101,109,112,108,97,116,101,7,16,109,97,105,110,102,111,46,102,116,66,117, ++ 116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,5,5,115,116,97,116,101,11,11,97,115, ++ 95,100,105,115,97,98,108,101,100,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,6,97,99,116,105,111,110,7,10,97,99,116,85,110, ++ 68,111,65,108,108,7,99,97,112,116,105,111,110,6,8,85,110,68,111,32, ++ 65,108,108,0,0,6,116,108,97,98,101,108,14,108,98,108,65,100,100,101, ++ 100,76,101,103,101,110,100,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,3,16,1,9,98,111,117,110,100,115,95,99,120, ++ 2,83,9,98,111,117,110,100,115,95,99,121,2,16,12,102,114,97,109,101, ++ 46,108,101,118,101,108,105,2,254,17,102,114,97,109,101,46,99,111,108,111, ++ 114,99,108,105,101,110,116,4,0,192,255,0,13,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,6,5,97,100,100,101,100,16,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,112,111,115,7,8,99,112,95,114,105,103,104,116, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,10, ++ 16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102, ++ 114,108,95,108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101,119, ++ 105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116, ++ 101,114,102,114,97,109,101,1,2,0,2,0,2,47,2,0,0,8,116,97, ++ 98,111,114,100,101,114,2,1,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,14,0,0,6,116,108,97,98,101,108,16,108,98,108,67,104,97, ++ 110,103,101,100,76,101,103,101,110,100,13,111,112,116,105,111,110,115,119,105, ++ 100,103,101,116,11,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 8,8,98,111,117,110,100,115,95,121,3,40,1,9,98,111,117,110,100,115, ++ 95,99,120,2,96,9,98,111,117,110,100,115,95,99,121,2,16,12,102,114, ++ 97,109,101,46,108,101,118,101,108,105,2,254,17,102,114,97,109,101,46,99, ++ 111,108,111,114,99,108,105,101,110,116,4,8,0,0,160,13,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,6,7,99,104,97,110,103,101,100,16,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,8,99,112,95, ++ 114,105,103,104,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100, ++ 105,115,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,108,101,118,101,108,105,15,102,114,108,95,99, ++ 111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97, ++ 109,101,1,2,0,2,0,2,60,2,0,0,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,14,0,0,7,116,97,99,116,105,111,110,10,97, ++ 99,116,83,97,118,101,65,108,108,5,115,116,97,116,101,11,11,97,115,95, ++ 100,105,115,97,98,108,101,100,0,9,111,110,101,120,101,99,117,116,101,7, ++ 14,115,97,118,101,97,108,108,101,120,101,99,117,116,101,4,108,101,102,116, ++ 2,8,3,116,111,112,3,192,0,0,0,7,116,97,99,116,105,111,110,7, ++ 97,99,116,85,110,68,111,5,115,116,97,116,101,11,11,97,115,95,100,105, ++ 115,97,98,108,101,100,0,9,111,110,101,120,101,99,117,116,101,7,11,117, ++ 110,100,111,101,120,101,99,117,116,101,4,108,101,102,116,3,160,0,3,116, ++ 111,112,3,192,0,0,0,7,116,97,99,116,105,111,110,6,97,99,116,65, ++ 100,100,9,111,110,101,120,101,99,117,116,101,7,10,97,100,100,101,120,101, ++ 99,117,116,101,4,108,101,102,116,3,240,0,3,116,111,112,3,192,0,0, ++ 0,7,116,97,99,116,105,111,110,9,97,99,116,68,101,108,101,116,101,5, ++ 115,116,97,116,101,11,11,97,115,95,100,105,115,97,98,108,101,100,0,9, ++ 111,110,101,120,101,99,117,116,101,7,13,100,101,108,101,116,101,101,120,101, ++ 99,117,116,101,4,108,101,102,116,3,56,1,3,116,111,112,3,192,0,0, ++ 0,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101,10,100,115,67, ++ 111,110,116,101,110,116,115,12,79,110,68,97,116,97,67,104,97,110,103,101, ++ 7,14,99,111,110,116,101,110,116,115,99,104,97,110,103,101,4,108,101,102, ++ 116,3,152,0,3,116,111,112,3,168,0,0,0,7,116,97,99,116,105,111, ++ 110,10,97,99,116,85,110,68,111,65,108,108,5,115,116,97,116,101,11,11, ++ 97,115,95,100,105,115,97,98,108,101,100,0,9,111,110,101,120,101,99,117, ++ 116,101,7,14,117,110,100,111,97,108,108,101,120,101,99,117,116,101,4,108, ++ 101,102,116,2,80,3,116,111,112,3,192,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcommonrefseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/commonrefseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,112 ---- ++ unit commonrefseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,mseactions,msedb, ++ // provides "tfield" ++ db ++ ; ++ ++ type ++ tcommonrefseditfo = class(tmseform) ++ actSaveAll: taction; ++ actUnDo: taction; ++ actAdd: taction; ++ actDelete: taction; ++ btnSaveAll: tbutton; ++ btnUnDo: tbutton; ++ btnAdd: tbutton; ++ btnDelete: tbutton; ++ btnClose: tbutton; ++ btnCancel: tbutton; ++ dsContents: tmsedatasource; ++ actUnDoAll: taction; ++ tlabel1: tlabel; ++ procedure contentschange(Sender: TObject; Field: TField); ++ procedure saveallexecute(const sender: TObject); ++ procedure undoexecute(const sender: TObject); ++ procedure addexecute(const sender: TObject); ++ procedure deleteexecute(const sender: TObject); ++ procedure undoallexecute(const sender: TObject); ++ procedure commonrefseditfoclosequery(const sender: tcustommseform; ++ var amodalresult: modalresultty); ++ end; ++ ++ var ++ commonrefseditfo: tcommonrefseditfo; ++ ++ implementation ++ ++ uses ++ commonrefseditform_mfm, ++ // priovides "tmsesqlquery" ++ msesqldb, ++ msewidgets ++ ; ++ ++ var ++ isexpected : boolean; ++ ++ procedure tcommonrefseditfo.contentschange(Sender: TObject; Field: TField); ++ begin ++ with ((sender as tdatasource).dataset) as tmsesqlquery do begin ++ actDelete.enabled:= recordcount > 0; ++ actUnDoAll.enabled:= changecount > 0; ++ actSaveAll.enabled:= changecount > 0; ++ // actUnDo.enabled:= updatestatus = usModified; ++ end; ++ end; ++ ++ procedure tcommonrefseditfo.saveallexecute(const sender: TObject); ++ begin ++ isexpected:= true; ++ if parentwidget.container.canclose(nil) then begin ++ with dsContents.dataset as tmsesqlquery do begin ++ applyupdates; ++ (transaction as tmsesqltransaction).commit; ++ active:= true; ++ end; ++ end; ++ isexpected:= false; ++ end; ++ ++ procedure tcommonrefseditfo.undoexecute(const sender: TObject); ++ begin ++ // (dsContents.dataset as tmsesqlquery).cancelupdate; ++ end; ++ ++ procedure tcommonrefseditfo.addexecute(const sender: TObject); ++ begin ++ isexpected:= true; ++ if parentwidget.canparentclose(nil) then begin ++ dsContents.dataset.append; ++ end; ++ isexpected:= false; ++ end; ++ ++ procedure tcommonrefseditfo.deleteexecute(const sender: TObject); ++ begin ++ dsContents.dataset.delete; ++ end; ++ ++ procedure tcommonrefseditfo.undoallexecute(const sender: TObject); ++ begin ++ (dsContents.dataset as tmsesqlquery).cancelupdates; ++ end; ++ ++ procedure tcommonrefseditfo.commonrefseditfoclosequery(const sender: tcustommseform; ++ var amodalresult: modalresultty); ++ begin ++ with dsContents.dataset as tmsesqlquery do begin ++ if (not isexpected) and (changecount > 0) then begin ++ showmessage( ++ 'There are unsaved changes in the table. Fix them !', ++ 'Unsaved changes', ++ [mr_ok] ++ ); ++ amodalresult:= mr_none; ++ end; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,175 ---- ++ object continentseditfo: tcontinentseditfo ++ bounds_x = 63 ++ bounds_y = 152 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Continents editor' ++ icon.transparency = -2147483648 ++ oncreate = continentseditfocreated ++ ondestroy = continentseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdContinents: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsContinents ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 31 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 18 ++ captions.count = 2 ++ captions.items = < ++ item ++ caption = 'Continent name' ++ end ++ item ++ caption = 'Planet name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 2 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 171 ++ options = [co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seContinent' ++ end ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 162 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'lbnePlanet' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdcontinentsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 14 ++ object seContinent: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 171 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsContinents ++ reffontheight = 14 ++ end ++ object lbnePlanet: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 172 ++ bounds_y = 0 ++ bounds_cx = 162 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.button.color = -1879048187 ++ frame.dummy = 0 ++ taborder = 2 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'planet_id' ++ datasource = refsdatamo.dsContinents ++ dropdown.lookupbuffer = refsdatamo.lbufPlanets ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 14 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,206 ---- ++ unit continentseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,continentseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..3766] of byte end = ++ (size: 3767; data: ( ++ 84,80,70,48,17,116,99,111,110,116,105,110,101,110,116,115,101,100,105,116, ++ 102,111,16,99,111,110,116,105,110,101,110,116,115,101,100,105,116,102,111,8, ++ 98,111,117,110,100,115,95,120,2,63,8,98,111,117,110,100,115,95,121,3, ++ 152,0,9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110, ++ 100,115,95,99,121,3,66,1,8,116,97,98,111,114,100,101,114,2,1,23, ++ 99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111, ++ 119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95, ++ 109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95, ++ 109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,99,120,3,146,1,19,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,99,121,3,66,1,21,99,111,110,116,97,105,110,101,114, ++ 46,102,114,97,109,101,46,100,117,109,109,121,2,0,7,111,112,116,105,111, ++ 110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114,101, ++ 100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111, ++ 95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97, ++ 118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,7, ++ 99,97,112,116,105,111,110,6,17,67,111,110,116,105,110,101,110,116,115,32, ++ 101,100,105,116,111,114,17,105,99,111,110,46,116,114,97,110,115,112,97,114, ++ 101,110,99,121,4,0,0,0,128,8,111,110,99,114,101,97,116,101,7,23, ++ 99,111,110,116,105,110,101,110,116,115,101,100,105,116,102,111,99,114,101,97, ++ 116,101,100,9,111,110,100,101,115,116,114,111,121,7,25,99,111,110,116,105, ++ 110,101,110,116,115,101,100,105,116,102,111,100,101,115,116,114,111,121,101,100, ++ 15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109, ++ 115,101,102,111,114,109,0,244,17,116,99,111,109,109,111,110,114,101,102,115, ++ 101,100,105,116,102,111,17,99,111,109,109,111,110,114,101,102,115,101,100,105, ++ 116,102,111,49,9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111, ++ 117,110,100,115,95,99,121,3,66,1,8,116,97,98,111,114,100,101,114,2, ++ 0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99, ++ 120,3,146,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,99,121,3,66,1,21,99,111,110,116,97,105,110,101,114,46,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,17,105,99,111,110,46,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,0,241,7,116,98,117, ++ 116,116,111,110,10,98,116,110,83,97,118,101,65,108,108,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,8, ++ 0,0,241,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68,111,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,7,0,0,241,7,116,98,117,116,116,111,110,6,98,116,110,65, ++ 100,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98, ++ 111,114,100,101,114,2,5,0,0,241,7,116,98,117,116,116,111,110,9,98, ++ 116,110,68,101,108,101,116,101,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,8,116,97,98,111,114,100,101,114,2,4,0,0,241,7,116,98,117, ++ 116,116,111,110,8,98,116,110,67,108,111,115,101,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,0,0, ++ 241,7,116,98,117,116,116,111,110,10,98,116,110,85,110,68,111,65,108,108, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,6,0,0,241,6,116,108,97,98,101,108,14,108,98,108,65, ++ 100,100,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,2,0,0,241,6,116, ++ 108,97,98,101,108,16,108,98,108,67,104,97,110,103,101,100,76,101,103,101, ++ 110,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98, ++ 111,114,100,101,114,2,1,0,0,242,2,8,13,116,100,98,119,105,100,103, ++ 101,116,103,114,105,100,13,103,114,100,67,111,110,116,105,110,101,110,116,115, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,102, ++ 111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98, ++ 111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,8, ++ 9,98,111,117,110,100,115,95,99,120,3,130,1,9,98,111,117,110,100,115, ++ 95,99,121,3,218,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110, ++ 95,116,111,112,8,97,110,95,114,105,103,104,116,0,10,100,97,116,97,115, ++ 111,117,114,99,101,7,23,114,101,102,115,100,97,116,97,109,111,46,100,115, ++ 67,111,110,116,105,110,101,110,116,115,13,102,105,120,99,111,108,115,46,99, ++ 111,117,110,116,2,1,13,102,105,120,99,111,108,115,46,105,116,101,109,115, ++ 14,1,5,119,105,100,116,104,2,31,8,110,117,109,115,116,97,114,116,2, ++ 1,7,110,117,109,115,116,101,112,2,1,0,0,13,102,105,120,114,111,119, ++ 115,46,99,111,117,110,116,2,1,13,102,105,120,114,111,119,115,46,105,116, ++ 101,109,115,14,1,5,99,111,108,111,114,4,20,0,0,160,6,104,101,105, ++ 103,104,116,2,18,14,99,97,112,116,105,111,110,115,46,99,111,117,110,116, ++ 2,2,14,99,97,112,116,105,111,110,115,46,105,116,101,109,115,14,1,7, ++ 99,97,112,116,105,111,110,6,14,67,111,110,116,105,110,101,110,116,32,110, ++ 97,109,101,0,1,7,99,97,112,116,105,111,110,6,11,80,108,97,110,101, ++ 116,32,110,97,109,101,0,0,17,99,97,112,116,105,111,110,115,102,105,120, ++ 46,99,111,117,110,116,2,1,17,99,97,112,116,105,111,110,115,102,105,120, ++ 46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,18,1,0,0, ++ 0,22,33,0,0,0,0,15,114,111,119,99,111,108,111,114,115,46,99,111, ++ 117,110,116,2,2,15,114,111,119,99,111,108,111,114,115,46,105,116,101,109, ++ 115,1,4,0,192,255,0,4,8,0,0,160,0,14,100,97,116,97,99,111, ++ 108,115,46,99,111,117,110,116,2,2,14,100,97,116,97,99,111,108,115,46, ++ 105,116,101,109,115,14,1,17,102,114,97,109,101,46,102,114,97,109,101,105, ++ 95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116,104,3,171,0, ++ 7,111,112,116,105,111,110,115,11,15,99,111,95,112,114,111,112,111,114,116, ++ 105,111,110,97,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99, ++ 111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111, ++ 110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101, ++ 98,114,97,99,111,108,111,114,0,10,119,105,100,103,101,116,110,97,109,101, ++ 6,11,115,101,67,111,110,116,105,110,101,110,116,0,1,17,102,114,97,109, ++ 101,46,102,114,97,109,101,105,95,108,101,102,116,2,10,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105, ++ 108,101,102,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,5, ++ 119,105,100,116,104,3,162,0,7,111,112,116,105,111,110,115,11,7,99,111, ++ 95,102,105,108,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99, ++ 111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111, ++ 110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101, ++ 98,114,97,99,111,108,111,114,0,10,119,105,100,103,101,116,110,97,109,101, ++ 6,10,108,98,110,101,80,108,97,110,101,116,0,0,16,100,97,116,97,108, ++ 105,110,107,46,111,112,116,105,111,110,115,11,17,103,100,111,95,112,114,111, ++ 112,115,99,114,111,108,108,98,97,114,14,103,100,111,95,116,104,117,109,98, ++ 116,114,97,99,107,0,24,100,97,116,97,108,105,110,107,46,111,110,117,112, ++ 100,97,116,101,114,111,119,100,97,116,97,7,26,103,114,100,99,111,110,116, ++ 105,110,101,110,116,115,117,112,100,97,116,101,114,111,119,100,97,116,97,13, ++ 100,97,116,97,114,111,119,104,101,105,103,104,116,2,22,13,114,101,102,102, ++ 111,110,116,104,101,105,103,104,116,2,14,0,13,116,100,98,115,116,114,105, ++ 110,103,101,100,105,116,11,115,101,67,111,110,116,105,110,101,110,116,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,0,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117, ++ 110,100,115,95,121,2,0,9,98,111,117,110,100,115,95,99,120,3,171,0, ++ 9,98,111,117,110,100,115,95,99,121,2,22,12,102,114,97,109,101,46,108, ++ 101,118,101,108,111,2,0,17,102,114,97,109,101,46,99,111,108,111,114,99, ++ 108,105,101,110,116,4,3,0,0,128,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2, ++ 1,7,118,105,115,105,98,108,101,8,11,111,112,116,105,111,110,115,101,100, ++ 105,116,11,12,111,101,95,117,110,100,111,111,110,101,115,99,13,111,101,95, ++ 99,108,111,115,101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109, ++ 114,99,97,110,99,101,108,15,111,101,95,101,120,105,116,111,110,99,117,114, ++ 115,111,114,14,111,101,95,115,104,105,102,116,114,101,116,117,114,110,12,111, ++ 101,95,101,97,116,114,101,116,117,114,110,20,111,101,95,114,101,115,101,116, ++ 115,101,108,101,99,116,111,110,101,120,105,116,13,111,101,95,101,110,100,111, ++ 110,101,110,116,101,114,13,111,101,95,97,117,116,111,115,101,108,101,99,116, ++ 25,111,101,95,97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115, ++ 116,99,108,105,99,107,10,111,101,95,110,111,116,110,117,108,108,11,111,101, ++ 95,97,117,116,111,112,111,115,116,16,111,101,95,97,117,116,111,112,111,112, ++ 117,112,109,101,110,117,13,111,101,95,107,101,121,101,120,101,99,117,116,101, ++ 12,111,101,95,115,97,118,101,118,97,108,117,101,12,111,101,95,115,97,118, ++ 101,115,116,97,116,101,0,9,100,97,116,97,102,105,101,108,100,6,5,100, ++ 101,115,99,114,10,100,97,116,97,115,111,117,114,99,101,7,23,114,101,102, ++ 115,100,97,116,97,109,111,46,100,115,67,111,110,116,105,110,101,110,116,115, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,13,116, ++ 100,98,101,110,117,109,101,100,105,116,108,98,10,108,98,110,101,80,108,97, ++ 110,101,116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111, ++ 119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102, ++ 111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111, ++ 119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,0,8,98,111,117,110,100,115,95,120,3, ++ 172,0,8,98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115, ++ 95,99,120,3,162,0,9,98,111,117,110,100,115,95,99,121,2,22,12,102, ++ 114,97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108, ++ 101,118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110, ++ 116,0,18,102,114,97,109,101,46,98,117,116,116,111,110,46,99,111,108,111, ++ 114,4,5,0,0,144,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 8,116,97,98,111,114,100,101,114,2,2,7,118,105,115,105,98,108,101,8, ++ 11,111,112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100, ++ 111,111,110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121, ++ 16,111,101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101, ++ 95,101,120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105, ++ 102,116,114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114, ++ 110,20,111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120, ++ 105,116,13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95, ++ 97,117,116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101, ++ 108,101,99,116,111,110,102,105,114,115,116,99,108,105,99,107,11,111,101,95, ++ 97,117,116,111,112,111,115,116,16,111,101,95,97,117,116,111,112,111,112,117, ++ 112,109,101,110,117,13,111,101,95,107,101,121,101,120,101,99,117,116,101,12, ++ 111,101,95,115,97,118,101,118,97,108,117,101,12,111,101,95,115,97,118,101, ++ 115,116,97,116,101,0,9,100,97,116,97,102,105,101,108,100,6,9,112,108, ++ 97,110,101,116,95,105,100,10,100,97,116,97,115,111,117,114,99,101,7,23, ++ 114,101,102,115,100,97,116,97,109,111,46,100,115,67,111,110,116,105,110,101, ++ 110,116,115,21,100,114,111,112,100,111,119,110,46,108,111,111,107,117,112,98, ++ 117,102,102,101,114,7,22,114,101,102,115,100,97,116,97,109,111,46,108,98, ++ 117,102,80,108,97,110,101,116,115,19,100,114,111,112,100,111,119,110,46,99, ++ 111,108,115,46,99,111,117,110,116,2,1,19,100,114,111,112,100,111,119,110, ++ 46,99,111,108,115,46,105,116,101,109,115,14,1,0,0,13,114,101,102,102, ++ 111,110,116,104,101,105,103,104,116,2,14,0,0,0,241,7,116,97,99,116, ++ 105,111,110,10,97,99,116,83,97,118,101,65,108,108,0,0,241,7,116,97, ++ 99,116,105,111,110,7,97,99,116,85,110,68,111,0,0,241,7,116,97,99, ++ 116,105,111,110,6,97,99,116,65,100,100,0,0,241,7,116,97,99,116,105, ++ 111,110,9,97,99,116,68,101,108,101,116,101,0,0,241,14,116,109,115,101, ++ 100,97,116,97,115,111,117,114,99,101,10,100,115,67,111,110,116,101,110,116, ++ 115,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,85,110,68,111, ++ 65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcontinentseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/continentseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/continentseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,52 ---- ++ unit continentseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit, ++ msegrids, ++ db; ++ ++ type ++ tcontinentseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdContinents: tdbwidgetgrid; ++ lbnePlanet: tdbenumeditlb; ++ seContinent: tdbstringedit; ++ procedure continentseditfocreated(const sender: TObject); ++ procedure continentseditfodestroyed(const sender: TObject); ++ procedure grdcontinentsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ continentseditfo: tcontinentseditfo; ++ ++ implementation ++ uses ++ continentseditform_mfm, ++ refsdatamodule; ++ ++ procedure tcontinentseditfo.continentseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdContinents.datasource.dataset; ++ end; ++ ++ procedure tcontinentseditfo.continentseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tcontinentseditfo.grdcontinentsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,173 ---- ++ object countrieseditfo: tcountrieseditfo ++ bounds_x = 51 ++ bounds_y = 171 ++ bounds_cx = 402 ++ bounds_cy = 323 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 323 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Countries editor' ++ icon.transparency = -2147483648 ++ oncreate = countrieseditfocreated ++ ondestroy = countrieseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ taborder = 0 ++ container.bounds_cx = 402 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdCountries: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsCountries ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 27 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 18 ++ captions.count = 2 ++ captions.items = < ++ item ++ caption = 'Country name' ++ end ++ item ++ caption = 'Continent name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 2 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 178 ++ options = [co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seCountry' ++ end ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 159 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'lbneContinent' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdcountriesupdaterowdata ++ datarowheight = 22 ++ reffontheight = 14 ++ object seCountry: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 178 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsCountries ++ reffontheight = 14 ++ end ++ object lbneContinent: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 179 ++ bounds_y = 0 ++ bounds_cx = 159 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.button.color = -1879048187 ++ frame.dummy = 0 ++ taborder = 2 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'continent_id' ++ datasource = refsdatamo.dsCountries ++ dropdown.lookupbuffer = refsdatamo.lbufContinents ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 14 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,204 ---- ++ unit countrieseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,countrieseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..3729] of byte end = ++ (size: 3730; data: ( ++ 84,80,70,48,16,116,99,111,117,110,116,114,105,101,115,101,100,105,116,102, ++ 111,15,99,111,117,110,116,114,105,101,115,101,100,105,116,102,111,8,98,111, ++ 117,110,100,115,95,120,2,51,8,98,111,117,110,100,115,95,121,3,171,0, ++ 9,98,111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115, ++ 95,99,121,3,67,1,8,116,97,98,111,114,100,101,114,2,1,23,99,111, ++ 110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111, ++ 117,115,101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111, ++ 117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121, ++ 2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 99,120,3,146,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,99,121,3,67,1,21,99,111,110,116,97,105,110,101,114,46,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115, ++ 11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114,101,100,15, ++ 102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97, ++ 117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101, ++ 112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97, ++ 112,116,105,111,110,6,16,67,111,117,110,116,114,105,101,115,32,101,100,105, ++ 116,111,114,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,8,111,110,99,114,101,97,116,101,7,22,99,111,117, ++ 110,116,114,105,101,115,101,100,105,116,102,111,99,114,101,97,116,101,100,9, ++ 111,110,100,101,115,116,114,111,121,7,24,99,111,117,110,116,114,105,101,115, ++ 101,100,105,116,102,111,100,101,115,116,114,111,121,101,100,15,109,111,100,117, ++ 108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114, ++ 109,0,244,17,116,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102, ++ 111,17,99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,49,9, ++ 98,111,117,110,100,115,95,99,120,3,146,1,8,116,97,98,111,114,100,101, ++ 114,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,120,3,146,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,17,105,99,111,110,46,116,114,97,110, ++ 115,112,97,114,101,110,99,121,4,0,0,0,128,0,241,7,116,98,117,116, ++ 116,111,110,10,98,116,110,83,97,118,101,65,108,108,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,8,0, ++ 0,241,7,116,98,117,116,116,111,110,7,98,116,110,85,110,68,111,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,7,0,0,241,7,116,98,117,116,116,111,110,6,98,116,110,65,100, ++ 100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111, ++ 114,100,101,114,2,5,0,0,241,7,116,98,117,116,116,111,110,9,98,116, ++ 110,68,101,108,101,116,101,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,8,116,97,98,111,114,100,101,114,2,4,0,0,241,7,116,98,117,116, ++ 116,111,110,8,98,116,110,67,108,111,115,101,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,3,0,0,241, ++ 7,116,98,117,116,116,111,110,10,98,116,110,85,110,68,111,65,108,108,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,6,0,0,241,6,116,108,97,98,101,108,14,108,98,108,65,100, ++ 100,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,2,0,0,241,6,116,108, ++ 97,98,101,108,16,108,98,108,67,104,97,110,103,101,100,76,101,103,101,110, ++ 100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111, ++ 114,100,101,114,2,1,0,0,242,2,8,13,116,100,98,119,105,100,103,101, ++ 116,103,114,105,100,12,103,114,100,67,111,117,110,116,114,105,101,115,13,111, ++ 112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117, ++ 115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13, ++ 111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,102,111,99, ++ 117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109,111,117,115,101, ++ 119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103, ++ 101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103, ++ 104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117, ++ 110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,8,9,98, ++ 111,117,110,100,115,95,99,120,3,130,1,9,98,111,117,110,100,115,95,99, ++ 121,3,218,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97, ++ 110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116, ++ 111,112,8,97,110,95,114,105,103,104,116,0,10,100,97,116,97,115,111,117, ++ 114,99,101,7,22,114,101,102,115,100,97,116,97,109,111,46,100,115,67,111, ++ 117,110,116,114,105,101,115,13,102,105,120,99,111,108,115,46,99,111,117,110, ++ 116,2,1,13,102,105,120,99,111,108,115,46,105,116,101,109,115,14,1,5, ++ 119,105,100,116,104,2,27,8,110,117,109,115,116,97,114,116,2,1,7,110, ++ 117,109,115,116,101,112,2,1,0,0,13,102,105,120,114,111,119,115,46,99, ++ 111,117,110,116,2,1,13,102,105,120,114,111,119,115,46,105,116,101,109,115, ++ 14,1,5,99,111,108,111,114,4,20,0,0,160,6,104,101,105,103,104,116, ++ 2,18,14,99,97,112,116,105,111,110,115,46,99,111,117,110,116,2,2,14, ++ 99,97,112,116,105,111,110,115,46,105,116,101,109,115,14,1,7,99,97,112, ++ 116,105,111,110,6,12,67,111,117,110,116,114,121,32,110,97,109,101,0,1, ++ 7,99,97,112,116,105,111,110,6,14,67,111,110,116,105,110,101,110,116,32, ++ 110,97,109,101,0,0,17,99,97,112,116,105,111,110,115,102,105,120,46,99, ++ 111,117,110,116,2,1,17,99,97,112,116,105,111,110,115,102,105,120,46,105, ++ 116,101,109,115,14,1,7,99,97,112,116,105,111,110,18,1,0,0,0,22, ++ 33,0,0,0,0,15,114,111,119,99,111,108,111,114,115,46,99,111,117,110, ++ 116,2,2,15,114,111,119,99,111,108,111,114,115,46,105,116,101,109,115,1, ++ 4,0,192,255,0,4,8,0,0,160,0,14,100,97,116,97,99,111,108,115, ++ 46,99,111,117,110,116,2,2,14,100,97,116,97,99,111,108,115,46,105,116, ++ 101,109,115,14,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95,108, ++ 101,102,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,5,119,105,100,116,104,3,178,0,7,111, ++ 112,116,105,111,110,115,11,15,99,111,95,112,114,111,112,111,114,116,105,111, ++ 110,97,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95, ++ 115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116, ++ 11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114, ++ 97,99,111,108,111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,9, ++ 115,101,67,111,117,110,116,114,121,0,1,17,102,114,97,109,101,46,102,114, ++ 97,109,101,105,95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111, ++ 99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116, ++ 0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116, ++ 104,3,159,0,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108, ++ 108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97, ++ 118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99, ++ 111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99, ++ 111,108,111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,13,108,98, ++ 110,101,67,111,110,116,105,110,101,110,116,0,0,16,100,97,116,97,108,105, ++ 110,107,46,111,112,116,105,111,110,115,11,17,103,100,111,95,112,114,111,112, ++ 115,99,114,111,108,108,98,97,114,14,103,100,111,95,116,104,117,109,98,116, ++ 114,97,99,107,0,24,100,97,116,97,108,105,110,107,46,111,110,117,112,100, ++ 97,116,101,114,111,119,100,97,116,97,7,25,103,114,100,99,111,117,110,116, ++ 114,105,101,115,117,112,100,97,116,101,114,111,119,100,97,116,97,13,100,97, ++ 116,97,114,111,119,104,101,105,103,104,116,2,22,13,114,101,102,102,111,110, ++ 116,104,101,105,103,104,116,2,14,0,13,116,100,98,115,116,114,105,110,103, ++ 101,100,105,116,9,115,101,67,111,117,110,116,114,121,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119,104, ++ 101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116, ++ 115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116, ++ 0,8,98,111,117,110,100,115,95,120,2,0,8,98,111,117,110,100,115,95, ++ 121,2,0,9,98,111,117,110,100,115,95,99,120,3,178,0,9,98,111,117, ++ 110,100,115,95,99,121,2,22,12,102,114,97,109,101,46,108,101,118,101,108, ++ 111,2,0,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110, ++ 116,4,3,0,0,128,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,7,118,105, ++ 115,105,98,108,101,8,11,111,112,116,105,111,110,115,101,100,105,116,11,12, ++ 111,101,95,117,110,100,111,111,110,101,115,99,13,111,101,95,99,108,111,115, ++ 101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109,114,99,97,110, ++ 99,101,108,15,111,101,95,101,120,105,116,111,110,99,117,114,115,111,114,14, ++ 111,101,95,115,104,105,102,116,114,101,116,117,114,110,12,111,101,95,101,97, ++ 116,114,101,116,117,114,110,20,111,101,95,114,101,115,101,116,115,101,108,101, ++ 99,116,111,110,101,120,105,116,13,111,101,95,101,110,100,111,110,101,110,116, ++ 101,114,13,111,101,95,97,117,116,111,115,101,108,101,99,116,25,111,101,95, ++ 97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115,116,99,108,105, ++ 99,107,10,111,101,95,110,111,116,110,117,108,108,11,111,101,95,97,117,116, ++ 111,112,111,115,116,16,111,101,95,97,117,116,111,112,111,112,117,112,109,101, ++ 110,117,13,111,101,95,107,101,121,101,120,101,99,117,116,101,12,111,101,95, ++ 115,97,118,101,118,97,108,117,101,12,111,101,95,115,97,118,101,115,116,97, ++ 116,101,0,9,100,97,116,97,102,105,101,108,100,6,5,100,101,115,99,114, ++ 10,100,97,116,97,115,111,117,114,99,101,7,22,114,101,102,115,100,97,116, ++ 97,109,111,46,100,115,67,111,117,110,116,114,105,101,115,13,114,101,102,102, ++ 111,110,116,104,101,105,103,104,116,2,14,0,0,13,116,100,98,101,110,117, ++ 109,101,100,105,116,108,98,13,108,98,110,101,67,111,110,116,105,110,101,110, ++ 116,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95, ++ 109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,0,8,98,111,117,110,100,115,95,120,3,179,0, ++ 8,98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115,95,99, ++ 120,3,159,0,9,98,111,117,110,100,115,95,99,121,2,22,12,102,114,97, ++ 109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46,99,111, ++ 108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118, ++ 101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0, ++ 18,102,114,97,109,101,46,98,117,116,116,111,110,46,99,111,108,111,114,4, ++ 5,0,0,144,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,2,7,118,105,115,105,98,108,101,8,11,111, ++ 112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111, ++ 110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111, ++ 101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101, ++ 120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116, ++ 114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20, ++ 111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116, ++ 13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117, ++ 116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101, ++ 99,116,111,110,102,105,114,115,116,99,108,105,99,107,11,111,101,95,97,117, ++ 116,111,112,111,115,116,16,111,101,95,97,117,116,111,112,111,112,117,112,109, ++ 101,110,117,13,111,101,95,107,101,121,101,120,101,99,117,116,101,12,111,101, ++ 95,115,97,118,101,118,97,108,117,101,12,111,101,95,115,97,118,101,115,116, ++ 97,116,101,0,9,100,97,116,97,102,105,101,108,100,6,12,99,111,110,116, ++ 105,110,101,110,116,95,105,100,10,100,97,116,97,115,111,117,114,99,101,7, ++ 22,114,101,102,115,100,97,116,97,109,111,46,100,115,67,111,117,110,116,114, ++ 105,101,115,21,100,114,111,112,100,111,119,110,46,108,111,111,107,117,112,98, ++ 117,102,102,101,114,7,25,114,101,102,115,100,97,116,97,109,111,46,108,98, ++ 117,102,67,111,110,116,105,110,101,110,116,115,19,100,114,111,112,100,111,119, ++ 110,46,99,111,108,115,46,99,111,117,110,116,2,1,19,100,114,111,112,100, ++ 111,119,110,46,99,111,108,115,46,105,116,101,109,115,14,1,0,0,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,241,7,116, ++ 97,99,116,105,111,110,10,97,99,116,83,97,118,101,65,108,108,0,0,241, ++ 7,116,97,99,116,105,111,110,7,97,99,116,85,110,68,111,0,0,241,7, ++ 116,97,99,116,105,111,110,6,97,99,116,65,100,100,0,0,241,7,116,97, ++ 99,116,105,111,110,9,97,99,116,68,101,108,101,116,101,0,0,241,14,116, ++ 109,115,101,100,97,116,97,115,111,117,114,99,101,10,100,115,67,111,110,116, ++ 101,110,116,115,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,85, ++ 110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tcountrieseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/countrieseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit countrieseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db; ++ ++ type ++ tcountrieseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdCountries: tdbwidgetgrid; ++ lbneContinent: tdbenumeditlb; ++ seCountry: tdbstringedit; ++ procedure countrieseditfocreated(const sender: TObject); ++ procedure countrieseditfodestroyed(const sender: TObject); ++ procedure grdcountriesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ countrieseditfo: tcountrieseditfo; ++ ++ implementation ++ ++ uses ++ countrieseditform_mfm, ++ refsdatamodule; ++ ++ procedure tcountrieseditfo.countrieseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdCountries.datasource.dataset; ++ end; ++ ++ procedure tcountrieseditfo.countrieseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tcountrieseditfo.grdcountriesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,282 ---- ++ object editfo: teditfo ++ bounds_x = 79 ++ bounds_y = 171 ++ bounds_cx = 379 ++ bounds_cy = 334 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 379 ++ container.bounds_cy = 334 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_closeonesc, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ icon.transparency = -2147483648 ++ oncreate = editfocreated ++ ondestroyed = editfodestroyed ++ moduleclassname = 'tmseform' ++ object btnOk: tbutton ++ bounds_x = 152 ++ bounds_y = 296 ++ bounds_cx = 90 ++ bounds_cy = 30 ++ frame.colorclient = -1610612714 ++ frame.localprops = [frl_colorclient] ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 7 ++ state = [as_localcaption] ++ caption = '&Ok' ++ modalresult = mr_ok ++ end ++ object btnCancel: tbutton ++ bounds_x = 312 ++ bounds_y = 296 ++ bounds_cx = 58 ++ bounds_cy = 30 ++ frame.template = mainfo.ftButtons ++ frame.dummy = 0 ++ taborder = 8 ++ state = [as_localcaption] ++ caption = '&Cancel' ++ modalresult = mr_cancel ++ end ++ object seName: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 13 ++ bounds_y = 16 ++ bounds_cx = 327 ++ bounds_cy = 20 ++ frame.caption = 'Name' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 51 ++ 0 ++ 0 ++ 0 ++ ) ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = mainfo.dsPersons ++ reffontheight = 14 ++ end ++ object cbPlanets: tenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 47 ++ bounds_cx = 148 ++ bounds_cy = 37 ++ frame.caption = 'Planet' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ taborder = 9 ++ onsetvalue = planetchanged ++ dropdown.lookupbuffer = refsdatamo.lbufPlanets ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 14 ++ end ++ object cbContinents: tenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 184 ++ bounds_y = 47 ++ bounds_cx = 156 ++ bounds_cy = 37 ++ frame.caption = 'Continent' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ taborder = 10 ++ onsetvalue = continentchanged ++ dropdown.lookupbuffer = refsdatamo.lbufContinents ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ dropdown.onfilter = continentsfilter ++ reffontheight = 14 ++ end ++ object cbCountries: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 53 ++ bounds_y = 96 ++ bounds_cx = 295 ++ bounds_cy = 20 ++ frame.caption = 'Country' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 59 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ ondataentered = countryentered ++ datafield = 'country_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufCountries ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ dropdown.onfilter = countriesfilter ++ reffontheight = 14 ++ end ++ object cbOccupations: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 33 ++ bounds_y = 128 ++ bounds_cx = 315 ++ bounds_cy = 20 ++ frame.caption = 'Occupation' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 79 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ ondataentered = occupationentered ++ datafield = 'occupation_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufOccupations ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 14 ++ end ++ object cbFeatures: tdbenumeditlb ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 53 ++ bounds_y = 160 ++ bounds_cx = 295 ++ bounds_cy = 20 ++ frame.caption = 'Feature' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 59 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 3 ++ ondataentered = featureentered ++ datafield = 'feature_id' ++ datasource = mainfo.dsPersons ++ dropdown.lookupbuffer = refsdatamo.lbufFeatures ++ dropdown.cols.count = 1 ++ dropdown.cols.items = < ++ item ++ end> ++ reffontheight = 14 ++ end ++ object reSexPotention: tdbrealedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 18 ++ bounds_y = 192 ++ bounds_cx = 146 ++ bounds_cy = 20 ++ frame.caption = 'Sex. potention' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 94 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 4 ++ oncheckvalue = sexpotentioncheckvalue ++ datafield = 'sexual_potention' ++ datasource = mainfo.dsPersons ++ formatedit = '##.##' ++ formatdisp = '##.##' ++ reffontheight = 14 ++ val = 0 ++ end ++ object beHappy: tdbbooleantextedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 50 ++ bounds_y = 256 ++ bounds_cx = 162 ++ bounds_cy = 20 ++ frame.caption = 'Happy ?' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 62 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 6 ++ text_false = #1059#1074#1099 ++ text_true = #1045#1097#1077' '#1082#1072#1082 ++ datafield = 'if_happy' ++ datasource = mainfo.dsPersons ++ reffontheight = 14 ++ end ++ object lblDateFormatHint: tlabel ++ bounds_x = 224 ++ bounds_y = 224 ++ bounds_cx = 0 ++ bounds_cy = 14 ++ taborder = 12 ++ reffontheight = 14 ++ end ++ object lblSexPotentionHint: tlabel ++ bounds_x = 176 ++ bounds_y = 192 ++ bounds_cx = 56 ++ bounds_cy = 14 ++ taborder = 11 ++ caption = '(0..100) %' ++ reffontheight = 14 ++ end ++ object cdeDateOfBirth: tdbcalendardatetimeedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 29 ++ bounds_y = 224 ++ bounds_cx = 183 ++ bounds_cy = 20 ++ frame.caption = 'Date of birth' ++ frame.captionpos = cp_left ++ frame.captiondist = 15 ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 83 ++ 0 ++ 0 ++ 0 ++ ) ++ taborder = 5 ++ datafield = 'dateofbirth' ++ datasource = mainfo.dsPersons ++ reffontheight = 14 ++ val = 0 ++ ma = 73050 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,288 ---- ++ unit editform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,editform; ++ ++ const ++ objdata: record size: integer; data: array[0..5411] of byte end = ++ (size: 5412; data: ( ++ 84,80,70,48,7,116,101,100,105,116,102,111,6,101,100,105,116,102,111,8, ++ 98,111,117,110,100,115,95,120,2,79,8,98,111,117,110,100,115,95,121,3, ++ 171,0,9,98,111,117,110,100,115,95,99,120,3,123,1,9,98,111,117,110, ++ 100,115,95,99,121,3,78,1,8,116,97,98,111,114,100,101,114,2,1,23, ++ 99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111, ++ 119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95, ++ 109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117, ++ 116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101,114,46,98, ++ 111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110,101,114,46, ++ 98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,120,3,123,1,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,121,3,78,1,21,99,111,110, ++ 116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 7,111,112,116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110,99, ++ 101,110,116,101,114,101,100,13,102,111,95,99,108,111,115,101,111,110,101,115, ++ 99,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111, ++ 95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97, ++ 118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,17, ++ 105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0, ++ 0,128,8,111,110,99,114,101,97,116,101,7,13,101,100,105,116,102,111,99, ++ 114,101,97,116,101,100,11,111,110,100,101,115,116,114,111,121,101,100,7,15, ++ 101,100,105,116,102,111,100,101,115,116,114,111,121,101,100,15,109,111,100,117, ++ 108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114, ++ 109,0,7,116,98,117,116,116,111,110,5,98,116,110,79,107,8,98,111,117, ++ 110,100,115,95,120,3,152,0,8,98,111,117,110,100,115,95,121,3,40,1, ++ 9,98,111,117,110,100,115,95,99,120,2,90,9,98,111,117,110,100,115,95, ++ 99,121,2,30,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101, ++ 110,116,4,22,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110, ++ 116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,16,109, ++ 97,105,110,102,111,46,102,116,66,117,116,116,111,110,115,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,7, ++ 5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116, ++ 105,111,110,0,7,99,97,112,116,105,111,110,6,3,38,79,107,11,109,111, ++ 100,97,108,114,101,115,117,108,116,7,5,109,114,95,111,107,0,0,7,116, ++ 98,117,116,116,111,110,9,98,116,110,67,97,110,99,101,108,8,98,111,117, ++ 110,100,115,95,120,3,56,1,8,98,111,117,110,100,115,95,121,3,40,1, ++ 9,98,111,117,110,100,115,95,99,120,2,58,9,98,111,117,110,100,115,95, ++ 99,121,2,30,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7, ++ 16,109,97,105,110,102,111,46,102,116,66,117,116,116,111,110,115,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114, ++ 2,8,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,7,99,97,112,116,105,111,110,6,7,38,67,97,110, ++ 99,101,108,11,109,111,100,97,108,114,101,115,117,108,116,7,9,109,114,95, ++ 99,97,110,99,101,108,0,0,13,116,100,98,115,116,114,105,110,103,101,100, ++ 105,116,6,115,101,78,97,109,101,13,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111, ++ 119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101, ++ 116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104, ++ 116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110, ++ 100,115,95,120,2,13,8,98,111,117,110,100,115,95,121,2,16,9,98,111, ++ 117,110,100,115,95,99,120,3,71,1,9,98,111,117,110,100,115,95,99,121, ++ 2,20,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,78,97, ++ 109,101,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7, ++ 7,99,112,95,108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,100,105,115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,51,2,0,2,0,2,0,0,11,111,112,116,105,111,110,115,101,100,105, ++ 116,11,12,111,101,95,117,110,100,111,111,110,101,115,99,13,111,101,95,99, ++ 108,111,115,101,113,117,101,114,121,16,111,101,95,99,104,101,99,107,109,114, ++ 99,97,110,99,101,108,15,111,101,95,101,120,105,116,111,110,99,117,114,115, ++ 111,114,14,111,101,95,115,104,105,102,116,114,101,116,117,114,110,12,111,101, ++ 95,101,97,116,114,101,116,117,114,110,20,111,101,95,114,101,115,101,116,115, ++ 101,108,101,99,116,111,110,101,120,105,116,13,111,101,95,101,110,100,111,110, ++ 101,110,116,101,114,13,111,101,95,97,117,116,111,115,101,108,101,99,116,25, ++ 111,101,95,97,117,116,111,115,101,108,101,99,116,111,110,102,105,114,115,116, ++ 99,108,105,99,107,10,111,101,95,110,111,116,110,117,108,108,16,111,101,95, ++ 97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121, ++ 101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101, ++ 12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102, ++ 105,101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117,114, ++ 99,101,7,16,109,97,105,110,102,111,46,100,115,80,101,114,115,111,110,115, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,11,116, ++ 101,110,117,109,101,100,105,116,108,98,9,99,98,80,108,97,110,101,116,115, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,16,8,98,111, ++ 117,110,100,115,95,121,2,47,9,98,111,117,110,100,115,95,99,120,3,148, ++ 0,9,98,111,117,110,100,115,95,99,121,2,37,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,6,6,80,108,97,110,101,116,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,0,2,17,2,0,2,0,0,8,116,97,98, ++ 111,114,100,101,114,2,9,10,111,110,115,101,116,118,97,108,117,101,7,13, ++ 112,108,97,110,101,116,99,104,97,110,103,101,100,21,100,114,111,112,100,111, ++ 119,110,46,108,111,111,107,117,112,98,117,102,102,101,114,7,22,114,101,102, ++ 115,100,97,116,97,109,111,46,108,98,117,102,80,108,97,110,101,116,115,19, ++ 100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111,117,110,116,2, ++ 1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,105,116,101,109, ++ 115,14,1,0,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2, ++ 14,0,0,11,116,101,110,117,109,101,100,105,116,108,98,12,99,98,67,111, ++ 110,116,105,110,101,110,116,115,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116, ++ 115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116, ++ 12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100, ++ 115,95,120,3,184,0,8,98,111,117,110,100,115,95,121,2,47,9,98,111, ++ 117,110,100,115,95,99,120,3,156,0,9,98,111,117,110,100,115,95,99,121, ++ 2,37,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,9,67,111, ++ 110,116,105,110,101,110,116,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2, ++ 0,2,17,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,10,10, ++ 111,110,115,101,116,118,97,108,117,101,7,16,99,111,110,116,105,110,101,110, ++ 116,99,104,97,110,103,101,100,21,100,114,111,112,100,111,119,110,46,108,111, ++ 111,107,117,112,98,117,102,102,101,114,7,25,114,101,102,115,100,97,116,97, ++ 109,111,46,108,98,117,102,67,111,110,116,105,110,101,110,116,115,19,100,114, ++ 111,112,100,111,119,110,46,99,111,108,115,46,99,111,117,110,116,2,1,19, ++ 100,114,111,112,100,111,119,110,46,99,111,108,115,46,105,116,101,109,115,14, ++ 1,0,0,17,100,114,111,112,100,111,119,110,46,111,110,102,105,108,116,101, ++ 114,7,16,99,111,110,116,105,110,101,110,116,115,102,105,108,116,101,114,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,13,116,100, ++ 98,101,110,117,109,101,100,105,116,108,98,11,99,98,67,111,117,110,116,114, ++ 105,101,115,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111, ++ 119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102, ++ 111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95, ++ 102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,53, ++ 8,98,111,117,110,100,115,95,121,2,96,9,98,111,117,110,100,115,95,99, ++ 120,3,39,1,9,98,111,117,110,100,115,95,99,121,2,20,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,7,67,111,117,110,116,114,121,16, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112, ++ 95,108,101,102,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100, ++ 105,115,116,2,15,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16, ++ 102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,59,2, ++ 0,2,0,2,0,0,8,116,97,98,111,114,100,101,114,2,1,13,111,110, ++ 100,97,116,97,101,110,116,101,114,101,100,7,14,99,111,117,110,116,114,121, ++ 101,110,116,101,114,101,100,9,100,97,116,97,102,105,101,108,100,6,10,99, ++ 111,117,110,116,114,121,95,105,100,10,100,97,116,97,115,111,117,114,99,101, ++ 7,16,109,97,105,110,102,111,46,100,115,80,101,114,115,111,110,115,21,100, ++ 114,111,112,100,111,119,110,46,108,111,111,107,117,112,98,117,102,102,101,114, ++ 7,24,114,101,102,115,100,97,116,97,109,111,46,108,98,117,102,67,111,117, ++ 110,116,114,105,101,115,19,100,114,111,112,100,111,119,110,46,99,111,108,115, ++ 46,99,111,117,110,116,2,1,19,100,114,111,112,100,111,119,110,46,99,111, ++ 108,115,46,105,116,101,109,115,14,1,0,0,17,100,114,111,112,100,111,119, ++ 110,46,111,110,102,105,108,116,101,114,7,15,99,111,117,110,116,114,105,101, ++ 115,102,105,108,116,101,114,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,14,0,0,13,116,100,98,101,110,117,109,101,100,105,116,108,98,13, ++ 99,98,79,99,99,117,112,97,116,105,111,110,115,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104, ++ 101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8, ++ 98,111,117,110,100,115,95,120,2,33,8,98,111,117,110,100,115,95,121,3, ++ 128,0,9,98,111,117,110,100,115,95,99,120,3,59,1,9,98,111,117,110, ++ 100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,6,10,79,99,99,117,112,97,116,105,111,110,16,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,17, ++ 102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,15,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46, ++ 111,117,116,101,114,102,114,97,109,101,1,2,79,2,0,2,0,2,0,0, ++ 8,116,97,98,111,114,100,101,114,2,2,13,111,110,100,97,116,97,101,110, ++ 116,101,114,101,100,7,17,111,99,99,117,112,97,116,105,111,110,101,110,116, ++ 101,114,101,100,9,100,97,116,97,102,105,101,108,100,6,13,111,99,99,117, ++ 112,97,116,105,111,110,95,105,100,10,100,97,116,97,115,111,117,114,99,101, ++ 7,16,109,97,105,110,102,111,46,100,115,80,101,114,115,111,110,115,21,100, ++ 114,111,112,100,111,119,110,46,108,111,111,107,117,112,98,117,102,102,101,114, ++ 7,26,114,101,102,115,100,97,116,97,109,111,46,108,98,117,102,79,99,99, ++ 117,112,97,116,105,111,110,115,19,100,114,111,112,100,111,119,110,46,99,111, ++ 108,115,46,99,111,117,110,116,2,1,19,100,114,111,112,100,111,119,110,46, ++ 99,111,108,115,46,105,116,101,109,115,14,1,0,0,13,114,101,102,102,111, ++ 110,116,104,101,105,103,104,116,2,14,0,0,13,116,100,98,101,110,117,109, ++ 101,100,105,116,108,98,10,99,98,70,101,97,116,117,114,101,115,13,111,112, ++ 116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115, ++ 101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111, ++ 119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116, ++ 114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108, ++ 121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97, ++ 108,101,0,8,98,111,117,110,100,115,95,120,2,53,8,98,111,117,110,100, ++ 115,95,121,3,160,0,9,98,111,117,110,100,115,95,99,120,3,39,1,9, ++ 98,111,117,110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,6,7,70,101,97,116,117,114,101,16,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116, ++ 17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,15, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,59,2,0,2,0,2,0, ++ 0,8,116,97,98,111,114,100,101,114,2,3,13,111,110,100,97,116,97,101, ++ 110,116,101,114,101,100,7,14,102,101,97,116,117,114,101,101,110,116,101,114, ++ 101,100,9,100,97,116,97,102,105,101,108,100,6,10,102,101,97,116,117,114, ++ 101,95,105,100,10,100,97,116,97,115,111,117,114,99,101,7,16,109,97,105, ++ 110,102,111,46,100,115,80,101,114,115,111,110,115,21,100,114,111,112,100,111, ++ 119,110,46,108,111,111,107,117,112,98,117,102,102,101,114,7,23,114,101,102, ++ 115,100,97,116,97,109,111,46,108,98,117,102,70,101,97,116,117,114,101,115, ++ 19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,99,111,117,110,116, ++ 2,1,19,100,114,111,112,100,111,119,110,46,99,111,108,115,46,105,116,101, ++ 109,115,14,1,0,0,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,14,0,0,11,116,100,98,114,101,97,108,101,100,105,116,14,114,101,83, ++ 101,120,80,111,116,101,110,116,105,111,110,13,111,112,116,105,111,110,115,119, ++ 105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115, ++ 11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111, ++ 119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100, ++ 103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105, ++ 103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111, ++ 117,110,100,115,95,120,2,18,8,98,111,117,110,100,115,95,121,3,192,0, ++ 9,98,111,117,110,100,115,95,99,120,3,146,0,9,98,111,117,110,100,115, ++ 95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6, ++ 14,83,101,120,46,32,112,111,116,101,110,116,105,111,110,16,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102, ++ 116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2, ++ 15,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109, ++ 101,46,111,117,116,101,114,102,114,97,109,101,1,2,94,2,0,2,0,2, ++ 0,0,8,116,97,98,111,114,100,101,114,2,4,12,111,110,99,104,101,99, ++ 107,118,97,108,117,101,7,22,115,101,120,112,111,116,101,110,116,105,111,110, ++ 99,104,101,99,107,118,97,108,117,101,9,100,97,116,97,102,105,101,108,100, ++ 6,16,115,101,120,117,97,108,95,112,111,116,101,110,116,105,111,110,10,100, ++ 97,116,97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46,100,115, ++ 80,101,114,115,111,110,115,10,102,111,114,109,97,116,101,100,105,116,6,5, ++ 35,35,46,35,35,10,102,111,114,109,97,116,100,105,115,112,6,5,35,35, ++ 46,35,35,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,3, ++ 118,97,108,2,0,0,0,18,116,100,98,98,111,111,108,101,97,110,116,101, ++ 120,116,101,100,105,116,7,98,101,72,97,112,112,121,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,50,8,98,111,117,110,100,115,95,121, ++ 3,0,1,9,98,111,117,110,100,115,95,99,120,3,162,0,9,98,111,117, ++ 110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,7,72,97,112,112,121,32,63,16,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114, ++ 97,109,101,46,99,97,112,116,105,111,110,100,105,115,116,2,15,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,62,2,0,2,0,2,0,0,8,116, ++ 97,98,111,114,100,101,114,2,6,10,116,101,120,116,95,102,97,108,115,101, ++ 18,3,0,0,0,35,4,50,4,75,4,9,116,101,120,116,95,116,114,117, ++ 101,18,7,0,0,0,21,4,73,4,53,4,32,0,58,4,48,4,58,4, ++ 9,100,97,116,97,102,105,101,108,100,6,8,105,102,95,104,97,112,112,121, ++ 10,100,97,116,97,115,111,117,114,99,101,7,16,109,97,105,110,102,111,46, ++ 100,115,80,101,114,115,111,110,115,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,14,0,0,6,116,108,97,98,101,108,17,108,98,108,68,97, ++ 116,101,70,111,114,109,97,116,72,105,110,116,8,98,111,117,110,100,115,95, ++ 120,3,224,0,8,98,111,117,110,100,115,95,121,3,224,0,9,98,111,117, ++ 110,100,115,95,99,120,2,0,9,98,111,117,110,100,115,95,99,121,2,14, ++ 8,116,97,98,111,114,100,101,114,2,12,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,14,0,0,6,116,108,97,98,101,108,19,108,98,108, ++ 83,101,120,80,111,116,101,110,116,105,111,110,72,105,110,116,8,98,111,117, ++ 110,100,115,95,120,3,176,0,8,98,111,117,110,100,115,95,121,3,192,0, ++ 9,98,111,117,110,100,115,95,99,120,2,56,9,98,111,117,110,100,115,95, ++ 99,121,2,14,8,116,97,98,111,114,100,101,114,2,11,7,99,97,112,116, ++ 105,111,110,6,10,40,48,46,46,49,48,48,41,32,37,13,114,101,102,102, ++ 111,110,116,104,101,105,103,104,116,2,14,0,0,23,116,100,98,99,97,108, ++ 101,110,100,97,114,100,97,116,101,116,105,109,101,101,100,105,116,14,99,100, ++ 101,68,97,116,101,79,102,66,105,114,116,104,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,13,111,119,95,109,111,117,115,101,119,104,101,101, ++ 108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18, ++ 111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95, ++ 120,2,29,8,98,111,117,110,100,115,95,121,3,224,0,9,98,111,117,110, ++ 100,115,95,99,120,3,183,0,9,98,111,117,110,100,115,95,99,121,2,20, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,13,68,97,116,101, ++ 32,111,102,32,98,105,114,116,104,16,102,114,97,109,101,46,99,97,112,116, ++ 105,111,110,112,111,115,7,7,99,112,95,108,101,102,116,17,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,100,105,115,116,2,15,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101, ++ 114,102,114,97,109,101,1,2,83,2,0,2,0,2,0,0,8,116,97,98, ++ 111,114,100,101,114,2,5,9,100,97,116,97,102,105,101,108,100,6,11,100, ++ 97,116,101,111,102,98,105,114,116,104,10,100,97,116,97,115,111,117,114,99, ++ 101,7,16,109,97,105,110,102,111,46,100,115,80,101,114,115,111,110,115,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,3,118,97,108,2, ++ 0,2,109,97,4,90,29,1,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,teditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/editform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/editform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,164 ---- ++ unit editform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,msedbedit,mselookupbuffer, ++ msedataedits,msedb; ++ ++ type ++ teditfo = class(tmseform) ++ btnOk: tbutton; ++ btnCancel: tbutton; ++ seName: tdbstringedit; ++ cbPlanets: tenumeditlb; ++ cbContinents: tenumeditlb; ++ cbCountries: tdbenumeditlb; ++ cbOccupations: tdbenumeditlb; ++ cbFeatures: tdbenumeditlb; ++ reSexPotention: tdbrealedit; ++ beHappy: tdbbooleantextedit; ++ lblDateFormatHint: tlabel; ++ lblSexPotentionHint: tlabel; ++ cdeDateOfBirth: tdbcalendardatetimeedit; ++ procedure editfocreated(const sender: TObject); ++ procedure editfodestroyed(const sender: TObject); ++ procedure countryentered(const sender: TObject); ++ procedure occupationentered(const sender: TObject); ++ procedure featureentered(const sender: TObject); ++ procedure continentchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure planetchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure continentsfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ procedure countriesfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ procedure sexpotentioncheckvalue(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ ++ end; ++ var ++ editfo: teditfo; ++ ++ implementation ++ ++ uses ++ editform_mfm, ++ refsdatamodule, ++ main, ++ sysutils, ++ msewidgets ++ ; ++ ++ ++ procedure teditfo.editfocreated(const sender: TObject); ++ var ++ int1: integer; ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ ++ if refsdatamo.lbufCountries.findphys(0,integer(cbCountries.value),int1) then begin ++ cbContinents.value:= refsdatamo.lbufCountries.integervaluephys(1,int1); ++ end; ++ ++ if refsdatamo.lbufContinents.findphys(0,integer(cbContinents.value),int1) then begin ++ cbPlanets.value:= refsdatamo.lbufContinents.integervaluephys(1,int1); ++ end; ++ ++ lblDateFormatHint.caption:= '( ' + uppercase(ShortDateFormat) + ' )'; ++ end; ++ ++ procedure teditfo.editfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure teditfo.countryentered(const sender: TObject); ++ begin ++ mainfo.fldCountry.value:= cbCountries.text; ++ end; ++ ++ procedure teditfo.occupationentered(const sender: TObject); ++ begin ++ mainfo.fldOccupation.value:= cbOccupations.text; ++ end; ++ ++ procedure teditfo.featureentered(const sender: TObject); ++ begin ++ mainfo.fldFeature.value:= cbFeatures.text; ++ end; ++ ++ procedure teditfo.continentchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ if avalue <> (sender as tenumeditlb).value then begin ++ mainfo.fldCountry.clear; ++ mainfo.fldCountryId.clear; ++ end; ++ end; ++ ++ procedure teditfo.planetchanged(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ if avalue <> (sender as tenumeditlb).value then begin ++ cbContinents.value:= -1; ++ mainfo.fldCountry.clear; ++ mainfo.fldCountryId.clear; ++ end; ++ end; ++ ++ procedure teditfo.continentsfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ begin ++ valid:= ++ (cbPlanets.value = -1) ++ or ++ (sender.integervalue[1,physindex] = cbPlanets.value); ++ end; ++ ++ procedure teditfo.countriesfilter(const sender: tcustomlookupbuffer; ++ const physindex: Integer; var valid: Boolean); ++ begin ++ ++ if cbPlanets.value = -1 then begin ++ if cbContinents.value = -1 then begin ++ valid:= true; ++ end else begin ++ valid:= sender.integervalue[1,physindex] = cbContinents.value; ++ end; ++ end else begin ++ if cbContinents.value = -1 then begin ++ valid:= false; ++ end else begin ++ valid:= sender.integervalue[1,physindex] = cbContinents.value; ++ end; ++ end; ++ ++ end; ++ ++ procedure teditfo.sexpotentioncheckvalue(const sender: tdataedit; ++ const quiet: Boolean; var accept: Boolean); ++ var ++ f1: double; ++ begin ++ try ++ f1:= StrToFloat(sender.text); ++ if (f1 < 0) or (f1 > 100) then begin ++ accept:= false; ++ showmessage('Percent of people sexual potention should be in range 0..100','Invalid Input',150); ++ end; ++ except ++ on EConvertError do begin ++ if sender.text <> '' then begin ++ accept:= false; ++ showmessage('Percent value 0..100% step 0'+ DecimalSeparator +'01 expected here','Invalid Input',150); ++ end; ++ end; ++ end; ++ ++ end; ++ ++ ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,141 ---- ++ object featureseditfo: tfeatureseditfo ++ bounds_x = 30 ++ bounds_y = 142 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Features editor' ++ icon.transparency = -2147483648 ++ oncreate = featureseditfocreated ++ ondestroy = featureseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdFeatures: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsFeatures ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 18 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Feature name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 336 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seFeature' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdfeaturesupdaterowdata ++ datarowheight = 22 ++ reffontheight = 14 ++ object seFeature: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 336 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsFeatures ++ reffontheight = 14 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,157 ---- ++ unit featureseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,featureseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2797] of byte end = ++ (size: 2798; data: ( ++ 84,80,70,48,15,116,102,101,97,116,117,114,101,115,101,100,105,116,102,111, ++ 14,102,101,97,116,117,114,101,115,101,100,105,116,102,111,8,98,111,117,110, ++ 100,115,95,120,2,30,8,98,111,117,110,100,115,95,121,3,142,0,9,98, ++ 111,117,110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99, ++ 121,3,66,1,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116, ++ 97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115, ++ 101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117,115, ++ 101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100, ++ 103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,0,18, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,0, ++ 19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120, ++ 3,146,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,121,3,66,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,17, ++ 102,111,95,115,99,114,101,101,110,99,101,110,116,101,114,101,100,15,102,111, ++ 95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97,117,116, ++ 111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101,112,111, ++ 115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97,112,116, ++ 105,111,110,6,15,70,101,97,116,117,114,101,115,32,101,100,105,116,111,114, ++ 17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0, ++ 0,0,128,8,111,110,99,114,101,97,116,101,7,21,102,101,97,116,117,114, ++ 101,115,101,100,105,116,102,111,99,114,101,97,116,101,100,9,111,110,100,101, ++ 115,116,114,111,121,7,23,102,101,97,116,117,114,101,115,101,100,105,116,102, ++ 111,100,101,115,116,114,111,121,101,100,15,109,111,100,117,108,101,99,108,97, ++ 115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,244,17,116, ++ 99,111,109,109,111,110,114,101,102,115,101,100,105,116,102,111,17,99,111,109, ++ 109,111,110,114,101,102,115,101,100,105,116,102,111,49,9,98,111,117,110,100, ++ 115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99,121,3,66,1, ++ 8,116,97,98,111,114,100,101,114,2,0,19,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,99,120,3,146,1,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,66,1,21,99,111, ++ 110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,0,241,7,116,98,117,116,116,111,110,10,98,116,110,83,97, ++ 118,101,65,108,108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,8,0,0,241,7,116,98,117,116,116,111, ++ 110,7,98,116,110,85,110,68,111,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,7,0,0,241,7,116,98, ++ 117,116,116,111,110,6,98,116,110,65,100,100,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,5,0,0,241, ++ 7,116,98,117,116,116,111,110,9,98,116,110,68,101,108,101,116,101,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,4,0,0,241,7,116,98,117,116,116,111,110,8,98,116,110,67,108, ++ 111,115,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,0,0,241,7,116,98,117,116,116,111,110,10, ++ 98,116,110,85,110,68,111,65,108,108,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,6,0,0,241,6,116, ++ 108,97,98,101,108,14,108,98,108,65,100,100,101,100,76,101,103,101,110,100, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,2,0,0,241,6,116,108,97,98,101,108,16,108,98,108,67, ++ 104,97,110,103,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,0,0,242, ++ 2,8,13,116,100,98,119,105,100,103,101,116,103,114,105,100,11,103,114,100, ++ 70,101,97,116,117,114,101,115,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115, ++ 99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111, ++ 117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99,120,3,130, ++ 1,9,98,111,117,110,100,115,95,99,121,3,218,0,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11,7,97,110, ++ 95,108,101,102,116,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104, ++ 116,0,10,100,97,116,97,115,111,117,114,99,101,7,21,114,101,102,115,100, ++ 97,116,97,109,111,46,100,115,70,101,97,116,117,114,101,115,13,102,105,120, ++ 99,111,108,115,46,99,111,117,110,116,2,1,13,102,105,120,99,111,108,115, ++ 46,105,116,101,109,115,14,1,5,119,105,100,116,104,2,29,8,110,117,109, ++ 115,116,97,114,116,2,1,7,110,117,109,115,116,101,112,2,1,0,0,13, ++ 102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105,120,114, ++ 111,119,115,46,105,116,101,109,115,14,1,5,99,111,108,111,114,4,20,0, ++ 0,160,6,104,101,105,103,104,116,2,18,14,99,97,112,116,105,111,110,115, ++ 46,99,111,117,110,116,2,1,14,99,97,112,116,105,111,110,115,46,105,116, ++ 101,109,115,14,1,7,99,97,112,116,105,111,110,6,12,70,101,97,116,117, ++ 114,101,32,110,97,109,101,0,0,17,99,97,112,116,105,111,110,115,102,105, ++ 120,46,99,111,117,110,116,2,1,17,99,97,112,116,105,111,110,115,102,105, ++ 120,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,18,1,0, ++ 0,0,22,33,0,0,0,0,15,114,111,119,99,111,108,111,114,115,46,99, ++ 111,117,110,116,2,2,15,114,111,119,99,111,108,111,114,115,46,105,116,101, ++ 109,115,1,4,0,192,255,0,4,8,0,0,160,0,14,100,97,116,97,99, ++ 111,108,115,46,99,111,117,110,116,2,1,14,100,97,116,97,99,111,108,115, ++ 46,105,116,101,109,115,14,1,17,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116,104,3,80, ++ 1,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108,108,12,99, ++ 111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115, ++ 116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114, ++ 111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111, ++ 114,0,10,119,105,100,103,101,116,110,97,109,101,6,9,115,101,70,101,97, ++ 116,117,114,101,0,0,16,100,97,116,97,108,105,110,107,46,111,112,116,105, ++ 111,110,115,11,17,103,100,111,95,112,114,111,112,115,99,114,111,108,108,98, ++ 97,114,14,103,100,111,95,116,104,117,109,98,116,114,97,99,107,0,24,100, ++ 97,116,97,108,105,110,107,46,111,110,117,112,100,97,116,101,114,111,119,100, ++ 97,116,97,7,24,103,114,100,102,101,97,116,117,114,101,115,117,112,100,97, ++ 116,101,114,111,119,100,97,116,97,13,100,97,116,97,114,111,119,104,101,105, ++ 103,104,116,2,22,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2, ++ 14,0,13,116,100,98,115,116,114,105,110,103,101,100,105,116,9,115,101,70, ++ 101,97,116,117,114,101,13,111,112,116,105,111,110,115,119,105,100,103,101,116, ++ 11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116, ++ 97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,0,8,98,111,117,110,100,115, ++ 95,120,2,0,8,98,111,117,110,100,115,95,121,2,0,9,98,111,117,110, ++ 100,115,95,99,120,3,80,1,9,98,111,117,110,100,115,95,99,121,2,22, ++ 12,102,114,97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109, ++ 101,46,99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108, ++ 95,108,101,118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105, ++ 101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8,11,111, ++ 112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111, ++ 110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111, ++ 101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101, ++ 120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116, ++ 114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20, ++ 111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116, ++ 13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117, ++ 116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101, ++ 99,116,111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111, ++ 116,110,117,108,108,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101, ++ 95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101, ++ 121,101,120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117, ++ 101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97, ++ 102,105,101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117, ++ 114,99,101,7,21,114,101,102,115,100,97,116,97,109,111,46,100,115,70,101, ++ 97,116,117,114,101,115,13,114,101,102,102,111,110,116,104,101,105,103,104,116, ++ 2,14,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,83,97, ++ 118,101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97,99,116, ++ 85,110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99,116,65, ++ 100,100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68,101,108, ++ 101,116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117,114,99, ++ 101,10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97,99,116, ++ 105,111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tfeatureseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/featureseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/featureseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit featureseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db, ++ msedataedits; ++ ++ type ++ tfeatureseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdFeatures: tdbwidgetgrid; ++ seFeature: tdbstringedit; ++ procedure featureseditfocreated(const sender: TObject); ++ procedure featureseditfodestroyed(const sender: TObject); ++ procedure grdfeaturesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ featureseditfo: tfeatureseditfo; ++ ++ implementation ++ uses ++ featureseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure tfeatureseditfo.featureseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdFeatures.datasource.dataset; ++ end; ++ ++ procedure tfeatureseditfo.featureseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tfeatureseditfo.grdfeaturesupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,636 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 35 ++ bounds_y = 146 ++ bounds_cx = 705 ++ bounds_cy = 411 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 22 ++ container.bounds_cx = 705 ++ container.bounds_cy = 389 ++ container.frame.dummy = 0 ++ container.taborder = 1 ++ optionswindow = [wo_groupleader] ++ mainmenu = mnuMain ++ font.colorshadow = -2147483648 ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'The Galaxy Data Keeper' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object grdPersons: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_hinton, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 688 ++ bounds_cy = 322 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ popupmenu = pupPersons ++ datasource = dsPersons ++ optionsgrid = [og_colsizing, og_focuscellonenter, og_autofirstrow, og_colchangeontabkey, og_autopopup] ++ datacols.count = 7 ++ datacols.colorselect = -1610612713 ++ datacols.coloractive = -2147483648 ++ datacols.options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datacols.optionsedit = [scoe_undoonesc, scoe_eatreturn, scoe_autoselect, scoe_autoselectonfirstclick, scoe_caretonreadonly] ++ datacols.items = < ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 133 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ onshowhint = shownamehint ++ datafield = 'descr' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 101 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'country' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 89 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'occupation' ++ end ++ item ++ frame.framei_left = 5 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 94 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'feature' ++ end ++ item ++ frame.framei_right = 5 ++ frame.localprops = [frl_firight] ++ frame.dummy = 0 ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 70 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'sexual_potention' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 89 ++ options = [co_readonly, co_focusselect, co_rowselect, co_proportional, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'dateofbirth' ++ textflags = [tf_xcentered, tf_ycentered, tf_noselect] ++ end ++ item ++ colorselect = -1610612713 ++ coloractive = -2147483648 ++ width = 53 ++ options = [co_readonly, co_focusselect, co_rowselect, co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'if_happy' ++ textflags = [tf_xcentered, tf_ycentered, tf_noselect] ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ fixcols.count = 1 ++ fixcols.coloractive = -2147483648 ++ fixcols.items = < ++ item ++ coloractive = -2147483648 ++ width = 32 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.coloractive = -2147483648 ++ fixrows.items = < ++ item ++ frame.levelo = 1 ++ frame.leveli = -1 ++ frame.colorclient = -1610612716 ++ frame.localprops = [frl_levelo, frl_leveli, frl_framewidth, frl_colorframe, frl_fitop, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ coloractive = -2147483648 ++ height = 36 ++ captions.count = 7 ++ captions.items = < ++ item ++ caption = 'Name' ++ end ++ item ++ caption = 'Country' ++ end ++ item ++ caption = 'Occupation' ++ end ++ item ++ caption = 'Feature' ++ end ++ item ++ caption = 'Sexual'#13#10'potention' ++ end ++ item ++ caption = 'Date of'#13#10'birth' ++ end ++ item ++ caption = 'Happy?' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ datarowheight = 16 ++ oncellevent = personsevent ++ reffontheight = 14 ++ end ++ object btnExit: tbutton ++ bounds_x = 603 ++ bounds_y = 349 ++ bounds_cx = 58 ++ bounds_cy = 29 ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 1 ++ state = [as_localcaption] ++ action = actExit ++ caption = 'E&xit' ++ end ++ object btnEdit: tbutton ++ bounds_x = 226 ++ bounds_y = 343 ++ bounds_cx = 71 ++ bounds_cy = 30 ++ frame.colorclient = 13172680 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 2 ++ state = [as_localcaption] ++ action = actEdit ++ caption = '&Edit..' ++ end ++ object btnAdd: tbutton ++ bounds_x = 338 ++ bounds_y = 343 ++ bounds_cx = 79 ++ bounds_cy = 30 ++ frame.colorclient = 13158655 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 3 ++ state = [as_localcaption] ++ action = actAdd ++ caption = '&Add..' ++ end ++ object btnDelete: tbutton ++ bounds_x = 458 ++ bounds_y = 343 ++ bounds_cx = 79 ++ bounds_cy = 30 ++ frame.colorclient = 16763080 ++ frame.localprops = [frl_colorclient] ++ frame.template = ftButtons ++ frame.dummy = 0 ++ anchors = [an_right, an_bottom] ++ taborder = 4 ++ state = [as_localcaption] ++ action = actDelete ++ caption = '&Delete..' ++ end ++ object conn: tmsepqconnection ++ Connected = True ++ DatabaseName = 'serious_matters' ++ Params.Strings = ( ++ 'options=''--CLIENT_ENCODING=koi8''' ++ ) ++ Password = 'all' ++ Transaction = trans ++ UserName = 'worldadmin' ++ HostName = 'localhost' ++ options = [pqco_closetransactiononfail] ++ left = 16 ++ top = 328 ++ end ++ object trans: tmsesqltransaction ++ Active = True ++ Database = conn ++ Params.Strings = ( ++ '' ++ ) ++ left = 16 ++ top = 352 ++ end ++ object qryPersons: tmsesqlquery ++ params = <> ++ SQL.Strings = ( ++ 'select' ++ ' a.id,' ++ ' a.feature_id,' ++ ' a.occupation_id,' ++ ' a.country_id,' ++ ' a.descr,' ++ ' a.sexual_potention ,' ++ ' a.photo,' ++ ' b.descr as country,' ++ ' c.descr as occupation,' ++ ' d.descr as feature,' ++ ' a.if_happy,' ++ 'a.dateofbirth' ++ 'from persons a left outer join ' ++ 'countries b on a.country_id=b.id left outer join ' ++ 'occupations c on a.occupation_id=c.id left outer join ' ++ 'features d on a.feature_id=d.id ' ++ 'order by a.id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ database = conn ++ Active = True ++ Transaction = trans ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'feature_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'occupation_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'country_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'sexual_potention' ++ DataType = ftFloat ++ Precision = -1 ++ Size = 8 ++ end ++ item ++ Name = 'photo' ++ DataType = ftBlob ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'country' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'occupation' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'feature' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'if_happy' ++ DataType = ftBoolean ++ Precision = -1 ++ Size = 1 ++ end ++ item ++ Name = 'dateofbirth' ++ DataType = ftDate ++ Precision = -1 ++ Size = 8 ++ end> ++ onapplyrecupdate = personsupdate ++ left = 80 ++ top = 328 ++ object fldSexPotention: tmsefloatfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'sexual_potention' ++ DisplayFormat = '##.##' ++ left = 432 ++ top = 114 ++ end ++ object fldHappy: tmsebooleanfield ++ DisplayWidth = 3 ++ FieldName = 'if_happy' ++ Index = 1 ++ displayvalues = #1044#1072';'#1053#1077#1090 ++ left = 600 ++ top = 98 ++ end ++ object fldCountryId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'country_id' ++ Index = 2 ++ left = 176 ++ top = 98 ++ end ++ object fldOccupationId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'occupation_id' ++ Index = 3 ++ left = 272 ++ top = 162 ++ end ++ object fldFeatureId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'feature_id' ++ Index = 4 ++ left = 376 ++ top = 90 ++ end ++ object fldPersonId: tmselongintfield ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ Index = 5 ++ left = 184 ++ top = 328 ++ end ++ object fldDateOfBirth: tmsedatefield ++ DisplayWidth = 10 ++ FieldName = 'dateofbirth' ++ Index = 6 ++ left = 520 ++ top = 72 ++ end ++ object fldName: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 7 ++ Size = 4 ++ Transliterate = False ++ left = 80 ++ top = 110 ++ end ++ object fldCountry: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'country' ++ Index = 8 ++ Size = 4 ++ Transliterate = False ++ left = 168 ++ top = 118 ++ end ++ object fldOccupation: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'occupation' ++ Index = 9 ++ Size = 4 ++ Transliterate = False ++ left = 272 ++ top = 182 ++ end ++ object fldFeature: tmsememofield ++ DisplayWidth = 10 ++ FieldName = 'feature' ++ Index = 10 ++ Size = 4 ++ Transliterate = False ++ left = 360 ++ top = 134 ++ end ++ end ++ object fldName1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'descr' ++ Index = -1 ++ left = 104 ++ top = 82 ++ end ++ object fldCountry1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'country' ++ Index = -1 ++ left = 184 ++ top = 66 ++ end ++ object fldOccupation1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'occupation' ++ Index = -1 ++ left = 272 ++ top = 130 ++ end ++ object fldFeature1: tmsestringfield ++ DisplayWidth = 20 ++ FieldName = 'feature' ++ Index = -1 ++ left = 384 ++ top = 66 ++ end ++ object dsPersons: tmsedatasource ++ DataSet = qryPersons ++ left = 80 ++ top = 352 ++ end ++ object actExit: taction ++ shortcut = 16465 ++ onexecute = appexit ++ left = 24 ++ end ++ object mnuMain: tmainmenu ++ popupitemframetemplate = ftMainMenuPopupItem ++ popupitemframetemplateactive = ftMainMenuPopupItem ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ action = actExit ++ caption = 'E&xit' ++ state = [as_localcaption] ++ end> ++ caption = '&File..' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 5 ++ submenu.items = < ++ item ++ action = actPlanetsEdit ++ caption = '&Planets..' ++ state = [as_localcaption] ++ end ++ item ++ action = actContinentsEdit ++ caption = '&Continents..' ++ state = [as_localcaption] ++ end ++ item ++ action = actCountriesEdit ++ caption = 'C&ountries..' ++ state = [as_localcaption] ++ end ++ item ++ action = actFeaturesEdit ++ caption = '&Features..' ++ state = [as_localcaption] ++ end ++ item ++ action = actOccupationsEdit ++ caption = '&Occupations..' ++ state = [as_localcaption] ++ end> ++ caption = 'Ed&it..' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 1 ++ submenu.items = < ++ item ++ action = actShowAbout ++ caption = '&About program..' ++ state = [as_localcaption] ++ end> ++ caption = '&Help' ++ state = [as_localcaption] ++ end> ++ menu.font.colorshadow = -2147483648 ++ menu.font.height = 13 ++ menu.font.name = 'stf_helvetica' ++ menu.font.xscale = 1.0000000000000000E+0000 ++ menu.font.dummy = 0 ++ itemframetemplate = ftMainMenuItem ++ itemframetemplateactive = ftMainMenuItem ++ left = 336 ++ end ++ object ftMainMenuItem: tframecomp ++ template.framei_left = 10 ++ template.framei_top = 5 ++ template.framei_right = 50 ++ left = 416 ++ top = 166 ++ end ++ object actEdit: taction ++ shortcut = 16453 ++ onexecute = editformshow ++ left = 216 ++ top = 290 ++ end ++ object actAdd: taction ++ shortcut = 20486 ++ onexecute = addformshow ++ left = 320 ++ top = 290 ++ end ++ object actDelete: taction ++ shortcut = 16452 ++ onexecute = deleterecord ++ left = 440 ++ top = 290 ++ end ++ object pupPersons: tpopupmenu ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ action = actEdit ++ caption = '&Edit record..' ++ state = [as_localcaption] ++ end ++ item ++ action = actAdd ++ caption = '&Add record..' ++ state = [as_localcaption] ++ end ++ item ++ action = actDelete ++ caption = '&Delete record..' ++ state = [as_localcaption] ++ end> ++ left = 368 ++ top = 234 ++ end ++ object ftButtons: tframecomp ++ template.levelo = -1 ++ template.leveli = 2 ++ template.colorclient = -1610612712 ++ left = 544 ++ top = 330 ++ end ++ object actPlanetsEdit: taction ++ onexecute = planetseditexecute ++ left = 104 ++ top = 162 ++ end ++ object actContinentsEdit: taction ++ onexecute = continentseditexecute ++ left = 104 ++ top = 186 ++ end ++ object actCountriesEdit: taction ++ onexecute = countrieseditexecute ++ left = 104 ++ top = 210 ++ end ++ object actFeaturesEdit: taction ++ onexecute = featureseditexecute ++ left = 104 ++ top = 234 ++ end ++ object actOccupationsEdit: taction ++ onexecute = occupationseditexecute ++ left = 104 ++ top = 258 ++ end ++ object actShowAbout: taction ++ onexecute = showaboutexecute ++ left = 216 ++ top = 2 ++ end ++ object ftMainMenuPopupItem: tframecomp ++ template.framei_left = 10 ++ template.framei_top = 1 ++ template.framei_right = 2 ++ template.framei_bottom = 1 ++ left = 536 ++ top = 167 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,558 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..10813] of byte end = ++ (size: 10814; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,35,8,98,111,117,110,100,115, ++ 95,121,3,146,0,9,98,111,117,110,100,115,95,99,120,3,193,2,9,98, ++ 111,117,110,100,115,95,99,121,3,155,1,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,22,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,193,2,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,133,1,21, ++ 99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,18,99,111,110,116,97,105,110,101,114,46,116,97,98,111,114,100, ++ 101,114,2,1,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,8,109,97,105,110, ++ 109,101,110,117,7,7,109,110,117,77,97,105,110,16,102,111,110,116,46,99, ++ 111,108,111,114,115,104,97,100,111,119,4,0,0,0,128,11,102,111,110,116, ++ 46,120,115,99,97,108,101,5,0,0,0,0,0,0,0,128,255,63,10,102, ++ 111,110,116,46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11, ++ 7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110,97,116, ++ 101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114,101,97,100, ++ 115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97, ++ 116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101, ++ 115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,22,84,104,101,32, ++ 71,97,108,97,120,121,32,68,97,116,97,32,75,101,101,112,101,114,17,105, ++ 99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0, ++ 128,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116, ++ 109,115,101,102,111,114,109,0,13,116,100,98,115,116,114,105,110,103,103,114, ++ 105,100,10,103,114,100,80,101,114,115,111,110,115,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97,99, ++ 107,111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101,108, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95, ++ 121,2,8,9,98,111,117,110,100,115,95,99,120,3,176,2,9,98,111,117, ++ 110,100,115,95,99,121,3,66,1,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116, ++ 6,97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,9,97,110,95, ++ 98,111,116,116,111,109,0,9,112,111,112,117,112,109,101,110,117,7,10,112, ++ 117,112,80,101,114,115,111,110,115,10,100,97,116,97,115,111,117,114,99,101, ++ 7,9,100,115,80,101,114,115,111,110,115,11,111,112,116,105,111,110,115,103, ++ 114,105,100,11,12,111,103,95,99,111,108,115,105,122,105,110,103,19,111,103, ++ 95,102,111,99,117,115,99,101,108,108,111,110,101,110,116,101,114,15,111,103, ++ 95,97,117,116,111,102,105,114,115,116,114,111,119,20,111,103,95,99,111,108, ++ 99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95,97,117, ++ 116,111,112,111,112,117,112,0,14,100,97,116,97,99,111,108,115,46,99,111, ++ 117,110,116,2,7,20,100,97,116,97,99,111,108,115,46,99,111,108,111,114, ++ 115,101,108,101,99,116,4,23,0,0,160,20,100,97,116,97,99,111,108,115, ++ 46,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,16,100,97, ++ 116,97,99,111,108,115,46,111,112,116,105,111,110,115,11,11,99,111,95,114, ++ 101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115,115,101,108,101, ++ 99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,15,99,111,95,112, ++ 114,111,112,111,114,116,105,111,110,97,108,12,99,111,95,115,97,118,101,118, ++ 97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111, ++ 95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114, ++ 13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111, ++ 117,115,101,115,99,114,111,108,108,114,111,119,0,20,100,97,116,97,99,111, ++ 108,115,46,111,112,116,105,111,110,115,101,100,105,116,11,14,115,99,111,101, ++ 95,117,110,100,111,111,110,101,115,99,14,115,99,111,101,95,101,97,116,114, ++ 101,116,117,114,110,15,115,99,111,101,95,97,117,116,111,115,101,108,101,99, ++ 116,27,115,99,111,101,95,97,117,116,111,115,101,108,101,99,116,111,110,102, ++ 105,114,115,116,99,108,105,99,107,20,115,99,111,101,95,99,97,114,101,116, ++ 111,110,114,101,97,100,111,110,108,121,0,14,100,97,116,97,99,111,108,115, ++ 46,105,116,101,109,115,14,1,17,102,114,97,109,101,46,102,114,97,109,101, ++ 105,95,108,101,102,116,2,5,16,102,114,97,109,101,46,108,111,99,97,108, ++ 112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,11,99,111,108,111,114,115,101, ++ 108,101,99,116,4,23,0,0,160,11,99,111,108,111,114,97,99,116,105,118, ++ 101,4,0,0,0,128,5,119,105,100,116,104,3,133,0,7,111,112,116,105, ++ 111,110,115,11,11,99,111,95,114,101,97,100,111,110,108,121,14,99,111,95, ++ 102,111,99,117,115,115,101,108,101,99,116,12,99,111,95,114,111,119,115,101, ++ 108,101,99,116,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108, ++ 12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118, ++ 101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111, ++ 95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111, ++ 108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111, ++ 119,0,10,111,110,115,104,111,119,104,105,110,116,7,12,115,104,111,119,110, ++ 97,109,101,104,105,110,116,9,100,97,116,97,102,105,101,108,100,6,5,100, ++ 101,115,99,114,0,1,17,102,114,97,109,101,46,102,114,97,109,101,105,95, ++ 108,101,102,116,2,5,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,11,99,111,108,111,114,115,101,108,101, ++ 99,116,4,23,0,0,160,11,99,111,108,111,114,97,99,116,105,118,101,4, ++ 0,0,0,128,5,119,105,100,116,104,2,101,7,111,112,116,105,111,110,115, ++ 11,11,99,111,95,114,101,97,100,111,110,108,121,14,99,111,95,102,111,99, ++ 117,115,115,101,108,101,99,116,12,99,111,95,114,111,119,115,101,108,101,99, ++ 116,15,99,111,95,112,114,111,112,111,114,116,105,111,110,97,108,12,99,111, ++ 95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116, ++ 97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111, ++ 119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114, ++ 17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9, ++ 100,97,116,97,102,105,101,108,100,6,7,99,111,117,110,116,114,121,0,1, ++ 17,102,114,97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,5, ++ 16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102, ++ 114,108,95,102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0,0, ++ 160,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5,119, ++ 105,100,116,104,2,89,7,111,112,116,105,111,110,115,11,11,99,111,95,114, ++ 101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115,115,101,108,101, ++ 99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,15,99,111,95,112, ++ 114,111,112,111,114,116,105,111,110,97,108,12,99,111,95,115,97,118,101,118, ++ 97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111, ++ 95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114, ++ 13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111, ++ 117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102,105, ++ 101,108,100,6,10,111,99,99,117,112,97,116,105,111,110,0,1,17,102,114, ++ 97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,5,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95, ++ 102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0,0,160,11,99, ++ 111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5,119,105,100,116, ++ 104,2,94,7,111,112,116,105,111,110,115,11,11,99,111,95,114,101,97,100, ++ 111,110,108,121,14,99,111,95,102,111,99,117,115,115,101,108,101,99,116,12, ++ 99,111,95,114,111,119,115,101,108,101,99,116,15,99,111,95,112,114,111,112, ++ 111,114,116,105,111,110,97,108,12,99,111,95,115,97,118,101,118,97,108,117, ++ 101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111, ++ 119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111, ++ 95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111,117,115,101, ++ 115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102,105,101,108,100, ++ 6,7,102,101,97,116,117,114,101,0,1,18,102,114,97,109,101,46,102,114, ++ 97,109,101,105,95,114,105,103,104,116,2,5,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,11,102,114,108,95,102,105,114,105,103, ++ 104,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,11,99,111, ++ 108,111,114,115,101,108,101,99,116,4,23,0,0,160,11,99,111,108,111,114, ++ 97,99,116,105,118,101,4,0,0,0,128,5,119,105,100,116,104,2,70,7, ++ 111,112,116,105,111,110,115,11,11,99,111,95,114,101,97,100,111,110,108,121, ++ 14,99,111,95,102,111,99,117,115,115,101,108,101,99,116,12,99,111,95,114, ++ 111,119,115,101,108,101,99,116,15,99,111,95,112,114,111,112,111,114,116,105, ++ 111,110,97,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111, ++ 95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110, ++ 116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98, ++ 114,97,99,111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114,111, ++ 108,108,114,111,119,0,9,100,97,116,97,102,105,101,108,100,6,16,115,101, ++ 120,117,97,108,95,112,111,116,101,110,116,105,111,110,9,116,101,120,116,102, ++ 108,97,103,115,11,8,116,102,95,114,105,103,104,116,12,116,102,95,121,99, ++ 101,110,116,101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0, ++ 0,1,11,99,111,108,111,114,115,101,108,101,99,116,4,23,0,0,160,11, ++ 99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5,119,105,100, ++ 116,104,2,89,7,111,112,116,105,111,110,115,11,11,99,111,95,114,101,97, ++ 100,111,110,108,121,14,99,111,95,102,111,99,117,115,115,101,108,101,99,116, ++ 12,99,111,95,114,111,119,115,101,108,101,99,116,15,99,111,95,112,114,111, ++ 112,111,114,116,105,111,110,97,108,12,99,111,95,115,97,118,101,118,97,108, ++ 117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114, ++ 111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99, ++ 111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111,117,115, ++ 101,115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102,105,101,108, ++ 100,6,11,100,97,116,101,111,102,98,105,114,116,104,9,116,101,120,116,102, ++ 108,97,103,115,11,12,116,102,95,120,99,101,110,116,101,114,101,100,12,116, ++ 102,95,121,99,101,110,116,101,114,101,100,11,116,102,95,110,111,115,101,108, ++ 101,99,116,0,0,1,11,99,111,108,111,114,115,101,108,101,99,116,4,23, ++ 0,0,160,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128, ++ 5,119,105,100,116,104,2,53,7,111,112,116,105,111,110,115,11,11,99,111, ++ 95,114,101,97,100,111,110,108,121,14,99,111,95,102,111,99,117,115,115,101, ++ 108,101,99,116,12,99,111,95,114,111,119,115,101,108,101,99,116,7,99,111, ++ 95,102,105,108,108,12,99,111,95,115,97,118,101,118,97,108,117,101,12,99, ++ 111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119,102,111, ++ 110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95,122,101, ++ 98,114,97,99,111,108,111,114,17,99,111,95,109,111,117,115,101,115,99,114, ++ 111,108,108,114,111,119,0,9,100,97,116,97,102,105,101,108,100,6,8,105, ++ 102,95,104,97,112,112,121,9,116,101,120,116,102,108,97,103,115,11,12,116, ++ 102,95,120,99,101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116, ++ 101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0,0,0,16, ++ 100,97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100, ++ 111,95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95, ++ 116,104,117,109,98,116,114,97,99,107,0,13,102,105,120,99,111,108,115,46, ++ 99,111,117,110,116,2,1,19,102,105,120,99,111,108,115,46,99,111,108,111, ++ 114,97,99,116,105,118,101,4,0,0,0,128,13,102,105,120,99,111,108,115, ++ 46,105,116,101,109,115,14,1,11,99,111,108,111,114,97,99,116,105,118,101, ++ 4,0,0,0,128,5,119,105,100,116,104,2,32,8,110,117,109,115,116,97, ++ 114,116,2,1,7,110,117,109,115,116,101,112,2,1,0,0,13,102,105,120, ++ 114,111,119,115,46,99,111,117,110,116,2,1,19,102,105,120,114,111,119,115, ++ 46,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,13,102,105, ++ 120,114,111,119,115,46,105,116,101,109,115,14,1,12,102,114,97,109,101,46, ++ 108,101,118,101,108,111,2,1,12,102,114,97,109,101,46,108,101,118,101,108, ++ 105,2,255,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110, ++ 116,4,20,0,0,160,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,10,102,114,108,95,108,101,118,101,108,111,10,102,114,108,95, ++ 108,101,118,101,108,105,14,102,114,108,95,102,114,97,109,101,119,105,100,116, ++ 104,14,102,114,108,95,99,111,108,111,114,102,114,97,109,101,9,102,114,108, ++ 95,102,105,116,111,112,12,102,114,108,95,102,105,98,111,116,116,111,109,15, ++ 102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,11,99,111,108,111,114,97,99,116,105, ++ 118,101,4,0,0,0,128,6,104,101,105,103,104,116,2,36,14,99,97,112, ++ 116,105,111,110,115,46,99,111,117,110,116,2,7,14,99,97,112,116,105,111, ++ 110,115,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,6,4, ++ 78,97,109,101,0,1,7,99,97,112,116,105,111,110,6,7,67,111,117,110, ++ 116,114,121,0,1,7,99,97,112,116,105,111,110,6,10,79,99,99,117,112, ++ 97,116,105,111,110,0,1,7,99,97,112,116,105,111,110,6,7,70,101,97, ++ 116,117,114,101,0,1,7,99,97,112,116,105,111,110,6,17,83,101,120,117, ++ 97,108,13,10,112,111,116,101,110,116,105,111,110,0,1,7,99,97,112,116, ++ 105,111,110,6,14,68,97,116,101,32,111,102,13,10,98,105,114,116,104,0, ++ 1,7,99,97,112,116,105,111,110,6,6,72,97,112,112,121,63,0,0,17, ++ 99,97,112,116,105,111,110,115,102,105,120,46,99,111,117,110,116,2,1,17, ++ 99,97,112,116,105,111,110,115,102,105,120,46,105,116,101,109,115,14,1,7, ++ 99,97,112,116,105,111,110,18,1,0,0,0,22,33,0,0,0,0,13,100, ++ 97,116,97,114,111,119,104,101,105,103,104,116,2,16,11,111,110,99,101,108, ++ 108,101,118,101,110,116,7,12,112,101,114,115,111,110,115,101,118,101,110,116, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,7,116, ++ 98,117,116,116,111,110,7,98,116,110,69,120,105,116,8,98,111,117,110,100, ++ 115,95,120,3,91,2,8,98,111,117,110,100,115,95,121,3,93,1,9,98, ++ 111,117,110,100,115,95,99,120,2,58,9,98,111,117,110,100,115,95,99,121, ++ 2,29,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9,102, ++ 116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,7,97,110,99,104,111,114,115,11,8,97,110,95,114,105,103,104,116, ++ 9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114, ++ 2,1,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,6,97,99,116,105,111,110,7,7,97,99,116,69,120, ++ 105,116,7,99,97,112,116,105,111,110,6,5,69,38,120,105,116,0,0,7, ++ 116,98,117,116,116,111,110,7,98,116,110,69,100,105,116,8,98,111,117,110, ++ 100,115,95,120,3,226,0,8,98,111,117,110,100,115,95,121,3,87,1,9, ++ 98,111,117,110,100,115,95,99,120,2,71,9,98,111,117,110,100,115,95,99, ++ 121,2,30,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110, ++ 116,4,200,255,200,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116, ++ 0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9,102,116, ++ 66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,7,97,110,99,104,111,114,115,11,8,97,110,95,114,105,103,104,116,9, ++ 97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114,2, ++ 2,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,6,97,99,116,105,111,110,7,7,97,99,116,69,100,105, ++ 116,7,99,97,112,116,105,111,110,6,7,38,69,100,105,116,46,46,0,0, ++ 7,116,98,117,116,116,111,110,6,98,116,110,65,100,100,8,98,111,117,110, ++ 100,115,95,120,3,82,1,8,98,111,117,110,100,115,95,121,3,87,1,9, ++ 98,111,117,110,100,115,95,99,120,2,79,9,98,111,117,110,100,115,95,99, ++ 121,2,30,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101,110, ++ 116,4,255,200,200,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114, ++ 111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116, ++ 0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9,102,116, ++ 66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,7,97,110,99,104,111,114,115,11,8,97,110,95,114,105,103,104,116,9, ++ 97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114,2, ++ 3,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112, ++ 116,105,111,110,0,6,97,99,116,105,111,110,7,6,97,99,116,65,100,100, ++ 7,99,97,112,116,105,111,110,6,6,38,65,100,100,46,46,0,0,7,116, ++ 98,117,116,116,111,110,9,98,116,110,68,101,108,101,116,101,8,98,111,117, ++ 110,100,115,95,120,3,202,1,8,98,111,117,110,100,115,95,121,3,87,1, ++ 9,98,111,117,110,100,115,95,99,120,2,79,9,98,111,117,110,100,115,95, ++ 99,121,2,30,17,102,114,97,109,101,46,99,111,108,111,114,99,108,105,101, ++ 110,116,4,200,200,255,0,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110, ++ 116,0,14,102,114,97,109,101,46,116,101,109,112,108,97,116,101,7,9,102, ++ 116,66,117,116,116,111,110,115,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,7,97,110,99,104,111,114,115,11,8,97,110,95,114,105,103,104,116, ++ 9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101,114, ++ 2,4,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97, ++ 112,116,105,111,110,0,6,97,99,116,105,111,110,7,9,97,99,116,68,101, ++ 108,101,116,101,7,99,97,112,116,105,111,110,6,9,38,68,101,108,101,116, ++ 101,46,46,0,0,16,116,109,115,101,112,113,99,111,110,110,101,99,116,105, ++ 111,110,4,99,111,110,110,9,67,111,110,110,101,99,116,101,100,9,12,68, ++ 97,116,97,98,97,115,101,78,97,109,101,6,15,115,101,114,105,111,117,115, ++ 95,109,97,116,116,101,114,115,14,80,97,114,97,109,115,46,83,116,114,105, ++ 110,103,115,1,6,32,111,112,116,105,111,110,115,61,39,45,45,67,76,73, ++ 69,78,84,95,69,78,67,79,68,73,78,71,61,107,111,105,56,39,0,8, ++ 80,97,115,115,119,111,114,100,6,3,97,108,108,11,84,114,97,110,115,97, ++ 99,116,105,111,110,7,5,116,114,97,110,115,8,85,115,101,114,78,97,109, ++ 101,6,10,119,111,114,108,100,97,100,109,105,110,8,72,111,115,116,78,97, ++ 109,101,6,9,108,111,99,97,108,104,111,115,116,7,111,112,116,105,111,110, ++ 115,11,27,112,113,99,111,95,99,108,111,115,101,116,114,97,110,115,97,99, ++ 116,105,111,110,111,110,102,97,105,108,0,4,108,101,102,116,2,16,3,116, ++ 111,112,3,72,1,0,0,18,116,109,115,101,115,113,108,116,114,97,110,115, ++ 97,99,116,105,111,110,5,116,114,97,110,115,6,65,99,116,105,118,101,9, ++ 8,68,97,116,97,98,97,115,101,7,4,99,111,110,110,14,80,97,114,97, ++ 109,115,46,83,116,114,105,110,103,115,1,6,0,0,4,108,101,102,116,2, ++ 16,3,116,111,112,3,96,1,0,0,12,116,109,115,101,115,113,108,113,117, ++ 101,114,121,10,113,114,121,80,101,114,115,111,110,115,6,112,97,114,97,109, ++ 115,14,0,11,83,81,76,46,83,116,114,105,110,103,115,1,6,6,115,101, ++ 108,101,99,116,6,7,32,32,97,46,105,100,44,6,15,32,32,97,46,102, ++ 101,97,116,117,114,101,95,105,100,44,6,18,32,32,97,46,111,99,99,117, ++ 112,97,116,105,111,110,95,105,100,44,6,15,32,32,97,46,99,111,117,110, ++ 116,114,121,95,105,100,44,6,10,32,32,97,46,100,101,115,99,114,44,6, ++ 22,32,32,97,46,115,101,120,117,97,108,95,112,111,116,101,110,116,105,111, ++ 110,32,44,6,10,32,32,97,46,112,104,111,116,111,44,6,21,32,32,98, ++ 46,100,101,115,99,114,32,97,115,32,99,111,117,110,116,114,121,44,6,24, ++ 32,32,99,46,100,101,115,99,114,32,97,115,32,111,99,99,117,112,97,116, ++ 105,111,110,44,6,21,32,32,100,46,100,101,115,99,114,32,97,115,32,102, ++ 101,97,116,117,114,101,44,6,13,32,32,97,46,105,102,95,104,97,112,112, ++ 121,44,6,13,97,46,100,97,116,101,111,102,98,105,114,116,104,6,31,102, ++ 114,111,109,32,112,101,114,115,111,110,115,32,97,32,108,101,102,116,32,111, ++ 117,116,101,114,32,106,111,105,110,32,6,50,99,111,117,110,116,114,105,101, ++ 115,32,32,98,32,111,110,32,97,46,99,111,117,110,116,114,121,95,105,100, ++ 61,98,46,105,100,32,108,101,102,116,32,111,117,116,101,114,32,106,111,105, ++ 110,32,6,54,111,99,99,117,112,97,116,105,111,110,115,32,99,32,111,110, ++ 32,97,46,111,99,99,117,112,97,116,105,111,110,95,105,100,61,99,46,105, ++ 100,32,108,101,102,116,32,111,117,116,101,114,32,106,111,105,110,32,6,33, ++ 102,101,97,116,117,114,101,115,32,32,100,32,111,110,32,97,46,102,101,97, ++ 116,117,114,101,95,105,100,61,100,46,105,100,32,6,14,111,114,100,101,114, ++ 32,98,121,32,97,46,105,100,59,0,9,73,110,100,101,120,68,101,102,115, ++ 14,0,18,85,115,101,80,114,105,109,97,114,121,75,101,121,65,115,75,101, ++ 121,8,13,83,116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116, ++ 83,101,108,101,99,116,8,100,97,116,97,98,97,115,101,7,4,99,111,110, ++ 110,6,65,99,116,105,118,101,9,11,84,114,97,110,115,97,99,116,105,111, ++ 110,7,5,116,114,97,110,115,9,70,105,101,108,100,68,101,102,115,14,1, ++ 4,78,97,109,101,6,2,105,100,8,68,97,116,97,84,121,112,101,7,9, ++ 102,116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2, ++ 255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,10,102,101,97, ++ 116,117,114,101,95,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116, ++ 73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4, ++ 83,105,122,101,2,4,0,1,4,78,97,109,101,6,13,111,99,99,117,112, ++ 97,116,105,111,110,95,105,100,8,68,97,116,97,84,121,112,101,7,9,102, ++ 116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,10,99,111,117,110, ++ 116,114,121,95,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73, ++ 110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83, ++ 105,122,101,2,4,0,1,4,78,97,109,101,6,5,100,101,115,99,114,8, ++ 68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101, ++ 99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4,78,97, ++ 109,101,6,16,115,101,120,117,97,108,95,112,111,116,101,110,116,105,111,110, ++ 8,68,97,116,97,84,121,112,101,7,7,102,116,70,108,111,97,116,9,80, ++ 114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,8,0,1,4, ++ 78,97,109,101,6,5,112,104,111,116,111,8,68,97,116,97,84,121,112,101, ++ 7,6,102,116,66,108,111,98,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,7,99,111,117,110, ++ 116,114,121,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 1,4,78,97,109,101,6,10,111,99,99,117,112,97,116,105,111,110,8,68, ++ 97,116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99, ++ 105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4,78,97,109, ++ 101,6,7,102,101,97,116,117,114,101,8,68,97,116,97,84,121,112,101,7, ++ 6,102,116,77,101,109,111,9,80,114,101,99,105,115,105,111,110,2,255,4, ++ 83,105,122,101,2,4,0,1,4,78,97,109,101,6,8,105,102,95,104,97, ++ 112,112,121,8,68,97,116,97,84,121,112,101,7,9,102,116,66,111,111,108, ++ 101,97,110,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,1,0,1,4,78,97,109,101,6,11,100,97,116,101,111,102,98,105,114, ++ 116,104,8,68,97,116,97,84,121,112,101,7,6,102,116,68,97,116,101,9, ++ 80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,8,0,0, ++ 16,111,110,97,112,112,108,121,114,101,99,117,112,100,97,116,101,7,13,112, ++ 101,114,115,111,110,115,117,112,100,97,116,101,4,108,101,102,116,2,80,3, ++ 116,111,112,3,72,1,0,14,116,109,115,101,102,108,111,97,116,102,105,101, ++ 108,100,15,102,108,100,83,101,120,80,111,116,101,110,116,105,111,110,9,65, ++ 108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115, ++ 116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9, ++ 70,105,101,108,100,78,97,109,101,6,16,115,101,120,117,97,108,95,112,111, ++ 116,101,110,116,105,111,110,13,68,105,115,112,108,97,121,70,111,114,109,97, ++ 116,6,5,35,35,46,35,35,4,108,101,102,116,3,176,1,3,116,111,112, ++ 2,114,0,0,16,116,109,115,101,98,111,111,108,101,97,110,102,105,101,108, ++ 100,8,102,108,100,72,97,112,112,121,12,68,105,115,112,108,97,121,87,105, ++ 100,116,104,2,3,9,70,105,101,108,100,78,97,109,101,6,8,105,102,95, ++ 104,97,112,112,121,5,73,110,100,101,120,2,1,13,100,105,115,112,108,97, ++ 121,118,97,108,117,101,115,18,6,0,0,0,20,4,48,4,59,0,29,4, ++ 53,4,66,4,4,108,101,102,116,3,88,2,3,116,111,112,2,98,0,0, ++ 16,116,109,115,101,108,111,110,103,105,110,116,102,105,101,108,100,12,102,108, ++ 100,67,111,117,110,116,114,121,73,100,9,65,108,105,103,110,77,101,110,116, ++ 7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,10,99,111,117,110,116,114,121,95,105,100,5,73,110,100,101,120,2, ++ 2,4,108,101,102,116,3,176,0,3,116,111,112,2,98,0,0,16,116,109, ++ 115,101,108,111,110,103,105,110,116,102,105,101,108,100,15,102,108,100,79,99, ++ 99,117,112,97,116,105,111,110,73,100,9,65,108,105,103,110,77,101,110,116, ++ 7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,13,111,99,99,117,112,97,116,105,111,110,95,105,100,5,73,110,100, ++ 101,120,2,3,4,108,101,102,116,3,16,1,3,116,111,112,3,162,0,0, ++ 0,16,116,109,115,101,108,111,110,103,105,110,116,102,105,101,108,100,12,102, ++ 108,100,70,101,97,116,117,114,101,73,100,9,65,108,105,103,110,77,101,110, ++ 116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105, ++ 115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97, ++ 109,101,6,10,102,101,97,116,117,114,101,95,105,100,5,73,110,100,101,120, ++ 2,4,4,108,101,102,116,3,120,1,3,116,111,112,2,90,0,0,16,116, ++ 109,115,101,108,111,110,103,105,110,116,102,105,101,108,100,11,102,108,100,80, ++ 101,114,115,111,110,73,100,9,65,108,105,103,110,77,101,110,116,7,14,116, ++ 97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97, ++ 121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,2, ++ 105,100,5,73,110,100,101,120,2,5,4,108,101,102,116,3,184,0,3,116, ++ 111,112,3,72,1,0,0,13,116,109,115,101,100,97,116,101,102,105,101,108, ++ 100,14,102,108,100,68,97,116,101,79,102,66,105,114,116,104,12,68,105,115, ++ 112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109, ++ 101,6,11,100,97,116,101,111,102,98,105,114,116,104,5,73,110,100,101,120, ++ 2,6,4,108,101,102,116,3,8,2,3,116,111,112,2,72,0,0,13,116, ++ 109,115,101,109,101,109,111,102,105,101,108,100,7,102,108,100,78,97,109,101, ++ 12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108, ++ 100,78,97,109,101,6,5,100,101,115,99,114,5,73,110,100,101,120,2,7, ++ 4,83,105,122,101,2,4,13,84,114,97,110,115,108,105,116,101,114,97,116, ++ 101,8,4,108,101,102,116,2,80,3,116,111,112,2,110,0,0,13,116,109, ++ 115,101,109,101,109,111,102,105,101,108,100,10,102,108,100,67,111,117,110,116, ++ 114,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105, ++ 101,108,100,78,97,109,101,6,7,99,111,117,110,116,114,121,5,73,110,100, ++ 101,120,2,8,4,83,105,122,101,2,4,13,84,114,97,110,115,108,105,116, ++ 101,114,97,116,101,8,4,108,101,102,116,3,168,0,3,116,111,112,2,118, ++ 0,0,13,116,109,115,101,109,101,109,111,102,105,101,108,100,13,102,108,100, ++ 79,99,99,117,112,97,116,105,111,110,12,68,105,115,112,108,97,121,87,105, ++ 100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,10,111,99,99, ++ 117,112,97,116,105,111,110,5,73,110,100,101,120,2,9,4,83,105,122,101, ++ 2,4,13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,4,108,101, ++ 102,116,3,16,1,3,116,111,112,3,182,0,0,0,13,116,109,115,101,109, ++ 101,109,111,102,105,101,108,100,10,102,108,100,70,101,97,116,117,114,101,12, ++ 68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100, ++ 78,97,109,101,6,7,102,101,97,116,117,114,101,5,73,110,100,101,120,2, ++ 10,4,83,105,122,101,2,4,13,84,114,97,110,115,108,105,116,101,114,97, ++ 116,101,8,4,108,101,102,116,3,104,1,3,116,111,112,3,134,0,0,0, ++ 0,15,116,109,115,101,115,116,114,105,110,103,102,105,101,108,100,8,102,108, ++ 100,78,97,109,101,49,12,68,105,115,112,108,97,121,87,105,100,116,104,2, ++ 20,9,70,105,101,108,100,78,97,109,101,6,5,100,101,115,99,114,5,73, ++ 110,100,101,120,2,255,4,108,101,102,116,2,104,3,116,111,112,2,82,0, ++ 0,15,116,109,115,101,115,116,114,105,110,103,102,105,101,108,100,11,102,108, ++ 100,67,111,117,110,116,114,121,49,12,68,105,115,112,108,97,121,87,105,100, ++ 116,104,2,20,9,70,105,101,108,100,78,97,109,101,6,7,99,111,117,110, ++ 116,114,121,5,73,110,100,101,120,2,255,4,108,101,102,116,3,184,0,3, ++ 116,111,112,2,66,0,0,15,116,109,115,101,115,116,114,105,110,103,102,105, ++ 101,108,100,14,102,108,100,79,99,99,117,112,97,116,105,111,110,49,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,20,9,70,105,101,108,100,78, ++ 97,109,101,6,10,111,99,99,117,112,97,116,105,111,110,5,73,110,100,101, ++ 120,2,255,4,108,101,102,116,3,16,1,3,116,111,112,3,130,0,0,0, ++ 15,116,109,115,101,115,116,114,105,110,103,102,105,101,108,100,11,102,108,100, ++ 70,101,97,116,117,114,101,49,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,20,9,70,105,101,108,100,78,97,109,101,6,7,102,101,97,116,117, ++ 114,101,5,73,110,100,101,120,2,255,4,108,101,102,116,3,128,1,3,116, ++ 111,112,2,66,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114,99, ++ 101,9,100,115,80,101,114,115,111,110,115,7,68,97,116,97,83,101,116,7, ++ 10,113,114,121,80,101,114,115,111,110,115,4,108,101,102,116,2,80,3,116, ++ 111,112,3,96,1,0,0,7,116,97,99,116,105,111,110,7,97,99,116,69, ++ 120,105,116,8,115,104,111,114,116,99,117,116,3,81,64,9,111,110,101,120, ++ 101,99,117,116,101,7,7,97,112,112,101,120,105,116,4,108,101,102,116,2, ++ 24,0,0,9,116,109,97,105,110,109,101,110,117,7,109,110,117,77,97,105, ++ 110,22,112,111,112,117,112,105,116,101,109,102,114,97,109,101,116,101,109,112, ++ 108,97,116,101,7,19,102,116,77,97,105,110,77,101,110,117,80,111,112,117, ++ 112,73,116,101,109,28,112,111,112,117,112,105,116,101,109,102,114,97,109,101, ++ 116,101,109,112,108,97,116,101,97,99,116,105,118,101,7,19,102,116,77,97, ++ 105,110,77,101,110,117,80,111,112,117,112,73,116,101,109,18,109,101,110,117, ++ 46,115,117,98,109,101,110,117,46,99,111,117,110,116,2,3,18,109,101,110, ++ 117,46,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,13,115,117, ++ 98,109,101,110,117,46,99,111,117,110,116,2,1,13,115,117,98,109,101,110, ++ 117,46,105,116,101,109,115,14,1,6,97,99,116,105,111,110,7,7,97,99, ++ 116,69,120,105,116,7,99,97,112,116,105,111,110,6,5,69,38,120,105,116, ++ 5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116, ++ 105,111,110,0,0,0,7,99,97,112,116,105,111,110,6,7,38,70,105,108, ++ 101,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99, ++ 97,112,116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,5,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14, ++ 1,6,97,99,116,105,111,110,7,14,97,99,116,80,108,97,110,101,116,115, ++ 69,100,105,116,7,99,97,112,116,105,111,110,6,10,38,80,108,97,110,101, ++ 116,115,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108, ++ 99,97,112,116,105,111,110,0,0,1,6,97,99,116,105,111,110,7,17,97, ++ 99,116,67,111,110,116,105,110,101,110,116,115,69,100,105,116,7,99,97,112, ++ 116,105,111,110,6,13,38,67,111,110,116,105,110,101,110,116,115,46,46,5, ++ 115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105, ++ 111,110,0,0,1,6,97,99,116,105,111,110,7,16,97,99,116,67,111,117, ++ 110,116,114,105,101,115,69,100,105,116,7,99,97,112,116,105,111,110,6,12, ++ 67,38,111,117,110,116,114,105,101,115,46,46,5,115,116,97,116,101,11,15, ++ 97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,1,6,97, ++ 99,116,105,111,110,7,15,97,99,116,70,101,97,116,117,114,101,115,69,100, ++ 105,116,7,99,97,112,116,105,111,110,6,11,38,70,101,97,116,117,114,101, ++ 115,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99, ++ 97,112,116,105,111,110,0,0,1,6,97,99,116,105,111,110,7,18,97,99, ++ 116,79,99,99,117,112,97,116,105,111,110,115,69,100,105,116,7,99,97,112, ++ 116,105,111,110,6,14,38,79,99,99,117,112,97,116,105,111,110,115,46,46, ++ 5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116, ++ 105,111,110,0,0,0,7,99,97,112,116,105,111,110,6,7,69,100,38,105, ++ 116,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108,99, ++ 97,112,116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46,99,111, ++ 117,110,116,2,1,13,115,117,98,109,101,110,117,46,105,116,101,109,115,14, ++ 1,6,97,99,116,105,111,110,7,12,97,99,116,83,104,111,119,65,98,111, ++ 117,116,7,99,97,112,116,105,111,110,6,16,38,65,98,111,117,116,32,112, ++ 114,111,103,114,97,109,46,46,5,115,116,97,116,101,11,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,0,0,0,7,99,97,112,116,105, ++ 111,110,6,5,38,72,101,108,112,5,115,116,97,116,101,11,15,97,115,95, ++ 108,111,99,97,108,99,97,112,116,105,111,110,0,0,0,21,109,101,110,117, ++ 46,102,111,110,116,46,99,111,108,111,114,115,104,97,100,111,119,4,0,0, ++ 0,128,16,109,101,110,117,46,102,111,110,116,46,104,101,105,103,104,116,2, ++ 13,14,109,101,110,117,46,102,111,110,116,46,110,97,109,101,6,13,115,116, ++ 102,95,104,101,108,118,101,116,105,99,97,16,109,101,110,117,46,102,111,110, ++ 116,46,120,115,99,97,108,101,5,0,0,0,0,0,0,0,128,255,63,15, ++ 109,101,110,117,46,102,111,110,116,46,100,117,109,109,121,2,0,17,105,116, ++ 101,109,102,114,97,109,101,116,101,109,112,108,97,116,101,7,14,102,116,77, ++ 97,105,110,77,101,110,117,73,116,101,109,23,105,116,101,109,102,114,97,109, ++ 101,116,101,109,112,108,97,116,101,97,99,116,105,118,101,7,14,102,116,77, ++ 97,105,110,77,101,110,117,73,116,101,109,4,108,101,102,116,3,80,1,0, ++ 0,10,116,102,114,97,109,101,99,111,109,112,14,102,116,77,97,105,110,77, ++ 101,110,117,73,116,101,109,20,116,101,109,112,108,97,116,101,46,102,114,97, ++ 109,101,105,95,108,101,102,116,2,10,19,116,101,109,112,108,97,116,101,46, ++ 102,114,97,109,101,105,95,116,111,112,2,5,21,116,101,109,112,108,97,116, ++ 101,46,102,114,97,109,101,105,95,114,105,103,104,116,2,50,4,108,101,102, ++ 116,3,160,1,3,116,111,112,3,166,0,0,0,7,116,97,99,116,105,111, ++ 110,7,97,99,116,69,100,105,116,8,115,104,111,114,116,99,117,116,3,69, ++ 64,9,111,110,101,120,101,99,117,116,101,7,12,101,100,105,116,102,111,114, ++ 109,115,104,111,119,4,108,101,102,116,3,216,0,3,116,111,112,3,34,1, ++ 0,0,7,116,97,99,116,105,111,110,6,97,99,116,65,100,100,8,115,104, ++ 111,114,116,99,117,116,3,6,80,9,111,110,101,120,101,99,117,116,101,7, ++ 11,97,100,100,102,111,114,109,115,104,111,119,4,108,101,102,116,3,64,1, ++ 3,116,111,112,3,34,1,0,0,7,116,97,99,116,105,111,110,9,97,99, ++ 116,68,101,108,101,116,101,8,115,104,111,114,116,99,117,116,3,68,64,9, ++ 111,110,101,120,101,99,117,116,101,7,12,100,101,108,101,116,101,114,101,99, ++ 111,114,100,4,108,101,102,116,3,184,1,3,116,111,112,3,34,1,0,0, ++ 10,116,112,111,112,117,112,109,101,110,117,10,112,117,112,80,101,114,115,111, ++ 110,115,18,109,101,110,117,46,115,117,98,109,101,110,117,46,99,111,117,110, ++ 116,2,3,18,109,101,110,117,46,115,117,98,109,101,110,117,46,105,116,101, ++ 109,115,14,1,6,97,99,116,105,111,110,7,7,97,99,116,69,100,105,116, ++ 7,99,97,112,116,105,111,110,6,14,38,69,100,105,116,32,114,101,99,111, ++ 114,100,46,46,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97,108, ++ 99,97,112,116,105,111,110,0,0,1,6,97,99,116,105,111,110,7,6,97, ++ 99,116,65,100,100,7,99,97,112,116,105,111,110,6,13,38,65,100,100,32, ++ 114,101,99,111,114,100,46,46,5,115,116,97,116,101,11,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,0,0,1,6,97,99,116,105,111, ++ 110,7,9,97,99,116,68,101,108,101,116,101,7,99,97,112,116,105,111,110, ++ 6,16,38,68,101,108,101,116,101,32,114,101,99,111,114,100,46,46,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,0,0,0,4,108,101,102,116,3,112,1,3,116,111,112,3,234,0,0, ++ 0,10,116,102,114,97,109,101,99,111,109,112,9,102,116,66,117,116,116,111, ++ 110,115,15,116,101,109,112,108,97,116,101,46,108,101,118,101,108,111,2,255, ++ 15,116,101,109,112,108,97,116,101,46,108,101,118,101,108,105,2,2,20,116, ++ 101,109,112,108,97,116,101,46,99,111,108,111,114,99,108,105,101,110,116,4, ++ 24,0,0,160,4,108,101,102,116,3,32,2,3,116,111,112,3,74,1,0, ++ 0,7,116,97,99,116,105,111,110,14,97,99,116,80,108,97,110,101,116,115, ++ 69,100,105,116,9,111,110,101,120,101,99,117,116,101,7,18,112,108,97,110, ++ 101,116,115,101,100,105,116,101,120,101,99,117,116,101,4,108,101,102,116,2, ++ 104,3,116,111,112,3,162,0,0,0,7,116,97,99,116,105,111,110,17,97, ++ 99,116,67,111,110,116,105,110,101,110,116,115,69,100,105,116,9,111,110,101, ++ 120,101,99,117,116,101,7,21,99,111,110,116,105,110,101,110,116,115,101,100, ++ 105,116,101,120,101,99,117,116,101,4,108,101,102,116,2,104,3,116,111,112, ++ 3,186,0,0,0,7,116,97,99,116,105,111,110,16,97,99,116,67,111,117, ++ 110,116,114,105,101,115,69,100,105,116,9,111,110,101,120,101,99,117,116,101, ++ 7,20,99,111,117,110,116,114,105,101,115,101,100,105,116,101,120,101,99,117, ++ 116,101,4,108,101,102,116,2,104,3,116,111,112,3,210,0,0,0,7,116, ++ 97,99,116,105,111,110,15,97,99,116,70,101,97,116,117,114,101,115,69,100, ++ 105,116,9,111,110,101,120,101,99,117,116,101,7,19,102,101,97,116,117,114, ++ 101,115,101,100,105,116,101,120,101,99,117,116,101,4,108,101,102,116,2,104, ++ 3,116,111,112,3,234,0,0,0,7,116,97,99,116,105,111,110,18,97,99, ++ 116,79,99,99,117,112,97,116,105,111,110,115,69,100,105,116,9,111,110,101, ++ 120,101,99,117,116,101,7,22,111,99,99,117,112,97,116,105,111,110,115,101, ++ 100,105,116,101,120,101,99,117,116,101,4,108,101,102,116,2,104,3,116,111, ++ 112,3,2,1,0,0,7,116,97,99,116,105,111,110,12,97,99,116,83,104, ++ 111,119,65,98,111,117,116,9,111,110,101,120,101,99,117,116,101,7,16,115, ++ 104,111,119,97,98,111,117,116,101,120,101,99,117,116,101,4,108,101,102,116, ++ 3,216,0,3,116,111,112,2,2,0,0,10,116,102,114,97,109,101,99,111, ++ 109,112,19,102,116,77,97,105,110,77,101,110,117,80,111,112,117,112,73,116, ++ 101,109,20,116,101,109,112,108,97,116,101,46,102,114,97,109,101,105,95,108, ++ 101,102,116,2,10,19,116,101,109,112,108,97,116,101,46,102,114,97,109,101, ++ 105,95,116,111,112,2,1,21,116,101,109,112,108,97,116,101,46,102,114,97, ++ 109,101,105,95,114,105,103,104,116,2,2,22,116,101,109,112,108,97,116,101, ++ 46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,1,4,108,101,102, ++ 116,3,24,2,3,116,111,112,3,167,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,310 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msepqconnection,msesqldb,msedb,msedbedit,mseactions, ++ msesimplewidgets,msemenus,db,msegrids,planetseditform,continentseditform, ++ countrieseditform,featureseditform, occupationseditform; ++ ++ type ++ tmainfo = class(tmseform) ++ dsPersons: tmsedatasource; ++ conn: tmsepqconnection; ++ qryPersons: tmsesqlquery; ++ actExit: taction; ++ btnExit: tbutton; ++ grdPersons: tdbstringgrid; ++ mnuMain: tmainmenu; ++ btnEdit: tbutton; ++ btnAdd: tbutton; ++ btnDelete: tbutton; ++ actEdit: taction; ++ actAdd: taction; ++ actDelete: taction; ++ ftMainMenuItem: tframecomp; ++ fldName1: tmsestringfield; ++ fldCountry1: tmsestringfield; ++ fldOccupation1: tmsestringfield; ++ fldFeature1: tmsestringfield; ++ fldSexPotention: tmsefloatfield; ++ fldHappy: tmsebooleanfield; ++ fldCountryId: tmselongintfield; ++ fldOccupationId: tmselongintfield; ++ fldFeatureId: tmselongintfield; ++ pupPersons: tpopupmenu; ++ fldPersonId: tmselongintfield; ++ fldDateOfBirth: tmsedatefield; ++ ftButtons: tframecomp; ++ actPlanetsEdit: taction; ++ actContinentsEdit: taction; ++ actCountriesEdit: taction; ++ actFeaturesEdit: taction; ++ actOccupationsEdit: taction; ++ actShowAbout: taction; ++ ftMainMenuPopupItem: tframecomp; ++ fldName: tmsememofield; ++ fldCountry: tmsememofield; ++ fldOccupation: tmsememofield; ++ fldFeature: tmsememofield; ++ trans: tmsesqltransaction; ++ procedure appexit(const sender: TObject); ++ procedure editformshow(const sender: TObject); ++ procedure addformshow(const sender: TObject); ++ procedure deleterecord(const sender: TObject); ++ procedure personsupdate(const sender: tmsesqlquery; ++ const updatekind: TUpdateKind; var asql: AnsiString; ++ var done: Boolean); ++ procedure shownamehint(const sender: tdatacol; const arow: Integer; ++ var info: hintinfoty); ++ procedure personsevent(const sender: TObject; var info: celleventinfoty); ++ procedure planetseditexecute(const sender: TObject); ++ procedure continentseditexecute(const sender: TObject); ++ procedure countrieseditexecute(const sender: TObject); ++ procedure featureseditexecute(const sender: TObject); ++ procedure occupationseditexecute(const sender: TObject); ++ procedure showaboutexecute(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ uses ++ main_mfm, ++ editform, ++ msewidgets, // for askyesno, ++ msestrings ++ ; ++ ++ var ++ prevkey: integer; ++ ++ procedure tmainfo.appexit(const sender: TObject); ++ begin ++ application.terminated:= true; ++ end; ++ ++ procedure tmainfo.editformshow (const sender: TObject); ++ begin ++ try ++ with qryPersons do begin ++ prevkey:= fldPersonId.asinteger; ++ edit; ++ application.createform(teditfo,editfo); ++ editfo.caption:= ' Editing a person => '+ fldName.asstring; ++ ++ case editfo.show(true) of ++ mr_ok: begin ++ applyupdates; ++ trans.commit; ++ active:= true; ++ locate(prevkey, fldPersonId); ++ end else begin ++ cancel; ++ end; ++ end; ++ ++ end; ++ finally ++ editfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.addformshow(const sender: TObject); ++ begin ++ try ++ with qryPersons do begin ++ prevkey:= fldPersonId.asinteger; ++ append; ++ application.createform(teditfo,editfo); ++ editfo.caption:= ' Adding a new person'; ++ ++ case editfo.show(true) of ++ mr_ok: begin ++ applyupdates; ++ trans.commit; ++ active:= true; ++ last; ++ end else begin ++ cancel; ++ locate(prevkey, fldPersonId); ++ end; ++ end; ++ ++ end; ++ finally ++ editfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.deleterecord(const sender: TObject); ++ var ++ recnum: integer; ++ begin ++ if askyesno('Are you a nut ???','Deletion request',mr_no,200) then begin ++ with qryPersons do begin ++ recnum:= recno; ++ delete; ++ applyupdates; ++ trans.commit; ++ active:= true; ++ ++ if recnum > 0 then ++ recnum:= recnum - 1; ++ ++ recno:= recnum; // 1 upper is now the new position ++ end; ++ end; ++ end; ++ ++ procedure tmainfo.personsupdate(const sender: tmsesqlquery; ++ const updatekind: TUpdateKind; var asql: AnsiString; ++ var done: Boolean); ++ begin ++ with qryPersons do begin ++ ++ case updatekind of ++ ++ ukModify: begin ++ asql:= 'update persons set '+ ++ 'descr=' + fldName.assql + ++ ',country_id=' + fldCountryId.assql + ++ ',feature_id=' + fldFeatureId.assql + ++ ',occupation_id=' + fldOccupationId.assql + ++ ',sexual_potention=' + fldSexPotention.assql + ++ ',if_happy=' + fldHappy.assql + ++ ',dateofbirth=' + fldDateOfBirth.assql + ++ ' where id='+ fldPersonId.assql + ';'; ++ end; ++ ++ ukInsert: begin ++ asql:= 'insert into persons (' + ++ 'id' + ++ ',descr' + ++ ',country_id' + ++ ',feature_id' + ++ ',occupation_id' + ++ ',sexual_potention' + ++ ',if_happy' + ++ ',dateofbirth' + ++ ') values (' + ++ 'nextval('+ #39 + 'person_id_seq' + #39 + ')' + ++ ',' + fldName.assql + ++ ',' + fldCountryId.assql + ++ ',' + fldFeatureId.assql + ++ ',' + fldOccupationId.assql + ++ ',' + fldSexPotention.assql + ++ ',' + fldHappy.assql + ++ ',' + fldDateOfBirth.assql + ++ ')'; ++ end; ++ ++ ukDelete: begin ++ asql:= 'delete from persons where id=' + fldPersonId.assql; ++ end; ++ ++ end; ++ ++ end; ++ end; ++ ++ procedure tmainfo.shownamehint(const sender: tdatacol; const arow: Integer; ++ var info: hintinfoty); ++ begin ++ info.caption:= grdPersons[sender.colindex][arow]; ++ end; ++ ++ ++ procedure tmainfo.personsevent(const sender: TObject; ++ var info: celleventinfoty); ++ begin ++ if iscellclick(info,[ccr_dblclick]) then begin ++ actEdit.execute; ++ end; ++ end; ++ ++ procedure tmainfo.planetseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tplanetseditfo, planetseditfo); ++ if planetseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ planetseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.continentseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tcontinentseditfo, continentseditfo); ++ if continentseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ continentseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.countrieseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tcountrieseditfo, countrieseditfo); ++ if countrieseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ countrieseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.featureseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(tfeatureseditfo, featureseditfo); ++ if featureseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ featureseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.occupationseditexecute(const sender: TObject); ++ begin ++ try ++ application.createform(toccupationseditfo, occupationseditfo); ++ if occupationseditfo.show(true) = mr_windowclosed then begin ++ qryPersons.active:= true; ++ end; ++ finally ++ occupationseditfo.free; ++ end; ++ end; ++ ++ procedure tmainfo.showaboutexecute(const sender: TObject); ++ begin ++ showmessage( ++ lineend + ++ 'The Galaxy Data Keeper'+ #174 + ++ lineend + lineend + ++ 'This extremely useful program is designed' + lineend + ++ 'for keeping data on creatures widely-known' + lineend + ++ 'in our galaxy.' + lineend + ++ lineend + ++ 'Authors:' + lineend + ++ lineend + ++ ' Bill Mad,' + lineend + ++ ' Susan Bitch,' + lineend + ++ ' Freddie Krugger' + lineend + ++ lineend + ++ '2006, Almalyk city, UZ'+ lineend, ++ 'About program', ++ [mr_ok], ++ mr_ok, ++ [], ++ 150 ++ ); ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,139 ---- ++ object occupationseditfo: toccupationseditfo ++ bounds_x = 158 ++ bounds_y = 180 ++ bounds_cx = 401 ++ bounds_cy = 321 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 401 ++ container.bounds_cy = 321 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Occupations editor' ++ icon.transparency = -2147483648 ++ oncreate = occupationseditfocreated ++ ondestroy = occupationseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cy = 321 ++ taborder = 0 ++ container.bounds_cy = 321 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 2 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ taborder = 1 ++ end ++ object grdOccupations: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 386 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ datasource = refsdatamo.dsOccupations ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 18 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Occupation name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 336 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seOccupation' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdoccupationsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 14 ++ object seOccupation: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 336 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsOccupations ++ reffontheight = 14 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,157 ---- ++ unit occupationseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,occupationseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2798] of byte end = ++ (size: 2799; data: ( ++ 84,80,70,48,18,116,111,99,99,117,112,97,116,105,111,110,115,101,100,105, ++ 116,102,111,17,111,99,99,117,112,97,116,105,111,110,115,101,100,105,116,102, ++ 111,8,98,111,117,110,100,115,95,120,3,158,0,8,98,111,117,110,100,115, ++ 95,121,3,180,0,9,98,111,117,110,100,115,95,99,120,3,145,1,9,98, ++ 111,117,110,100,115,95,99,121,3,65,1,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,13, ++ 111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110, ++ 100,115,95,120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,99,120,3,145,1,19,99,111,110,116,97,105,110,101,114, ++ 46,98,111,117,110,100,115,95,99,121,3,65,1,21,99,111,110,116,97,105, ++ 110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,7,111,112, ++ 116,105,111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116, ++ 101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116, ++ 16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111, ++ 95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116, ++ 101,0,7,99,97,112,116,105,111,110,6,18,79,99,99,117,112,97,116,105, ++ 111,110,115,32,101,100,105,116,111,114,17,105,99,111,110,46,116,114,97,110, ++ 115,112,97,114,101,110,99,121,4,0,0,0,128,8,111,110,99,114,101,97, ++ 116,101,7,24,111,99,99,117,112,97,116,105,111,110,115,101,100,105,116,102, ++ 111,99,114,101,97,116,101,100,9,111,110,100,101,115,116,114,111,121,7,26, ++ 111,99,99,117,112,97,116,105,111,110,115,101,100,105,116,102,111,100,101,115, ++ 116,114,111,121,101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97, ++ 109,101,6,8,116,109,115,101,102,111,114,109,0,244,17,116,99,111,109,109, ++ 111,110,114,101,102,115,101,100,105,116,102,111,17,99,111,109,109,111,110,114, ++ 101,102,115,101,100,105,116,102,111,49,9,98,111,117,110,100,115,95,99,121, ++ 3,65,1,8,116,97,98,111,114,100,101,114,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,65,1,21,99,111, ++ 110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,0,241,7,116,98,117,116,116,111,110,10,98,116,110,83,97, ++ 118,101,65,108,108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,8,0,0,241,7,116,98,117,116,116,111, ++ 110,7,98,116,110,85,110,68,111,11,102,114,97,109,101,46,100,117,109,109, ++ 121,2,0,8,116,97,98,111,114,100,101,114,2,7,0,0,241,7,116,98, ++ 117,116,116,111,110,6,98,116,110,65,100,100,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,5,0,0,241, ++ 7,116,98,117,116,116,111,110,9,98,116,110,68,101,108,101,116,101,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,4,0,0,241,7,116,98,117,116,116,111,110,8,98,116,110,67,108, ++ 111,115,101,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,3,0,0,241,7,116,98,117,116,116,111,110,10, ++ 98,116,110,85,110,68,111,65,108,108,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,8,116,97,98,111,114,100,101,114,2,6,0,0,241,6,116, ++ 108,97,98,101,108,14,108,98,108,65,100,100,101,100,76,101,103,101,110,100, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,2,0,0,241,6,116,108,97,98,101,108,16,108,98,108,67, ++ 104,97,110,103,101,100,76,101,103,101,110,100,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,0,0,242, ++ 2,8,13,116,100,98,119,105,100,103,101,116,103,114,105,100,14,103,114,100, ++ 79,99,99,117,112,97,116,105,111,110,115,13,111,112,116,105,111,110,115,119, ++ 105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115, ++ 11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111, ++ 119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107,111, ++ 110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111, ++ 119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95, ++ 102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8, ++ 8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99, ++ 120,3,130,1,9,98,111,117,110,100,115,95,99,121,3,218,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114,115,11, ++ 7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8,97,110,95,114, ++ 105,103,104,116,0,10,100,97,116,97,115,111,117,114,99,101,7,24,114,101, ++ 102,115,100,97,116,97,109,111,46,100,115,79,99,99,117,112,97,116,105,111, ++ 110,115,13,102,105,120,99,111,108,115,46,99,111,117,110,116,2,1,13,102, ++ 105,120,99,111,108,115,46,105,116,101,109,115,14,1,5,119,105,100,116,104, ++ 2,29,8,110,117,109,115,116,97,114,116,2,1,7,110,117,109,115,116,101, ++ 112,2,1,0,0,13,102,105,120,114,111,119,115,46,99,111,117,110,116,2, ++ 1,13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,5,99,111, ++ 108,111,114,4,20,0,0,160,6,104,101,105,103,104,116,2,18,14,99,97, ++ 112,116,105,111,110,115,46,99,111,117,110,116,2,1,14,99,97,112,116,105, ++ 111,110,115,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,6, ++ 15,79,99,99,117,112,97,116,105,111,110,32,110,97,109,101,0,0,17,99, ++ 97,112,116,105,111,110,115,102,105,120,46,99,111,117,110,116,2,1,17,99, ++ 97,112,116,105,111,110,115,102,105,120,46,105,116,101,109,115,14,1,7,99, ++ 97,112,116,105,111,110,18,1,0,0,0,22,33,0,0,0,0,15,114,111, ++ 119,99,111,108,111,114,115,46,99,111,117,110,116,2,2,15,114,111,119,99, ++ 111,108,111,114,115,46,105,116,101,109,115,1,4,0,192,255,0,4,8,0, ++ 0,160,0,14,100,97,116,97,99,111,108,115,46,99,111,117,110,116,2,1, ++ 14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,17,102,114, ++ 97,109,101,46,102,114,97,109,101,105,95,108,101,102,116,2,10,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95, ++ 102,105,108,101,102,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,5,119,105,100,116,104,3,80,1,7,111,112,116,105,111,110,115,11,7, ++ 99,111,95,102,105,108,108,12,99,111,95,115,97,118,101,118,97,108,117,101, ++ 12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95,114,111,119, ++ 102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13,99,111,95, ++ 122,101,98,114,97,99,111,108,111,114,0,10,119,105,100,103,101,116,110,97, ++ 109,101,6,12,115,101,79,99,99,117,112,97,116,105,111,110,0,0,16,100, ++ 97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100,111, ++ 95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95,116, ++ 104,117,109,98,116,114,97,99,107,0,24,100,97,116,97,108,105,110,107,46, ++ 111,110,117,112,100,97,116,101,114,111,119,100,97,116,97,7,27,103,114,100, ++ 111,99,99,117,112,97,116,105,111,110,115,117,112,100,97,116,101,114,111,119, ++ 100,97,116,97,13,100,97,116,97,114,111,119,104,101,105,103,104,116,2,22, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,13,116,100, ++ 98,115,116,114,105,110,103,101,100,105,116,12,115,101,79,99,99,117,112,97, ++ 116,105,111,110,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13, ++ 111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115, ++ 116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103, ++ 108,121,112,104,104,101,105,103,104,116,0,8,98,111,117,110,100,115,95,120, ++ 2,0,8,98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115, ++ 95,99,120,3,80,1,9,98,111,117,110,100,115,95,99,121,2,22,12,102, ++ 114,97,109,101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46, ++ 99,111,108,111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108, ++ 101,118,101,108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110, ++ 116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98, ++ 111,114,100,101,114,2,1,7,118,105,115,105,98,108,101,8,11,111,112,116, ++ 105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111,111,110,101, ++ 115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101,95, ++ 99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120,105, ++ 116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102,116,114,101, ++ 116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110,20,111,101, ++ 95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13,111, ++ 101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97,117,116,111, ++ 115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108,101,99,116, ++ 111,110,102,105,114,115,116,99,108,105,99,107,10,111,101,95,110,111,116,110, ++ 117,108,108,11,111,101,95,97,117,116,111,112,111,115,116,16,111,101,95,97, ++ 117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121,101, ++ 120,101,99,117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101,12, ++ 111,101,95,115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102,105, ++ 101,108,100,6,5,100,101,115,99,114,10,100,97,116,97,115,111,117,114,99, ++ 101,7,24,114,101,102,115,100,97,116,97,109,111,46,100,115,79,99,99,117, ++ 112,97,116,105,111,110,115,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,14,0,0,0,241,7,116,97,99,116,105,111,110,10,97,99,116,83, ++ 97,118,101,65,108,108,0,0,241,7,116,97,99,116,105,111,110,7,97,99, ++ 116,85,110,68,111,0,0,241,7,116,97,99,116,105,111,110,6,97,99,116, ++ 65,100,100,0,0,241,7,116,97,99,116,105,111,110,9,97,99,116,68,101, ++ 108,101,116,101,0,0,241,14,116,109,115,101,100,97,116,97,115,111,117,114, ++ 99,101,10,100,115,67,111,110,116,101,110,116,115,0,0,241,7,116,97,99, ++ 116,105,111,110,10,97,99,116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,toccupationseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/occupationseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,51 ---- ++ unit occupationseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit,msegrids,db; ++ ++ type ++ toccupationseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdOccupations: tdbwidgetgrid; ++ seOccupation: tdbstringedit; ++ procedure occupationseditfocreated(const sender: TObject); ++ procedure occupationseditfodestroyed(const sender: TObject); ++ procedure grdoccupationsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ var ++ occupationseditfo: toccupationseditfo; ++ ++ implementation ++ ++ uses ++ occupationseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure toccupationseditfo.occupationseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdOccupations.datasource.dataset; ++ end; ++ ++ procedure toccupationseditfo.occupationseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure toccupationseditfo.grdoccupationsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/persons.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/persons.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/persons.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/persons.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,12 ---- ++ program persons; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.dblclicktime:= 220000; ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/persons.prj mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/persons.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/persons.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/persons.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,613 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1 ++ findinfiledialog=29 ++ [findinfileadialogfo] ++ stackedunder= ++ x=260 ++ y=73 ++ cx=331 ++ cy=249 ++ [findinfileadialogfo.findtext] ++ value=fpc204 ++ history=1 ++ fpc204 ++ [findinfileadialogfo.casesensitive] ++ value=0 ++ [findinfileadialogfo.wholeword] ++ value=0 ++ [findinfileadialogfo.indirectories] ++ value=1 ++ [findinfileadialogfo.inopenfiles] ++ value=0 ++ [findinfileadialogfo.dir] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [findinfileadialogfo.mask] ++ value="*.pas" "*.pp" "*.inc" ++ history=0 ++ [findinfileadialogfo.subdirs] ++ value=0 ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=4 ++ y=37 ++ cx=821 ++ cy=500 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=156 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=125 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=43 ++ cx=358 ++ cy=531 ++ wsize=0 ++ active=1 ++ visible=1 ++ stringlisteditor=6 ++ [stringlisteditor] ++ stackedunder= ++ x=182 ++ y=208 ++ cx=275 ++ cy=237 ++ texteditor=15 ++ [msetexteditorfo] ++ stackedunder= ++ x=28 ++ y=54 ++ cx=432 ++ cy=492 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msetexteditorfo.filedialog] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ dbfieldeditor=12 ++ [msedbfieldeditorfo] ++ stackedunder= ++ x=60 ++ y=259 ++ cx=601 ++ cy=216 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msedbfieldeditorfo.splitter] ++ x=305 ++ y=24 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.mfm ++ mainfile=persons.pas ++ targetfile=persons${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -Fcutf8 ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ showgrid=1 ++ snaptogrid=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ backupfilecount=2 ++ encoding=1 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ ++ line=1 ++ 0 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=251 ++ [mainfo] ++ stackedunder=mainfo.panel1 ++ x=18 ++ y=24 ++ cx=331 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=5616 ++ [mainfo.openfile] ++ filenames=0 ++ lastdir=/home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/ ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.pas ++ /usr/local/lib/msegui/lib/common/kernel/i386-linux/mseguiintf.pas ++ /home/pochta/mseide_projects/persons.wiki/editform.mfm ++ /home/pochta/mseide_projects/persons.wiki/editform.mfm-bad ++ /home/pochta/mseide_projects/persons.1/occupationseditform.pas ++ /home/pochta/mseide_projects/persons.1/featureseditform.pas ++ /home/pochta/mseide_projects/persons.1/countrieseditform.pas ++ /home/pochta/mseide_projects/persons.1/continentseditform.pas ++ /home/pochta/mseide_projects/persons.1/planetseditform.pas ++ /home/pochta/mseide_projects/persons.1/commonrefeditform.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=527 ++ parent=mainfo.panel1.container ++ visible=1 ++ x=0 ++ y=0 ++ cx=818 ++ cy=447 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=15 ++ parent=mainfo.basedock ++ visible=1 ++ x=0 ++ y=0 ++ cx=331 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=watchfo ++ parent= ++ x=366 ++ y=20 ++ cx=377 ++ cy=123 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=1551 ++ parent=mainfo.panel1.container ++ visible=0 ++ x=0 ++ y=367 ++ cx=818 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=783 ++ stackedunder=breakpointsfo ++ parent= ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=6 ++ mouseeventinfoty(info) ++ info ++ mouseeventinfoty(info.mouseeventinfopo^) ++ QRYPERSONS__GETCHANGECOUNT ++ event ++ po1^[int1] ++ width1=152 ++ values2=6 ++ ++ ++ ++ ++ ++ ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=targetconsolefo ++ parent= ++ x=444 ++ y=34 ++ cx=275 ++ cy=498 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=89 ++ width1=170 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=stackfo ++ parent= ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=findinfilefo ++ parent= ++ x=317 ++ y=64 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=0 ++ width1=33 ++ values2=0 ++ width2=239 ++ width4=34 ++ values5=0 ++ width5=38 ++ values6=0 ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=projecttreefo ++ parent= ++ x=407 ++ y=178 ++ cx=555 ++ cy=479 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=15 ++ stackedunder=cpufo ++ parent= ++ x=263 ++ y=431 ++ cx=286 ++ cy=201 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=objectinspectorfo ++ parent= ++ x=114 ++ y=171 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=threadsfo ++ parent= ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=watchpointsfo ++ parent= ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=527 ++ stackedunder=disassfo ++ parent= ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=1 ++ stackedunder=mainfo ++ parent= ++ x=121 ++ y=136 ++ cx=884 ++ cy=340 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=2047 ++ stackedunder=formdesignerfo ++ parent= ++ x=43 ++ y=91 ++ cx=828 ++ cy=447 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=433 ++ hintheight=204 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=clipbo ++ findhistory=4 ++ clipbo ++ rowcount ++ 94250 ++ planetcha ++ findoptions=1 ++ editpos=1 ++ 0,0 ++ bookmarks0=0 ++ sourcefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.pas ++ ismoduletexts=1 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/persons/persons-15oct-1/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=200 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,140 ---- ++ object planetseditfo: tplanetseditfo ++ bounds_x = 93 ++ bounds_y = 171 ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Planets editor' ++ icon.transparency = -2147483648 ++ oncreate = planetseditfocreated ++ ondestroy = planetseditfodestroyed ++ moduleclassname = 'tmseform' ++ inline commonrefseditfo1: tcommonrefseditfo ++ bounds_cx = 402 ++ bounds_cy = 322 ++ taborder = 0 ++ container.bounds_cx = 402 ++ container.bounds_cy = 322 ++ container.frame.dummy = 0 ++ icon.transparency = -2147483648 ++ inherited btnSaveAll: tbutton ++ frame.dummy = 0 ++ taborder = 8 ++ end ++ inherited btnUnDo: tbutton ++ frame.dummy = 0 ++ taborder = 7 ++ end ++ inherited btnAdd: tbutton ++ frame.dummy = 0 ++ taborder = 5 ++ end ++ inherited btnDelete: tbutton ++ frame.dummy = 0 ++ taborder = 4 ++ end ++ inherited btnClose: tbutton ++ frame.dummy = 0 ++ taborder = 3 ++ end ++ inherited btnUnDoAll: tbutton ++ frame.dummy = 0 ++ taborder = 6 ++ end ++ inherited lblAddedLegend: tlabel ++ frame.dummy = 0 ++ end ++ inherited lblChangedLegend: tlabel ++ frame.dummy = 0 ++ end ++ object grdPlanets: tdbwidgetgrid[8] ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 384 ++ bounds_cy = 218 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ taborder = 2 ++ datasource = refsdatamo.dsPlanets ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 29 ++ numstart = 1 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ color = -1610612716 ++ height = 18 ++ captions.count = 1 ++ captions.items = < ++ item ++ caption = 'Country name' ++ end> ++ captionsfix.count = 1 ++ captionsfix.items = < ++ item ++ caption = #8470 ++ end> ++ end> ++ rowcolors.count = 2 ++ rowcolors.items = ( ++ 16760832 ++ -1610612728 ++ ) ++ datacols.count = 1 ++ datacols.items = < ++ item ++ frame.framei_left = 10 ++ frame.localprops = [frl_fileft] ++ frame.dummy = 0 ++ width = 334 ++ options = [co_fill, co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor] ++ widgetname = 'seName' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ datalink.onupdaterowdata = grdplanetsupdaterowdata ++ datarowheight = 22 ++ reffontheight = 14 ++ object seName: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight] ++ bounds_x = 0 ++ bounds_y = 0 ++ bounds_cx = 334 ++ bounds_cy = 22 ++ frame.levelo = 0 ++ frame.colorclient = -2147483645 ++ frame.localprops = [frl_levelo, frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ visible = False ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_notnull, oe_autopost, oe_autopopupmenu, oe_keyexecute, oe_savevalue, oe_savestate] ++ datafield = 'descr' ++ datasource = refsdatamo.dsPlanets ++ reffontheight = 14 ++ end ++ end ++ inherited actSaveAll: taction ++ end ++ inherited actUnDo: taction ++ end ++ inherited actAdd: taction ++ end ++ inherited actDelete: taction ++ end ++ inherited dsContents: tmsedatasource ++ end ++ inherited actUnDoAll: taction ++ end ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,156 ---- ++ unit planetseditform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,planetseditform; ++ ++ const ++ objdata: record size: integer; data: array[0..2771] of byte end = ++ (size: 2772; data: ( ++ 84,80,70,48,14,116,112,108,97,110,101,116,115,101,100,105,116,102,111,13, ++ 112,108,97,110,101,116,115,101,100,105,116,102,111,8,98,111,117,110,100,115, ++ 95,120,2,93,8,98,111,117,110,100,115,95,121,3,171,0,9,98,111,117, ++ 110,100,115,95,99,120,3,146,1,9,98,111,117,110,100,115,95,99,121,3, ++ 66,1,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110,116,97,105, ++ 110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111, ++ 119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102, ++ 111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111, ++ 119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116, ++ 114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117,115,101,119, ++ 104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101, ++ 116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99, ++ 111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,146, ++ 1,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99, ++ 121,3,66,1,21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,7,111,112,116,105,111,110,115,11,17,102,111, ++ 95,115,99,114,101,101,110,99,101,110,116,101,114,101,100,15,102,111,95,97, ++ 117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119, ++ 114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12, ++ 102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97,112,116,105,111, ++ 110,6,14,80,108,97,110,101,116,115,32,101,100,105,116,111,114,17,105,99, ++ 111,110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128, ++ 8,111,110,99,114,101,97,116,101,7,20,112,108,97,110,101,116,115,101,100, ++ 105,116,102,111,99,114,101,97,116,101,100,9,111,110,100,101,115,116,114,111, ++ 121,7,22,112,108,97,110,101,116,115,101,100,105,116,102,111,100,101,115,116, ++ 114,111,121,101,100,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109, ++ 101,6,8,116,109,115,101,102,111,114,109,0,244,17,116,99,111,109,109,111, ++ 110,114,101,102,115,101,100,105,116,102,111,17,99,111,109,109,111,110,114,101, ++ 102,115,101,100,105,116,102,111,49,9,98,111,117,110,100,115,95,99,120,3, ++ 146,1,9,98,111,117,110,100,115,95,99,121,3,66,1,8,116,97,98,111, ++ 114,100,101,114,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,120,3,146,1,19,99,111,110,116,97,105,110,101,114,46, ++ 98,111,117,110,100,115,95,99,121,3,66,1,21,99,111,110,116,97,105,110, ++ 101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,17,105,99,111, ++ 110,46,116,114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,0, ++ 241,7,116,98,117,116,116,111,110,10,98,116,110,83,97,118,101,65,108,108, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114, ++ 100,101,114,2,8,0,0,241,7,116,98,117,116,116,111,110,7,98,116,110, ++ 85,110,68,111,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116, ++ 97,98,111,114,100,101,114,2,7,0,0,241,7,116,98,117,116,116,111,110, ++ 6,98,116,110,65,100,100,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,8,116,97,98,111,114,100,101,114,2,5,0,0,241,7,116,98,117,116, ++ 116,111,110,9,98,116,110,68,101,108,101,116,101,11,102,114,97,109,101,46, ++ 100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,4,0,0, ++ 241,7,116,98,117,116,116,111,110,8,98,116,110,67,108,111,115,101,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,3,0,0,241,7,116,98,117,116,116,111,110,10,98,116,110,85,110, ++ 68,111,65,108,108,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8, ++ 116,97,98,111,114,100,101,114,2,6,0,0,241,6,116,108,97,98,101,108, ++ 14,108,98,108,65,100,100,101,100,76,101,103,101,110,100,11,102,114,97,109, ++ 101,46,100,117,109,109,121,2,0,0,0,241,6,116,108,97,98,101,108,16, ++ 108,98,108,67,104,97,110,103,101,100,76,101,103,101,110,100,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,0,0,242,2,8,13,116,100,98,119, ++ 105,100,103,101,116,103,114,105,100,10,103,114,100,80,108,97,110,101,116,115, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109, ++ 111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117, ++ 115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,102, ++ 111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101, ++ 105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98, ++ 111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,8, ++ 9,98,111,117,110,100,115,95,99,120,3,128,1,9,98,111,117,110,100,115, ++ 95,99,121,3,218,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110, ++ 95,116,111,112,8,97,110,95,114,105,103,104,116,0,8,116,97,98,111,114, ++ 100,101,114,2,2,10,100,97,116,97,115,111,117,114,99,101,7,20,114,101, ++ 102,115,100,97,116,97,109,111,46,100,115,80,108,97,110,101,116,115,13,102, ++ 105,120,99,111,108,115,46,99,111,117,110,116,2,1,13,102,105,120,99,111, ++ 108,115,46,105,116,101,109,115,14,1,5,119,105,100,116,104,2,29,8,110, ++ 117,109,115,116,97,114,116,2,1,7,110,117,109,115,116,101,112,2,1,0, ++ 0,13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105, ++ 120,114,111,119,115,46,105,116,101,109,115,14,1,5,99,111,108,111,114,4, ++ 20,0,0,160,6,104,101,105,103,104,116,2,18,14,99,97,112,116,105,111, ++ 110,115,46,99,111,117,110,116,2,1,14,99,97,112,116,105,111,110,115,46, ++ 105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,6,12,67,111,117, ++ 110,116,114,121,32,110,97,109,101,0,0,17,99,97,112,116,105,111,110,115, ++ 102,105,120,46,99,111,117,110,116,2,1,17,99,97,112,116,105,111,110,115, ++ 102,105,120,46,105,116,101,109,115,14,1,7,99,97,112,116,105,111,110,18, ++ 1,0,0,0,22,33,0,0,0,0,15,114,111,119,99,111,108,111,114,115, ++ 46,99,111,117,110,116,2,2,15,114,111,119,99,111,108,111,114,115,46,105, ++ 116,101,109,115,1,4,0,192,255,0,4,8,0,0,160,0,14,100,97,116, ++ 97,99,111,108,115,46,99,111,117,110,116,2,1,14,100,97,116,97,99,111, ++ 108,115,46,105,116,101,109,115,14,1,17,102,114,97,109,101,46,102,114,97, ++ 109,101,105,95,108,101,102,116,2,10,16,102,114,97,109,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,5,119,105,100,116,104, ++ 3,78,1,7,111,112,116,105,111,110,115,11,7,99,111,95,102,105,108,108, ++ 12,99,111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118, ++ 101,115,116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111, ++ 95,114,111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111, ++ 108,111,114,0,10,119,105,100,103,101,116,110,97,109,101,6,6,115,101,78, ++ 97,109,101,0,0,16,100,97,116,97,108,105,110,107,46,111,112,116,105,111, ++ 110,115,11,17,103,100,111,95,112,114,111,112,115,99,114,111,108,108,98,97, ++ 114,14,103,100,111,95,116,104,117,109,98,116,114,97,99,107,0,24,100,97, ++ 116,97,108,105,110,107,46,111,110,117,112,100,97,116,101,114,111,119,100,97, ++ 116,97,7,23,103,114,100,112,108,97,110,101,116,115,117,112,100,97,116,101, ++ 114,111,119,100,97,116,97,13,100,97,116,97,114,111,119,104,101,105,103,104, ++ 116,2,22,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0, ++ 13,116,100,98,115,116,114,105,110,103,101,100,105,116,6,115,101,78,97,109, ++ 101,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,13,111,119,95, ++ 109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,0,8,98,111,117,110,100,115,95,120,2,0,8, ++ 98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115,95,99,120, ++ 3,78,1,9,98,111,117,110,100,115,95,99,121,2,22,12,102,114,97,109, ++ 101,46,108,101,118,101,108,111,2,0,17,102,114,97,109,101,46,99,111,108, ++ 111,114,99,108,105,101,110,116,4,3,0,0,128,16,102,114,97,109,101,46, ++ 108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,108,101,118,101, ++ 108,111,15,102,114,108,95,99,111,108,111,114,99,108,105,101,110,116,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100, ++ 101,114,2,1,7,118,105,115,105,98,108,101,8,11,111,112,116,105,111,110, ++ 115,101,100,105,116,11,12,111,101,95,117,110,100,111,111,110,101,115,99,13, ++ 111,101,95,99,108,111,115,101,113,117,101,114,121,16,111,101,95,99,104,101, ++ 99,107,109,114,99,97,110,99,101,108,15,111,101,95,101,120,105,116,111,110, ++ 99,117,114,115,111,114,14,111,101,95,115,104,105,102,116,114,101,116,117,114, ++ 110,12,111,101,95,101,97,116,114,101,116,117,114,110,20,111,101,95,114,101, ++ 115,101,116,115,101,108,101,99,116,111,110,101,120,105,116,13,111,101,95,101, ++ 110,100,111,110,101,110,116,101,114,13,111,101,95,97,117,116,111,115,101,108, ++ 101,99,116,25,111,101,95,97,117,116,111,115,101,108,101,99,116,111,110,102, ++ 105,114,115,116,99,108,105,99,107,10,111,101,95,110,111,116,110,117,108,108, ++ 11,111,101,95,97,117,116,111,112,111,115,116,16,111,101,95,97,117,116,111, ++ 112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121,101,120,101,99, ++ 117,116,101,12,111,101,95,115,97,118,101,118,97,108,117,101,12,111,101,95, ++ 115,97,118,101,115,116,97,116,101,0,9,100,97,116,97,102,105,101,108,100, ++ 6,5,100,101,115,99,114,10,100,97,116,97,115,111,117,114,99,101,7,20, ++ 114,101,102,115,100,97,116,97,109,111,46,100,115,80,108,97,110,101,116,115, ++ 13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,241, ++ 7,116,97,99,116,105,111,110,10,97,99,116,83,97,118,101,65,108,108,0, ++ 0,241,7,116,97,99,116,105,111,110,7,97,99,116,85,110,68,111,0,0, ++ 241,7,116,97,99,116,105,111,110,6,97,99,116,65,100,100,0,0,241,7, ++ 116,97,99,116,105,111,110,9,97,99,116,68,101,108,101,116,101,0,0,241, ++ 14,116,109,115,101,100,97,116,97,115,111,117,114,99,101,10,100,115,67,111, ++ 110,116,101,110,116,115,0,0,241,7,116,97,99,116,105,111,110,10,97,99, ++ 116,85,110,68,111,65,108,108,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tplanetseditfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/planetseditform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/planetseditform.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,55 ---- ++ unit planetseditform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,commonrefseditform,msedbedit, ++ msegrids, // provides "tcustomgrid" ++ db // // provides "tdataset" ++ ; ++ ++ type ++ tplanetseditfo = class(tmseform) ++ commonrefseditfo1: tcommonrefseditfo; ++ grdPlanets: tdbwidgetgrid; ++ seName: tdbstringedit; ++ procedure planetseditfodestroyed(const sender: TObject); ++ procedure planetseditfocreated(const sender: TObject); ++ procedure grdplanetsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ end; ++ ++ var ++ planetseditfo: tplanetseditfo; ++ ++ implementation ++ ++ uses ++ planetseditform_mfm, ++ refsdatamodule ++ ; ++ ++ procedure tplanetseditfo.planetseditfodestroyed(const sender: TObject); ++ begin ++ refsdatamo.free; ++ end; ++ ++ procedure tplanetseditfo.planetseditfocreated(const sender: TObject); ++ begin ++ application.createdatamodule(trefsdatamo, refsdatamo); ++ commonrefseditfo1.dsContents.dataset := grdPlanets.datasource.dataset; ++ end; ++ ++ procedure tplanetseditfo.grdplanetsupdaterowdata(const sender: tcustomgrid; ++ const arow: Integer; const adataset: TDataSet); ++ begin ++ case adataset.updatestatus of ++ usInserted: ++ sender.rowcolorstate[arow]:= 0; ++ usModified: ++ sender.rowcolorstate[arow]:= 1; ++ else ++ sender.rowcolorstate[arow]:= 255; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.mfm mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,371 ---- ++ object refsdatamo: trefsdatamo ++ left = 162 ++ top = 223 ++ moduleclassname = 'tmsedatamodule' ++ size = ( ++ 417 ++ 186 ++ ) ++ object qryPlanets: tmsesqlquery ++ Active = True ++ database = mainfo.conn ++ Transaction = mainfo.trans ++ params = <> ++ SQL.Strings = ( ++ 'select * from planets order by id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 1 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 16 ++ end ++ object qryContinents: tmsesqlquery ++ Active = True ++ BeforeOpen = qrycontinentsbeforeopen ++ database = mainfo.conn ++ Transaction = mainfo.trans ++ params = <> ++ SQL.Strings = ( ++ 'select * from continents order by id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'planet_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ ProviderFlags = [pfInKey] ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'planet_id' ++ Index = 1 ++ ProviderFlags = [pfInUpdate] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 2 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 48 ++ end ++ object qryCountries: tmsesqlquery ++ Active = True ++ BeforeOpen = qrycountriesbeforeopen ++ database = mainfo.conn ++ Transaction = mainfo.trans ++ params = <> ++ SQL.Strings = ( ++ 'select * from countries order by id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'continent_id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ ProviderFlags = [pfInKey] ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'continent_id' ++ Index = 1 ++ ProviderFlags = [pfInUpdate] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 2 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 80 ++ end ++ object qryOccupations: tmsesqlquery ++ Active = True ++ database = mainfo.conn ++ Transaction = mainfo.trans ++ params = <> ++ SQL.Strings = ( ++ 'select * from occupations order by id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 1 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 112 ++ end ++ object qryFeatures: tmsesqlquery ++ Active = True ++ database = mainfo.conn ++ Transaction = mainfo.trans ++ params = <> ++ SQL.Strings = ( ++ 'select * from features order by id;' ++ ) ++ IndexDefs = <> ++ UsePrimaryKeyAsKey = False ++ StatementType = stSelect ++ FieldDefs = < ++ item ++ Name = 'id' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'descr' ++ DataType = ftMemo ++ Precision = -1 ++ Size = 4 ++ end> ++ controller.fields.count = 2 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_memo ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'id' ++ ProviderFlags = [pfInKey] ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'descr' ++ Index = 1 ++ Size = 4 ++ Transliterate = False ++ end> ++ ) ++ left = 16 ++ top = 144 ++ end ++ object dsPlanets: tmsedatasource ++ DataSet = qryPlanets ++ left = 144 ++ top = 16 ++ end ++ object dsContinents: tmsedatasource ++ DataSet = qryContinents ++ left = 144 ++ top = 48 ++ end ++ object dsOccupations: tmsedatasource ++ DataSet = qryOccupations ++ left = 144 ++ top = 112 ++ end ++ object dsFeatures: tmsedatasource ++ DataSet = qryFeatures ++ left = 144 ++ top = 144 ++ end ++ object dsCountries: tmsedatasource ++ DataSet = qryCountries ++ left = 144 ++ top = 80 ++ end ++ object lbufPlanets: tdblookupbuffer ++ datasource = dsPlanets ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 16 ++ end ++ object lbufContinents: tdblookupbuffer ++ datasource = dsContinents ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 2 ++ integerfields.items = ( ++ 'id' ++ 'planet_id' ++ ) ++ left = 272 ++ top = 48 ++ end ++ object lbufCountries: tdblookupbuffer ++ datasource = dsCountries ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 2 ++ integerfields.items = ( ++ 'id' ++ 'continent_id' ++ ) ++ left = 272 ++ top = 80 ++ end ++ object lbufOccupations: tdblookupbuffer ++ datasource = dsOccupations ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 112 ++ end ++ object lbufFeatures: tdblookupbuffer ++ datasource = dsFeatures ++ textfields.count = 1 ++ textfields.items = ( ++ 'descr' ++ ) ++ integerfields.count = 1 ++ integerfields.items = ( ++ 'id' ++ ) ++ left = 272 ++ top = 144 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule_mfm.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,238 ---- ++ unit refsdatamodule_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,refsdatamodule; ++ ++ const ++ objdata: record size: integer; data: array[0..4414] of byte end = ++ (size: 4415; data: ( ++ 84,80,70,48,11,116,114,101,102,115,100,97,116,97,109,111,10,114,101,102, ++ 115,100,97,116,97,109,111,4,108,101,102,116,3,162,0,3,116,111,112,3, ++ 223,0,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,14, ++ 116,109,115,101,100,97,116,97,109,111,100,117,108,101,4,115,105,122,101,1, ++ 3,161,1,3,186,0,0,0,12,116,109,115,101,115,113,108,113,117,101,114, ++ 121,10,113,114,121,80,108,97,110,101,116,115,6,65,99,116,105,118,101,9, ++ 8,100,97,116,97,98,97,115,101,7,11,109,97,105,110,102,111,46,99,111, ++ 110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12,109,97,105,110, ++ 102,111,46,116,114,97,110,115,6,112,97,114,97,109,115,14,0,11,83,81, ++ 76,46,83,116,114,105,110,103,115,1,6,34,115,101,108,101,99,116,32,42, ++ 32,102,114,111,109,32,112,108,97,110,101,116,115,32,111,114,100,101,114,32, ++ 98,121,32,105,100,59,0,9,73,110,100,101,120,68,101,102,115,14,0,18, ++ 85,115,101,80,114,105,109,97,114,121,75,101,121,65,115,75,101,121,8,13, ++ 83,116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108, ++ 101,99,116,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101, ++ 6,2,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116, ++ 101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122, ++ 101,2,4,0,1,4,78,97,109,101,6,5,100,101,115,99,114,8,68,97, ++ 116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99,105, ++ 115,105,111,110,2,255,4,83,105,122,101,2,4,0,0,23,99,111,110,116, ++ 114,111,108,108,101,114,46,102,105,101,108,100,115,46,99,111,117,110,116,2, ++ 2,24,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46, ++ 102,105,101,108,100,115,1,1,7,10,102,116,95,108,111,110,103,105,110,116, ++ 7,7,102,116,95,109,101,109,111,0,14,1,9,65,108,105,103,110,77,101, ++ 110,116,7,14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78, ++ 97,109,101,6,2,105,100,13,80,114,111,118,105,100,101,114,70,108,97,103, ++ 115,11,7,112,102,73,110,75,101,121,0,0,1,12,68,105,115,112,108,97, ++ 121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,5, ++ 100,101,115,99,114,5,73,110,100,101,120,2,1,4,83,105,122,101,2,4, ++ 13,84,114,97,110,115,108,105,116,101,114,97,116,101,8,0,0,0,4,108, ++ 101,102,116,2,16,3,116,111,112,2,16,0,0,12,116,109,115,101,115,113, ++ 108,113,117,101,114,121,13,113,114,121,67,111,110,116,105,110,101,110,116,115, ++ 6,65,99,116,105,118,101,9,10,66,101,102,111,114,101,79,112,101,110,7, ++ 23,113,114,121,99,111,110,116,105,110,101,110,116,115,98,101,102,111,114,101, ++ 111,112,101,110,8,100,97,116,97,98,97,115,101,7,11,109,97,105,110,102, ++ 111,46,99,111,110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12, ++ 109,97,105,110,102,111,46,116,114,97,110,115,6,112,97,114,97,109,115,14, ++ 0,11,83,81,76,46,83,116,114,105,110,103,115,1,6,37,115,101,108,101, ++ 99,116,32,42,32,102,114,111,109,32,99,111,110,116,105,110,101,110,116,115, ++ 32,111,114,100,101,114,32,98,121,32,105,100,59,0,9,73,110,100,101,120, ++ 68,101,102,115,14,0,18,85,115,101,80,114,105,109,97,114,121,75,101,121, ++ 65,115,75,101,121,8,13,83,116,97,116,101,109,101,110,116,84,121,112,101, ++ 7,8,115,116,83,101,108,101,99,116,9,70,105,101,108,100,68,101,102,115, ++ 14,1,4,78,97,109,101,6,2,105,100,8,68,97,116,97,84,121,112,101, ++ 7,9,102,116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111, ++ 110,2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,9,112, ++ 108,97,110,101,116,95,105,100,8,68,97,116,97,84,121,112,101,7,9,102, ++ 116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,5,100,101,115,99, ++ 114,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111,9,80, ++ 114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,0,23, ++ 99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46,99,111, ++ 117,110,116,2,3,24,99,111,110,116,114,111,108,108,101,114,46,102,105,101, ++ 108,100,115,46,102,105,101,108,100,115,1,1,7,10,102,116,95,108,111,110, ++ 103,105,110,116,7,10,102,116,95,108,111,110,103,105,110,116,7,7,102,116, ++ 95,109,101,109,111,0,14,1,9,65,108,105,103,110,77,101,110,116,7,14, ++ 116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108, ++ 97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6, ++ 2,105,100,13,80,114,111,118,105,100,101,114,70,108,97,103,115,11,7,112, ++ 102,73,110,75,101,121,0,0,1,9,65,108,105,103,110,77,101,110,116,7, ++ 14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112, ++ 108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101, ++ 6,9,112,108,97,110,101,116,95,105,100,5,73,110,100,101,120,2,1,13, ++ 80,114,111,118,105,100,101,114,70,108,97,103,115,11,10,112,102,73,110,85, ++ 112,100,97,116,101,0,0,1,12,68,105,115,112,108,97,121,87,105,100,116, ++ 104,2,10,9,70,105,101,108,100,78,97,109,101,6,5,100,101,115,99,114, ++ 5,73,110,100,101,120,2,2,4,83,105,122,101,2,4,13,84,114,97,110, ++ 115,108,105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16, ++ 3,116,111,112,2,48,0,0,12,116,109,115,101,115,113,108,113,117,101,114, ++ 121,12,113,114,121,67,111,117,110,116,114,105,101,115,6,65,99,116,105,118, ++ 101,9,10,66,101,102,111,114,101,79,112,101,110,7,22,113,114,121,99,111, ++ 117,110,116,114,105,101,115,98,101,102,111,114,101,111,112,101,110,8,100,97, ++ 116,97,98,97,115,101,7,11,109,97,105,110,102,111,46,99,111,110,110,11, ++ 84,114,97,110,115,97,99,116,105,111,110,7,12,109,97,105,110,102,111,46, ++ 116,114,97,110,115,6,112,97,114,97,109,115,14,0,11,83,81,76,46,83, ++ 116,114,105,110,103,115,1,6,36,115,101,108,101,99,116,32,42,32,102,114, ++ 111,109,32,99,111,117,110,116,114,105,101,115,32,111,114,100,101,114,32,98, ++ 121,32,105,100,59,0,9,73,110,100,101,120,68,101,102,115,14,0,18,85, ++ 115,101,80,114,105,109,97,114,121,75,101,121,65,115,75,101,121,8,13,83, ++ 116,97,116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108,101, ++ 99,116,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101,6, ++ 2,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101, ++ 103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,4,0,1,4,78,97,109,101,6,12,99,111,110,116,105,110,101,110,116, ++ 95,105,100,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101, ++ 103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101, ++ 2,4,0,1,4,78,97,109,101,6,5,100,101,115,99,114,8,68,97,116, ++ 97,84,121,112,101,7,6,102,116,77,101,109,111,9,80,114,101,99,105,115, ++ 105,111,110,2,255,4,83,105,122,101,2,4,0,0,23,99,111,110,116,114, ++ 111,108,108,101,114,46,102,105,101,108,100,115,46,99,111,117,110,116,2,3, ++ 24,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46,102, ++ 105,101,108,100,115,1,1,7,10,102,116,95,108,111,110,103,105,110,116,7, ++ 10,102,116,95,108,111,110,103,105,110,116,7,7,102,116,95,109,101,109,111, ++ 0,14,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105,103, ++ 104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105,100, ++ 116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,2,105,100,13,80, ++ 114,111,118,105,100,101,114,70,108,97,103,115,11,7,112,102,73,110,75,101, ++ 121,0,0,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82,105, ++ 103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87,105, ++ 100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,12,99,111,110, ++ 116,105,110,101,110,116,95,105,100,5,73,110,100,101,120,2,1,13,80,114, ++ 111,118,105,100,101,114,70,108,97,103,115,11,10,112,102,73,110,85,112,100, ++ 97,116,101,0,0,1,12,68,105,115,112,108,97,121,87,105,100,116,104,2, ++ 10,9,70,105,101,108,100,78,97,109,101,6,5,100,101,115,99,114,5,73, ++ 110,100,101,120,2,2,4,83,105,122,101,2,4,13,84,114,97,110,115,108, ++ 105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16,3,116, ++ 111,112,2,80,0,0,12,116,109,115,101,115,113,108,113,117,101,114,121,14, ++ 113,114,121,79,99,99,117,112,97,116,105,111,110,115,6,65,99,116,105,118, ++ 101,9,8,100,97,116,97,98,97,115,101,7,11,109,97,105,110,102,111,46, ++ 99,111,110,110,11,84,114,97,110,115,97,99,116,105,111,110,7,12,109,97, ++ 105,110,102,111,46,116,114,97,110,115,6,112,97,114,97,109,115,14,0,11, ++ 83,81,76,46,83,116,114,105,110,103,115,1,6,38,115,101,108,101,99,116, ++ 32,42,32,102,114,111,109,32,111,99,99,117,112,97,116,105,111,110,115,32, ++ 111,114,100,101,114,32,98,121,32,105,100,59,0,9,73,110,100,101,120,68, ++ 101,102,115,14,0,18,85,115,101,80,114,105,109,97,114,121,75,101,121,65, ++ 115,75,101,121,8,13,83,116,97,116,101,109,101,110,116,84,121,112,101,7, ++ 8,115,116,83,101,108,101,99,116,9,70,105,101,108,100,68,101,102,115,14, ++ 1,4,78,97,109,101,6,2,105,100,8,68,97,116,97,84,121,112,101,7, ++ 9,102,116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110, ++ 2,255,4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,5,100,101, ++ 115,99,114,8,68,97,116,97,84,121,112,101,7,6,102,116,77,101,109,111, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 0,23,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46, ++ 99,111,117,110,116,2,2,24,99,111,110,116,114,111,108,108,101,114,46,102, ++ 105,101,108,100,115,46,102,105,101,108,100,115,1,1,7,10,102,116,95,108, ++ 111,110,103,105,110,116,7,7,102,116,95,109,101,109,111,0,14,1,9,65, ++ 108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115, ++ 116,105,102,121,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9, ++ 70,105,101,108,100,78,97,109,101,6,2,105,100,13,80,114,111,118,105,100, ++ 101,114,70,108,97,103,115,11,7,112,102,73,110,75,101,121,0,0,1,12, ++ 68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100, ++ 78,97,109,101,6,5,100,101,115,99,114,5,73,110,100,101,120,2,1,4, ++ 83,105,122,101,2,4,13,84,114,97,110,115,108,105,116,101,114,97,116,101, ++ 8,0,0,0,4,108,101,102,116,2,16,3,116,111,112,2,112,0,0,12, ++ 116,109,115,101,115,113,108,113,117,101,114,121,11,113,114,121,70,101,97,116, ++ 117,114,101,115,6,65,99,116,105,118,101,9,8,100,97,116,97,98,97,115, ++ 101,7,11,109,97,105,110,102,111,46,99,111,110,110,11,84,114,97,110,115, ++ 97,99,116,105,111,110,7,12,109,97,105,110,102,111,46,116,114,97,110,115, ++ 6,112,97,114,97,109,115,14,0,11,83,81,76,46,83,116,114,105,110,103, ++ 115,1,6,35,115,101,108,101,99,116,32,42,32,102,114,111,109,32,102,101, ++ 97,116,117,114,101,115,32,111,114,100,101,114,32,98,121,32,105,100,59,0, ++ 9,73,110,100,101,120,68,101,102,115,14,0,18,85,115,101,80,114,105,109, ++ 97,114,121,75,101,121,65,115,75,101,121,8,13,83,116,97,116,101,109,101, ++ 110,116,84,121,112,101,7,8,115,116,83,101,108,101,99,116,9,70,105,101, ++ 108,100,68,101,102,115,14,1,4,78,97,109,101,6,2,105,100,8,68,97, ++ 116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114,9,80,114, ++ 101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0,1,4,78, ++ 97,109,101,6,5,100,101,115,99,114,8,68,97,116,97,84,121,112,101,7, ++ 6,102,116,77,101,109,111,9,80,114,101,99,105,115,105,111,110,2,255,4, ++ 83,105,122,101,2,4,0,0,23,99,111,110,116,114,111,108,108,101,114,46, ++ 102,105,101,108,100,115,46,99,111,117,110,116,2,2,24,99,111,110,116,114, ++ 111,108,108,101,114,46,102,105,101,108,100,115,46,102,105,101,108,100,115,1, ++ 1,7,10,102,116,95,108,111,110,103,105,110,116,7,7,102,116,95,109,101, ++ 109,111,0,14,1,9,65,108,105,103,110,77,101,110,116,7,14,116,97,82, ++ 105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112,108,97,121,87, ++ 105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101,6,2,105,100, ++ 13,80,114,111,118,105,100,101,114,70,108,97,103,115,11,7,112,102,73,110, ++ 75,101,121,0,0,1,12,68,105,115,112,108,97,121,87,105,100,116,104,2, ++ 10,9,70,105,101,108,100,78,97,109,101,6,5,100,101,115,99,114,5,73, ++ 110,100,101,120,2,1,4,83,105,122,101,2,4,13,84,114,97,110,115,108, ++ 105,116,101,114,97,116,101,8,0,0,0,4,108,101,102,116,2,16,3,116, ++ 111,112,3,144,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114, ++ 99,101,9,100,115,80,108,97,110,101,116,115,7,68,97,116,97,83,101,116, ++ 7,10,113,114,121,80,108,97,110,101,116,115,4,108,101,102,116,3,144,0, ++ 3,116,111,112,2,16,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,12,100,115,67,111,110,116,105,110,101,110,116,115,7,68,97,116, ++ 97,83,101,116,7,13,113,114,121,67,111,110,116,105,110,101,110,116,115,4, ++ 108,101,102,116,3,144,0,3,116,111,112,2,48,0,0,14,116,109,115,101, ++ 100,97,116,97,115,111,117,114,99,101,13,100,115,79,99,99,117,112,97,116, ++ 105,111,110,115,7,68,97,116,97,83,101,116,7,14,113,114,121,79,99,99, ++ 117,112,97,116,105,111,110,115,4,108,101,102,116,3,144,0,3,116,111,112, ++ 2,112,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114,99,101,10, ++ 100,115,70,101,97,116,117,114,101,115,7,68,97,116,97,83,101,116,7,11, ++ 113,114,121,70,101,97,116,117,114,101,115,4,108,101,102,116,3,144,0,3, ++ 116,111,112,3,144,0,0,0,14,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,11,100,115,67,111,117,110,116,114,105,101,115,7,68,97,116,97, ++ 83,101,116,7,12,113,114,121,67,111,117,110,116,114,105,101,115,4,108,101, ++ 102,116,3,144,0,3,116,111,112,2,80,0,0,15,116,100,98,108,111,111, ++ 107,117,112,98,117,102,102,101,114,11,108,98,117,102,80,108,97,110,101,116, ++ 115,10,100,97,116,97,115,111,117,114,99,101,7,9,100,115,80,108,97,110, ++ 101,116,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116, ++ 2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1, ++ 6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108, ++ 100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102,105, ++ 101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101,102, ++ 116,3,16,1,3,116,111,112,2,16,0,0,15,116,100,98,108,111,111,107, ++ 117,112,98,117,102,102,101,114,14,108,98,117,102,67,111,110,116,105,110,101, ++ 110,116,115,10,100,97,116,97,115,111,117,114,99,101,7,12,100,115,67,111, ++ 110,116,105,110,101,110,116,115,16,116,101,120,116,102,105,101,108,100,115,46, ++ 99,111,117,110,116,2,1,16,116,101,120,116,102,105,101,108,100,115,46,105, ++ 116,101,109,115,1,6,5,100,101,115,99,114,0,19,105,110,116,101,103,101, ++ 114,102,105,101,108,100,115,46,99,111,117,110,116,2,2,19,105,110,116,101, ++ 103,101,114,102,105,101,108,100,115,46,105,116,101,109,115,1,6,2,105,100, ++ 6,9,112,108,97,110,101,116,95,105,100,0,4,108,101,102,116,3,16,1, ++ 3,116,111,112,2,48,0,0,15,116,100,98,108,111,111,107,117,112,98,117, ++ 102,102,101,114,13,108,98,117,102,67,111,117,110,116,114,105,101,115,10,100, ++ 97,116,97,115,111,117,114,99,101,7,11,100,115,67,111,117,110,116,114,105, ++ 101,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116,2, ++ 1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1,6, ++ 5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108,100, ++ 115,46,99,111,117,110,116,2,2,19,105,110,116,101,103,101,114,102,105,101, ++ 108,100,115,46,105,116,101,109,115,1,6,2,105,100,6,12,99,111,110,116, ++ 105,110,101,110,116,95,105,100,0,4,108,101,102,116,3,16,1,3,116,111, ++ 112,2,80,0,0,15,116,100,98,108,111,111,107,117,112,98,117,102,102,101, ++ 114,15,108,98,117,102,79,99,99,117,112,97,116,105,111,110,115,10,100,97, ++ 116,97,115,111,117,114,99,101,7,13,100,115,79,99,99,117,112,97,116,105, ++ 111,110,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110,116, ++ 2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115,1, ++ 6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101,108, ++ 100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102,105, ++ 101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101,102, ++ 116,3,16,1,3,116,111,112,2,112,0,0,15,116,100,98,108,111,111,107, ++ 117,112,98,117,102,102,101,114,12,108,98,117,102,70,101,97,116,117,114,101, ++ 115,10,100,97,116,97,115,111,117,114,99,101,7,10,100,115,70,101,97,116, ++ 117,114,101,115,16,116,101,120,116,102,105,101,108,100,115,46,99,111,117,110, ++ 116,2,1,16,116,101,120,116,102,105,101,108,100,115,46,105,116,101,109,115, ++ 1,6,5,100,101,115,99,114,0,19,105,110,116,101,103,101,114,102,105,101, ++ 108,100,115,46,99,111,117,110,116,2,1,19,105,110,116,101,103,101,114,102, ++ 105,101,108,100,115,46,105,116,101,109,115,1,6,2,105,100,0,4,108,101, ++ 102,116,3,16,1,3,116,111,112,3,144,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,trefsdatamo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.pas mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/src_trunk/refsdatamodule.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,45 ---- ++ unit refsdatamodule; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesqldb,msedb,mselookupbuffer,msedatamodules,db; ++ ++ type ++ trefsdatamo = class(tmsedatamodule) ++ qryPlanets: tmsesqlquery; ++ qryContinents: tmsesqlquery; ++ qryCountries: tmsesqlquery; ++ qryOccupations: tmsesqlquery; ++ qryFeatures: tmsesqlquery; ++ dsPlanets: tmsedatasource; ++ dsContinents: tmsedatasource; ++ dsOccupations: tmsedatasource; ++ dsFeatures: tmsedatasource; ++ dsCountries: tmsedatasource; ++ lbufPlanets: tdblookupbuffer; ++ lbufContinents: tdblookupbuffer; ++ lbufCountries: tdblookupbuffer; ++ lbufOccupations: tdblookupbuffer; ++ lbufFeatures: tdblookupbuffer; ++ procedure qrycountriesbeforeopen(DataSet: TDataSet); ++ procedure qrycontinentsbeforeopen(DataSet: TDataSet); ++ end; ++ var ++ refsdatamo: trefsdatamo; ++ implementation ++ uses ++ refsdatamodule_mfm; ++ ++ procedure trefsdatamo.qrycountriesbeforeopen(DataSet: TDataSet); ++ begin ++ qryContinents.active:= true; ++ end; ++ ++ procedure trefsdatamo.qrycontinentsbeforeopen(DataSet: TDataSet); ++ begin ++ qryPlanets.active:= true; ++ end; ++ ++ ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/task_setting_up.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/task_setting_up.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/task_setting_up.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/task_setting_up.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,88 ---- ++ ++ ++ ++ Ďîńňŕíîâęŕ çŕäŕ÷č ++ ++ ++ ++ ++

Ďîńňŕíîâęŕ çŕäŕ÷č

++

Çŕäŕ÷ŕ - âĺäĺíčĺ áŕçű äŕííűě ďî čçâĺńňíűě ( â ęîńěč÷ĺńęîě ěŕńřňŕáĺ ) ďĺđńîíŕě, ŕ čěĺííî ńëóäóţůčő čő ŕňđčáóňîâ:

++
    ++
  1. Descr  -> čě˙ č ň.ď.
  2. ++
  3. Feature   -> ďđĺîáëŕäŕţůŕ˙ ÷ĺđňŕ őŕđŕęňĺđŕ
  4. ++
  5. Occupation  -> đîä äĺ˙ňëüíîńňč
  6. ++
  7. Country  -> ăäĺ ďđîćčâŕĺň
  8. ++
  9. Sexual_potention  -> ďđîöĺíň ńĺęńóŕëüíîńňč
  10. ++
  11. Photo  -> ôîňîăđŕôč˙
  12. ++
  13. dateofbirth -> äŕňŕ đîćäĺíč˙
  14. ++
  15. If_happy  -> ń÷ŕńňëčâ ëč ďî ćčçíč
  16. ++
++

Äë˙ ýňîăî ńîçäŕĺňń˙ ňŕáëčöŕ “persons” ( â ôîđěŕňĺ ęîěŕíä PostgreSQL ):

++
++

create sequence person_id_seq; -- ýěóë˙ňîđ ďîë˙-ń÷ĺň÷čęŕ
++
++ create table persons (
++  id integer default nextval('person_id_seq'),
++  feature_id integer,
++  occupation_id integer,
++  country_id integer,
++  descr text not null,
++  sexual_potention float,
++  photo bytea,
++  if_happy boolean,
++  dateofbirth date
++ );

++
++

Ďóíęňű 2)..4) äîëćíű ńîäĺđćŕňü âűáčđŕĺěűĺ çíŕ÷ĺíč˙, ďîýňîěó íŕ íčő âĺäóňń˙ ńďđŕâî÷íűĺ ňŕáëčöű:

++

×ĺđňű őŕđŕęňĺđŕ :

++
++

create sequence feature_id_seq;
++
++ create table features (
++  id integer default nextval('feature_id_seq'),
++  descr text not null
++ );

++
++

Đîäŕ äĺ˙ňĺëüíîńňč :

++
++

create sequence occupation_id_seq;
++
++ create table occupations (
++  id integer default nextval('occupation_id_seq'),
++  descr text not null
++ );

++
++

Ńňđŕíű :

++
++

create table countries (
++
++ id integer default nextval('country_id_seq'),
++  continent_id integer,
++  descr text not null
++ );

++
++

Ňŕę ęŕę ńňđŕí âî âńĺëĺííîé ěîćĺň áűňü î÷ĺíü ěíîăî, ňî ďđčäĺňń˙ čő ęëŕńńčôčöčđîâŕňü íŕ

++

ęîíňčíĺíňű :

++
++

create sequence continent_id_seq;
++
++ create table continents (
++  id integer default nextval('continent_id_seq'),
++  planet_id integer,
++  descr text not null
++ );

++
++

ŕ ęîíňčíĺíňű, â ńâîţ î÷ĺđĺäü - íŕ ďëŕíĺňű :

++
++

create sequence planet_id_seq;
++
++ create table planets (
++  id integer default nextval('planet_id_seq'),
++  descr text not null
++ );

++
++

Ŕâňîěŕňčçčđîâŕííŕ˙ ďîäăîňîâęŕ ÁÄ ę đŕáîňĺ - ńěîňđčňĺ ăëŕâó Ńîçäŕíčĺ ÁÄ.

++

 

++ ++ +\ Pas de fin de ligne Ă  la fin du fichier. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/usedstyles.css mseide-msegui-1.8/docs/tutorials/db/persons/ru/usedstyles.css +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/usedstyles.css 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/usedstyles.css 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ .source { ++ font-family: "Courier New", Courier, mono; ++ font-size: 90%; ++ } ++ .light_stripe { ++ background-color: #FFFFCC; ++ } ++ .dark_stripe { ++ background-color: #E0E0E0; ++ } ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/view_project.html mseide-msegui-1.8/docs/tutorials/db/persons/ru/view_project.html +*** mseide-msegui-1.8.orig/docs/tutorials/db/persons/ru/view_project.html 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/persons/ru/view_project.html 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,448 ---- ++ ++ ++ ++ Ďđîńěîňđ äŕííűő ++ ++ ++ ++ ++

Ďđîńěîňđ äŕííűő
++ îá óćĺ âíĺńĺííűő ďĺđńîíŕő

++

Îńíîâíóţ ôîđěó – â ôîęóń ( ćěĺě F12) . Đŕńň˙ăčâŕĺě ĺĺ äî đŕçěĺđŕ ďđčěĺđíî 700x400. Ŕęňčâčçčđóĺě ďŕëčňđó ęîěďîíĺíňîâ :

++
++

ěĺíţ -> View -> Toolbars -> Components palette .

++
++

Ńîĺäčí˙ĺěń˙ ń ÁÄ

++

Âűáčđŕĺě âęëŕäęó "DB" ďŕëčňđű, č đîí˙ĺě â ëĺâűé íčćíčé óăîë ôîđěű ÷ĺňűđĺ ęîěďîíĺíňŕ: «tmsepqconnection», «tmsesqltranaction», «tmsesqlquery» č «tmsedatasource». Ýňč ęîěďîíĺíňű – đŕńřčđĺííî-čńďđŕâëĺííűĺ âĺđńčč ńîîňâĺňńňâóţůčő ęîěďîíĺíňîâ [SQL]DB čç áčáëčîňĺęč FCL ęîěďčë˙ňîđŕ "FreePascal". Äŕëĺĺ âűďîëí˙ĺě íŕńňđîéęó, âűáčđŕ˙ ęŕćäűé ęîěďîíĺíň č âűçűâŕ˙ ( ęëŕâčřĺé F11 ) äë˙ íĺăî đĺäŕęňîđ ńâîéńňâ :

++
++

1) tmsesqltranaction

++
    ++
  • Name := trans.
  • ++
++
++

 

++
++

2) Tmsepqconnection:

++
    ++
  • Name := conn
  • ++
  • Hostname := localhost
  • ++
  • Databasename := serious_matters
  • ++
  • Username := worldadmin
  • ++
  • Password := all
  • ++
++
++

Íĺîá˙çŕňĺëüíî, ńě «Ńîçäŕíčĺ ÁÄ» âűřĺ:

++
++

Params -> options='--ŃLIENT_ENCODING=koi8'

++
++
++
    ++
  • Transaction := âűáčđŕĺě “trans”
  • ++
  • Options :=
    ++ (pq_usesqvepoints:= true, pq_closetransactionfail:= false) ĺńëč âĺđńč˙ ńĺđâĺđŕ PosgreSQL >= 8.0
    ++ čëč
    ++ (pq_usesqvepoints:= false, pq_closetransactionfail:= true) ĺńëč âĺđńč˙ ńĺđâĺđŕ PosgreSQL < 8.0 ++
    ++

    Ďđčěĺ÷ŕíčĺ:

    ++
      ++
    • ýňč íŕńňđîéęč ńďŕńóň íŕń îň âîçíč ń îňęëţ÷ĺíčĺě/ďîäęëţ÷ĺíčĺ ńîĺäčíĺíč˙ ďđč îřčáęŕő ÁÄ âî âđĺě˙ äčçŕéíŕ, íŕďđčěĺđ – ĺńëč îřčáĺěń˙ ń ňĺęńňîě SQL-çŕďđîńŕ, ńě. íčćĺ.
    • ++
    ++
    ++
  • ++
++
++

 

++

Äĺëŕĺě Connected := true , ĺńëč âńĺ íîđěŕëüíî ń ďđŕâŕěč äîńňóďŕ ę ÁÄ č íčăäĺ íĺň îďĺ÷ŕňęč, ňî âńĺ ďđîéäĺň ăëŕäęî.

++

Âűáčđŕĺě čç ÁÄ äaííűĺ äë˙ ďđîńěîňđŕ

++

Ňĺďĺđü î ďîäçŕäŕ÷ĺ – ÷ňîáű âűáđŕňü ďđŕâčëüíűĺ ęîěďîíĺíňű äë˙ đŕçěĺůĺíč˙ íŕ ôîđěĺ.

++

Âĺńüěŕ âĺđî˙ňíî, ÷ňî ěű ďđîńňî çŕőîňčě ďîńěîňđĺňü äŕííűĺ č íč÷ĺăî íĺ áóäĺě đĺäŕęňčđîâŕňü, ńîîňâĺňńňâĺííî – íŕě íč÷ĺăî íĺ íóćíî áóäĺň çíŕňü î ňčďŕő ďđîńěŕňđčâŕĺěűő äŕííűő . Ďîýňîěó ěîćíî îáîéňčńü ńëîćíűě çŕďđîńîě, îáúĺäčí˙ţůčě ńđŕçó íĺńęîëüęî ňŕáëčö, íî çŕňî äŕţůčě ďîëíîńňüţ ăîňîâűé ę îňîáđŕćĺíčţ íŕáîđ äŕííűő.

++
++

3) tmsesqlquery :

++
    ++
  • Name := qryPersons
  • ++
  • Database := conn
  • ++
  • UpdateMode := upWhereKeyOnly ( ń ňŕáëčöŕěč âńĺăäŕ ëó÷řĺ đŕáîňŕňü ÷ĺđĺç ęëţ÷ĺâűĺ ďîë˙ )
  • ++
++
++

Íĺîá˙çŕňĺëüíî:

++
    ++
  • UsePrimaryKeyAsKey := false ( ďîňîěó ÷ňî ěű íĺ ńîçäŕâŕëč â ÁÄ ˙âíűő óíčęŕëüíűő ęëţ÷ĺé )
  • ++
++
++
    ++
  • SQL -> ůĺëęŕĺě ďî ňđîĺňî÷čţ, č îňęđîĺňń˙ đĺäŕęňîđ SQL _çŕďđîńîâ, â ęîňîđîě ďĺ÷ŕňŕĺě: ++
    ++

    select
    ++  a.descr,
    ++  a.sexual_potention,
    ++  a.photo,
    ++  b.descr as country,
    ++  c.descr as occupation,
    ++  d.descr as feature,
    ++  a.if_happy,
    ++  a.dateofbirth ++
    ++ from persons a left outer join
    ++  countries b on a.country_id=b.id left outer join
    ++  occupations c on a.occupation_id=c.id left outer join
    ++  features d on a.feature_id=d.id
    ++ order by a.id;

    ++
    ++
  • ++
++
++

Ďî÷ĺěó LEFT OUTER JOIN, ŕ íĺ ďđčâű÷íűé WHERE ? Ďîňîěó ÷ňî ďî íĺęîňîđűě ďĺđńîíŕě íĺň äŕííűő ďî ńňđŕíĺ îáčňŕíč˙ č ň.ď.  ýňîě ńëó÷ŕĺ, ďđč čńďîëüçîâŕíčč WHERE – ňŕęčĺ ďĺđńîíű âîîîáůĺ áű íĺ ďîďŕëč â âűáîđęó. Ňî ĺńňü - ěű čçáĺćŕëč íĺćĺëŕňĺëüíîî ôčëüňđóţůĺăî ýôôĺęňŕ WHERE .

++

Ůĺëęŕĺě íŕ « Test », ĺńëč íčăäĺ íĺ îřčáëčńü – ďîëó÷ŕĺě ďîäňâĺđćäĺíčĺ ( Test Ok ), č ěîćĺě çŕęđűâŕňüSQL-đĺäŕęňîđ (ůĺëęíóâ “ OK ” ) . Ńâîéńňâî «Active» äîëćíî ńŕěîóńňŕíîâčňüń˙ â «true».

++

Ďđčěĺ÷ŕíčĺ:

++
++

Ĺńëč ďî˙âë˙ĺňń˙ ńîîáůĺíčĺ « Operation can' t be performed on active dataset » - âđĺěĺííî óńňŕíîâčňĺ“Active := false“. Ďđč÷číŕ ýňîăî ńîîáůĺíč˙ – âű çŕęŕçŕëč îďĺđŕöčţ, ňđĺáóţůóţ îáíîâëĺíč˙ číôîđěŕöčč î ńőĺěĺ ÁÄ (ńňđóęňóđĺ ňŕáëčö, íŕëč÷čč číäĺęńîâ č ň.ď.)

++

 

++
++
++
++
++

4) tmsedatasource :

++
    ++
  • Name := dsPersons
  • ++
  • Dataset := qryPersons
  • ++
++
++

 

++

Ŕíŕëčçčđóĺě, ÷ňî ęîíęđĺňíî őîňčě (č ěîćĺě) îňîáđŕçčňü

++
    ++
  • d.descr as feature ( string )   -> ŕ âîň ńŕěî çíŕ÷ĺíčĺ – íŕ ďîęŕç !
  • ++
  • c.descr as occupation   (string) -> ńŕěî çíŕ÷ĺíčĺ – íŕ ďîęŕç !
  • ++
  • b.descr as country ( string )   -> ńŕěî çíŕ÷ĺíčĺ – íŕ ďîęŕç !
  • ++
  • a.descr ( string )     -> čě˙, ôŕěčëč˙ č ň.ď. – íŕ ďîęŕç !
  • ++
  • a.sexual_potention ( float )   -> ďđ˙ěîĺ çíŕ÷ĺíčĺ ( ďđîöĺíňű ) – íŕ ďîęŕç !
  • ++
  • a.photo ( blob )     -> íĺ ńńűëęŕ, íî ňŕę ďđîńňî ňŕę ęŕđňčíęó íĺ îňîáđŕçčřü - îńňŕâčě íŕ «ďîňîě»
  • ++
  • a.if_happy ( boolean )     -> ďđ˙ěîĺ çíŕ÷ĺíčĺ (äŕ/íĺň ) – íŕ ďîęŕç !
  • ++
  • a.dateofbirth ( date )     -> ďđ˙ěîĺ çíŕ÷ĺíčĺ ( äŕňŕ ) – íŕ ďîęŕç !
  • ++
++

Čňîăî, äë˙ ďîęŕçŕ íŕě íóćíű ďîë˙:

++
++

a.descr, d.descr=feature, c.descr=occupation, b.descr=country, a.sexual_potention, a.if_happy, a.dateofbirth

++
++

ŕ â ńóěěĺ:

++
++

4 string , 1 float, 1 boolean č 1 date, ŕ âńĺăî 4+1+1+1=7 ďîëĺé.

++
++

Îňîáđŕćŕĺě âűáđŕííűĺ äaííűĺ

++

Ëîăč÷íî ďđĺäďîëîćčňü, ÷ňî â ňŕáëčöĺ íŕě íóćíî ďîęŕçŕňü çíŕ÷ĺíč˙ čěĺííî âűřĺîďčńŕííűő 7-ěč ďîëĺé, ŕ ýňî çíŕ÷čň, ÷ňî ňŕáëčöŕ äîëćíŕ ńîäĺđćŕňü 7 ńňîëáöîâ.

++

Đŕç ňčď äŕííűő íŕń íĺ číňĺđĺńóĺň – ňî ěîćíî îňîáđŕçčňü čő óíčôčöčđîâŕííî, ęŕę îäčí ňčď – ńňđîęîâűé. Äë˙ ýňî čäĺŕëüíî ďîäőîäčň ňŕáëč÷íűé ęîěďîíĺíň “ tdbstringgrid ”.

++

Đîí˙ĺě íŕ ôîđěó “ tdbstringgrid ” č đŕńň˙ăčâŕĺě ĺăî ďî÷ňč â ďîëíóţ řčđčíó, îńňŕâë˙˙ ďî âűńîňĺ ńâĺđőó č ńíčçó ďđčěĺđíî ďî 1/7 âűńîňű ôîđěű.

++

Íŕçíŕ÷čě ńŕěűé ëĺâűé ńňîëáĺö äë˙ ŕâňîíóěĺđŕöčč ńňđîę ňŕáëčöŕ, íŕ÷číŕ˙ ń "1" :

++
++

grdPersons->fixcols->item (-1)

++
    ++
  • numstart:= 1 // íŕ÷číŕ˙ ń "1"
  • ++
  • numstep:= 1 // ń řŕăîě "1"
  • ++
++

đŕńřčđ˙ĺě ĺăî ĺůĺ ďîä îäčí-äâŕ ńčěâîëŕ ( ÷ňîáű âěĺńňčë íîěđŕ áîëüřĺ 99 ), č íŕçíŕ÷ŕĺě ĺěó çŕăîëîâîę - çíŕę "№" čëč, ĺńëč ňŕęîé ńčěâîë íĺ ďîääĺđćčâŕĺňń˙ řđčôňîě - áîëüřŕ˙ ŕíăëčéńęŕ˙ "N"

++

GrdPersons -> foxrows -> item (-1) -> captionsfix -> Append Item

++
    ++
  • item 0 ++
      ++
    • Caption:= #8470 // UNICODE-ęîä ńčěâîëŕ "çíŕę №"
    • ++
    ++
  • ++
++
++

Ňĺďĺđü ńěîňđčě, ęŕęčĺ ńňîëáöű čç đĺçóëüňŕňîâ çŕďđîńŕ íŕě íóćíű.

++

Ďđĺäâŕđčňĺëüíî óńňŕíŕâëčâŕĺě “qryPersons.active:= true”, ÷ňîáű âčäĺňü ďîńëĺäóţůčĺ íŕçíŕ÷ĺíč˙.

++
    ++
  • Name := grdPersons
  • ++
  • Datasource := dsPersons // ďî˙âë˙ţňń˙ çŕăîëîâęč ńňđîę
  • ++
  • Datacols.count->AddItem ++
      ++
    •   Item 0: ++
        ++
      •     Datafiled := descr
      • ++
      ++
    • ++
    •   Item 1: ++
        ++
      •     Datafiled := country
      • ++
      ++
    • ++
    •   Item 2: ++
        ++
      •     Datafiled := occupation
      • ++
      ++
    • ++
    •   Item 3: ++
        ++
      •     Datafiled := feature
      • ++
      ++
    • ++
    •   Item 4: ++
        ++
      •     Datafiled := sexual_potention
      • ++
      ++
    • ++
    •   Item 5: ++
        ++
      •     Datafiled := dateofbirth
      • ++
      ++
    • ++
    •   Item 6: ++
        ++
      •     Datafiled := if _ happy
      • ++
      ++
    • ++
    ++
  • ++
++

Ňĺďĺđü đŕńň˙ăčâŕĺě ńňîëáöű ňŕę, ÷ňîáű îíč çŕí˙ëč âńţ řčđčíó ňŕáëčöű, îńňâčâ íĺáîëüřîé çŕďŕń ńďđŕâŕ. Çŕ÷ĺě çŕďŕń ? ×ňîáű çŕęđűňü ĺăî ń ŕáńîëţňíîé ňî÷íîńňüţ – ŕâňîěŕňč÷ĺńęč.

++
    ++
      ++
    • Item 6: ++
        ++
      •   Options : ++
          ++
        •     Co _ fill := true
        • ++
        ++
      • ++
      ++
    • ++
    ++
++

Ňŕę ęŕę ěű íĺ ńîáčđŕĺěń˙ ńĺé÷ŕń íč÷ĺăî đĺäŕęňčđîâŕňü – óáĺđĺě äŕćĺ čëëţçčţ đĺäŕęňčđîâŕíč˙:

++
++

Datacols.count -> options: oo_readonly:= true

++
++

Íî îńňŕâčě âîçěîćíîńňü âűáčđŕňü ÷ŕńňč îňäĺëüíűĺ ńčěâîëű ń čńďîëüçîâŕíčĺě ěűřč:

++
++

Datacols.count - > optionsedit -> csoe_caretonreadonly:= true

++
++

Ďđčěĺ÷ŕíčĺ:

++
    ++
  •  Đŕáîňŕ ń ęëčďáîŕđäîě ( Ctrl+C, Ctrl+V č ň.ä. ) äîńňóďíŕ ďî óěîë÷ŕíčţ
  • ++
++

Ĺńëč íŕě íĺ íđŕâčňń˙, ÷ňî âĺđňčęŕëüíűé ńęđîëëčíă ńëčřęîě ăđóá – âęëţ÷čě ě˙ăęčé ńęđîëëčíă:

++
++

Datalink->options:

++
    ++
  •   Gdo_propscrollbar:= true
  • ++
  •   Gdo_thumbtrack:= true
  • ++
++
++

Íî ó÷ňčňĺ, ÷ňî íŕ áîëüřčő ňŕáëčöŕő ě˙ăęčé ńęđîëëčíă ěîćĺň áűňü î÷ĺíü ěĺäëĺííűě.

++

Ňĺďĺđü îńňŕëîńü îçŕăëŕâčňü ńňîëáöű.

++

GrdPersons -> foxrows -> item (-1) -> captions -> Append Item

++
    ++
  • Item 0: ++
      ++
    • Caption := Name
    • ++
    ++
  • ++
  • Item 1: ++
      ++
    • Caption := Country
    • ++
    ++
  • ++
  • Item 2: ++
      ++
    • Caption := Occupation
    • ++
    ++
  • ++
  • Item 3: ++
      ++
    • Caption := Feature
    • ++
    ++
  • ++
  • Item 4: ++
      ++
    • Caption := Sexual#r#npotention
    • ++
    ++
  • ++
  • Item 5 ++
      ++
    • Caption:= Date of#r#nbirth
    • ++
    ++
  • ++
  • Item 6: ++
      ++
    • Caption := Happy ?
    • ++
    ++
  • ++
++
++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • #r č #n - ęîäű "âîçâđŕň ęŕđĺňęč" č "ďĺđĺâîä ńňđîęč" ńîîňâĺňńňâĺííî, čńďîëüçóţňń˙ äë˙ ďđčíóäčňĺëüíîăî ďĺđĺíîńŕ ńëĺäóţůčő çŕ íčěč ńčěâîëîâ íŕ íîâóţ ńňđîęó ( ÷ňîáű ďîëó÷čňü ěíîăîńňđî÷íűé çŕăîëîâîę ) ;
    ++ ěű čńďîëüçóĺě îáŕ ýňčő ęîäŕ - äë˙ ďîäńňđŕőîâęč, íŕ ńëó÷ŕé çŕďóńęŕ â ńđĺäĺ DOS/Windows , îćčäŕţůĺé čěĺííî ďŕđű ęîäîâ
  • ++
++

Đŕńň˙íĺě çŕăîëîâîę ňŕáëčöű ďî âűńîňĺ ňŕę, ÷ňîáű 2-ńňđî÷íűĺ çŕăëŕâč˙ ďîëíîńňüţ â íĺĺ ďîěĺńňčëčńü, ń íĺáîëüřčě çŕďŕńîě.

++

Č, íŕęîíĺö, âűäĺëčě çŕăîëîâîę ňŕáëčöű - öâĺňîě č đĺëüĺôîě :

++
++

GrdPersons -> foxrows -> item (-1) -> frame :

++
    ++
  • colorclient:= cl_ltgreen // ńâĺňëî-çĺëĺíűé ôîí çŕăîëîâęŕ
  • ++
  • leveli:= -1 // âíóňđĺííţţ ęđîěęó îáđŕěëĺíč˙ - îďóńňčňü
  • ++
  • levelo:= 1 // ŕ âíĺříţţ - íŕîáîđîň ďîäí˙ňü
  • ++
++
++
++

×óňîę ęîńěĺňčęč

++

Ěű âčäčě, ÷ňî ńňîëáĺö “ Sex . potention “ îňîáđŕćŕĺň ÷čńëîâűĺ çíŕ÷ĺíč˙, ęîňîđűĺ ďđčí˙ňî âűđŕâíčâŕňü ďî ďđŕâîé ăđŕíčöĺ:

++
++

GrdPersons -> datacols -> item 4 -> textflags -> tf_right:= true

++
++

Č ńňîëáöű «Date of birth» č «Happy ?» ëó÷řĺ ńěîňđ˙ňń˙ âűđîâíĺííűěč ďî öĺíňđó :

++
++

GrdPersons -> datacols ->

++
    ++
  • item 5 -> textflags -> tf_xcentered:= true
  • ++
  • item 6 -> textflags -> tf_xcentered:= true
  • ++
++
++

Ňŕęćĺ ěű âčäčě, ÷ňî çíŕ÷ĺíč˙ âî âńĺő ńňîëáöŕő – ńëčřęîě áëčçęî ę ëčíč˙ě ńĺňęč. Ńäĺëŕĺě îňńňóďű îęîëî 5-ňč ýęđŕííűő ĺäčíčö âęŕćäîě ńňîëáöĺ :

++
++

GrdPersons -> Datacols ->

++
    ++
  • Item 0 .. item 3 -> frame -> [..] -> framei :    ++
      ++
    • left:= 5
    • ++
    ++
  • ++
  • item 4 -> frame -> [..] -> framei : ++
      ++
    • right := 5 // íĺ “ left ”, ňŕę ęŕę čěĺĺň ďđŕâîĺ âűđŕâíčâŕíčĺ
    • ++
    ++
  • ++
++
++

"item 5" č "item 6 " íĺ ňđîăŕĺě, ňŕę ęŕę îíč - öĺíňđčđîâŕíű č ďîňîěó íĺ čěĺţň îňńňóďîâ

++

Ŕ ÷ňî äĺëŕňü, ĺńëč íŕě íĺ íđŕâ˙ňń˙ âŕđčŕíňű ńňîëáöŕ « Happy ?», č ěű őîňčě , íŕďđčěĺđ – “ Yes / No ”, ŕ ĺńëč íĺň äŕííűő – ňî çíŕę âîďđîńŕ «?». Ĺńňü íĺńęîëüęî ńďîńîáîâ, íî äë˙ ňĺęóůĺăî ńîńňî˙íč˙ ďđîĺęňŕ ďđîůĺ âńĺăî ýňî ńäĺëŕňü íŕ óđîâíĺ SQL -çŕďđîńŕ - âěĺńňî « a . if _ happy » íŕďčńŕňü óńëîâíóţ ęîíńňđóöčţ «case when a.if_happy = ‘t' then ‘Yes' when a.if_happy = ‘f' then ‘No' else ‘?' end as if_happy». SQL- çŕďđîń ďđčíčěŕĺň ńëĺäóţůčé âčä :

++
++

select
++  a.descr,
++  a.sexual_potention,
++  a.photo,
++  b.descr as country,
++  c.descr as occupation,
++  d.descr as feature,
++  case
++   when a.if_happy = 't' then 'Yes'
++   when a.if_happy = 'f' then 'No'
++   else '?'
++  end as if_happy,
++  a.dateofbirth
++ from persons a left outer join
++  countries b on a.country_id=b.id left outer join
++  occupations c on a.occupation_id=c.id left outer join
++  features d on a.feature_id=d.id
++ order by a.id;

++
++

Ňŕęćĺ ďđč čçěĺíĺíčč đŕçěĺđŕ îęíŕ ďđîăđŕěěű íŕřŕ ňŕáëčöŕ îńňŕĺňń˙ íĺčçěĺííîé – ŕ ëó÷řĺ áű îíŕ đŕçäâčăŕëŕńü âńëĺä çŕ îęíîě, ńîőđŕí˙˙ íĺčçěĺííűěč âńĺ îňńňóďű:

++
++

grdPersons -> anchors:

++
    ++
  • an_top:= true
  • ++
  • an_left:= true
  • ++
  • an_right:= true
  • ++
  • an_bottom:= true
  • ++
++
++

Íî č ýňî íĺ âńĺ – ňĺďĺđü íŕřŕ ňŕáëčöŕ îňńëĺćčâŕĺň đŕçěĺđű îęíŕ ďđîăđŕěě, íî ňîëüęî çŕ ń÷ĺň đŕńřčđĺíč˙ ďîńëĺäíĺăî ńňîëáöŕ (ęîňîđűé ń îďöčĺé «fill»). Đĺřčňü ýňó ďđîîáëĺěó ďîěîăŕĺň îďöč˙ « propoprtional » ńňîëáöîâ ňŕáëčöű:

++
++

grdPersons -> datacols -> options : co _ proportional := true

++
++

Óńňŕíîâęŕ ýňîé îďöčč ńáđŕńűâŕĺň îďöčţ «fill» ęŕćäîăî čç ńňîëáöîâ ( đĺŕëüíî čńďîëüçóĺěóţ ďîńëĺäíčě ńňîëáöîě) , ďîýňîěó âîńńňŕíîâčě ĺĺ.

++
++

grdPersons -> datacols -> Item6 –> options: co_fill:= true

++
++

Ňĺďĺđü ěű őîňčě âčäĺňü íîěĺđŕ ńňđîę (č ńîîńňâĺňńâĺíî – ńęîëüęî âńĺăî ńňđîę ) , äë˙ ýňî čńďîëüçóĺ ôčęńčđîâŕííűé ńňîëáĺö ńëĺâŕ:

++
++

grdPersons -> fixcols -> Item -1 : numstart:= 1, numstep:= 1

++
++

Ďîëĺçíî ňŕęćĺ ďîäńâĺ÷čâŕňü íĺęîňîđűě öâĺňîě

++
++

grdPersons -> datacols -> colorselect : <âűáčđŕĺě ďîíđŕâčâřčéń˙ öâĺň >

++
++

ňĺęóůóţ âűáđŕíóţ ˙÷ĺéęó ňŕáëčöű

++
++

grdPersons -> datacols -> options : co_focusselect:= true

++
++

čëč äŕćĺ öĺëčęîě âűáđđŕííóţ ńňđîęó

++
++

grdPersons -> datacols -> options : co_focusselect:= true, co_rowselect:= true

++
++

Ĺńňü îäíŕ ďîňĺíöčŕëüíŕ˙ íĺęđŕńčâîńňü. Íĺęîňîđűĺ çíŕ÷ĺíč˙ “ sexual _ potention ” ěîăóň îňîáđŕćŕňüń˙ íĺęîđđĺęňíî – âěĺńňî îäíîé-äâóő öčôđ ďîńëĺ äĺń˙ňč÷íîé ňî÷ęč ýňčő öčôđ ěîćĺň áűňü ěíîăî. Ďđč÷číŕ – ęîíâĺđňčđîâŕíčĺ čç ÷čńëŕ ń ďëŕâŕţůĺé ňî÷ęîé â ňĺńňîâóţ ńňđîęó, âűďîëí˙ĺěîĺ ń ďđîěĺćóňî÷íűě ďđĺîáđŕçîâŕíčĺě ÷čńĺë - îäíŕ čç çŕńňŕđĺëűő îřčáîę “ Free Pascal ”. Äë˙ đĺřĺíč˙ ýňîé ďđîáëĺěű čńďîëüçóĺě ńđĺäńňâŕ äë˙ đŕáîňű ń ďîë˙ěč ÁÄ:

++

qryPersons -> AfterOpen -> personsafteropen -> âńňŕâë˙ĺě ęîä :

++
++

procedure tmainfo.personsafteropen(DataSet: TDataSet);
++ begin
++ (dataset.fieldbyname('sexual_potention') as tmsefloatfield).displayformat:= '##.##';
++ end;

++

Ňî ĺńňü – ďîńëĺ âűáîđęč äŕííűő ( č ôîđěčđîâŕíč˙ ďîëĺé ! ) äŕňü ęîěŕíäó, ęŕę îňîáđŕćŕňü ďîëĺ“sexual_potention" . “##.##“ îçíŕ÷ŕĺň - íĺ áîëĺĺ 2-÷ öčôđ «äî» č 2-ő öčôđ «ďîńëĺ» äĺń˙ňč÷íîăî đŕçäĺëčňĺë˙ ( â çŕâčńěîńňč îň ńčńňĺěíîé ëîęŕëč - íĺ îá˙çŕňĺëüíî "ňî÷ęč" ), č áóäĺň čńďîëüçîâŕíî ďđč ďđîđčńîâęĺ ńňîëáöîâ ňŕáëčöű.

++
++
++

ňŕęćĺ ďîňđĺáóĺňń˙ âęëţ÷čňü "db" â "interface"-ńĺęöčţ :

++

interface
++  uses
++  msegui,mseclasses,mseforms,msemenus,msesimplewidgets,msepqconnection,msesqldb,
++  msedb,msedbedit,mseactions,
++  db // îďčńŕíčĺ "TDataSet"
++ ;

++
++

Ĺäčíńňâĺííűé ěčíóń ýňîăî ńďîńîáŕ – ĺăî ýôôĺęň íĺ âčäĺí âî âđĺě˙ äčçŕéíŕ. Ĺńňü č äđóăîĺ đĺřĺíčĺ – čńďîëüçîâŕňü ďîńňî˙ííűĺ ( persistent ) ďîë˙, îí áóäĺň đŕńńěîňđĺí íčćĺ, â äŕííîě ćĺ ńëó÷ŕĺ – ˙âë˙ĺňń˙ čçëčříčě.

++

Čňŕę, â äčçŕéíĺ čěĺĺě ńëĺäóţůčé âčä:

++

++

ŕ çŕďóńňčâ ďđîăđŕěěó:

++

++

 

++

Ďđčěĺ÷ŕíč˙ :

++
    ++
  • çíŕ÷ĺíč˙ äŕň â ńňîëáöĺ "Date od birth" îňîáđŕćŕţňń˙ â ńîîňâĺňńňâčč ń ęîíńňŕíňîé "ShortDateFormat", ŕâňîěŕňč÷ĺńęč íŕńňđŕčâŕĺěîé íŕ ňĺęóůóţ ńčńňĺěíóţ ëîęŕëü ( íŕ đčńóíęĺ - 'dd.mm.yyyy' äë˙ ëîęŕëč 'ru_RU' ); ďîýňîěó čçěĺíĺíč˙ ôîđěŕňŕ äŕňű, ńäĺëŕííűĺ íŕ ńĺđâĺđĺ ÁÄ, íčęŕę íĺ îňđŕç˙ňń˙ íŕ âčäĺ ýňčő äŕň â ňŕáëčöŕő MSEgui-ďđčëîćĺíčé
  • ++
++

Ěĺëęčĺ řňđčőč :

++
    ++
  • ÷ňîáű óâčäĺňü î÷ĺíü äëčííűĺ čěĺíŕ ( ďîëĺ "descr" ) â ňŕáëčöĺ "grdPersons", íĺ ďîěĺůŕţůčĺń˙ â ńňîëáĺö "Name", ĺńňü âŕđčŕíňű : ++
    ++
      ++
    1. đŕçđĺřčňü ěĺí˙ňü řčđčíó ńňîëáöîâ : ++
        ++
      • grdPersons->optionsgrid->og_colsizing:= true
        ++
      • ++
      ++
    2. ++
    3. âî âđĺě˙ đŕáîňű - âűáđŕňü íóćíóţ ˙÷ĺéęó ňŕáëčöű, äŕëĺĺ ďĺđĺěĺůŕňüń˙ âíóňđč ýňîé ˙÷ĺéęč, ÷ňîáű óâčäĺňü çŕęđűňűĺ ÷ŕńňč čěĺíč
      ++
    4. ++
    5. ++
    ++ ďîęŕçűâŕňü čě˙ â âńďëűâŕţůĺé ďîäńęŕçęĺ ( hint ) , ęîăäŕ óęŕçŕňĺëü ěűřč çŕéäĺň â ˙÷ĺéęó :
  • ++
      ++
        ++
      • grdPersons->datacols->item 0-> onshowhint:= shownamehint
        ++
        ++ procedure tmainfo.shownamehint(
        ++   const sender: tdatacol;
        ++   const arow: Integer;
        ++   var info: hintinfoty);
        ++ begin
        ++  info.caption:= grdPersons[sender.colindex][arow];
        ++ end;

        ++
      • ++
      ++

      Ďđčěĺ÷ŕíč˙ :

      ++
        ++
      • ńîäĺđćčěîĺ ňŕáëč÷íîăî ęîěďîíĺíňŕ "t(db)stringgrid" ( â íŕřĺě ńëó÷ŕĺ - "grdPersons" ) äîńňóďíî čçâíĺ ęŕę -2-ěĺđíűé ěŕńńčâ ńňđîę ( grdPersons[column][row] ) , äë˙ ÷ňĺíč˙ č äë˙ çŕďčńč
      • ++
      • "var info: hintinfoty" - "call-back" ďŕđŕěĺňđ, ďđĺäâŕđčňĺëüíî ńîçäŕííűé, ń íŕ÷ŕëüíűěč çíŕ÷ĺíč˙ěč, ęîňîđűĺ ěîćíî čçěĺíčňü, ÷ňî ěű č ńäĺëŕëč ( čçěĺíčëč "caption" = ňĺęńň ńîîáůĺíč˙ )
        ++
      • ++
      ++
    ++
  • ÷ňîáű ďđč çŕďóńęĺ ďđîăđŕěěű áűëŕ ŕâňîěŕňč÷ĺńęč âűáđŕíŕ ďĺđâŕ˙ ńňđîęŕ ňŕáëčöű - äîńňŕňî÷íî óńňŕíîâčňü ńâîéńňâî ++ :
    ++
      ++
    • grdPersons->TabOrder:= 0
    • ++
    ++
    ++

    ýňî çíŕ÷ĺíčĺ ŕâňîěŕňč÷ĺńęč ńôîęóńčđóĺň ďđčëîćĺíčĺ íŕ "grdPersons"

    ++
    ++
  • ++
++ ++ +\ Pas de fin de ligne à la fin du fichier. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main.mfm mseide-msegui-1.8/docs/tutorials/db/sqlite3/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,253 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 159 ++ bounds_y = 243 ++ bounds_cx = 403 ++ bounds_cy = 285 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 403 ++ container.bounds_cy = 285 ++ container.frame.dummy = 0 ++ container.face.fade_direction = gd_up ++ container.face.localprops = [fal_fadirection] ++ container.face.template = tfacecomp1 ++ container.face.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ caption = 'MSEide+MSEgui' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object tdbnavigator1: tdbnavigator ++ optionswidget = [ow_destroywidgets, ow_autoscale, ow_autosize] ++ bounds_x = 173 ++ bounds_y = 8 ++ bounds_cx = 222 ++ frame.levelo = 1 ++ frame.dummy = 0 ++ face.fade_direction = gd_up ++ face.localprops = [fal_fadirection] ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ anchors = [an_top, an_right] ++ datasource = tmsedatasource1 ++ end ++ object tdbstringgrid1: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 39 ++ bounds_cx = 387 ++ bounds_cy = 237 ++ color = -2147483645 ++ frame.sbvert.buttonlength = 0 ++ frame.sbvert.facebutton.template = tfacecomp1 ++ frame.sbvert.facebutton.dummy = 0 ++ frame.sbvert.faceendbutton.template = tfacecomp1 ++ frame.sbvert.faceendbutton.dummy = 0 ++ frame.sbhorz.facebutton.fade_direction = gd_down ++ frame.sbhorz.facebutton.localprops = [fal_fadirection] ++ frame.sbhorz.facebutton.template = tfacecomp1 ++ frame.sbhorz.facebutton.dummy = 0 ++ frame.sbhorz.faceendbutton.fade_direction = gd_down ++ frame.sbhorz.faceendbutton.localprops = [fal_fadirection] ++ frame.sbhorz.faceendbutton.template = tfacecomp1 ++ frame.sbhorz.faceendbutton.dummy = 0 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ taborder = 1 ++ datasource = tmsedatasource1 ++ optionsgrid = [og_colsizing, og_rowinserting, og_rowdeleting, og_focuscellonenter, og_autofirstrow, og_autoappend, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ datacols.count = 3 ++ datacols.coloractive = -2147483648 ++ datacols.items = < ++ item ++ coloractive = -2147483648 ++ width = 70 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'pk' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ coloractive = -2147483648 ++ width = 70 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'int1' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ coloractive = -2147483648 ++ width = 140 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'text1' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack, gdo_checkbrowsemodeonexit] ++ fixcols.count = 1 ++ fixcols.coloractive = -2147483648 ++ fixcols.items = < ++ item ++ face.fade_direction = gd_up ++ face.localprops = [fal_fadirection] ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ coloractive = -2147483648 ++ width = 22 ++ numstart = 1 ++ numstep = 1 ++ font.colorshadow = 15269375 ++ font.name = 'stf_default' ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ colorindicator = 23152 ++ end> ++ fixrows.count = 1 ++ fixrows.coloractive = -2147483648 ++ fixrows.items = < ++ item ++ face.fade_direction = gd_up ++ face.localprops = [fal_fadirection] ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ coloractive = -2147483648 ++ height = 16 ++ captions.count = 3 ++ captions.items = < ++ item ++ caption = 'pk' ++ end ++ item ++ caption = 'int1' ++ end ++ item ++ caption = 'text1' ++ end> ++ font.colorshadow = 15269869 ++ font.name = 'stf_default' ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ end> ++ zebra_height = 1 ++ zebra_step = 2 ++ datarowheight = 16 ++ statfile = tstatfile1 ++ reffontheight = 14 ++ end ++ object tmsedatasource1: tmsedatasource ++ DataSet = tmsesqlquery1 ++ left = 32 ++ top = 232 ++ end ++ object tstatfile1: tstatfile ++ filename = 'status.sta' ++ left = 32 ++ top = 152 ++ end ++ object tfacecomp1: tfacecomp ++ template.image.transparency = -2147483648 ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 10796735 ++ 13754548 ++ ) ++ template.fade_transparency = -2147483648 ++ left = 128 ++ top = 152 ++ end ++ object tmsesqlquery1: tmsesqlquery ++ packetrecords = -1 ++ params = <> ++ SQL.Strings = ( ++ 'select * from table1;' ++ ) ++ IndexDefs = < ++ item ++ Name = '$PRIMARY_KEY$' ++ end> ++ database = tsqlite3connection1 ++ Transaction = tmsesqltransaction1 ++ FieldDefs = < ++ item ++ Name = 'pk' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'int1' ++ DataType = ftInteger ++ Precision = -1 ++ Size = 4 ++ end ++ item ++ Name = 'text1' ++ DataType = ftString ++ Precision = -1 ++ Size = 20 ++ end> ++ controller.activator = tactivator1 ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_longint ++ ft_longint ++ ft_string ++ ) ++ < ++ item ++ AlignMent = taRightJustify ++ DisplayLabel = 'pk' ++ DisplayWidth = 10 ++ FieldName = 'PK' ++ ProviderFlags = [pfInUpdate, pfInWhere, pfInKey] ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayLabel = 'int1' ++ DisplayWidth = 10 ++ FieldName = 'INT1' ++ Index = 1 ++ end ++ item ++ DisplayLabel = 'text1' ++ DisplayWidth = 20 ++ FieldName = 'TEXT1' ++ Index = 2 ++ Size = 0 ++ end> ++ ) ++ controller.options = [dso_utf8, dso_autoapply, dso_autocommitret] ++ left = 32 ++ top = 208 ++ end ++ object tsqlite3connection1: tsqlite3connection ++ Connected = True ++ DatabaseName = 'test.db' ++ Transaction = tmsesqltransaction1 ++ left = 32 ++ top = 184 ++ end ++ object tmsesqltransaction1: tmsesqltransaction ++ Active = True ++ Database = tsqlite3connection1 ++ left = 176 ++ top = 184 ++ end ++ object tactivator1: tactivator ++ clients = 1 ++ options = [avo_activateonloaded, avo_handleexceptions, avo_quietexceptions] ++ left = 16 ++ top = 8 ++ clientnames = ( ++ 'mainfo.tmsesqlquery1' ++ ) ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,274 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..5122] of byte end = ++ (size: 5123; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,159,0,8,98,111,117,110,100, ++ 115,95,121,3,243,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9, ++ 98,111,117,110,100,115,95,99,121,3,29,1,8,116,97,98,111,114,100,101, ++ 114,2,1,7,118,105,115,105,98,108,101,8,23,99,111,110,116,97,105,110, ++ 101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119, ++ 95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114, ++ 97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120, ++ 2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,120,3,147,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,121,3,29,1,21,99,111,110,116,97,105,110,101,114,46, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,29,99,111,110,116,97,105, ++ 110,101,114,46,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116, ++ 105,111,110,7,5,103,100,95,117,112,25,99,111,110,116,97,105,110,101,114, ++ 46,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,97, ++ 108,95,102,97,100,105,114,101,99,116,105,111,110,0,23,99,111,110,116,97, ++ 105,110,101,114,46,102,97,99,101,46,116,101,109,112,108,97,116,101,7,10, ++ 116,102,97,99,101,99,111,109,112,49,20,99,111,110,116,97,105,110,101,114, ++ 46,102,97,99,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110, ++ 115,119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112,108,101,97, ++ 100,101,114,0,7,111,112,116,105,111,110,115,11,7,102,111,95,109,97,105, ++ 110,19,102,111,95,116,101,114,109,105,110,97,116,101,111,110,99,108,111,115, ++ 101,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111, ++ 95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97, ++ 118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,8, ++ 115,116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49, ++ 7,99,97,112,116,105,111,110,6,13,77,83,69,105,100,101,43,77,83,69, ++ 103,117,105,17,105,99,111,110,46,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,15,109,111,100,117,108,101,99,108,97,115,115,110,97, ++ 109,101,6,8,116,109,115,101,102,111,114,109,0,12,116,100,98,110,97,118, ++ 105,103,97,116,111,114,13,116,100,98,110,97,118,105,103,97,116,111,114,49, ++ 13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,11,111,119,95,97,117,116,111,115,105,122,101,0,8, ++ 98,111,117,110,100,115,95,120,3,173,0,8,98,111,117,110,100,115,95,121, ++ 2,8,9,98,111,117,110,100,115,95,99,120,3,222,0,12,102,114,97,109, ++ 101,46,108,101,118,101,108,111,2,1,11,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,19,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99, ++ 116,105,111,110,7,5,103,100,95,117,112,15,102,97,99,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,15,102,97,108,95,102,97,100,105,114,101,99, ++ 116,105,111,110,0,13,102,97,99,101,46,116,101,109,112,108,97,116,101,7, ++ 10,116,102,97,99,101,99,111,109,112,49,10,102,97,99,101,46,100,117,109, ++ 109,121,2,0,7,97,110,99,104,111,114,115,11,6,97,110,95,116,111,112, ++ 8,97,110,95,114,105,103,104,116,0,10,100,97,116,97,115,111,117,114,99, ++ 101,7,15,116,109,115,101,100,97,116,97,115,111,117,114,99,101,49,0,0, ++ 13,116,100,98,115,116,114,105,110,103,103,114,105,100,14,116,100,98,115,116, ++ 114,105,110,103,103,114,105,100,49,13,111,112,116,105,111,110,115,119,105,100, ++ 103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111, ++ 119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102, ++ 111,99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101, ++ 115,99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95, ++ 100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111, ++ 110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116, ++ 111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98, ++ 111,117,110,100,115,95,121,2,39,9,98,111,117,110,100,115,95,99,120,3, ++ 131,1,9,98,111,117,110,100,115,95,99,121,3,237,0,5,99,111,108,111, ++ 114,4,3,0,0,128,25,102,114,97,109,101,46,115,98,118,101,114,116,46, ++ 98,117,116,116,111,110,108,101,110,103,116,104,2,0,32,102,114,97,109,101, ++ 46,115,98,118,101,114,116,46,102,97,99,101,98,117,116,116,111,110,46,116, ++ 101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112,49,29, ++ 102,114,97,109,101,46,115,98,118,101,114,116,46,102,97,99,101,98,117,116, ++ 116,111,110,46,100,117,109,109,121,2,0,35,102,114,97,109,101,46,115,98, ++ 118,101,114,116,46,102,97,99,101,101,110,100,98,117,116,116,111,110,46,116, ++ 101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112,49,32, ++ 102,114,97,109,101,46,115,98,118,101,114,116,46,102,97,99,101,101,110,100, ++ 98,117,116,116,111,110,46,100,117,109,109,121,2,0,38,102,114,97,109,101, ++ 46,115,98,104,111,114,122,46,102,97,99,101,98,117,116,116,111,110,46,102, ++ 97,100,101,95,100,105,114,101,99,116,105,111,110,7,7,103,100,95,100,111, ++ 119,110,34,102,114,97,109,101,46,115,98,104,111,114,122,46,102,97,99,101, ++ 98,117,116,116,111,110,46,108,111,99,97,108,112,114,111,112,115,11,15,102, ++ 97,108,95,102,97,100,105,114,101,99,116,105,111,110,0,32,102,114,97,109, ++ 101,46,115,98,104,111,114,122,46,102,97,99,101,98,117,116,116,111,110,46, ++ 116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112,49, ++ 29,102,114,97,109,101,46,115,98,104,111,114,122,46,102,97,99,101,98,117, ++ 116,116,111,110,46,100,117,109,109,121,2,0,41,102,114,97,109,101,46,115, ++ 98,104,111,114,122,46,102,97,99,101,101,110,100,98,117,116,116,111,110,46, ++ 102,97,100,101,95,100,105,114,101,99,116,105,111,110,7,7,103,100,95,100, ++ 111,119,110,37,102,114,97,109,101,46,115,98,104,111,114,122,46,102,97,99, ++ 101,101,110,100,98,117,116,116,111,110,46,108,111,99,97,108,112,114,111,112, ++ 115,11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,0,35, ++ 102,114,97,109,101,46,115,98,104,111,114,122,46,102,97,99,101,101,110,100, ++ 98,117,116,116,111,110,46,116,101,109,112,108,97,116,101,7,10,116,102,97, ++ 99,101,99,111,109,112,49,32,102,114,97,109,101,46,115,98,104,111,114,122, ++ 46,102,97,99,101,101,110,100,98,117,116,116,111,110,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11, ++ 10,102,114,108,95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111, ++ 112,11,102,114,108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105, ++ 98,111,116,116,111,109,0,11,102,114,97,109,101,46,100,117,109,109,121,2, ++ 0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97, ++ 110,95,116,111,112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111, ++ 116,116,111,109,0,8,116,97,98,111,114,100,101,114,2,1,10,100,97,116, ++ 97,115,111,117,114,99,101,7,15,116,109,115,101,100,97,116,97,115,111,117, ++ 114,99,101,49,11,111,112,116,105,111,110,115,103,114,105,100,11,12,111,103, ++ 95,99,111,108,115,105,122,105,110,103,15,111,103,95,114,111,119,105,110,115, ++ 101,114,116,105,110,103,14,111,103,95,114,111,119,100,101,108,101,116,105,110, ++ 103,19,111,103,95,102,111,99,117,115,99,101,108,108,111,110,101,110,116,101, ++ 114,15,111,103,95,97,117,116,111,102,105,114,115,116,114,111,119,13,111,103, ++ 95,97,117,116,111,97,112,112,101,110,100,20,111,103,95,99,111,108,99,104, ++ 97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95,97,117,116,111, ++ 112,111,112,117,112,17,111,103,95,109,111,117,115,101,115,99,114,111,108,108, ++ 99,111,108,0,14,100,97,116,97,99,111,108,115,46,99,111,117,110,116,2, ++ 3,20,100,97,116,97,99,111,108,115,46,99,111,108,111,114,97,99,116,105, ++ 118,101,4,0,0,0,128,14,100,97,116,97,99,111,108,115,46,105,116,101, ++ 109,115,14,1,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0, ++ 128,5,119,105,100,116,104,2,70,7,111,112,116,105,111,110,115,11,12,99, ++ 111,95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115, ++ 116,97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114, ++ 111,119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111, ++ 114,17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0, ++ 9,100,97,116,97,102,105,101,108,100,6,2,112,107,9,116,101,120,116,102, ++ 108,97,103,115,11,8,116,102,95,114,105,103,104,116,12,116,102,95,121,99, ++ 101,110,116,101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0, ++ 0,1,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5, ++ 119,105,100,116,104,2,70,7,111,112,116,105,111,110,115,11,12,99,111,95, ++ 115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97, ++ 116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119, ++ 99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,17, ++ 99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9,100, ++ 97,116,97,102,105,101,108,100,6,4,105,110,116,49,9,116,101,120,116,102, ++ 108,97,103,115,11,8,116,102,95,114,105,103,104,116,12,116,102,95,121,99, ++ 101,110,116,101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0, ++ 0,1,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5, ++ 119,105,100,116,104,3,140,0,7,111,112,116,105,111,110,115,11,12,99,111, ++ 95,115,97,118,101,118,97,108,117,101,12,99,111,95,115,97,118,101,115,116, ++ 97,116,101,10,99,111,95,114,111,119,102,111,110,116,11,99,111,95,114,111, ++ 119,99,111,108,111,114,13,99,111,95,122,101,98,114,97,99,111,108,111,114, ++ 17,99,111,95,109,111,117,115,101,115,99,114,111,108,108,114,111,119,0,9, ++ 100,97,116,97,102,105,101,108,100,6,5,116,101,120,116,49,0,0,16,100, ++ 97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17,103,100,111, ++ 95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100,111,95,116, ++ 104,117,109,98,116,114,97,99,107,25,103,100,111,95,99,104,101,99,107,98, ++ 114,111,119,115,101,109,111,100,101,111,110,101,120,105,116,0,13,102,105,120, ++ 99,111,108,115,46,99,111,117,110,116,2,1,19,102,105,120,99,111,108,115, ++ 46,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,13,102,105, ++ 120,99,111,108,115,46,105,116,101,109,115,14,1,19,102,97,99,101,46,102, ++ 97,100,101,95,100,105,114,101,99,116,105,111,110,7,5,103,100,95,117,112, ++ 15,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,97, ++ 108,95,102,97,100,105,114,101,99,116,105,111,110,0,13,102,97,99,101,46, ++ 116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112,49, ++ 10,102,97,99,101,46,100,117,109,109,121,2,0,11,99,111,108,111,114,97, ++ 99,116,105,118,101,4,0,0,0,128,5,119,105,100,116,104,2,22,8,110, ++ 117,109,115,116,97,114,116,2,1,7,110,117,109,115,116,101,112,2,1,16, ++ 102,111,110,116,46,99,111,108,111,114,115,104,97,100,111,119,4,255,253,232, ++ 0,9,102,111,110,116,46,110,97,109,101,6,11,115,116,102,95,100,101,102, ++ 97,117,108,116,11,102,111,110,116,46,120,115,99,97,108,101,5,0,0,0, ++ 0,0,0,0,128,255,63,10,102,111,110,116,46,100,117,109,109,121,2,0, ++ 14,99,111,108,111,114,105,110,100,105,99,97,116,111,114,3,112,90,0,0, ++ 13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,19,102,105,120, ++ 114,111,119,115,46,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0, ++ 128,13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,19,102,97, ++ 99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110,7,5,103, ++ 100,95,117,112,15,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,0,13,102, ++ 97,99,101,46,116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99, ++ 111,109,112,49,10,102,97,99,101,46,100,117,109,109,121,2,0,11,99,111, ++ 108,111,114,97,99,116,105,118,101,4,0,0,0,128,6,104,101,105,103,104, ++ 116,2,16,14,99,97,112,116,105,111,110,115,46,99,111,117,110,116,2,3, ++ 14,99,97,112,116,105,111,110,115,46,105,116,101,109,115,14,1,7,99,97, ++ 112,116,105,111,110,6,2,112,107,0,1,7,99,97,112,116,105,111,110,6, ++ 4,105,110,116,49,0,1,7,99,97,112,116,105,111,110,6,5,116,101,120, ++ 116,49,0,0,16,102,111,110,116,46,99,111,108,111,114,115,104,97,100,111, ++ 119,4,237,255,232,0,9,102,111,110,116,46,110,97,109,101,6,11,115,116, ++ 102,95,100,101,102,97,117,108,116,11,102,111,110,116,46,120,115,99,97,108, ++ 101,5,0,0,0,0,0,0,0,128,255,63,10,102,111,110,116,46,100,117, ++ 109,109,121,2,0,0,0,12,122,101,98,114,97,95,104,101,105,103,104,116, ++ 2,1,10,122,101,98,114,97,95,115,116,101,112,2,2,13,100,97,116,97, ++ 114,111,119,104,101,105,103,104,116,2,16,8,115,116,97,116,102,105,108,101, ++ 7,10,116,115,116,97,116,102,105,108,101,49,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,14,0,0,14,116,109,115,101,100,97,116,97,115, ++ 111,117,114,99,101,15,116,109,115,101,100,97,116,97,115,111,117,114,99,101, ++ 49,7,68,97,116,97,83,101,116,7,13,116,109,115,101,115,113,108,113,117, ++ 101,114,121,49,4,108,101,102,116,2,32,3,116,111,112,3,232,0,0,0, ++ 9,116,115,116,97,116,102,105,108,101,10,116,115,116,97,116,102,105,108,101, ++ 49,8,102,105,108,101,110,97,109,101,6,10,115,116,97,116,117,115,46,115, ++ 116,97,4,108,101,102,116,2,32,3,116,111,112,3,152,0,0,0,9,116, ++ 102,97,99,101,99,111,109,112,10,116,102,97,99,101,99,111,109,112,49,27, ++ 116,101,109,112,108,97,116,101,46,105,109,97,103,101,46,116,114,97,110,115, ++ 112,97,114,101,110,99,121,4,0,0,0,128,23,116,101,109,112,108,97,116, ++ 101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2,23,116, ++ 101,109,112,108,97,116,101,46,102,97,100,101,95,112,111,115,46,105,116,101, ++ 109,115,1,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0, ++ 0,0,128,255,63,0,25,116,101,109,112,108,97,116,101,46,102,97,100,101, ++ 95,99,111,108,111,114,46,99,111,117,110,116,2,2,25,116,101,109,112,108, ++ 97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109,115, ++ 1,4,191,190,164,0,4,180,224,209,0,0,26,116,101,109,112,108,97,116, ++ 101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4, ++ 0,0,0,128,4,108,101,102,116,3,128,0,3,116,111,112,3,152,0,0, ++ 0,12,116,109,115,101,115,113,108,113,117,101,114,121,13,116,109,115,101,115, ++ 113,108,113,117,101,114,121,49,13,112,97,99,107,101,116,114,101,99,111,114, ++ 100,115,2,255,6,112,97,114,97,109,115,14,0,11,83,81,76,46,83,116, ++ 114,105,110,103,115,1,6,21,115,101,108,101,99,116,32,42,32,102,114,111, ++ 109,32,116,97,98,108,101,49,59,0,9,73,110,100,101,120,68,101,102,115, ++ 14,1,4,78,97,109,101,6,13,36,80,82,73,77,65,82,89,95,75,69, ++ 89,36,0,0,8,100,97,116,97,98,97,115,101,7,19,116,115,113,108,105, ++ 116,101,51,99,111,110,110,101,99,116,105,111,110,49,11,84,114,97,110,115, ++ 97,99,116,105,111,110,7,19,116,109,115,101,115,113,108,116,114,97,110,115, ++ 97,99,116,105,111,110,49,9,70,105,101,108,100,68,101,102,115,14,1,4, ++ 78,97,109,101,6,2,112,107,8,68,97,116,97,84,121,112,101,7,9,102, ++ 116,73,110,116,101,103,101,114,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,4,0,1,4,78,97,109,101,6,4,105,110,116,49, ++ 8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114, ++ 9,80,114,101,99,105,115,105,111,110,2,255,4,83,105,122,101,2,4,0, ++ 1,4,78,97,109,101,6,5,116,101,120,116,49,8,68,97,116,97,84,121, ++ 112,101,7,8,102,116,83,116,114,105,110,103,9,80,114,101,99,105,115,105, ++ 111,110,2,255,4,83,105,122,101,2,20,0,0,20,99,111,110,116,114,111, ++ 108,108,101,114,46,97,99,116,105,118,97,116,111,114,7,11,116,97,99,116, ++ 105,118,97,116,111,114,49,23,99,111,110,116,114,111,108,108,101,114,46,102, ++ 105,101,108,100,115,46,99,111,117,110,116,2,3,24,99,111,110,116,114,111, ++ 108,108,101,114,46,102,105,101,108,100,115,46,102,105,101,108,100,115,1,1, ++ 7,10,102,116,95,108,111,110,103,105,110,116,7,10,102,116,95,108,111,110, ++ 103,105,110,116,7,9,102,116,95,115,116,114,105,110,103,0,14,1,9,65, ++ 108,105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115, ++ 116,105,102,121,12,68,105,115,112,108,97,121,76,97,98,101,108,6,2,112, ++ 107,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101, ++ 108,100,78,97,109,101,6,2,80,75,13,80,114,111,118,105,100,101,114,70, ++ 108,97,103,115,11,10,112,102,73,110,85,112,100,97,116,101,9,112,102,73, ++ 110,87,104,101,114,101,7,112,102,73,110,75,101,121,0,0,1,9,65,108, ++ 105,103,110,77,101,110,116,7,14,116,97,82,105,103,104,116,74,117,115,116, ++ 105,102,121,12,68,105,115,112,108,97,121,76,97,98,101,108,6,4,105,110, ++ 116,49,12,68,105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105, ++ 101,108,100,78,97,109,101,6,4,73,78,84,49,5,73,110,100,101,120,2, ++ 1,0,1,12,68,105,115,112,108,97,121,76,97,98,101,108,6,5,116,101, ++ 120,116,49,12,68,105,115,112,108,97,121,87,105,100,116,104,2,20,9,70, ++ 105,101,108,100,78,97,109,101,6,5,84,69,88,84,49,5,73,110,100,101, ++ 120,2,2,4,83,105,122,101,2,0,0,0,0,18,99,111,110,116,114,111, ++ 108,108,101,114,46,111,112,116,105,111,110,115,11,8,100,115,111,95,117,116, ++ 102,56,13,100,115,111,95,97,117,116,111,97,112,112,108,121,17,100,115,111, ++ 95,97,117,116,111,99,111,109,109,105,116,114,101,116,0,4,108,101,102,116, ++ 2,32,3,116,111,112,3,208,0,0,0,18,116,115,113,108,105,116,101,51, ++ 99,111,110,110,101,99,116,105,111,110,19,116,115,113,108,105,116,101,51,99, ++ 111,110,110,101,99,116,105,111,110,49,9,67,111,110,110,101,99,116,101,100, ++ 9,12,68,97,116,97,98,97,115,101,78,97,109,101,6,7,116,101,115,116, ++ 46,100,98,11,84,114,97,110,115,97,99,116,105,111,110,7,19,116,109,115, ++ 101,115,113,108,116,114,97,110,115,97,99,116,105,111,110,49,4,108,101,102, ++ 116,2,32,3,116,111,112,3,184,0,0,0,18,116,109,115,101,115,113,108, ++ 116,114,97,110,115,97,99,116,105,111,110,19,116,109,115,101,115,113,108,116, ++ 114,97,110,115,97,99,116,105,111,110,49,6,65,99,116,105,118,101,9,8, ++ 68,97,116,97,98,97,115,101,7,19,116,115,113,108,105,116,101,51,99,111, ++ 110,110,101,99,116,105,111,110,49,4,108,101,102,116,3,176,0,3,116,111, ++ 112,3,184,0,0,0,10,116,97,99,116,105,118,97,116,111,114,11,116,97, ++ 99,116,105,118,97,116,111,114,49,7,99,108,105,101,110,116,115,2,1,7, ++ 111,112,116,105,111,110,115,11,20,97,118,111,95,97,99,116,105,118,97,116, ++ 101,111,110,108,111,97,100,101,100,20,97,118,111,95,104,97,110,100,108,101, ++ 101,120,99,101,112,116,105,111,110,115,19,97,118,111,95,113,117,105,101,116, ++ 101,120,99,101,112,116,105,111,110,115,0,4,108,101,102,116,2,16,3,116, ++ 111,112,2,8,11,99,108,105,101,110,116,110,97,109,101,115,1,6,20,109, ++ 97,105,110,102,111,46,116,109,115,101,115,113,108,113,117,101,114,121,49,0, ++ 0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3/main.pas 2007-12-06 14:06:00.000000000 +0100 +*************** +*** 0 **** +--- 1,27 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseevent,mseforms,msegraphics,msemenus,msestat,db,msedb, ++ sysutils,msedataedits,msedbedit,mseedit,msegraphutils,msegrids, ++ msesimplewidgets,msestrings,msetypes,msewidgetgrid,msewidgets,msestatfile, ++ msedatabase,msebufdataset,msesqldb,msqldb,msesqlite3conn,mseact,mseapplication; ++ ++ type ++ tmainfo = class(tmseform) ++ tactivator1: tactivator; ++ tdbnavigator1: tdbnavigator; ++ tdbstringgrid1: tdbstringgrid; ++ tfacecomp1: tfacecomp; ++ tmsedatasource1: tmsedatasource; ++ tmsesqlquery1: tmsesqlquery; ++ tmsesqltransaction1: tmsesqltransaction; ++ tsqlite3connection1: tsqlite3connection; ++ tstatfile1: tstatfile; ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/sqlite3demo.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3/sqlite3demo.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/sqlite3demo.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3/sqlite3demo.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program sqlite3demo; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/sqlite3demo.prj mseide-msegui-1.8/docs/tutorials/db/sqlite3/sqlite3demo.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/sqlite3demo.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3/sqlite3demo.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,806 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3 ++ findinfiledialog=27 ++ [findinfileadialogfo] ++ stackedunder= ++ x=268 ++ y=415 ++ cx=331 ++ cy=249 ++ [findinfileadialogfo.findtext] ++ value= ++ history=0 ++ [findinfileadialogfo.casesensitive] ++ value=0 ++ [findinfileadialogfo.wholeword] ++ value=0 ++ [findinfileadialogfo.indirectories] ++ value=1 ++ [findinfileadialogfo.inopenfiles] ++ value=0 ++ [findinfileadialogfo.dir] ++ filenames=0 ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [findinfileadialogfo.mask] ++ value="*.pas" "*.pp" "*.inc" ++ history=0 ++ [findinfileadialogfo.subdirs] ++ value=0 ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ options=54 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=141 ++ width1=332 ++ width2=320 ++ texteditor=15 ++ [msetexteditorfo] ++ stackedunder= ++ x=74 ++ y=214 ++ cx=369 ++ cy=268 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msetexteditorfo.filedialog] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=140 ++ y=234 ++ cx=342 ++ cy=303 ++ dbfieldeditor=12 ++ [msedbfieldeditorfo] ++ stackedunder= ++ x=29 ++ y=248 ++ cx=601 ++ cy=216 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msedbfieldeditorfo.splitter] ++ x=331 ++ y=24 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/main.mfm ++ mainfile=sqlite3demo.pas ++ targetfile=sqlite3demo${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ${fpcflags} ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=7 ++ 63 ++ 63 ++ 61 ++ 62 ++ 63 ++ 61 ++ 62 ++ macronames=7 ++ zeosdir ++ msedir ++ fpcdir ++ fpcdir ++ compiler ++ fpcflags ++ fpcflags ++ macrovalues=7 ++ /home/mse/packs/standard/svn/zeos/trunk/ ++ /home/mse/packs/standard/svn/mse/trunk/ ++ /home/mse/packs/standard/svn/fp/fixes_2_0/ ++ /home/mse/packs/standard/svn/fp/fixes_2_2/ ++ ${fpcdir}compiler/ppc386 ++ -dsvnfixes ++ -dsvnfixes_2_2 -dmse_fpc_2_2 ++ macrogroup=1 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=5 ++ ${zeosdir}src/*/ ++ ${zeosdir}src/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=5 ++ ${zeosdir}src/*/ ++ ${zeosdir}src/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=5 ++ 983103 ++ 983103 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=1 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=6 ++ 1 ++ 1 ++ 1 ++ 1 ++ 1 ++ 1 ++ path=6 ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msqldb.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/component/ZAbstractDataset.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/component/ZAbstractDataset.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/component/ZAbstractDataset.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcCachedResultSet.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcGenericResolver.pas ++ line=6 ++ 2354 ++ 823 ++ 446 ++ 378 ++ 1565 ++ 758 ++ ignore=6 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ condition=6 ++ ++ ++ ++ ++ ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=325 ++ [mainfo] ++ stackedunder=formdesignerfo ++ x=644 ++ y=20 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/main.pas ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/main.pas ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/sqlite3demo.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcSqLiteMetadata.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcPostgreSqlMetadata.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcInterbase6Metadata.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcMySqlMetadata.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msezeos.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msedbedit.pas ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/zeos/sqlite_mse/main.pas ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcSqLiteResultSet.pas ++ filefilterindex=0 ++ filecolwidth=146 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=980 ++ cy=573 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=88 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=493 ++ cx=980 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=118 ++ cx=656 ++ cy=389 ++ wsize=0 ++ active=0 ++ visible=1 ++ [watchfo.grid] ++ width0=13 ++ values1=1 ++ str1 ++ width1=152 ++ values2=1 ++ ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=92 ++ width1=208 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=0 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=484 ++ y=170 ++ cx=525 ++ cy=542 ++ wsize=0 ++ active=0 ++ visible=1 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder= ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=140 ++ cx=990 ++ cy=573 ++ wsize=0 ++ active=1 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=quotestring ++ findhistory=6 ++ quotestring ++ updatela ++ tdbstring ++ propscrollbar ++ calcrange ++ tgriddatalink ++ findoptions=1 ++ editpos=1 ++ 0,0 ++ bookmarks0=0 ++ sourcefiles=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/main.pas ++ relpaths=1 ++ main.pas ++ ismoduletexts=1 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/sqlite3/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3/test.db et mseide-msegui-1.8/docs/tutorials/db/sqlite3/test.db sont différents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main.mfm mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main.mfm 2007-12-29 20:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,92 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 206 ++ bounds_y = 238 ++ bounds_cx = 261 ++ bounds_cy = 117 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 261 ++ container.bounds_cy = 117 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ moduleclassname = 'tmseform' ++ object navig: tdbnavigator ++ bounds_x = 8 ++ bounds_y = 32 ++ frame.dummy = 0 ++ datasource = dso ++ end ++ object ed: tdbstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 64 ++ bounds_cx = 244 ++ bounds_cy = 20 ++ frame.dummy = 0 ++ taborder = 1 ++ datafield = 'TEXT1' ++ datasource = dso ++ reffontheight = 14 ++ end ++ object tbutton1: tbutton ++ bounds_x = 8 ++ bounds_y = 88 ++ bounds_cx = 245 ++ bounds_cy = 20 ++ taborder = 2 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Insert a Record in Code' ++ onexecute = insertex ++ end ++ object conn: tsqlite3connection ++ Connected = True ++ DatabaseName = 'test.db' ++ Transaction = trans ++ left = 8 ++ top = 8 ++ end ++ object trans: tmsesqltransaction ++ Active = True ++ Database = conn ++ left = 72 ++ top = 8 ++ end ++ object query: tmsesqlquery ++ params = <> ++ SQL.data = ( ++ 'select * from table1;' ++ ) ++ IndexDefs = < ++ item ++ Name = '$PRIMARY_KEY$' ++ end> ++ StatementType = stSelect ++ database = conn ++ Active = True ++ Transaction = trans ++ FieldDefs = < ++ item ++ Name = 'ID' ++ DataType = ftInteger ++ Precision = -1 ++ end ++ item ++ Name = 'TEXT1' ++ DataType = ftString ++ Precision = -1 ++ Size = 50 ++ end> ++ controller.options = [dso_utf8, dso_autoapply, dso_autocommitret] ++ left = 136 ++ top = 8 ++ end ++ object dso: tmsedatasource ++ DataSet = query ++ left = 200 ++ top = 8 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main_mfm.pas 2007-12-29 20:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,97 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1597] of byte end = ++ (size: 1598; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,206,0,8,98,111,117,110,100, ++ 115,95,121,3,238,0,9,98,111,117,110,100,115,95,99,120,3,5,1,9, ++ 98,111,117,110,100,115,95,99,121,2,117,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,5,1,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,2,117,21,99, ++ 111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14,119,111, ++ 95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105,111,110, ++ 115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110, ++ 97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111,114,101, ++ 97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115, ++ 116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97, ++ 118,101,115,116,97,116,101,0,15,109,111,100,117,108,101,99,108,97,115,115, ++ 110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,12,116,100,98,110, ++ 97,118,105,103,97,116,111,114,5,110,97,118,105,103,8,98,111,117,110,100, ++ 115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,32,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,10,100,97,116,97,115,111,117,114,99, ++ 101,7,3,100,115,111,0,0,13,116,100,98,115,116,114,105,110,103,101,100, ++ 105,116,2,101,100,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11, ++ 13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97, ++ 98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111, ++ 119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120, ++ 2,8,8,98,111,117,110,100,115,95,121,2,64,9,98,111,117,110,100,115, ++ 95,99,120,3,244,0,9,98,111,117,110,100,115,95,99,121,2,20,11,102, ++ 114,97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101, ++ 114,2,1,9,100,97,116,97,102,105,101,108,100,6,5,84,69,88,84,49, ++ 10,100,97,116,97,115,111,117,114,99,101,7,3,100,115,111,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,14,0,0,7,116,98,117,116,116, ++ 111,110,8,116,98,117,116,116,111,110,49,8,98,111,117,110,100,115,95,120, ++ 2,8,8,98,111,117,110,100,115,95,121,2,88,9,98,111,117,110,100,115, ++ 95,99,120,3,245,0,9,98,111,117,110,100,115,95,99,121,2,20,8,116, ++ 97,98,111,114,100,101,114,2,2,5,115,116,97,116,101,11,15,97,115,95, ++ 108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97, ++ 108,111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105,111,110,6, ++ 23,73,110,115,101,114,116,32,97,32,82,101,99,111,114,100,32,105,110,32, ++ 67,111,100,101,9,111,110,101,120,101,99,117,116,101,7,8,105,110,115,101, ++ 114,116,101,120,0,0,18,116,115,113,108,105,116,101,51,99,111,110,110,101, ++ 99,116,105,111,110,4,99,111,110,110,9,67,111,110,110,101,99,116,101,100, ++ 9,12,68,97,116,97,98,97,115,101,78,97,109,101,6,7,116,101,115,116, ++ 46,100,98,11,84,114,97,110,115,97,99,116,105,111,110,7,5,116,114,97, ++ 110,115,4,108,101,102,116,2,8,3,116,111,112,2,8,0,0,18,116,109, ++ 115,101,115,113,108,116,114,97,110,115,97,99,116,105,111,110,5,116,114,97, ++ 110,115,6,65,99,116,105,118,101,9,8,68,97,116,97,98,97,115,101,7, ++ 4,99,111,110,110,4,108,101,102,116,2,72,3,116,111,112,2,8,0,0, ++ 12,116,109,115,101,115,113,108,113,117,101,114,121,5,113,117,101,114,121,6, ++ 112,97,114,97,109,115,14,0,8,83,81,76,46,100,97,116,97,1,6,21, ++ 115,101,108,101,99,116,32,42,32,102,114,111,109,32,116,97,98,108,101,49, ++ 59,0,9,73,110,100,101,120,68,101,102,115,14,1,4,78,97,109,101,6, ++ 13,36,80,82,73,77,65,82,89,95,75,69,89,36,0,0,13,83,116,97, ++ 116,101,109,101,110,116,84,121,112,101,7,8,115,116,83,101,108,101,99,116, ++ 8,100,97,116,97,98,97,115,101,7,4,99,111,110,110,6,65,99,116,105, ++ 118,101,9,11,84,114,97,110,115,97,99,116,105,111,110,7,5,116,114,97, ++ 110,115,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109,101,6, ++ 2,73,68,8,68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101, ++ 103,101,114,9,80,114,101,99,105,115,105,111,110,2,255,0,1,4,78,97, ++ 109,101,6,5,84,69,88,84,49,8,68,97,116,97,84,121,112,101,7,8, ++ 102,116,83,116,114,105,110,103,9,80,114,101,99,105,115,105,111,110,2,255, ++ 4,83,105,122,101,2,50,0,0,18,99,111,110,116,114,111,108,108,101,114, ++ 46,111,112,116,105,111,110,115,11,8,100,115,111,95,117,116,102,56,13,100, ++ 115,111,95,97,117,116,111,97,112,112,108,121,17,100,115,111,95,97,117,116, ++ 111,99,111,109,109,105,116,114,101,116,0,4,108,101,102,116,3,136,0,3, ++ 116,111,112,2,8,0,0,14,116,109,115,101,100,97,116,97,115,111,117,114, ++ 99,101,3,100,115,111,7,68,97,116,97,83,101,116,7,5,113,117,101,114, ++ 121,4,108,101,102,116,3,200,0,3,116,111,112,2,8,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/main.pas 2007-12-29 20:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,34 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msesqlite3conn,db,msebufdataset, ++ msesqldb,msqldb,sysutils,msedb,msedataedits,msedbedit,msedialog,mseedit, ++ msegrids,msestrings,msetypes,msesimplewidgets,msewidgets; ++ ++ type ++ tmainfo = class(tmseform) ++ conn: tsqlite3connection; ++ trans: tmsesqltransaction; ++ query: tmsesqlquery; ++ dso: tmsedatasource; ++ navig: tdbnavigator; ++ ed: tdbstringedit; ++ tbutton1: tbutton; ++ procedure insertex(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ ++ procedure tmainfo.insertex(const sender: TObject); ++ begin ++ query.insert; ++ query.fieldbyname('TEXT1').aswidestring:= 'my source string'; ++ query.post; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/sqlite3_mini.pas mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/sqlite3_mini.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/sqlite3_mini.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/sqlite3_mini.pas 2007-12-29 20:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program sqlite3_mini; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/sqlite3_mini.prj mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/sqlite3_mini.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/sqlite3_mini.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/sqlite3_mini.prj 2007-12-29 20:54:00.000000000 +0100 +*************** +*** 0 **** +--- 1,620 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini/sqlite3_mini.prj ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini/main.mfm ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=0 ++ usercolorcomment=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=322 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini/main.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msedbedit.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msethread.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/regcomponents/regkernel.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msegui.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msedbgraphics.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/regcomponents/regdb.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/dialogs/msefiledialog.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/regcomponents/regifi.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/regcomponents/regwidgets.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=113 ++ width1=187 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=1 ++ 0,0 ++ bookmarks0=0 ++ sourcefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini/main.pas ++ relpaths=1 ++ main.pas ++ ismoduletexts=1 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/db/sqlite3_mini/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=0 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/sqlite3_mini/test.db et mseide-msegui-1.8/docs/tutorials/db/sqlite3_mini/test.db sont différents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main.mfm mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main.mfm 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,187 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 159 ++ bounds_y = 243 ++ bounds_cx = 403 ++ bounds_cy = 280 ++ taborder = 1 ++ visible = False ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 403 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ container.face.fade_direction = gd_up ++ container.face.localprops = [fal_fadirection] ++ container.face.template = tfacecomp1 ++ container.face.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ caption = 'MSEide+MSEgui+Zeos' ++ icon.transparency = -2147483648 ++ moduleclassname = 'tmseform' ++ object tdbnavigator1: tdbnavigator ++ bounds_x = 154 ++ bounds_y = 8 ++ frame.levelo = 1 ++ frame.dummy = 0 ++ face.fade_direction = gd_up ++ face.localprops = [fal_fadirection] ++ face.template = tfacecomp1 ++ face.dummy = 0 ++ anchors = [an_top, an_right] ++ datasource = tmsedatasource1 ++ end ++ object tdbstringgrid1: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 40 ++ bounds_cx = 386 ++ bounds_cy = 234 ++ frame.sbvert.facebutton.template = tfacecomp1 ++ frame.sbvert.facebutton.dummy = 0 ++ frame.sbvert.faceendbutton.template = tfacecomp1 ++ frame.sbvert.faceendbutton.dummy = 0 ++ frame.sbhorz.facebutton.fade_direction = gd_down ++ frame.sbhorz.facebutton.localprops = [fal_fadirection] ++ frame.sbhorz.facebutton.template = tfacecomp1 ++ frame.sbhorz.facebutton.dummy = 0 ++ frame.sbhorz.faceendbutton.fade_direction = gd_down ++ frame.sbhorz.faceendbutton.localprops = [fal_fadirection] ++ frame.sbhorz.faceendbutton.template = tfacecomp1 ++ frame.sbhorz.faceendbutton.dummy = 0 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ taborder = 1 ++ datasource = tmsedatasource1 ++ optionsgrid = [og_colsizing, og_rowinserting, og_rowdeleting, og_focuscellonenter, og_autofirstrow, og_autoappend, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ datacols.count = 3 ++ datacols.coloractive = -2147483648 ++ datacols.items = < ++ item ++ coloractive = -2147483648 ++ width = 70 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'pk' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ coloractive = -2147483648 ++ width = 70 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'int1' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end ++ item ++ coloractive = -2147483648 ++ width = 140 ++ options = [co_savevalue, co_savestate, co_rowfont, co_rowcolor, co_zebracolor, co_mousescrollrow] ++ datafield = 'text1' ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack, gdo_checkbrowsemodeonexit] ++ fixcols.count = 1 ++ fixcols.coloractive = -2147483648 ++ fixcols.items = < ++ item ++ face.image.transparency = -2147483648 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ 10794687 ++ 13951156 ++ ) ++ face.fade_direction = gd_up ++ face.fade_transparency = -2147483648 ++ face.localprops = [fal_fadirection] ++ face.dummy = 0 ++ coloractive = -2147483648 ++ width = 15 ++ end> ++ fixrows.count = 1 ++ fixrows.coloractive = -2147483648 ++ fixrows.items = < ++ item ++ face.image.transparency = -2147483648 ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ 10794687 ++ 13951156 ++ ) ++ face.fade_direction = gd_up ++ face.fade_transparency = -2147483648 ++ face.localprops = [fal_fadirection] ++ face.dummy = 0 ++ coloractive = -2147483648 ++ height = 15 ++ captions.count = 3 ++ captions.items = < ++ item ++ caption = 'pk' ++ end ++ item ++ caption = 'int1' ++ end ++ item ++ caption = 'text1' ++ end> ++ end> ++ datarowheight = 15 ++ statfile = tstatfile1 ++ reffontheight = 13 ++ end ++ object TZConnection1: TZConnection ++ Protocol = 'sqlite-3' ++ Database = 'test.db' ++ Connected = True ++ left = 32 ++ top = 104 ++ end ++ object tmsezquery1: tmsezquery ++ Connection = TZConnection1 ++ Active = True ++ SQL.Strings = ( ++ 'select * from table1;' ++ ) ++ Params = <> ++ left = 152 ++ top = 104 ++ end ++ object tmsedatasource1: tmsedatasource ++ DataSet = tmsezquery1 ++ left = 256 ++ top = 104 ++ end ++ object tstatfile1: tstatfile ++ filename = 'status.sta' ++ left = 32 ++ top = 152 ++ end ++ object tfacecomp1: tfacecomp ++ template.image.transparency = -2147483648 ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 10794687 ++ 13951156 ++ ) ++ template.fade_transparency = -2147483648 ++ left = 128 ++ top = 152 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main_mfm.pas mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main_mfm.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,223 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..4103] of byte end = ++ (size: 4104; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,159,0,8,98,111,117,110,100, ++ 115,95,121,3,243,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,7,118,105,115,105,98,108,101,8,23,99,111,110,116,97,105,110, ++ 101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,11,111,119, ++ 95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117,115,101,116,114, ++ 97,110,115,112,97,114,101,110,116,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120, ++ 2,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95, ++ 121,2,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115, ++ 95,99,120,3,147,1,19,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,99,121,3,24,1,21,99,111,110,116,97,105,110,101,114,46, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,29,99,111,110,116,97,105, ++ 110,101,114,46,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116, ++ 105,111,110,7,5,103,100,95,117,112,25,99,111,110,116,97,105,110,101,114, ++ 46,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,97, ++ 108,95,102,97,100,105,114,101,99,116,105,111,110,0,23,99,111,110,116,97, ++ 105,110,101,114,46,102,97,99,101,46,116,101,109,112,108,97,116,101,7,10, ++ 116,102,97,99,101,99,111,109,112,49,20,99,111,110,116,97,105,110,101,114, ++ 46,102,97,99,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110, ++ 115,119,105,110,100,111,119,11,14,119,111,95,103,114,111,117,112,108,101,97, ++ 100,101,114,0,7,111,112,116,105,111,110,115,11,7,102,111,95,109,97,105, ++ 110,19,102,111,95,116,101,114,109,105,110,97,116,101,111,110,99,108,111,115, ++ 101,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102,111, ++ 95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115,97, ++ 118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0,8, ++ 115,116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49, ++ 7,99,97,112,116,105,111,110,6,18,77,83,69,105,100,101,43,77,83,69, ++ 103,117,105,43,90,101,111,115,17,105,99,111,110,46,116,114,97,110,115,112, ++ 97,114,101,110,99,121,4,0,0,0,128,15,109,111,100,117,108,101,99,108, ++ 97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,12,116, ++ 100,98,110,97,118,105,103,97,116,111,114,13,116,100,98,110,97,118,105,103, ++ 97,116,111,114,49,8,98,111,117,110,100,115,95,120,3,154,0,8,98,111, ++ 117,110,100,115,95,121,2,8,12,102,114,97,109,101,46,108,101,118,101,108, ++ 111,2,1,11,102,114,97,109,101,46,100,117,109,109,121,2,0,19,102,97, ++ 99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110,7,5,103, ++ 100,95,117,112,15,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,0,13,102, ++ 97,99,101,46,116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99, ++ 111,109,112,49,10,102,97,99,101,46,100,117,109,109,121,2,0,7,97,110, ++ 99,104,111,114,115,11,6,97,110,95,116,111,112,8,97,110,95,114,105,103, ++ 104,116,0,10,100,97,116,97,115,111,117,114,99,101,7,15,116,109,115,101, ++ 100,97,116,97,115,111,117,114,99,101,49,0,0,13,116,100,98,115,116,114, ++ 105,110,103,103,114,105,100,14,116,100,98,115,116,114,105,110,103,103,114,105, ++ 100,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119, ++ 95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109, ++ 111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121, ++ 2,40,9,98,111,117,110,100,115,95,99,120,3,130,1,9,98,111,117,110, ++ 100,115,95,99,121,3,234,0,32,102,114,97,109,101,46,115,98,118,101,114, ++ 116,46,102,97,99,101,98,117,116,116,111,110,46,116,101,109,112,108,97,116, ++ 101,7,10,116,102,97,99,101,99,111,109,112,49,29,102,114,97,109,101,46, ++ 115,98,118,101,114,116,46,102,97,99,101,98,117,116,116,111,110,46,100,117, ++ 109,109,121,2,0,35,102,114,97,109,101,46,115,98,118,101,114,116,46,102, ++ 97,99,101,101,110,100,98,117,116,116,111,110,46,116,101,109,112,108,97,116, ++ 101,7,10,116,102,97,99,101,99,111,109,112,49,32,102,114,97,109,101,46, ++ 115,98,118,101,114,116,46,102,97,99,101,101,110,100,98,117,116,116,111,110, ++ 46,100,117,109,109,121,2,0,38,102,114,97,109,101,46,115,98,104,111,114, ++ 122,46,102,97,99,101,98,117,116,116,111,110,46,102,97,100,101,95,100,105, ++ 114,101,99,116,105,111,110,7,7,103,100,95,100,111,119,110,34,102,114,97, ++ 109,101,46,115,98,104,111,114,122,46,102,97,99,101,98,117,116,116,111,110, ++ 46,108,111,99,97,108,112,114,111,112,115,11,15,102,97,108,95,102,97,100, ++ 105,114,101,99,116,105,111,110,0,32,102,114,97,109,101,46,115,98,104,111, ++ 114,122,46,102,97,99,101,98,117,116,116,111,110,46,116,101,109,112,108,97, ++ 116,101,7,10,116,102,97,99,101,99,111,109,112,49,29,102,114,97,109,101, ++ 46,115,98,104,111,114,122,46,102,97,99,101,98,117,116,116,111,110,46,100, ++ 117,109,109,121,2,0,41,102,114,97,109,101,46,115,98,104,111,114,122,46, ++ 102,97,99,101,101,110,100,98,117,116,116,111,110,46,102,97,100,101,95,100, ++ 105,114,101,99,116,105,111,110,7,7,103,100,95,100,111,119,110,37,102,114, ++ 97,109,101,46,115,98,104,111,114,122,46,102,97,99,101,101,110,100,98,117, ++ 116,116,111,110,46,108,111,99,97,108,112,114,111,112,115,11,15,102,97,108, ++ 95,102,97,100,105,114,101,99,116,105,111,110,0,35,102,114,97,109,101,46, ++ 115,98,104,111,114,122,46,102,97,99,101,101,110,100,98,117,116,116,111,110, ++ 46,116,101,109,112,108,97,116,101,7,10,116,102,97,99,101,99,111,109,112, ++ 49,32,102,114,97,109,101,46,115,98,104,111,114,122,46,102,97,99,101,101, ++ 110,100,98,117,116,116,111,110,46,100,117,109,109,121,2,0,16,102,114,97, ++ 109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102, ++ 105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95, ++ 102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109, ++ 0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104, ++ 111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8, ++ 97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109,0,8, ++ 116,97,98,111,114,100,101,114,2,1,10,100,97,116,97,115,111,117,114,99, ++ 101,7,15,116,109,115,101,100,97,116,97,115,111,117,114,99,101,49,11,111, ++ 112,116,105,111,110,115,103,114,105,100,11,12,111,103,95,99,111,108,115,105, ++ 122,105,110,103,15,111,103,95,114,111,119,105,110,115,101,114,116,105,110,103, ++ 14,111,103,95,114,111,119,100,101,108,101,116,105,110,103,19,111,103,95,102, ++ 111,99,117,115,99,101,108,108,111,110,101,110,116,101,114,15,111,103,95,97, ++ 117,116,111,102,105,114,115,116,114,111,119,13,111,103,95,97,117,116,111,97, ++ 112,112,101,110,100,20,111,103,95,99,111,108,99,104,97,110,103,101,111,110, ++ 116,97,98,107,101,121,12,111,103,95,97,117,116,111,112,111,112,117,112,17, ++ 111,103,95,109,111,117,115,101,115,99,114,111,108,108,99,111,108,0,14,100, ++ 97,116,97,99,111,108,115,46,99,111,117,110,116,2,3,20,100,97,116,97, ++ 99,111,108,115,46,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0, ++ 128,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,11,99, ++ 111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5,119,105,100,116, ++ 104,2,70,7,111,112,116,105,111,110,115,11,12,99,111,95,115,97,118,101, ++ 118,97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99, ++ 111,95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111, ++ 114,13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109, ++ 111,117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102, ++ 105,101,108,100,6,2,112,107,9,116,101,120,116,102,108,97,103,115,11,8, ++ 116,102,95,114,105,103,104,116,12,116,102,95,121,99,101,110,116,101,114,101, ++ 100,11,116,102,95,110,111,115,101,108,101,99,116,0,0,1,11,99,111,108, ++ 111,114,97,99,116,105,118,101,4,0,0,0,128,5,119,105,100,116,104,2, ++ 70,7,111,112,116,105,111,110,115,11,12,99,111,95,115,97,118,101,118,97, ++ 108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111,95, ++ 114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114,13, ++ 99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111,117, ++ 115,101,115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102,105,101, ++ 108,100,6,4,105,110,116,49,9,116,101,120,116,102,108,97,103,115,11,8, ++ 116,102,95,114,105,103,104,116,12,116,102,95,121,99,101,110,116,101,114,101, ++ 100,11,116,102,95,110,111,115,101,108,101,99,116,0,0,1,11,99,111,108, ++ 111,114,97,99,116,105,118,101,4,0,0,0,128,5,119,105,100,116,104,3, ++ 140,0,7,111,112,116,105,111,110,115,11,12,99,111,95,115,97,118,101,118, ++ 97,108,117,101,12,99,111,95,115,97,118,101,115,116,97,116,101,10,99,111, ++ 95,114,111,119,102,111,110,116,11,99,111,95,114,111,119,99,111,108,111,114, ++ 13,99,111,95,122,101,98,114,97,99,111,108,111,114,17,99,111,95,109,111, ++ 117,115,101,115,99,114,111,108,108,114,111,119,0,9,100,97,116,97,102,105, ++ 101,108,100,6,5,116,101,120,116,49,0,0,16,100,97,116,97,108,105,110, ++ 107,46,111,112,116,105,111,110,115,11,17,103,100,111,95,112,114,111,112,115, ++ 99,114,111,108,108,98,97,114,14,103,100,111,95,116,104,117,109,98,116,114, ++ 97,99,107,25,103,100,111,95,99,104,101,99,107,98,114,111,119,115,101,109, ++ 111,100,101,111,110,101,120,105,116,0,13,102,105,120,99,111,108,115,46,99, ++ 111,117,110,116,2,1,19,102,105,120,99,111,108,115,46,99,111,108,111,114, ++ 97,99,116,105,118,101,4,0,0,0,128,13,102,105,120,99,111,108,115,46, ++ 105,116,101,109,115,14,1,23,102,97,99,101,46,105,109,97,103,101,46,116, ++ 114,97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,19,102,97,99, ++ 101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2,19,102, ++ 97,99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,5, ++ 0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,128,255, ++ 63,0,21,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,99, ++ 111,117,110,116,2,2,21,102,97,99,101,46,102,97,100,101,95,99,111,108, ++ 111,114,46,105,116,101,109,115,1,4,191,182,164,0,4,180,224,212,0,0, ++ 19,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110, ++ 7,5,103,100,95,117,112,22,102,97,99,101,46,102,97,100,101,95,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,102,97,99,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,15,102,97,108,95,102,97,100, ++ 105,114,101,99,116,105,111,110,0,10,102,97,99,101,46,100,117,109,109,121, ++ 2,0,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,5, ++ 119,105,100,116,104,2,15,0,0,13,102,105,120,114,111,119,115,46,99,111, ++ 117,110,116,2,1,19,102,105,120,114,111,119,115,46,99,111,108,111,114,97, ++ 99,116,105,118,101,4,0,0,0,128,13,102,105,120,114,111,119,115,46,105, ++ 116,101,109,115,14,1,23,102,97,99,101,46,105,109,97,103,101,46,116,114, ++ 97,110,115,112,97,114,101,110,99,121,4,0,0,0,128,19,102,97,99,101, ++ 46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2,19,102,97, ++ 99,101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,5,0, ++ 0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,128,255,63, ++ 0,21,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111, ++ 117,110,116,2,2,21,102,97,99,101,46,102,97,100,101,95,99,111,108,111, ++ 114,46,105,116,101,109,115,1,4,191,182,164,0,4,180,224,212,0,0,19, ++ 102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110,7, ++ 5,103,100,95,117,112,22,102,97,99,101,46,102,97,100,101,95,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,15,102,97,99,101,46, ++ 108,111,99,97,108,112,114,111,112,115,11,15,102,97,108,95,102,97,100,105, ++ 114,101,99,116,105,111,110,0,10,102,97,99,101,46,100,117,109,109,121,2, ++ 0,11,99,111,108,111,114,97,99,116,105,118,101,4,0,0,0,128,6,104, ++ 101,105,103,104,116,2,15,14,99,97,112,116,105,111,110,115,46,99,111,117, ++ 110,116,2,3,14,99,97,112,116,105,111,110,115,46,105,116,101,109,115,14, ++ 1,7,99,97,112,116,105,111,110,6,2,112,107,0,1,7,99,97,112,116, ++ 105,111,110,6,4,105,110,116,49,0,1,7,99,97,112,116,105,111,110,6, ++ 5,116,101,120,116,49,0,0,0,0,13,100,97,116,97,114,111,119,104,101, ++ 105,103,104,116,2,15,8,115,116,97,116,102,105,108,101,7,10,116,115,116, ++ 97,116,102,105,108,101,49,13,114,101,102,102,111,110,116,104,101,105,103,104, ++ 116,2,13,0,0,12,84,90,67,111,110,110,101,99,116,105,111,110,13,84, ++ 90,67,111,110,110,101,99,116,105,111,110,49,8,80,114,111,116,111,99,111, ++ 108,6,8,115,113,108,105,116,101,45,51,8,68,97,116,97,98,97,115,101, ++ 6,7,116,101,115,116,46,100,98,9,67,111,110,110,101,99,116,101,100,9, ++ 4,108,101,102,116,2,32,3,116,111,112,2,104,0,0,10,116,109,115,101, ++ 122,113,117,101,114,121,11,116,109,115,101,122,113,117,101,114,121,49,10,67, ++ 111,110,110,101,99,116,105,111,110,7,13,84,90,67,111,110,110,101,99,116, ++ 105,111,110,49,6,65,99,116,105,118,101,9,11,83,81,76,46,83,116,114, ++ 105,110,103,115,1,6,21,115,101,108,101,99,116,32,42,32,102,114,111,109, ++ 32,116,97,98,108,101,49,59,0,6,80,97,114,97,109,115,14,0,4,108, ++ 101,102,116,3,152,0,3,116,111,112,2,104,0,0,14,116,109,115,101,100, ++ 97,116,97,115,111,117,114,99,101,15,116,109,115,101,100,97,116,97,115,111, ++ 117,114,99,101,49,7,68,97,116,97,83,101,116,7,11,116,109,115,101,122, ++ 113,117,101,114,121,49,4,108,101,102,116,3,0,1,3,116,111,112,2,104, ++ 0,0,9,116,115,116,97,116,102,105,108,101,10,116,115,116,97,116,102,105, ++ 108,101,49,8,102,105,108,101,110,97,109,101,6,10,115,116,97,116,117,115, ++ 46,115,116,97,4,108,101,102,116,2,32,3,116,111,112,3,152,0,0,0, ++ 9,116,102,97,99,101,99,111,109,112,10,116,102,97,99,101,99,111,109,112, ++ 49,27,116,101,109,112,108,97,116,101,46,105,109,97,103,101,46,116,114,97, ++ 110,115,112,97,114,101,110,99,121,4,0,0,0,128,23,116,101,109,112,108, ++ 97,116,101,46,102,97,100,101,95,112,111,115,46,99,111,117,110,116,2,2, ++ 23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111,115,46,105, ++ 116,101,109,115,1,5,0,0,0,0,0,0,0,0,0,0,5,0,0,0, ++ 0,0,0,0,128,255,63,0,25,116,101,109,112,108,97,116,101,46,102,97, ++ 100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,25,116,101,109, ++ 112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101, ++ 109,115,1,4,191,182,164,0,4,180,224,212,0,0,26,116,101,109,112,108, ++ 97,116,101,46,102,97,100,101,95,116,114,97,110,115,112,97,114,101,110,99, ++ 121,4,0,0,0,128,4,108,101,102,116,3,128,0,3,116,111,112,3,152, ++ 0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main.pas mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/main.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,25 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseevent,mseforms,msegraphics,msemenus,msestat,ZConnection, ++ db,msedb,msezeos,sysutils,msedataedits,msedbedit,mseedit,msegraphutils, ++ msegrids,msesimplewidgets,msestrings,msetypes,msewidgetgrid,msewidgets, ++ msestatfile; ++ ++ type ++ tmainfo = class(tmseform) ++ tdbnavigator1: tdbnavigator; ++ tdbstringgrid1: tdbstringgrid; ++ tfacecomp1: tfacecomp; ++ tmsedatasource1: tmsedatasource; ++ tmsezquery1: tmsezquery; ++ tstatfile1: tstatfile; ++ TZConnection1: TZConnection; ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/sqlitezeos.pas mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/sqlitezeos.pas +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/sqlitezeos.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/sqlitezeos.pas 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program sqlitezeos; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/sqlitezeos.prj mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/sqlitezeos.prj +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/sqlitezeos.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/sqlitezeos.prj 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,704 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ [projectoptions] ++ projectdir=/C:/proj/mseide-msegui/trunk/help/tutorials/db/zeos/sqlite ++ options=54 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=3 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=141 ++ width1=332 ++ width2=320 ++ texteditor=15 ++ [msetexteditorfo] ++ stackedunder= ++ x=74 ++ y=214 ++ cx=369 ++ cy=268 ++ wsize=0 ++ active=1 ++ visible=1 ++ [msetexteditorfo.filedialog] ++ filenames=0 ++ lastdir= ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=140 ++ y=234 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /C:/proj/mseide-msegui/trunk/help/tutorials/db/zeos/sqlite/main.mfm ++ mainfile=sqlitezeos.pas ++ targetfile=sqlitezeos${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mdelphi -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=1 ++ 63 ++ macronames=1 ++ zeosdir ++ macrovalues=1 ++ /home/mse/packs/standard/svn/zeos/trunk/ ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=5 ++ ${zeosdir}src/*/ ++ ${zeosdir}src/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=5 ++ ${zeosdir}src/*/ ++ ${zeosdir}src/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=5 ++ 983103 ++ 983103 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=322 ++ [mainfo] ++ stackedunder= ++ x=644 ++ y=20 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/mse/packs/standard/svn/zeos/trunk/src/Zeos.inc ++ /home/mse/packs/standard/svn/zeos/trunk/src/dbc/ZDbcInterbase6Utils.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/regcomponents/regzeoslib.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/mseforms.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msesqlite3conn.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/sqlite3dyn.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/mibconnection.pas ++ /home/mse/packs/standard/svn/mse/trunk/apps/ide/formdesigner.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msememds.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/db/msesqldb.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=88 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=118 ++ cx=656 ++ cy=389 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=97 ++ width1=203 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=2 ++ 0,-1073741823 ++ 12,7 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /home/mse/packs/standard/svn/mse/trunk/help/tutorials/db/zeos/sqlite/sqlitezeos.pas ++ /C:/proj/mseide-msegui/trunk/help/tutorials/db/zeos/sqlite/main.pas ++ relpaths=2 ++ sqlitezeos.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=1 ++ /C:/proj/mseide-msegui/trunk/help/tutorials/db/zeos/sqlite/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/status.sta mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/status.sta +*** mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/status.sta 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/status.sta 2007-11-15 22:57:00.000000000 +0100 +*************** +*** 0 **** +--- 1,13 ---- ++ [mainfo] ++ stackedunder= ++ x=278 ++ y=166 ++ cx=430 ++ cy=280 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.tdbstringgrid1] ++ width0=70 ++ width1=70 ++ width2=191 +Les fichiers binaires mseide-msegui-1.8.orig/docs/tutorials/db/zeos/sqlite/test.db et mseide-msegui-1.8/docs/tutorials/db/zeos/sqlite/test.db sont différents. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main.mfm mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main.mfm 2007-12-31 14:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,87 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 291 ++ bounds_y = 247 ++ bounds_cx = 403 ++ bounds_cy = 280 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 403 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ caption = 'MSEide+MSEgui' ++ onloaded = onlo ++ moduleclassname = 'tmseform' ++ object tstringgrid1: tstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 14 ++ bounds_cx = 200 ++ bounds_cy = 260 ++ frame.caption = 'tstringgrid' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right, an_bottom] ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 17 ++ end> ++ datarowheight = 17 ++ reffontheight = 15 ++ end ++ object tsplitter1: tsplitter ++ bounds_x = 208 ++ bounds_y = 32 ++ bounds_cx = 3 ++ bounds_cy = 242 ++ anchors = [an_left, an_top, an_bottom] ++ taborder = 1 ++ options = [spo_hmove, spo_hprop, spo_dockleft, spo_docktop, spo_dockright, spo_dockbottom] ++ linkleft = tstringgrid1 ++ linkright = tdrawgrid1 ++ statfile = tstatfile1 ++ end ++ object tdrawgrid1: tdrawgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 211 ++ bounds_y = 14 ++ bounds_cx = 183 ++ bounds_cy = 260 ++ frame.caption = 'tdrawgrid' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right, an_bottom] ++ taborder = 2 ++ datacols.count = 1 ++ datacols.items = < ++ item ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 17 ++ end> ++ reffontheight = 15 ++ end ++ object tstatfile1: tstatfile ++ filename = 'status.sta' ++ left = 72 ++ top = 80 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main_mfm.pas mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main_mfm.pas 2007-12-31 14:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,106 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1766] of byte end = ++ (size: 1767; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,35,1,8,98,111,117,110,100, ++ 115,95,121,3,247,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,147,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,24,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,7,99,97,112,116,105,111,110,6, ++ 13,77,83,69,105,100,101,43,77,83,69,103,117,105,8,111,110,108,111,97, ++ 100,101,100,7,4,111,110,108,111,15,109,111,100,117,108,101,99,108,97,115, ++ 115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,11,116,115,116, ++ 114,105,110,103,103,114,105,100,12,116,115,116,114,105,110,103,103,114,105,100, ++ 49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95, ++ 109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99, ++ 117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95, ++ 102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119,95,109,111, ++ 117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104, ++ 101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8, ++ 98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2, ++ 14,9,98,111,117,110,100,115,95,99,120,3,200,0,9,98,111,117,110,100, ++ 115,95,99,121,3,4,1,13,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,6,11,116,115,116,114,105,110,103,103,114,105,100,11,102,114,97,109,101, ++ 46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114, ++ 102,114,97,109,101,1,2,0,2,18,2,0,2,0,0,7,97,110,99,104, ++ 111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111,112,8, ++ 97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109,0,13, ++ 102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105,120,114, ++ 111,119,115,46,105,116,101,109,115,14,1,6,104,101,105,103,104,116,2,17, ++ 0,0,13,100,97,116,97,114,111,119,104,101,105,103,104,116,2,17,13,114, ++ 101,102,102,111,110,116,104,101,105,103,104,116,2,15,0,0,9,116,115,112, ++ 108,105,116,116,101,114,10,116,115,112,108,105,116,116,101,114,49,8,98,111, ++ 117,110,100,115,95,120,3,208,0,8,98,111,117,110,100,115,95,121,2,32, ++ 9,98,111,117,110,100,115,95,99,120,2,3,9,98,111,117,110,100,115,95, ++ 99,121,3,242,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101, ++ 102,116,6,97,110,95,116,111,112,9,97,110,95,98,111,116,116,111,109,0, ++ 8,116,97,98,111,114,100,101,114,2,1,7,111,112,116,105,111,110,115,11, ++ 9,115,112,111,95,104,109,111,118,101,9,115,112,111,95,104,112,114,111,112, ++ 12,115,112,111,95,100,111,99,107,108,101,102,116,11,115,112,111,95,100,111, ++ 99,107,116,111,112,13,115,112,111,95,100,111,99,107,114,105,103,104,116,14, ++ 115,112,111,95,100,111,99,107,98,111,116,116,111,109,0,8,108,105,110,107, ++ 108,101,102,116,7,12,116,115,116,114,105,110,103,103,114,105,100,49,9,108, ++ 105,110,107,114,105,103,104,116,7,10,116,100,114,97,119,103,114,105,100,49, ++ 8,115,116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101, ++ 49,0,0,9,116,100,114,97,119,103,114,105,100,10,116,100,114,97,119,103, ++ 114,105,100,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13, ++ 111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98, ++ 102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17, ++ 111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115,99,13,111,119, ++ 95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,211,0,8,98,111,117,110,100, ++ 115,95,121,2,14,9,98,111,117,110,100,115,95,99,120,3,183,0,9,98, ++ 111,117,110,100,115,95,99,121,3,4,1,13,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,6,9,116,100,114,97,119,103,114,105,100,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116, ++ 101,114,102,114,97,109,101,1,2,0,2,18,2,0,2,0,0,7,97,110, ++ 99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111, ++ 112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109, ++ 0,8,116,97,98,111,114,100,101,114,2,2,14,100,97,116,97,99,111,108, ++ 115,46,99,111,117,110,116,2,1,14,100,97,116,97,99,111,108,115,46,105, ++ 116,101,109,115,14,1,0,0,13,102,105,120,114,111,119,115,46,99,111,117, ++ 110,116,2,1,13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1, ++ 6,104,101,105,103,104,116,2,17,0,0,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,15,0,0,9,116,115,116,97,116,102,105,108,101,10, ++ 116,115,116,97,116,102,105,108,101,49,8,102,105,108,101,110,97,109,101,6, ++ 10,115,116,97,116,117,115,46,115,116,97,4,108,101,102,116,2,72,3,116, ++ 111,112,2,80,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main.pas mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/main.pas 2007-12-31 14:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,87 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msegrids,msestatfile,msestrings, ++ msesplitter; ++ ++ type ++ tmainfo = class(tmseform) ++ tstringgrid1: tstringgrid; ++ tstatfile1: tstatfile; ++ tsplitter1: tsplitter; ++ tdrawgrid1: tdrawgrid; ++ procedure onlo(const sender: TObject); ++ private ++ procedure dodrawcell(const sender: tcol; const canvas: tcanvas; ++ const cellinfo: cellinfoty); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ uses ++ sysutils,mseeditglob,msedrawtext,main_mfm; ++ ++ procedure tmainfo.dodrawcell(const sender: tcol; const canvas: tcanvas; ++ const cellinfo: cellinfoty); ++ begin ++ with cellinfo,cell do begin ++ drawtext(canvas,'test '+inttostr(col)+','+inttostr(row), ++ innerrect,[tf_ycentered]); ++ end; ++ end; ++ ++ procedure tmainfo.onlo(const sender: TObject); ++ var ++ int1,int2: integer; ++ mstr1: msestring; ++ begin ++ with tstringgrid1 do begin ++ fixcols.width:= 24; //default colwidth ++ fixcols.count:= 1; ++ with fixcols[-1] do begin ++ numstart:= 1; ++ numstep:= 1; ++ end; ++ fixrows.count:= 1; //not needed, default is 1 ++ with fixrows[-1] do begin ++ captions.count:= 2; ++ captions[0].caption:= 'aa'; ++ captions[1].caption:= 'bb'; ++ end; ++ datacols.count:= 2; ++ datarowheight:= 16; ++ rowcount:= 12; ++ for int1:= 0 to 1 do begin ++ mstr1:= 'test ' + inttostr(int1)+','; ++ for int2:= 0 to rowhigh do begin ++ items[makegridcoord(int1,int2)]:= mstr1 + inttostr(int2); ++ end; ++ end; ++ end; ++ ++ with tdrawgrid1 do begin ++ fixcols.width:= 24; //default colwidth ++ fixcols.count:= 1; ++ with fixcols[-1] do begin ++ numstart:= 1; ++ numstep:= 1; ++ end; ++ fixrows.count:= 1; //not needed, default is 1 ++ with fixrows[-1] do begin ++ captions.count:= 2; ++ captions[0].caption:= 'aa'; ++ captions[1].caption:= 'bb'; ++ end; ++ datacols.count:= 2; ++ datacols[0].ondrawcell:= {$ifdef FPC}@{$endif}dodrawcell; ++ datacols[1].ondrawcell:= {$ifdef FPC}@{$endif}dodrawcell; ++ datarowheight:= 16; ++ rowcount:= 12; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/runtimestringgrid.pas mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/runtimestringgrid.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/runtimestringgrid.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/runtimestringgrid.pas 2007-12-31 14:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program runtimestringgrid; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/runtimestringgrid.prj mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/runtimestringgrid.prj +*** mseide-msegui-1.8.orig/docs/tutorials/grids/runtimegrid/runtimestringgrid.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/runtimegrid/runtimestringgrid.prj 2007-12-31 14:28:00.000000000 +0100 +*************** +*** 0 **** +--- 1,610 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/proj/msegui/testcase/mse/runtimestringgrid ++ projectfilename=/home/mse/proj/msegui/testcase/mse/runtimestringgrid/runtimestringgrid.prj ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=0 ++ moduletypes=0 ++ modulefiles=0 ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=0 ++ usercolorcomment=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=322 ++ [mainfo] ++ stackedunder=mainfo.panel1 ++ x=4 ++ y=26 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/widgets/msegrids.pas ++ /home/mse/packs/standard/svn/mse/trunk/apps/ide/projectoptionsform.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/editwidgets/msedropdownlist.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/dialogs/msecolordialog.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/mseact.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msemenus.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msekeyboard.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/mseclasses.pas ++ /home/mse/packs/standard/svn/mse/trunk/apps/ide/main.pas ++ /home/mse/packs/standard/svn/mse/trunk/lib/common/kernel/msegui.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=36 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder= ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=26 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=1 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=0 ++ [objectinspectorfo.grid] ++ width0=113 ++ width1=187 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=0 ++ sourcefiles=0 ++ relpaths=0 ++ ismoduletexts=0 ++ modules=0 ++ visiblemodules=0 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=-1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main.mfm mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main.mfm 2007-12-10 11:37:00.000000000 +0100 +*************** +*** 0 **** +--- 1,222 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 291 ++ bounds_y = 242 ++ bounds_cx = 403 ++ bounds_cy = 280 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 403 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ caption = 'Simple StringGrid Example' ++ moduleclassname = 'tmseform' ++ object tgroupbox2: tgroupbox ++ bounds_x = 128 ++ bounds_y = 2 ++ bounds_cx = 266 ++ bounds_cy = 112 ++ bounds_cxmin = 266 ++ frame.caption = 'Grid Text' ++ frame.captiondist = -10 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 6 ++ 0 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right] ++ taborder = 1 ++ object coled: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 22 ++ bounds_cx = 50 ++ bounds_cy = 20 ++ frame.caption = 'Col' ++ frame.captionpos = cp_right ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 22 ++ 0 ++ ) ++ statfile = tstatfile1 ++ reffontheight = 14 ++ end ++ object rowed: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 72 ++ bounds_y = 22 ++ bounds_cx = 56 ++ bounds_cy = 20 ++ frame.caption = 'Row' ++ frame.captionpos = cp_right ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 28 ++ 0 ++ ) ++ taborder = 1 ++ statfile = tstatfile1 ++ reffontheight = 14 ++ end ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 51 ++ bounds_cx = 210 ++ bounds_cy = 20 ++ frame.caption = 'Set Text' ++ frame.captionpos = cp_right ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 46 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right] ++ taborder = 2 ++ statfile = tstatfile1 ++ onsetvalue = settext ++ reffontheight = 14 ++ end ++ object tbutton4: tbutton ++ bounds_x = 184 ++ bounds_y = 78 ++ bounds_cx = 66 ++ bounds_cy = 22 ++ anchors = [an_top, an_right] ++ taborder = 3 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Get Text' ++ onexecute = button4_click ++ end ++ object textdi: tstringdisp ++ bounds_x = 8 ++ bounds_y = 80 ++ bounds_cx = 164 ++ bounds_cy = 18 ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right] ++ taborder = 4 ++ reffontheight = 14 ++ end ++ end ++ object tgroupbox3: tgroupbox ++ bounds_x = 8 ++ bounds_y = 2 ++ bounds_cx = 106 ++ bounds_cy = 112 ++ frame.caption = 'Grid Layout' ++ frame.captiondist = -10 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 6 ++ 0 ++ 0 ++ ) ++ taborder = 2 ++ object colsed: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 30 ++ bounds_cx = 57 ++ bounds_cy = 20 ++ frame.caption = 'Cols' ++ frame.captionpos = cp_right ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 29 ++ 0 ++ ) ++ statfile = tstatfile1 ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopopupmenu, oe_keyexecute, oe_checkvaluepaststatread, oe_savevalue, oe_savestate] ++ onchange = layoutcha ++ onsetvalue = colssetval ++ value = 1 ++ reffontheight = 14 ++ end ++ object rowsed: tintegeredit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 16 ++ bounds_y = 70 ++ bounds_cx = 63 ++ bounds_cy = 20 ++ frame.caption = 'Rows' ++ frame.captionpos = cp_right ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 0 ++ 35 ++ 0 ++ ) ++ taborder = 1 ++ statfile = tstatfile1 ++ optionsedit = [oe_undoonesc, oe_closequery, oe_checkmrcancel, oe_exitoncursor, oe_shiftreturn, oe_eatreturn, oe_resetselectonexit, oe_endonenter, oe_autoselect, oe_autoselectonfirstclick, oe_autopopupmenu, oe_keyexecute, oe_checkvaluepaststatread, oe_savevalue, oe_savestate] ++ onchange = layoutcha ++ onsetvalue = rowssetval ++ value = 1 ++ reffontheight = 14 ++ end ++ end ++ object grid: tstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 120 ++ bounds_cx = 386 ++ bounds_cy = 146 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ anchors = [an_left, an_top, an_right, an_bottom] ++ datacols.count = 1 ++ datacols.items = < ++ item ++ datalist.data = ( ++ 0 ++ ) ++ end> ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 30 ++ numstep = 1 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 16 ++ numstep = 1 ++ end> ++ rowcount = 1 ++ datarowheight = 16 ++ statfile = tstatfile1 ++ reffontheight = 14 ++ end ++ object tstatfile1: tstatfile ++ filename = 'status.sta' ++ left = 128 ++ top = 168 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main_mfm.pas mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main_mfm.pas 2007-12-10 11:37:00.000000000 +0100 +*************** +*** 0 **** +--- 1,248 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..4605] of byte end = ++ (size: 4606; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,35,1,8,98,111,117,110,100, ++ 115,95,121,3,242,0,9,98,111,117,110,100,115,95,99,120,3,147,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,147,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,24,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,7,99,97,112,116,105,111,110,6, ++ 25,83,105,109,112,108,101,32,83,116,114,105,110,103,71,114,105,100,32,69, ++ 120,97,109,112,108,101,15,109,111,100,117,108,101,99,108,97,115,115,110,97, ++ 109,101,6,8,116,109,115,101,102,111,114,109,0,9,116,103,114,111,117,112, ++ 98,111,120,10,116,103,114,111,117,112,98,111,120,50,8,98,111,117,110,100, ++ 115,95,120,3,128,0,8,98,111,117,110,100,115,95,121,2,2,9,98,111, ++ 117,110,100,115,95,99,120,3,10,1,9,98,111,117,110,100,115,95,99,121, ++ 2,112,12,98,111,117,110,100,115,95,99,120,109,105,110,3,10,1,13,102, ++ 114,97,109,101,46,99,97,112,116,105,111,110,6,9,71,114,105,100,32,84, ++ 101,120,116,17,102,114,97,109,101,46,99,97,112,116,105,111,110,100,105,115, ++ 116,2,246,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,10,102,114,108,95,102,105,108,101,102,116,9,102,114,108,95,102,105,116, ++ 111,112,11,102,114,108,95,102,105,114,105,103,104,116,12,102,114,108,95,102, ++ 105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,6,2,0,2,0,0,7,97,110,99,104,111,114,115,11,7,97, ++ 110,95,108,101,102,116,6,97,110,95,116,111,112,8,97,110,95,114,105,103, ++ 104,116,0,8,116,97,98,111,114,100,101,114,2,1,0,12,116,105,110,116, ++ 101,103,101,114,101,100,105,116,5,99,111,108,101,100,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104, ++ 104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0, ++ 8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121, ++ 2,22,9,98,111,117,110,100,115,95,99,120,2,50,9,98,111,117,110,100, ++ 115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 6,3,67,111,108,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112, ++ 111,115,7,8,99,112,95,114,105,103,104,116,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102, ++ 116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105, ++ 103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,0,2,22,2,0,0,8,115, ++ 116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49,13, ++ 114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0,12,116,105, ++ 110,116,101,103,101,114,101,100,105,116,5,114,111,119,101,100,13,111,112,116, ++ 105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101, ++ 102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119, ++ 95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114, ++ 111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121, ++ 112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,2,72,8,98,111,117,110,100,115, ++ 95,121,2,22,9,98,111,117,110,100,115,95,99,120,2,56,9,98,111,117, ++ 110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,3,82,111,119,16,102,114,97,109,101,46,99,97,112,116,105,111, ++ 110,112,111,115,7,8,99,112,95,114,105,103,104,116,16,102,114,97,109,101, ++ 46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108, ++ 101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105, ++ 114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46, ++ 111,117,116,101,114,102,114,97,109,101,1,2,0,2,0,2,28,2,0,0, ++ 8,116,97,98,111,114,100,101,114,2,1,8,115,116,97,116,102,105,108,101, ++ 7,10,116,115,116,97,116,102,105,108,101,49,13,114,101,102,102,111,110,116, ++ 104,101,105,103,104,116,2,14,0,0,11,116,115,116,114,105,110,103,101,100, ++ 105,116,12,116,115,116,114,105,110,103,101,100,105,116,49,13,111,112,116,105, ++ 111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102, ++ 111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95, ++ 97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111, ++ 121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112, ++ 104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115,95, ++ 121,2,51,9,98,111,117,110,100,115,95,99,120,3,210,0,9,98,111,117, ++ 110,100,115,95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,8,83,101,116,32,84,101,120,116,16,102,114,97,109,101,46,99, ++ 97,112,116,105,111,110,112,111,115,7,8,99,112,95,114,105,103,104,116,16, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114, ++ 108,95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102, ++ 114,108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116, ++ 116,111,109,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102, ++ 114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,0, ++ 2,46,2,0,0,7,97,110,99,104,111,114,115,11,7,97,110,95,108,101, ++ 102,116,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,0,8, ++ 116,97,98,111,114,100,101,114,2,2,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,10,111,110,115,101,116,118,97,108, ++ 117,101,7,7,115,101,116,116,101,120,116,13,114,101,102,102,111,110,116,104, ++ 101,105,103,104,116,2,14,0,0,7,116,98,117,116,116,111,110,8,116,98, ++ 117,116,116,111,110,52,8,98,111,117,110,100,115,95,120,3,184,0,8,98, ++ 111,117,110,100,115,95,121,2,78,9,98,111,117,110,100,115,95,99,120,2, ++ 66,9,98,111,117,110,100,115,95,99,121,2,22,7,97,110,99,104,111,114, ++ 115,11,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104,116,0,8, ++ 116,97,98,111,114,100,101,114,2,3,5,115,116,97,116,101,11,15,97,115, ++ 95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99, ++ 97,108,111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105,111,110, ++ 6,8,71,101,116,32,84,101,120,116,9,111,110,101,120,101,99,117,116,101, ++ 7,13,98,117,116,116,111,110,52,95,99,108,105,99,107,0,0,11,116,115, ++ 116,114,105,110,103,100,105,115,112,6,116,101,120,116,100,105,8,98,111,117, ++ 110,100,115,95,120,2,8,8,98,111,117,110,100,115,95,121,2,80,9,98, ++ 111,117,110,100,115,95,99,120,3,164,0,9,98,111,117,110,100,115,95,99, ++ 121,2,18,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110, ++ 99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111, ++ 112,8,97,110,95,114,105,103,104,116,0,8,116,97,98,111,114,100,101,114, ++ 2,4,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,14,0,0, ++ 0,9,116,103,114,111,117,112,98,111,120,10,116,103,114,111,117,112,98,111, ++ 120,51,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110,100,115, ++ 95,121,2,2,9,98,111,117,110,100,115,95,99,120,2,106,9,98,111,117, ++ 110,100,115,95,99,121,2,112,13,102,114,97,109,101,46,99,97,112,116,105, ++ 111,110,6,11,71,114,105,100,32,76,97,121,111,117,116,17,102,114,97,109, ++ 101,46,99,97,112,116,105,111,110,100,105,115,116,2,246,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105, ++ 108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102, ++ 105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,6,2,0,2,0, ++ 0,8,116,97,98,111,114,100,101,114,2,2,0,12,116,105,110,116,101,103, ++ 101,114,101,100,105,116,6,99,111,108,115,101,100,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,18,111,119,95,102,111,110,116,103,108,121,112,104,104, ++ 101,105,103,104,116,12,111,119,95,97,117,116,111,115,99,97,108,101,0,8, ++ 98,111,117,110,100,115,95,120,2,16,8,98,111,117,110,100,115,95,121,2, ++ 30,9,98,111,117,110,100,115,95,99,120,2,57,9,98,111,117,110,100,115, ++ 95,99,121,2,20,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6, ++ 4,67,111,108,115,16,102,114,97,109,101,46,99,97,112,116,105,111,110,112, ++ 111,115,7,8,99,112,95,114,105,103,104,116,16,102,114,97,109,101,46,108, ++ 111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105,108,101,102, ++ 116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105, ++ 103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,0,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,0,2,29,2,0,0,8,115, ++ 116,97,116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49,11, ++ 111,112,116,105,111,110,115,101,100,105,116,11,12,111,101,95,117,110,100,111, ++ 111,110,101,115,99,13,111,101,95,99,108,111,115,101,113,117,101,114,121,16, ++ 111,101,95,99,104,101,99,107,109,114,99,97,110,99,101,108,15,111,101,95, ++ 101,120,105,116,111,110,99,117,114,115,111,114,14,111,101,95,115,104,105,102, ++ 116,114,101,116,117,114,110,12,111,101,95,101,97,116,114,101,116,117,114,110, ++ 20,111,101,95,114,101,115,101,116,115,101,108,101,99,116,111,110,101,120,105, ++ 116,13,111,101,95,101,110,100,111,110,101,110,116,101,114,13,111,101,95,97, ++ 117,116,111,115,101,108,101,99,116,25,111,101,95,97,117,116,111,115,101,108, ++ 101,99,116,111,110,102,105,114,115,116,99,108,105,99,107,16,111,101,95,97, ++ 117,116,111,112,111,112,117,112,109,101,110,117,13,111,101,95,107,101,121,101, ++ 120,101,99,117,116,101,25,111,101,95,99,104,101,99,107,118,97,108,117,101, ++ 112,97,115,116,115,116,97,116,114,101,97,100,12,111,101,95,115,97,118,101, ++ 118,97,108,117,101,12,111,101,95,115,97,118,101,115,116,97,116,101,0,8, ++ 111,110,99,104,97,110,103,101,7,9,108,97,121,111,117,116,99,104,97,10, ++ 111,110,115,101,116,118,97,108,117,101,7,10,99,111,108,115,115,101,116,118, ++ 97,108,5,118,97,108,117,101,2,1,13,114,101,102,102,111,110,116,104,101, ++ 105,103,104,116,2,14,0,0,12,116,105,110,116,101,103,101,114,101,100,105, ++ 116,6,114,111,119,115,101,100,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116, ++ 115,18,111,119,95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116, ++ 12,111,119,95,97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100, ++ 115,95,120,2,16,8,98,111,117,110,100,115,95,121,2,70,9,98,111,117, ++ 110,100,115,95,99,120,2,63,9,98,111,117,110,100,115,95,99,121,2,20, ++ 13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,4,82,111,119,115, ++ 16,102,114,97,109,101,46,99,97,112,116,105,111,110,112,111,115,7,8,99, ++ 112,95,114,105,103,104,116,16,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,9,102,114,108, ++ 95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104,116,12,102, ++ 114,108,95,102,105,98,111,116,116,111,109,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114, ++ 97,109,101,1,2,0,2,0,2,35,2,0,0,8,116,97,98,111,114,100, ++ 101,114,2,1,8,115,116,97,116,102,105,108,101,7,10,116,115,116,97,116, ++ 102,105,108,101,49,11,111,112,116,105,111,110,115,101,100,105,116,11,12,111, ++ 101,95,117,110,100,111,111,110,101,115,99,13,111,101,95,99,108,111,115,101, ++ 113,117,101,114,121,16,111,101,95,99,104,101,99,107,109,114,99,97,110,99, ++ 101,108,15,111,101,95,101,120,105,116,111,110,99,117,114,115,111,114,14,111, ++ 101,95,115,104,105,102,116,114,101,116,117,114,110,12,111,101,95,101,97,116, ++ 114,101,116,117,114,110,20,111,101,95,114,101,115,101,116,115,101,108,101,99, ++ 116,111,110,101,120,105,116,13,111,101,95,101,110,100,111,110,101,110,116,101, ++ 114,13,111,101,95,97,117,116,111,115,101,108,101,99,116,25,111,101,95,97, ++ 117,116,111,115,101,108,101,99,116,111,110,102,105,114,115,116,99,108,105,99, ++ 107,16,111,101,95,97,117,116,111,112,111,112,117,112,109,101,110,117,13,111, ++ 101,95,107,101,121,101,120,101,99,117,116,101,25,111,101,95,99,104,101,99, ++ 107,118,97,108,117,101,112,97,115,116,115,116,97,116,114,101,97,100,12,111, ++ 101,95,115,97,118,101,118,97,108,117,101,12,111,101,95,115,97,118,101,115, ++ 116,97,116,101,0,8,111,110,99,104,97,110,103,101,7,9,108,97,121,111, ++ 117,116,99,104,97,10,111,110,115,101,116,118,97,108,117,101,7,10,114,111, ++ 119,115,115,101,116,118,97,108,5,118,97,108,117,101,2,1,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,14,0,0,0,11,116,115,116,114, ++ 105,110,103,103,114,105,100,4,103,114,105,100,13,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107, ++ 111,110,101,115,99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119, ++ 95,102,111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95, ++ 97,117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2, ++ 8,8,98,111,117,110,100,115,95,121,2,120,9,98,111,117,110,100,115,95, ++ 99,120,3,130,1,9,98,111,117,110,100,115,95,99,121,3,146,0,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108, ++ 95,102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114, ++ 108,95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116, ++ 111,109,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110, ++ 99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111, ++ 112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109, ++ 0,14,100,97,116,97,99,111,108,115,46,99,111,117,110,116,2,1,14,100, ++ 97,116,97,99,111,108,115,46,105,116,101,109,115,14,1,13,100,97,116,97, ++ 108,105,115,116,46,100,97,116,97,1,2,0,0,0,0,13,102,105,120,99, ++ 111,108,115,46,99,111,117,110,116,2,1,13,102,105,120,99,111,108,115,46, ++ 105,116,101,109,115,14,1,5,119,105,100,116,104,2,30,7,110,117,109,115, ++ 116,101,112,2,1,0,0,13,102,105,120,114,111,119,115,46,99,111,117,110, ++ 116,2,1,13,102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,6, ++ 104,101,105,103,104,116,2,16,7,110,117,109,115,116,101,112,2,1,0,0, ++ 8,114,111,119,99,111,117,110,116,2,1,13,100,97,116,97,114,111,119,104, ++ 101,105,103,104,116,2,16,8,115,116,97,116,102,105,108,101,7,10,116,115, ++ 116,97,116,102,105,108,101,49,13,114,101,102,102,111,110,116,104,101,105,103, ++ 104,116,2,14,0,0,9,116,115,116,97,116,102,105,108,101,10,116,115,116, ++ 97,116,102,105,108,101,49,8,102,105,108,101,110,97,109,101,6,10,115,116, ++ 97,116,117,115,46,115,116,97,4,108,101,102,116,3,128,0,3,116,111,112, ++ 3,168,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main.pas mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/main.pas 2007-12-10 11:37:00.000000000 +0100 +*************** +*** 0 **** +--- 1,70 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ SysUtils,mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msegrids,msedataedits,mseedit, ++ msestrings,msetypes,msesimplewidgets,msewidgets,msedispwidgets,msestatfile; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton4: tbutton; ++ tgroupbox3: tgroupbox; ++ tgroupbox2: tgroupbox; ++ coled: tintegeredit; ++ colsed: tintegeredit; ++ rowsed: tintegeredit; ++ rowed: tintegeredit; ++ tstringedit1: tstringedit; ++ grid: tstringgrid; ++ textdi: tstringdisp; ++ tstatfile1: tstatfile; ++ procedure button4_click(const sender: TObject); ++ procedure colssetval(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure rowssetval(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ procedure settext(const sender: TObject; var avalue: msestring; ++ var accept: Boolean); ++ procedure layoutcha(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ ++ procedure tmainfo.layoutcha(const sender: TObject); ++ begin ++ //set grid size before loading grid content fron statfile ++ grid.datacols.count:= colsed.value; ++ grid.rowcount:= rowsed.value; ++ end; ++ ++ procedure tmainfo.colssetval(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ grid.datacols.count:= avalue; ++ end; ++ ++ procedure tmainfo.rowssetval(const sender: TObject; var avalue: Integer; ++ var accept: Boolean); ++ begin ++ grid.rowcount:= avalue; ++ end; ++ ++ procedure tmainfo.settext(const sender: TObject; var avalue: msestring; ++ var accept: Boolean); ++ begin ++ grid[coled.value][rowed.value]:= avalue; ++ end; ++ ++ procedure tmainfo.button4_click(const sender: TObject); ++ begin ++ if canparentclose then begin ++ //triggers storing of all edited values in form ++ textdi.value:= grid[coled.value][rowed.value]; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/simplestrgrid.pas mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/simplestrgrid.pas +*** mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/simplestrgrid.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/simplestrgrid.pas 2007-12-10 11:37:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program simplestrgrid; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/simplestrgrid.prj mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/simplestrgrid.prj +*** mseide-msegui-1.8.orig/docs/tutorials/grids/simplestringgrid/simplestrgrid.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/grids/simplestringgrid/simplestrgrid.prj 2007-12-10 12:13:00.000000000 +0100 +*************** +*** 0 **** +--- 1,676 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid/simplestrgrid.prj ++ options=57 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=141 ++ width4=290 ++ width5=320 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid/main.mfm ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=312 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=20 ++ cx=299 ++ cy=66 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=917 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=299 ++ cy=30 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=41 ++ cx=440 ++ cy=75 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=917 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=291 ++ y=247 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=703 ++ y=144 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=102 ++ width1=198 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo.panel1 ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=292 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=196 ++ cx=927 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 0,-1073741823 ++ 3,38 ++ 66,7990 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid/simplestrgrid.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid/main.pas ++ /home/mse/test/msegui/lib/common/kernel/msegui.pas ++ relpaths=3 ++ simplestrgrid.pas ++ main.pas ++ ../../../../../../../../../../test/msegui/lib/common/kernel/msegui.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/grids/simplestringgrid/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform.mfm mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform.mfm 2008-02-28 19:43:00.000000000 +0100 +*************** +*** 0 **** +--- 1,381 ---- ++ object clientfo: tclientfo ++ bounds_x = 20 ++ bounds_y = 378 ++ bounds_cx = 380 ++ bounds_cy = 242 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 28 ++ container.bounds_cx = 380 ++ container.bounds_cy = 214 ++ container.frame.dummy = 0 ++ optionswindow = [wo_windowcentermessage] ++ mainmenu = menu ++ options = [fo_freeonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'MSEifi Demo Clientform transferred from Server' ++ moduleclassname = 'tmseform' ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 0 ++ bounds_cx = 100 ++ bounds_cy = 39 ++ frame.caption = 'Editwidget' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ reffontheight = 15 ++ end ++ object tbutton1: tbutton ++ bounds_x = 118 ++ bounds_y = 19 ++ bounds_cx = 50 ++ bounds_cy = 19 ++ taborder = 1 ++ state = [as_localcaption] ++ action = buttonact ++ caption = 'Button' ++ end ++ object buttondisp: tstringdisp ++ bounds_x = 176 ++ bounds_y = 19 ++ bounds_cx = 92 ++ bounds_cy = 19 ++ frame.dummy = 0 ++ taborder = 2 ++ font.color = -1610612730 ++ font.name = 'stf_default' ++ font.xscale = 1.00000000000000000 ++ font.dummy = 0 ++ textflags = [tf_xcentered, tf_ycentered] ++ reffontheight = 15 ++ end ++ object tdbstringgrid1: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 38 ++ bounds_cx = 337 ++ bounds_cy = 149 ++ frame.caption = 'Dataset' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right, an_bottom] ++ taborder = 3 ++ datasource = datasource ++ options = [dsgo_autofields] ++ optionsgrid = [og_rowinserting, og_rowdeleting, og_focuscellonenter, og_autofirstrow, og_autoappend, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack] ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 15 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 17 ++ end> ++ datarowheight = 17 ++ reffontheight = 15 ++ end ++ object progressbar: tprogressbar ++ bounds_x = 353 ++ bounds_y = 57 ++ bounds_cx = 20 ++ bounds_cy = 151 ++ frame.framei_left = 2 ++ frame.framei_top = 0 ++ frame.framei_right = 2 ++ frame.framei_bottom = 0 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ face.template = fadehorzconcave ++ face.dummy = 0 ++ anchors = [an_top, an_right, an_bottom] ++ taborder = 4 ++ direction = gd_up ++ bar_face.fade_pos.count = 2 ++ bar_face.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ bar_face.fade_color.count = 2 ++ bar_face.fade_color.items = ( ++ -1610612715 ++ 160 ++ ) ++ bar_face.localprops = [fal_fadirection] ++ bar_face.dummy = 0 ++ bar_frame.localprops = [frl_levelo, frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ bar_frame.dummy = 0 ++ valuescale = 0.01000000000000000 ++ format = '' ++ end ++ object tdbnavigator1: tdbnavigator ++ optionswidget = [ow_destroywidgets, ow_autoscale, ow_autosize] ++ bounds_x = 8 ++ bounds_y = 189 ++ bounds_cx = 204 ++ frame.levelo = -1 ++ frame.leveli = 1 ++ frame.localprops = [frl_levelo, frl_leveli] ++ frame.dummy = 0 ++ anchors = [an_left, an_bottom] ++ taborder = 5 ++ datasource = datasource ++ buttonface.template = fadehorzconcave ++ buttonface.dummy = 0 ++ end ++ object tformlink1: tformlink ++ valuewidgets.count = 4 ++ valuewidgets.items = < ++ item ++ name = 'edit1' ++ widget = tstringedit1 ++ end ++ item ++ name = 'buttondisp' ++ widget = buttondisp ++ end ++ item ++ name = 'progressbar' ++ widget = progressbar ++ end ++ item ++ end> ++ actionsrx.count = 1 ++ actionsrx.items = < ++ item ++ end> ++ actionstx.count = 6 ++ actionstx.items = < ++ item ++ name = 'button' ++ action = buttonact ++ end ++ item ++ name = 'quit' ++ action = quit ++ end ++ item ++ name = 'menu1a' ++ action = menu1a ++ end ++ item ++ name = 'menu1b' ++ action = menu1b ++ end ++ item ++ name = 'menu1c' ++ action = menu1c ++ end ++ item ++ name = 'menu2a' ++ action = menu2a ++ end> ++ left = 264 ++ top = 88 ++ end ++ object buttonact: taction ++ left = 264 ++ top = 112 ++ end ++ object dataset: trxdataset ++ Active = True ++ ifi.linkname = 'dataset' ++ fielddefs = <> ++ left = 176 ++ top = 88 ++ end ++ object datasource: tmsedatasource ++ DataSet = dataset ++ left = 160 ++ top = 112 ++ end ++ object menu: tmainmenu ++ frametemplate = menuframe ++ itemframetemplate = menuitemframe ++ itemfacetemplate = fadevertkonvex ++ itemframetemplateactive = menuitemframe ++ itemfacetemplateactive = fadevertconcave ++ menu.submenu.count = 3 ++ menu.submenu.items = < ++ item ++ action = quit ++ caption = '&Quit' ++ state = [as_localcaption] ++ end ++ item ++ submenu.count = 3 ++ submenu.items = < ++ item ++ action = menu1a ++ caption = 'Menu1 &A' ++ state = [as_localcaption] ++ end ++ item ++ action = menu1b ++ caption = 'Menu1 &B' ++ state = [as_localcaption] ++ end ++ item ++ action = menu1c ++ caption = 'Menu1 &C' ++ state = [as_localcaption] ++ end> ++ caption = 'Menu&1' ++ state = [as_localcaption] ++ end ++ item ++ action = menu2a ++ caption = 'Menu&2' ++ state = [as_localcaption] ++ end> ++ left = 72 ++ top = 40 ++ end ++ object menu1a: taction ++ left = 16 ++ top = 80 ++ end ++ object menu1b: taction ++ left = 16 ++ top = 104 ++ end ++ object menu1c: taction ++ left = 16 ++ top = 128 ++ end ++ object menu2a: taction ++ left = 88 ++ top = 104 ++ end ++ object quit: taction ++ left = 88 ++ top = 80 ++ end ++ object nullface: tfacecomp ++ left = 296 ++ top = 144 ++ end ++ object fadecontainer: tfacecomp ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ -1610612731 ++ 13421772 ++ ) ++ left = 184 ++ top = 192 ++ end ++ object fadehorzconcave: tfacecomp ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 14408667 ++ 13158600 ++ ) ++ template.fade_direction = gd_left ++ left = 184 ++ top = 168 ++ end ++ object fadevertconcave: tfacecomp ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 14408667 ++ 13158600 ++ ) ++ template.fade_direction = gd_up ++ left = 184 ++ top = 144 ++ end ++ object skin: tskincontroller ++ active = True ++ sb_horz_facebutton = fadevertkonvex ++ sb_horz_faceendbutton = fadevertkonvex ++ sb_vert_facebutton = fadehorzconvex ++ sb_vert_faceendbutton = fadehorzconvex ++ widget_color = -2147483645 ++ container_face = fadehorzconvex ++ grid_fixrows_face = fadevertkonvex ++ button_face = fadevertkonvex ++ framebutton_face = fadehorzconvex ++ tabbar_horz_face = fadevertconcave ++ tabbar_horz_tab_face = fadevertkonvex ++ tabbar_vert_face = fadehorzconcave ++ tabbar_vert_tab_face = fadevertkonvex ++ mainmenu_face = fadevertconcave ++ left = 80 ++ top = 192 ++ end ++ object fadehorzconvex: tfacecomp ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 14408667 ++ 13158600 ++ ) ++ left = 80 ++ top = 168 ++ end ++ object fadevertkonvex: tfacecomp ++ template.fade_pos.count = 2 ++ template.fade_pos.items = ( ++ 0.00000000000000000 ++ 1.00000000000000000 ++ ) ++ template.fade_color.count = 2 ++ template.fade_color.items = ( ++ 14408667 ++ 13158600 ++ ) ++ template.fade_direction = gd_down ++ left = 80 ++ top = 144 ++ end ++ object menuitemframe: tframecomp ++ template.levelo = -1 ++ template.leveli = 1 ++ template.framei_left = 2 ++ template.framei_right = 3 ++ template.framei_bottom = 1 ++ template.extraspace = 4 ++ left = 224 ++ top = 40 ++ end ++ object menuframe: tframecomp ++ template.levelo = -1 ++ template.framei_left = 4 ++ template.framei_top = 2 ++ template.framei_bottom = 2 ++ left = 136 ++ top = 40 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform_mfm.pas mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform_mfm.pas 2008-02-28 19:43:00.000000000 +0100 +*************** +*** 0 **** +--- 1,322 ---- ++ unit clientform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,clientform; ++ ++ const ++ objdata: record size: integer; data: array[0..6089] of byte end = ++ (size: 6090; data: ( ++ 84,80,70,48,9,116,99,108,105,101,110,116,102,111,8,99,108,105,101,110, ++ 116,102,111,8,98,111,117,110,100,115,95,120,2,20,8,98,111,117,110,100, ++ 115,95,121,3,122,1,9,98,111,117,110,100,115,95,99,120,3,124,1,9, ++ 98,111,117,110,100,115,95,99,121,3,242,0,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,18,99,111,110,116,97,105,110,101,114,46,98,111,117, ++ 110,100,115,95,120,2,0,18,99,111,110,116,97,105,110,101,114,46,98,111, ++ 117,110,100,115,95,121,2,28,19,99,111,110,116,97,105,110,101,114,46,98, ++ 111,117,110,100,115,95,99,120,3,124,1,19,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,99,121,3,214,0,21,99,111,110,116,97, ++ 105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121,2,0,13,111, ++ 112,116,105,111,110,115,119,105,110,100,111,119,11,22,119,111,95,119,105,110, ++ 100,111,119,99,101,110,116,101,114,109,101,115,115,97,103,101,0,8,109,97, ++ 105,110,109,101,110,117,7,4,109,101,110,117,7,111,112,116,105,111,110,115, ++ 11,14,102,111,95,102,114,101,101,111,110,99,108,111,115,101,15,102,111,95, ++ 97,117,116,111,114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111, ++ 119,114,105,116,101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115, ++ 12,102,111,95,115,97,118,101,115,116,97,116,101,0,7,99,97,112,116,105, ++ 111,110,6,46,77,83,69,105,102,105,32,68,101,109,111,32,67,108,105,101, ++ 110,116,102,111,114,109,32,116,114,97,110,115,102,101,114,114,101,100,32,102, ++ 114,111,109,32,83,101,114,118,101,114,15,109,111,100,117,108,101,99,108,97, ++ 115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,11,116,115, ++ 116,114,105,110,103,101,100,105,116,12,116,115,116,114,105,110,103,101,100,105, ++ 116,49,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119, ++ 95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111, ++ 99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102, ++ 111,110,116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117, ++ 116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8, ++ 98,111,117,110,100,115,95,121,2,0,9,98,111,117,110,100,115,95,99,120, ++ 2,100,9,98,111,117,110,100,115,95,99,121,2,39,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,10,69,100,105,116,119,105,100,103,101,116, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101, ++ 46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,18,2,0,2,0, ++ 0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,15,0,0,7, ++ 116,98,117,116,116,111,110,8,116,98,117,116,116,111,110,49,8,98,111,117, ++ 110,100,115,95,120,2,118,8,98,111,117,110,100,115,95,121,2,19,9,98, ++ 111,117,110,100,115,95,99,120,2,50,9,98,111,117,110,100,115,95,99,121, ++ 2,19,8,116,97,98,111,114,100,101,114,2,1,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,6,97,99, ++ 116,105,111,110,7,9,98,117,116,116,111,110,97,99,116,7,99,97,112,116, ++ 105,111,110,6,6,66,117,116,116,111,110,0,0,11,116,115,116,114,105,110, ++ 103,100,105,115,112,10,98,117,116,116,111,110,100,105,115,112,8,98,111,117, ++ 110,100,115,95,120,3,176,0,8,98,111,117,110,100,115,95,121,2,19,9, ++ 98,111,117,110,100,115,95,99,120,2,92,9,98,111,117,110,100,115,95,99, ++ 121,2,19,11,102,114,97,109,101,46,100,117,109,109,121,2,0,8,116,97, ++ 98,111,114,100,101,114,2,2,10,102,111,110,116,46,99,111,108,111,114,4, ++ 6,0,0,160,9,102,111,110,116,46,110,97,109,101,6,11,115,116,102,95, ++ 100,101,102,97,117,108,116,11,102,111,110,116,46,120,115,99,97,108,101,5, ++ 0,0,0,0,0,0,0,128,255,63,10,102,111,110,116,46,100,117,109,109, ++ 121,2,0,9,116,101,120,116,102,108,97,103,115,11,12,116,102,95,120,99, ++ 101,110,116,101,114,101,100,12,116,102,95,121,99,101,110,116,101,114,101,100, ++ 0,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,15,0,0,13, ++ 116,100,98,115,116,114,105,110,103,103,114,105,100,14,116,100,98,115,116,114, ++ 105,110,103,103,114,105,100,49,13,111,112,116,105,111,110,115,119,105,100,103, ++ 101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119, ++ 95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111, ++ 99,117,115,17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115, ++ 99,13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100, ++ 101,115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110, ++ 116,103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111, ++ 115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111, ++ 117,110,100,115,95,121,2,38,9,98,111,117,110,100,115,95,99,120,3,81, ++ 1,9,98,111,117,110,100,115,95,99,121,3,149,0,13,102,114,97,109,101, ++ 46,99,97,112,116,105,111,110,6,7,68,97,116,97,115,101,116,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,18,2,0,2,0,0,7,97, ++ 110,99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116, ++ 111,112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111, ++ 109,0,8,116,97,98,111,114,100,101,114,2,3,10,100,97,116,97,115,111, ++ 117,114,99,101,7,10,100,97,116,97,115,111,117,114,99,101,7,111,112,116, ++ 105,111,110,115,11,15,100,115,103,111,95,97,117,116,111,102,105,101,108,100, ++ 115,0,11,111,112,116,105,111,110,115,103,114,105,100,11,15,111,103,95,114, ++ 111,119,105,110,115,101,114,116,105,110,103,14,111,103,95,114,111,119,100,101, ++ 108,101,116,105,110,103,19,111,103,95,102,111,99,117,115,99,101,108,108,111, ++ 110,101,110,116,101,114,15,111,103,95,97,117,116,111,102,105,114,115,116,114, ++ 111,119,13,111,103,95,97,117,116,111,97,112,112,101,110,100,20,111,103,95, ++ 99,111,108,99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103, ++ 95,97,117,116,111,112,111,112,117,112,17,111,103,95,109,111,117,115,101,115, ++ 99,114,111,108,108,99,111,108,0,16,100,97,116,97,108,105,110,107,46,111, ++ 112,116,105,111,110,115,11,17,103,100,111,95,112,114,111,112,115,99,114,111, ++ 108,108,98,97,114,14,103,100,111,95,116,104,117,109,98,116,114,97,99,107, ++ 0,13,102,105,120,99,111,108,115,46,99,111,117,110,116,2,1,13,102,105, ++ 120,99,111,108,115,46,105,116,101,109,115,14,1,5,119,105,100,116,104,2, ++ 15,0,0,13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13, ++ 102,105,120,114,111,119,115,46,105,116,101,109,115,14,1,6,104,101,105,103, ++ 104,116,2,17,0,0,13,100,97,116,97,114,111,119,104,101,105,103,104,116, ++ 2,17,13,114,101,102,102,111,110,116,104,101,105,103,104,116,2,15,0,0, ++ 12,116,112,114,111,103,114,101,115,115,98,97,114,11,112,114,111,103,114,101, ++ 115,115,98,97,114,8,98,111,117,110,100,115,95,120,3,97,1,8,98,111, ++ 117,110,100,115,95,121,2,57,9,98,111,117,110,100,115,95,99,120,2,20, ++ 9,98,111,117,110,100,115,95,99,121,3,151,0,17,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,108,101,102,116,2,2,16,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,116,111,112,2,0,18,102,114,97,109,101,46,102, ++ 114,97,109,101,105,95,114,105,103,104,116,2,2,19,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,98,111,116,116,111,109,2,0,16,102,114,97,109, ++ 101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95,102,105, ++ 108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108,95,102, ++ 105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111,109,0, ++ 11,102,114,97,109,101,46,100,117,109,109,121,2,0,13,102,97,99,101,46, ++ 116,101,109,112,108,97,116,101,7,15,102,97,100,101,104,111,114,122,99,111, ++ 110,99,97,118,101,10,102,97,99,101,46,100,117,109,109,121,2,0,7,97, ++ 110,99,104,111,114,115,11,6,97,110,95,116,111,112,8,97,110,95,114,105, ++ 103,104,116,9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114, ++ 100,101,114,2,4,9,100,105,114,101,99,116,105,111,110,7,5,103,100,95, ++ 117,112,23,98,97,114,95,102,97,99,101,46,102,97,100,101,95,112,111,115, ++ 46,99,111,117,110,116,2,2,23,98,97,114,95,102,97,99,101,46,102,97, ++ 100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0,0, ++ 0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0,25,98,97,114, ++ 95,102,97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111,117, ++ 110,116,2,2,25,98,97,114,95,102,97,99,101,46,102,97,100,101,95,99, ++ 111,108,111,114,46,105,116,101,109,115,1,4,21,0,0,160,3,160,0,0, ++ 19,98,97,114,95,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,0,14,98, ++ 97,114,95,102,97,99,101,46,100,117,109,109,121,2,0,20,98,97,114,95, ++ 102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114, ++ 108,95,108,101,118,101,108,111,10,102,114,108,95,102,105,108,101,102,116,9, ++ 102,114,108,95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104, ++ 116,12,102,114,108,95,102,105,98,111,116,116,111,109,0,15,98,97,114,95, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,10,118,97,108,117,101,115, ++ 99,97,108,101,5,0,216,163,112,61,10,215,163,248,63,6,102,111,114,109, ++ 97,116,6,0,0,0,12,116,100,98,110,97,118,105,103,97,116,111,114,13, ++ 116,100,98,110,97,118,105,103,97,116,111,114,49,13,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,17,111,119,95,100,101,115,116,114,111,121,119, ++ 105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,11, ++ 111,119,95,97,117,116,111,115,105,122,101,0,8,98,111,117,110,100,115,95, ++ 120,2,8,8,98,111,117,110,100,115,95,121,3,189,0,9,98,111,117,110, ++ 100,115,95,99,120,3,204,0,12,102,114,97,109,101,46,108,101,118,101,108, ++ 111,2,255,12,102,114,97,109,101,46,108,101,118,101,108,105,2,1,16,102, ++ 114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108, ++ 95,108,101,118,101,108,111,10,102,114,108,95,108,101,118,101,108,105,0,11, ++ 102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99,104,111,114, ++ 115,11,7,97,110,95,108,101,102,116,9,97,110,95,98,111,116,116,111,109, ++ 0,8,116,97,98,111,114,100,101,114,2,5,10,100,97,116,97,115,111,117, ++ 114,99,101,7,10,100,97,116,97,115,111,117,114,99,101,19,98,117,116,116, ++ 111,110,102,97,99,101,46,116,101,109,112,108,97,116,101,7,15,102,97,100, ++ 101,104,111,114,122,99,111,110,99,97,118,101,16,98,117,116,116,111,110,102, ++ 97,99,101,46,100,117,109,109,121,2,0,0,0,9,116,102,111,114,109,108, ++ 105,110,107,10,116,102,111,114,109,108,105,110,107,49,18,118,97,108,117,101, ++ 119,105,100,103,101,116,115,46,99,111,117,110,116,2,4,18,118,97,108,117, ++ 101,119,105,100,103,101,116,115,46,105,116,101,109,115,14,1,4,110,97,109, ++ 101,6,5,101,100,105,116,49,6,119,105,100,103,101,116,7,12,116,115,116, ++ 114,105,110,103,101,100,105,116,49,0,1,4,110,97,109,101,6,10,98,117, ++ 116,116,111,110,100,105,115,112,6,119,105,100,103,101,116,7,10,98,117,116, ++ 116,111,110,100,105,115,112,0,1,4,110,97,109,101,6,11,112,114,111,103, ++ 114,101,115,115,98,97,114,6,119,105,100,103,101,116,7,11,112,114,111,103, ++ 114,101,115,115,98,97,114,0,1,0,0,15,97,99,116,105,111,110,115,114, ++ 120,46,99,111,117,110,116,2,1,15,97,99,116,105,111,110,115,114,120,46, ++ 105,116,101,109,115,14,1,0,0,15,97,99,116,105,111,110,115,116,120,46, ++ 99,111,117,110,116,2,6,15,97,99,116,105,111,110,115,116,120,46,105,116, ++ 101,109,115,14,1,4,110,97,109,101,6,6,98,117,116,116,111,110,6,97, ++ 99,116,105,111,110,7,9,98,117,116,116,111,110,97,99,116,0,1,4,110, ++ 97,109,101,6,4,113,117,105,116,6,97,99,116,105,111,110,7,4,113,117, ++ 105,116,0,1,4,110,97,109,101,6,6,109,101,110,117,49,97,6,97,99, ++ 116,105,111,110,7,6,109,101,110,117,49,97,0,1,4,110,97,109,101,6, ++ 6,109,101,110,117,49,98,6,97,99,116,105,111,110,7,6,109,101,110,117, ++ 49,98,0,1,4,110,97,109,101,6,6,109,101,110,117,49,99,6,97,99, ++ 116,105,111,110,7,6,109,101,110,117,49,99,0,1,4,110,97,109,101,6, ++ 6,109,101,110,117,50,97,6,97,99,116,105,111,110,7,6,109,101,110,117, ++ 50,97,0,0,4,108,101,102,116,3,8,1,3,116,111,112,2,88,0,0, ++ 7,116,97,99,116,105,111,110,9,98,117,116,116,111,110,97,99,116,4,108, ++ 101,102,116,3,8,1,3,116,111,112,2,112,0,0,10,116,114,120,100,97, ++ 116,97,115,101,116,7,100,97,116,97,115,101,116,6,65,99,116,105,118,101, ++ 9,12,105,102,105,46,108,105,110,107,110,97,109,101,6,7,100,97,116,97, ++ 115,101,116,9,102,105,101,108,100,100,101,102,115,14,0,4,108,101,102,116, ++ 3,176,0,3,116,111,112,2,88,0,0,14,116,109,115,101,100,97,116,97, ++ 115,111,117,114,99,101,10,100,97,116,97,115,111,117,114,99,101,7,68,97, ++ 116,97,83,101,116,7,7,100,97,116,97,115,101,116,4,108,101,102,116,3, ++ 160,0,3,116,111,112,2,112,0,0,9,116,109,97,105,110,109,101,110,117, ++ 4,109,101,110,117,13,102,114,97,109,101,116,101,109,112,108,97,116,101,7, ++ 9,109,101,110,117,102,114,97,109,101,17,105,116,101,109,102,114,97,109,101, ++ 116,101,109,112,108,97,116,101,7,13,109,101,110,117,105,116,101,109,102,114, ++ 97,109,101,16,105,116,101,109,102,97,99,101,116,101,109,112,108,97,116,101, ++ 7,14,102,97,100,101,118,101,114,116,107,111,110,118,101,120,23,105,116,101, ++ 109,102,114,97,109,101,116,101,109,112,108,97,116,101,97,99,116,105,118,101, ++ 7,13,109,101,110,117,105,116,101,109,102,114,97,109,101,22,105,116,101,109, ++ 102,97,99,101,116,101,109,112,108,97,116,101,97,99,116,105,118,101,7,15, ++ 102,97,100,101,118,101,114,116,99,111,110,99,97,118,101,18,109,101,110,117, ++ 46,115,117,98,109,101,110,117,46,99,111,117,110,116,2,3,18,109,101,110, ++ 117,46,115,117,98,109,101,110,117,46,105,116,101,109,115,14,1,6,97,99, ++ 116,105,111,110,7,4,113,117,105,116,7,99,97,112,116,105,111,110,6,5, ++ 38,81,117,105,116,5,115,116,97,116,101,11,15,97,115,95,108,111,99,97, ++ 108,99,97,112,116,105,111,110,0,0,1,13,115,117,98,109,101,110,117,46, ++ 99,111,117,110,116,2,3,13,115,117,98,109,101,110,117,46,105,116,101,109, ++ 115,14,1,6,97,99,116,105,111,110,7,6,109,101,110,117,49,97,7,99, ++ 97,112,116,105,111,110,6,8,77,101,110,117,49,32,38,65,5,115,116,97, ++ 116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0, ++ 0,1,6,97,99,116,105,111,110,7,6,109,101,110,117,49,98,7,99,97, ++ 112,116,105,111,110,6,8,77,101,110,117,49,32,38,66,5,115,116,97,116, ++ 101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,0, ++ 1,6,97,99,116,105,111,110,7,6,109,101,110,117,49,99,7,99,97,112, ++ 116,105,111,110,6,8,77,101,110,117,49,32,38,67,5,115,116,97,116,101, ++ 11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,0, ++ 7,99,97,112,116,105,111,110,6,6,77,101,110,117,38,49,5,115,116,97, ++ 116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0, ++ 0,1,6,97,99,116,105,111,110,7,6,109,101,110,117,50,97,7,99,97, ++ 112,116,105,111,110,6,6,77,101,110,117,38,50,5,115,116,97,116,101,11, ++ 15,97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,0,0,0,4, ++ 108,101,102,116,2,72,3,116,111,112,2,40,0,0,7,116,97,99,116,105, ++ 111,110,6,109,101,110,117,49,97,4,108,101,102,116,2,16,3,116,111,112, ++ 2,80,0,0,7,116,97,99,116,105,111,110,6,109,101,110,117,49,98,4, ++ 108,101,102,116,2,16,3,116,111,112,2,104,0,0,7,116,97,99,116,105, ++ 111,110,6,109,101,110,117,49,99,4,108,101,102,116,2,16,3,116,111,112, ++ 3,128,0,0,0,7,116,97,99,116,105,111,110,6,109,101,110,117,50,97, ++ 4,108,101,102,116,2,88,3,116,111,112,2,104,0,0,7,116,97,99,116, ++ 105,111,110,4,113,117,105,116,4,108,101,102,116,2,88,3,116,111,112,2, ++ 80,0,0,9,116,102,97,99,101,99,111,109,112,8,110,117,108,108,102,97, ++ 99,101,4,108,101,102,116,3,40,1,3,116,111,112,3,144,0,0,0,9, ++ 116,102,97,99,101,99,111,109,112,13,102,97,100,101,99,111,110,116,97,105, ++ 110,101,114,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111, ++ 115,46,99,111,117,110,116,2,2,23,116,101,109,112,108,97,116,101,46,102, ++ 97,100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0, ++ 0,0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0,25,116,101, ++ 109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111, ++ 117,110,116,2,2,25,116,101,109,112,108,97,116,101,46,102,97,100,101,95, ++ 99,111,108,111,114,46,105,116,101,109,115,1,4,5,0,0,160,4,204,204, ++ 204,0,0,4,108,101,102,116,3,184,0,3,116,111,112,3,192,0,0,0, ++ 9,116,102,97,99,101,99,111,109,112,15,102,97,100,101,104,111,114,122,99, ++ 111,110,99,97,118,101,23,116,101,109,112,108,97,116,101,46,102,97,100,101, ++ 95,112,111,115,46,99,111,117,110,116,2,2,23,116,101,109,112,108,97,116, ++ 101,46,102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0, ++ 0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0, ++ 25,116,101,109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114, ++ 46,99,111,117,110,116,2,2,25,116,101,109,112,108,97,116,101,46,102,97, ++ 100,101,95,99,111,108,111,114,46,105,116,101,109,115,1,4,219,219,219,0, ++ 4,200,200,200,0,0,23,116,101,109,112,108,97,116,101,46,102,97,100,101, ++ 95,100,105,114,101,99,116,105,111,110,7,7,103,100,95,108,101,102,116,4, ++ 108,101,102,116,3,184,0,3,116,111,112,3,168,0,0,0,9,116,102,97, ++ 99,101,99,111,109,112,15,102,97,100,101,118,101,114,116,99,111,110,99,97, ++ 118,101,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111,115, ++ 46,99,111,117,110,116,2,2,23,116,101,109,112,108,97,116,101,46,102,97, ++ 100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0,0, ++ 0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0,25,116,101,109, ++ 112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111,117, ++ 110,116,2,2,25,116,101,109,112,108,97,116,101,46,102,97,100,101,95,99, ++ 111,108,111,114,46,105,116,101,109,115,1,4,219,219,219,0,4,200,200,200, ++ 0,0,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,100,105,114, ++ 101,99,116,105,111,110,7,5,103,100,95,117,112,4,108,101,102,116,3,184, ++ 0,3,116,111,112,3,144,0,0,0,15,116,115,107,105,110,99,111,110,116, ++ 114,111,108,108,101,114,4,115,107,105,110,6,97,99,116,105,118,101,9,18, ++ 115,98,95,104,111,114,122,95,102,97,99,101,98,117,116,116,111,110,7,14, ++ 102,97,100,101,118,101,114,116,107,111,110,118,101,120,21,115,98,95,104,111, ++ 114,122,95,102,97,99,101,101,110,100,98,117,116,116,111,110,7,14,102,97, ++ 100,101,118,101,114,116,107,111,110,118,101,120,18,115,98,95,118,101,114,116, ++ 95,102,97,99,101,98,117,116,116,111,110,7,14,102,97,100,101,104,111,114, ++ 122,99,111,110,118,101,120,21,115,98,95,118,101,114,116,95,102,97,99,101, ++ 101,110,100,98,117,116,116,111,110,7,14,102,97,100,101,104,111,114,122,99, ++ 111,110,118,101,120,12,119,105,100,103,101,116,95,99,111,108,111,114,4,3, ++ 0,0,128,14,99,111,110,116,97,105,110,101,114,95,102,97,99,101,7,14, ++ 102,97,100,101,104,111,114,122,99,111,110,118,101,120,17,103,114,105,100,95, ++ 102,105,120,114,111,119,115,95,102,97,99,101,7,14,102,97,100,101,118,101, ++ 114,116,107,111,110,118,101,120,11,98,117,116,116,111,110,95,102,97,99,101, ++ 7,14,102,97,100,101,118,101,114,116,107,111,110,118,101,120,16,102,114,97, ++ 109,101,98,117,116,116,111,110,95,102,97,99,101,7,14,102,97,100,101,104, ++ 111,114,122,99,111,110,118,101,120,16,116,97,98,98,97,114,95,104,111,114, ++ 122,95,102,97,99,101,7,15,102,97,100,101,118,101,114,116,99,111,110,99, ++ 97,118,101,20,116,97,98,98,97,114,95,104,111,114,122,95,116,97,98,95, ++ 102,97,99,101,7,14,102,97,100,101,118,101,114,116,107,111,110,118,101,120, ++ 16,116,97,98,98,97,114,95,118,101,114,116,95,102,97,99,101,7,15,102, ++ 97,100,101,104,111,114,122,99,111,110,99,97,118,101,20,116,97,98,98,97, ++ 114,95,118,101,114,116,95,116,97,98,95,102,97,99,101,7,14,102,97,100, ++ 101,118,101,114,116,107,111,110,118,101,120,13,109,97,105,110,109,101,110,117, ++ 95,102,97,99,101,7,15,102,97,100,101,118,101,114,116,99,111,110,99,97, ++ 118,101,4,108,101,102,116,2,80,3,116,111,112,3,192,0,0,0,9,116, ++ 102,97,99,101,99,111,109,112,14,102,97,100,101,104,111,114,122,99,111,110, ++ 118,101,120,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112,111, ++ 115,46,99,111,117,110,116,2,2,23,116,101,109,112,108,97,116,101,46,102, ++ 97,100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0, ++ 0,0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0,25,116,101, ++ 109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,99,111, ++ 117,110,116,2,2,25,116,101,109,112,108,97,116,101,46,102,97,100,101,95, ++ 99,111,108,111,114,46,105,116,101,109,115,1,4,219,219,219,0,4,200,200, ++ 200,0,0,4,108,101,102,116,2,80,3,116,111,112,3,168,0,0,0,9, ++ 116,102,97,99,101,99,111,109,112,14,102,97,100,101,118,101,114,116,107,111, ++ 110,118,101,120,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,112, ++ 111,115,46,99,111,117,110,116,2,2,23,116,101,109,112,108,97,116,101,46, ++ 102,97,100,101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0, ++ 0,0,0,0,0,0,5,0,0,0,0,0,0,0,128,255,63,0,25,116, ++ 101,109,112,108,97,116,101,46,102,97,100,101,95,99,111,108,111,114,46,99, ++ 111,117,110,116,2,2,25,116,101,109,112,108,97,116,101,46,102,97,100,101, ++ 95,99,111,108,111,114,46,105,116,101,109,115,1,4,219,219,219,0,4,200, ++ 200,200,0,0,23,116,101,109,112,108,97,116,101,46,102,97,100,101,95,100, ++ 105,114,101,99,116,105,111,110,7,7,103,100,95,100,111,119,110,4,108,101, ++ 102,116,2,80,3,116,111,112,3,144,0,0,0,10,116,102,114,97,109,101, ++ 99,111,109,112,13,109,101,110,117,105,116,101,109,102,114,97,109,101,15,116, ++ 101,109,112,108,97,116,101,46,108,101,118,101,108,111,2,255,15,116,101,109, ++ 112,108,97,116,101,46,108,101,118,101,108,105,2,1,20,116,101,109,112,108, ++ 97,116,101,46,102,114,97,109,101,105,95,108,101,102,116,2,2,21,116,101, ++ 109,112,108,97,116,101,46,102,114,97,109,101,105,95,114,105,103,104,116,2, ++ 3,22,116,101,109,112,108,97,116,101,46,102,114,97,109,101,105,95,98,111, ++ 116,116,111,109,2,1,19,116,101,109,112,108,97,116,101,46,101,120,116,114, ++ 97,115,112,97,99,101,2,4,4,108,101,102,116,3,224,0,3,116,111,112, ++ 2,40,0,0,10,116,102,114,97,109,101,99,111,109,112,9,109,101,110,117, ++ 102,114,97,109,101,15,116,101,109,112,108,97,116,101,46,108,101,118,101,108, ++ 111,2,255,20,116,101,109,112,108,97,116,101,46,102,114,97,109,101,105,95, ++ 108,101,102,116,2,4,19,116,101,109,112,108,97,116,101,46,102,114,97,109, ++ 101,105,95,116,111,112,2,2,22,116,101,109,112,108,97,116,101,46,102,114, ++ 97,109,101,105,95,98,111,116,116,111,109,2,2,4,108,101,102,116,3,136, ++ 0,3,116,111,112,2,40,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tclientfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform.pas mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/clientform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/clientform.pas 2008-02-28 14:59:00.000000000 +0100 +*************** +*** 0 **** +--- 1,43 ---- ++ unit clientform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msegrids,mseifigui,msedataedits, ++ mseedit,msestrings,msetypes,msesimplewidgets,msewidgets,mseact,mseactions, ++ msedispwidgets,mseifilink,db,msebufdataset,msedb,mseifids,msesqldb,msqldb, ++ sysutils,msedbedit,msedialog,msegraphedits,mseskin; ++ type ++ tclientfo = class(tmseform) ++ tformlink1: tformlink; ++ tstringedit1: tstringedit; ++ tbutton1: tbutton; ++ buttonact: taction; ++ buttondisp: tstringdisp; ++ dataset: trxdataset; ++ datasource: tmsedatasource; ++ tdbstringgrid1: tdbstringgrid; ++ progressbar: tprogressbar; ++ menu: tmainmenu; ++ menu1a: taction; ++ menu1b: taction; ++ menu1c: taction; ++ menu2a: taction; ++ quit: taction; ++ nullface: tfacecomp; ++ fadecontainer: tfacecomp; ++ fadehorzconcave: tfacecomp; ++ fadevertconcave: tfacecomp; ++ skin: tskincontroller; ++ fadehorzconvex: tfacecomp; ++ fadevertkonvex: tfacecomp; ++ menuitemframe: tframecomp; ++ menuframe: tframecomp; ++ tdbnavigator1: tdbnavigator; ++ end; ++ var ++ clientfo: tclientfo; ++ implementation ++ uses ++ clientform_mfm; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.pas mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.pas +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.pas 2008-02-28 14:59:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program ifipipedemoserver; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.prj mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.prj +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.prj 2008-02-28 19:43:00.000000000 +0100 +*************** +*** 0 **** +--- 1,816 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/ifipipedemoserver.prj ++ findinfiledialog=32 ++ [findinfileadialogfo] ++ stackedunder= ++ x=268 ++ y=415 ++ cx=331 ++ cy=249 ++ [findinfileadialogfo.findtext] ++ value=iifiwidget ++ history=2 ++ iifiwidget ++ writeln ++ [findinfileadialogfo.casesensitive] ++ value=0 ++ [findinfileadialogfo.wholeword] ++ value=0 ++ [findinfileadialogfo.indirectories] ++ value=1 ++ [findinfileadialogfo.inopenfiles] ++ value=0 ++ [findinfileadialogfo.dir] ++ filenames=1 ++ /C:/proj/mseide-msegui/trunk/lib/common/ ++ filehistory=2 ++ /C:/proj/mseide-msegui/trunk/lib/common/ ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/ ++ filefilterindex=-1 ++ filecolwidth=174 ++ [findinfileadialogfo.mask] ++ value="*.pas" "*.pp" "*.inc" ++ history=0 ++ [findinfileadialogfo.subdirs] ++ value=1 ++ finddialog=8 ++ [finddialogfo] ++ stackedunder= ++ x=319 ++ y=205 ++ cx=331 ++ cy=116 ++ [finddialogfo.selectedonly] ++ value=0 ++ options=57 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=141 ++ width4=290 ++ width5=320 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=106 ++ cx=358 ++ cy=574 ++ wsize=0 ++ active=1 ++ visible=1 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=140 ++ y=234 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=2 ++ CLIENTFO ++ MAINFO ++ moduletypes=2 ++ TCLIENTFO ++ TMAINFO ++ modulefiles=2 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/clientform.mfm ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/main.mfm ++ mainfile=ifipipedemoserver.pas ++ targetfile=ifipipedemoserver${exeext} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh -dmse_with_ifi ++ -gl ++ -B ++ -OG2p3 -XX -CX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=14 ++ /C:/FPC/svn/zeos/trunk/src/*/ ++ /C:/FPC/svn/zeos/trunk/src/ ++ /C:/proj/mseide-msegui/trunk/lib/mse/*/ ++ ${fpcdir}packages/fcl-db/src/ ++ ${fpcdir}rtl/objpas/sysutils/ ++ ${fpcdir}rtl/objpas/classes/ ++ ${fpcdir}rtl/objpas/ ++ ${fpcdir}rtl/win32/ ++ ${fpcdir}rtl/i386/ ++ ${fpcdir}rtl/inc/ ++ ${fpcdir}rtl/ ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=0 ++ newprojectfilesdest=0 ++ expandprojectfilemacros=0 ++ loadprojectfile=0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=1 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=5 ++ 0 ++ 0 ++ 0 ++ 1 ++ 1 ++ path=5 ++ /c:/proj/mseide-msegui/trunk/lib/common/ifi/mseifi.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/kernel/msepipestream.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/mseifi.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/mseifigui.pas ++ /e:/fpc/svn/fixes_2_2/rtl/inc/objpas.inc ++ line=5 ++ 1136 ++ 241 ++ 1159 ++ 118 ++ 681 ++ ignore=5 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ condition=5 ++ ++ ++ ++ ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [componentstore] ++ storedir=/home/mse/packs/standard/svn/mse/trunk/apps/ide/compstore/ ++ filename=/C:/test/msegui/apps/ide/compstore/default.stg ++ [layout] ++ windowlayout=360 ++ [mainfo] ++ stackedunder= ++ x=738 ++ y=31 ++ cx=277 ++ cy=70 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=22432 ++ [mainfo.openfile] ++ filenames=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/main.pas ++ filehistory=10 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/main.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/clientform.pas ++ /C:/proj/testcase/mse/ifipipedemo/server/main.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/mseifids.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/editwidgets/msegraphedits.pas ++ /C:/proj/mseide-msegui/trunk/apps/ide/guitemplates.pas ++ /C:/proj/testcase/mse/ifipipedemo/server/clientform.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/widgets/mseforms.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/mseifigui.pas ++ /C:/proj/mseide-msegui/trunk/lib/common/ifi/mseifilink.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=799 ++ cy=609 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=277 ++ cy=15 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=componentstorefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=609 ++ y=137 ++ cx=360 ++ cy=103 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentpalettefo.componentpages] ++ activetab=5 ++ [componentstorefo] ++ splitdir=0 ++ useroptions=3097 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=100 ++ y=100 ++ cx=445 ++ cy=354 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentstorefo.grid] ++ width0=111 ++ width1=157 ++ width2=160 ++ [componentstorefo.storefiledialog] ++ filenames=1 ++ /C:/test/msegui/apps/ide/compstore/ ++ lastdir=/C:/test/msegui/apps/ide/compstore/ ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [componentstorefo.groupfiledialog] ++ filenames=1 ++ /C:/test/msegui/apps/ide/compstore/ ++ lastdir=/C:/test/msegui/apps/ide/compstore/ ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=513 ++ cx=799 ++ cy=96 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=386 ++ y=397 ++ cx=441 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=3 ++ iidstr ++ res^.iidstr^ ++ avalue.fname ++ width1=152 ++ values2=3 ++ ++ ++ ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=630 ++ y=139 ++ cx=389 ++ cy=580 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=109 ++ width1=249 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=636 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=0 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=120 ++ y=368 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=0 ++ width1=33 ++ values2=0 ++ width2=158 ++ width4=34 ++ values5=0 ++ width5=38 ++ values6=0 ++ width6=184 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=398 ++ y=170 ++ cx=599 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=263 ++ y=431 ++ cx=286 ++ cy=201 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=374 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=22 ++ y=458 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=205 ++ y=367 ++ cx=607 ++ cy=280 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=210 ++ y=110 ++ cx=809 ++ cy=609 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=0 ++ hintheight=0 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext=encodef ++ findhistory=10 ++ encodef ++ afterdisconn ++ iifiwidge ++ guitem ++ setdire ++ closemodule ++ icc_ ++ ifiwidgetcommandty ++ execu ++ beep ++ findoptions=1 ++ editpos=2 ++ 0,0 ++ 0,0 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/clientform.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/main.pas ++ relpaths=2 ++ clientform.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=2 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/clientform.mfm ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/mseifi/ifipipedemo/server/main.mfm ++ visiblemodules=2 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=104 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=160 ++ y=133 ++ cx=704 ++ cy=473 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main.mfm mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main.mfm 2008-02-28 19:43:00.000000000 +0100 +*************** +*** 0 **** +--- 1,304 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 422 ++ bounds_y = 378 ++ bounds_cx = 345 ++ bounds_cy = 242 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 345 ++ container.bounds_cy = 242 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ statfile = tstatfile1 ++ caption = 'MSEifi Pipedemo Server' ++ oneventloopstart = onstart ++ onasyncevent = asyncev ++ moduleclassname = 'tmseform' ++ object tdbstringgrid1: tdbstringgrid ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_focusbackonesc, ow_mousewheel, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 46 ++ bounds_cx = 304 ++ bounds_cy = 190 ++ frame.caption = 'Dataset' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ anchors = [an_left, an_top, an_right, an_bottom] ++ taborder = 4 ++ datasource = datasource ++ options = [dsgo_autofields] ++ optionsgrid = [og_rowinserting, og_rowdeleting, og_focuscellonenter, og_autofirstrow, og_autoappend, og_colchangeontabkey, og_autopopup, og_mousescrollcol] ++ datacols.count = 3 ++ datacols.items = < ++ item ++ width = 160 ++ datafield = 'queryField1' ++ end ++ item ++ width = 80 ++ datafield = 'string2' ++ end ++ item ++ width = 80 ++ datafield = 'integer1' ++ textflags = [tf_right, tf_ycentered, tf_noselect] ++ end> ++ datalink.options = [gdo_propscrollbar, gdo_thumbtrack, gdo_checkbrowsemodeonexit] ++ fixcols.count = 1 ++ fixcols.items = < ++ item ++ width = 15 ++ end> ++ fixrows.count = 1 ++ fixrows.items = < ++ item ++ height = 17 ++ captions.count = 3 ++ captions.items = < ++ item ++ caption = 'queryField1' ++ end ++ item ++ caption = 'string2' ++ end ++ item ++ caption = 'integer1' ++ end> ++ end> ++ datarowheight = 17 ++ statfile = tstatfile1 ++ reffontheight = 15 ++ end ++ object prociddisp: tintegerdisp ++ bounds_x = 294 ++ bounds_y = 7 ++ bounds_cx = 44 ++ bounds_cy = 37 ++ frame.caption = 'ProcID' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ textflags = [tf_xcentered, tf_right, tf_ycentered] ++ reffontheight = 15 ++ end ++ object tstringedit1: tstringedit ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_fontglyphheight, ow_autoscale] ++ bounds_x = 8 ++ bounds_y = 6 ++ bounds_cx = 100 ++ bounds_cy = 39 ++ frame.caption = 'Editwidget' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 18 ++ 0 ++ 0 ++ ) ++ taborder = 1 ++ reffontheight = 15 ++ end ++ object buttondisp: tstringdisp ++ bounds_x = 178 ++ bounds_y = 25 ++ bounds_cx = 108 ++ bounds_cy = 19 ++ frame.dummy = 0 ++ taborder = 2 ++ font.color = -1610612730 ++ font.name = 'stf_default' ++ font.xscale = 1.00000000000000000 ++ font.dummy = 0 ++ textflags = [tf_xcentered, tf_ycentered] ++ reffontheight = 15 ++ end ++ object tbutton1: tbutton ++ bounds_x = 120 ++ bounds_y = 25 ++ bounds_cx = 50 ++ bounds_cy = 19 ++ taborder = 3 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Button' ++ onexecute = buttonex ++ end ++ object slider: tslider ++ optionswidget = [ow_destroywidgets, ow_autoscale] ++ bounds_x = 318 ++ bounds_y = 64 ++ bounds_cx = 19 ++ bounds_cy = 172 ++ frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ frame.dummy = 0 ++ anchors = [an_top, an_right, an_bottom] ++ taborder = 5 ++ scrollbar.face.dummy = 0 ++ direction = gd_up ++ end ++ object channel: tpipeiochannel ++ onafterdisconnect = afterdisconn ++ active = True ++ left = 264 ++ top = 72 ++ end ++ object formlink: tformlink ++ channel = channel ++ valuewidgets.count = 3 ++ valuewidgets.items = < ++ item ++ name = 'edit1' ++ widget = tstringedit1 ++ end ++ item ++ name = 'buttondisp' ++ end ++ item ++ name = 'progressbar' ++ widget = slider ++ end> ++ actionsrx.count = 6 ++ actionsrx.items = < ++ item ++ name = 'button' ++ onexecute = buttonexe ++ end ++ item ++ name = 'quit' ++ onexecute = quitexe ++ end ++ item ++ name = 'menu1a' ++ action = menu1a ++ end ++ item ++ name = 'menu1b' ++ action = menu1b ++ end ++ item ++ name = 'menu1c' ++ action = menu1c ++ end ++ item ++ name = 'menu2a' ++ action = menu2a ++ end> ++ modulestx.count = 1 ++ modulestx.items = < ++ item ++ name = 'main' ++ moduleclassname = 'tclientfo' ++ moduleparentclassname = 'tmseform' ++ end> ++ left = 264 ++ top = 96 ++ end ++ object tstatfile1: tstatfile ++ filename = 'server.sta' ++ left = 168 ++ end ++ object timer: ttimer ++ interval = -1 ++ ontimer = ti ++ enabled = True ++ left = 264 ++ top = 128 ++ end ++ object timer2: ttimer ++ ontimer = ti2 ++ left = 264 ++ top = 160 ++ end ++ object datasource: tmsedatasource ++ DataSet = query ++ left = 176 ++ top = 168 ++ end ++ object query: ttxsqlquery ++ logfilename = 'data.log' ++ params = <> ++ IndexDefs = <> ++ Active = True ++ FieldDefs = < ++ item ++ Name = 'queryField1' ++ DataType = ftString ++ Size = 60 ++ end ++ item ++ Name = 'string2' ++ DataType = ftString ++ Size = 10 ++ end ++ item ++ Name = 'integer1' ++ DataType = ftInteger ++ end> ++ controller.fields.count = 3 ++ controller.fields.fields = ( ++ ( ++ ft_string ++ ft_string ++ ft_longint ++ ) ++ < ++ item ++ DisplayWidth = 60 ++ FieldName = 'queryField1' ++ Size = 60 ++ end ++ item ++ DisplayWidth = 10 ++ FieldName = 'string2' ++ Index = 1 ++ Size = 10 ++ end ++ item ++ AlignMent = taRightJustify ++ DisplayWidth = 10 ++ FieldName = 'integer1' ++ Index = 2 ++ end> ++ ) ++ controller.options = [dso_utf8, dso_autoapply, dso_local] ++ ifi.channel = channel ++ ifi.linkname = 'dataset' ++ left = 176 ++ top = 144 ++ end ++ object menu1a: taction ++ onexecute = menuexe ++ left = 24 ++ top = 136 ++ end ++ object menu1b: taction ++ Tag = 1 ++ onexecute = menuexe ++ left = 24 ++ top = 160 ++ end ++ object menu1c: taction ++ Tag = 2 ++ onexecute = menuexe ++ left = 24 ++ top = 184 ++ end ++ object menu2a: taction ++ Tag = 3 ++ onexecute = menuexe ++ left = 96 ++ top = 136 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main_mfm.pas mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main_mfm.pas 2008-02-28 19:43:00.000000000 +0100 +*************** +*** 0 **** +--- 1,238 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..4413] of byte end = ++ (size: 4414; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,166,1,8,98,111,117,110,100, ++ 115,95,121,3,122,1,9,98,111,117,110,100,115,95,99,120,3,89,1,9, ++ 98,111,117,110,100,115,95,99,121,3,242,0,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,89,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,242,0, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,8,115,116,97,116,102,105,108,101,7, ++ 10,116,115,116,97,116,102,105,108,101,49,7,99,97,112,116,105,111,110,6, ++ 22,77,83,69,105,102,105,32,80,105,112,101,100,101,109,111,32,83,101,114, ++ 118,101,114,16,111,110,101,118,101,110,116,108,111,111,112,115,116,97,114,116, ++ 7,7,111,110,115,116,97,114,116,12,111,110,97,115,121,110,99,101,118,101, ++ 110,116,7,7,97,115,121,110,99,101,118,15,109,111,100,117,108,101,99,108, ++ 97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,13,116, ++ 100,98,115,116,114,105,110,103,103,114,105,100,14,116,100,98,115,116,114,105, ++ 110,103,103,114,105,100,49,13,111,112,116,105,111,110,115,119,105,100,103,101, ++ 116,11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95, ++ 116,97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99, ++ 117,115,17,111,119,95,102,111,99,117,115,98,97,99,107,111,110,101,115,99, ++ 13,111,119,95,109,111,117,115,101,119,104,101,101,108,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116, ++ 103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117, ++ 110,100,115,95,121,2,46,9,98,111,117,110,100,115,95,99,120,3,48,1, ++ 9,98,111,117,110,100,115,95,99,121,3,190,0,13,102,114,97,109,101,46, ++ 99,97,112,116,105,111,110,6,7,68,97,116,97,115,101,116,11,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117,116, ++ 101,114,102,114,97,109,101,1,2,0,2,18,2,0,2,0,0,7,97,110, ++ 99,104,111,114,115,11,7,97,110,95,108,101,102,116,6,97,110,95,116,111, ++ 112,8,97,110,95,114,105,103,104,116,9,97,110,95,98,111,116,116,111,109, ++ 0,8,116,97,98,111,114,100,101,114,2,4,10,100,97,116,97,115,111,117, ++ 114,99,101,7,10,100,97,116,97,115,111,117,114,99,101,7,111,112,116,105, ++ 111,110,115,11,15,100,115,103,111,95,97,117,116,111,102,105,101,108,100,115, ++ 0,11,111,112,116,105,111,110,115,103,114,105,100,11,15,111,103,95,114,111, ++ 119,105,110,115,101,114,116,105,110,103,14,111,103,95,114,111,119,100,101,108, ++ 101,116,105,110,103,19,111,103,95,102,111,99,117,115,99,101,108,108,111,110, ++ 101,110,116,101,114,15,111,103,95,97,117,116,111,102,105,114,115,116,114,111, ++ 119,13,111,103,95,97,117,116,111,97,112,112,101,110,100,20,111,103,95,99, ++ 111,108,99,104,97,110,103,101,111,110,116,97,98,107,101,121,12,111,103,95, ++ 97,117,116,111,112,111,112,117,112,17,111,103,95,109,111,117,115,101,115,99, ++ 114,111,108,108,99,111,108,0,14,100,97,116,97,99,111,108,115,46,99,111, ++ 117,110,116,2,3,14,100,97,116,97,99,111,108,115,46,105,116,101,109,115, ++ 14,1,5,119,105,100,116,104,3,160,0,9,100,97,116,97,102,105,101,108, ++ 100,6,11,113,117,101,114,121,70,105,101,108,100,49,0,1,5,119,105,100, ++ 116,104,2,80,9,100,97,116,97,102,105,101,108,100,6,7,115,116,114,105, ++ 110,103,50,0,1,5,119,105,100,116,104,2,80,9,100,97,116,97,102,105, ++ 101,108,100,6,8,105,110,116,101,103,101,114,49,9,116,101,120,116,102,108, ++ 97,103,115,11,8,116,102,95,114,105,103,104,116,12,116,102,95,121,99,101, ++ 110,116,101,114,101,100,11,116,102,95,110,111,115,101,108,101,99,116,0,0, ++ 0,16,100,97,116,97,108,105,110,107,46,111,112,116,105,111,110,115,11,17, ++ 103,100,111,95,112,114,111,112,115,99,114,111,108,108,98,97,114,14,103,100, ++ 111,95,116,104,117,109,98,116,114,97,99,107,25,103,100,111,95,99,104,101, ++ 99,107,98,114,111,119,115,101,109,111,100,101,111,110,101,120,105,116,0,13, ++ 102,105,120,99,111,108,115,46,99,111,117,110,116,2,1,13,102,105,120,99, ++ 111,108,115,46,105,116,101,109,115,14,1,5,119,105,100,116,104,2,15,0, ++ 0,13,102,105,120,114,111,119,115,46,99,111,117,110,116,2,1,13,102,105, ++ 120,114,111,119,115,46,105,116,101,109,115,14,1,6,104,101,105,103,104,116, ++ 2,17,14,99,97,112,116,105,111,110,115,46,99,111,117,110,116,2,3,14, ++ 99,97,112,116,105,111,110,115,46,105,116,101,109,115,14,1,7,99,97,112, ++ 116,105,111,110,6,11,113,117,101,114,121,70,105,101,108,100,49,0,1,7, ++ 99,97,112,116,105,111,110,6,7,115,116,114,105,110,103,50,0,1,7,99, ++ 97,112,116,105,111,110,6,8,105,110,116,101,103,101,114,49,0,0,0,0, ++ 13,100,97,116,97,114,111,119,104,101,105,103,104,116,2,17,8,115,116,97, ++ 116,102,105,108,101,7,10,116,115,116,97,116,102,105,108,101,49,13,114,101, ++ 102,102,111,110,116,104,101,105,103,104,116,2,15,0,0,12,116,105,110,116, ++ 101,103,101,114,100,105,115,112,10,112,114,111,99,105,100,100,105,115,112,8, ++ 98,111,117,110,100,115,95,120,3,38,1,8,98,111,117,110,100,115,95,121, ++ 2,7,9,98,111,117,110,100,115,95,99,120,2,44,9,98,111,117,110,100, ++ 115,95,99,121,2,37,13,102,114,97,109,101,46,99,97,112,116,105,111,110, ++ 6,6,80,114,111,99,73,68,11,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1, ++ 2,0,2,18,2,0,2,0,0,9,116,101,120,116,102,108,97,103,115,11, ++ 12,116,102,95,120,99,101,110,116,101,114,101,100,8,116,102,95,114,105,103, ++ 104,116,12,116,102,95,121,99,101,110,116,101,114,101,100,0,13,114,101,102, ++ 102,111,110,116,104,101,105,103,104,116,2,15,0,0,11,116,115,116,114,105, ++ 110,103,101,100,105,116,12,116,115,116,114,105,110,103,101,100,105,116,49,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,109,111, ++ 117,115,101,102,111,99,117,115,11,111,119,95,116,97,98,102,111,99,117,115, ++ 13,111,119,95,97,114,114,111,119,102,111,99,117,115,17,111,119,95,100,101, ++ 115,116,114,111,121,119,105,100,103,101,116,115,18,111,119,95,102,111,110,116, ++ 103,108,121,112,104,104,101,105,103,104,116,12,111,119,95,97,117,116,111,115, ++ 99,97,108,101,0,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117, ++ 110,100,115,95,121,2,6,9,98,111,117,110,100,115,95,99,120,2,100,9, ++ 98,111,117,110,100,115,95,99,121,2,39,13,102,114,97,109,101,46,99,97, ++ 112,116,105,111,110,6,10,69,100,105,116,119,105,100,103,101,116,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,16,102,114,97,109,101,46,111,117, ++ 116,101,114,102,114,97,109,101,1,2,0,2,18,2,0,2,0,0,8,116, ++ 97,98,111,114,100,101,114,2,1,13,114,101,102,102,111,110,116,104,101,105, ++ 103,104,116,2,15,0,0,11,116,115,116,114,105,110,103,100,105,115,112,10, ++ 98,117,116,116,111,110,100,105,115,112,8,98,111,117,110,100,115,95,120,3, ++ 178,0,8,98,111,117,110,100,115,95,121,2,25,9,98,111,117,110,100,115, ++ 95,99,120,2,108,9,98,111,117,110,100,115,95,99,121,2,19,11,102,114, ++ 97,109,101,46,100,117,109,109,121,2,0,8,116,97,98,111,114,100,101,114, ++ 2,2,10,102,111,110,116,46,99,111,108,111,114,4,6,0,0,160,9,102, ++ 111,110,116,46,110,97,109,101,6,11,115,116,102,95,100,101,102,97,117,108, ++ 116,11,102,111,110,116,46,120,115,99,97,108,101,5,0,0,0,0,0,0, ++ 0,128,255,63,10,102,111,110,116,46,100,117,109,109,121,2,0,9,116,101, ++ 120,116,102,108,97,103,115,11,12,116,102,95,120,99,101,110,116,101,114,101, ++ 100,12,116,102,95,121,99,101,110,116,101,114,101,100,0,13,114,101,102,102, ++ 111,110,116,104,101,105,103,104,116,2,15,0,0,7,116,98,117,116,116,111, ++ 110,8,116,98,117,116,116,111,110,49,8,98,111,117,110,100,115,95,120,2, ++ 120,8,98,111,117,110,100,115,95,121,2,25,9,98,111,117,110,100,115,95, ++ 99,120,2,50,9,98,111,117,110,100,115,95,99,121,2,19,8,116,97,98, ++ 111,114,100,101,114,2,3,5,115,116,97,116,101,11,15,97,115,95,108,111, ++ 99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108,111, ++ 110,101,120,101,99,117,116,101,0,7,99,97,112,116,105,111,110,6,6,66, ++ 117,116,116,111,110,9,111,110,101,120,101,99,117,116,101,7,8,98,117,116, ++ 116,111,110,101,120,0,0,7,116,115,108,105,100,101,114,6,115,108,105,100, ++ 101,114,13,111,112,116,105,111,110,115,119,105,100,103,101,116,11,17,111,119, ++ 95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119,95,97, ++ 117,116,111,115,99,97,108,101,0,8,98,111,117,110,100,115,95,120,3,62, ++ 1,8,98,111,117,110,100,115,95,121,2,64,9,98,111,117,110,100,115,95, ++ 99,120,2,19,9,98,111,117,110,100,115,95,99,121,3,172,0,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10,102,114,108,95, ++ 102,105,108,101,102,116,9,102,114,108,95,102,105,116,111,112,11,102,114,108, ++ 95,102,105,114,105,103,104,116,12,102,114,108,95,102,105,98,111,116,116,111, ++ 109,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0,7,97,110,99, ++ 104,111,114,115,11,6,97,110,95,116,111,112,8,97,110,95,114,105,103,104, ++ 116,9,97,110,95,98,111,116,116,111,109,0,8,116,97,98,111,114,100,101, ++ 114,2,5,20,115,99,114,111,108,108,98,97,114,46,102,97,99,101,46,100, ++ 117,109,109,121,2,0,9,100,105,114,101,99,116,105,111,110,7,5,103,100, ++ 95,117,112,0,0,14,116,112,105,112,101,105,111,99,104,97,110,110,101,108, ++ 7,99,104,97,110,110,101,108,17,111,110,97,102,116,101,114,100,105,115,99, ++ 111,110,110,101,99,116,7,12,97,102,116,101,114,100,105,115,99,111,110,110, ++ 6,97,99,116,105,118,101,9,4,108,101,102,116,3,8,1,3,116,111,112, ++ 2,72,0,0,9,116,102,111,114,109,108,105,110,107,8,102,111,114,109,108, ++ 105,110,107,7,99,104,97,110,110,101,108,7,7,99,104,97,110,110,101,108, ++ 18,118,97,108,117,101,119,105,100,103,101,116,115,46,99,111,117,110,116,2, ++ 3,18,118,97,108,117,101,119,105,100,103,101,116,115,46,105,116,101,109,115, ++ 14,1,4,110,97,109,101,6,5,101,100,105,116,49,6,119,105,100,103,101, ++ 116,7,12,116,115,116,114,105,110,103,101,100,105,116,49,0,1,4,110,97, ++ 109,101,6,10,98,117,116,116,111,110,100,105,115,112,0,1,4,110,97,109, ++ 101,6,11,112,114,111,103,114,101,115,115,98,97,114,6,119,105,100,103,101, ++ 116,7,6,115,108,105,100,101,114,0,0,15,97,99,116,105,111,110,115,114, ++ 120,46,99,111,117,110,116,2,6,15,97,99,116,105,111,110,115,114,120,46, ++ 105,116,101,109,115,14,1,4,110,97,109,101,6,6,98,117,116,116,111,110, ++ 9,111,110,101,120,101,99,117,116,101,7,9,98,117,116,116,111,110,101,120, ++ 101,0,1,4,110,97,109,101,6,4,113,117,105,116,9,111,110,101,120,101, ++ 99,117,116,101,7,7,113,117,105,116,101,120,101,0,1,4,110,97,109,101, ++ 6,6,109,101,110,117,49,97,6,97,99,116,105,111,110,7,6,109,101,110, ++ 117,49,97,0,1,4,110,97,109,101,6,6,109,101,110,117,49,98,6,97, ++ 99,116,105,111,110,7,6,109,101,110,117,49,98,0,1,4,110,97,109,101, ++ 6,6,109,101,110,117,49,99,6,97,99,116,105,111,110,7,6,109,101,110, ++ 117,49,99,0,1,4,110,97,109,101,6,6,109,101,110,117,50,97,6,97, ++ 99,116,105,111,110,7,6,109,101,110,117,50,97,0,0,15,109,111,100,117, ++ 108,101,115,116,120,46,99,111,117,110,116,2,1,15,109,111,100,117,108,101, ++ 115,116,120,46,105,116,101,109,115,14,1,4,110,97,109,101,6,4,109,97, ++ 105,110,15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,9, ++ 116,99,108,105,101,110,116,102,111,21,109,111,100,117,108,101,112,97,114,101, ++ 110,116,99,108,97,115,115,110,97,109,101,6,8,116,109,115,101,102,111,114, ++ 109,0,0,4,108,101,102,116,3,8,1,3,116,111,112,2,96,0,0,9, ++ 116,115,116,97,116,102,105,108,101,10,116,115,116,97,116,102,105,108,101,49, ++ 8,102,105,108,101,110,97,109,101,6,10,115,101,114,118,101,114,46,115,116, ++ 97,4,108,101,102,116,3,168,0,0,0,6,116,116,105,109,101,114,5,116, ++ 105,109,101,114,8,105,110,116,101,114,118,97,108,2,255,7,111,110,116,105, ++ 109,101,114,7,2,116,105,7,101,110,97,98,108,101,100,9,4,108,101,102, ++ 116,3,8,1,3,116,111,112,3,128,0,0,0,6,116,116,105,109,101,114, ++ 6,116,105,109,101,114,50,7,111,110,116,105,109,101,114,7,3,116,105,50, ++ 4,108,101,102,116,3,8,1,3,116,111,112,3,160,0,0,0,14,116,109, ++ 115,101,100,97,116,97,115,111,117,114,99,101,10,100,97,116,97,115,111,117, ++ 114,99,101,7,68,97,116,97,83,101,116,7,5,113,117,101,114,121,4,108, ++ 101,102,116,3,176,0,3,116,111,112,3,168,0,0,0,11,116,116,120,115, ++ 113,108,113,117,101,114,121,5,113,117,101,114,121,11,108,111,103,102,105,108, ++ 101,110,97,109,101,6,8,100,97,116,97,46,108,111,103,6,112,97,114,97, ++ 109,115,14,0,9,73,110,100,101,120,68,101,102,115,14,0,6,65,99,116, ++ 105,118,101,9,9,70,105,101,108,100,68,101,102,115,14,1,4,78,97,109, ++ 101,6,11,113,117,101,114,121,70,105,101,108,100,49,8,68,97,116,97,84, ++ 121,112,101,7,8,102,116,83,116,114,105,110,103,4,83,105,122,101,2,60, ++ 0,1,4,78,97,109,101,6,7,115,116,114,105,110,103,50,8,68,97,116, ++ 97,84,121,112,101,7,8,102,116,83,116,114,105,110,103,4,83,105,122,101, ++ 2,10,0,1,4,78,97,109,101,6,8,105,110,116,101,103,101,114,49,8, ++ 68,97,116,97,84,121,112,101,7,9,102,116,73,110,116,101,103,101,114,0, ++ 0,23,99,111,110,116,114,111,108,108,101,114,46,102,105,101,108,100,115,46, ++ 99,111,117,110,116,2,3,24,99,111,110,116,114,111,108,108,101,114,46,102, ++ 105,101,108,100,115,46,102,105,101,108,100,115,1,1,7,9,102,116,95,115, ++ 116,114,105,110,103,7,9,102,116,95,115,116,114,105,110,103,7,10,102,116, ++ 95,108,111,110,103,105,110,116,0,14,1,12,68,105,115,112,108,97,121,87, ++ 105,100,116,104,2,60,9,70,105,101,108,100,78,97,109,101,6,11,113,117, ++ 101,114,121,70,105,101,108,100,49,4,83,105,122,101,2,60,0,1,12,68, ++ 105,115,112,108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78, ++ 97,109,101,6,7,115,116,114,105,110,103,50,5,73,110,100,101,120,2,1, ++ 4,83,105,122,101,2,10,0,1,9,65,108,105,103,110,77,101,110,116,7, ++ 14,116,97,82,105,103,104,116,74,117,115,116,105,102,121,12,68,105,115,112, ++ 108,97,121,87,105,100,116,104,2,10,9,70,105,101,108,100,78,97,109,101, ++ 6,8,105,110,116,101,103,101,114,49,5,73,110,100,101,120,2,2,0,0, ++ 0,18,99,111,110,116,114,111,108,108,101,114,46,111,112,116,105,111,110,115, ++ 11,8,100,115,111,95,117,116,102,56,13,100,115,111,95,97,117,116,111,97, ++ 112,112,108,121,9,100,115,111,95,108,111,99,97,108,0,11,105,102,105,46, ++ 99,104,97,110,110,101,108,7,7,99,104,97,110,110,101,108,12,105,102,105, ++ 46,108,105,110,107,110,97,109,101,6,7,100,97,116,97,115,101,116,4,108, ++ 101,102,116,3,176,0,3,116,111,112,3,144,0,0,0,7,116,97,99,116, ++ 105,111,110,6,109,101,110,117,49,97,9,111,110,101,120,101,99,117,116,101, ++ 7,7,109,101,110,117,101,120,101,4,108,101,102,116,2,24,3,116,111,112, ++ 3,136,0,0,0,7,116,97,99,116,105,111,110,6,109,101,110,117,49,98, ++ 3,84,97,103,2,1,9,111,110,101,120,101,99,117,116,101,7,7,109,101, ++ 110,117,101,120,101,4,108,101,102,116,2,24,3,116,111,112,3,160,0,0, ++ 0,7,116,97,99,116,105,111,110,6,109,101,110,117,49,99,3,84,97,103, ++ 2,2,9,111,110,101,120,101,99,117,116,101,7,7,109,101,110,117,101,120, ++ 101,4,108,101,102,116,2,24,3,116,111,112,3,184,0,0,0,7,116,97, ++ 99,116,105,111,110,6,109,101,110,117,50,97,3,84,97,103,2,3,9,111, ++ 110,101,120,101,99,117,116,101,7,7,109,101,110,117,101,120,101,4,108,101, ++ 102,116,2,96,3,116,111,112,3,136,0,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main.pas mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/mseifi/ifipipedemo/server/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/mseifi/ifipipedemo/server/main.pas 2008-02-28 14:59:00.000000000 +0100 +*************** +*** 0 **** +--- 1,140 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,mseifi,msedispwidgets,msestrings, ++ msetypes,msegrids,mseifigui,msedataedits,mseedit,msestatfile,msetimer, ++ mseifilink,msesimplewidgets,msewidgets,db,msebufdataset,msedb,mseifids, ++ msesqldb,msqldb,sysutils,msedbedit,msedialog,msegraphedits,mseact,mseactions; ++ ++ type ++ tmainfo = class(tmseform) ++ channel: tpipeiochannel; ++ prociddisp: tintegerdisp; ++ formlink: tformlink; ++ tstringedit1: tstringedit; ++ tstatfile1: tstatfile; ++ buttondisp: tstringdisp; ++ timer: ttimer; ++ tbutton1: tbutton; ++ timer2: ttimer; ++ tdbstringgrid1: tdbstringgrid; ++ datasource: tmsedatasource; ++ query: ttxsqlquery; ++ slider: tslider; ++ menu1a: taction; ++ menu1b: taction; ++ menu1c: taction; ++ menu2a: taction; ++ procedure onstart(const sender: TObject); ++ procedure buttonexe(const sender: trxlinkaction; const atag: Integer; ++ const aparams: Variant); ++ procedure ti(const sender: TObject); ++ procedure buttonex(const sender: TObject); ++ procedure ti2(const sender: TObject); ++ procedure setdsactive(const sender: TObject; var avalue: Boolean; ++ var accept: Boolean); ++ procedure menuexe(const sender: TObject); ++ procedure quitexe(const sender: trxlinkaction; const atag: Integer; ++ const aparams: Variant); ++ procedure afterdisconn(const sender: tcustomiochannel); ++ procedure asyncev(const sender: TObject; var atag: Integer); ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ classes,clientform,main_mfm; ++ const ++ showtime = 2000000; ++ ++ procedure showaction(const adisp: tstringdisp; atext: msestring); ++ begin ++ with adisp do begin ++ color:= cl_red; ++ value:= atext; ++ mainfo.timer.interval:= -showtime; ++ mainfo.timer.enabled:= true; ++ end; ++ end; ++ ++ procedure clearaction(const adisp: tstringdisp); ++ begin ++ with adisp do begin ++ color:= cl_default; ++ value:= ''; ++ end; ++ end; ++ ++ {tmainfo} ++ ++ procedure tmainfo.onstart(const sender: TObject); ++ begin ++ prociddisp.value:= getprocessid; ++ formlink.modulestx[0].sendmodule; ++ end; ++ ++ procedure tmainfo.buttonexe(const sender: trxlinkaction; const atag: Integer; ++ const aparams: Variant); ++ begin ++ showaction(buttondisp,'Button clicked'); ++ end; ++ ++ procedure tmainfo.ti(const sender: TObject); ++ begin ++ clearaction(buttondisp); ++ end; ++ ++ procedure tmainfo.buttonex(const sender: TObject); ++ begin ++ with formlink.valuewidgets[1] do begin ++ asstring:= 'Button clicked'; ++ sendvalue('color',cl_red); ++ end; ++ timer2.interval:= -showtime; ++ timer2.enabled:= true; ++ end; ++ ++ procedure tmainfo.ti2(const sender: TObject); ++ begin ++ with formlink.valuewidgets[1] do begin ++ asstring:= ''; ++ sendvalue('color',cl_default); ++ end; ++ end; ++ ++ procedure tmainfo.setdsactive(const sender: TObject; var avalue: Boolean; ++ var accept: Boolean); ++ begin ++ query.active:= avalue; ++ end; ++ ++ const ++ menutexts: array[0..3] of msestring = ++ ('Menu1 A clicked','Menu1 B clicked','Menu1 C clicked', ++ 'Menu2 clicked'); ++ ++ procedure tmainfo.menuexe(const sender: TObject); ++ begin ++ showaction(buttondisp,menutexts[tcomponent(sender).tag]); ++ end; ++ ++ procedure tmainfo.asyncev(const sender: TObject; var atag: Integer); ++ begin ++ close; ++ end; ++ ++ procedure tmainfo.quitexe(const sender: trxlinkaction; const atag: Integer; ++ const aparams: Variant); ++ begin ++ formlink.modulestx[0].close; ++ asyncevent; ++ end; ++ ++ procedure tmainfo.afterdisconn(const sender: tcustomiochannel); ++ begin ++ close; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform.mfm mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform.mfm 2007-12-27 09:51:00.000000000 +0100 +*************** +*** 0 **** +--- 1,96 ---- ++ object barfo: tbarfo ++ bounds_x = 233 ++ bounds_y = 247 ++ bounds_cx = 218 ++ bounds_cy = 86 ++ frame.levelo = 2 ++ frame.localprops = [frl_levelo] ++ frame.dummy = 0 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_mousewheel, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 2 ++ container.bounds_y = 2 ++ container.bounds_cx = 214 ++ container.bounds_cy = 82 ++ container.frame.dummy = 0 ++ optionswindow = [wo_popup] ++ options = [fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ moduleclassname = 'tmseform' ++ object bar: tprogressbar ++ bounds_x = 8 ++ bounds_y = 2 ++ bounds_cy = 41 ++ frame.levelo = -2 ++ frame.framewidth = 1 ++ frame.colorframe = -1610612734 ++ frame.framei_left = 0 ++ frame.framei_top = 0 ++ frame.framei_right = 0 ++ frame.framei_bottom = 0 ++ frame.caption = 'Current item' ++ frame.localprops = [frl_levelo, frl_framewidth, frl_colorframe, frl_fileft, frl_fitop, frl_firight, frl_fibottom, frl_colorclient] ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 17 ++ 0 ++ 0 ++ ) ++ face.fade_pos.count = 2 ++ face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 1.0000000000000000E+0000 ++ ) ++ face.fade_color.count = 2 ++ face.fade_color.items = ( ++ -1610612712 ++ -1610612729 ++ ) ++ face.localprops = [fal_fatransparency] ++ face.dummy = 0 ++ bar_face.fade_pos.count = 3 ++ bar_face.fade_pos.items = ( ++ 0.0000000000000000E+0000 ++ 4.0000000000000002E-0001 ++ 1.0000000000000000E+0000 ++ ) ++ bar_face.fade_color.count = 3 ++ bar_face.fade_color.items = ( ++ -1610612721 ++ -1610612715 ++ -1610612727 ++ ) ++ bar_face.fade_direction = gd_up ++ bar_face.fade_transparency = 8421376 ++ bar_face.localprops = [fal_fadirection, fal_fatransparency] ++ bar_face.dummy = 0 ++ bar_frame.framei_top = 2 ++ bar_frame.framei_bottom = 2 ++ bar_frame.localprops = [frl_fileft, frl_fitop, frl_firight, frl_fibottom] ++ bar_frame.dummy = 0 ++ valuescale = 1.0000000000000000E-0002 ++ font.color = -1610612730 ++ font.colorshadow = -1610612734 ++ font.style = [fs_bold] ++ font.name = 'stf_default' ++ font.xscale = 1.0000000000000000E+0000 ++ font.dummy = 0 ++ format = ' 0%' ++ end ++ object tbutton1: tbutton ++ bounds_x = 80 ++ bounds_y = 53 ++ bounds_cx = 50 ++ bounds_cy = 20 ++ taborder = 1 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Cancel' ++ onexecute = cancelex ++ end ++ object thrTask: tthreadcomp ++ active = True ++ onexecute = taskexecute ++ onterminate = taskfinished ++ top = 40 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform_mfm.pas mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform_mfm.pas 2007-12-27 09:51:00.000000000 +0100 +*************** +*** 0 **** +--- 1,113 ---- ++ unit barform_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,barform; ++ ++ const ++ objdata: record size: integer; data: array[0..1903] of byte end = ++ (size: 1904; data: ( ++ 84,80,70,48,6,116,98,97,114,102,111,5,98,97,114,102,111,8,98,111, ++ 117,110,100,115,95,120,3,233,0,8,98,111,117,110,100,115,95,121,3,247, ++ 0,9,98,111,117,110,100,115,95,99,120,3,218,0,9,98,111,117,110,100, ++ 115,95,99,121,2,86,12,102,114,97,109,101,46,108,101,118,101,108,111,2, ++ 2,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,10, ++ 102,114,108,95,108,101,118,101,108,111,0,11,102,114,97,109,101,46,100,117, ++ 109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,23,99,111,110, ++ 116,97,105,110,101,114,46,111,112,116,105,111,110,115,119,105,100,103,101,116, ++ 11,13,111,119,95,109,111,117,115,101,102,111,99,117,115,11,111,119,95,116, ++ 97,98,102,111,99,117,115,13,111,119,95,97,114,114,111,119,102,111,99,117, ++ 115,11,111,119,95,115,117,98,102,111,99,117,115,19,111,119,95,109,111,117, ++ 115,101,116,114,97,110,115,112,97,114,101,110,116,13,111,119,95,109,111,117, ++ 115,101,119,104,101,101,108,17,111,119,95,100,101,115,116,114,111,121,119,105, ++ 100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101,0,18, ++ 99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,120,2,2, ++ 18,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,121,2, ++ 2,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99, ++ 120,3,214,0,19,99,111,110,116,97,105,110,101,114,46,98,111,117,110,100, ++ 115,95,99,121,2,82,21,99,111,110,116,97,105,110,101,114,46,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,13,111,112,116,105,111,110,115,119,105, ++ 110,100,111,119,11,8,119,111,95,112,111,112,117,112,0,7,111,112,116,105, ++ 111,110,115,11,17,102,111,95,115,99,114,101,101,110,99,101,110,116,101,114, ++ 101,100,15,102,111,95,97,117,116,111,114,101,97,100,115,116,97,116,16,102, ++ 111,95,97,117,116,111,119,114,105,116,101,115,116,97,116,10,102,111,95,115, ++ 97,118,101,112,111,115,12,102,111,95,115,97,118,101,115,116,97,116,101,0, ++ 15,109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109, ++ 115,101,102,111,114,109,0,12,116,112,114,111,103,114,101,115,115,98,97,114, ++ 3,98,97,114,8,98,111,117,110,100,115,95,120,2,8,8,98,111,117,110, ++ 100,115,95,121,2,2,9,98,111,117,110,100,115,95,99,121,2,41,12,102, ++ 114,97,109,101,46,108,101,118,101,108,111,2,254,16,102,114,97,109,101,46, ++ 102,114,97,109,101,119,105,100,116,104,2,1,16,102,114,97,109,101,46,99, ++ 111,108,111,114,102,114,97,109,101,4,2,0,0,160,17,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,108,101,102,116,2,0,16,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,116,111,112,2,0,18,102,114,97,109,101,46, ++ 102,114,97,109,101,105,95,114,105,103,104,116,2,0,19,102,114,97,109,101, ++ 46,102,114,97,109,101,105,95,98,111,116,116,111,109,2,0,13,102,114,97, ++ 109,101,46,99,97,112,116,105,111,110,6,12,67,117,114,114,101,110,116,32, ++ 105,116,101,109,16,102,114,97,109,101,46,108,111,99,97,108,112,114,111,112, ++ 115,11,10,102,114,108,95,108,101,118,101,108,111,14,102,114,108,95,102,114, ++ 97,109,101,119,105,100,116,104,14,102,114,108,95,99,111,108,111,114,102,114, ++ 97,109,101,10,102,114,108,95,102,105,108,101,102,116,9,102,114,108,95,102, ++ 105,116,111,112,11,102,114,108,95,102,105,114,105,103,104,116,12,102,114,108, ++ 95,102,105,98,111,116,116,111,109,15,102,114,108,95,99,111,108,111,114,99, ++ 108,105,101,110,116,0,11,102,114,97,109,101,46,100,117,109,109,121,2,0, ++ 16,102,114,97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0, ++ 2,17,2,0,2,0,0,19,102,97,99,101,46,102,97,100,101,95,112,111, ++ 115,46,99,111,117,110,116,2,2,19,102,97,99,101,46,102,97,100,101,95, ++ 112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0,0,0,0,0, ++ 0,5,0,0,0,0,0,0,0,128,255,63,0,21,102,97,99,101,46,102, ++ 97,100,101,95,99,111,108,111,114,46,99,111,117,110,116,2,2,21,102,97, ++ 99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109,115,1, ++ 4,24,0,0,160,4,7,0,0,160,0,15,102,97,99,101,46,108,111,99, ++ 97,108,112,114,111,112,115,11,18,102,97,108,95,102,97,116,114,97,110,115, ++ 112,97,114,101,110,99,121,0,10,102,97,99,101,46,100,117,109,109,121,2, ++ 0,23,98,97,114,95,102,97,99,101,46,102,97,100,101,95,112,111,115,46, ++ 99,111,117,110,116,2,3,23,98,97,114,95,102,97,99,101,46,102,97,100, ++ 101,95,112,111,115,46,105,116,101,109,115,1,5,0,0,0,0,0,0,0, ++ 0,0,0,5,0,208,204,204,204,204,204,204,253,63,5,0,0,0,0,0, ++ 0,0,128,255,63,0,25,98,97,114,95,102,97,99,101,46,102,97,100,101, ++ 95,99,111,108,111,114,46,99,111,117,110,116,2,3,25,98,97,114,95,102, ++ 97,99,101,46,102,97,100,101,95,99,111,108,111,114,46,105,116,101,109,115, ++ 1,4,15,0,0,160,4,21,0,0,160,4,9,0,0,160,0,23,98,97, ++ 114,95,102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111, ++ 110,7,5,103,100,95,117,112,26,98,97,114,95,102,97,99,101,46,102,97, ++ 100,101,95,116,114,97,110,115,112,97,114,101,110,99,121,4,0,128,128,0, ++ 19,98,97,114,95,102,97,99,101,46,108,111,99,97,108,112,114,111,112,115, ++ 11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,18,102,97, ++ 108,95,102,97,116,114,97,110,115,112,97,114,101,110,99,121,0,14,98,97, ++ 114,95,102,97,99,101,46,100,117,109,109,121,2,0,20,98,97,114,95,102, ++ 114,97,109,101,46,102,114,97,109,101,105,95,116,111,112,2,2,23,98,97, ++ 114,95,102,114,97,109,101,46,102,114,97,109,101,105,95,98,111,116,116,111, ++ 109,2,2,20,98,97,114,95,102,114,97,109,101,46,108,111,99,97,108,112, ++ 114,111,112,115,11,10,102,114,108,95,102,105,108,101,102,116,9,102,114,108, ++ 95,102,105,116,111,112,11,102,114,108,95,102,105,114,105,103,104,116,12,102, ++ 114,108,95,102,105,98,111,116,116,111,109,0,15,98,97,114,95,102,114,97, ++ 109,101,46,100,117,109,109,121,2,0,10,118,97,108,117,101,115,99,97,108, ++ 101,5,0,216,163,112,61,10,215,163,248,63,10,102,111,110,116,46,99,111, ++ 108,111,114,4,6,0,0,160,16,102,111,110,116,46,99,111,108,111,114,115, ++ 104,97,100,111,119,4,2,0,0,160,10,102,111,110,116,46,115,116,121,108, ++ 101,11,7,102,115,95,98,111,108,100,0,9,102,111,110,116,46,110,97,109, ++ 101,6,11,115,116,102,95,100,101,102,97,117,108,116,11,102,111,110,116,46, ++ 120,115,99,97,108,101,5,0,0,0,0,0,0,0,128,255,63,10,102,111, ++ 110,116,46,100,117,109,109,121,2,0,6,102,111,114,109,97,116,6,3,32, ++ 48,37,0,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116,111,110, ++ 49,8,98,111,117,110,100,115,95,120,2,80,8,98,111,117,110,100,115,95, ++ 121,2,53,9,98,111,117,110,100,115,95,99,120,2,50,9,98,111,117,110, ++ 100,115,95,99,121,2,20,8,116,97,98,111,114,100,101,114,2,1,5,115, ++ 116,97,116,101,11,15,97,115,95,108,111,99,97,108,99,97,112,116,105,111, ++ 110,17,97,115,95,108,111,99,97,108,111,110,101,120,101,99,117,116,101,0, ++ 7,99,97,112,116,105,111,110,6,6,67,97,110,99,101,108,9,111,110,101, ++ 120,101,99,117,116,101,7,8,99,97,110,99,101,108,101,120,0,0,11,116, ++ 116,104,114,101,97,100,99,111,109,112,7,116,104,114,84,97,115,107,6,97, ++ 99,116,105,118,101,9,9,111,110,101,120,101,99,117,116,101,7,11,116,97, ++ 115,107,101,120,101,99,117,116,101,11,111,110,116,101,114,109,105,110,97,116, ++ 101,7,12,116,97,115,107,102,105,110,105,115,104,101,100,3,116,111,112,2, ++ 40,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tbarfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform.pas mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform.pas +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/barform.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/barform.pas 2007-12-27 09:51:00.000000000 +0100 +*************** +*** 0 **** +--- 1,67 ---- ++ unit barform; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msegraphedits,mseevent,msegraphics,msegraphutils, ++ msemenus,msesimplewidgets,msewidgets,mseguithread; ++ ++ type ++ tbarfo = class(tmseform) ++ bar: tprogressbar; ++ tbutton1: tbutton; ++ thrTask: tthreadcomp; ++ procedure cancelex(const sender: TObject); ++ procedure taskexecute(const sender: tthreadcomp); ++ procedure taskfinished(const sender: tthreadcomp); ++ end; ++ ++ implementation ++ ++ uses ++ barform_mfm,main,sysutils; ++ ++ procedure tbarfo.taskexecute(const sender: tthreadcomp); ++ var ++ i: integer; ++ const ++ cnt = 20; ++ begin ++ for i:= 1 to cnt do begin ++ application.lock; ++ try ++ bar.value:= i/cnt; ++ //tprogressbar.value is thread safe. ++ //calling application.lock/unlock is ++ //actually not necessary if you don't access other GUI ++ //elements. ++ finally ++ application.unlock; ++ end; ++ sleep(200); ++ if sender.terminated then begin ++ break; ++ end; ++ end; ++ end; ++ ++ procedure tbarfo.taskfinished(const sender: tthreadcomp); ++ begin //application has already been locked by tthreadcomp ++ release; ++ end; ++ ++ procedure tbarfo.cancelex(const sender: TObject); ++ begin ++ application.lock; ++ try ++ if not releasing then begin //there could be a race condition ++ //with terminated thread ++ if askyesno('Do you wish to cancel the task?') then begin ++ thrTask.terminate; ++ end; ++ end; ++ finally ++ application.unlock; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main.mfm mseide-msegui-1.8/docs/tutorials/thread/progressbar/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/main.mfm 2007-12-27 08:16:00.000000000 +0100 +*************** +*** 0 **** +--- 1,38 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 141 ++ bounds_y = 156 ++ bounds_cx = 337 ++ bounds_cy = 64 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 337 ++ container.bounds_cy = 64 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_screencentered, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ caption = 'Everlasting task runner' ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ bounds_x = 120 ++ bounds_y = 16 ++ bounds_cx = 98 ++ bounds_cy = 35 ++ face.image.transparentcolor = -2147483642 ++ face.image.options = [bmo_masked, bmo_colormask] ++ face.image.alignment = [al_stretchx, al_stretchy, al_intpol] ++ face.image.image = { ++ 0000000006000000100000001000000008000000000000000000000000000000 ++ 0000000000000000000000000000000000000000B56059FFB560590108000000 ++ 000000FF00000001 ++ } ++ face.fade_direction = gd_up ++ face.localprops = [fal_fadirection, fal_fatransparency] ++ face.dummy = 0 ++ state = [as_localcaption, as_localonexecute] ++ caption = 'Run task' ++ onexecute = taskexec ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main_mfm.pas mseide-msegui-1.8/docs/tutorials/thread/progressbar/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/main_mfm.pas 2007-12-27 08:16:00.000000000 +0100 +*************** +*** 0 **** +--- 1,71 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1074] of byte end = ++ (size: 1075; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,141,0,8,98,111,117,110,100, ++ 115,95,121,3,156,0,9,98,111,117,110,100,115,95,99,120,3,81,1,9, ++ 98,111,117,110,100,115,95,99,121,2,64,8,116,97,98,111,114,100,101,114, ++ 2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110,115, ++ 119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99,117, ++ 115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114,114, ++ 111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115,19, ++ 111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116,17, ++ 111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111,119, ++ 95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110,101, ++ 114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,99,120,3,81,1,19,99,111,110, ++ 116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,2,64,21,99, ++ 111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109,109,121, ++ 2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14,119,111, ++ 95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105,111,110, ++ 115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109,105,110, ++ 97,116,101,111,110,99,108,111,115,101,17,102,111,95,115,99,114,101,101,110, ++ 99,101,110,116,101,114,101,100,15,102,111,95,97,117,116,111,114,101,97,100, ++ 115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116,101,115,116,97, ++ 116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95,115,97,118,101, ++ 115,116,97,116,101,0,7,99,97,112,116,105,111,110,6,23,69,118,101,114, ++ 108,97,115,116,105,110,103,32,116,97,115,107,32,114,117,110,110,101,114,15, ++ 109,111,100,117,108,101,99,108,97,115,115,110,97,109,101,6,8,116,109,115, ++ 101,102,111,114,109,0,7,116,98,117,116,116,111,110,8,116,98,117,116,116, ++ 111,110,49,8,98,111,117,110,100,115,95,120,2,120,8,98,111,117,110,100, ++ 115,95,121,2,16,9,98,111,117,110,100,115,95,99,120,2,98,9,98,111, ++ 117,110,100,115,95,99,121,2,35,27,102,97,99,101,46,105,109,97,103,101, ++ 46,116,114,97,110,115,112,97,114,101,110,116,99,111,108,111,114,4,6,0, ++ 0,128,18,102,97,99,101,46,105,109,97,103,101,46,111,112,116,105,111,110, ++ 115,11,10,98,109,111,95,109,97,115,107,101,100,13,98,109,111,95,99,111, ++ 108,111,114,109,97,115,107,0,20,102,97,99,101,46,105,109,97,103,101,46, ++ 97,108,105,103,110,109,101,110,116,11,11,97,108,95,115,116,114,101,116,99, ++ 104,120,11,97,108,95,115,116,114,101,116,99,104,121,9,97,108,95,105,110, ++ 116,112,111,108,0,16,102,97,99,101,46,105,109,97,103,101,46,105,109,97, ++ 103,101,10,72,0,0,0,0,0,0,0,6,0,0,0,16,0,0,0,16, ++ 0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, ++ 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,181, ++ 96,89,255,181,96,89,1,8,0,0,0,0,0,0,255,0,0,0,1,19, ++ 102,97,99,101,46,102,97,100,101,95,100,105,114,101,99,116,105,111,110,7, ++ 5,103,100,95,117,112,15,102,97,99,101,46,108,111,99,97,108,112,114,111, ++ 112,115,11,15,102,97,108,95,102,97,100,105,114,101,99,116,105,111,110,18, ++ 102,97,108,95,102,97,116,114,97,110,115,112,97,114,101,110,99,121,0,10, ++ 102,97,99,101,46,100,117,109,109,121,2,0,5,115,116,97,116,101,11,15, ++ 97,115,95,108,111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108, ++ 111,99,97,108,111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105, ++ 111,110,6,8,82,117,110,32,116,97,115,107,9,111,110,101,120,101,99,117, ++ 116,101,7,8,116,97,115,107,101,120,101,99,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main.pas mseide-msegui-1.8/docs/tutorials/thread/progressbar/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/main.pas 2007-12-27 08:16:00.000000000 +0100 +*************** +*** 0 **** +--- 1,26 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ msegui,mseclasses,mseforms,msesimplewidgets,mseguithread; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ procedure taskexec(const sender: TObject); ++ end; ++ ++ var ++ mainfo: tmainfo; ++ ++ implementation ++ ++ uses ++ main_mfm,barform; ++ ++ procedure tmainfo.taskexec(const sender: TObject); ++ begin ++ tbarfo.create(application).show(true); ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/progressbar.pas mseide-msegui-1.8/docs/tutorials/thread/progressbar/progressbar.pas +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/progressbar.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/progressbar.pas 2007-12-27 08:16:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program progressbar; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/progressbar.prj mseide-msegui-1.8/docs/tutorials/thread/progressbar/progressbar.prj +*** mseide-msegui-1.8.orig/docs/tutorials/thread/progressbar/progressbar.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/thread/progressbar/progressbar.prj 2007-12-27 08:16:00.000000000 +0100 +*************** +*** 0 **** +--- 1,694 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ order12=0 ++ order13=0 ++ [projectoptions] ++ projectdir=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar ++ projectfilename=/home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/progressbar.prj ++ options=57 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.ttabwidget2] ++ firsttab=0 ++ index=1 ++ [projectoptionsfo.filefiltergrid] ++ width0=112 ++ width1=673 ++ [projectoptionsfo.grid] ++ width1=566 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=766 ++ [projectoptionsfo.makegroupbox] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.newfile] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.twidgetgrid3] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=141 ++ width4=290 ++ width5=320 ++ colordialog=6 ++ [colordialogfo] ++ stackedunder= ++ x=145 ++ y=239 ++ cx=342 ++ cy=303 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=2 ++ BARFO ++ MAINFO ++ moduletypes=2 ++ TBARFO ++ TMAINFO ++ modulefiles=2 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/barform.mfm ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/main.mfm ++ mainfile=progressbar.pas ++ targetfile=progressbar${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=20 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ 0 ++ usercolorcomment=20 ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=14 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=1 ++ 0 ++ path=1 ++ /home/pochta/mseide_projects/progressbar1/main.pas ++ line=1 ++ 47 ++ ignore=1 ++ 0 ++ condition=1 ++ ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [layout] ++ windowlayout=313 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=1 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/progressbar.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=719 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=38 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=298 ++ y=20 ++ cx=435 ++ cy=78 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=2 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=401 ++ cx=719 ++ cy=90 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=741 ++ y=20 ++ cx=278 ++ cy=595 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=149 ++ width1=113 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=0 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=126 ++ cx=729 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=314 ++ hintheight=214 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=3 ++ 0,-1073741823 ++ 0,14 ++ 0,16 ++ bookmarks0=0 ++ bookmarks1=0 ++ bookmarks2=0 ++ sourcefiles=3 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/progressbar.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/main.pas ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/barform.pas ++ relpaths=3 ++ progressbar.pas ++ main.pas ++ barform.pas ++ ismoduletexts=3 ++ 0 ++ 0 ++ 0 ++ modules=2 ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/main.mfm ++ /home/mse/packs/standard/svn/msedocumenting/mse/trunk/help/tutorials/thread/progressbar/barform.mfm ++ visiblemodules=2 ++ 1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=96 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main.mfm mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main.mfm +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main.mfm 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main.mfm 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,63 ---- ++ object mainfo: tmainfo ++ optionswidget = [ow_arrowfocus, ow_subfocus, ow_destroywidgets, ow_hinton, ow_autoscale] ++ bounds_x = 181 ++ bounds_y = 257 ++ bounds_cx = 458 ++ bounds_cy = 280 ++ taborder = 1 ++ container.optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_subfocus, ow_mousetransparent, ow_destroywidgets, ow_autoscale] ++ container.bounds_x = 0 ++ container.bounds_y = 0 ++ container.bounds_cx = 458 ++ container.bounds_cy = 280 ++ container.frame.dummy = 0 ++ optionswindow = [wo_groupleader] ++ options = [fo_main, fo_terminateonclose, fo_autoreadstat, fo_autowritestat, fo_savepos, fo_savestate] ++ moduleclassname = 'tmseform' ++ object tbutton1: tbutton ++ optionswidget = [ow_mousefocus, ow_tabfocus, ow_arrowfocus, ow_destroywidgets, ow_autoscale] ++ bounds_x = 256 ++ bounds_y = 48 ++ bounds_cx = 106 ++ bounds_cy = 19 ++ state = [as_localcaption, as_localonexecute] ++ caption = '&Print' ++ onexecute = cmdprint ++ end ++ object tmemoedit1: tmemoedit ++ bounds_x = 8 ++ bounds_y = 8 ++ bounds_cx = 236 ++ bounds_cy = 203 ++ frame.localprops = [frl_colorclient] ++ frame.dummy = 0 ++ taborder = 1 ++ value = 'Printing to default printer:'#13#10'roman'#13#10'courier'#13#10'bold'#13#10'italic'#13#10'underline'#13#10'strike'#13#10'small'#13#10'normal'#13#10'big'#13#10'double'#13#10'subtext'#13#10'supertext'#13#10'right-aligned'#13#10'
centered
'#13#10'left-aligned' ++ end ++ object tbooleanedit1: tbooleanedit ++ bounds_x = 256 ++ bounds_y = 15 ++ bounds_cx = 140 ++ bounds_cy = 15 ++ frame.caption = '&Eject paper when finished' ++ frame.dummy = 0 ++ frame.outerframe = ( ++ 0 ++ 1 ++ 127 ++ 1 ++ ) ++ taborder = 2 ++ ondataentered = changeejectpaper ++ end ++ object TRAWPrinter1: TRAWPrinter ++ CommandType = rpcEpson ++ DocumentTitle = 'RAW Printing' ++ NewLineCode = nlCRLF ++ InitPrinterRequired = False ++ PageWidth = 98 ++ PageHeight = 68 ++ left = 256 ++ top = 88 ++ end ++ end +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main_mfm.pas mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main_mfm.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main_mfm.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main_mfm.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,99 ---- ++ unit main_mfm; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ mseclasses,main; ++ ++ const ++ objdata: record size: integer; data: array[0..1626] of byte end = ++ (size: 1627; data: ( ++ 84,80,70,48,7,116,109,97,105,110,102,111,6,109,97,105,110,102,111,13, ++ 111,112,116,105,111,110,115,119,105,100,103,101,116,11,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,9,111, ++ 119,95,104,105,110,116,111,110,12,111,119,95,97,117,116,111,115,99,97,108, ++ 101,0,8,98,111,117,110,100,115,95,120,3,181,0,8,98,111,117,110,100, ++ 115,95,121,3,1,1,9,98,111,117,110,100,115,95,99,120,3,202,1,9, ++ 98,111,117,110,100,115,95,99,121,3,24,1,8,116,97,98,111,114,100,101, ++ 114,2,1,23,99,111,110,116,97,105,110,101,114,46,111,112,116,105,111,110, ++ 115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111,99, ++ 117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97,114, ++ 114,111,119,102,111,99,117,115,11,111,119,95,115,117,98,102,111,99,117,115, ++ 19,111,119,95,109,111,117,115,101,116,114,97,110,115,112,97,114,101,110,116, ++ 17,111,119,95,100,101,115,116,114,111,121,119,105,100,103,101,116,115,12,111, ++ 119,95,97,117,116,111,115,99,97,108,101,0,18,99,111,110,116,97,105,110, ++ 101,114,46,98,111,117,110,100,115,95,120,2,0,18,99,111,110,116,97,105, ++ 110,101,114,46,98,111,117,110,100,115,95,121,2,0,19,99,111,110,116,97, ++ 105,110,101,114,46,98,111,117,110,100,115,95,99,120,3,202,1,19,99,111, ++ 110,116,97,105,110,101,114,46,98,111,117,110,100,115,95,99,121,3,24,1, ++ 21,99,111,110,116,97,105,110,101,114,46,102,114,97,109,101,46,100,117,109, ++ 109,121,2,0,13,111,112,116,105,111,110,115,119,105,110,100,111,119,11,14, ++ 119,111,95,103,114,111,117,112,108,101,97,100,101,114,0,7,111,112,116,105, ++ 111,110,115,11,7,102,111,95,109,97,105,110,19,102,111,95,116,101,114,109, ++ 105,110,97,116,101,111,110,99,108,111,115,101,15,102,111,95,97,117,116,111, ++ 114,101,97,100,115,116,97,116,16,102,111,95,97,117,116,111,119,114,105,116, ++ 101,115,116,97,116,10,102,111,95,115,97,118,101,112,111,115,12,102,111,95, ++ 115,97,118,101,115,116,97,116,101,0,15,109,111,100,117,108,101,99,108,97, ++ 115,115,110,97,109,101,6,8,116,109,115,101,102,111,114,109,0,7,116,98, ++ 117,116,116,111,110,8,116,98,117,116,116,111,110,49,13,111,112,116,105,111, ++ 110,115,119,105,100,103,101,116,11,13,111,119,95,109,111,117,115,101,102,111, ++ 99,117,115,11,111,119,95,116,97,98,102,111,99,117,115,13,111,119,95,97, ++ 114,114,111,119,102,111,99,117,115,17,111,119,95,100,101,115,116,114,111,121, ++ 119,105,100,103,101,116,115,12,111,119,95,97,117,116,111,115,99,97,108,101, ++ 0,8,98,111,117,110,100,115,95,120,3,0,1,8,98,111,117,110,100,115, ++ 95,121,2,48,9,98,111,117,110,100,115,95,99,120,2,106,9,98,111,117, ++ 110,100,115,95,99,121,2,19,5,115,116,97,116,101,11,15,97,115,95,108, ++ 111,99,97,108,99,97,112,116,105,111,110,17,97,115,95,108,111,99,97,108, ++ 111,110,101,120,101,99,117,116,101,0,7,99,97,112,116,105,111,110,6,6, ++ 38,80,114,105,110,116,9,111,110,101,120,101,99,117,116,101,7,8,99,109, ++ 100,112,114,105,110,116,0,0,9,116,109,101,109,111,101,100,105,116,10,116, ++ 109,101,109,111,101,100,105,116,49,8,98,111,117,110,100,115,95,120,2,8, ++ 8,98,111,117,110,100,115,95,121,2,8,9,98,111,117,110,100,115,95,99, ++ 120,3,236,0,9,98,111,117,110,100,115,95,99,121,3,203,0,16,102,114, ++ 97,109,101,46,108,111,99,97,108,112,114,111,112,115,11,15,102,114,108,95, ++ 99,111,108,111,114,99,108,105,101,110,116,0,11,102,114,97,109,101,46,100, ++ 117,109,109,121,2,0,8,116,97,98,111,114,100,101,114,2,1,5,118,97, ++ 108,117,101,12,80,1,0,0,80,114,105,110,116,105,110,103,32,116,111,32, ++ 100,101,102,97,117,108,116,32,112,114,105,110,116,101,114,58,13,10,60,114, ++ 111,109,97,110,62,114,111,109,97,110,60,47,114,111,109,97,110,62,13,10, ++ 60,99,111,117,114,105,101,114,62,99,111,117,114,105,101,114,60,47,99,111, ++ 117,114,105,101,114,62,13,10,60,98,62,98,111,108,100,60,47,98,62,13, ++ 10,60,105,62,105,116,97,108,105,99,60,47,105,62,13,10,60,117,62,117, ++ 110,100,101,114,108,105,110,101,60,47,117,62,13,10,60,115,62,115,116,114, ++ 105,107,101,60,47,115,62,13,10,60,115,109,97,108,108,62,115,109,97,108, ++ 108,60,47,115,62,13,10,110,111,114,109,97,108,13,10,60,98,105,103,62, ++ 98,105,103,60,47,98,105,103,62,13,10,60,100,111,117,98,108,101,62,100, ++ 111,117,98,108,101,60,47,100,111,117,98,108,101,62,13,10,60,115,117,98, ++ 62,115,117,98,116,101,120,116,60,47,115,117,98,62,13,10,60,115,117,112, ++ 101,114,62,115,117,112,101,114,116,101,120,116,60,47,115,117,112,101,114,62, ++ 13,10,60,114,105,103,104,116,62,114,105,103,104,116,45,97,108,105,103,110, ++ 101,100,60,47,114,105,103,104,116,62,13,10,60,99,101,110,116,101,114,62, ++ 99,101,110,116,101,114,101,100,60,47,99,101,110,116,101,114,62,13,10,60, ++ 108,101,102,116,62,108,101,102,116,45,97,108,105,103,110,101,100,60,47,108, ++ 101,102,116,62,0,0,12,116,98,111,111,108,101,97,110,101,100,105,116,13, ++ 116,98,111,111,108,101,97,110,101,100,105,116,49,8,98,111,117,110,100,115, ++ 95,120,3,0,1,8,98,111,117,110,100,115,95,121,2,15,9,98,111,117, ++ 110,100,115,95,99,120,3,140,0,9,98,111,117,110,100,115,95,99,121,2, ++ 15,13,102,114,97,109,101,46,99,97,112,116,105,111,110,6,26,38,69,106, ++ 101,99,116,32,112,97,112,101,114,32,119,104,101,110,32,102,105,110,105,115, ++ 104,101,100,11,102,114,97,109,101,46,100,117,109,109,121,2,0,16,102,114, ++ 97,109,101,46,111,117,116,101,114,102,114,97,109,101,1,2,0,2,1,2, ++ 127,2,1,0,8,116,97,98,111,114,100,101,114,2,2,13,111,110,100,97, ++ 116,97,101,110,116,101,114,101,100,7,16,99,104,97,110,103,101,101,106,101, ++ 99,116,112,97,112,101,114,0,0,11,84,82,65,87,80,114,105,110,116,101, ++ 114,12,84,82,65,87,80,114,105,110,116,101,114,49,11,67,111,109,109,97, ++ 110,100,84,121,112,101,7,8,114,112,99,69,112,115,111,110,13,68,111,99, ++ 117,109,101,110,116,84,105,116,108,101,6,12,82,65,87,32,80,114,105,110, ++ 116,105,110,103,11,78,101,119,76,105,110,101,67,111,100,101,7,6,110,108, ++ 67,82,76,70,19,73,110,105,116,80,114,105,110,116,101,114,82,101,113,117, ++ 105,114,101,100,8,9,80,97,103,101,87,105,100,116,104,2,98,10,80,97, ++ 103,101,72,101,105,103,104,116,2,68,4,108,101,102,116,3,0,1,3,116, ++ 111,112,2,88,0,0,0) ++ ); ++ ++ initialization ++ registerobjectdata(@objdata,tmainfo,''); ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main.pas mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/main.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/main.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,43 ---- ++ unit main; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ interface ++ uses ++ mseglob,mseguiglob,mseapplication,msestat,msemenus,msegui,msegraphics, ++ msegraphutils,mseevent,mseclasses,mseforms,msesimplewidgets,msewidgets, ++ msedataedits,mseedit,msestrings,msetypes,msegraphedits,RAWPrinter; ++ ++ type ++ tmainfo = class(tmseform) ++ tbutton1: tbutton; ++ tmemoedit1: tmemoedit; ++ tbooleanedit1: tbooleanedit; ++ TRAWPrinter1: TRAWPrinter; ++ procedure changeejectpaper(const sender: TObject); ++ procedure cmdprint(const sender: TObject); ++ end; ++ var ++ mainfo: tmainfo; ++ implementation ++ uses ++ main_mfm; ++ ++ procedure tmainfo.changeejectpaper(const sender: TObject); ++ begin ++ TRAWPrinter1.ejectonfinish:=tbooleanedit1.value; ++ end; ++ ++ procedure tmainfo.cmdprint(const sender: TObject); ++ var ++ tmpresult: msestring; ++ resultprn: msestringarty; ++ begin ++ tmpresult:=removechar(tmemoedit1.value,#10); ++ splitstring(tmpresult,resultprn,#13,false); ++ with TRAWPrinter1 do begin ++ BeginDoc; ++ WriteList(resultprn, true); ++ EndDoc; ++ end; ++ end; ++ ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/rawdemo.pas mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/rawdemo.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/rawdemo.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/rawdemo.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,11 ---- ++ program rawdemo; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ {$ifdef FPC} ++ {$ifdef mswindows}{$apptype gui}{$endif} ++ {$endif} ++ uses ++ {$ifdef FPC}{$ifdef linux}cthreads,{$endif}{$endif}msegui,mseforms,main; ++ begin ++ application.createform(tmainfo,mainfo); ++ application.run; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/rawdemo.prj mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/rawdemo.prj +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/rawdemo/rawdemo.prj 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/rawdemo/rawdemo.prj 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,671 ---- ++ [componentpalette] ++ order0=0 ++ order1=0 ++ order2=0 ++ order3=0 ++ order4=0 ++ order5=0 ++ order6=0 ++ order7=0 ++ order8=0 ++ order9=0 ++ order10=0 ++ order11=0 ++ [projectoptions] ++ projectdir=/C:/MSEGUI/My Project/RAWPrinter/rawdemo ++ projectfilename=/C:/MSEGUI/My Project/RAWPrinter/rawdemo/rawdemo.prj ++ options=41 ++ [projectoptionsfo] ++ stackedunder= ++ x=151 ++ y=68 ++ cx=821 ++ cy=572 ++ [projectoptionsfo.tabwidget] ++ firsttab=0 ++ index=2 ++ [projectoptionsfo.macrogrid] ++ width0=13 ++ width1=13 ++ width2=13 ++ width3=13 ++ width4=13 ++ width5=13 ++ width6=146 ++ width7=583 ++ [projectoptionsfo.macrosplitter] ++ x=0 ++ y=178 ++ [projectoptionsfo.fontaliasgrid] ++ values0=0 ++ width0=98 ++ values1=0 ++ width1=684 ++ values2=0 ++ width2=30 ++ [projectoptionsfo.grid] ++ width0=231 ++ [projectoptionsfo.makesplitter] ++ x=0 ++ y=161 ++ [projectoptionsfo.ttabwidget1] ++ firsttab=0 ++ index=0 ++ [projectoptionsfo.exceptionsgrid] ++ width0=47 ++ values1=1 ++ EconvertError ++ width1=764 ++ settings=9 ++ [settingsfo] ++ stackedunder= ++ x=100 ++ y=106 ++ cx=358 ++ cy=574 ++ wsize=0 ++ active=1 ++ visible=1 ++ sigsettings=27 ++ 1,1,T,F ++ 3,3,T,F ++ 4,4,T,F ++ 6,6,T,F ++ 7,7,T,F ++ 8,8,T,F ++ 9,9,T,F ++ 10,10,T,F ++ 11,11,T,F ++ 12,12,T,F ++ 13,13,T,F ++ 15,15,T,F ++ 16,16,T,F ++ 17,17,F,F ++ 18,18,T,F ++ 19,19,T,F ++ 20,20,T,F ++ 21,21,T,F ++ 22,22,T,F ++ 23,23,T,F ++ 24,24,T,F ++ 25,25,T,F ++ 26,26,T,F ++ 27,27,T,F ++ 28,28,T,F ++ 29,29,T,F ++ 30,30,T,F ++ gridsizex=8 ++ gridsizey=8 ++ exceptclassnames=1 ++ EconvertError ++ exceptignore=1 ++ 0 ++ modulenames=1 ++ MAINFO ++ moduletypes=1 ++ TMAINFO ++ modulefiles=1 ++ /C:/MSEGUI/My Project/RAWPrinter/rawdemo/main.mfm ++ mainfile=${PROJECTNAME}.pas ++ targetfile=${PROJECTNAME}${EXEEXT} ++ messageoutputfile= ++ copymessages=0 ++ closemessages=1 ++ checkmethods=1 ++ makecommand=${COMPILER} ++ debugcommand=${DEBUGGER} ++ debugoptions= ++ debugtarget= ++ defaultmake=1 ++ makeoptions=4 ++ -l -Mobjfpc -Sh ++ -gl ++ -B ++ -OG2p3 -XX -Xs ++ makeoptionson=4 ++ 63 ++ 31 ++ 34 ++ 32 ++ macroon=0 ++ macronames=0 ++ macrovalues=0 ++ macrogroup=0 ++ groupcomments=6 ++ ++ ++ ++ ++ ++ ++ sourcedirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}*/ ++ ./ ++ defines=0 ++ defineson=0 ++ unitdirs=3 ++ ${MSELIBDIR}kernel/$TARGET/ ++ ${MSELIBDIR}kernel/ ++ ${MSELIBDIR}*/ ++ unitdirson=3 ++ 65599 ++ 196671 ++ 65599 ++ unitpref=-Fu ++ incpref=-Fi ++ libpref=-Fl ++ objpref=-Fo ++ targpref=-o ++ sourcefilemasks=3 ++ "*.pas" "*.dpr" "*.pp" "*.inc" ++ "*.c" "*.cc" "*.h" ++ "*.mfm" ++ syntaxdeffiles=3 ++ ${SYNTAXDEFDIR}pascal.sdef ++ ${SYNTAXDEFDIR}cpp.sdef ++ ${SYNTAXDEFDIR}objecttext.sdef ++ filemasknames=3 ++ Source ++ Forms ++ All Files ++ filemasks=3 ++ "*.pp" "*.pas" "*.inc" "*.dpr" ++ *.mfm ++ * ++ toolsave=0 ++ toolhide=0 ++ toolparse=0 ++ toolmenus=0 ++ toolfiles=0 ++ toolparams=0 ++ fontalias=0 ++ fontnames=0 ++ fontheights=0 ++ usercolors=0 ++ usercolorcomment=0 ++ showgrid=1 ++ snaptogrid=1 ++ moveonfirstclick=1 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ spacetabs=0 ++ editfontname=mseide_source ++ editfontheight=0 ++ editfontwidth=0 ++ editfontextraspace=0 ++ editfontantialiased=1 ++ editmarkbrackets=1 ++ backupfilecount=2 ++ encoding=0 ++ newprojectfiles=4 ++ ${TEMPLATEDIR}default/project.pas ++ ${TEMPLATEDIR}default/main.pas ++ ${TEMPLATEDIR}default/main.mfm ++ ${TEMPLATEDIR}default/main_mfm.pas ++ newprojectfilesdest=4 ++ ${%PROJECTNAME%}.pas ++ ++ ++ ++ expandprojectfilemacros=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ loadprojectfile=4 ++ 1 ++ 1 ++ 1 ++ 0 ++ newprogramfile=${TEMPLATEDIR}default/program.pas ++ newunitfile=${TEMPLATEDIR}default/unit.pas ++ newmainfosource=${TEMPLATEDIR}default/mainform.pas ++ newmainfoform=${TEMPLATEDIR}default/mainform.mfm ++ newsimplefosource=${TEMPLATEDIR}default/simpleform.pas ++ newsimplefoform=${TEMPLATEDIR}default/simpleform.mfm ++ newdockingfosource=${TEMPLATEDIR}default/dockingform.pas ++ newdockingfoform=${TEMPLATEDIR}default/dockingform.mfm ++ newdatamodsource=${TEMPLATEDIR}default/datamodule.pas ++ newdatamodform=${TEMPLATEDIR}default/datamodule.mfm ++ newsubfosource=${TEMPLATEDIR}default/subform.pas ++ newsubfoform=${TEMPLATEDIR}default/subform.mfm ++ newreportsource=${TEMPLATEDIR}default/report.pas ++ newreportform=${TEMPLATEDIR}default/report.mfm ++ newinheritedsource=${TEMPLATEDIR}default/inheritedform.pas ++ newinheritedform=${TEMPLATEDIR}default/inheritedform.mfm ++ stoponexception=0 ++ activateonbreak=1 ++ showconsole=0 ++ externalconsole=0 ++ [breakpoints] ++ on=0 ++ path=0 ++ line=0 ++ ignore=0 ++ condition=0 ++ panels=1 ++ panel1 ++ units= ++ ( ++ modulefilenames=0 ++ modulenames=0 ++ moduleclassnames=0 ++ a=0,4132,0,Units ++ ) ++ files= ++ ( ++ a=0,4132,0,Files ++ ) ++ [componentstore] ++ storedir=/C:/MSEGUI2/apps/ide/compstore/ ++ filename=/C:/MSEGUI/apps/ide/compstore/default.stg ++ [layout] ++ windowlayout=357 ++ [mainfo] ++ stackedunder= ++ x=4 ++ y=24 ++ cx=286 ++ cy=74 ++ wsize=0 ++ active=1 ++ visible=1 ++ [mainfo.basedock] ++ splitdir=2 ++ useroptions=6048 ++ [mainfo.openfile] ++ filenames=0 ++ filehistory=10 ++ /C:/MSEGUI/LIB/COMMON/KERNEL/msestrings.pas ++ /C:/MSEGUI/My Project/ACOSYS/frmproduct.pas ++ /C:/MSEGUI/My Project/ACOSYS/MAIN.PAS ++ /C:/MSEGUI/My Project/ACOSYS/frmtransaction.pas ++ /C:/Copy of ACOSYS/frmsplash.pas ++ /C:/Copy of ACOSYS/frmproduct.pas ++ /C:/Copy of ACOSYS/frmnewtransaction.pas ++ /C:/Copy of ACOSYS/frmtransaction.pas ++ /C:/Copy of ACOSYS/FRMLOGIN.PAS ++ /C:/ACOSYS/frmproduct.pas ++ filefilterindex=0 ++ filecolwidth=174 ++ [actionsmo.watchesonact] ++ checked=1 ++ [actionsmo.bluedotsonact] ++ checked=1 ++ [sourcefo] ++ splitdir=0 ++ useroptions=2075 ++ parent=mainfo.panel1.container ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=724 ++ cy=491 ++ [debuggerfo] ++ splitdir=0 ++ useroptions=3099 ++ parent=mainfo.basedock ++ visible=1 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=0 ++ cx=286 ++ cy=40 ++ [componentpalettefo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=objectinspectorfo ++ parent= ++ mdistate=3 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=335 ++ y=24 ++ cx=440 ++ cy=129 ++ wsize=0 ++ active=0 ++ visible=1 ++ [componentpalettefo.componentpages] ++ activetab=11 ++ [componentstorefo] ++ splitdir=0 ++ useroptions=3097 ++ stackedunder=watchpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=480 ++ y=295 ++ cx=445 ++ cy=354 ++ wsize=0 ++ active=0 ++ visible=0 ++ [componentstorefo.grid] ++ width0=111 ++ width1=158 ++ width2=159 ++ [componentstorefo.storefiledialog] ++ filenames=1 ++ /C:/MSEGUI/apps/ide/compstore/ ++ lastdir=/C:/MSEGUI/apps/ide/compstore/ ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [componentstorefo.groupfiledialog] ++ filenames=1 ++ /C:/MSEGUI/apps/ide/compstore/ ++ lastdir=/C:/MSEGUI/apps/ide/compstore/ ++ filehistory=0 ++ filefilterindex=0 ++ filecolwidth=0 ++ [messagefo] ++ splitdir=0 ++ useroptions=6171 ++ parent=mainfo.panel1.container ++ visible=0 ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=0 ++ y=411 ++ cx=724 ++ cy=80 ++ [watchfo] ++ splitdir=0 ++ useroptions=3099 ++ stackedunder=disassfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=510 ++ y=325 ++ cx=310 ++ cy=245 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchfo.grid] ++ width0=13 ++ values1=0 ++ width1=152 ++ values2=0 ++ [watchfo.watchon] ++ [watchfo.expression] ++ [watchfo.watcheson] ++ value=1 ++ [objectinspectorfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=formdesignerfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=670 ++ y=179 ++ cx=316 ++ cy=484 ++ wsize=0 ++ active=0 ++ visible=1 ++ [objectinspectorfo.grid] ++ width0=138 ++ width1=147 ++ [breakpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=projecttreefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=107 ++ y=404 ++ cx=477 ++ cy=128 ++ wsize=0 ++ active=0 ++ visible=0 ++ [breakpointsfo.bkptson] ++ value=1 ++ [watchpointsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=stackfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=537 ++ y=26 ++ cx=483 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [watchpointsfo.grid] ++ width0=16 ++ values1=1 ++ 0 ++ width1=33 ++ values2=1 ++ pinteger(0x126c6b4)^ ++ width2=239 ++ width4=34 ++ values5=1 ++ 0 ++ width5=38 ++ values6=1 ++ ++ width6=103 ++ [stackfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=cpufo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=407 ++ y=349 ++ cx=254 ++ cy=180 ++ wsize=0 ++ active=0 ++ visible=0 ++ [projecttreefo] ++ splitdir=0 ++ useroptions=27 ++ stackedunder=findinfilefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=321 ++ y=101 ++ cx=698 ++ cy=413 ++ wsize=0 ++ active=0 ++ visible=0 ++ [findinfilefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=targetconsolefo ++ parent= ++ mdistate=3 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=548 ++ y=115 ++ cx=369 ++ cy=198 ++ [cpufo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=threadsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=192 ++ y=451 ++ cx=257 ++ cy=188 ++ wsize=0 ++ active=0 ++ visible=0 ++ [disassfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=breakpointsfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=162 ++ y=502 ++ cx=564 ++ cy=210 ++ wsize=0 ++ active=0 ++ visible=0 ++ [threadsfo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=watchfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=37 ++ y=270 ++ cx=349 ++ cy=276 ++ wsize=0 ++ active=0 ++ visible=0 ++ [targetconsolefo] ++ splitdir=0 ++ useroptions=2075 ++ stackedunder=componentpalettefo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=116 ++ y=297 ++ cx=904 ++ cy=347 ++ wsize=0 ++ active=0 ++ visible=1 ++ [mainfo.panel1] ++ splitdir=2 ++ useroptions=4091 ++ stackedunder=mainfo ++ parent= ++ mdistate=0 ++ nx=0 ++ ny=0 ++ ncx=0 ++ ncy=0 ++ x=4 ++ y=201 ++ cx=734 ++ cy=491 ++ wsize=0 ++ active=0 ++ visible=1 ++ [edit] ++ hintwidth=314 ++ hintheight=17 ++ autoindent=1 ++ blockindent=1 ++ rightmarginon=1 ++ rightmarginchars=80 ++ tabstops=4 ++ finddtext= ++ findhistory=0 ++ findoptions=1 ++ editpos=2 ++ 0,-1073741823 ++ 10,21 ++ bookmarks0=0 ++ bookmarks1=0 ++ sourcefiles=2 ++ /C:/MSEGUI/My Project/RAWPrinter/rawdemo/rawdemo.pas ++ /C:/MSEGUI/My Project/RAWPrinter/rawdemo/main.pas ++ relpaths=2 ++ rawdemo.pas ++ main.pas ++ ismoduletexts=2 ++ 0 ++ 0 ++ modules=1 ++ /C:/MSEGUI/My Project/RAWPrinter/rawdemo/main.mfm ++ visiblemodules=1 ++ 1 ++ [sourcefo.tabwidget] ++ tabsize=134 ++ firsttab=0 ++ index=1 ++ [components] ++ [selecteditpage] ++ colwidth=100 ++ x=0 ++ y=0 ++ cx=0 ++ cy=0 ++ [progparams] ++ parameters= ++ progparamhistory=0 ++ workingdirectory= ++ envvarons=0 ++ envvarnames=0 ++ envvarvalues=0 +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/readme.txt mseide-msegui-1.8/docs/tutorials/trawprinter/readme.txt +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/readme.txt 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/readme.txt 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,9 ---- ++ 1. Compile MSEide+MSEgui with new library TRAWprinter. ++ - copy regcomponents.inc to 'APPS/IDE/' ++ - copy folder 'trawprinter' to 'LIB/COMMON/' ++ - open mseide project. ++ - add option for make from Project->Options, on 'Make' tab select 'Make Options' tab, ++ add '-dmorecomponents' at column 'Command line options' ++ - build ++ ++ 2. Open demo in folder 'RAWDEMO'. +\ Pas de fin de ligne Ă  la fin du fichier. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/regcomponents.inc mseide-msegui-1.8/docs/tutorials/trawprinter/regcomponents.inc +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/regcomponents.inc 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/regcomponents.inc 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1 ---- ++ regrawprinter, +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/RAWPrinter.pas mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/RAWPrinter.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/RAWPrinter.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/RAWPrinter.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,864 ---- ++ unit RAWPrinter; ++ ++ (************************************************************ ++ TRAWPrinter Component v.1.1 (Freeware Delphi Component) ++ ++ CREATION HISTORY ++ ---------------- ++ - Originally created by: ++ (C)2000. Przemyslaw Jankowski ++ email: pjank@home.pl ++ as TRAWPrinter v.1.0 on PJank palette ++ - Modified and enhanced by: ++ (C)2006. Bisma Jayadi ++ email: bisma_j@yahoo.com ++ as TRAWPrinter v.1.5 on BeeSoft palette ++ Last updated: 27 March 2006 ++ - Modified for MSEide+MSEgui by : ++ (c)2008. Sri Wahono ++ ++ WHAT'S NEW ++ ---------- ++ - since v.1.5 (2006): ++ - add methods to define custom ESC command for inherited class. ++ - add formatted text printing (using simple HTML tag). ++ - fixed ESC command list for Epson LX series. ++ - since v.1.1 (2002): ++ - fix methods and properties naming in order to ++ make it easy to understand. ++ - add some new properties for easier printer ++ configuration. ++ - add some new methods for general printer ++ commands (Epson and IBM compatible). ++ - introducing some events for easier program ++ flow control. ++ - importing TRAWPrinterException class from file ++ RawPrinting.pas from the same author. ++ - since v.1.0 (2000): ++ - place printing process into window's spooling. ++ - published methods and properties are compatible ++ with standard TPrinter class. ++ ++ PRINTER COMPATIBILITY ++ --------------------- ++ This class is made based on Epson LX-300 printer and IBM ++ 9068A Passbook printer or the compatibles. Before using ++ this class, make sure your printer is compatible with one ++ of those printer. Applying this class onto another printer ++ which is not compatible with one of those printer might ++ produce some unexpected results or even hardware damages. ++ See your printer user manual to know about the printer's ++ compatibility issues. ++ ++ If you want to deploy this class so it can run on your ++ printer, you must redefine the ESC command constants with ++ the appropriate ESC command of your printer or enhance the ++ class by define a new printer command type which based on ++ your printer and add some codes for handling your printer ++ command type in some methods. ++ ++ ************************************************************) ++ ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ uses ++ Windows, SysUtils, Classes, WinSpool, msestrings, msewidgets; ++ ++ const ++ { special characters } ++ SC_LINE_FEED = #10; ++ SC_FORM_FEED = #12; ++ SC_CARRIAGE_RETURN = #13; ++ SC_LF_CR = #10#13; ++ SC_CR_LF = #13#10; ++ ++ // ESC command index ++ ESC_MAX = 19; ++ ESC_INIT = 0; ++ ESC_COURIER = 1; ++ ESC_ROMAN = 2; ++ ESC_NORMAL = 3; ++ ESC_CONDENSED = 4; ++ ESC_EXPANDED = 5; ++ ESC_DOUBLED = 6; ++ ESC_NOT_DOUBLED = 7; ++ ESC_BOLD = 8; ++ ESC_NOT_BOLD = 9; ++ ESC_ITALIC = 10; ++ ESC_NOT_ITALIC = 11; ++ ESC_UNDERLINE = 12; ++ ESC_NOT_UNDERLINE = 13; ++ ESC_STRIKE = 14; ++ ESC_NOT_STRIKE = 15; ++ ESC_SUB = 16; ++ ESC_NOT_SUB = 17; ++ ESC_SUPER = 18; ++ ESC_NOT_SUPER = 19; ++ ++ type ++ // TRAWPrinter specific exception class ++ ERAWPrinterException = class(Exception); ++ ERAWPrinterError = class(ERAWPrinterException); ++ ++ // TRAWPrinter specific custom data type ++ TNewLineCode = (nlLF, nlCR, nlLFCR, nlCRLF); ++ TPrinterFontStyle = (rfsBold, rfsItalic, rfsUnderline, rfsStrike, rfsSubScript, rfsSuperScript); ++ TRAWPrinterCommand = (rpcIBM, rpcEpson); ++ TRAWPrinterMode = (rpmText, rpmGraphic); ++ TRAWPrinterStatus = (rpsClosed, rpsOpened, rpsJobStarted, rpsPageStarted); ++ TRAWPrinterFontName = (rfnCourier, rfnRoman, rfnSanserif); ++ TRAWPrinterFontPitch = (rfpNormal, rfpCondensed, rfpExpanded, rfpDoubled); ++ TRAWPrinterFontStyle = set of TPrinterFontStyle; ++ ++ // TRAWPrinter class structure ++ TRAWPrinter = class(TComponent) ++ private ++ fESCList : array[0..ESC_MAX] of string; ++ fPrnHandle : DWord; ++ fPrnName : string; ++ fPrnMode : TRAWPrinterMode; ++ fPrnStatus : TRAWPrinterStatus; ++ fPrnCommand : TRAWPrinterCommand; ++ fFontPitch : TRAWPrinterFontPitch; ++ fFontStyle : TRAWPrinterFontStyle; ++ fFontName : TRAWPrinterFontName; ++ fDocTitle : string; ++ fLeftMargin : integer; ++ fTopMargin : integer; ++ fPageWidth : integer; ++ fPageHeight : integer; ++ fEjectPaper : boolean; ++ fCurrentPage : integer; ++ fCurrentLine : integer; ++ fInitPrinter : boolean; ++ fNewLineCode : TNewLineCode; ++ ++ fOnBeforePrint: TNotifyEvent; ++ fOnAfterPrint : TNotifyEvent; ++ fOnNewPage : TNotifyEvent; ++ ++ procedure SetPrnMode(aPrintingMode: TRAWPrinterMode); ++ procedure SetPrnCommand(aCommandType: TRAWPrinterCommand); ++ procedure SetFontPitch(aFontPitch: TRAWPrinterFontPitch); ++ procedure SetFontStyle(aFontStyle: TRAWPrinterFontStyle); ++ procedure SetFontName(aFontName: TRAWPrinterFontName); ++ protected ++ function DecodeFormattedText(Text: string): string; ++ procedure DefineEscapeCode(ESCCommand: integer; ESCString: string); ++ public ++ constructor Create(AOwner: TComponent); override; ++ destructor Destroy; override; ++ ++ // printer handling methods ++ function WriteToPrinter(const Buffer; Count: longint): DWord; ++ function SetToDefaultPrinter: boolean; ++ ++ // page handling methods ++ function BeginDoc: boolean; ++ function EndDoc: boolean; ++ function Abort: boolean; ++ function NewLine: boolean; ++ function NewPage: boolean; ++ ++ // printing handling methods ++ function Write(const Text: string): boolean; ++ function WriteLn: boolean; overload; ++ function WriteLn(const Text: string): boolean; overload; ++ procedure WriteList(const TextList: msestringarty; IsFormatted: boolean = false); ++ procedure WriteColumn(Text: string; Width: integer; Alignment: TAlignment); ++ ++ published ++ // printer and spooling configuration ++ property PrinterName: string read fPrnName write fPrnName; ++ property CommandType: TRAWPrinterCommand read fPrnCommand write SetPrnCommand; ++ property PrintingMode: TRAWPrinterMode read fPrnMode write SetPrnMode; ++ property DocumentTitle: string read fDocTitle write fDocTitle; ++ property NewLineCode: TNewLineCode read fNewLineCode write fNewLineCode; ++ property InitPrinterRequired: boolean read fInitPrinter write fInitPrinter default true; ++ property EjectOnFinish: boolean read fEjectPaper write fEjectPaper default false; ++ ++ // font configuration ++ property FontName: TRAWPrinterFontName read fFontName write SetFontName; ++ property FontPitch: TRAWPrinterFontPitch read fFontPitch write SetFontPitch; ++ property FontStyle: TRAWPrinterFontStyle read fFontStyle write SetFontStyle; ++ ++ // page configuration ++ property TopMargin: integer read fTopMargin write fTopMargin; ++ property LeftMargin: integer read fLeftMargin write fLeftMargin; ++ property PageWidth: integer read fPageWidth write fPageWidth; ++ property PageHeight: integer read fPageHeight write fPageHeight; ++ ++ // read only properties ++ property CurrentPage: integer read fCurrentPage; ++ ++ // event properties ++ property OnBeforePrint: TNotifyEvent read fOnBeforePrint write fOnBeforePrint; ++ property OnAfterPrint: TNotifyEvent read fOnAfterPrint write fOnAfterPrint; ++ property OnNewPage: TNotifyEvent read fOnNewPage write fOnNewPage; ++ end; ++ ++ { published routines } ++ function AddSpace(Count: integer; Text: string; AsTail: boolean=false): string; ++ function FillText(Count: integer; TheChar: char): string; ++ ++ implementation ++ ++ uses ++ StrUtils; ++ ++ const ++ // format tag code ++ TAG_BEGIN = '<'; ++ TAG_END = '>'; ++ TAG_CLOSE = '/'; ++ TAG_COURIER = 'COURIER'; ++ TAG_ROMAN = 'ROMAN'; ++ TAG_CONDENSED = 'SMALL'; ++ TAG_EXPANDED = 'BIG'; ++ TAG_DOUBLED = 'DOUBLE'; ++ TAG_BOLD = 'B'; ++ TAG_ITALIC = 'I'; ++ TAG_UNDERLINE = 'U'; ++ TAG_STRIKE = 'S'; ++ TAG_SUB = 'SUB'; ++ TAG_SUPER = 'SUPER'; ++ TAG_LEFT = 'LEFT'; ++ TAG_RIGHT = 'RIGHT'; ++ TAG_CENTER = 'CENTER'; ++ ++ { exception strings } ++ errNoDefaultPrinter = 'No default printer found.'; ++ errPrinterError = 'The printer "%s" is not available.'; ++ errPrintingError = 'Error printing the document "%s".'; ++ ++ { class utility methods } ++ ++ // adding space before/after a string ++ function AddSpace(Count: integer; Text: string; AsTail: boolean=false): string; ++ var ++ i: integer; ++ s: string; ++ begin ++ s := ''; ++ for i := 1 to Count do s := s + ' '; ++ if AsTail then Result := Text + s ++ else Result := s + Text; ++ end; ++ ++ // fill string with a character ++ function FillText(Count: integer; TheChar: char): string; ++ var ++ i: integer; ++ s: string; ++ begin ++ s := ''; ++ for i := 1 to Count do s := s + TheChar; ++ Result := s; ++ end; ++ ++ { class creation methods } ++ ++ constructor TRAWPrinter.Create(AOwner: TComponent); ++ begin ++ inherited; ++ ++ fPrnName := ''; ++ fPrnMode := rpmText; ++ fPrnStatus := rpsClosed; ++ fFontPitch := rfpNormal; ++ fFontStyle := []; ++ fFontName := rfnCourier; ++ fDocTitle := 'RAW Printing'; ++ fNewLineCode := nlLFCR; ++ ++ SetPrnCommand(rpcEpson); ++ ++ { ---- ++ Note: ++ These are all in reguler courier condensed font unit. ++ I use it as margin unit since it's the smallest font available. ++ } ++ fLeftMargin := 0; ++ fTopMargin := 0; ++ fPageWidth := 98; ++ fPageHeight := 68; ++ fCurrentPage := 1; ++ fCurrentLine := 0; ++ end; ++ ++ destructor TRAWPrinter.Destroy; ++ begin ++ if (fPrnStatus > rpsClosed) then Abort; ++ inherited; ++ end; ++ ++ { printing process methods } ++ ++ // interpret formatted text ++ function TRAWPrinter.DecodeFormattedText(Text: string): string; ++ ++ function _replace(aWholeText, aOldText, aNewText: string): string; ++ begin ++ Result := StringReplace(aWholeText, aOldText, aNewText, [rfReplaceAll, rfIgnoreCase]); ++ end; ++ ++ var ++ p: integer; ++ begin ++ // decode Courier ++ Text := _replace(Text, TAG_BEGIN+TAG_COURIER+TAG_END, fESCList[ESC_COURIER]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_COURIER+TAG_END, fESCList[ESC_NORMAL]); ++ // decode Roman ++ Text := _replace(Text, TAG_BEGIN+TAG_ROMAN+TAG_END, fESCList[ESC_ROMAN]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_ROMAN+TAG_END, fESCList[ESC_NORMAL]); ++ // decode condensed ++ Text := _replace(Text, TAG_BEGIN+TAG_CONDENSED+TAG_END, fESCList[ESC_CONDENSED]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_CONDENSED+TAG_END, fESCList[ESC_NORMAL]); ++ // decode expanded ++ Text := _replace(Text, TAG_BEGIN+TAG_EXPANDED+TAG_END, fESCList[ESC_EXPANDED]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_EXPANDED+TAG_END, fESCList[ESC_NORMAL]); ++ // decode doubled ++ Text := _replace(Text, TAG_BEGIN+TAG_DOUBLED+TAG_END, fESCList[ESC_DOUBLED]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_DOUBLED+TAG_END, fESCList[ESC_NOT_DOUBLED]); ++ // decode bold ++ Text := _replace(Text, TAG_BEGIN+TAG_BOLD+TAG_END, fESCList[ESC_BOLD]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_BOLD+TAG_END, fESCList[ESC_NOT_BOLD]); ++ // decode italic ++ Text := _replace(Text, TAG_BEGIN+TAG_ITALIC+TAG_END, fESCList[ESC_ITALIC]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_ITALIC+TAG_END, fESCList[ESC_NOT_ITALIC]); ++ // decode underline ++ Text := _replace(Text, TAG_BEGIN+TAG_UNDERLINE+TAG_END, fESCList[ESC_UNDERLINE]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_UNDERLINE+TAG_END, fESCList[ESC_NOT_UNDERLINE]); ++ // decode strike ++ Text := _replace(Text, TAG_BEGIN+TAG_STRIKE+TAG_END, fESCList[ESC_STRIKE]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_STRIKE+TAG_END, fESCList[ESC_NOT_STRIKE]); ++ // decode sub ++ Text := _replace(Text, TAG_BEGIN+TAG_SUB+TAG_END, fESCList[ESC_SUB]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_SUB+TAG_END, fESCList[ESC_NOT_SUB]); ++ // decode super ++ Text := _replace(Text, TAG_BEGIN+TAG_SUPER+TAG_END, fESCList[ESC_SUPER]); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_SUPER+TAG_END, fESCList[ESC_NOT_SUPER]); ++ // decode left ++ Text := _replace(Text, TAG_BEGIN+TAG_LEFT+TAG_END, ''); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_LEFT+TAG_END, ''); ++ // decode right ++ p := Pos(UpperCase(TAG_BEGIN+TAG_RIGHT+TAG_END), Text); ++ if p = 0 then p := Pos(LowerCase(TAG_BEGIN+TAG_RIGHT+TAG_END), Text); ++ Text := _replace(Text, TAG_BEGIN+TAG_RIGHT+TAG_END, ''); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_RIGHT+TAG_END, ''); ++ if p > 0 then Text := AddSpace(fPageWidth-Length(Text), Text); ++ // decode center ++ p := Pos(UpperCase(TAG_BEGIN+TAG_CENTER+TAG_END), Text); ++ if p = 0 then p := Pos(LowerCase(TAG_BEGIN+TAG_CENTER+TAG_END), Text); ++ Text := _replace(Text, TAG_BEGIN+TAG_CENTER+TAG_END, ''); ++ Text := _replace(Text, TAG_BEGIN+TAG_CLOSE+TAG_CENTER+TAG_END, ''); ++ if p > 0 then Text := AddSpace((fPageWidth-Length(Text)) div 2, Text); ++ ++ Result := Text; ++ end; ++ ++ // redefine ESC command string ++ procedure TRAWPrinter.DefineEscapeCode(ESCCommand: integer; ESCString: string); ++ begin ++ if ESCCommand > ESC_MAX then Exit; ++ fESCList[ESCCommand] := ESCString; ++ end; ++ ++ function TRAWPrinter.SetToDefaultPrinter: boolean; ++ var ++ str: array[0..79] of char; ++ ++ // formatting output string ++ function FetchStr(Text: string): string; ++ var ++ i: integer; ++ begin ++ Text := TrimLeft(Text); ++ i := Pos(',',Text); ++ if i = 0 then Result := Text ++ else Result := Copy(Text, 1, i-1); ++ end; ++ ++ begin ++ // get printer device profile ++ GetProfileString('windows', 'device', '', str, SizeOf(str)-1); ++ fPrnName := FetchStr(str); ++ Result := (fPrnName <> ''); ++ ++ // exception on no default printer found ++ if not Result then ++ raise ERAWPrinterError.Create(errNoDefaultPrinter); ++ end; ++ ++ function TRAWPrinter.BeginDoc: boolean; ++ var ++ i: integer; ++ tmpdata: string; ++ DocInfo: TDocInfo1; ++ saveFontName: TRAWPrinterFontName; ++ saveFontPitch: TRAWPrinterFontPitch; ++ saveFontStyle: TRAWPrinterFontStyle; ++ begin ++ // reset page and line pos ++ fCurrentPage := 1; ++ fCurrentLine := 0; ++ ++ // open printer ++ if (fPrnStatus = rpsClosed) then ++ begin ++ if (fPrnName = '') then SetToDefaultPrinter; ++ if OpenPrinter(PChar(fPrnName), fPrnHandle, nil) then fPrnStatus := rpsOpened ++ else raise ERAWPrinterError.Create(Format(errPrinterError, [fPrnName])); ++ end; ++ ++ // start new job ++ if (fPrnStatus = rpsOpened) then ++ begin ++ with DocInfo do ++ begin ++ pDocName := PChar(fDocTitle); ++ pOutputFile := nil; ++ pDatatype := 'RAW'; ++ end; ++ if (StartDocPrinter(fPrnHandle, 1, @DocInfo) <> 0) then fPrnStatus := rpsJobStarted ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ end; ++ ++ // start new page ++ if (fPrnStatus = rpsJobStarted) then ++ if StartPagePrinter(fPrnHandle) then fPrnStatus := rpsPageStarted ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ ++ // raise OnBeforePrint event ++ if Assigned(fOnBeforePrint) then fOnBeforePrint(self); ++ ++ // page margin setting ++ if fPrnStatus = rpsPageStarted then ++ begin ++ // initialize printer (if required) ++ if fInitPrinter then ++ begin ++ tmpdata := fESCList[ESC_INIT]; ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ end; ++ ++ // save selected font ++ saveFontName := fFontName; ++ saveFontPitch := fFontPitch; ++ saveFontStyle := fFontStyle; ++ ++ // set font for margin ++ SetFontName(rfnCourier); ++ SetFontPitch(rfpCondensed); ++ SetFontStyle([]); ++ ++ // set top margin ++ for i := 1 to fTopMargin do ++ begin ++ case fNewLineCode of ++ nlLF: tmpdata := SC_LINE_FEED; ++ nlCR: tmpdata := SC_CARRIAGE_RETURN; ++ nlLFCR: tmpdata := SC_LF_CR; ++ nlCRLF: tmpdata := SC_CR_LF; ++ end; ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ end; ++ ++ // set left margin ++ tmpdata := AddSpace(fLeftMargin,''); ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ ++ // set selected font ++ SetFontName(saveFontName); ++ SetFontPitch(saveFontPitch); ++ SetFontStyle(saveFontStyle); ++ end; ++ ++ Result := (fPrnStatus = rpsPageStarted); ++ end; ++ ++ function TRAWPrinter.EndDoc: boolean; ++ var ++ tmpdata: string; ++ begin ++ // eject paper ++ if fEjectPaper and (fCurrentLine <> fPageHeight) then ++ begin ++ tmpdata := SC_FORM_FEED; ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ end; ++ ++ // end printing process ++ if (fPrnStatus = rpsPageStarted) then ++ if EndPagePrinter(fPrnHandle) then fPrnStatus:= rpsJobStarted ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ if (fPrnStatus = rpsJobStarted) then ++ if EndDocPrinter(fPrnHandle) then fPrnStatus := rpsOpened ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ if (fPrnStatus = rpsOpened) then ++ if ClosePrinter(fPrnHandle) then fPrnStatus := rpsClosed ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fPrnName])); ++ ++ Result := (fPrnStatus = rpsClosed); ++ ++ // raise OnAfterPrint event ++ if Assigned(fOnAfterPrint) then fOnAfterPrint(self); ++ end; ++ ++ function TRAWPrinter.Abort: boolean; ++ begin ++ // end printing process while printing ++ if (fPrnStatus > rpsOpened) then ++ if AbortPrinter(fPrnHandle) then fPrnStatus := rpsOpened ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fPrnName])); ++ ++ // end printing process while not printing ++ if (fPrnStatus = rpsOpened) then ++ if ClosePrinter(fPrnHandle) then fPrnStatus := rpsClosed ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fPrnName])); ++ ++ Result:= (fPrnStatus = rpsClosed); ++ end; ++ ++ function TRAWPrinter.WriteToPrinter(const Buffer; Count: integer): DWord; ++ begin ++ // write directly to printer device ++ { ---- ++ Note: ++ This method is also able to send Escape command sequences directly, ++ so you're no longer need to call Win32 API complicated Escape() function. ++ } ++ Result := 0; ++ if (fPrnStatus = rpsPageStarted) then ++ WritePrinter(fPrnHandle, Pointer(Buffer), Count, Result); ++ end; ++ ++ function TRAWPrinter.Write(const Text: string): boolean; ++ var ++ saveFontName: TRAWPrinterFontName; ++ saveFontPitch: TRAWPrinterFontPitch; ++ saveFontStyle: TRAWPrinterFontStyle; ++ success: boolean; ++ tmpdata: string; ++ i,p: integer; ++ begin ++ // write to printer device ++ success := (WriteToPrinter(Text,Length(Text)) <> 0); ++ ++ // page handling ++ if success then ++ begin ++ // new line ++ case fNewLineCode of ++ nlLF: p := Pos(SC_LF_CR,Text); ++ nlCR: p := Pos(SC_CARRIAGE_RETURN,Text); ++ nlLFCR: p := Pos(SC_LF_CR,Text); ++ nlCRLF: p := Pos(SC_CR_LF,Text); ++ end; ++ ++ if (p <> 0) then ++ begin ++ // update page line ++ fCurrentLine := fCurrentLine+1; ++ ++ // save selected font ++ saveFontName := fFontName; ++ saveFontPitch := fFontPitch; ++ saveFontStyle := fFontStyle; ++ ++ // set font for margin ++ SetFontName(rfnCourier); ++ SetFontPitch(rfpCondensed); ++ SetFontStyle([]); ++ ++ // set left margin ++ tmpdata := AddSpace(fLeftMargin,''); ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ ++ // set selected font ++ SetFontName(saveFontName); ++ SetFontPitch(saveFontPitch); ++ SetFontStyle(saveFontStyle); ++ end; ++ ++ // new page ++ if fCurrentLine >= fPageHeight then ++ begin ++ // eject paper ++ case fNewLineCode of ++ nlLF: tmpdata := SC_LINE_FEED+SC_FORM_FEED; ++ nlCR: tmpdata := SC_CARRIAGE_RETURN+SC_FORM_FEED; ++ nlLFCR: tmpdata := SC_LF_CR+SC_FORM_FEED; ++ nlCRLF: tmpdata := SC_CR_LF+SC_FORM_FEED; ++ end; ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ ++ // end page printing ++ if EndPagePrinter(fPrnHandle) then fPrnStatus:= rpsJobStarted ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ ++ // update page number ++ fCurrentPage := fCurrentPage+1; ++ fCurrentLine := 0; ++ ++ // raise OnNewPage event ++ if Assigned(fOnNewPage) then fOnNewPage(self); ++ ++ // start new page printing ++ if StartPagePrinter(fPrnHandle) then fPrnStatus := rpsPageStarted ++ else raise ERAWPrinterError.Create(Format(errPrintingError, [fDocTitle])); ++ ++ // save selected font ++ saveFontName := fFontName; ++ saveFontPitch := fFontPitch; ++ saveFontStyle := fFontStyle; ++ ++ // set font for margin ++ SetFontName(rfnCourier); ++ SetFontPitch(rfpCondensed); ++ SetFontStyle([]); ++ ++ // set top margin ++ for i := 1 to fTopMargin do ++ begin ++ case fNewLineCode of ++ nlLF: tmpdata := SC_LINE_FEED; ++ nlCR: tmpdata := SC_CARRIAGE_RETURN; ++ nlLFCR: tmpdata := SC_LF_CR; ++ nlCRLF: tmpdata := SC_CR_LF; ++ end; ++ WriteToPrinter(tmpdata,Length(tmpdata)); ++ end; ++ ++ // set selected font ++ SetFontName(saveFontName); ++ SetFontPitch(saveFontPitch); ++ SetFontStyle(saveFontStyle); ++ end; ++ end; ++ ++ Result := success; ++ end; ++ ++ function TRAWPrinter.WriteLn: boolean; ++ begin ++ Result := NewLine; ++ end; ++ ++ function TRAWPrinter.WriteLn(const Text: string): boolean; ++ begin ++ case fNewLineCode of ++ nlLF: Result := Write(Text+SC_LINE_FEED); ++ nlCR: Result := Write(Text+SC_CARRIAGE_RETURN); ++ nlLFCR: Result := Write(Text+SC_LF_CR); ++ nlCRLF: Result := Write(Text+SC_CR_LF); ++ end; ++ end; ++ ++ procedure TRAWPrinter.WriteList(const TextList: msestringarty; IsFormatted: boolean = false); ++ var ++ i: integer; ++ begin ++ // write a string array content at once ++ for i := 0 to length(TextList)-1 do ++ if IsFormatted then ++ WriteLn(DecodeFormattedText(TextList[i])) ++ else ++ WriteLn(TextList[i]); ++ end; ++ ++ procedure TRAWPrinter.WriteColumn(Text: string; Width: integer; Alignment: TAlignment); ++ var ++ left,right: integer; ++ fStyle: TRAWPrinterFontStyle; ++ begin ++ // cut text if exceed width ++ if Length(Text) >= Width then ++ Text := Copy(Text,1,Width-1); ++ ++ // count left space ++ case Alignment of ++ taRightJustify: left := Width - Length(Text); ++ taCenter : left := (Width div 2) - (Length(Text) div 2); ++ else left := 0; ++ end; ++ if left < 0 then left := 0; ++ // count right space ++ right := Width - (left+Length(Text)); ++ ++ // save font style ++ fStyle := fFontStyle; ++ // write aligned text ++ SetFontStyle([]); ++ Write(AddSpace(left,'')); ++ SetFontStyle(fStyle); ++ Write(Text); ++ SetFontStyle([]); ++ Write(AddSpace(right,'')); ++ // set font style ++ SetFontStyle(fStyle); ++ end; ++ ++ function TRAWPrinter.NewLine: boolean; ++ begin ++ // write new line code ++ case fNewLineCode of ++ nlLF: Result := Write(SC_LINE_FEED); ++ nlCR: Result := Write(SC_CARRIAGE_RETURN); ++ nlLFCR: Result := Write(SC_LF_CR); ++ nlCRLF: Result := Write(SC_CR_LF); ++ end; ++ end; ++ ++ function TRAWPrinter.NewPage: boolean; ++ begin ++ Result := Write(SC_FORM_FEED); ++ end; ++ ++ { printer configuration methods } ++ ++ procedure TRAWPrinter.SetFontName(aFontName: TRAWPrinterFontName); ++ begin ++ fFontName := aFontName; ++ ++ // apply font typeface selection ++ case fFontName of ++ rfnCourier: Write(fESCList[ESC_COURIER]); ++ rfnRoman : Write(fESCList[ESC_ROMAN]); ++ end; ++ ++ // appropriate font pitch ++ SetFontPitch(fFontPitch); ++ end; ++ ++ procedure TRAWPrinter.SetFontPitch(aFontPitch: TRAWPrinterFontPitch); ++ begin ++ // toggle double width status ++ Write(fESCList[ESC_NOT_DOUBLED]); ++ ++ fFontPitch := aFontPitch; ++ ++ // apply font pitch selection ++ case fFontPitch of ++ rfpNormal: ++ begin ++ Write(fESCList[ESC_NORMAL]); ++ //fPageWidth := 98; ++ end; ++ rfpCondensed: ++ begin ++ Write(fESCList[ESC_CONDENSED]); ++ //fPageWidth := 140; ++ end; ++ rfpExpanded: ++ begin ++ Write(fESCList[ESC_EXPANDED]); ++ //fPageWidth := 82; ++ end; ++ rfpDoubled: ++ begin ++ Write(fESCList[ESC_DOUBLED]); ++ //fPageWidth := 41; ++ end; ++ end; ++ end; ++ ++ procedure TRAWPrinter.SetFontStyle(aFontStyle: TRAWPrinterFontStyle); ++ begin ++ fFontStyle := aFontStyle; ++ ++ if rfsBold in fFontStyle then Write(fESCList[ESC_BOLD]) else Write(fESCList[ESC_NOT_BOLD]); ++ if rfsItalic in fFontStyle then Write(fESCList[ESC_ITALIC]) else Write(fESCList[ESC_NOT_ITALIC]); ++ if rfsUnderline in fFontStyle then Write(fESCList[ESC_UNDERLINE]) else Write(fESCList[ESC_NOT_UNDERLINE]); ++ if rfsStrike in fFontStyle then Write(fESCList[ESC_STRIKE]) else Write(fESCList[ESC_NOT_STRIKE]); ++ if rfsSubScript in fFontStyle then Write(fESCList[ESC_SUB]) else Write(fESCList[ESC_NOT_SUB]); ++ if rfsSuperScript in fFontStyle then Write(fESCList[ESC_SUPER]) else Write(fESCList[ESC_NOT_SUPER]); ++ end; ++ ++ procedure TRAWPrinter.SetPrnCommand(aCommandType: TRAWPrinterCommand); ++ begin ++ fPrnCommand := aCommandType; ++ ++ case fPrnCommand of ++ // Epson's ESC command list, taken from Epson LX-300 User Manual ++ rpcEpson: ++ begin ++ fESCList[ESC_INIT] := #27'@'; ++ fESCList[ESC_COURIER] := #27'x0'; ++ fESCList[ESC_ROMAN] := #27'x1'; ++ fESCList[ESC_NORMAL] := #18#27'M'; ++ fESCList[ESC_CONDENSED] := #15; ++ fESCList[ESC_EXPANDED] := #27'P'; ++ fESCList[ESC_DOUBLED] := #27'W1'; ++ fESCList[ESC_NOT_DOUBLED] := #27'W0'; ++ fESCList[ESC_BOLD] := #27'E'; ++ fESCList[ESC_NOT_BOLD] := #27'F'; ++ fESCList[ESC_ITALIC] := #27'4'; ++ fESCList[ESC_NOT_ITALIC] := #27'5'; ++ fESCList[ESC_UNDERLINE] := #27'-1'; ++ fESCList[ESC_NOT_UNDERLINE] := #27'-0'; ++ fESCList[ESC_STRIKE] := #27'G'; ++ fESCList[ESC_NOT_STRIKE] := #27'H'; ++ fESCList[ESC_SUB] := #27'S1'; ++ fESCList[ESC_NOT_SUB] := #27'T'; ++ fESCList[ESC_SUPER] := #27'S0'; ++ fESCList[ESC_NOT_SUPER] := #27'T'; ++ end; ++ ++ // IBM's ESC command list, taken from: IBM 9068A Passbook Printer Programming Guide ++ // Note: Printer must be set to Proprinter emulation mode ++ rpcIBM: ++ begin ++ fESCList[ESC_INIT] := ''; ++ fESCList[ESC_COURIER] := #27#73#8; ++ fESCList[ESC_ROMAN] := #27#73#10; ++ fESCList[ESC_NORMAL] := #27#58; ++ fESCList[ESC_CONDENSED] := #27#15; ++ fESCList[ESC_EXPANDED] := #27#18; ++ fESCList[ESC_DOUBLED] := #27'W1'; ++ fESCList[ESC_NOT_DOUBLED] := #27'W0'; ++ fESCList[ESC_BOLD] := #27'E'; ++ fESCList[ESC_NOT_BOLD] := #27'F'; ++ fESCList[ESC_ITALIC] := #27'G'; ++ fESCList[ESC_NOT_ITALIC] := #27'H'; ++ fESCList[ESC_UNDERLINE] := #27'-1'; ++ fESCList[ESC_NOT_UNDERLINE] := #27'-0'; ++ fESCList[ESC_STRIKE] := #27'_1'; ++ fESCList[ESC_NOT_STRIKE] := #27'_0'; ++ fESCList[ESC_SUB] := ''; ++ fESCList[ESC_NOT_SUB] := ''; ++ fESCList[ESC_SUPER] := ''; ++ fESCList[ESC_NOT_SUPER] := ''; ++ end; ++ end; ++ end; ++ ++ procedure TRAWPrinter.SetPrnMode(aPrintingMode: TRAWPrinterMode); ++ begin ++ { ---- ++ Note: ++ RAW mode not just able to print in text mode (character unit), ++ it also able to print in graphic mode (pixel unit). This method ++ should enables pixel printing on RAW mode by sending printing ++ mode selection into the printer device. ++ ++ By enabling graphic mode, this class should be enhanced to handle ++ pixel printing, e.g.: ++ - DrawImage() with TImage parameter which to be drawn. ++ - DrawShape() with TShape parameter which to be drawn. ++ ++ Until this version, I do not develop the graphic mode yet. ++ ++ But, it'd nice if there is someone would do it. :) ++ Don't forget to send the enhancement of this class to me ++ and the original class author (see file header). ++ } ++ ++ //fPrnMode := aPrintingMode; ++ fPrnMode := rpmText; ++ end; ++ ++ end. ++ +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/regrawprinter.pas mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/regrawprinter.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/regrawprinter.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/regrawprinter.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,17 ---- ++ unit regrawprinter; ++ {$ifdef FPC}{$mode objfpc}{$h+}{$INTERFACES CORBA}{$endif} ++ ++ interface ++ ++ implementation ++ uses ++ msedesignintf,rawprinter; ++ ++ procedure register; ++ begin ++ registercomponents('RAW Printer',[trawprinter]); ++ end; ++ ++ initialization ++ register; ++ end. +diff -N -c -r mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/winspool.pas mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/winspool.pas +*** mseide-msegui-1.8.orig/docs/tutorials/trawprinter/trawprinter/winspool.pas 1970-01-01 01:00:00.000000000 +0100 +--- mseide-msegui-1.8/docs/tutorials/trawprinter/trawprinter/winspool.pas 2008-02-24 17:25:00.000000000 +0100 +*************** +*** 0 **** +--- 1,1860 ---- ++ ++ {*******************************************************} ++ { } ++ { Borland Delphi Run-time Library } ++ { Win32 printer API Interface Unit } ++ { } ++ { Copyright (c) 1985-1999, Microsoft Corporation } ++ { } ++ { Translator: Inprise Corporation } ++ { modified to MSEide+MSEgui by : Sri Wahono } ++ {*******************************************************} ++ ++ unit WinSpool; ++ ++ {$WEAKPACKAGEUNIT} ++ ++ interface ++ ++ uses Windows; ++ ++ (*$HPPEMIT '' *) ++ (*$HPPEMIT '#include ' *) ++ (*$HPPEMIT '' *) ++ const ++ winspl = 'winspool.drv'; ++ ++ type ++ PPrinterInfo1A = ^TPrinterInfo1A; ++ PPrinterInfo1W = ^TPrinterInfo1W; ++ PPrinterInfo1 = PPrinterInfo1A; ++ {$EXTERNALSYM _PRINTER_INFO_1A} ++ _PRINTER_INFO_1A = record ++ Flags: DWORD; ++ pDescription: PAnsiChar; ++ pName: PAnsiChar; ++ pComment: PAnsiChar; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_1W} ++ _PRINTER_INFO_1W = record ++ Flags: DWORD; ++ pDescription: PWideChar; ++ pName: PWideChar; ++ pComment: PWideChar; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_1} ++ _PRINTER_INFO_1 = _PRINTER_INFO_1A; ++ TPrinterInfo1A = _PRINTER_INFO_1A; ++ TPrinterInfo1W = _PRINTER_INFO_1W; ++ TPrinterInfo1 = TPrinterInfo1A; ++ {$EXTERNALSYM PRINTER_INFO_1A} ++ PRINTER_INFO_1A = _PRINTER_INFO_1A; ++ {$EXTERNALSYM PRINTER_INFO_1W} ++ PRINTER_INFO_1W = _PRINTER_INFO_1W; ++ {$EXTERNALSYM PRINTER_INFO_1} ++ PRINTER_INFO_1 = PRINTER_INFO_1A; ++ ++ PPrinterInfo2A = ^TPrinterInfo2A; ++ PPrinterInfo2W = ^TPrinterInfo2W; ++ PPrinterInfo2 = PPrinterInfo2A; ++ {$EXTERNALSYM _PRINTER_INFO_2A} ++ _PRINTER_INFO_2A = record ++ pServerName: PAnsiChar; ++ pPrinterName: PAnsiChar; ++ pShareName: PAnsiChar; ++ pPortName: PAnsiChar; ++ pDriverName: PAnsiChar; ++ pComment: PAnsiChar; ++ pLocation: PAnsiChar; ++ pDevMode: PDeviceModeA; ++ pSepFile: PAnsiChar; ++ pPrintProcessor: PAnsiChar; ++ pDatatype: PAnsiChar; ++ pParameters: PAnsiChar; ++ pSecurityDescriptor: PSecurityDescriptor; ++ Attributes: DWORD; ++ Priority: DWORD; ++ DefaultPriority: DWORD; ++ StartTime: DWORD; ++ UntilTime: DWORD; ++ Status: DWORD; ++ cJobs: DWORD; ++ AveragePPM: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_2W} ++ _PRINTER_INFO_2W = record ++ pServerName: PWideChar; ++ pPrinterName: PWideChar; ++ pShareName: PWideChar; ++ pPortName: PWideChar; ++ pDriverName: PWideChar; ++ pComment: PWideChar; ++ pLocation: PWideChar; ++ pDevMode: PDeviceModeW; ++ pSepFile: PWideChar; ++ pPrintProcessor: PWideChar; ++ pDatatype: PWideChar; ++ pParameters: PWideChar; ++ pSecurityDescriptor: PSecurityDescriptor; ++ Attributes: DWORD; ++ Priority: DWORD; ++ DefaultPriority: DWORD; ++ StartTime: DWORD; ++ UntilTime: DWORD; ++ Status: DWORD; ++ cJobs: DWORD; ++ AveragePPM: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_2} ++ _PRINTER_INFO_2 = _PRINTER_INFO_2A; ++ TPrinterInfo2A = _PRINTER_INFO_2A; ++ TPrinterInfo2W = _PRINTER_INFO_2W; ++ TPrinterInfo2 = TPrinterInfo2A; ++ {$EXTERNALSYM PRINTER_INFO_2A} ++ PRINTER_INFO_2A = _PRINTER_INFO_2A; ++ {$EXTERNALSYM PRINTER_INFO_2W} ++ PRINTER_INFO_2W = _PRINTER_INFO_2W; ++ {$EXTERNALSYM PRINTER_INFO_2} ++ PRINTER_INFO_2 = PRINTER_INFO_2A; ++ ++ PPrinterInfo3 = ^TPrinterInfo3; ++ {$EXTERNALSYM _PRINTER_INFO_3} ++ _PRINTER_INFO_3 = record ++ pSecurityDescriptor: PSecurityDescriptor; ++ end; ++ TPrinterInfo3 = _PRINTER_INFO_3; ++ {$EXTERNALSYM PRINTER_INFO_3} ++ PRINTER_INFO_3 = _PRINTER_INFO_3; ++ ++ PPrinterInfo4A = ^TPrinterInfo4A; ++ PPrinterInfo4W = ^TPrinterInfo4W; ++ PPrinterInfo4 = PPrinterInfo4A; ++ {$EXTERNALSYM _PRINTER_INFO_4A} ++ _PRINTER_INFO_4A = record ++ pPrinterName: PAnsiChar; ++ pServerName: PAnsiChar; ++ Attributes: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_4W} ++ _PRINTER_INFO_4W = record ++ pPrinterName: PWideChar; ++ pServerName: PWideChar; ++ Attributes: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_4} ++ _PRINTER_INFO_4 = _PRINTER_INFO_4A; ++ TPrinterInfo4A = _PRINTER_INFO_4A; ++ TPrinterInfo4W = _PRINTER_INFO_4W; ++ TPrinterInfo4 = TPrinterInfo4A; ++ {$EXTERNALSYM PRINTER_INFO_4A} ++ PRINTER_INFO_4A = _PRINTER_INFO_4A; ++ {$EXTERNALSYM PRINTER_INFO_4W} ++ PRINTER_INFO_4W = _PRINTER_INFO_4W; ++ {$EXTERNALSYM PRINTER_INFO_4} ++ PRINTER_INFO_4 = PRINTER_INFO_4A; ++ ++ PPrinterInfo5A = ^TPrinterInfo5A; ++ PPrinterInfo5W = ^TPrinterInfo5W; ++ PPrinterInfo5 = PPrinterInfo5A; ++ {$EXTERNALSYM _PRINTER_INFO_5A} ++ _PRINTER_INFO_5A = record ++ pPrinterName: PAnsiChar; ++ pPortName: PAnsiChar; ++ Attributes: DWORD; ++ DeviceNotSelectedTimeout: DWORD; ++ TransmissionRetryTimeout: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_5W} ++ _PRINTER_INFO_5W = record ++ pPrinterName: PWideChar; ++ pPortName: PWideChar; ++ Attributes: DWORD; ++ DeviceNotSelectedTimeout: DWORD; ++ TransmissionRetryTimeout: DWORD; ++ end; ++ {$EXTERNALSYM _PRINTER_INFO_5} ++ _PRINTER_INFO_5 = _PRINTER_INFO_5A; ++ TPrinterInfo5A = _PRINTER_INFO_5A; ++ TPrinterInfo5W = _PRINTER_INFO_5W; ++ TPrinterInfo5 = TPrinterInfo5A; ++ {$EXTERNALSYM PRINTER_INFO_5A} ++ PRINTER_INFO_5A = _PRINTER_INFO_5A; ++ {$EXTERNALSYM PRINTER_INFO_5W} ++ PRINTER_INFO_5W = _PRINTER_INFO_5W; ++ {$EXTERNALSYM PRINTER_INFO_5} ++ PRINTER_INFO_5 = PRINTER_INFO_5A; ++ ++ PPrinterInfo6 = ^TPrinterInfo6; ++ {$EXTERNALSYM _PRINTER_INFO_6} ++ _PRINTER_INFO_6 = record ++ dwStatus: DWORD; ++ end; ++ TPrinterInfo6 = _PRINTER_INFO_6; ++ {$EXTERNALSYM PRINTER_INFO_6} ++ PRINTER_INFO_6 = _PRINTER_INFO_6; ++ ++ const ++ {$EXTERNALSYM PRINTER_CONTROL_PAUSE} ++ PRINTER_CONTROL_PAUSE = 1; ++ {$EXTERNALSYM PRINTER_CONTROL_RESUME} ++ PRINTER_CONTROL_RESUME = 2; ++ {$EXTERNALSYM PRINTER_CONTROL_PURGE} ++ PRINTER_CONTROL_PURGE = 3; ++ {$EXTERNALSYM PRINTER_CONTROL_SET_STATUS} ++ PRINTER_CONTROL_SET_STATUS = 4; ++ ++ {$EXTERNALSYM PRINTER_STATUS_PAUSED} ++ PRINTER_STATUS_PAUSED = $00000001; ++ {$EXTERNALSYM PRINTER_STATUS_ERROR} ++ PRINTER_STATUS_ERROR = $00000002; ++ {$EXTERNALSYM PRINTER_STATUS_PENDING_DELETION} ++ PRINTER_STATUS_PENDING_DELETION = $00000004; ++ {$EXTERNALSYM PRINTER_STATUS_PAPER_JAM} ++ PRINTER_STATUS_PAPER_JAM = $00000008; ++ {$EXTERNALSYM PRINTER_STATUS_PAPER_OUT} ++ PRINTER_STATUS_PAPER_OUT = $00000010; ++ {$EXTERNALSYM PRINTER_STATUS_MANUAL_FEED} ++ PRINTER_STATUS_MANUAL_FEED = $00000020; ++ {$EXTERNALSYM PRINTER_STATUS_PAPER_PROBLEM} ++ PRINTER_STATUS_PAPER_PROBLEM = $00000040; ++ {$EXTERNALSYM PRINTER_STATUS_OFFLINE} ++ PRINTER_STATUS_OFFLINE = $00000080; ++ {$EXTERNALSYM PRINTER_STATUS_IO_ACTIVE} ++ PRINTER_STATUS_IO_ACTIVE = $00000100; ++ {$EXTERNALSYM PRINTER_STATUS_BUSY} ++ PRINTER_STATUS_BUSY = $00000200; ++ {$EXTERNALSYM PRINTER_STATUS_PRINTING} ++ PRINTER_STATUS_PRINTING = $00000400; ++ {$EXTERNALSYM PRINTER_STATUS_OUTPUT_BIN_FULL} ++ PRINTER_STATUS_OUTPUT_BIN_FULL = $00000800; ++ {$EXTERNALSYM PRINTER_STATUS_NOT_AVAILABLE} ++ PRINTER_STATUS_NOT_AVAILABLE = $00001000; ++ {$EXTERNALSYM PRINTER_STATUS_WAITING} ++ PRINTER_STATUS_WAITING = $00002000; ++ {$EXTERNALSYM PRINTER_STATUS_PROCESSING} ++ PRINTER_STATUS_PROCESSING = $00004000; ++ {$EXTERNALSYM PRINTER_STATUS_INITIALIZING} ++ PRINTER_STATUS_INITIALIZING = $00008000; ++ {$EXTERNALSYM PRINTER_STATUS_WARMING_UP} ++ PRINTER_STATUS_WARMING_UP = $00010000; ++ {$EXTERNALSYM PRINTER_STATUS_TONER_LOW} ++ PRINTER_STATUS_TONER_LOW = $00020000; ++ {$EXTERNALSYM PRINTER_STATUS_NO_TONER} ++ PRINTER_STATUS_NO_TONER = $00040000; ++ {$EXTERNALSYM PRINTER_STATUS_PAGE_PUNT} ++ PRINTER_STATUS_PAGE_PUNT = $00080000; ++ {$EXTERNALSYM PRINTER_STATUS_USER_INTERVENTION} ++ PRINTER_STATUS_USER_INTERVENTION = $00100000; ++ {$EXTERNALSYM PRINTER_STATUS_OUT_OF_MEMORY} ++ PRINTER_STATUS_OUT_OF_MEMORY = $00200000; ++ {$EXTERNALSYM PRINTER_STATUS_DOOR_OPEN} ++ PRINTER_STATUS_DOOR_OPEN = $00400000; ++ {$EXTERNALSYM PRINTER_STATUS_SERVER_UNKNOWN} ++ PRINTER_STATUS_SERVER_UNKNOWN = $00800000; ++ {$EXTERNALSYM PRINTER_STATUS_POWER_SAVE} ++ PRINTER_STATUS_POWER_SAVE = $01000000; ++ ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_QUEUED} ++ PRINTER_ATTRIBUTE_QUEUED = $00000001; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_DIRECT} ++ PRINTER_ATTRIBUTE_DIRECT = $00000002; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_DEFAULT} ++ PRINTER_ATTRIBUTE_DEFAULT = $00000004; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_SHARED} ++ PRINTER_ATTRIBUTE_SHARED = $00000008; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_NETWORK} ++ PRINTER_ATTRIBUTE_NETWORK = $00000010; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_HIDDEN} ++ PRINTER_ATTRIBUTE_HIDDEN = $00000020; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_LOCAL} ++ PRINTER_ATTRIBUTE_LOCAL = $00000040; ++ ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_ENABLE_DEVQ} ++ PRINTER_ATTRIBUTE_ENABLE_DEVQ = $00000080; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS} ++ PRINTER_ATTRIBUTE_KEEPPRINTEDJOBS = $00000100; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST} ++ PRINTER_ATTRIBUTE_DO_COMPLETE_FIRST = $00000200; ++ ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_WORK_OFFLINE} ++ PRINTER_ATTRIBUTE_WORK_OFFLINE = $00000400; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_ENABLE_BIDI} ++ PRINTER_ATTRIBUTE_ENABLE_BIDI = $00000800; ++ {$EXTERNALSYM PRINTER_ATTRIBUTE_RAW_ONLY} ++ PRINTER_ATTRIBUTE_RAW_ONLY = $00001000; ++ ++ ++ {$EXTERNALSYM NO_PRIORITY} ++ NO_PRIORITY = 0; ++ {$EXTERNALSYM MAX_PRIORITY} ++ MAX_PRIORITY = 99; ++ {$EXTERNALSYM MIN_PRIORITY} ++ MIN_PRIORITY = 1; ++ {$EXTERNALSYM DEF_PRIORITY} ++ DEF_PRIORITY = 1; ++ ++ type ++ PJobInfo1A = ^TJobInfo1A; ++ PJobInfo1W = ^TJobInfo1W; ++ PJobInfo1 = PJobInfo1A; ++ {$EXTERNALSYM _JOB_INFO_1A} ++ _JOB_INFO_1A = record ++ JobId: DWORD; ++ pPrinterName: PAnsiChar; ++ pMachineName: PAnsiChar; ++ pUserName: PAnsiChar; ++ pDocument: PAnsiChar; ++ pDatatype: PAnsiChar; ++ pStatus: PAnsiChar; ++ Status: DWORD; ++ Priority: DWORD; ++ Position: DWORD; ++ TotalPages: DWORD; ++ PagesPrinted: DWORD; ++ Submitted: TSystemTime; ++ end; ++ {$EXTERNALSYM _JOB_INFO_1W} ++ _JOB_INFO_1W = record ++ JobId: DWORD; ++ pPrinterName: PWideChar; ++ pMachineName: PWideChar; ++ pUserName: PWideChar; ++ pDocument: PWideChar; ++ pDatatype: PWideChar; ++ pStatus: PWideChar; ++ Status: DWORD; ++ Priority: DWORD; ++ Position: DWORD; ++ TotalPages: DWORD; ++ PagesPrinted: DWORD; ++ Submitted: TSystemTime; ++ end; ++ {$EXTERNALSYM _JOB_INFO_1} ++ _JOB_INFO_1 = _JOB_INFO_1A; ++ TJobInfo1A = _JOB_INFO_1A; ++ TJobInfo1W = _JOB_INFO_1W; ++ TJobInfo1 = TJobInfo1A; ++ {$EXTERNALSYM JOB_INFO_1A} ++ JOB_INFO_1A = _JOB_INFO_1A; ++ {$EXTERNALSYM JOB_INFO_1W} ++ JOB_INFO_1W = _JOB_INFO_1W; ++ {$EXTERNALSYM JOB_INFO_1} ++ JOB_INFO_1 = JOB_INFO_1A; ++ ++ PJobInfo2A = ^TJobInfo2A; ++ PJobInfo2W = ^TJobInfo2W; ++ PJobInfo2 = PJobInfo2A; ++ {$EXTERNALSYM _JOB_INFO_2A} ++ _JOB_INFO_2A = record ++ JobId: DWORD; ++ pPrinterName: PAnsiChar; ++ pMachineName: PAnsiChar; ++ pUserName: PAnsiChar; ++ pDocument: PAnsiChar; ++ pNotifyName: PAnsiChar; ++ pDatatype: PAnsiChar; ++ pPrintProcessor: PAnsiChar; ++ pParameters: PAnsiChar; ++ pDriverName: PAnsiChar; ++ pDevMode: PDeviceModeA; ++ pStatus: PAnsiChar; ++ pSecurityDescriptor: PSECURITY_DESCRIPTOR; ++ Status: DWORD; ++ Priority: DWORD; ++ Position: DWORD; ++ StartTime: DWORD; ++ UntilTime: DWORD; ++ TotalPages: DWORD; ++ Size: DWORD; ++ Submitted: TSystemTime; { Time the job was spooled } ++ Time: DWORD; { How many seconds the job has been printing } ++ PagesPrinted: DWORD; ++ end; ++ {$EXTERNALSYM _JOB_INFO_2W} ++ _JOB_INFO_2W = record ++ JobId: DWORD; ++ pPrinterName: PWideChar; ++ pMachineName: PWideChar; ++ pUserName: PWideChar; ++ pDocument: PWideChar; ++ pNotifyName: PWideChar; ++ pDatatype: PWideChar; ++ pPrintProcessor: PWideChar; ++ pParameters: PWideChar; ++ pDriverName: PWideChar; ++ pDevMode: PDeviceModeW; ++ pStatus: PWideChar; ++ pSecurityDescriptor: PSECURITY_DESCRIPTOR; ++ Status: DWORD; ++ Priority: DWORD; ++ Position: DWORD; ++ StartTime: DWORD; ++ UntilTime: DWORD; ++ TotalPages: DWORD; ++ Size: DWORD; ++ Submitted: TSystemTime; { Time the job was spooled } ++ Time: DWORD; { How many seconds the job has been printing } ++ PagesPrinted: DWORD; ++ end; ++ {$EXTERNALSYM _JOB_INFO_2} ++ _JOB_INFO_2 = _JOB_INFO_2A; ++ TJobInfo2A = _JOB_INFO_2A; ++ TJobInfo2W = _JOB_INFO_2W; ++ TJobInfo2 = TJobInfo2A; ++ {$EXTERNALSYM JOB_INFO_2A} ++ JOB_INFO_2A = _JOB_INFO_2A; ++ {$EXTERNALSYM JOB_INFO_2W} ++ JOB_INFO_2W = _JOB_INFO_2W; ++ {$EXTERNALSYM JOB_INFO_2} ++ JOB_INFO_2 = JOB_INFO_2A; ++ ++ PJobInfo3 = ^TJobInfo3; ++ {$EXTERNALSYM _JOB_INFO_3} ++ _JOB_INFO_3 = record ++ JobId: DWORD; ++ NextJobId: DWORD; ++ Reserved: DWORD; ++ end; ++ TJobInfo3 = _JOB_INFO_3; ++ {$EXTERNALSYM JOB_INFO_3} ++ JOB_INFO_3 = _JOB_INFO_3; ++ ++ const ++ {$EXTERNALSYM JOB_CONTROL_PAUSE} ++ JOB_CONTROL_PAUSE = 1; ++ {$EXTERNALSYM JOB_CONTROL_RESUME} ++ JOB_CONTROL_RESUME = 2; ++ {$EXTERNALSYM JOB_CONTROL_CANCEL} ++ JOB_CONTROL_CANCEL = 3; ++ {$EXTERNALSYM JOB_CONTROL_RESTART} ++ JOB_CONTROL_RESTART = 4; ++ {$EXTERNALSYM JOB_CONTROL_DELETE} ++ JOB_CONTROL_DELETE = 5; ++ {$EXTERNALSYM JOB_CONTROL_SENT_TO_PRINTER} ++ JOB_CONTROL_SENT_TO_PRINTER = 6; ++ {$EXTERNALSYM JOB_CONTROL_LAST_PAGE_EJECTED} ++ JOB_CONTROL_LAST_PAGE_EJECTED = 7; ++ ++ {$EXTERNALSYM JOB_STATUS_PAUSED} ++ JOB_STATUS_PAUSED = $00000001; ++ {$EXTERNALSYM JOB_STATUS_ERROR} ++ JOB_STATUS_ERROR = $00000002; ++ {$EXTERNALSYM JOB_STATUS_DELETING} ++ JOB_STATUS_DELETING = $00000004; ++ {$EXTERNALSYM JOB_STATUS_SPOOLING} ++ JOB_STATUS_SPOOLING = $00000008; ++ {$EXTERNALSYM JOB_STATUS_PRINTING} ++ JOB_STATUS_PRINTING = $00000010; ++ {$EXTERNALSYM JOB_STATUS_OFFLINE} ++ JOB_STATUS_OFFLINE = $00000020; ++ {$EXTERNALSYM JOB_STATUS_PAPEROUT} ++ JOB_STATUS_PAPEROUT = $00000040; ++ {$EXTERNALSYM JOB_STATUS_PRINTED} ++ JOB_STATUS_PRINTED = $00000080; ++ {$EXTERNALSYM JOB_STATUS_DELETED} ++ JOB_STATUS_DELETED = $00000100; ++ {$EXTERNALSYM JOB_STATUS_BLOCKED_DEVQ} ++ JOB_STATUS_BLOCKED_DEVQ = $00000200; ++ {$EXTERNALSYM JOB_STATUS_USER_INTERVENTION} ++ JOB_STATUS_USER_INTERVENTION = $00000400; ++ {$EXTERNALSYM JOB_STATUS_RESTART} ++ JOB_STATUS_RESTART = $00000800; ++ ++ {$EXTERNALSYM JOB_POSITION_UNSPECIFIED} ++ JOB_POSITION_UNSPECIFIED = 0; ++ ++ type ++ PAddJobInfo1A = ^TAddJobInfo1A; ++ PAddJobInfo1W = ^TAddJobInfo1W; ++ PAddJobInfo1 = PAddJobInfo1A; ++ {$EXTERNALSYM _ADDJOB_INFO_1A} ++ _ADDJOB_INFO_1A = record ++ Path: PAnsiChar; ++ JobId: DWORD; ++ end; ++ {$EXTERNALSYM _ADDJOB_INFO_1W} ++ _ADDJOB_INFO_1W = record ++ Path: PWideChar; ++ JobId: DWORD; ++ end; ++ {$EXTERNALSYM _ADDJOB_INFO_1} ++ _ADDJOB_INFO_1 = _ADDJOB_INFO_1A; ++ TAddJobInfo1A = _ADDJOB_INFO_1A; ++ TAddJobInfo1W = _ADDJOB_INFO_1W; ++ TAddJobInfo1 = TAddJobInfo1A; ++ {$EXTERNALSYM ADDJOB_INFO_1A} ++ ADDJOB_INFO_1A = _ADDJOB_INFO_1A; ++ {$EXTERNALSYM ADDJOB_INFO_1W} ++ ADDJOB_INFO_1W = _ADDJOB_INFO_1W; ++ {$EXTERNALSYM ADDJOB_INFO_1} ++ ADDJOB_INFO_1 = ADDJOB_INFO_1A; ++ ++ PDriverInfo1A = ^TDriverInfo1A; ++ PDriverInfo1W = ^TDriverInfo1W; ++ PDriverInfo1 = PDriverInfo1A; ++ {$EXTERNALSYM _DRIVER_INFO_1A} ++ _DRIVER_INFO_1A = record ++ pName: PAnsiChar; { QMS 810 } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_1W} ++ _DRIVER_INFO_1W = record ++ pName: PWideChar; { QMS 810 } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_1} ++ _DRIVER_INFO_1 = _DRIVER_INFO_1A; ++ TDriverInfo1A = _DRIVER_INFO_1A; ++ TDriverInfo1W = _DRIVER_INFO_1W; ++ TDriverInfo1 = TDriverInfo1A; ++ {$EXTERNALSYM DRIVER_INFO_1A} ++ DRIVER_INFO_1A = _DRIVER_INFO_1A; ++ {$EXTERNALSYM DRIVER_INFO_1W} ++ DRIVER_INFO_1W = _DRIVER_INFO_1W; ++ {$EXTERNALSYM DRIVER_INFO_1} ++ DRIVER_INFO_1 = DRIVER_INFO_1A; ++ ++ PDriverInfo2A = ^TDriverInfo2A; ++ PDriverInfo2W = ^TDriverInfo2W; ++ PDriverInfo2 = PDriverInfo2A; ++ {$EXTERNALSYM _DRIVER_INFO_2A} ++ _DRIVER_INFO_2A = record ++ cVersion: DWORD; ++ pName: PAnsiChar; { QMS 810 } ++ pEnvironment: PAnsiChar; { Win32 x86 } ++ pDriverPath: PAnsiChar; { c:\drivers\pscript.dll } ++ pDataFile: PAnsiChar; { c:\drivers\QMS810.PPD } ++ pConfigFile: PAnsiChar; { c:\drivers\PSCRPTUI.DLL } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_2W} ++ _DRIVER_INFO_2W = record ++ cVersion: DWORD; ++ pName: PWideChar; { QMS 810 } ++ pEnvironment: PWideChar; { Win32 x86 } ++ pDriverPath: PWideChar; { c:\drivers\pscript.dll } ++ pDataFile: PWideChar; { c:\drivers\QMS810.PPD } ++ pConfigFile: PWideChar; { c:\drivers\PSCRPTUI.DLL } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_2} ++ _DRIVER_INFO_2 = _DRIVER_INFO_2A; ++ TDriverInfo2A = _DRIVER_INFO_2A; ++ TDriverInfo2W = _DRIVER_INFO_2W; ++ TDriverInfo2 = TDriverInfo2A; ++ {$EXTERNALSYM DRIVER_INFO_2A} ++ DRIVER_INFO_2A = _DRIVER_INFO_2A; ++ {$EXTERNALSYM DRIVER_INFO_2W} ++ DRIVER_INFO_2W = _DRIVER_INFO_2W; ++ {$EXTERNALSYM DRIVER_INFO_2} ++ DRIVER_INFO_2 = DRIVER_INFO_2A; ++ ++ PDriverInfo3A = ^TDriverInfo3A; ++ PDriverInfo3W = ^TDriverInfo3W; ++ PDriverInfo3 = PDriverInfo3A; ++ {$EXTERNALSYM _DRIVER_INFO_3A} ++ _DRIVER_INFO_3A = record ++ cVersion: DWORD; ++ pName: PAnsiChar; { QMS 810 } ++ pEnvironment: PAnsiChar; { Win32 x86 } ++ pDriverPath: PAnsiChar; { c:\drivers\pscript.dll } ++ pDataFile: PAnsiChar; { c:\drivers\QMS810.PPD } ++ pConfigFile: PAnsiChar; { c:\drivers\PSCRPTUI.DLL } ++ pHelpFile: PAnsiChar; { c:\drivers\PSCRPTUI.HLP } ++ pDependentFiles: PAnsiChar; { PSCRIPT.DLL\0QMS810.PPD\0PSCRIPTUI.DLL\0PSCRIPTUI.HLP\0PSTEST.TXT\0\0 } ++ pMonitorName: PAnsiChar; { "PJL monitor" } ++ pDefaultDataType: PAnsiChar; { "EMF" } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_3W} ++ _DRIVER_INFO_3W = record ++ cVersion: DWORD; ++ pName: PWideChar; { QMS 810 } ++ pEnvironment: PWideChar; { Win32 x86 } ++ pDriverPath: PWideChar; { c:\drivers\pscript.dll } ++ pDataFile: PWideChar; { c:\drivers\QMS810.PPD } ++ pConfigFile: PWideChar; { c:\drivers\PSCRPTUI.DLL } ++ pHelpFile: PWideChar; { c:\drivers\PSCRPTUI.HLP } ++ pDependentFiles: PWideChar; { PSCRIPT.DLL\0QMS810.PPD\0PSCRIPTUI.DLL\0PSCRIPTUI.HLP\0PSTEST.TXT\0\0 } ++ pMonitorName: PWideChar; { "PJL monitor" } ++ pDefaultDataType: PWideChar; { "EMF" } ++ end; ++ {$EXTERNALSYM _DRIVER_INFO_3} ++ _DRIVER_INFO_3 = _DRIVER_INFO_3A; ++ TDriverInfo3A = _DRIVER_INFO_3A; ++ TDriverInfo3W = _DRIVER_INFO_3W; ++ TDriverInfo3 = TDriverInfo3A; ++ {$EXTERNALSYM DRIVER_INFO_3A} ++ DRIVER_INFO_3A = _DRIVER_INFO_3A; ++ {$EXTERNALSYM DRIVER_INFO_3W} ++ DRIVER_INFO_3W = _DRIVER_INFO_3W; ++ {$EXTERNALSYM DRIVER_INFO_3} ++ DRIVER_INFO_3 = DRIVER_INFO_3A; ++ ++ PDocInfo1A = ^TDocInfo1A; ++ PDocInfo1W = ^TDocInfo1W; ++ PDocInfo1 = PDocInfo1A; ++ {$EXTERNALSYM _DOC_INFO_1A} ++ _DOC_INFO_1A = record ++ pDocName: PAnsiChar; ++ pOutputFile: PAnsiChar; ++ pDatatype: PAnsiChar; ++ end; ++ {$EXTERNALSYM _DOC_INFO_1W} ++ _DOC_INFO_1W = record ++ pDocName: PWideChar; ++ pOutputFile: PWideChar; ++ pDatatype: PWideChar; ++ end; ++ {$EXTERNALSYM _DOC_INFO_1} ++ _DOC_INFO_1 = _DOC_INFO_1A; ++ TDocInfo1A = _DOC_INFO_1A; ++ TDocInfo1W = _DOC_INFO_1W; ++ TDocInfo1 = TDocInfo1A; ++ {$EXTERNALSYM DOC_INFO_1A} ++ DOC_INFO_1A = _DOC_INFO_1A; ++ {$EXTERNALSYM DOC_INFO_1W} ++ DOC_INFO_1W = _DOC_INFO_1W; ++ {$EXTERNALSYM DOC_INFO_1} ++ DOC_INFO_1 = DOC_INFO_1A; ++ ++ PFormInfo1A = ^TFormInfo1A; ++ PFormInfo1W = ^TFormInfo1W; ++ PFormInfo1 = PFormInfo1A; ++ {$EXTERNALSYM _FORM_INFO_1A} ++ _FORM_INFO_1A = record ++ Flags: DWORD; ++ pName: PAnsiChar; ++ Size: TSize; ++ ImageableArea: TRect; ++ end; ++ {$EXTERNALSYM _FORM_INFO_1W} ++ _FORM_INFO_1W = record ++ Flags: DWORD; ++ pName: PWideChar; ++ Size: TSize; ++ ImageableArea: TRect; ++ end; ++ {$EXTERNALSYM _FORM_INFO_1} ++ _FORM_INFO_1 = _FORM_INFO_1A; ++ TFormInfo1A = _FORM_INFO_1A; ++ TFormInfo1W = _FORM_INFO_1W; ++ TFormInfo1 = TFormInfo1A; ++ {$EXTERNALSYM FORM_INFO_1A} ++ FORM_INFO_1A = _FORM_INFO_1A; ++ {$EXTERNALSYM FORM_INFO_1W} ++ FORM_INFO_1W = _FORM_INFO_1W; ++ {$EXTERNALSYM FORM_INFO_1} ++ FORM_INFO_1 = FORM_INFO_1A; ++ ++ PDocInfo2A = ^TDocInfo2A; ++ PDocInfo2W = ^TDocInfo2W; ++ PDocInfo2 = PDocInfo2A; ++ {$EXTERNALSYM _DOC_INFO_2A} ++ _DOC_INFO_2A = record ++ pDocName: PAnsiChar; ++ pOutputFile: PAnsiChar; ++ pDatatype: PAnsiChar; ++ dwMode: DWORD; ++ JobId: DWORD; ++ end; ++ {$EXTERNALSYM _DOC_INFO_2W} ++ _DOC_INFO_2W = record ++ pDocName: PWideChar; ++ pOutputFile: PWideChar; ++ pDatatype: PWideChar; ++ dwMode: DWORD; ++ JobId: DWORD; ++ end; ++ {$EXTERNALSYM _DOC_INFO_2} ++ _DOC_INFO_2 = _DOC_INFO_2A; ++ TDocInfo2A = _DOC_INFO_2A; ++ TDocInfo2W = _DOC_INFO_2W; ++ TDocInfo2 = TDocInfo2A; ++ {$EXTERNALSYM DOC_INFO_2A} ++ DOC_INFO_2A = _DOC_INFO_2A; ++ {$EXTERNALSYM DOC_INFO_2W} ++ DOC_INFO_2W = _DOC_INFO_2W; ++ {$EXTERNALSYM DOC_INFO_2} ++ DOC_INFO_2 = DOC_INFO_2A; ++ ++ const ++ {$EXTERNALSYM DI_CHANNEL} ++ DI_CHANNEL = 1; { start direct read/write channel, } ++ {$EXTERNALSYM DI_READ_SPOOL_JOB} ++ DI_READ_SPOOL_JOB = 3; ++ ++ {$EXTERNALSYM FORM_USER} ++ FORM_USER = $00000000; ++ {$EXTERNALSYM FORM_BUILTIN} ++ FORM_BUILTIN = $00000001; ++ {$EXTERNALSYM FORM_PRINTER} ++ FORM_PRINTER = $00000002; ++ ++ type ++ PPrintProcessorInfo1A = ^TPrintProcessorInfo1A; ++ PPrintProcessorInfo1W = ^TPrintProcessorInfo1W; ++ PPrintProcessorInfo1 = PPrintProcessorInfo1A; ++ {$EXTERNALSYM _PRINTPROCESSOR_INFO_1A} ++ _PRINTPROCESSOR_INFO_1A = record ++ pName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _PRINTPROCESSOR_INFO_1W} ++ _PRINTPROCESSOR_INFO_1W = record ++ pName: PWideChar; ++ end; ++ {$EXTERNALSYM _PRINTPROCESSOR_INFO_1} ++ _PRINTPROCESSOR_INFO_1 = _PRINTPROCESSOR_INFO_1A; ++ TPrintProcessorInfo1A = _PRINTPROCESSOR_INFO_1A; ++ TPrintProcessorInfo1W = _PRINTPROCESSOR_INFO_1W; ++ TPrintProcessorInfo1 = TPrintProcessorInfo1A; ++ {$EXTERNALSYM PRINTPROCESSOR_INFO_1A} ++ PRINTPROCESSOR_INFO_1A = _PRINTPROCESSOR_INFO_1A; ++ {$EXTERNALSYM PRINTPROCESSOR_INFO_1W} ++ PRINTPROCESSOR_INFO_1W = _PRINTPROCESSOR_INFO_1W; ++ {$EXTERNALSYM PRINTPROCESSOR_INFO_1} ++ PRINTPROCESSOR_INFO_1 = PRINTPROCESSOR_INFO_1A; ++ ++ PPortInfo1A = ^TPortInfo1A; ++ PPortInfo1W = ^TPortInfo1W; ++ PPortInfo1 = PPortInfo1A; ++ {$EXTERNALSYM _PORT_INFO_1A} ++ _PORT_INFO_1A = record ++ pName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _PORT_INFO_1W} ++ _PORT_INFO_1W = record ++ pName: PWideChar; ++ end; ++ {$EXTERNALSYM _PORT_INFO_1} ++ _PORT_INFO_1 = _PORT_INFO_1A; ++ TPortInfo1A = _PORT_INFO_1A; ++ TPortInfo1W = _PORT_INFO_1W; ++ TPortInfo1 = TPortInfo1A; ++ {$EXTERNALSYM PORT_INFO_1A} ++ PORT_INFO_1A = _PORT_INFO_1A; ++ {$EXTERNALSYM PORT_INFO_1W} ++ PORT_INFO_1W = _PORT_INFO_1W; ++ {$EXTERNALSYM PORT_INFO_1} ++ PORT_INFO_1 = PORT_INFO_1A; ++ ++ PPortInfo2A = ^TPortInfo2A; ++ PPortInfo2W = ^TPortInfo2W; ++ PPortInfo2 = PPortInfo2A; ++ {$EXTERNALSYM _PORT_INFO_2A} ++ _PORT_INFO_2A = record ++ pPortName: PAnsiChar; ++ pMonitorName: PAnsiChar; ++ pDescription: PAnsiChar; ++ fPortType: DWORD; ++ Reserved: DWORD; ++ end; ++ {$EXTERNALSYM _PORT_INFO_2W} ++ _PORT_INFO_2W = record ++ pPortName: PWideChar; ++ pMonitorName: PWideChar; ++ pDescription: PWideChar; ++ fPortType: DWORD; ++ Reserved: DWORD; ++ end; ++ {$EXTERNALSYM _PORT_INFO_2} ++ _PORT_INFO_2 = _PORT_INFO_2A; ++ TPortInfo2A = _PORT_INFO_2A; ++ TPortInfo2W = _PORT_INFO_2W; ++ TPortInfo2 = TPortInfo2A; ++ {$EXTERNALSYM PORT_INFO_2A} ++ PORT_INFO_2A = _PORT_INFO_2A; ++ {$EXTERNALSYM PORT_INFO_2W} ++ PORT_INFO_2W = _PORT_INFO_2W; ++ {$EXTERNALSYM PORT_INFO_2} ++ PORT_INFO_2 = PORT_INFO_2A; ++ ++ const ++ {$EXTERNALSYM PORT_TYPE_WRITE} ++ PORT_TYPE_WRITE = $0001; ++ {$EXTERNALSYM PORT_TYPE_READ} ++ PORT_TYPE_READ = $0002; ++ {$EXTERNALSYM PORT_TYPE_REDIRECTED} ++ PORT_TYPE_REDIRECTED = $0004; ++ {$EXTERNALSYM PORT_TYPE_NET_ATTACHED} ++ PORT_TYPE_NET_ATTACHED = $0008; ++ ++ type ++ PPortInfo3A = ^TPortInfo3A; ++ PPortInfo3W = ^TPortInfo3W; ++ PPortInfo3 = PPortInfo3A; ++ {$EXTERNALSYM _PORT_INFO_3A} ++ _PORT_INFO_3A = record ++ dwStatus: DWORD; ++ pszStatus: PAnsiChar; ++ dwSeverity: DWORD; ++ end; ++ {$EXTERNALSYM _PORT_INFO_3W} ++ _PORT_INFO_3W = record ++ dwStatus: DWORD; ++ pszStatus: PWideChar; ++ dwSeverity: DWORD; ++ end; ++ {$EXTERNALSYM _PORT_INFO_3} ++ _PORT_INFO_3 = _PORT_INFO_3A; ++ TPortInfo3A = _PORT_INFO_3A; ++ TPortInfo3W = _PORT_INFO_3W; ++ TPortInfo3 = TPortInfo3A; ++ {$EXTERNALSYM PORT_INFO_3A} ++ PORT_INFO_3A = _PORT_INFO_3A; ++ {$EXTERNALSYM PORT_INFO_3W} ++ PORT_INFO_3W = _PORT_INFO_3W; ++ {$EXTERNALSYM PORT_INFO_3} ++ PORT_INFO_3 = PORT_INFO_3A; ++ ++ const ++ {$EXTERNALSYM PORT_STATUS_TYPE_ERROR} ++ PORT_STATUS_TYPE_ERROR = 1; ++ {$EXTERNALSYM PORT_STATUS_TYPE_WARNING} ++ PORT_STATUS_TYPE_WARNING = 2; ++ {$EXTERNALSYM PORT_STATUS_TYPE_INFO} ++ PORT_STATUS_TYPE_INFO = 3; ++ ++ {$EXTERNALSYM PORT_STATUS_OFFLINE} ++ PORT_STATUS_OFFLINE = 1; ++ {$EXTERNALSYM PORT_STATUS_PAPER_JAM} ++ PORT_STATUS_PAPER_JAM = 2; ++ {$EXTERNALSYM PORT_STATUS_PAPER_OUT} ++ PORT_STATUS_PAPER_OUT = 3; ++ {$EXTERNALSYM PORT_STATUS_OUTPUT_BIN_FULL} ++ PORT_STATUS_OUTPUT_BIN_FULL = 4; ++ {$EXTERNALSYM PORT_STATUS_PAPER_PROBLEM} ++ PORT_STATUS_PAPER_PROBLEM = 5; ++ {$EXTERNALSYM PORT_STATUS_NO_TONER} ++ PORT_STATUS_NO_TONER = 6; ++ {$EXTERNALSYM PORT_STATUS_DOOR_OPEN} ++ PORT_STATUS_DOOR_OPEN = 7; ++ {$EXTERNALSYM PORT_STATUS_USER_INTERVENTION} ++ PORT_STATUS_USER_INTERVENTION = 8; ++ {$EXTERNALSYM PORT_STATUS_OUT_OF_MEMORY} ++ PORT_STATUS_OUT_OF_MEMORY = 9; ++ ++ {$EXTERNALSYM PORT_STATUS_TONER_LOW} ++ PORT_STATUS_TONER_LOW = 10; ++ ++ {$EXTERNALSYM PORT_STATUS_WARMING_UP} ++ PORT_STATUS_WARMING_UP = 11; ++ {$EXTERNALSYM PORT_STATUS_POWER_SAVE} ++ PORT_STATUS_POWER_SAVE = 12; ++ ++ type ++ PMonitorInfo1A = ^TMonitorInfo1A; ++ PMonitorInfo1W = ^TMonitorInfo1W; ++ PMonitorInfo1 = PMonitorInfo1A; ++ {$EXTERNALSYM _MONITOR_INFO_1A} ++ _MONITOR_INFO_1A = record ++ pName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _MONITOR_INFO_1W} ++ _MONITOR_INFO_1W = record ++ pName: PWideChar; ++ end; ++ {$EXTERNALSYM _MONITOR_INFO_1} ++ _MONITOR_INFO_1 = _MONITOR_INFO_1A; ++ TMonitorInfo1A = _MONITOR_INFO_1A; ++ TMonitorInfo1W = _MONITOR_INFO_1W; ++ TMonitorInfo1 = TMonitorInfo1A; ++ {$EXTERNALSYM MONITOR_INFO_1A} ++ MONITOR_INFO_1A = _MONITOR_INFO_1A; ++ {$EXTERNALSYM MONITOR_INFO_1W} ++ MONITOR_INFO_1W = _MONITOR_INFO_1W; ++ {$EXTERNALSYM MONITOR_INFO_1} ++ MONITOR_INFO_1 = MONITOR_INFO_1A; ++ ++ PMonitorInfo2A = ^TMonitorInfo2A; ++ PMonitorInfo2W = ^TMonitorInfo2W; ++ PMonitorInfo2 = PMonitorInfo2A; ++ {$EXTERNALSYM _MONITOR_INFO_2A} ++ _MONITOR_INFO_2A = record ++ pName: PAnsiChar; ++ pEnvironment: PAnsiChar; ++ pDLLName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _MONITOR_INFO_2W} ++ _MONITOR_INFO_2W = record ++ pName: PWideChar; ++ pEnvironment: PWideChar; ++ pDLLName: PWideChar; ++ end; ++ {$EXTERNALSYM _MONITOR_INFO_2} ++ _MONITOR_INFO_2 = _MONITOR_INFO_2A; ++ TMonitorInfo2A = _MONITOR_INFO_2A; ++ TMonitorInfo2W = _MONITOR_INFO_2W; ++ TMonitorInfo2 = TMonitorInfo2A; ++ {$EXTERNALSYM MONITOR_INFO_2A} ++ MONITOR_INFO_2A = _MONITOR_INFO_2A; ++ {$EXTERNALSYM MONITOR_INFO_2W} ++ MONITOR_INFO_2W = _MONITOR_INFO_2W; ++ {$EXTERNALSYM MONITOR_INFO_2} ++ MONITOR_INFO_2 = MONITOR_INFO_2A; ++ ++ PDatatypesInfo1A = ^TDatatypesInfo1A; ++ PDatatypesInfo1W = ^TDatatypesInfo1W; ++ PDatatypesInfo1 = PDatatypesInfo1A; ++ {$EXTERNALSYM _DATATYPES_INFO_1A} ++ _DATATYPES_INFO_1A = record ++ pName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _DATATYPES_INFO_1W} ++ _DATATYPES_INFO_1W = record ++ pName: PWideChar; ++ end; ++ {$EXTERNALSYM _DATATYPES_INFO_1} ++ _DATATYPES_INFO_1 = _DATATYPES_INFO_1A; ++ TDatatypesInfo1A = _DATATYPES_INFO_1A; ++ TDatatypesInfo1W = _DATATYPES_INFO_1W; ++ TDatatypesInfo1 = TDatatypesInfo1A; ++ {$EXTERNALSYM DATATYPES_INFO_1A} ++ DATATYPES_INFO_1A = _DATATYPES_INFO_1A; ++ {$EXTERNALSYM DATATYPES_INFO_1W} ++ DATATYPES_INFO_1W = _DATATYPES_INFO_1W; ++ {$EXTERNALSYM DATATYPES_INFO_1} ++ DATATYPES_INFO_1 = DATATYPES_INFO_1A; ++ ++ PPrinterDefaultsA = ^TPrinterDefaultsA; ++ PPrinterDefaultsW = ^TPrinterDefaultsW; ++ PPrinterDefaults = PPrinterDefaultsA; ++ {$EXTERNALSYM _PRINTER_DEFAULTSA} ++ _PRINTER_DEFAULTSA = record ++ pDatatype: PAnsiChar; ++ pDevMode: PDeviceModeA; ++ DesiredAccess: ACCESS_MASK; ++ end; ++ {$EXTERNALSYM _PRINTER_DEFAULTSW} ++ _PRINTER_DEFAULTSW = record ++ pDatatype: PWideChar; ++ pDevMode: PDeviceModeW; ++ DesiredAccess: ACCESS_MASK; ++ end; ++ {$EXTERNALSYM _PRINTER_DEFAULTS} ++ _PRINTER_DEFAULTS = _PRINTER_DEFAULTSA; ++ TPrinterDefaultsA = _PRINTER_DEFAULTSA; ++ TPrinterDefaultsW = _PRINTER_DEFAULTSW; ++ TPrinterDefaults = TPrinterDefaultsA; ++ {$EXTERNALSYM PRINTER_DEFAULTSA} ++ PRINTER_DEFAULTSA = _PRINTER_DEFAULTSA; ++ {$EXTERNALSYM PRINTER_DEFAULTSW} ++ PRINTER_DEFAULTSW = _PRINTER_DEFAULTSW; ++ {$EXTERNALSYM PRINTER_DEFAULTS} ++ PRINTER_DEFAULTS = PRINTER_DEFAULTSA; ++ ++ {$EXTERNALSYM EnumPrintersA} ++ function EnumPrintersA(Flags: DWORD; Name: PAnsiChar; Level: DWORD; ++ pPrinterEnum: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintersA'; ++ {$EXTERNALSYM EnumPrintersW} ++ function EnumPrintersW(Flags: DWORD; Name: PWideChar; Level: DWORD; ++ pPrinterEnum: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintersW'; ++ {$EXTERNALSYM EnumPrinters} ++ function EnumPrinters(Flags: DWORD; Name: PChar; Level: DWORD; ++ pPrinterEnum: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintersA'; ++ ++ const ++ {$EXTERNALSYM PRINTER_ENUM_DEFAULT} ++ PRINTER_ENUM_DEFAULT = $00000001; ++ {$EXTERNALSYM PRINTER_ENUM_LOCAL} ++ PRINTER_ENUM_LOCAL = $00000002; ++ {$EXTERNALSYM PRINTER_ENUM_CONNECTIONS} ++ PRINTER_ENUM_CONNECTIONS = $00000004; ++ {$EXTERNALSYM PRINTER_ENUM_FAVORITE} ++ PRINTER_ENUM_FAVORITE = $00000004; ++ {$EXTERNALSYM PRINTER_ENUM_NAME} ++ PRINTER_ENUM_NAME = $00000008; ++ {$EXTERNALSYM PRINTER_ENUM_REMOTE} ++ PRINTER_ENUM_REMOTE = $00000010; ++ {$EXTERNALSYM PRINTER_ENUM_SHARED} ++ PRINTER_ENUM_SHARED = $00000020; ++ {$EXTERNALSYM PRINTER_ENUM_NETWORK} ++ PRINTER_ENUM_NETWORK = $00000040; ++ ++ {$EXTERNALSYM PRINTER_ENUM_EXPAND} ++ PRINTER_ENUM_EXPAND = $00004000; ++ {$EXTERNALSYM PRINTER_ENUM_CONTAINER} ++ PRINTER_ENUM_CONTAINER = $00008000; ++ ++ {$EXTERNALSYM PRINTER_ENUM_ICONMASK} ++ PRINTER_ENUM_ICONMASK = $00ff0000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON1} ++ PRINTER_ENUM_ICON1 = $00010000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON2} ++ PRINTER_ENUM_ICON2 = $00020000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON3} ++ PRINTER_ENUM_ICON3 = $00040000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON4} ++ PRINTER_ENUM_ICON4 = $00080000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON5} ++ PRINTER_ENUM_ICON5 = $00100000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON6} ++ PRINTER_ENUM_ICON6 = $00200000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON7} ++ PRINTER_ENUM_ICON7 = $00400000; ++ {$EXTERNALSYM PRINTER_ENUM_ICON8} ++ PRINTER_ENUM_ICON8 = $00800000; ++ ++ {$EXTERNALSYM OpenPrinterA} ++ function OpenPrinterA(pPrinterName: PAnsiChar; var phPrinter: THandle; pDefault: PPrinterDefaultsA): BOOL; stdcall; ++ external winspl name 'OpenPrinterA'; ++ {$EXTERNALSYM OpenPrinterW} ++ function OpenPrinterW(pPrinterName: PWideChar; var phPrinter: THandle; pDefault: PPrinterDefaultsW): BOOL; stdcall; ++ external winspl name 'OpenPrinterW'; ++ {$EXTERNALSYM OpenPrinter} ++ function OpenPrinter(pPrinterName: PChar; var phPrinter: THandle; pDefault: PPrinterDefaults): BOOL; stdcall; ++ external winspl name 'OpenPrinterA'; ++ {$EXTERNALSYM ResetPrinterA} ++ function ResetPrinterA(hPrinter: THandle; pDefault: PPrinterDefaultsA): BOOL; stdcall; ++ external winspl name 'ResetPrinterA'; ++ {$EXTERNALSYM ResetPrinterW} ++ function ResetPrinterW(hPrinter: THandle; pDefault: PPrinterDefaultsW): BOOL; stdcall; ++ external winspl name 'ResetPrinterW'; ++ {$EXTERNALSYM ResetPrinter} ++ function ResetPrinter(hPrinter: THandle; pDefault: PPrinterDefaults): BOOL; stdcall; ++ external winspl name 'ResetPrinterA'; ++ {$EXTERNALSYM SetJobA} ++ function SetJobA(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetJobA'; ++ {$EXTERNALSYM SetJobW} ++ function SetJobW(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetJobW'; ++ {$EXTERNALSYM SetJob} ++ function SetJob(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetJobA'; ++ {$EXTERNALSYM GetJobA} ++ function GetJobA(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetJobA'; ++ {$EXTERNALSYM GetJobW} ++ function GetJobW(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetJobW'; ++ {$EXTERNALSYM GetJob} ++ function GetJob(hPrinter: THandle; JobId: DWORD; Level: DWORD; pJob: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetJobA'; ++ {$EXTERNALSYM EnumJobsA} ++ function EnumJobsA(hPrinter: THandle; FirstJob, NoJobs, Level: DWORD; pJob: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumJobsA'; ++ {$EXTERNALSYM EnumJobsW} ++ function EnumJobsW(hPrinter: THandle; FirstJob, NoJobs, Level: DWORD; pJob: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumJobsW'; ++ {$EXTERNALSYM EnumJobs} ++ function EnumJobs(hPrinter: THandle; FirstJob, NoJobs, Level: DWORD; pJob: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumJobsA'; ++ {$EXTERNALSYM AddPrinterA} ++ function AddPrinterA(pName: PAnsiChar; Level: DWORD; pPrinter: Pointer): THandle; stdcall; ++ external winspl name 'AddPrinterA'; ++ {$EXTERNALSYM AddPrinterW} ++ function AddPrinterW(pName: PWideChar; Level: DWORD; pPrinter: Pointer): THandle; stdcall; ++ external winspl name 'AddPrinterW'; ++ {$EXTERNALSYM AddPrinter} ++ function AddPrinter(pName: PChar; Level: DWORD; pPrinter: Pointer): THandle; stdcall; ++ external winspl name 'AddPrinterA'; ++ {$EXTERNALSYM DeletePrinter} ++ function DeletePrinter(hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'DeletePrinter'; ++ {$EXTERNALSYM SetPrinterA} ++ function SetPrinterA(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetPrinterA'; ++ {$EXTERNALSYM SetPrinterW} ++ function SetPrinterW(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetPrinterW'; ++ {$EXTERNALSYM SetPrinter} ++ function SetPrinter(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; Command: DWORD): BOOL; stdcall; ++ external winspl name 'SetPrinterA'; ++ {$EXTERNALSYM GetPrinterA} ++ function GetPrinterA(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterA'; ++ {$EXTERNALSYM GetPrinterW} ++ function GetPrinterW(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterW'; ++ {$EXTERNALSYM GetPrinter} ++ function GetPrinter(hPrinter: THandle; Level: DWORD; pPrinter: Pointer; cbBuf: DWORD; pcbNeeded: PDWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterA'; ++ {$EXTERNALSYM AddPrinterDriverA} ++ function AddPrinterDriverA(pName: PAnsiChar; Level: DWORD; pDriverInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrinterDriverA'; ++ {$EXTERNALSYM AddPrinterDriverW} ++ function AddPrinterDriverW(pName: PWideChar; Level: DWORD; pDriverInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrinterDriverW'; ++ {$EXTERNALSYM AddPrinterDriver} ++ function AddPrinterDriver(pName: PChar; Level: DWORD; pDriverInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrinterDriverA'; ++ {$EXTERNALSYM EnumPrinterDriversA} ++ function EnumPrinterDriversA(pName, pEnvironment: PAnsiChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrinterDriversA'; ++ {$EXTERNALSYM EnumPrinterDriversW} ++ function EnumPrinterDriversW(pName, pEnvironment: PWideChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrinterDriversW'; ++ {$EXTERNALSYM EnumPrinterDrivers} ++ function EnumPrinterDrivers(pName, pEnvironment: PChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrinterDriversA'; ++ {$EXTERNALSYM GetPrinterDriverA} ++ function GetPrinterDriverA(hPrinter: THandle; pEnvironment: PAnsiChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverA'; ++ {$EXTERNALSYM GetPrinterDriverW} ++ function GetPrinterDriverW(hPrinter: THandle; pEnvironment: PWideChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverW'; ++ {$EXTERNALSYM GetPrinterDriver} ++ function GetPrinterDriver(hPrinter: THandle; pEnvironment: PChar; Level: DWORD; ++ pDriverInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverA'; ++ {$EXTERNALSYM GetPrinterDriverDirectoryA} ++ function GetPrinterDriverDirectoryA(pName, pEnvironment: PAnsiChar; Level: DWORD; ++ pDriverDirectory: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverDirectoryA'; ++ {$EXTERNALSYM GetPrinterDriverDirectoryW} ++ function GetPrinterDriverDirectoryW(pName, pEnvironment: PWideChar; Level: DWORD; ++ pDriverDirectory: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverDirectoryW'; ++ {$EXTERNALSYM GetPrinterDriverDirectory} ++ function GetPrinterDriverDirectory(pName, pEnvironment: PChar; Level: DWORD; ++ pDriverDirectory: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrinterDriverDirectoryA'; ++ {$EXTERNALSYM DeletePrinterDriverA} ++ function DeletePrinterDriverA(pName, pEnvironment, pDriverName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterDriverA'; ++ {$EXTERNALSYM DeletePrinterDriverW} ++ function DeletePrinterDriverW(pName, pEnvironment, pDriverName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterDriverW'; ++ {$EXTERNALSYM DeletePrinterDriver} ++ function DeletePrinterDriver(pName, pEnvironment, pDriverName: PChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterDriverA'; ++ {$EXTERNALSYM AddPrintProcessorA} ++ function AddPrintProcessorA(pName, pEnvironment, pPathName, pPrintProcessorName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'AddPrintProcessorA'; ++ {$EXTERNALSYM AddPrintProcessorW} ++ function AddPrintProcessorW(pName, pEnvironment, pPathName, pPrintProcessorName: PWideChar): BOOL; stdcall; ++ external winspl name 'AddPrintProcessorW'; ++ {$EXTERNALSYM AddPrintProcessor} ++ function AddPrintProcessor(pName, pEnvironment, pPathName, pPrintProcessorName: PChar): BOOL; stdcall; ++ external winspl name 'AddPrintProcessorA'; ++ {$EXTERNALSYM EnumPrintProcessorsA} ++ function EnumPrintProcessorsA(pName, pEnvironment: PAnsiChar; Level: DWORD; pPrintProcessorInfo: Pointer; ++ cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorsA'; ++ {$EXTERNALSYM EnumPrintProcessorsW} ++ function EnumPrintProcessorsW(pName, pEnvironment: PWideChar; Level: DWORD; pPrintProcessorInfo: Pointer; ++ cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorsW'; ++ {$EXTERNALSYM EnumPrintProcessors} ++ function EnumPrintProcessors(pName, pEnvironment: PChar; Level: DWORD; pPrintProcessorInfo: Pointer; ++ cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorsA'; ++ {$EXTERNALSYM GetPrintProcessorDirectoryA} ++ function GetPrintProcessorDirectoryA(pName, pEnvironment: PAnsiChar; Level: DWORD; ++ pPrintProcessorInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrintProcessorDirectoryA'; ++ {$EXTERNALSYM GetPrintProcessorDirectoryW} ++ function GetPrintProcessorDirectoryW(pName, pEnvironment: PWideChar; Level: DWORD; ++ pPrintProcessorInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrintProcessorDirectoryW'; ++ {$EXTERNALSYM GetPrintProcessorDirectory} ++ function GetPrintProcessorDirectory(pName, pEnvironment: PChar; Level: DWORD; ++ pPrintProcessorInfo: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetPrintProcessorDirectoryA'; ++ {$EXTERNALSYM EnumPrintProcessorDatatypesA} ++ function EnumPrintProcessorDatatypesA(pName, pPrintProcessorName: PAnsiChar; Level: DWORD; ++ pDatatypes: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorDatatypesA'; ++ {$EXTERNALSYM EnumPrintProcessorDatatypesW} ++ function EnumPrintProcessorDatatypesW(pName, pPrintProcessorName: PWideChar; Level: DWORD; ++ pDatatypes: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorDatatypesW'; ++ {$EXTERNALSYM EnumPrintProcessorDatatypes} ++ function EnumPrintProcessorDatatypes(pName, pPrintProcessorName: PChar; Level: DWORD; ++ pDatatypes: Pointer; cbBuf: DWORD; var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPrintProcessorDatatypesA'; ++ {$EXTERNALSYM DeletePrintProcessorA} ++ function DeletePrintProcessorA(pName, pEnvironment, pPrintProcessorName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProcessorA'; ++ {$EXTERNALSYM DeletePrintProcessorW} ++ function DeletePrintProcessorW(pName, pEnvironment, pPrintProcessorName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProcessorW'; ++ {$EXTERNALSYM DeletePrintProcessor} ++ function DeletePrintProcessor(pName, pEnvironment, pPrintProcessorName: PChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProcessorA'; ++ {$EXTERNALSYM StartDocPrinterA} ++ function StartDocPrinterA(hPrinter: THandle; Level: DWORD; pDocInfo: Pointer): DWORD; stdcall; ++ external winspl name 'StartDocPrinterA'; ++ {$EXTERNALSYM StartDocPrinterW} ++ function StartDocPrinterW(hPrinter: THandle; Level: DWORD; pDocInfo: Pointer): DWORD; stdcall; ++ external winspl name 'StartDocPrinterW'; ++ {$EXTERNALSYM StartDocPrinter} ++ function StartDocPrinter(hPrinter: THandle; Level: DWORD; pDocInfo: Pointer): DWORD; stdcall; ++ external winspl name 'StartDocPrinterA'; ++ {$EXTERNALSYM StartPagePrinter} ++ function StartPagePrinter(hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'StartPagePrinter'; ++ {$EXTERNALSYM WritePrinter} ++ function WritePrinter(hPrinter: THandle; pBuf: Pointer; cbBuf: DWORD; var pcWritten: DWORD): BOOL; stdcall; ++ external winspl name 'WritePrinter'; ++ {$EXTERNALSYM EndPagePrinter} ++ function EndPagePrinter(hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'EndPagePrinter'; ++ {$EXTERNALSYM AbortPrinter} ++ function AbortPrinter(hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'AbortPrinter'; ++ {$EXTERNALSYM ReadPrinter} ++ function ReadPrinter(hPrinter: THandle; pBuf: Pointer; cbBuf: DWORD; var pNoBytesRead: DWORD): BOOL; stdcall; ++ external winspl name 'ReadPrinter'; ++ {$EXTERNALSYM EndDocPrinter} ++ function EndDocPrinter(hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'EndDocPrinter'; ++ {$EXTERNALSYM AddJobA} ++ function AddJobA(hPrinter: THandle; Level: DWORD; pData: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'AddJobA'; ++ {$EXTERNALSYM AddJobW} ++ function AddJobW(hPrinter: THandle; Level: DWORD; pData: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'AddJobW'; ++ {$EXTERNALSYM AddJob} ++ function AddJob(hPrinter: THandle; Level: DWORD; pData: Pointer; cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'AddJobA'; ++ {$EXTERNALSYM ScheduleJob} ++ function ScheduleJob(hPrinter: THandle; JobId: DWORD): BOOL; stdcall; ++ external winspl name 'ScheduleJob'; ++ {$EXTERNALSYM PrinterProperties} ++ function PrinterProperties(hWnd: HWND; hPrinter: THandle): BOOL; stdcall; ++ external winspl name 'PrinterProperties'; ++ {$EXTERNALSYM DocumentPropertiesA} ++ function DocumentPropertiesA(hWnd: HWND; hPrinter: THandle; pDeviceName: PAnsiChar; ++ const pDevModeOutput: TDeviceModeA; var pDevModeInput: TDeviceModeA; ++ fMode: DWORD): Longint; stdcall;external winspl name 'DocumentPropertiesA'; ++ {$EXTERNALSYM DocumentPropertiesW} ++ function DocumentPropertiesW(hWnd: HWND; hPrinter: THandle; pDeviceName: PWideChar; ++ const pDevModeOutput: TDeviceModeW; var pDevModeInput: TDeviceModeW; ++ fMode: DWORD): Longint; stdcall;external winspl name 'DocumentPropertiesW'; ++ {$EXTERNALSYM DocumentProperties} ++ function DocumentProperties(hWnd: HWND; hPrinter: THandle; pDeviceName: PChar; ++ const pDevModeOutput: TDeviceMode; var pDevModeInput: TDeviceMode; ++ fMode: DWORD): Longint; stdcall;external winspl name 'DocumentPropertiesA'; ++ {$EXTERNALSYM AdvancedDocumentPropertiesA} ++ function AdvancedDocumentPropertiesA(hWnd: HWND; hPrinter: THandle; pDeviceName: PAnsiChar; ++ pDevModeOutput, pDevModeInput: PDeviceModeA): Longint; stdcall; ++ external winspl name 'AdvancedDocumentPropertiesA'; ++ {$EXTERNALSYM AdvancedDocumentPropertiesW} ++ function AdvancedDocumentPropertiesW(hWnd: HWND; hPrinter: THandle; pDeviceName: PWideChar; ++ pDevModeOutput, pDevModeInput: PDeviceModeW): Longint; stdcall; ++ external winspl name 'AdvancedDocumentPropertiesW'; ++ {$EXTERNALSYM AdvancedDocumentProperties} ++ function AdvancedDocumentProperties(hWnd: HWND; hPrinter: THandle; pDeviceName: PChar; ++ pDevModeOutput, pDevModeInput: PDeviceMode): Longint; stdcall; ++ external winspl name 'AdvancedDocumentPropertiesA'; ++ {$EXTERNALSYM GetPrinterDataA} ++ function GetPrinterDataA(hPrinter: THandle; pValueName: PAnsiChar; pType: PDWORD; pData: Pointer; ++ nSize: DWORD; var pcbNeeded: DWORD): DWORD; stdcall; ++ external winspl name 'GetPrinterDataA'; ++ {$EXTERNALSYM GetPrinterDataW} ++ function GetPrinterDataW(hPrinter: THandle; pValueName: PWideChar; pType: PDWORD; pData: Pointer; ++ nSize: DWORD; var pcbNeeded: DWORD): DWORD; stdcall; ++ external winspl name 'GetPrinterDataW'; ++ {$EXTERNALSYM GetPrinterData} ++ function GetPrinterData(hPrinter: THandle; pValueName: PChar; pType: PDWORD; pData: Pointer; ++ nSize: DWORD; var pcbNeeded: DWORD): DWORD; stdcall; ++ external winspl name 'GetPrinterDataA'; ++ function EnumPrinterDataA(hPrinter: THandle; dwIndex: DWORD; pValueName: PAnsiChar; ++ cbValueName: DWORD; var pcbValueName, pType: DWORD; pData: PByte; ++ cbData: DWORD; pcbData: PDWORD): DWORD; stdcall; ++ external winspl name 'EnumPrinterDataA'; ++ {$EXTERNALSYM EnumPrinterDataA} ++ function EnumPrinterDataW(hPrinter: THandle; dwIndex: DWORD; pValueName: PWideChar; ++ cbValueName: DWORD; var pcbValueName, pType: DWORD; pData: PByte; ++ cbData: DWORD; pcbData: PDWORD): DWORD; stdcall; ++ external winspl name 'EnumPrinterDataW'; ++ {$EXTERNALSYM EnumPrinterDataW} ++ function EnumPrinterData(hPrinter: THandle; dwIndex: DWORD; pValueName: PChar; ++ cbValueName: DWORD; var pcbValueName, pType: DWORD; pData: PByte; ++ cbData: DWORD; pcbData: PDWORD): DWORD; stdcall; ++ external winspl name 'EnumPrinterDataA'; ++ {$EXTERNALSYM EnumPrinterData} ++ {$EXTERNALSYM SetPrinterDataA} ++ function SetPrinterDataA(hPrinter: THandle; pValueName: PAnsiChar; dwType: DWORD; pData: Pointer; cbData: DWORD): DWORD; stdcall; ++ external winspl name 'SetPrinterDataA'; ++ {$EXTERNALSYM SetPrinterDataW} ++ function SetPrinterDataW(hPrinter: THandle; pValueName: PWideChar; dwType: DWORD; pData: Pointer; cbData: DWORD): DWORD; stdcall; ++ external winspl name 'SetPrinterDataW'; ++ {$EXTERNALSYM SetPrinterData} ++ function SetPrinterData(hPrinter: THandle; pValueName: PChar; dwType: DWORD; pData: Pointer; cbData: DWORD): DWORD; stdcall; ++ external winspl name 'SetPrinterDataA'; ++ function DeletePrinterDataA(hPrinter: THandle; pValueName: PAnsiChar): DWORD; stdcall; ++ external winspl name 'DeletePrinterDataA'; ++ {$EXTERNALSYM DeletePrinterDataA} ++ function DeletePrinterDataW(hPrinter: THandle; pValueName: PWideChar): DWORD; stdcall; ++ external winspl name 'DeletePrinterDataW'; ++ {$EXTERNALSYM DeletePrinterDataW} ++ function DeletePrinterData(hPrinter: THandle; pValueName: PChar): DWORD; stdcall; ++ external winspl name 'DeletePrinterDataA'; ++ {$EXTERNALSYM DeletePrinterData} ++ ++ const ++ {$EXTERNALSYM PRINTER_NOTIFY_TYPE} ++ PRINTER_NOTIFY_TYPE = $00; ++ {$EXTERNALSYM JOB_NOTIFY_TYPE} ++ JOB_NOTIFY_TYPE = $01; ++ ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_SERVER_NAME} ++ PRINTER_NOTIFY_FIELD_SERVER_NAME = $00; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PRINTER_NAME} ++ PRINTER_NOTIFY_FIELD_PRINTER_NAME = $01; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_SHARE_NAME} ++ PRINTER_NOTIFY_FIELD_SHARE_NAME = $02; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PORT_NAME} ++ PRINTER_NOTIFY_FIELD_PORT_NAME = $03; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_DRIVER_NAME} ++ PRINTER_NOTIFY_FIELD_DRIVER_NAME = $04; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_COMMENT} ++ PRINTER_NOTIFY_FIELD_COMMENT = $05; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_LOCATION} ++ PRINTER_NOTIFY_FIELD_LOCATION = $06; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_DEVMODE} ++ PRINTER_NOTIFY_FIELD_DEVMODE = $07; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_SEPFILE} ++ PRINTER_NOTIFY_FIELD_SEPFILE = $08; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR} ++ PRINTER_NOTIFY_FIELD_PRINT_PROCESSOR = $09; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PARAMETERS} ++ PRINTER_NOTIFY_FIELD_PARAMETERS = $0A; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_DATATYPE} ++ PRINTER_NOTIFY_FIELD_DATATYPE = $0B; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR} ++ PRINTER_NOTIFY_FIELD_SECURITY_DESCRIPTOR = $0C; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_ATTRIBUTES} ++ PRINTER_NOTIFY_FIELD_ATTRIBUTES = $0D; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PRIORITY} ++ PRINTER_NOTIFY_FIELD_PRIORITY = $0E; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY} ++ PRINTER_NOTIFY_FIELD_DEFAULT_PRIORITY = $0F; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_START_TIME} ++ PRINTER_NOTIFY_FIELD_START_TIME = $10; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_UNTIL_TIME} ++ PRINTER_NOTIFY_FIELD_UNTIL_TIME = $11; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_STATUS} ++ PRINTER_NOTIFY_FIELD_STATUS = $12; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_STATUS_STRING} ++ PRINTER_NOTIFY_FIELD_STATUS_STRING = $13; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_CJOBS} ++ PRINTER_NOTIFY_FIELD_CJOBS = $14; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_AVERAGE_PPM} ++ PRINTER_NOTIFY_FIELD_AVERAGE_PPM = $15; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_TOTAL_PAGES} ++ PRINTER_NOTIFY_FIELD_TOTAL_PAGES = $16; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_PAGES_PRINTED} ++ PRINTER_NOTIFY_FIELD_PAGES_PRINTED = $17; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_TOTAL_BYTES} ++ PRINTER_NOTIFY_FIELD_TOTAL_BYTES = $18; ++ {$EXTERNALSYM PRINTER_NOTIFY_FIELD_BYTES_PRINTED} ++ PRINTER_NOTIFY_FIELD_BYTES_PRINTED = $19; ++ ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PRINTER_NAME} ++ JOB_NOTIFY_FIELD_PRINTER_NAME = $00; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_MACHINE_NAME} ++ JOB_NOTIFY_FIELD_MACHINE_NAME = $01; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PORT_NAME} ++ JOB_NOTIFY_FIELD_PORT_NAME = $02; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_USER_NAME} ++ JOB_NOTIFY_FIELD_USER_NAME = $03; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_NOTIFY_NAME} ++ JOB_NOTIFY_FIELD_NOTIFY_NAME = $04; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_DATATYPE} ++ JOB_NOTIFY_FIELD_DATATYPE = $05; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PRINT_PROCESSOR} ++ JOB_NOTIFY_FIELD_PRINT_PROCESSOR = $06; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PARAMETERS} ++ JOB_NOTIFY_FIELD_PARAMETERS = $07; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_DRIVER_NAME} ++ JOB_NOTIFY_FIELD_DRIVER_NAME = $08; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_DEVMODE} ++ JOB_NOTIFY_FIELD_DEVMODE = $09; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_STATUS} ++ JOB_NOTIFY_FIELD_STATUS = $0A; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_STATUS_STRING} ++ JOB_NOTIFY_FIELD_STATUS_STRING = $0B; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR} ++ JOB_NOTIFY_FIELD_SECURITY_DESCRIPTOR = $0C; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_DOCUMENT} ++ JOB_NOTIFY_FIELD_DOCUMENT = $0D; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PRIORITY} ++ JOB_NOTIFY_FIELD_PRIORITY = $0E; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_POSITION} ++ JOB_NOTIFY_FIELD_POSITION = $0F; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_SUBMITTED} ++ JOB_NOTIFY_FIELD_SUBMITTED = $10; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_START_TIME} ++ JOB_NOTIFY_FIELD_START_TIME = $11; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_UNTIL_TIME} ++ JOB_NOTIFY_FIELD_UNTIL_TIME = $12; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_TIME} ++ JOB_NOTIFY_FIELD_TIME = $13; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_TOTAL_PAGES} ++ JOB_NOTIFY_FIELD_TOTAL_PAGES = $14; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_PAGES_PRINTED} ++ JOB_NOTIFY_FIELD_PAGES_PRINTED = $15; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_TOTAL_BYTES} ++ JOB_NOTIFY_FIELD_TOTAL_BYTES = $16; ++ {$EXTERNALSYM JOB_NOTIFY_FIELD_BYTES_PRINTED} ++ JOB_NOTIFY_FIELD_BYTES_PRINTED = $17; ++ ++ ++ type ++ PPrinterNotifyOptionsType = ^TPrinterNotifyOptionsType; ++ {$EXTERNALSYM _PRINTER_NOTIFY_OPTIONS_TYPE} ++ _PRINTER_NOTIFY_OPTIONS_TYPE = record ++ wType: Word; ++ Reserved0: Word; ++ Reserved1: DWORD; ++ Reserved2: DWORD; ++ Count: DWORD; ++ pFields: PWord; ++ end; ++ TPrinterNotifyOptionsType = _PRINTER_NOTIFY_OPTIONS_TYPE; ++ {$EXTERNALSYM PRINTER_NOTIFY_OPTIONS_TYPE} ++ PRINTER_NOTIFY_OPTIONS_TYPE = _PRINTER_NOTIFY_OPTIONS_TYPE; ++ ++ const ++ {$EXTERNALSYM PRINTER_NOTIFY_OPTIONS_REFRESH} ++ PRINTER_NOTIFY_OPTIONS_REFRESH = $01; ++ ++ type ++ PPrinterNotifyOptions = ^TPrinterNotifyOptions; ++ {$EXTERNALSYM _PRINTER_NOTIFY_OPTIONS} ++ _PRINTER_NOTIFY_OPTIONS = record ++ Version: DWORD; ++ Flags: DWORD; ++ Count: DWORD; ++ pTypes: PPrinterNotifyOptionsType; ++ end; ++ TPrinterNotifyOptions = _PRINTER_NOTIFY_OPTIONS; ++ {$EXTERNALSYM PRINTER_NOTIFY_OPTIONS} ++ PRINTER_NOTIFY_OPTIONS = _PRINTER_NOTIFY_OPTIONS; ++ ++ const ++ {$EXTERNALSYM PRINTER_NOTIFY_INFO_DISCARDED} ++ PRINTER_NOTIFY_INFO_DISCARDED = $01; ++ ++ type ++ PPrinterNotifyInfoData = ^TPrinterNotifyInfoData; ++ {$EXTERNALSYM _PRINTER_NOTIFY_INFO_DATA} ++ _PRINTER_NOTIFY_INFO_DATA = record ++ wType: Word; ++ Field: Word; ++ Reserved: DWORD; ++ Id: DWORD; ++ NotifyData: record ++ case Integer of ++ 0: (adwData: array[0..1] of DWORD); ++ 1: (Data: record ++ cbBuf: DWORD; ++ pBuf: Pointer; ++ end); ++ end; ++ end; ++ TPrinterNotifyInfoData = _PRINTER_NOTIFY_INFO_DATA; ++ {$EXTERNALSYM PRINTER_NOTIFY_INFO_DATA} ++ PRINTER_NOTIFY_INFO_DATA = _PRINTER_NOTIFY_INFO_DATA; ++ ++ PPrinterNotifyInfo = ^TPrinterNotifyInfo; ++ {$EXTERNALSYM _PRINTER_NOTIFY_INFO} ++ _PRINTER_NOTIFY_INFO = record ++ Version: DWORD; ++ Flags: DWORD; ++ Count: DWORD; ++ aData: array[0..0] of TPrinterNotifyInfoData; ++ end; ++ TPrinterNotifyInfo = _PRINTER_NOTIFY_INFO; ++ {$EXTERNALSYM PRINTER_NOTIFY_INFO} ++ PRINTER_NOTIFY_INFO = _PRINTER_NOTIFY_INFO; ++ ++ {$EXTERNALSYM WaitForPrinterChange} ++ function WaitForPrinterChange(hPrinter: THandle; Flags: DWORD): DWORD; stdcall; ++ external winspl name 'WaitForPrinterChange'; ++ {$EXTERNALSYM FindFirstPrinterChangeNotification} ++ function FindFirstPrinterChangeNotification(hPrinter: THandle; fdwFlags: DWORD; ++ fdwOptions: DWORD; pPrinterNotifyOptions: Pointer): THandle; stdcall; ++ external winspl name 'FindFirstPrinterChangeNotification'; ++ {$EXTERNALSYM FindNextPrinterChangeNotification} ++ function FindNextPrinterChangeNotification(hChange: THandle; var pdwChange: DWORD; ++ pvReserved: Pointer; var ppPrinterNotifyInfo: Pointer): BOOL; stdcall; ++ external winspl name 'FindNextPrinterChangeNotification'; ++ {$EXTERNALSYM FreePrinterNotifyInfo} ++ function FreePrinterNotifyInfo(pPrinterNotifyInfo: PPrinterNotifyInfo): BOOL; stdcall; ++ external winspl name 'FreePrinterNotifyInfo'; ++ {$EXTERNALSYM FindClosePrinterChangeNotification} ++ function FindClosePrinterChangeNotification(hChange: THandle): BOOL; stdcall; ++ external winspl name 'FindClosePrinterChangeNotification'; ++ const ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_PRINTER} ++ PRINTER_CHANGE_ADD_PRINTER = $00000001; ++ {$EXTERNALSYM PRINTER_CHANGE_SET_PRINTER} ++ PRINTER_CHANGE_SET_PRINTER = $00000002; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_PRINTER} ++ PRINTER_CHANGE_DELETE_PRINTER = $00000004; ++ {$EXTERNALSYM PRINTER_CHANGE_FAILED_CONNECTION_PRINTER} ++ PRINTER_CHANGE_FAILED_CONNECTION_PRINTER = $00000008; ++ {$EXTERNALSYM PRINTER_CHANGE_PRINTER} ++ PRINTER_CHANGE_PRINTER = $000000FF; ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_JOB} ++ PRINTER_CHANGE_ADD_JOB = $00000100; ++ {$EXTERNALSYM PRINTER_CHANGE_SET_JOB} ++ PRINTER_CHANGE_SET_JOB = $00000200; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_JOB} ++ PRINTER_CHANGE_DELETE_JOB = $00000400; ++ {$EXTERNALSYM PRINTER_CHANGE_WRITE_JOB} ++ PRINTER_CHANGE_WRITE_JOB = $00000800; ++ {$EXTERNALSYM PRINTER_CHANGE_JOB} ++ PRINTER_CHANGE_JOB = $0000FF00; ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_FORM} ++ PRINTER_CHANGE_ADD_FORM = $00010000; ++ {$EXTERNALSYM PRINTER_CHANGE_SET_FORM} ++ PRINTER_CHANGE_SET_FORM = $00020000; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_FORM} ++ PRINTER_CHANGE_DELETE_FORM = $00040000; ++ {$EXTERNALSYM PRINTER_CHANGE_FORM} ++ PRINTER_CHANGE_FORM = $00070000; ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_PORT} ++ PRINTER_CHANGE_ADD_PORT = $00100000; ++ {$EXTERNALSYM PRINTER_CHANGE_CONFIGURE_PORT} ++ PRINTER_CHANGE_CONFIGURE_PORT = $00200000; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_PORT} ++ PRINTER_CHANGE_DELETE_PORT = $00400000; ++ {$EXTERNALSYM PRINTER_CHANGE_PORT} ++ PRINTER_CHANGE_PORT = $00700000; ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_PRINT_PROCESSOR} ++ PRINTER_CHANGE_ADD_PRINT_PROCESSOR = $01000000; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_PRINT_PROCESSOR} ++ PRINTER_CHANGE_DELETE_PRINT_PROCESSOR = $04000000; ++ {$EXTERNALSYM PRINTER_CHANGE_PRINT_PROCESSOR} ++ PRINTER_CHANGE_PRINT_PROCESSOR = $07000000; ++ {$EXTERNALSYM PRINTER_CHANGE_ADD_PRINTER_DRIVER} ++ PRINTER_CHANGE_ADD_PRINTER_DRIVER = $10000000; ++ {$EXTERNALSYM PRINTER_CHANGE_SET_PRINTER_DRIVER} ++ PRINTER_CHANGE_SET_PRINTER_DRIVER = $20000000; ++ {$EXTERNALSYM PRINTER_CHANGE_DELETE_PRINTER_DRIVER} ++ PRINTER_CHANGE_DELETE_PRINTER_DRIVER = $40000000; ++ {$EXTERNALSYM PRINTER_CHANGE_PRINTER_DRIVER} ++ PRINTER_CHANGE_PRINTER_DRIVER = $70000000; ++ {$EXTERNALSYM PRINTER_CHANGE_TIMEOUT} ++ PRINTER_CHANGE_TIMEOUT = $80000000; ++ {$EXTERNALSYM PRINTER_CHANGE_ALL} ++ PRINTER_CHANGE_ALL = $7777FFFF; ++ ++ {$EXTERNALSYM PrinterMessageBoxA} ++ function PrinterMessageBoxA(hPrinter: THandle; Error: DWORD; hWnd: HWND; pText, pCaption: PAnsiChar; ++ dwType: DWORD): DWORD; stdcall;external winspl name 'PrinterMessageBoxA'; ++ {$EXTERNALSYM PrinterMessageBoxW} ++ function PrinterMessageBoxW(hPrinter: THandle; Error: DWORD; hWnd: HWND; pText, pCaption: PWideChar; ++ dwType: DWORD): DWORD; stdcall;external winspl name 'PrinterMessageBoxW'; ++ {$EXTERNALSYM PrinterMessageBox} ++ function PrinterMessageBox(hPrinter: THandle; Error: DWORD; hWnd: HWND; pText, pCaption: PChar; ++ dwType: DWORD): DWORD; stdcall;external winspl name 'PrinterMessageBoxA'; ++ ++ const ++ {$EXTERNALSYM PRINTER_ERROR_INFORMATION} ++ PRINTER_ERROR_INFORMATION = $80000000; ++ {$EXTERNALSYM PRINTER_ERROR_WARNING} ++ PRINTER_ERROR_WARNING = $40000000; ++ {$EXTERNALSYM PRINTER_ERROR_SEVERE} ++ PRINTER_ERROR_SEVERE = $20000000; ++ ++ {$EXTERNALSYM PRINTER_ERROR_OUTOFPAPER} ++ PRINTER_ERROR_OUTOFPAPER = $00000001; ++ {$EXTERNALSYM PRINTER_ERROR_JAM} ++ PRINTER_ERROR_JAM = $00000002; ++ {$EXTERNALSYM PRINTER_ERROR_OUTOFTONER} ++ PRINTER_ERROR_OUTOFTONER = $00000004; ++ ++ {$EXTERNALSYM ClosePrinter} ++ function ClosePrinter(hPrinter: THandle): BOOL; stdcall;external winspl name 'ClosePrinter'; ++ {$EXTERNALSYM AddFormA} ++ function AddFormA(hPrinter: THandle; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'AddFormA'; ++ {$EXTERNALSYM AddFormW} ++ function AddFormW(hPrinter: THandle; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'AddFormW'; ++ {$EXTERNALSYM AddForm} ++ function AddForm(hPrinter: THandle; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'AddFormA'; ++ {$EXTERNALSYM DeleteFormA} ++ function DeleteFormA(hPrinter: THandle; pFormName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeleteFormA'; ++ {$EXTERNALSYM DeleteFormW} ++ function DeleteFormW(hPrinter: THandle; pFormName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeleteFormW'; ++ {$EXTERNALSYM DeleteForm} ++ function DeleteForm(hPrinter: THandle; pFormName: PChar): BOOL; stdcall; ++ external winspl name 'DeleteFormA'; ++ {$EXTERNALSYM GetFormA} ++ function GetFormA(hPrinter: THandle; pFormName: PAnsiChar; Level: DWORD; pForm: Pointer; ++ cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetFormA'; ++ {$EXTERNALSYM GetFormW} ++ function GetFormW(hPrinter: THandle; pFormName: PWideChar; Level: DWORD; pForm: Pointer; ++ cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetFormW'; ++ {$EXTERNALSYM GetForm} ++ function GetForm(hPrinter: THandle; pFormName: PChar; Level: DWORD; pForm: Pointer; ++ cbBuf: DWORD; var pcbNeeded: DWORD): BOOL; stdcall; ++ external winspl name 'GetFormA'; ++ {$EXTERNALSYM SetFormA} ++ function SetFormA(hPrinter: THandle; pFormName: PAnsiChar; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'SetFormA'; ++ {$EXTERNALSYM SetFormW} ++ function SetFormW(hPrinter: THandle; pFormName: PWideChar; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'SetFormW'; ++ {$EXTERNALSYM SetForm} ++ function SetForm(hPrinter: THandle; pFormName: PChar; Level: DWORD; pForm: Pointer): BOOL; stdcall; ++ external winspl name 'SetFormA'; ++ {$EXTERNALSYM EnumFormsA} ++ function EnumFormsA(hPrinter: THandle; Level: DWORD; pForm: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumFormsA'; ++ {$EXTERNALSYM EnumFormsW} ++ function EnumFormsW(hPrinter: THandle; Level: DWORD; pForm: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumFormsW'; ++ {$EXTERNALSYM EnumForms} ++ function EnumForms(hPrinter: THandle; Level: DWORD; pForm: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumFormsA'; ++ {$EXTERNALSYM EnumMonitorsA} ++ function EnumMonitorsA(pName: PAnsiChar; Level: DWORD; pMonitors: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumMonitorsA'; ++ {$EXTERNALSYM EnumMonitorsW} ++ function EnumMonitorsW(pName: PWideChar; Level: DWORD; pMonitors: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumMonitorsW'; ++ {$EXTERNALSYM EnumMonitors} ++ function EnumMonitors(pName: PChar; Level: DWORD; pMonitors: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumMonitorsA'; ++ {$EXTERNALSYM AddMonitorA} ++ function AddMonitorA(pName: PAnsiChar; Level: DWORD; pMonitors: Pointer): BOOL; stdcall; ++ external winspl name 'AddMonitorA'; ++ {$EXTERNALSYM AddMonitorW} ++ function AddMonitorW(pName: PWideChar; Level: DWORD; pMonitors: Pointer): BOOL; stdcall; ++ external winspl name 'AddMonitorW'; ++ {$EXTERNALSYM AddMonitor} ++ function AddMonitor(pName: PChar; Level: DWORD; pMonitors: Pointer): BOOL; stdcall; ++ external winspl name 'AddMonitorA'; ++ {$EXTERNALSYM DeleteMonitorA} ++ function DeleteMonitorA(pName, pEnvironment, pMonitorName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeleteMonitorA'; ++ {$EXTERNALSYM DeleteMonitorW} ++ function DeleteMonitorW(pName, pEnvironment, pMonitorName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeleteMonitorW'; ++ {$EXTERNALSYM DeleteMonitor} ++ function DeleteMonitor(pName, pEnvironment, pMonitorName: PChar): BOOL; stdcall; ++ external winspl name 'DeleteMonitorA'; ++ {$EXTERNALSYM EnumPortsA} ++ function EnumPortsA(pName: PAnsiChar; Level: DWORD; pPorts: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPortsA'; ++ {$EXTERNALSYM EnumPortsW} ++ function EnumPortsW(pName: PWideChar; Level: DWORD; pPorts: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPortsW'; ++ {$EXTERNALSYM EnumPorts} ++ function EnumPorts(pName: PChar; Level: DWORD; pPorts: Pointer; cbBuf: DWORD; ++ var pcbNeeded, pcReturned: DWORD): BOOL; stdcall; ++ external winspl name 'EnumPortsA'; ++ {$EXTERNALSYM AddPortA} ++ function AddPortA(pName: PAnsiChar; hWnd: HWND; pMonitorName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'AddPortA'; ++ {$EXTERNALSYM AddPortW} ++ function AddPortW(pName: PWideChar; hWnd: HWND; pMonitorName: PWideChar): BOOL; stdcall; ++ external winspl name 'AddPortW'; ++ {$EXTERNALSYM AddPort} ++ function AddPort(pName: PChar; hWnd: HWND; pMonitorName: PChar): BOOL; stdcall; ++ external winspl name 'AddPortA'; ++ {$EXTERNALSYM ConfigurePortA} ++ function ConfigurePortA(pName: PAnsiChar; hWnd: HWND; pPortName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'ConfigurePortA'; ++ {$EXTERNALSYM ConfigurePortW} ++ function ConfigurePortW(pName: PWideChar; hWnd: HWND; pPortName: PWideChar): BOOL; stdcall; ++ external winspl name 'ConfigurePortW'; ++ {$EXTERNALSYM ConfigurePort} ++ function ConfigurePort(pName: PChar; hWnd: HWND; pPortName: PChar): BOOL; stdcall; ++ external winspl name 'ConfigurePortA'; ++ {$EXTERNALSYM DeletePortA} ++ function DeletePortA(pName: PAnsiChar; hWnd: HWND; pPortName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeletePortA'; ++ {$EXTERNALSYM DeletePortW} ++ function DeletePortW(pName: PWideChar; hWnd: HWND; pPortName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeletePortW'; ++ {$EXTERNALSYM DeletePort} ++ function DeletePort(pName: PChar; hWnd: HWND; pPortName: PChar): BOOL; stdcall; ++ external winspl name 'DeletePortA'; ++ function SetPortA(pName, pPortName: PAnsiChar; dwLevel: DWORD; pPortInfo: Pointer): BOOL; stdcall; ++ external winspl name 'SetPortA'; ++ {$EXTERNALSYM SetPortA} ++ function SetPortW(pName, pPortName: PWideChar; dwLevel: DWORD; pPortInfo: Pointer): BOOL; stdcall; ++ external winspl name 'SetPortW'; ++ {$EXTERNALSYM SetPortW} ++ function SetPort(pName, pPortName: PChar; dwLevel: DWORD; pPortInfo: Pointer): BOOL; stdcall; ++ external winspl name 'SetPortA'; ++ {$EXTERNALSYM SetPort} ++ {$EXTERNALSYM AddPrinterConnectionA} ++ function AddPrinterConnectionA(pName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'AddPrinterConnectionA'; ++ {$EXTERNALSYM AddPrinterConnectionW} ++ function AddPrinterConnectionW(pName: PWideChar): BOOL; stdcall; ++ external winspl name 'AddPrinterConnectionW'; ++ {$EXTERNALSYM AddPrinterConnection} ++ function AddPrinterConnection(pName: PChar): BOOL; stdcall; ++ external winspl name 'AddPrinterConnectionA'; ++ {$EXTERNALSYM DeletePrinterConnectionA} ++ function DeletePrinterConnectionA(pName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterConnectionA'; ++ {$EXTERNALSYM DeletePrinterConnectionW} ++ function DeletePrinterConnectionW(pName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterConnectionW'; ++ {$EXTERNALSYM DeletePrinterConnection} ++ function DeletePrinterConnection(pName: PChar): BOOL; stdcall; ++ external winspl name 'DeletePrinterConnectionA'; ++ {$EXTERNALSYM ConnectToPrinterDlg} ++ function ConnectToPrinterDlg(hwnd: HWND; Flags: DWORD): THandle; stdcall; ++ external winspl name 'ConnectToPrinterDlg'; ++ ++ type ++ PProvidorInfo1A = ^TProvidorInfo1A; ++ PProvidorInfo1W = ^TProvidorInfo1W; ++ PProvidorInfo1 = PProvidorInfo1A; ++ {$EXTERNALSYM _PROVIDOR_INFO_1A} ++ _PROVIDOR_INFO_1A = record ++ pName: PAnsiChar; ++ pEnvironment: PAnsiChar; ++ pDLLName: PAnsiChar; ++ end; ++ {$EXTERNALSYM _PROVIDOR_INFO_1W} ++ _PROVIDOR_INFO_1W = record ++ pName: PWideChar; ++ pEnvironment: PWideChar; ++ pDLLName: PWideChar; ++ end; ++ {$EXTERNALSYM _PROVIDOR_INFO_1} ++ _PROVIDOR_INFO_1 = _PROVIDOR_INFO_1A; ++ TProvidorInfo1A = _PROVIDOR_INFO_1A; ++ TProvidorInfo1W = _PROVIDOR_INFO_1W; ++ TProvidorInfo1 = TProvidorInfo1A; ++ {$EXTERNALSYM PROVIDOR_INFO_1A} ++ PROVIDOR_INFO_1A = _PROVIDOR_INFO_1A; ++ {$EXTERNALSYM PROVIDOR_INFO_1W} ++ PROVIDOR_INFO_1W = _PROVIDOR_INFO_1W; ++ {$EXTERNALSYM PROVIDOR_INFO_1} ++ PROVIDOR_INFO_1 = PROVIDOR_INFO_1A; ++ ++ {$EXTERNALSYM AddPrintProvidorA} ++ function AddPrintProvidorA(pName: PAnsiChar; level: DWORD; pProvidorInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrintProvidorA'; ++ {$EXTERNALSYM AddPrintProvidorW} ++ function AddPrintProvidorW(pName: PWideChar; level: DWORD; pProvidorInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrintProvidorW'; ++ {$EXTERNALSYM AddPrintProvidor} ++ function AddPrintProvidor(pName: PChar; level: DWORD; pProvidorInfo: Pointer): BOOL; stdcall; ++ external winspl name 'AddPrintProvidorA'; ++ {$EXTERNALSYM DeletePrintProvidorA} ++ function DeletePrintProvidorA(pName, pEnvironment, pPrintProvidorName: PAnsiChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProvidorA'; ++ {$EXTERNALSYM DeletePrintProvidorW} ++ function DeletePrintProvidorW(pName, pEnvironment, pPrintProvidorName: PWideChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProvidorW'; ++ {$EXTERNALSYM DeletePrintProvidor} ++ function DeletePrintProvidor(pName, pEnvironment, pPrintProvidorName: PChar): BOOL; stdcall; ++ external winspl name 'DeletePrintProvidorA'; ++ ++ { SetPrinterData and GetPrinterData Server Handle Key values } ++ ++ const ++ {$EXTERNALSYM SPLREG_DEFAULT_SPOOL_DIRECTORY} ++ SPLREG_DEFAULT_SPOOL_DIRECTORY = 'DefaultSpoolDirectory'; ++ {$EXTERNALSYM SPLREG_PORT_THREAD_PRIORITY_DEFAULT} ++ SPLREG_PORT_THREAD_PRIORITY_DEFAULT = 'PortThreadPriorityDefault'; ++ {$EXTERNALSYM SPLREG_PORT_THREAD_PRIORITY} ++ SPLREG_PORT_THREAD_PRIORITY = 'PortThreadPriority'; ++ {$EXTERNALSYM SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT} ++ SPLREG_SCHEDULER_THREAD_PRIORITY_DEFAULT = 'SchedulerThreadPriorityDefault'; ++ {$EXTERNALSYM SPLREG_SCHEDULER_THREAD_PRIORITY} ++ SPLREG_SCHEDULER_THREAD_PRIORITY = 'SchedulerThreadPriority'; ++ {$EXTERNALSYM SPLREG_BEEP_ENABLED} ++ SPLREG_BEEP_ENABLED = 'BeepEnabled'; ++ {$EXTERNALSYM SPLREG_NET_POPUP} ++ SPLREG_NET_POPUP = 'NetPopup'; ++ {$EXTERNALSYM SPLREG_EVENT_LOG} ++ SPLREG_EVENT_LOG = 'EventLog'; ++ {$EXTERNALSYM SPLREG_MAJOR_VERSION} ++ SPLREG_MAJOR_VERSION = 'MajorVersion'; ++ {$EXTERNALSYM SPLREG_MINOR_VERSION} ++ SPLREG_MINOR_VERSION = 'MinorVersion'; ++ {$EXTERNALSYM SPLREG_ARCHITECTURE} ++ SPLREG_ARCHITECTURE = 'Architecture'; ++ ++ ++ {$EXTERNALSYM SERVER_ACCESS_ADMINISTER} ++ SERVER_ACCESS_ADMINISTER = $00000001; ++ {$EXTERNALSYM SERVER_ACCESS_ENUMERATE} ++ SERVER_ACCESS_ENUMERATE = $00000002; ++ {$EXTERNALSYM PRINTER_ACCESS_ADMINISTER} ++ PRINTER_ACCESS_ADMINISTER = $00000004; ++ {$EXTERNALSYM PRINTER_ACCESS_USE} ++ PRINTER_ACCESS_USE = $00000008; ++ {$EXTERNALSYM JOB_ACCESS_ADMINISTER} ++ JOB_ACCESS_ADMINISTER = $00000010; ++ ++ { Access rights for print servers } ++ ++ {$EXTERNALSYM SERVER_ALL_ACCESS} ++ SERVER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or ++ SERVER_ACCESS_ADMINISTER or SERVER_ACCESS_ENUMERATE); ++ {$EXTERNALSYM SERVER_READ} ++ SERVER_READ = (STANDARD_RIGHTS_READ or SERVER_ACCESS_ENUMERATE); ++ {$EXTERNALSYM SERVER_WRITE} ++ SERVER_WRITE = (STANDARD_RIGHTS_WRITE or ++ SERVER_ACCESS_ADMINISTER or SERVER_ACCESS_ENUMERATE); ++ {$EXTERNALSYM SERVER_EXECUTE} ++ SERVER_EXECUTE = (STANDARD_RIGHTS_EXECUTE or SERVER_ACCESS_ENUMERATE); ++ ++ { Access rights for printers } ++ ++ {$EXTERNALSYM PRINTER_ALL_ACCESS} ++ PRINTER_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or ++ PRINTER_ACCESS_ADMINISTER or PRINTER_ACCESS_USE); ++ {$EXTERNALSYM PRINTER_READ} ++ PRINTER_READ = (STANDARD_RIGHTS_READ or PRINTER_ACCESS_USE); ++ {$EXTERNALSYM PRINTER_WRITE} ++ PRINTER_WRITE = (STANDARD_RIGHTS_WRITE or PRINTER_ACCESS_USE); ++ {$EXTERNALSYM PRINTER_EXECUTE} ++ PRINTER_EXECUTE = (STANDARD_RIGHTS_EXECUTE or PRINTER_ACCESS_USE); ++ ++ { Access rights for jobs } ++ ++ {$EXTERNALSYM JOB_ALL_ACCESS} ++ JOB_ALL_ACCESS = (STANDARD_RIGHTS_REQUIRED or JOB_ACCESS_ADMINISTER); ++ {$EXTERNALSYM JOB_READ} ++ JOB_READ = (STANDARD_RIGHTS_READ or JOB_ACCESS_ADMINISTER); ++ {$EXTERNALSYM JOB_WRITE} ++ JOB_WRITE = (STANDARD_RIGHTS_WRITE or JOB_ACCESS_ADMINISTER); ++ {$EXTERNALSYM JOB_EXECUTE} ++ JOB_EXECUTE = (STANDARD_RIGHTS_EXECUTE or JOB_ACCESS_ADMINISTER); ++ ++ {$EXTERNALSYM DeviceCapabilitiesA} ++ function DeviceCapabilitiesA(pDevice, pPort: PAnsiChar; fwCapability: Word; ++ pOutput: PAnsiChar; DevMode: PDeviceModeA): Integer; stdcall; ++ external winspl name 'DeviceCapabilitiesA'; ++ {$EXTERNALSYM DeviceCapabilitiesW} ++ function DeviceCapabilitiesW(pDevice, pPort: PWideChar; fwCapability: Word; ++ pOutput: PWideChar; DevMode: PDeviceModeW): Integer; stdcall; ++ external winspl name 'DeviceCapabilitiesW'; ++ {$EXTERNALSYM DeviceCapabilities} ++ function DeviceCapabilities(pDevice, pPort: PChar; fwCapability: Word; ++ pOutput: PChar; DevMode: PDeviceMode): Integer; stdcall; ++ external winspl name 'DeviceCapabilitiesA'; ++ ++ ++ implementation ++ ++ end.