ࡱ; vtrpnljhfo q s   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuwxyz{|}~Root Entry FX_CompObjbWordDocumentObjectPoolS_S_  FMicrosoft Word 6.0 Document MSWordDocWord.Document.6;  Oh+'08X x   8X x C:\WINWORD6\TEMPLATE\NORMAL.DOTJ=========================================================================IS Departmentܥe) e/,444444L41Rhhhhhhh*T1wh F .hhhhhhRhhhhhh hhjh========================================================================= Date: Mon, 1 Aug 1994 09:41:04 EDT From: Naor Naor Subject: Ftp Address. In-Reply-To XE "Ftp Address."  XE "Ftp Address." : I'm new at Visual Basic and i would like to know, if there is a FTP address of Visual Basic Files & Information, Can some one give me Please the FTP Address???. Thanks Naor //// (. .) ____________________________o00-(_)-00o______________________________ == Naor Naor == == Motorola Communications Israel Phone: 972-3-565-8419 == == 3 Krementski Street P.O.B. 25016 Fax : 972-3-537-5447 == == Tel-Aviv 61250 ISRAEL Motorola eMail: CNN002 == == == == Internet: naor%motcomil@mcilnvl.comm.mot.com == _____________________________________________________________________ ==## ##== ========================================================================= Date: Mon, 1 Aug 1994 15:09:43 GMT+800 From: Paul Carreno Organization: Edith Cowan University Subject: VB and FORTRAN 5.1 DLL XE "VB and FORTRAN 5.1 DLL"  Dear VeaBers, 1st problem.- We are writing an application on VB 3.0 where we pass data to a DLL (Fortran 5.1) and we are having difficulty with the passing of the format statement such as (3A1,10A2). Is passing of a string from VB to a DLL a difficult thing to do? Do we use " or ', etc. Any hints on how to do it? 2nd problem.- Same application as above: when we open a file using status OLD the program crashes. If we change status to UNKNOWN it works OK. Any ideas why? What are the implication of leaving the status as UNKNOWN? 3rd problem.-Same application as above: this is got to do with file I/O. We have success writing to a formatted file, that is, a file that was opened as a formatted file, but a General Failure.... occurs when we try to write to an unformatted file. Thanx for your help in advance Paul :-) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Paul Carreno Research Analyst-Programme Evaluation Edith Cowan University Pearson St, Churchlands WA 6018 Australia E_mail: P.Carreno@cowan.edu.au ========================================================================= Date: Mon, 1 Aug 1994 03:08:57 EDT From: Mitch Dijak <74104.2427@COMPUSERVE.COM> Subject: label at windows startup XE "label at windows startup"  Hi! everyone, I am new to VB (to any language for that matter) and have a question. Is there anyway (using VB) to display a label, textbox, or even a msgbox when the user first boots-up Windows? I would like to be able to have a label displayed at boot-up and then disappear after ten or twenty seconds. That's all my program would do; user starts Windows, label is displayed and then disappears. Perhaps the label would have an "OK" button so the user could decide when to make it disappear. Possible? Any help, of course, is greatly appreciated. I am also new to this Internet thing so I hope this goes through allright. Thanks, Mitch Dijak 74104.2427@compuserve.com ========================================================================= Date: Mon, 1 Aug 1994 09:40:07 +0100 From: Xiaojun He Subject: How to ID a machine? XE "How to ID a machine?"  >Hi, >Does anybody know of a way to uniquely id a machine? Assume there is no net >card. I would like to be able to tell one machine from the next is this >possible? Assume x86. I get the same question. One possible solution is the hard-disk volume label (like the one you see when you use the CHKDSK C: command in DOS). However, I could not find the Window API to get this information. Please let me know if you know how to do it. Cheers, ========================================================================= Date: Mon, 1 Aug 1994 10:00:44 +0200 From: Antony Meadley Subject: VB and LANMAN Commands XE "VB and LANMAN Commands"  TBAUMANN wrote: >I am writing a quick(?) little VB app which will check to see if a >particular sharepoint is connected to the pc, and if not, connects it. I >know how to do this either in DOS (NET USE \\sharepoint) or in windows (in >File Manager, FILE / NETWORK CONNECTIONS), but can't figure out how to do >this in VB. Try the following code: Declare Function NWGetConnectionHandle Lib "c:\windows\system\NWCalls.dll" (ByVal SName$, ByVal reserved1%, conn%, ByVal reserved2 As Any) As Integer retval% = NWGetConnectionHandle(SERVERNAME, 0, conn%, 0&) If retval% = 0 Then 'already attached to server else 'not attached yet end if Hope this helps, antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Mon, 1 Aug 1994 11:33:22 CET From: "Soren C. T. Ravn" Subject: Validation of dates in VB XE "Validation of dates in VB"  Hi All I am currently writing an application in VB 3.0 pro.ed. where I need to validate the user's input of dates. I have used the masked edit control to handle the formatting, but I cannot make this VBX validate that it actually IS a valid date that the user has entered (ie.: Feb. 30 should be rejected as invalid) Is it possible to do this from within VB without coding it from the ground up? Is there any VBX or VB statement that I have overlooked that is able to do this? BTW: the program should work internationally with all the different ways of formatting dates..... Soren C. T. Ravn Olicom A/S - Denmark Developer ========================================================================= Date: Mon, 1 Aug 1994 13:07:00 CET From: Titov Pavel Subject: Validation of dates in VB XE "Validation of dates in VB"  Look for IsDate() in the on-line help. ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Validation of dates in VB Date: Monday XE "ation of dates in VB" , August 01, 1994 11:33AM Hi All I am currently writing an application in VB 3.0 pro.ed. where I need to validate the user's input of dates. I have used the masked edit control to handle the formatting, but I cannot make this VBX validate that it actually IS a valid date that the user has entered (ie.: Feb. 30 should be rejected as invalid) Is it possible to do this from within VB without coding it from the ground up? Is there any VBX or VB statement that I have overlooked that is able to do this? BTW: the program should work internationally with all the different ways of formatting dates..... Soren C. T. Ravn Olicom A/S - Denmark Developer ========================================================================= Date: Mon, 1 Aug 1994 08:49:28 EDT From: Eric Dore Subject: label at windows startup XE "label at windows startup"  > Hi! everyone, > > I am new to VB (to any language for that matter) and have a question. > Is there anyway (using VB) to display a label, textbox, or even a msgbox > when the user first boots-up Windows? I would like to be able to have a > label displayed at boot-up and then disappear after ten or twenty seconds. > That's all my program would do; user starts Windows, label is displayed and > then disappears. Perhaps the label would have an "OK" button so the user > could decide when to make it disappear. Possible? > > Any help, of course, is greatly appreciated. I am also new to this Internet > thing so I hope this goes through allright. > > Thanks, > > Mitch Dijak > 74104.2427@compuserve.com > put the icon of your program in the startup group. ========================================================================= Date: Mon, 1 Aug 1994 21:50:00 PDT From: "Wallace, Glynn W." Subject: data.zip Help! XE "data.zip Help!"  I'm on desperately need of help from any VB experience programmer. I'm working on a small application which, when I started, was working just fine. I have a search-module by typing (like context sensitive) just like the one on winhelp where as you type it matches the word or phrases. Well, mine was suppossed to do the same, yet is not. I don't understand why it works with some words but yet not with others. Am I missing something? I have included a very small zip file with my form and a sample data file (access *.mdb format) which will visualize my problem to anyone. This is maybe a very simple problem but it has sure giving me no rest. I will appreciate any help in the matter. Thanks one more time, to all! Erick/ Toronto, Ontario Canada ================================ Erik, I tried to look at the file you sent, but the code was damaged...probably during the uuencode/decode process. I have an application that does pretty much what you're talking about. It allows the user to search a database of names (lastname,firstname) by a method similar to the one used in help files. I use the textbox change event to trigger the search, creating smaller and smaller dynasets (actually snapshots are faster) as it goes, etc.... You can also use the CB_FINDSTRING and LB_FINDSTRING API calls (for combo and list boxes) to make it more like the help function. Can you be more specific about the problems you're having? i.e. What words work? What words fail? I'll help if I can. BTW - I've received zips before from this list without any problem. Could the problem be with the server on your end? Did anyone receive a good copy? HTH Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Mon, 1 Aug 1994 13:59:00 +0000 From: "Eoin C. Bairead" Subject: COPY XE "COPY"  a recent posting mentioned a COPY function from the GDI library. I wasn't able to make it work in VB. HAs anyone tried it, with success. Eoin ========================================================================= Date: Mon, 1 Aug 1994 09:00:37 -0400 From: Ian Ornstein Subject: Printing of OLE-able objects -Reply XE "Printing of OLE-able objects -Reply"  You might look into some software called Replica. My first look at it was on a CD-ROM from Visual Basic Programmers Journal. The CD was a bonus for subscription renewal. The version of Replica used was a early developemtn version. Nonetheless it show promise. The concept of taking images from any source and storing them in a way that the Replica engine can view or print does work (although the developement edition works better with some fonts than others). Check it out and let us know how it works for you. HTH - IanO - >>>>>>>>>>>>>>> I am writing an application in VB3.0 that manages various types of foil files such as PowerPoint, Charisma, Freelance, etc. In my application I want to provide the ability to select a foil entry (that points to, say, a .PPT file in a directory somewhere) in a listbox, then print that file with the click of a command button. I tried using the OLE2 custom control for awhile, but cannot find in the documentation how to use it to print. Plus, it seems to cause GPF's occasionally when I'm trying to get to a file on a server somewhere. So far, I've only been able to provide my customers with print capabilities by launching the server application that created the file and passing the file as an argument to it. They complain that this is too slow. Has anyone out there ever done something like this? Is there some info available that I could be pointed to? Robert Rouse E-mail: rrouse@itg.ti.com Texas Instruments, Inc Voice: 214-575-2966 <<<<<<<<<<<<<<< ========================================================================= Date: Mon, 1 Aug 1994 08:00:00 -0500 From: Michael Christian Subject: Ftp Address. In- XE "Ftp Address."  > address of Visual Basic Files & Information, Can some one give me Please > the FTP Address???. Two good places I've found a ftp.microsoft.com and ftp.cdrom.com The first has the Visual Basic Knowledge Base (VBKB-FT.EXE -- with full text search!), the second is the CICA archive site, and has everything that Microsoft doesn't have (they can be dificult to connect with, sometimes) Good Luck! Mike Christian ========================================================================= Date: Mon, 1 Aug 1994 15:09:29 -0500 From: Michael Vogt Subject: Encryption Routine for INI files XE "Encryption Routine for INI files"  Help! I need to locate an encryption routine that will generate valid ANSII characters so that I can store the encrypted string in an INI file. Thx -Mike Vogt@cs.indiana.edu ========================================================================= Date: Mon, 1 Aug 1994 15:48:00 EST From: "LIN, Ling" Subject: ErrMsg Number '91' XE "ErrMsg Number '91'"  Hi, Everyone Can anybody tell me what's the error message for err=91? I trapped this error, but I couldn't find it in the "MENU". Any response would be very appreciated !!!! Ling Lin llin@lewineast.vhi.com ========================================================================= Date: Mon, 1 Aug 1994 11:25:22 PDT From: Joe Robison Subject: How to Get VB Knowledge Base Articles on the Internet XE "How to Get VB Knowledge Base Articles on the Internet"  How to Get VB Knowledge Base Articles on the Internet [B_VBasic] ID: Q115780 --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, version 3.0 --------------------------------------------------------------------- SUMMARY ======= All Microsoft Visual Basic Knowledge Base (KB) articles and Microsoft Software Library (MSL) files are available for downloading from the Internet by using an FTP service (ftp.microsoft.com). The MSL file tree (softlib) contains drivers, patches, and other support files from Microsoft Product Support Services. MORE INFORMATION ================ How to Open a Connection to the Microsoft FTP Site -------------------------------------------------- Connection to the Microsoft Internet server requires a "live" session to the Internet by way of an FTP (File Transfer Program) service provider. 1. Log on to your Internet account. 2. At the Internet prompt, type: open ftp.microsoft.com or use the IP address: open 198.105.232.1 3. When prompted for a user name, type: anonymous 4. When asked for a password, type your full e-mail address, for example: johndoe@test.com How to Download Individual Visual Basic Knowledge Base Articles --------------------------------------------------------------- This example includes downloading an actual article (Q100369), which contains all the documentation errors for Visual Basic version 3.0. Microsoft Knowledge Base articles are stored in a directory tree by their unique identification number also known as their Q number. 1. After logging onto the FTP server, use the CD command at the FTP prompt to change to the correct directory: cd/developer/devtools/lang/vb/kb 2. Use the GET command to retrieve the README.TXT and INDEX.TXT files. The INDEX.TXT file contains a complete list of all the article titles and their Q numbers. If you already know the Q number you want, you don't need to look in the INDEX.TXT file. To download these files, type the following from the FTP prompt: get readme.txt get index.txt 3. Once you have the Q number (for example Q100369), use the GET command to download the KB article. KB articles are stored in a directory tree structure with each Q number represented as two subdirectories and a two-digit file name. This method avoids storing thousands of articles in one subdirectory, which would slow server performance. You can translate the Q number into a GET command. There are three parts to each Q number. Reading backwards, the file name is the last two characters plus a .TXT extension. For example, the file name for Q100369 is 69.TXT. The sub area is the first digit to the left of the file name (3 in this example), and the primary area is the remaining characters to the left including the Q (Q100 in this example). In the GET command, place a forward slash (/) between the file name, sub area, and primary area (primary/sub/filename). For example, a six-digit Q number translates to: Q99704 = Q99/7/04.TXT A seven-digit Q number translates to: Q100369 = Q100/3/69.TXT Use the GET command from the FTP prompt to download the article: get Q99/7/04.TXT Q99704.TXT get Q100/3/69.TXT Q100369.TXT The "Q100369.TXT" part at the end is the destination name for the file -- the name of the file as it will appear on your hard drive. 4. To close the connection with the server for most FTP clients type the following from the FTP prompt: bye How to Download All Visual Basic Knowledge Base Article Help Files ------------------------------------------------------------------ If you want all the Visual Basic Knowledge Base articles in two Help files with full-text search, download VBKB_FT.EXE, a self-extracting file, from the MSL. 1. Change to the softlib area: cd/softlib/mslfiles 2. Get the file. Make sure you have room for it on your computer. The compressed file is more than four megabytes in size, so you will need about 10 megabytes of space to extract its contents. get vbkb_ft.exe 3. Close the connection: bye 4. Put the VBKB_FT.EXE file in an empty directory on your computer and run it to extract the files it contains. To run the Help file, double-click VB_TIPS.HLP or VB_BUGS.HLP in File Manager. Choose the Find button to use the full-text search. If you receive an "access denied" error during any transfers, it means you don't have write access in your current working directory on your client system. Contact your system administrator for help. ========================================================================= Date: Mon, 1 Aug 1994 11:40:33 PDT From: David Mendoza Subject: Visual C++ list XE "Visual C++ list"  Does anyone know of a Visual C++ list. Who should I contact to subscribe? Thank You. ========================================================================= Date: Mon, 1 Aug 1994 17:03:42 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Validation of dates in VB XE "Validation of dates in VB"  > I am currently writing an application in VB 3.0 pro.ed. where I need > to validate the user's input of dates. I have used the masked edit > control to handle the formatting, but I cannot make this VBX validate > that it actually IS a valid date that the user has entered (ie.: Feb. > 30 should be rejected as invalid) Try the DateValue function..... Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Mon, 1 Aug 1994 12:41:57 +0100 From: Byron Lee Subject: Validation of dates in VB In- XE "Validation of dates in VB"  > to validate the user's input of dates. I have used the masked edit > control to handle the formatting, but I cannot make this VBX validate > that it actually IS a valid date that the user has entered (ie.: Feb. > 30 should be rejected as invalid) > > Is it possible to do this from within VB without coding it from the > ground up? Is there any VBX or VB statement that I have overlooked > that is able to do this? The code shouldn't be too hard.. Just make an array with the number of days in each month.. Then check the array to see if the number of days is correct for the write month.. If you want some code, let me know and I'll quickly write something... Byron ========================================================================= Date: Mon, 1 Aug 1994 12:39:39 +0100 From: Byron Lee Subject: label at windows startup In- XE "label at windows startup"  > > I am new to VB (to any language for that matter) and have a question. > Is there anyway (using VB) to display a label, textbox, or even a msgbox > when the user first boots-up Windows? I would like to be able to have a > label displayed at boot-up and then disappear after ten or twenty seconds. > That's all my program would do; user starts Windows, label is displayed and > then disappears. Perhaps the label would have an "OK" button so the user > could decide when to make it disappear. Possible? > You can just create a program to show the screen.. And use either a command button for the OK or use a timer for the 20 second thing.. Then, put your program into the windows program group called Start-Up and it will automatically start each time Windows is start... Byron ========================================================================= Date: Mon, 1 Aug 1994 12:31:36 -0400 From: Stephen Lenz Subject: help with an ErrorHandler: In- XE "help with an ErrorHandler\:"  read/get, etc., and FileClose. Then put your I/O Error Handler(s) in these subroutines. Not really a VB problem, more generic BASIC, but pretty quick and dirty! Steve Lenz slenz@risd.edu On Sat, 30 Jul 1994, Parks wrote: > Okay, here's what I want... An error handler available with as > little code repetition as possible... > > I know it's possible to put an "On Error Goto ErrorHandler" and an > "ErrorHandler:" label in EVERY little sub, but i'd really like it > if I could just have ONE in each sub (actaully what I'd like is > just one in the whole program but i know that's asking a lot.) > > If I put an "On Error Goto ErrorHandler" in each sub it tells me it > can't find the "ErrorHandler:" label. Where should I put that? > I don't wanna put the same code in all the subs... It wouldn't be > so bad If I could just cut and paste the same code all over the > place like an amateur, but it tells me I can't duplicate the same > label in one module. If I can't do that, then why can't the "On > Error..." in Command1_Click see the "ErrorHandler" in Form_Load? > > Why won't it let me duplicate the label name if it's not going to > make use of it anyway? > > Please E-mail me any suggestions... > > Thanks > Brad > > | Brad "Parallel" Parks | convert to base 36 | > | 3900 Bethel Drive #1946 St.Paul MN | 548581 | > | parbra@.bethel.edu 55112-6999 | 36432388 | > | also at bparks@intcorp.com 631-7800 | 1520824283523 | ========================================================================= Date: Mon, 1 Aug 1994 11:23:17 CDT From: Scott Butler Subject: How to ID a machine? XE "How to ID a machine?"  Check out KB article Q102780 - "SAMPLE: Reading the Boot Sector of a Drive" ...or.... Q69223 - "INF: Retrieving a Disk Volume Serial Number from C" Hope this helps! Good luck.... Scott ---------- From: Ed Staffin To: Discussion for Microsoft Visual Basic and Related Issues Cc: Visual Basic Technical Assistance Forum; Subject: How to ID a machine? Date: Mond XE "How to ID a machine?" ay, August 01, 1994 8:39AM Yeah, that seems to be what people are suggesting. The $64 question is how do I get that from a windows app? I say no api for it and while there is a DOS interrupt, I am not sure how to use an interrupt from a windows program. Later ... Ed >On Sun, 31 Jul 1994, Ed Staffin wrote: > >> Hi, >> Does anybody know of a way to uniquely id a machine? Assume there is no net >> card. I would like to be able to tell one machine from the next is this >> possible? Assume x86. >> >Could you look at the Volume/SerialNumber of it's C: drive? (Or, its >Boot drive?) When a disk is formated, it is assigned a 64-bit random >number. I always wondered if it would be 'good' for anything ... maybe >this is it? > Michael Christian > ========================================================================= Date: Tue, 2 Aug 1994 11:20:00 -0700 From: "Warford, Craig" Subject: Problem with wNetAddConnection XE "Problem with wNetAddConnection"  I have a small application that uses wNetAddConnection and wNetCancelConnection successfully. But it doesn't seem to notify anything, specifically File Manager that the drive has been connected/disconnected. Is there some way to notify File Manager of the change without reloading it? (dynamically update it) Also, while I am at it, how can I obtain a list of currently connected network printers? Finding available drive letters is easy, but I don't know how to do the LPTx ports. TIA, Craig Warford warford@uthscsa.edu ========================================================================= Date: Mon, 1 Aug 1994 12:09:53 -0400 From: Bryan Kowalchuk Subject: How to ID a machine? XE "How to ID a machine?"  Use a environment varable by putting something like "SET PCNAME=PC001" in your autoexec.bat file. Use the VB function Environ to retrieve it. Bryan Kowalchuk Bombarider Regional Aircraft bkowalchuk@dehavilland.ca ______________________________ Reply Separator _________________________________ Subject: How to ID a machine? Author: Discu XE "o ID a machine?" ssion for Microsoft Visual Basic and Related Issues at unix.po Date: 8/1/94 9:38 AM Hi, Does anybody know of a way to uniquely id a machine? Assume there is no net card. I would like to be able to tell one machine from the next is this possible? Assume x86. ========================================================================= Date: Mon, 1 Aug 1994 10:55:05 EDT From: Chuck Stuart Subject: Validation of dates ... XE "Validation of dates ..."  Use IsDate. Chuck Mesquite TX ========================================================================= Date: Mon, 1 Aug 1994 09:46:35 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: COPY XE "COPY"  From: NAME: Gerry Hull TEL: DTN 381-0730 - (603) 881-0730 ADDR: ZKO2-2/M37 To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> Eoin, I'm the person who posted the info on Copy(). Sure, I've used it to do lots of things... Show us the code and I'll tell you what the trouble is... Gerry hull@xanadu.enet.dec.com -------------------------------------- >> a recent posting mentioned a COPY function from the GDI library. >> >> I wasn't able to make it work in VB. >> >> HAs anyone tried it, with success. >> >> Eoin ========================================================================= Date: Mon, 1 Aug 1994 08:39:00 CDT From: Ed Staffin Subject: How to ID a machine? XE "How to ID a machine?"  Yeah, that seems to be what people are suggesting. The $64 question is how do I get that from a windows app? I say no api for it and while there is a DOS interrupt, I am not sure how to use an interrupt from a windows program. Later ... Ed >On Sun, 31 Jul 1994, Ed Staffin wrote: > >> Hi, >> Does anybody know of a way to uniquely id a machine? Assume there is no net >> card. I would like to be able to tell one machine from the next is this >> possible? Assume x86. >> >Could you look at the Volume/SerialNumber of it's C: drive? (Or, its >Boot drive?) When a disk is formated, it is assigned a 64-bit random >number. I always wondered if it would be 'good' for anything ... maybe >this is it? > Michael Christian > ========================================================================= Date: Mon, 1 Aug 1994 08:37:00 CDT From: Ed Staffin Subject: HOW TO ID XE "HOW TO ID"  I need a hardware solution. This is for a security mechanism. The things you are suggesting are way too easy to subvert. Thanks anyhow ... Ed > Di> From: Ed Staffin > Di> Subject: How to ID a machine? > Di> To: XE "How to ID a machine?"  Multiple recipients of list VISBAS-L > > Di> Does anybody know of a way to uniquely id a machine? Assume there is > Di> no net card. I would like to be able to tell one machine from the next > Di> is this possible? Assume x86. > > How about setting a DOS environment varible and then reading that > back. Each machine then would have a unique id at boot up. > > Another approach is to have a data file with the unique id in it > at the same location on every machine the program is running on. > > Tony Kyle > > >... (hic) BWave 2.10 (hic) BWave 2.10 * My computer is drunk ... >___ Blue Wave/QWK v2.12 > ========================================================================= Date: Mon, 1 Aug 1994 14:23:28 +0100 Subject: label at windows startup XE "label at windows startup"  Mitch, From what I can remember, the file winlogo.rle located in the system directory and is a COPY of the banner that Windows loads up each time. However, when you first install Windows, and, when you change any graphics drivers it will embed this file into win.com and then winlogo.rle isn't used anymore. The trick to getting your own banner would be to copy winlogo.rle to backup.rle, edit winlogo.rle to your own startup screen, and then change the graphics driver from whatever it is to somthing else, and then back again; windows will then rebuild the icons and the win.com file and include your copy of the winlogo.rle file into it. Be warned though - your startup screen should be both the same dimensions, and contain the same no. of colours as the original winlogo.rle - as you'll have problems with Windows hanging if the file is enourmous, ie. too big for win.com. .. Another way of doing this would be to just have a different win.com (each with a different startup banner) and use a batchfile to load the appropriate banner for a given event. *OR* If the logo doesn't display long enough for your needs, have your own bmp or whatever converted into a self-displaying EXE (you can do this with such packages as GWS) and have this run first from a batchfile; you can then specify such things as fade in/out, pause for 15 seconds etc. - and THEN you could finally load windows with 'win :', so the standard logo is not displayed. Agreed that all of these ideas are fairly 'dirty', but it's all that comes to mind at the moment :) Someone surely must have a better way of doing this? Rgds, Chris. (cbbrown@uk.oracle.com) ---- Included Message ---- From: Mitch Dijak To: Multiple recipients of list VISBAS-L VISBAS-L@TAMVM1.TAMU.EDU Subject: label at windows startup Hi! everyon XE "label at windows startup" e, I am new to VB (to any language for that matter) and have a question. Is there anyway (using VB) to display a label, textbox, or even a msgbox when the user first boots-up Windows? I would like to be able to have a label displayed at boot-up and then disappear after ten or twenty seconds. That's all my program would do; user starts Windows, label is displayed and then disappears. Perhaps the label would have an "OK" button so the user could decide when to make it disappear. Possible? Any help, of course, is greatly appreciated. I am also new to this Internet thing so I hope this goes through allright. Thanks, Mitch Dijak 74104.2427@compuserve.com ========================================================================= Date: Mon, 1 Aug 1994 09:05:13 -0400 From: Tom Raynor Subject: VB and LANMAN Commands XE "VB and LANMAN Commands"  (1) > I am writing a quick(?) little VB app which will check to see if a > particular sharepoint is connected to the pc, and if not, connects it. (2) > Also, how do I figure out what the next avaiable drive letter is? (1) To check, add, or delete a network connection (In LANMAN and LAN SERVER, anyway) the following funtions work. I could show you sample code to use them if you'd like to send me personal e-mail. Declare Function WNetGetConnection Lib "User" (ByVal lpszLocalName As String, ByVal lpszRemoteName As String, cbRemoteName As Integer) As Integer ' lpszLocalName = address of local device name ' lpszRemoteName = address of remote device name ' cbRemoteName = max. number of bytes in buffer ' Declare Function WNetCancelConnection Lib "User" (ByVal lpszName As String, ByVal bForce As Integer) As Integer ' lpszName = address of device or resource ' fForce = forced closure flag (0=false) ' ' Declare Function WNetAddConnection Lib "User" (ByVal lpszNetPath As String, ByVal lpszPassword As String, lpszLocalNamed As String) As Integer Declare Function WNetAddConnection Lib "User" (ByVal lpszNetPath As String, ByVal lpszPassword As String, ByVal lpszLocalName As String) As Integer ' lpszNetPath = address of network device ' lpszPassword = address of password ' lpszLocalName = address of local device (2) Also, here's a little segment of a mini-app I call "WhereAmI". This routine shows the user all their networked and local drive letters. It also indicates which is the "next available" drive letter. ConnectDrive = "0" ' Set default return value NextLetter = "" ' Start with no "next avail." DriveName = "" ' Start with no network drive found connected ' For I = Asc("A") To Asc("Z") ' loop through drive letters DriveType = GetDriveType(I - Asc("A")) ' get drive type Select Case DriveType ' Look at the type... Case Drive_Not_Assigned ' If this letter not assigned... If NextLetter < "A" Then ' If we don't already have one NextLetter = Chr(I) ' Remember this one for later End If Case Drive_Remote ' If this is a network drive... DriveName = GetNetworkName(Chr$(I)) ' *** see below *** NetList.AddItem " " & Chr$(I) & " " & DriveName Case Drive_Removable DriveList.AddItem Chr$(I) & " = Removable (Floppy) Drive" Case Drive_Fixed DriveList.AddItem Chr$(I) & " = Fixed (Hard) Drive" End Select ' Done processing drive type Next I ' Go look at the next letter If NextLetter > "A" Then ' If there is a "next available", say so Label4.Caption = " Next Available Drive = " & NextLetter End If *** - My function "GetNetworkName" returns the network name of a given drive letter, using the "WNetGetConnection" API call. Again, let me know by personal e-mail if you'd like to see more. Hope this helps! Tom Raynor satrr@alpha.naesco.com ========================================================================= Date: Mon, 1 Aug 1994 17:13:05 -0500 From: "Michael A. Phillips" Subject: Validation of dates in VB XE "Validation of dates in VB"  Try using DATEPART functions that return the month, day, year, etc. and verify that each field falls into the correct range. > Hi All > > I am currently writing an application in VB 3.0 pro.ed. where I need > to validate the user's input of dates. I have used the masked edit > control to handle the formatting, but I cannot make this VBX validate > that it actually IS a valid date that the user has entered (ie.: Feb. > 30 should be rejected as invalid) > > Is it possible to do this from within VB without coding it from the > ground up? Is there any VBX or VB statement that I have overlooked > that is able to do this? > > BTW: the program should work internationally with all the different > ways of formatting dates..... > > Soren C. T. Ravn > Olicom A/S - Denmark > Developer > +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ | Michael A. Phillips / ___// // // __ / michael@vaxa.clarion.edu | | System Manager / / / // // ___/ Office (814) 226-2280 | | Clarion University of PA / /_ / // // / Fax (814) 226-1846 | | Clarion, PA 16254 /____//____//_/ | +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Mon, 1 Aug 1994 17:30:00 CDT From: Ed Staffin Subject: Encryption Routine for INI files XE "Encryption Routine for INI files"  I have exactly what you are looking for. Check on ftp.mcs.com in the mcsnet.users\edstaff directory. There is a file there called crypt.zip that has an example and code for doing just this. Enjoy! Later ... Ed >Help! I need to locate an encryption routine that will generate valid ANSII >characters so that I can store the encrypted string in an INI file. >Thx >-Mike Vogt@cs.indiana.edu > ========================================================================= Date: Mon, 1 Aug 1994 21:09:44 -0400 From: Greg Martin Subject: label at windows startup XE "label at windows startup"  Byron, why not just add your app to the startup group, or if you're afraid something will happen to that, add it to the win.ini run= line. If you weren't using VB you could write a "device" driver that would be loaded during system.ini processing. The suggestion to modify win.com to add you're own .rle will work, but beware, whenever the user changes screen resolution, I believe WIndows setup generates a new win.com >On Mon, 1 Aug 1994, Mitch Dijak wrote: > >> Hi! everyone, >> >> I am new to VB (to any language for that matter) and have a question. >> Is there anyway (using VB) to display a label, textbox, or even a msgbox >> when the user first boots-up Windows? I would like to be able to have a >> label displayed at boot-up and then disappear after ten or twenty seconds. >> That's all my program would do; user starts Windows, label is displayed and >> then disappears. Perhaps the label would have an "OK" button so the user >> could decide when to make it disappear. Possible? >> > >You can just create a program to show the screen.. And use either a >command button for the OK or use a timer for the 20 second thing.. Then, >put your program into the windows program group called Start-Up and it >will automatically start each time Windows is start... > >Byron > \\Greg Martin // Just a turtle trying to cross the gmartin@cais.com information interstate // ========================================================================= Date: Tue, 2 Aug 1994 03:37:03 +0200 From: Jan Steinar Haugland Subject: How to ID a machine? XE "How to ID a machine?"  > Yeah, that seems to be what people are suggesting. The $64 question is how > do I get that from a windows app? I say no api for it and while there is a > DOS interrupt, I am not sure how to use an interrupt from a windows > program. Hi Ed There were some discussion on this some time back on comp.lang.basic.visual. I dug out the following posting from my hard disk log (beware, I know *nothing* about how this works, if at all). Hope this helps Cheers - Jan -------------------------------------------------------- Subject: Disk Serial #? Sender: new XE "Disk Serial #?" s@tolten.puc.cl (News Manager) Date: Fri, 18 Mar 1994 05:28:59 GMT Tsung-Fan Lin (tflin@csie.nctu.edu.tw) wrote: > Ola Strandberg (olas@Minsk.docs.uu.se) wrote: > : this works from DOS, I still need a way to get the HD Serial No. from WIndows!!!! > : Please Help me! > : /Ola Strandberg, olas@minsk.docs.uu.se > > In Windows, you have to use GlobalDOSAlloc() to allocate a memory block > under 640K as buffer. Then use DPMI function to issue a real-mode interrupt > like int 13h or 21h. I dont remember the exact DPMI interface, so I can not > tell you it in detail. I think it is easy to find a DPMI specification > in anonymous ftp sites. There is (at least in DOS) an interrupt that will do exactly what you need: getting the disk volume number. Wait a second... 8^) [rumagging through books and docs...] OK, found it. You need to do this: struct { unsigned int info; long serial_number; char vol[11]; char fat_type[8]; } disk_info; struct REGPACK reg; reg.r_ax = 0x6900; reg.r_bx = drive; /* 1:A, 2:B, etc. */ reg.r_ds = FP_SEG(&disk_info); reg.r_dx = FP_OFF(&disk_info); intr(0x21, ®); /* interrupt 0x21, function 0x69 */ and if you want the number in the same format that appears when you do a dir, use: sprintf(buffer, "%lX", disk_info.serial_number); printf("%-4.4s-%-4.4s", buffer, buffer + 4); I don't know if this works in all versions of DOS (I don't think so, I guess you need 4.0 or above). I don't know if it works under Windows. Give it a try and let me know. P.S. Above code written for Borland C; I hope there are no significant typos. Gonzalo --------------------------------------------------------- Cheers - Jan -- "Who is this General Failure and what is he doing reading my disk?" ========================================================================= Date: Mon, 1 Aug 1994 21:18:23 -0400 From: Greg Martin Subject: File Copy Progress Indication XE "File Copy Progress Indication"  This is good. I used similar code to build my own recoverable file transfer mechanism for use over slow WAN links. When ever I wanted to copy a file, I'd first check to see if that file existed on the far-end. If it did, I grabbed the length of the destination file and used it as the starting point of the read on my source file. It works well since any respectable LAN protocol won't write out-of-sequence packets should one get lost. We spent two weeks trying to get 3 Mbytes of data to Jakarta and finished it overnight once I got this working. And all in VB with a flooding panel to make it pretty! >This code is for those wanting to show a progress indication while copying a >file. This will work with any type or size file. For more information, >search on OPEN, GET, & PUT in BINARY mode. stuff deleted... > >let me know if you have questions or comments. > >Chuck >Mesquite TX > \\Greg Martin // Just a turtle trying to cross the gmartin@cais.com information interstate // ========================================================================= Date: Mon, 1 Aug 1994 21:34:09 -0500 From: Michael Christian Subject: How to ID a machine? In- XE "How to ID a machine?"  *But, TO the ISSUE* I think Scott Buttler has the answer: KB article Q102780 - or Q69223 ... Maybe I thought of this from the articles I had scanned! I downloaded your msgblast program -- looks *NEET* I have an idea for an application that you might be interested in ( and I think you could 'pull it off' ) How do we do "disclosure aggrements?" On Mon, 1 Aug 1994, Ed Staffin wrote: > Yeah, that seems to be what people are suggesting. The $64 question is how > do I get that from a windows app? I say no api for it and while there is a > DOS interrupt, I am not sure how to use an interrupt from a windows program. > Later ... Ed > > >Could you look at the Volume/SerialNumber of it's C: drive? (Or, its > >Boot drive?) When a disk is formated, it is assigned a 64-bit random > >number. I always wondered if it would be 'good' for anything ... maybe > >this is it? > > Michael Christian ========================================================================= Date: Tue, 2 Aug 1994 00:59:00 CDT From: Stephen Gehres Subject: Problem with wNetAddConnection XE "Problem with wNetAddConnection"  Craig, The answer to the first question is to do a SendMessage() to FileManager as follows: ================== Begin code Declare Function FindWindow% Lib "User" (ByVal lpClassName As Any, ByVal lpWindowName As Any) Declare Function SendMessage Lib "User" (ByVal hWd%, ByVal wMsg%, ByVal wParam%, ByVal lParam&) As Long Global Const WM_USER = &H400 Global Const FM_REFRESH_WINDOWS = WM_USER + &H206 '--- Refresh file manager. Dim hFileMan As Integer hFileMan = FindWindow("WFS_Frame", 0&) If hFileMan <> 0 Then Label1.Caption = "Refreshing File Manager..." Me.Refresh lX& = SendMessage(hFileMan, FM_REFRESH_WINDOWS, 0, 0&) End If ================= End code As for the second question, I have written a Windows version of "NET USE" that will display active drive/printer connections as well as link them up. I used the VB/LANMAN toolkit for this to I can't tell you how to do it with the wNet???Connection... functions that are local to VB. I would assume that those functions would handle a printer port just the same as a drive letter. That is how the VB/LANMAN functions operate. Best of luck, Steve ________________________________________________________________ Stephen Gehres MSGID: SWG Information Systems & Services Internet: swg.dskpo27a@dskbgw1.itg.ti.com Texas Instruments, Inc. Voice: (214) 575-2410 Plano, Texas USA 75023 Fax: (214) 575-4853 ------------- Original Text From WCraig @ SMTP (Warford, Craig) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 08/02/94 11:20 am: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} I have a small application that uses wNetAddConnection and wNetCancelConnection successfully. But it doesn't seem to notify anything, specifically File Manager that the drive has been connected/disconnected. Is there some way to notify File Manager of the change without reloading it? (dynamically update it) Also, while I am at it, how can I obtain a list of currently connected network printers? Finding available drive letters is easy, but I don't know how to do the LPTx ports. TIA, Craig Warford warford@uthscsa.edu ========================================================================= Date: Tue, 2 Aug 1994 09:52:55 CET From: Carsten Mathiasen Subject: ErrMsg Number '91' XE "ErrMsg Number '91'"  I normally use a constuction like this when I am debugging: On Error resume next ..statement that might fail... if Err Then Msgbox "Error number " & Err & ", which means " & Error$ So you see, the Error$ function contains the 'system explanation' for the error. Using that on code 91, I get "Object variable not Set". Hope this makes sense to you Carsten Mathiasen Olicom, Denmark cma@olicom.dk ______________________________ Reply Separator _________________________________ Subject: ErrMsg Number '91' Author: Discu XE "g Number '91'" ssion for Microsoft Visual Basic and Related Issues at unixmail Date: 02-08-94 08.58 Hi, Everyone Can anybody tell me what's the error message for err=91? I trapped this error, but I couldn't find it in the "MENU". Any response would be very appreciated !!!! Ling Lin llin@lewineast.vhi.com ========================================================================= Date: Tue, 2 Aug 1994 12:06:50 +0100 From: Xiaojun He Subject: How to ID a machine? XE "How to ID a machine?"  Where is the KB article Q102780 - "SAMPLE: Reading the Boot Sector of a Drive" ...or....Q69223 - "INF: Retrieving a Disk Volume Serial Number from C" Any one can find it ? >Check out KB article Q102780 - "SAMPLE: Reading the Boot Sector of a Drive" >...or.... >Q69223 - "INF: Retrieving a Disk Volume Serial Number from C" > >Hope this helps! > >Good luck.... >Scott >---------- >From: Ed Staffin >To: Discussion for Microsoft Visual Basic and Related Issues > >Cc: Visual Basic Technical Assistance Forum; >Subject: How to ID a machine? >Date: Mon XE "How to ID a machine?" day, August 01, 1994 8:39AM > >Yeah, that seems to be what people are suggesting. The $64 question is how >do I get that from a windows app? I say no api for it and while there is a >DOS interrupt, I am not sure how to use an interrupt from a windows program. >Later ... Ed > >>On Sun, 31 Jul 1994, Ed Staffin wrote: >> >>> Hi, >>> Does anybody know of a way to uniquely id a machine? Assume there is no net >>> card. I would like to be able to tell one machine from the next is this >>> possible? Assume x86. >>> >>Could you look at the Volume/SerialNumber of it's C: drive? (Or, its >>Boot drive?) When a disk is formated, it is assigned a 64-bit random >>number. I always wondered if it would be 'good' for anything ... maybe >>this is it? >> Michael Christian >> ========================================================================= Date: Tue, 2 Aug 1994 06:55:49 -0400 From: Bill Fausser Subject: Visual C++ list In-> Does a XE "Visual C++ list" nyone know of a Visual C++ list. > > Who should I contact to subscribe? > > Thank You. > Send Mail to listserv@psuvm.psu.edu and include the following in the body of the message: SUBSCRIBE C_C++ [firstname] [lastname] ========================================================================= Date: Tue, 2 Aug 1994 08:28:42 -0400 From: Tom Raynor Subject: Problem with wNetAddConnection XE "Problem with wNetAddConnection"  Craig: You asked about seeing the changes WNetAddConnnection makes within File Manager. I find that just pressing in FileMan works fine for me. I guess I didn't really expect FileMan to know what some other application was up to in the first place, so my expectations were lower than yours! :) As for your question on network printers, couldn't you use the same WNetGetConnection command? I don't see anything in the SDK help that suggests the connections are limited to drive letters, but I haven't actually tried it with LPTx connections yet. I will experiment as time permits. If anyone gets the answer before me, please share it with us all! - Tom Raynor satrr@alpha.naesco.com ========================================================================= Date: Tue, 2 Aug 1994 14:24:00 CDT From: "Dana, Alicia C" Subject: Using MCI VBX XE "Using MCI VBX"  I am trying to find documentation on how to use MCI.VBX. The Professional version docs only list the properties and events. It doesn't tell you how to put it all together. I want to play .WAV files manually without having to have the user select the PLAY button or display any of the MCI controls. I also want some info on how to make VB wait until the entire file is played before returning to the next line of code. Any sample code or references to documents would be greatly appreciated. Thanks Alicia Dana ========================================================================= Date: Tue, 2 Aug 1994 13:03:00 -0600 From: Dave Kearns Organization: Thomas-Conrad Corp Subject: MDI form scrollbars XE "MDI form scrollbars"  How does one read the value of an MDIform's vertical scrollbar? Not the value of the scrolbar property (either true or false), but the value of the scrollbar itself? ========================================================================= Date: Tue, 2 Aug 1994 13:23:51 EDT From: Mitch Dijak <74104.2427@COMPUSERVE.COM> Subject: label at windows startup XE "label at windows startup"  Thanks to everyone who has responded to my request for help on the "label at windows startup" question. I'll give the responses a try. Thanks again. Mitch Dijak 74104.2427@compuserve.com ========================================================================= Date: Tue, 2 Aug 1994 10:53:04 EDT From: Dave Sampson Subject: Encryption Routine for INI files In- XE "Encryption Routine for INI files"  >ANSII characters so that I can store the encrypted string in an INI >file. Check out QuickPak Professional for Windows from Cresent. It has encryption for strings and files that ought to let you do what you want. david sampson ========================================================================= Date: Tue, 2 Aug 1994 08:09:13 CDT From: BHughes@OZNET.KSU.EDU Subject: Hello! What are you all about? XE "Hello! What are you all about?"  This is Bob Hughes at Concordia, Ks. I am interested in what your group is all about and would like to get in on some of the discussions. I am a professional programmer and I am learning Visual Basic to move on into Windows programming. Please drop me a line telling me what's happening. My address is: BHUGHES@OZNET.KSU Thanks! ========================================================================= Date: Tue, 2 Aug 1994 08:38:49 -0500 From: Rick Huff Subject: ADMIN data.zip Help! In- XE "ADMIN data.zip Help!"  Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Mon, 1 Aug 1994 20:57:55 ARG Comments: RFC822 error: MESSAGE-ID field duplicated. Last occurrence was retained. From: Visual Basic Subject: Error Message from ODBC driver XE "Error Message from ODBC driver"  Is there any way to get the aditional message VB displays when an ODBC call failed? The error$(err) shows the correspondant "ODBC call failed", but not the string including all the error occurred in the diferent layers. The fact is that I want to differentiate between and Duplicate keys error during an SQL Insert stament using ExecuteSQL statement. Also if any of you know about the Q+E Software Support e-mail address, I'll appreciate it. Thanks in advance --- Alejandro Masino ale@pal07.ured.com.ar ========================================================================= Date: Mon, 1 Aug 1994 20:51:19 ARG Comments: RFC822 error: RESENT-MESSAGE-ID field duplicated. Last occurrence was retained. Comments: Resent-From: "Visual Basic " Comments: Originally-From: ured!pal07!pal07.ured.com.ar!vb@uunet.uu.net From: Visual Basic Subject: Dynasets and Informix Transactions XE "Dynasets and Informix Transactions"  I'm developing an application using VB, Q+E Odbc driver and Informix On Line 5.00. I'm trying to implement transactions mixing Informix Sql sentences and using dynasets primitives. The problem is that if a begintrans was not made, any edit in a dynaset causes an ODBC call to begin the transaction and end it after the update. I cannot perform this sequence: executeSQL("begin work") set ds = createdynaset ("table") ....some updates... and then ... executeSQL("commit work") After trying a ds.edit, I got an "Already in transaction" error message > from the ODBC driver. Does anyone have any suggestion? Thanks in Advance --- Alejandro Masino ale@pal07.ured.com.ar ========================================================================= Date: Tue, 2 Aug 1994 09:03:58 -0400 From: Dean Pidgeon >Check out KB article Q102780 - "SAMPLE: Reading the Boot Sector of a Drive" >...or.... >Q69223 - "INF: Retrieving a Disk Volume Serial Number from C" Where are these articles. I looked in the .../vb/kb directory on ftp.microsoft.com, but couldn't find them. I tried the .../ccpp/kb directory too. TIA, Dean Pidgeon ========================================================================= Date: Tue, 2 Aug 1994 17:39:25 CDT From: Scott Butler Subject: How to ID a machine? XE "How to ID a machine?"  PSS ID Number: Q69223 Article last modified on 03-04-1994 5.10 6.00 6.00a 6.00ax 7.00 8.00 8.00c | 1.00 1.50 MS-DOS | WINDOWS ---------------------------------------------------------------------- The information in this article applies to: - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax - Microsoft C/C++ for MS-DOS, version 7.0 - Microsoft C/C++ Compilers for MS-DOS, versions 8.0 and 8.0c (Included with Microsoft Visual C/C++ for Windows, versions 1.0 and 1.5) ---------------------------------------------------------------------- SUMMARY ======= Beginning with MS-DOS version 4.0, a semi-random 32-bit binary identification number (ID) is assigned to each disk that MS-DOS formats. The volume serial number (or ID) is stored at offset 27H to 2AH in the boot sector of each disk. NOTE: code compiled with Visual C++ version 1.5 may yield the following message from Windows NT: An applicaion has attempted to directly access the hard disk, which cannot be supported. This may cause the application to function incorrectly. It provides Terminate and Ignore buttons. If the user is logged on with Administrative privileges, this will succeed for a FAT partition, else it fails for a FAT partition. It always fails for an NTFS partition. After clicking Terminate or Ignore the program returns with the error message that has been coded (error on int 25). MORE INFORMATION ================ The following program illustrates how to retrieve this information: /***************************************************************/ /* */ /* This program reads the volume serial number (or ID) from */ /* the boot sector of a specified disk. The DOS interrupt 25 */ /* Absolute Disk Read is used to read in the boot sector. */ /* */ /* Note: The volume ID is only implemented from MS-DOS 4.0 */ /* and later. */ /* */ /* The output consists of the OEM name and version of the */ /* disk-formatting program (stored at offset 03H to 0AH in the */ /* boot sector), the disk volume label, and the disk-volume */ /* serial number. */ /* */ /***************************************************************/ #include #include #include #include #include char bootsector[1024]; char volume[12]; char ver[9]; char block[10]; void main(void) { int ax, _far *p, drive; struct find_t fileinfo; char filename[13], _far *myvar, _far *q; union REGS inregs, outregs; struct SREGS segregs; printf("Enter drive number (0=A,1=B,2=C, ...): "); drive = getche() - '0'; /**************************************/ /* Parameter block for int 25H */ /* Bytes Description */ /* ------- ----------- */ /* 00H-03H 32-bit sector number */ /* 04H-05H Number of sectors to read */ /* 06H-07H Offset of buffer */ /* 08H-09H Segment of buffer */ /**************************************/ block[0] = block[1] = block[2] = block[3] = 0; block[4] = 1; block[5] = 0; myvar = bootsector; p = (int *)&block[6]; *p = FP_OFF(myvar); p = (int *)&block[8]; *p = FP_SEG(myvar); q = block; inregs.h.al = (char)drive; inregs.x.cx = -1; inregs.x.bx = FP_OFF(q); segregs.ds = FP_SEG(q); ax = int86x(0x25, &inregs, &outregs, &segregs); /*** Error routine ***/ if (outregs.x.cflag) { printf("\n\nerror on int 25\n"); printf("this is AX:%04X", ax); exit(-1); } /*** Output ***/ printf("\n\nDrive %c\n-------\n\n", drive +'A'); strncpy(ver, &bootsector[3], 8); printf("OEM name and version: %s\n", ver); /* Use _dos_findfirst for the volume label */ filename[0] = (char)(drive + 'A'); filename[1] = '\0'; strcat(filename, ":\\*.*"); if(!_dos_findfirst(filename, _A_VOLID, &fileinfo)) printf("Volume name : %s\n", fileinfo.name); /* Before printing serial number, check if version >= 4.x */ if ((ver[6] == '.') && (ver[5] >= '4') && (ver[5] <= '9')) printf("Serial number : %02X%02X-%02X%02X\n\n", (unsigned char) bootsector[0x2a], (unsigned char) bootsector[0x29], (unsigned char) bootsector[0x28], (unsigned char) bootsector[0x27]); } Additional reference words: 5.10 6.00 6.00a 6.00ax 7.00 8.00 8.00c 1.00 1.50 KBCategory: Prg KBSubcategory: ============================================================================ Copyright Microsoft Corporation 1994. ---------- From: Scott Butler To: Ed Staffin ; Discussion for Microsoft Visual Basic and Related Issues Cc: Visual Basic Technical Assistance Forum Subject: How to ID a machine? Date: Mond XE "How to ID a machine?" ay, August 01, 1994 11:23AM Check out KB article Q102780 - "SAMPLE: Reading the Boot Sector of a Drive" ...or.... Q69223 - "INF: Retrieving a Disk Volume Serial Number from C" Hope this helps! Good luck.... Scott ---------- From: Ed Staffin To: Discussion for Microsoft Visual Basic and Related Issues Cc: Visual Basic Technical Assistance Forum; Subject: How to ID a machine? Date: Mond XE "How to ID a machine?" ay, August 01, 1994 8:39AM Yeah, that seems to be what people are suggesting. The $64 question is how do I get that from a windows app? I say no api for it and while there is a DOS interrupt, I am not sure how to use an interrupt from a windows program. Later ... Ed >On Sun, 31 Jul 1994, Ed Staffin wrote: > >> Hi, >> Does anybody know of a way to uniquely id a machine? Assume there is no net >> card. I would like to be able to tell one machine from the next is this >> possible? Assume x86. >> >Could you look at the Volume/SerialNumber of it's C: drive? (Or, its >Boot drive?) When a disk is formated, it is assigned a 64-bit random >number. I always wondered if it would be 'good' for anything ... maybe >this is it? > Michael Christian > ========================================================================= Date: Wed, 3 Aug 1994 10:48:37 +0000 From: Kevin Black Subject: ODBC for Ingres and Pick XE "ODBC for Ingres and Pick"  Hi, Anyone have details of ODBC for Ingres and/or Pick (preferably sharware etc). I have two separate projects requiring connectivity with these databases. Thanks, Kevin ------------------ Kevin Black Computer Services Group Leader BHP Research - Newcastle Laboratories Snail : P.O. Box 188, Wallsend 2287 Tel : +61 49 510434 Fax: +61 49 513740 Internet: kevinb@resntl.bhp.com.au ---------------- ========================================================================= Date: Wed, 3 Aug 1994 13:01:36 +1000 From: Herman Mansur Subject: DECODE-VB XE "DECODE-VB"  DECODE-VB Hi all, I'm looking for a source code for uudecode and uuencode routines (I'd prefer free!) in basic or Vbasic any help will be much appreciated thanks Herman ========================================================================= Date: Wed, 3 Aug 1994 08:28:16 +0300 From: giora drachsler Subject: Using MCI VBX XE "Using MCI VBX"  > > I am trying to find documentation on how to use MCI.VBX. The > Professional version docs only list the properties and events. It > doesn't tell you how to put it all together. > > I want to play .WAV files manually without having to have the user > select the PLAY button or display any of the MCI controls. I also > want some info on how to make VB wait until the entire file is > played before returning to the next line of code. > > Any sample code or references to documents would be greatly > appreciated. > > Thanks > > Alicia Dana Alicia, the documentation in the Prof version is indeed Spartan, but complete. After reading it a few times you may start writing code. Some of the VB books have a MCI section with examples. If you can't find the books, I'll send you some code Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Tue, 2 Aug 1994 23:26:19 PDT From: Simon Bernstein Subject: Validation of dates in VB XE "Validation of dates in VB"  A simple way to validate dates: 'Assume date is in Text1.Text, and is in any format *EXCEPT* dd Mmmm Yyyy 'In this case it is a fair assumption seeing as you mention using the MSMASKED 'control d$ = Format$(Text1.Text,"dd Mmm Yyyy") if d$ = Text1.Text then MsgBox "Invalid date" endif Essentially, if the date is returned unchanged, it is invalid. This function will make use of the settings in the Control Panel Regards - Simon PS This is my first posting to this list. Please don't make it my last by sending me mail with questions. This may sound presumptious, but I don't want to take any chances. ========================================================================= Date: Wed, 3 Aug 1994 08:13:08 +0000 Organization: The University of Huddersfield HEC Subject: ADMIN data.zip Help! XE "ADMIN data.zip Help!"  > Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) > CIS, Computing and Information Services, Texas A&M University > VISBAS-L, VBDATA-L List Owner ~~~~~~~~ I see we've split the list then! Nicky p.n.murphy@hud.ac.uk ========================================================================= Date: Wed, 3 Aug 1994 02:00:00 GMT From: Steen Traberg-Borup Organization: Danish Building Research Institute Subject: Super/Sub-script in Captions, text strings etc. XE "Super/Sub-script in Captions, text strings etc."  Hello All! I have a question concerning super/subscripts in text strings. How do you manage to write e.g. H2SO4, m2 m3 using subscripts for the 2 and 4 in sulphuric acid, and superscript for the 2 and 3 in square meter and cubic meter. I need these options for Captions etc. If you happen to know the answer(s) please let me know Best regards, Steen Traberg-Borup *********************************************************** Steen Traberg-Borup Phone: +45 42865533 Danish Building Research Institute Fax: +45 42867535 Energy and Indoor Climate Division E-mail: stb@sbi.dk P.O.Box 119 DK 2970 Horsholm Denmark *********************************************************** ========================================================================= Date: Wed, 3 Aug 1994 08:52:05 -0400 From: Stephen Lenz Subject: How to ID a machine? In- XE "How to ID a machine?"  out there somewhere. ShareWare? I wish I had the $200.00 (?) for Crescent's QuickPak for Windows. I think they have interrupt capability incorporated in that. Sure would save me a lot of grief...... Steve Lenz slenz@risd.edu On Tue, 2 Aug 1994, Scott Butler wrote: > PSS ID Number: Q69223 > Article last modified on 03-04-1994 > 5.10 6.00 6.00a 6.00ax 7.00 8.00 8.00c | 1.00 1.50 > MS-DOS | WINDOWS > ---------------------------------------------------------------------- > The information in this article applies to: > - Microsoft C for MS-DOS, versions 5.1, 6.0, 6.0a, and 6.0ax > - Microsoft C/C++ for MS-DOS, version 7.0 > - Microsoft C/C++ Compilers for MS-DOS, versions 8.0 and 8.0c (Included > with Microsoft Visual C/C++ for Windows, versions 1.0 and 1.5) > --------------------------------------------------------------------- > etc. > etc. ========================================================================= Date: Wed, 3 Aug 1994 17:25:42 EDT Subject: Touch Tone Interpretation XE "Touch Tone Interpretation"  Does anyone know of a way that I could write a VB application that would be able to receive a phone call and then interpret the tones of a touch tone keypad into their numeric equivalents? -- Frank McPherson ab546@detroit.freenet.org fmcpherson@eworld.com ========================================================================= Date: Wed, 3 Aug 1994 13:37:13 GMT Comments: MEMO 1994/08/03 13:44 From: Michael R Kizer <2N18004@CCMAIL.EMIS.HAC.COM> Subject: Positioning MDI child forms XE "Positioning MDI child forms"  A coworker of mine has setup a MDI form with a single child form. He wants to have the child form remain anchored in the upper left corner of the main form, so to do this he sets the Top,Left,Height,Width properties in the form load of the child form (which works fine). But to prevent the user from moving this form he also puts the same code in the child form's Paint event. This event seems to get triggered only when the child form is moved up or to the left, but not down and to the right (moving in this direction allows the form to be permanently moved, but as soon as you move it left or up it will immediately be placed back in the upper left corner). Is this a "feature" of MDI forms, or is there a better way to control the position of child forms? TIA, *------------------------------------------------* * Michael Kizer -- 2n18004@ccmail.emis.hac.com * * Computer Sciences Corporation -- Tucson, AZ * *------------------------------------------------* ========================================================================= Date: Wed, 3 Aug 1994 13:33:00 GMT From: GEORGE CSEFAI Subject: Installers XE "Installers"  Hi All, I'd like to distribute my software with an Installer. I understand VB's Setup will not split a large file over multiple disks. I have a compressed database that is 2.5+MB. Does anyone have any feedback on using commercial Installers? Thanks, George Csefai Waterbury, CT --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Wed, 3 Aug 1994 10:32:39 -0400 From: TSPEARE Organization: Georgian College of A.A. & T. Subject: Determining Screen Resolution XE "Determining Screen Resolution"  Anybody know how to get the screen resolution so you can use the right bitmap? -------------------------------------------------------- "Aboriri, Reconari, Deficere" -------------------------------------------------------- Terry Speare TSPEARE@Central.Georcoll.ON.CA Georgian College, Ontario Canada ******************************************************** *The opinions expressed in this posting are fictitious.* *Any semblance to real opinions is purely coincidental.* ******************************************************** ========================================================================= Date: Wed, 3 Aug 1994 13:42:50 EDT From: Eric Dore > Where are these articles. I looked in the .../vb/kb directory on > ftp.microsoft.com, but couldn't find them. I tried the .../ccpp/kb directory > too. > > TIA, > Dean Pidgeon > Look in the /softlib/mslfiles directory the file name is VBKB.exe or VBKBFS.exe or something like that, for a full search KB. ---------------------------------------------------------------------------- Eric Dore Mail:edore@cc.drev.dnd.ca Tel:418-844-4365. Quebec, CANADA ---------------------------------------------------------------------------- _/_/_/ _/_/_/ _/_/_/ _/ _/ / _/_/_/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/ _/ / _/ _/ _/ _/ _/ _/ _/ _/ _/_/_/ _/ _/ _/ _/ / _/ _/ _/_/_/ _/_/_/ _/ _/ _/ _/ _/ _/ _/ _/_/ / _/ _/ _/ _/ _/ _/_/ _/_/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ _/ _/ _/_/_/ _/ ___________________________________________________________________________ ========================================================================= Date: Wed, 3 Aug 1994 12:43:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Scheduler XE "Scheduler"  I am making a little scheduler program that will simply launch programs at certain times. I would like to do it in Visual Basic. Does anyone have any ideas on the best way to approach this. Should I set a timer to check the system time every minute or is their a better way? Any help or info would be appreciated. TIA Russell Greenlaw rgreenlaw@b868s1.ssc.af.mil ========================================================================= Date: Wed, 3 Aug 1994 10:49:47 -0400 From: Scott Evans Subject: Sending MIDI events revisited XE "Sending MIDI events revisited"  I asked this questiion a while back, but never got an answer. Has anyone figured out how to send individual MIDI events? That is, I'm not looking to play .MID files. I'm looking to, for example, control a synth or drum machine from VB. *Any* pointers would be greatly appreciated. scott ========================================================================= Date: Wed, 3 Aug 1994 05:00:05 -0400 From: TSPEARE Organization: Georgian College of A.A. & T. Subject: Animating Graphic Methods XE "Animating Graphic Methods"  Hi! Anybody know how to animate graphic methods (line draw, circle) without all the flickering and poor performance? I'm trying to draw an item on the screen and then rotate it, and it looks and performs terribly. Maybe I need to spend some money on a package, but it would have to work seemlessly with VB. Any ideas? -------------------------------------------------------- "Aboriri, Reconari, Deficere" -------------------------------------------------------- Terry Speare TSPEARE@Central.Georcoll.ON.CA Georgian College, Ontario Canada ******************************************************** *The opinions expressed in this posting are fictitious.* *Any semblance to real opinions is purely coincidental.* ******************************************************** ========================================================================= Date: Wed, 3 Aug 1994 10:47:00 EST From: "LIN, Ling" Subject: How to detect a Object Variable exist ?? XE "How to detect a Object Variable exist ??"  Hello, Everyone! I have a question about how to detect a "Object Variable" has been created ? For example, I create a dynaset like this : Set MySet = Db.CreateDynaset(SqlString) Is there any way to detect the "MySet" do exist and when I close it will not cause a error ? Thanks a lot !!!! Ling Lin llin@lewineast.vhi.com ========================================================================= Date: Wed, 3 Aug 1994 14:34:07 +0100 From: Gary Nugent I'm using the Spread20.vbx control and the following code to place formulae in column 3 of the spreadsheet which get the sum of the cells in the assocaited row (e.g. "D2:X2", "D3:X3", etc) Spread1.Col = 3 char1 = Chr$(64 + NO_COLS - 1) For I = 2 To NoRows Spread1.Row = I char2 = Str(I) Spread1.Formula = "D" & char2 & ":" & char1 & char2 Next I The code works fine but it is slooooow!! The spreadsheet I'm using has 22 rows of 26 columns (columns 4-26 contain the numeric info). Typically, it takes 10-12 seconds for these formulae to be initialised and calculated on my 33Mhz (486) Compaq! What gives? Does anyone know of a faster way to create/initialise formulae quickly? TIA Gary Nugent gnugent@cara.ie ========================================================================= Date: Wed, 3 Aug 1994 09:17:00 CDT From: "Dana, Alicia C" Subject: MCI VBX XE "MCI VBX"  Thanks to everyone who sent me information on playing WAV files. I think my original message was unclear. I am looking for information on how to use the MCI.VBX control in a less than standard way. By default, the MCI.VBX displays an interactive control that allows the user to play, forward, reverse, stop, record, pause multimedia files. I am creating an application where the file is played under source code control. (not in response to the user opening a file and pressing the Play button.) This should actually be easier, but I can't seem to get it to work. Currently I have code that will allow me to do this with the Win API. However, I am trying to do the same thing with the VBX. This is because I want to learn how to use this control and because I will be doing a lot more multimedia programming in the future and don't want to have to revert to the the API calls all the time. I have read the VB PRO documentation and looked at the sample MCI program. The manual doesn't give you anything more than a list of properties and a few lines of sample code. Help tells you that it is possible to use the control under source code control and suggests that you set the Visible and Enable properties to False but gives you nothing more. The sample program illustrates how to use the control to create a user-controlled interactive multimedia player. If anyone has any sample code or knows of a book that discusses this subject, please let me know. Thanks, Alicia Dana acdana@ingr.com ========================================================================= Date: Wed, 3 Aug 1994 14:49:00 +0000 From: "Eoin C. Bairead" Subject: CANCEL... XE "CANCEL..."  what IS the technique for allowing a user to interrupt a fairly long, fairly tight, code loop, and CANCEL it. In sumthin' old-fashioned (like C), I'd put a little keyboard interrupt in the middle of the loop, but I just can't see a neat way of doing it in VB Eoin ========================================================================= Date: Wed, 3 Aug 1994 14:36:22 GMT From: Mathew Taylor Subject: Disabling list box items XE "Disabling list box items"  Is there any way to "grey out" a list box item, so that the user can see the item, but is not able to select it? Mathew Taylor ========================================================================= Date: Thu, 4 Aug 1994 00:17:23 CEST From: Giovanni Luca Fonti Subject: Using Mci Vbx XE "Using Mci Vbx"  Hi Dana, well using MCI.VBX is not very hard, after you draw the control on the form you can controll it as a Cd. So if you call the control MMControl1, you have first to open it so: MMcontrol1.command ="OPEN", then, you can make it play giving it command "PLAY". If you have to play a .WAV file you have only to set up the name of the file in the Property of the control then, if you want to let the user don't see the control, you have to set the property VISIBLE of it to FALSE or if you want the user allow to control you haven't to change nothing. The type of command are the same the you find on the book of the Prof edition of VB 3.0. But really it's very easy to use. Oh, remember after you played the file and you want to close the application to set: MMcontrol1.command="CLOSE". Hope this could help you...if you need more information let me know. Bye Luca MC5557@mclink.it ========================================================================= Date: Wed, 3 Aug 1994 18:00:45 -0500 From: serstad@GPS.COM Subject: Random = Unique ? XE "Random = Unique ?"  Chuck: >Each disk drive, floppy, fixed, etc, running DOS 5.0 or later has a unique >serial number, if that helps.. Mike: >When a disk is formated, it is assigned a 64-bit random >number. I always wondered if it would be 'good' for anything ... maybe >this is it? Me: If a number is randomly generated, how can it be unique? Especially given the world domination of Microsoft ... there has to be two of these random numbers the same out there somewhere, right? Kind of the thousand monkeys each typing for a thousand years creating Shakespeare's entire portfolio concept.? Or is that a thousand computer novices using Microsoft Word for a thousand years learning how to create two columns? (last month's Wired) Sped serstad@gps.com ========================================================================= Date: Wed, 3 Aug 1994 18:03:07 -0500 From: serstad@GPS.COM Subject: Pkzip and Dos Windows XE "Pkzip and Dos Windows"  My question is twofold but kind of related. 1. Is there a .vbx or .dll or something that allows access to pkzipped files and the ability to unzip them from a VB command without having to do a DOS shell command? As widely used as pkzip is, you would think that maybe PKware or even someone else has done this ... 2. Since I am currently using a call to Shell() command from VB, is there a better way to make this more attractive? I.E. either making a small window for the Dos command to execute in or maybe a hidden window (I could make a more attractive Please Wait ... window) so the user doesn't have to see this big black screen for about a half second for the files to be unzipped. Of course this would be handy in other Dos shell calls as well. Thanks a lot Sped serstad@gps.com ========================================================================= Date: Wed, 3 Aug 1994 19:19:35 -0400 From: Robert Perdue Subject: Caller ID XE "Caller ID"  Is there a way to read the incoming phone calls, using VB Pro 3.0, to get the Caller ID that is sent by telephones? I would like to access the information using VB and reference a database to determine ID of caller for my system. Any help would be appreciated greatly. Thanks to all that can help. RPERDUE@Delphi.com ========================================================================= Date: Wed, 3 Aug 1994 16:29:23 -0500 From: Keith Seifert Subject: Searching a binary database XE "Searching a binary database"  This is a message looking for help speeding up a database sort. I am looking for a faster way to sort a binary database (6 species of fungi by 80 characteristics). I need to compare 2 species at a time, and count how many of the characteristics have a "1" (indicating the character is positive) in both species records. The code I am presently using takes 6 seconds (on a 386) to compare 2 species, and must be done for each pair of species, which leads to an unacceptably long run time. Here it is for the first pair of species, "unknown" and "aqueductum": criteria = "unknown = 1 and aqueductum = 1" counter = 0 data1.recordset.findfirst criteria do while not data1.recordset.nomatch counter = counter +1 data1.recordset.findnext criteria loop In a similar program in dBase, I accomplished the same thing very quickly with: count to counter for unknown = "1" and aqueductum = "1" Any suggestions on other approaches to this problem would be greatly appriciated. Sincerely, Amanda Siegfried Research Branch Agriculture Canada Ottawa, Canada PS- Please respond directly to seifertk@ncccot2.agr.ca, because we do not subscribe to this mailing list. Thanks. ========================================================================= Date: Thu, 4 Aug 1994 11:22:00 EST+10 From: Brad Thomas - SLNSW Systems x647 Organization: State Library of New South Wales Subject: How to detect a Object Variable exist ?? XE "How to detect a Object Variable exist ??"  Ling Try this Set MySet = Db.CreateDynaset(SqlString) If MySet is Nothing then rem the dynaset does not exist rem (no results were returned rem as a result of your sql query) rem and don't continue else rem do something with the dynaset MySet.Close end if Also see the code examples in the on-line help and in the manuals. (I could say RTFM, but that's a bit rude!) Keep the VB faith Brad > I have a question about how to detect a "Object Variable" has been created ? > For example, I create a dynaset like this : > > Set MySet = Db.CreateDynaset(SqlString) > > Is there any way to detect the "MySet" do exist and when I close it will not > cause a error ? > =================================================== Brad Thomas Systems Dept State Library of NSW Sydney, NSW, Australia bradt@level_10.slnsw.gov.au =================================================== "These are the voyages of the starship Click-a-lot; It's mission: to search out strange new icons, and boldy click where no person has clicked before... =================================================== ========================================================================= Date: Wed, 3 Aug 1994 21:35:05 -0400 Subject: Caller ID In- XE "Caller ID"  > Caller ID that is sent by telephones? > I would like to access the information using VB and reference a database > to determine ID of caller for my system. Any help would be appreciated. In order to detect caller ID you need to have a modem that supports Caller ID. Most modems send the caller ID information every time a ring is detected. All you need to do is use the MSCOMM.VBX control to monitor a comm port. Set up a loop that polls the InBufferCount property. When the modem detects the ring, it will report the CID as well, if the modem supports CID. Hope this helps. ------------------------------------------------------------------------------ "Is this Hell, or is this Ohio." Yakko Warner Matt Werline Internet: mwerline@freenet.columbus.oh.us ========================================================================= Date: Wed, 3 Aug 1994 18:52:46 -0700 From: "Jojie R. T." Subject: How to detect a Object Variable exist ?? In- XE "How to detect a Object Variable exist ??"  so subsequent tests will yield the true state of the object. George ------------------------------------------------------------------------------- grtorlba@seattleu.edu ++++++++++++ MIME mail accepted Seattle, Washington 206.824.0452 Batang Cebu! ------------------------------------------------------------------------------- On Thu, 4 Aug 1994, Brad Thomas - SLNSW Systems x647 wrote: > Ling > Try this > > Set MySet = Db.CreateDynaset(SqlString) > If MySet is Nothing then > rem the dynaset does not exist > rem (no results were returned > rem as a result of your sql query) > rem and don't continue > else > rem do something with the dynaset > MySet.Close > end if > > Also see the code examples in the on-line help > and in the manuals. > (I could say RTFM, but that's a bit rude!) > Keep the VB faith > Brad > ========================================================================= Date: Thu, 4 Aug 1994 12:01:09 EST+10 From: Brad Thomas - SLNSW Systems x647 Organization: State Library of New South Wales Subject: How to detect a Object Variable exist ?? XE "How to detect a Object Variable exist ??"  George, You are completely correct. Closing it doesn't set it to nothing, one must do it explicitly. However, I clicked on the Send button before I realised that I should have included the line Set MySet = Nothing Sorry to all! Brad > > From my experience, I found that just by closing the object does not set > > the object variable to Nothing. I have to do an explicit Set to Nothing > > so subsequent tests will yield the true state of the object. > > > > George > > > > ------------------------------------------------------------------------------- > > grtorlba@seattleu.edu ++++++++++++ MIME mail accepted > > Seattle, Washington 206.824.0452 Batang Cebu! > > ------------------------------------------------------------------------------- > > > > On Thu, 4 Aug 1994, Brad Thomas - SLNSW Systems x647 wrote: > > > > > Ling > > > Try this > > > > > > Set MySet = Db.CreateDynaset(SqlString) > > > If MySet is Nothing then > > > rem the dynaset does not exist > > > rem (no results were returned > > > rem as a result of your sql query) > > > rem and don't continue > > > else > > > rem do something with the dynaset > > > MySet.Close > > > end if > > > stuff deleted =================================================== Brad Thomas Systems Dept State Library of NSW Sydney, NSW, Australia bradt@level_10.slnsw.gov.au =================================================== "These are the voyages of the starship Click-a-lot; It's mission: to search out strange new icons, and boldy click where no person has clicked before... =================================================== ========================================================================= Date: Wed, 3 Aug 1994 22:08:04 -0400 From: "Gregory J. Martin" Subject: Positioning MDI child forms In- XE "Positioning MDI child forms"  should look there. \\Greg gmartin@cais.com On Wed, 3 Aug 1994, Michael R Kizer wrote: > A coworker of mine has setup a MDI form with a single child form. He wants to > have the child form remain anchored in the upper left corner of the main form, > so to do this he sets the Top,Left,Height,Width properties in the form load of > the child form (which works fine). But to prevent the user from moving this form > he also puts the same code in the child form's Paint event. This event seems to > get triggered only when the child form is moved up or to the left, but not down > and to the right (moving in this direction allows the form to be permanently > moved, but as soon as you move it left or up it will immediately be placed back > in the upper left corner). Is this a "feature" of MDI forms, or is there a > better way to control the position of child forms? > TIA, > *------------------------------------------------* > * Michael Kizer -- 2n18004@ccmail.emis.hac.com * > * Computer Sciences Corporation -- Tucson, AZ * > *------------------------------------------------* > ========================================================================= Date: Wed, 3 Aug 1994 23:32:51 EDT From: Chuck Stuart Subject: Very Strange!! XE "Very Strange!!"  Help! I have a program that opens the MAK file of a VB project which has been loaded into the VB environment, reads and then updates the Ascii source files. All of a sudden and for no apparent reason, I can no longer update the code in the Start Up Form when the VB program is running. If the program is loaded into the VB environment but not running everything works OK. If the program is running, I can open and read the Start Up Form source file but if I try to kill it I get a Path/File Access Error. If I try to rename it, I get a File Already Exists Error. Again, it works fine if the VB program is not running and I can update all the other source files in the MAK file even when it is running. Does anybody have even a guess as to what control a VB program running in the VB environment has over its source code file on the disk? I have this problem with two totally different VB programs. Chuck Mesquite TX ========================================================================= Date: Wed, 3 Aug 1994 23:37:47 EDT From: Chuck Stuart Subject: Determining Screen R... XE "Determining Screen R..."  Lookup the GetSystemMetrics API. Chuck Mesquite TX ========================================================================= Date: Thu, 4 Aug 1994 14:52:47 GMT+800 Organization: Edith Cowan University Subject: Embedded Basic XE "Embedded Basic"  Hi, Anybody using an embedded Basic language with their apps, such as SBL from Softbridge? I would like to incorporate a scripting language in one of my apps, but I don't want to do one of my own if something better is available. Thanks ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Thu, 4 Aug 1994 09:03:36 +0000 Organization: The University of Huddersfield HEC Subject: Data encryption XE "Data encryption"  Hi all, I'm wanting to distribute a database of electronic components in a secure form, that is also quick to access. I've written my own database engine and with about 30000 records and a SELECT type query I get the matches back in a couple of seconds. The engine is (going to be!) a DLL, written in Borland Pascal. What's the best way to encrypt/decrypt the data. Only the decrypt needs to be fast. Are there any little chunks of assembler out there, or algorithams I can easily translate, or anything else? Nicky p.n.murphy@hud.ac.uk ========================================================================= Date: Thu, 4 Aug 1994 10:13:00 CET From: Titov Pavel Subject: CANCEL... XE "CANCEL..."  I'm placing the code with some reductions so you can see how to do it. this form just displays progress indicator and provides user with Cancel feature. See text after this source and you will get the idea. ------------------------------- VERSION 2.00 Begin Form frmProc BackColor = &H00C0C0C0& BorderStyle = 1 'Fixed Single Caption = "Load in Progress" ClientHeight = 1080 ClientLeft = 1095 ClientTop = 1485 ClientWidth = 4905 ControlBox = 0 'False ForeColor = &H00000000& Height = 1485 Left = 1035 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 1080 ScaleWidth = 4905 Top = 1140 Width = 5025 Begin CommandButton cmdCancel Cancel = -1 'True Caption = "Cancel" Height = 375 Left = 1800 TabIndex = 1 Top = 600 Width = 1335 End Begin SSPanel pnlProgress AutoSize = 3 'AutoSize Child To Panel BevelOuter = 1 'Inset BevelWidth = 2 BorderWidth = 2 Caption = "Panel3D1" FloodType = 1 'Left To Right Font3D = 3 'Inset w/light shading ForeColor = &H00000000& Height = 375 Left = 120 TabIndex = 0 Top = 120 Width = 4695 End End Option Explicit Sub cmdCancel_Click () Me.tag = "cancel" End Sub ---------------------- this is sample of using the above --------------------------- Sub mnuOLoad_Click () Dim srvAirs As database, srvPris As database Dim recDbase As snapshot, recPris As snapshot LogOutLn "Load database START..." On Error Resume Next Set srvAirs = OpenDatabase("", False, False, "ODBC;DSN=AIRS Development") If Err <> 0 Then LogOutLn "Aborted." Exit Sub End If Set srvPris = OpenDatabase("", False, False, "ODBC;DSN=PRIS") If Err <> 0 Then LogOutLn "Aborted." srvAirs.Close Exit Sub End If On Error GoTo mnuOLoadErrorHandle frmProc.Show frmProc.Refresh Me.MousePointer = 11 Me.Enabled = False ' processing here ' perform loading recDbase.MoveNext ' update progress indicator frmProc!pnlProgress.FloodPercent = (nCurRec * 100) \ nRecCount ' yield control to windows so other appls can perform ' you may want to put additional DoEvents in your processing code above ' in order to achieve better reactivity DoEvents If frmProc.Tag = "cancel" Then LogOutLn "Process interrupted by user." Exit Do End If Loop recDbase.Close ' finish ' close connections LogOutLn "Load database successfully FINISHED." srvAirs.Close srvPris.Close mnuOLoadFinish: Unload frmProc Me.Enabled = True Me.MousePointer = 0 Exit Sub mnuOLoadErrorHandle: MsgBox Error$, 48 LogOutLn Error$ LogOutLn "Report: " + dbNo + dbType mnuOLoad.Enabled = False 'Stop GoTo mnuOLoadFinish End Sub --------------------------- ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: CANCEL... Date: Wednesday XE "L..." , August 03, 1994 2:49PM what IS the technique for allowing a user to interrupt a fairly long, fairly tight, code loop, and CANCEL it. In sumthin' old-fashioned (like C), I'd put a little keyboard interrupt in the middle of the loop, but I just can't see a neat way of doing it in VB Eoin ========================================================================= Date: Thu, 4 Aug 1994 09:23:00 PDT From: Dunn Andy Subject: CANCEL... XE "CANCEL..."  >what IS the technique for allowing a user to interrupt a fairly long, >fairly tight, code loop, and CANCEL it. >In sumthin' old-fashioned (like C), I'd put a little keyboard interrupt >in the middle of the loop, but I just can't see a neat way of doing it in >VB > >Eoin Put a do events inside your processing loop and check for a flag being set during that do events. The on your cancel button set the flag. Here's an example with instructions. Andy ADUNN@farnboro01.datasci.co.uk ----------------------------------------------- Create a blank form called form1. 2 Text boxes called Text1 and Text2. 2 buttons called command 1 and command 2. Change the title of command 1 to 'Increment' and the title of command2 to 'cancel'. Then paste the following code into the declarations section of the form. While the 1st text box counts you can press Increment to increment the second one and cancel to cancel the counting. Option Explicit Dim f_cancel As Integer Sub Command1_Click () text2 = text2 + 1 End Sub Sub Command2_Click () f_cancel = True End Sub Sub Form_Load () text1 = 0 text2 = 0 Me.Show f_cancel = False While Not f_cancel text1 = text1 + 1 DoEvents Wend End Sub ========================================================================= Date: Thu, 4 Aug 1994 04:44:42 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Re...Pkzip and Dos Windows XE "Re...Pkzip and Dos Windows"  My question is twofold but kind of related. 1. Is there a .vbx or .dll or something that allows access to pkzipped files and the ability to unzip them from a VB command without having to do a DOS shell command? As widely used as pkzip is, you would think that maybe PKware or even someone else has done this ... 2. Since I am currently using a call to Shell() command from VB, is there a better way to make this more attractive? I.E. either making a small window for the Dos command to execute in or maybe a hidden window (I could make a more attractive Please Wait ... window) so the user doesn't have to see this big black screen for about a half second for the files to be unzipped. Of course this would be handy in other Dos shell calls as well. Thanks a lot Sped serstad@gps.com Look at the second parameter in Shell(). You can run a minimised dos session with pkzip running in it. The disadvantage of this is a speed penalty for running what windows sees as a background process, You will also have to have an idle loop or something to detect when the process terminates. ========================================================================= Date: Thu, 4 Aug 1994 04:44:44 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Re...No subject given XE "Re...No subject given"  I'm using the Spread20.vbx control and the following code to place form ulae in column 3 of the spreadsheet which get the sum of the cells in the assocaited row (e.g. "D2:X2", "D3:X3", etc) Spread1.Col = 3 char1 = Chr$(64 + NO_COLS - 1) For I = 2 To NoRows Spread1.Row = I char2 = Str(I) Spread1.Formula = "D" & char2 & ":" & char1 & char2 Next I The code works fine but it is slooooow!! The spreadsheet I'm using has 22 rows of 26 columns (columns 4-26 contain the numeric info). Typically, it takes 10-12 seconds for these formulae to be initialised and calculated on my 33Mhz (486) Compaq! What gives? Does anyone know of a faster way to create/initialise formulae quickly? TIA Gary Nugent gnugent@cara.ie Try setting Redraw to false or, (since that doesn't seem to work on my version) setting Visible = False? This speeds up entry of large amounts of data into a spreadsheet. ========================================================================= Date: Thu, 4 Aug 1994 12:00:45 +0300 From: giora drachsler Subject: Determining Screen Resolution XE "Determining Screen Resolution"  > Anybody know how to get the screen resolution so you can use the > right bitmap? > -------------------------------------------------------- > "Aboriri, Reconari, Deficere" > -------------------------------------------------------- > Terry Speare > TSPEARE@Central.Georcoll.ON.CA > Georgian College, Ontario Canada It is almost a FAQ. The best way is a call to GetDeviceCaps. It will give you all you asked for plus a few more info (see list below). Put this declaration in the main, Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC%, ByVal nIndex%) As Integer and copy this function. You are invited to use the other options too. Function ScreenResolution% (FormName As Form) 'Last rev. 25 Sep. 93 ' Device Parameters for GetDeviceCaps() [nIndex%] 'Const DRIVERVERSION = 0 ' Device driver version 'Const TECHNOLOGY = 2 ' Device classification 'Const HORZSIZE = 4 ' Horizontal size in millimeters 'Const VERTSIZE = 6 ' Vertical size in millimeters 'Const HORZRES = 8 ' Horizontal width in pixels 'Const VERTRES = 10 ' Vertical width in pixels 'Const BITSPIXEL = 12 ' Number of bits per pixel 'Const PLANES = 14 ' Number of planes 'Const NUMBRUSHES = 16 ' Number of brushes the device has 'Const NUMPENS = 18 ' Number of pens the device has 'Const NUMMARKERS = 20 ' Number of markers the device has 'Const NUMFONTS = 22 ' Number of fonts the device has 'Const NUMCOLORS = 24 ' Number of colors the device supports 'Const PDEVICESIZE = 26 ' Size required for device descriptor 'Const CURVECAPS = 28 ' Curve capabilities 'Const LINECAPS = 30 ' Line capabilities 'Const POLYGONALCAPS = 32 ' Polygonal capabilities 'Const TEXTCAPS = 34 ' Text capabilities 'Const CLIPCAPS = 36 ' Clipping capabilities 'Const RASTERCAPS = 38 ' Bitblt capabilities 'Const ASPECTX = 40 ' Length of the X leg 'Const ASPECTY = 42 ' Length of the Y leg 'Const ASPECTXY = 44 ' Length of the hypotenuse Const LOGPIXELSX = 88 ' Logical pixels/inch in X 'Const LOGPIXELSY = 90 ' Logical pixels/inch in Y 'Const SIZEPALETTE = 104 ' Number of entries in physical palette 'Const NUMRESERVED = 106 ' Number of reserved entries in palette 'Const COLORRES = 108 ' Actual color resolution X% = GetDeviceCaps%(FormName.hDC, LOGPIXELSX) 'Y% = GetDeviceCaps%(FormName.hDC, LOGPIXELSY) ScreenResolution% = X% ' horizontal End Function Hope it helps, Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Thu, 4 Aug 1994 09:59:00 BST From: Mr M Peck Subject: Sorting Algorithm XE "Sorting Algorithm"  Hello there! I'm new to this mailing list, so you'll have to excuse me if I'm repeating a previously asked question. What I want to so is sort an array of strings alphabetically. I realise the easiest way to do this would be to pipe the data in to a list box whos 'sorted' property was set to true. However, I can't use this method. It has to be a coded solution. Does anybody out there have experience of this? If so, do you have some VB source code you could send me. If you'd rather not upload the code to VISBAS-L, then please e-mail me directly at... GTEM4479@GGR.CO.UK I'm not bothered about speed really as the number of strings to be sorted in fairly small (certainly less than 100, more often than not about 20). Thanks in advance. Martin ========================================================================= Date: Thu, 4 Aug 1994 12:15:19 +0300 From: giora drachsler Subject: CANCEL... XE "CANCEL..."  > what IS the technique for allowing a user to interrupt a fairly > long, fairly tight, code loop, and CANCEL it. > > In sumthin' old-fashioned (like C), I'd put a little keyboard > interrupt in the middle of the loop, but I just can't see a neat > way of doing it in VB > > Eoin Hi Eoin, You may put a command button, marked 'STOP' on the form. In the cmdStop_Click you can alter cmdStop.Tag="STOP" Now, in the code loop add two lines: Do DoEvents if cmdStop.Tag="STOP" then exit do . . . fairly long, fairly tight, code loop . Loop Hope it helps, Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Thu, 4 Aug 1994 10:37:00 BST From: Mr Craig Poxon Subject: Determining Screen Resolution In-> Anybo XE "Determining Screen Resolution" dy know how to get the screen resolution so you can use the > right bitmap? > -------------------------------------------------------- > "Aboriri, Reconari, Deficere" > -------------------------------------------------------- > Terry Speare > TSPEARE@Central.Georcoll.ON.CA > Georgian College, Ontario Canada > ******************************************************** > *The opinions expressed in this posting are fictitious.* > *Any semblance to real opinions is purely coincidental.* > ******************************************************** > Are we getting a little in depth with the API's people? Or am I just being thick and you lot are being 'legal' Windows programmers? How about: XPixelResoultion% = Screen.Width / SCreen.TwipsPerPixelX YPixelResolution% = Screen.Height / Screen.TwipsPerPixelY Can it really be that simple??????? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Thu, 4 Aug 1994 10:39:49 BST From: Mr Craig Poxon Subject: Animating Graphic Methods In-> Hi! A XE "Animating Graphic Methods" nybody know how to animate graphic methods (line draw, circle) > without all the flickering and poor performance? I'm trying to draw > an item on the screen and then rotate it, and it looks and performs > terribly. Maybe I need to spend some money on a package, but it would > have to work seemlessly with VB. Any ideas? > -------------------------------------------------------- > "Aboriri, Reconari, Deficere" > -------------------------------------------------------- > Terry Speare > TSPEARE@Central.Georcoll.ON.CA > Georgian College, Ontario Canada > ******************************************************** > *The opinions expressed in this posting are fictitious.* > *Any semblance to real opinions is purely coincidental.* > ******************************************************** > Try doing it on a different type of computer.....ha ha ha. PC's can't animate for toffee. Am I being a cynic or is it just the Amiga owner half of me speaking? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Thu, 4 Aug 1994 06:24:42 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Re(2): Determining Screen Resolution XE "Re(2)\: Determining Screen Resolution"  If all you want is the screen size, then it's easy enough to do without API's, using Screen.Width / Height and Screen.TwipsPerPixelX / Y Xextent = Screen.Width / Screen.TwipsPerPixelX Yextent = Screen.Height / Screen.TwipsPerPixelY These extents will be in pixels. > Anybody know how to get the screen resolution so you can use the > right bitmap? > -------------------------------------------------------- > "Aboriri, Reconari, Deficere" > -------------------------------------------------------- > Terry Speare > TSPEARE@Central.Georcoll.ON.CA > Georgian College, Ontario Canada It is almost a FAQ. The best way is a call to GetDeviceCaps. It will give you all you asked for plus a few more info (see list below). Put this declaration in the main, Declare Function GetDeviceCaps Lib "GDI" (ByVal hDC%, ByVal nIndex%) As Integer and copy this function. You are invited to use the other options too. Function ScreenResolution% (FormName As For      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsuvwxyz{|}~m) 'Last rev. 25 Sep. 93 ' Device Parameters for GetDeviceCaps() [nIndex%] 'Const DRIVERVERSION = 0 ' Device driver version 'Const TECHNOLOGY = 2 ' Device classification 'Const HORZSIZE = 4 ' Horizontal size in millimeters 'Const VERTSIZE = 6 ' Vertical size in millimeters 'Const HORZRES = 8 ' Horizontal width in pixels 'Const VERTRES = 10 ' Vertical width in pixels 'Const BITSPIXEL = 12 ' Number of bits per pixel 'Const PLANES = 14 ' Number of planes 'Const NUMBRUSHES = 16 ' Number of brushes the device has 'Const NUMPENS = 18 ' Number of pens the device has 'Const NUMMARKERS = 20 ' Number of markers the device has 'Const NUMFONTS = 22 ' Number of fonts the device has 'Const NUMCOLORS = 24 ' Number of colors the device supports 'Const PDEVICESIZE = 26 ' Size required for device descriptor 'Const CURVECAPS = 28 ' Curve capabilities 'Const LINECAPS = 30 ' Line capabilities 'Const POLYGONALCAPS = 32 ' Polygonal capabilities 'Const TEXTCAPS = 34 ' Text capabilities 'Const CLIPCAPS = 36 ' Clipping capabilities 'Const RASTERCAPS = 38 ' Bitblt capabilities 'Const ASPECTX = 40 ' Length of the X leg 'Const ASPECTY = 42 ' Length of the Y leg 'Const ASPECTXY = 44 ' Length of the hypotenuse Const LOGPIXELSX = 88 ' Logical pixels/inch in X 'Const LOGPIXELSY = 90 ' Logical pixels/inch in Y 'Const SIZEPALETTE = 104 ' Number of entries in physical palette 'Const NUMRESERVED = 106 ' Number of reserved entries in palette 'Const COLORRES = 108 ' Actual color resolution X% = GetDeviceCaps%(FormName.hDC, LOGPIXELSX) 'Y% = GetDeviceCaps%(FormName.hDC, LOGPIXELSY) ScreenResolution% = X% ' horizontal End Function Hope it helps, Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Thu, 4 Aug 1994 14:25:05 +0000 From: Yasser Gamal Subject: Using MCI VBX XE "Using MCI VBX"  This code will help you to play avi files MMControl1.DeviceType = "avivideo" MMControl1.hWndDisplay = Picture1.hWnd MMControl1.Command = "Close" MMControl1.FileName = "c\test.avi" MMControl1.Command = "Open" MMControl1.Command = "Play" mmcontrol1.visible=false to make VB wait until the entire file is played before USE THIS COMMAND MMCONTROL.WAIT=TRUE YASSER GAMAL YGAMAL@VRIT01.EG EGYPT ========================================================================= Date: Thu, 4 Aug 1994 14:34:21 +0300 From: giora drachsler Subject: Sorting Algorithm XE "Sorting Algorithm"  > Hello there! > > I'm new to this mailing list, so you'll have to excuse me if I'm > repeating a previously asked question. > > What I want to so is sort an array of strings alphabetically. I realise > the easiest way to do this would be to pipe the data in to a list box > whos 'sorted' property was set to true. However, I can't use this > method. It has to be a coded solution. Does anybody out there have > experience of this? If so, do you have some VB source code you could > send me. If you'd rather not upload the code to VISBAS-L, then please > e-mail me directly at... > > GTEM4479@GGR.CO.UK > > I'm not bothered about speed really as the number of strings to be > sorted in fairly small (certainly less than 100, more often than not > about 20). > > Thanks in advance. > > Martin Hi Martin, If the array is really short, use the Bubble Sort. It is simple and it works well and it is easy to understand how it sorts. If times are getting long, use a very clever mutation of it called Shell-Metzner sort. It is not easy to understand how it works but it is very fast especially on long lists and has no memory (stack) overheads as Quick sort does. It can be easily altered for any needs, even file sorts. ' Shell sort LastRec& = ubound (Ary$) ' numb of elements in array Offset& = LastRec& \ 2 ' sort mid-pt DO WHILE Offset& ' Loop until offset gets to zero. Limit& = LastRec& - Offset& DO LastSwap& = 0 ' Assume no swaps at this offset. FOR R& = 1 TO Limit& ' Compare elements and swap ones out of order: IF Ary$(I%) > Ary$(I%+Offset&) THEN ' if first bigger Tmp$ = Ary$(I%) ' swap them Ary$(I%) = Ary$(I%+Offset&) ' ( no SWAP cmd in Ary$(I%+Offset&) = Tmp$ ' VB3 ) END IF NEXT I% ' Sort on next pass only to where last LastSwap& was made: Limit& = LastSwap& - Offset& LOOP WHILE LastSwap& Offset& = Offset& \ 2 ' No Switches at last offset, try one half as big: LOOP Hope it helps Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Thu, 4 Aug 1994 16:57:59 -0400 From: "Camilo Moncho A. ASICO" Subject: Two questions... XE "Two questions..."  Hello Friends: I have two questions: 1. I have a table with four fields, this table is indexed by FIELD 1. Now, when I append a new record on this table the FIELD 1 contents it's mirrored on FIELD 3. So when I change the contents of the FIELD 3 this change take efects on the FIELD 1. What it's happening with this table ? I'm using MS ACCESS 1.0 and VB3Pro. 2. I've been looking the way to do a control copy in an array of controls but don't work to me. Example: ---- Example Code ---- DemoVar=AnyRndVal (where AnyRndVal it's an user entry value) Dim Pictures(DemoVar) as Control For I = 0 to 9 Set Pictures(I) = picture1 <--(It's already defined) Pictures(I).picture = LoadPicture("C:\" & "PICTURE" & Str(I) & ".BMP") Pictures(I).visible = False LastImg = I Photo.additem I Next Now, On Photo_Click() event I put this code: Sub Photo_click() Pictures(LastImg).visible = False LastImg = Cint(Photo.text) Pictures(LastImg).visible = Not Pictures(LastImg).visible End ---- End of Example Code ---- The problem is that I don't see all pictures. TIA Luis Martinez Email:cmoncho@conicit.ve ========================================================================= Date: Thu, 4 Aug 1994 14:48:51 -0700 From: Jorge Escobar Subject: anybody out there? XE "anybody out there?"  Hello, Sorry for using this channel to check the status of our connection. At our company, there was a change of Internet servers and, since then, we have not gotten a single message from the list (even though we subscribed again from the new server). Could you please send a test message if you are reading this? Much appreciated, -Jorge Escobar ========================================================================= Date: Thu, 4 Aug 1994 11:06:58 PDT From: Jason Williams Is anyone out there familiar with sending printer escapes codes from within VB? I am in the middle of an app that requires it to print in true OCR-A, and the closest I have is a cheesy font that doesn't work right. Our LaserJet IV/si has a font catridge that contains a true OCR-A font, but I don't know how to change it in to the OCR mode, and back again. Here's the escape code : (0O(s0p10.00h12.0v0s0b104T Any clues??? ========================================================================= Date: Thu, 4 Aug 1994 17:06:38 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Positioning MDI child forms XE "Positioning MDI child forms"  > A coworker of mine has setup a MDI form with a single child form. He wants to > have the child form remain anchored in the upper left corner of the main form, > so to do this he sets the Top,Left,Height,Width properties in the form load of > the child form (which works fine). But to prevent the user from moving this form > he also puts the same code in the child form's Paint event. This event seems to > get triggered only when the child form is moved up or to the left, but not down > and to the right (moving in this direction allows the form to be permanently > moved, but as soon as you move it left or up it will immediately be placed back > in the upper left corner). Is this a "feature" of MDI forms, or is there a > better way to control the position of child forms? > TIA, The paint event is not what you want - in fact as far as I know from pure VB there is now way to prevent this. The paint event is firing above in the two cases because he is moving the MDI form off the edge, so it must be re-painted. When he moves it right of down, it doesn't need to repaint, it just moves. The only way I have found to do what you are asking for is with Ed Staffin's Message Blaster (MSGBLAST) available in the common places via FTP. ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Thu, 4 Aug 1994 17:06:57 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Scheduler XE "Scheduler"  > I am making a little scheduler program that will simply launch programs at > certain times. This is already a Shareware program called wCron that does this fairly well. You might try it out before spending you time. If you do spend you time, yes I would set a timer to go off every minute or so and check the time.. ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Thu, 4 Aug 1994 13:13:42 PDT From: "Paul Gray (Rho)" Subject: Animating Graphic Methods XE "Animating Graphic Methods"  Amiga? Isn't that a little box you hook up to a TV set. Like Nintendo. I hear pong just came out for those. Use Bit Blit for your animation. Check out the programming guide in VB3 pro. I don't have the books here at work or I'ld tell you the page number. The best references I have found is to just go to the book store and browse the VB programmers section. :)) Paul ------------------------------------------------------------------------- Paul.Gray@tpr.vnet.net Transporter Room BBS Charlotte, NC i-paulg@Microsoft.com Microsoft Corporation ------------------------------------------------------------------------ ---------- From: Mr Craig Poxon To: Multiple recipients of list VISBAS-L Subject: Animating Graphic Methods Date: Thurs XE "Animating Graphic Methods" day, August 04, 1994 10:39AM > > Hi! Anybody know how to animate graphic methods (line draw, circle) > without all the flickering and poor performance? I'm trying to draw > an item on the screen and then rotate it, and it looks and performs > terribly. Maybe I need to spend some money on a package, but it would > have to work seemlessly with VB. Any ideas? > -------------------------------------------------------- > "Aboriri, Reconari, Deficere" > -------------------------------------------------------- > Terry Speare > TSPEARE@Central.Georcoll.ON.CA > Georgian College, Ontario Canada > ******************************************************** > *The opinions expressed in this posting are fictitious.* > *Any semblance to real opinions is purely coincidental.* > ******************************************************** > Try doing it on a different type of computer.....ha ha ha. PC's can't animate for toffee. Am I being a cynic or is it just the Amiga owner half of me speaking? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Thu, 4 Aug 1994 10:14:38 -0700 From: JON STEFANSSON Subject: PKZIP and DOS Windows XE "PKZIP and DOS Windows"  >My question is twofold but kind of related. >1. Is there a .vbx or .dll or something that allows access to pkzipped >files and the ability to unzip them from a VB command without having to do >a DOS shell command? As widely used as pkzip is, you would think that >maybe PKware or even someone else has done this ... I have seen advertisements for a VBX called DynaZIP, which claims to give read/write access to standard ZIP files. The price is $249, which deterred me from looking into it further. The company offering DynaZIP is Inner Media, Inc. (800) 962-2949. >2. Since I am currently using a call to Shell() command from VB, is there >a better way to make this more attractive? I.E. either making a small >window for the Dos command to execute in or maybe a hidden window (I could >make a more attractive Please Wait ... window) so the user doesn't have to >see this big black screen for about a half second for the files to be >unzipped. Of course this would be handy in other Dos shell calls as well. Declare the following API functions in the general declarations section of a module: Declare Function WinExec Lib "Kernel" (ByVal lpCmdLine As String,_ ByVal nCmdShow As Integer) As Integer Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule%) As Integer I created the following code for my own ZIP shell application: 'command.com /c opens a new instance of command.com, allowing you to redirect 'the output to a file A$ = "command.com /c" & " " & ZIPCommand$ & " " & ">>c:\temp\output.txt" X = WinExec(A$, 0) '0 hides the DOS window Do While GetModuleUsage(X) > 0 'loop until DOS command concludes Y = DoEvents() Loop Be sure that you set Display Usage in DOSPRMPT.PIF or DEFAULT.PIF to Windowed. Otherwise, the DOS window will flash on the screen before it gets hidden. Jon Stefansson CMD Technology stefansson@cmd.com ========================================================================= Date: Thu, 4 Aug 1994 09:57:03 -0700 From: Richard Rosenheim Subject: Pkzip and Dos Window XE "Pkzip and Dos Window"  -=> Quoting Serstad@gps.com to Multiple Recipients Of Li <=- Se> 1. Is there a .vbx or .dll or something that allows access to Se> pkzipped files and the ability to unzip them from a VB command without Se> having to do a DOS shell command? As widely used as pkzip is, you Se> would think that maybe PKware or even someone else has done this ... EllTech Development (800-553-1327) and Inner Media (603-465-3216) offer such products. There might be yet another company but I can't recall their name. Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Thu, 4 Aug 1994 09:57:02 -0700 From: Richard Rosenheim Subject: Disabling list box i XE "Disabling list box i"  -=> Quoting Msjt@adpu1.bham.ac.uk to Multiple Recipients Of Li <=- Ms> Is there any way to "grey out" a list box item, so that the user can Ms> see the item, but is not able to select it? Using the standard listbox and VB, the answer is no. I believe that there are some third-party listboxes that support color on a per item basis. Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Thu, 4 Aug 1994 11:23:32 EDT From: John Lam Subject: Animating Graphic Methods XE "Animating Graphic Methods"  On August 3, Terry Speare wrote: Hi! Anybody know how to animate graphic methods (line draw, circle) without all the flickering and poor performance? I'm trying to draw an item on the screen and then rotate it, and it looks and performs terribly. Maybe I need to spend some money on a package, but it would have to work seemlessly with VB. Any ideas? ===================================================================== A while ago, I posted some messages to the list regarding the unusually poor performance of a 386/387 machine vs. a 486 machine with regards to drawing lines to the screen. I received a number of helpful comments about this, and I eventually tracked down the problem, but then got too busy to post a summary. Well, here it is: Essentially the problem with the graphical methods (line, circle, etc) in VB is that they perform almost all calculations (e.g. the arguments for the graphical methods) in floating point. The Windows API functions which are called by those same graphical methods take their arguments as 16 bit signed integers. Along the way, you pay a SEVERE performance penalty as a result of VB making it easy for you to do your calculations in co-ordinates that effectively don't have limitations (floating point), particularly if you are using a 387 math co-processor as opposed to the floating point processor built into all 486DX-class processors. The key to getting acceptable performance in graphical methods is to use the Windows API calls directly. Daniel Appleman's book describes most of what you need to know about calling the GDI functions for drawing lines, circles, etc. If you call the GDI functions directly, you must, of course, use 16 bit signed integers to map all of your coordinates. This shouldn't be a problem. Even though it is a bit more work to do all of this, the performance gains are considerable. On a 386/387 system (I didn't test using a 386 alone, the results must be miserable), your line-drawing code increases in speed by a factor of 20! On a 486DX system, the gains are more modest, in and around a factor of 2-3: but this is still significant if you are, as I was, drawing a large number of lines to the screen. I performed a few more tests to try an isolate where the rate-limiting step of the whole drawing procedure was. Writing the same line drawing routine in a C DLL failed to produce any performance gains whatsoever. In other words, the VB loop overhead is not significant. This is quite impressive, I thought. Your choice (or your user's choice) of graphics card is. The Windows GDI functions "hand off" the line drawing routines to the graphics processor on your video card. The faster your video card, the faster your line draws become. I suspect with a fast enough video card (I only own an ATI Mach-8, and a first-generation S3 accelerator), the VB loop overhead will become significant, and it would then make sense to move the line-drawing loop into a C DLL. Anyways, I hope this helps Terry in solving his animation problems, and provides the rest of you with a bit of insight into graphical drawing with VB. John Lam jlam@alchemy.chem.utoronto.ca ========================================================================= Date: Thu, 4 Aug 1994 00:40:29 PDT From: Jason Williams Does anyone know where (FTP, directory, name, etc) I can find aaplay.vbx? LCpl Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Thu, 4 Aug 1994 10:26:00 EDT From: "Meltzer, Marc" Subject: Printing to a specific printer??? XE "Printing to a specific printer???"  I have an application that will print some text to a specified printer. I've set up a common dialog so that the user can choose the specific printer. My question is, how can I get the name of the printer, so that I can actually send the text to print? I've looked in the online help about the PRINTER.hDC property, but it doesn't explain how to use it. Where else could I look? Marc Meltzer Computer Services Unit St. Elizabeths Hospital Washington, D.C. 20032 ========================================================================= Date: Thu, 4 Aug 1994 10:23:06 EDT From: Ankur Mittal Subject: Creating a DOS and a Windows Client for a app using VB XE "Creating a DOS and a Windows Client for a app using VB"  Hello everyone: I have been a faithful follower of this list and really appreci- ate the suggestions people has to share. I have saved several man hours by some invaluable suggestions. We are in the process of migrating a IBM Mainframe application under DB2 to a Client/Server application VB (Windows Client) and ORACLE (Sun Sparc Server). There are approximately 600 users of this Mainframe application. The users are on 286 machines in a DOS Session. These users are not computer literate. Anticipating that upgrading all the users to atleast a 386 would not be pos- sible, what are my options? We are already half way through our Windows application development. The ideal would be, if I could use the code already developed and reuse it to develop a DOS Client (probably using VB(DOS)???). We would like to keep the database server as is. We would like a DOS and a Windows client for the same application. Now the question is: 1. Should we be using VB DOS? If yes, does it support ODBC, SQL*Net,TCP/IP stack to talk to ORACLE on the Sparc. 2. Should we be using FOXPro (suggested by one of the progra- mmer with some prior experience) as our application development environment? 3. What would be our Connectivity Stack like? 4. What are other good, easy-to-use DOS-Client Application devel- opment tools? Any more information on this would be highly appreciated. Please e-mail your Suggestions and recommendations to me or to the list. Thanks ankur@pt8135.pto.ford.com Ankur Mittal Project Analyst Powertrain Operations Ford Motor Company Dearborn, MI Ph: 313.458.0930 (Work) 313.523.4300 (Fax) ========================================================================= Date: Thu, 4 Aug 1994 06:18:55 -0400 From: TSPEARE Organization: Georgian College of A.A. & T. Subject: Pkzip and Dos Windows XE "Pkzip and Dos Windows"  Eltech software (I don't have the address but it's in the little catalogue that comes with VB professional) sells PKZIP compatible VBXs. Never used one, but it's on my Christmas shopping list of VBXs. -------------------------------------------------------- "Aboriri, Reconari, Deficere" -------------------------------------------------------- Terry Speare TSPEARE@Central.Georcoll.ON.CA Georgian College, Ontario Canada ******************************************************** *The opinions expressed in this posting are fictitious.* *Any semblance to real opinions is purely coincidental.* ******************************************************** ========================================================================= Date: Thu, 4 Aug 1994 13:54:55 +0100 From: Gary Nugent Subject: Re...No subject given XE "Re...No subject given"  >I'm using the Spread20.vbx control and the following code to place form ulae >in column 3 of the spreadsheet which get the sum of the cells in the >assocaited row >(e.g. "D2:X2", "D3:X3", etc) > > Spread1.Col = 3 > char1 = Chr$(64 + NO_COLS - 1) > For I = 2 To NoRows > Spread1.Row = I > char2 = Str(I) > Spread1.Formula = "D" & char2 & ":" & char1 & char2 > Next I > >The code works fine but it is slooooow!! The spreadsheet I'm using has 22 >rows of 26 columns (columns 4-26 contain the numeric info). Typically, it >takes 10-12 >seconds for these formulae to be initialised and calculated on my 33Mhz >(486) Compaq! What gives? Does anyone know of a faster way to >create/initialise formulae quickly? > >TIA >Gary Nugent >gnugent@cara.ie > > >Try setting Redraw to false or, (since that doesn't seem to work on my version) >setting Visible = False? This speeds up entry of large amounts of data into a >spreadsheet. > > The Spreadsheet IS invisible while the formulae are being initialised! I'm beginning to think it may be better to hard code totalling code in the s/w rather than using the spreadsheet formula property! ========================================================================= Date: Thu, 4 Aug 1994 15:52:05 PDT From: David Mendoza Subject: anybody out there? XE "anybody out there?"  It's working! ______________________________ Reply Separator _________________________________ Subject: anybody out there? Author: Discu XE "dy out there?" ssion for Microsoft Visual Basic and Related Issues at Internet-Link Date: 8/4/94 3:46 PM Hello, Sorry for using this channel to check the status of our connection. At our company, there was a change of Internet servers and, since then, we have not gotten a single message from the list (even though we subscribed again from the new server). Could you please send a test message if you are reading this? Much appreciated, -Jorge Escobar ========================================================================= Date: Thu, 4 Aug 1994 16:23:18 PDT From: "Ron Wu, SC2-24, 5-2368." Subject: Scheduler XE "Scheduler"  >From: "Mark D. Richards" >> I am making a little scheduler program that will simply launch programs at >> certain times. >This is already a Shareware program called wCron that does this fairly >well. You might try it out before spending you time. If you do spend >you time, yes I would set a timer to go off every minute or so and check >the time.. great ! may I ask where I can get a copy of this program ? thanks. Ron rwu@mattec.intel.com ========================================================================= Date: Thu, 4 Aug 1994 17:30:24 PDT From: Bill Vaughn Subject: Printing to a specific printer??? XE "Printing to a specific printer???"  All printing in Windows goes to the default printer. Your user or your app can change the default printer (even for just the current print job), but you can only print to this printer. bv ---------- From: "Meltzer, Marc" To: Multiple recipients of list VISBAS-L Subject: Printing to a specific printer??? Date: Thursda XE "ing to a specific printer???" y, August 04, 1994 10:26AM I have an application that will print some text to a specified printer. I've set up a common dialog so that the user can choose the specific printer. My question is, how can I get the name of the printer, so that I can actually send the text to print? I've looked in the online help about the PRINTER.hDC property, but it doesn't explain how to use it. Where else could I look? Marc Meltzer Computer Services Unit St. Elizabeths Hospital Washington, D.C. 20032 ========================================================================= Date: Fri, 5 Aug 1994 12:22:25 GMT+800 Organization: Edith Cowan University Subject: Printing to a specific printer??? XE "Printing to a specific printer???"  > All printing in Windows goes to the default printer. Your user or your > app can change the default printer (even for just the current print > job), but you can only print to this printer. > bv Does this include opening a channel directly to the printer using a statement such as open #10, "lpt1" ? ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Fri, 5 Aug 1994 09:19:21 +0200 From: Antony Meadley Subject: De-compiling a VB .EXE XE "De-compiling a VB .EXE"  Does anyone know if it is possible to "de-compile" an EXE created from VB? I spent some time creating a VB app and then my hard disk crashed. It would be good if I didn't have to re-write everything. TIA, Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Fri, 5 Aug 1994 08:49:08 +0000 Organization: The University of Huddersfield HEC Subject: anybody out there? XE "anybody out there?"  > It's working! Yet another person who forgot the simple fact that, if he cannot read the list, he won't get this message. Nicky p.n.murphy@hud.ac.uk ========================================================================= Date: Fri, 5 Aug 1994 09:03:19 +0100 From: "j.dickson" Subject: Unsubscribe help XE "Unsubscribe help"  Hi, Could someone please send me the process for unsubscribing to this list? It's not that I'm bored I'm going on Hols. I'm afraid my server has rather unexpectedly killed the folder containing my saved mail (and a couple of other folders too :-( ). Thanks for your help, John ========================================================================= Date: Fri, 5 Aug 1994 10:46:00 CET From: Titov Pavel Subject: Printer Escapes XE "Printer Escapes"  Using PASSTHROUGH Escape to Send Data Directly to Printer Article ID: Q96795 --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 2.0 and 3.0 - Microsoft Visual Basic programming system for Windows, version 1.0 --------------------------------------------------------------------- SUMMARY ======= By using the Windows API Escape() function, your application can pass data directly to the printer. If the printer driver supports the PASSTHROUGH printer escape, you can use the Escape() function and the PASSTHROUGH printer escape to send native printer language codes to the printer driver. Printer escapes such as PASSTHROUGH allow applications to access certain facilities of output devices that are not directly available through the graphics device interface (GDI). The PASSTHROUGH printer escape allows the application to send data directly to the printer, bypassing the standard print-driver code. MORE INFORMATION ================ A printer driver that supports the PASSTHROUGH printer escape does not add native printer language codes to the data stream sent to the printer, so you can send data directly to the printer. However, Microsoft recommends that applications not perform functions that consume printer memory, such as downloading a font or a macro. The sample program listed below sends native PCL codes to the printer to change the page orientation and the paper bin. A Hewlett-Packard LaserJet is the assumed default printer. An Important Note ----------------- Note that the Windows API Escape() function is provided in Windows versions 3.0 and 3.1 for backward compatibility with earlier versions of Microsoft Windows. Applications are supposed to use the GDI DeviceCapabilities() and ExtDeviceMode() functions instead of the Escape() function, but neither DeviceCapabilities() nor ExtDeviceMode() can be called directly from Visual Basic. This is because they are exported by the printer driver, not by the Windows GDI. The only way to use ExtDeviceMode() or DeviceCapabilities() in Visual Basic is to create a DLL and call them from there. Steps to Create Example ----------------------- 1. Start Visual Basic or from the File menu, choose New Project (ALT, F, N) if Visual Basic is already running. Form1 is created by default. 2. Add the following code to the general declarations section of Form1: ' Enter the entire Declare statement on one, single line. Declare Function Escape Lib "Gdi" (ByVal Hdc%, ByVal nEscape%, ByVal ncount%, ByVal indata$, ByVal oudata as Any) As Integer Const PASSTHROUGH = 19 Const RevLandScape = "&l3O" ' PCL command to change Paper ' orientation to Reverse Landscape. Const Portrait = "&l0O" ' PCL command to change paper ' orientation to Portrait. Const ManualFeed = "&l3H" ' PCL command to change Paper Bin ' to Manual Feed Envelope. Const AutoFeed = "&l1H" ' PCL command to change Paper Bin ' to Paper Tray AutoFeed 3. Add a list box (List1) to Form1. 4. Add the following code to Form1's Form_Load event procedu Sub Form_Load () List1.AddItem "HP/PCL Reverse Landscape" List1.AddItem "HP/PCL Portrait" List1.AddItem "HP/PCL Manual Feed Envelope" List1.AddItem "HP/PCL Paper Tray Auto Feed" End Sub 5. Add the following code to the List1_Click event procedu Sub List1_Click Select Case List1.ListIndex Case 0: PCL_Escape$ = Chr$(27) + RevLandScape Case 1: PCL_Escape$ = Chr$(27) + Portrait Case 2: PCL_Escape$ = Chr$(27) + ManualFeed Case 3: PCL_Escape$ = Chr$(27) + AutoFeed End Select ' Enter the following two lines as one, single line: PCL_Escape$ = Chr$(Len(PCL_Escape$) MOD 256) + Chr$(Len(PCL_Escape$) \ 256) + PCL_Escape$ Printer.Print "" Result% = Escape%(Printer.hDC, PASSTHROUGH, 0, PCL_Escape$, 0&) Select Case Result% ' Enter each Case statement on one, single line. Case Is < 0: MsgBox "The PASSTHROUGH Escape is not supported by this printer driver.", 48 Case 0: MsgBox "An error occurred sending the escape sequence.", 48 Case Is > 0: MsgBox "Escape Successfully sent. Sending test printout to printer." Printer.Print "Test case of "; List1.Text End Select End Sub 6. From the Run menu, choose Start (ALT, R, S) to run the program. List1 is filled with four escape sequences to send to the printer. 7. Select any of the options in the list box. A message box appears to indicate the success of the operation. If the printer driver does not support the PASSTHROUGH printer escape, you must use the DeviceCapabilities() and ExtDevMode() functions instead. Additional reference words: 1.00 2.00 3.00 KBCategory: KBSubcategory: APrgPrint Copyright 1993 Microsoft Corporation. All rights reserved. ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Date: Thursday, August 04, 1994 11:06AM Is anyone out there familiar with sending printer escapes codes from within VB? I am in the middle of an app that requires it to print in true OCR-A, and the closest I have is a cheesy font that doesn't work right. Our LaserJet IV/si has a font catridge that contains a true OCR-A font, but I don't know how to change it in to the OCR mode, and back again. Here's the escape code : (0O(s0p10.00h12.0v0s0b104T Any clues??? ========================================================================= Date: Fri, 5 Aug 1994 12:36:26 +0300 From: Patrik Rantanen Subject: Unsubscribe help XE "Unsubscribe help"  Yup John, >You may leave the list at any time by sending a "SIGNOFF VISBAS-L" command to >LISTSERV@TAMVM1.TAMU.EDU. You can also tell LISTSERV how you want it to confirm >the receipt of messages you send to the list. If you do not trust the system, >send a "SET VISBAS-L REPRO" command and LISTSERV will send you a copy of your >own messages, so that you can see that the message was distributed and did not >get damaged on the way. After a while you may find that this is getting >annoying, especially if your mail program does not tell you that the message is >from you when it informs you that new mail has arrived from VISBAS-L. If you >send a "SET VISBAS-L ACK NOREPRO" command, LISTSERV will mail you a short >acknowledgement instead, which will look different in your mailbox directory. >With most mail programs you will know immediately that this is an >acknowledgement you can read later. Finally, you can turn off acknowledgements >completely with "SET VISBAS-L NOACK NOREPRO". Patrik Rantanen prantane@ra.abo.fi Systems Planner Ebo Akademi Institute for Advanced Management Systems Research Tel. +358-21-2654750 ========================================================================= Date: Fri, 5 Aug 1994 10:49:02 BST From: Mr Craig Poxon Subject: Animating Graphic Methods In-> Amiga XE "Animating Graphic Methods" ? > Isn't that a little box you hook up to a TV set. Like Nintendo. I hear > pong just came out for those. Pong. _PONG_! I'll give you flipping pong! Would you like to step outside with me and say that again? > > Use Bit Blit for your animation. Check out the programming guide in VB3 > pro. I don't have the books here at work or I'ld tell you the page > number. The best references I have found is to just go to the book > store and browse the VB programmers section. > > > :)) Paul > > ------------------------------------------------------------------------- > Paul.Gray@tpr.vnet.net Transporter Room BBS > Charlotte, NC > i-paulg@Microsoft.com Microsoft Corporation > ------------------------------------------------------------------------ You guys want to have a look at a _DECENT_ computer one day! TTFn Craig ;) ========================================================================= Date: Fri, 5 Aug 1994 09:31:36 GMT From: henry story Subject: anybody out there? XE "anybody out there?"  yes i am using this list ========================================================================= Date: Fri, 5 Aug 1994 11:12:56 +0100 From: "j.dickson" Subject: Unsubscribe help XE "Unsubscribe help"  Thanks I got it (and saved it again 8-)) See ya later, John ========================================================================= Date: Fri, 5 Aug 1994 18:57:00 PDT From: "Wallace, Glynn W." Subject: Sorting Algorithm XE "Sorting Algorithm"  I posted this a few days ago, but due to "recto-cranial inversion" I mistakenly sent it to "owner-visbas...." instead (Sorry Rick!). A friend said he never saw the post, so here goes: Martin wrote: What I want to so is sort an array of strings alphabetically. I realise the easiest way to do this would be to pipe the data in to a list box whos 'sorted' property was set to true. However, I can't use this method. It has to be a coded solution. Does anybody out there have experience of this? Martin, Since you're trying to sort a small array, a technique called "bubble sorting" is something you could use. Here is some sample code to get you started. If you can't get it to work, mail me direct and I'll try to help. It's actually kind of a modified bubble sort. The second set of For.....Next evaluates what has happened in the previous For....Next, and moves the strings again if they need it. Also, if the strings are really big, or this isn't fast enough for what you want, I can send you an example of a "quick sort" routine, that I almost guarantee will be fast enough. It's a little harder to explain, that's why I'm sending this one. ****More recent remarks***** I saw the post from Giora, and that may be what you need. I can't say because I've never tried the code (captured for future reference, of course :-)). It's true, you can run into a stack limit problem with Quick sorts, but I've just recently made some timing tests: I used a 2 dimensional, 3 element array, importing 1300 records from a fixed-ascii mainframe. The first element (used for sorting) was 9 characters. The other two were over 50 characters long. During the sort, I had to move all 3 elements accordingly. The results we Standard Bubble Sort - over 10 minutes, I shut it down...don't know how long it would have taken. Modified Bubble Sort - similar to code below, 4.5 minutes Quck Sort - around 3 seconds. No stack limit problems. You be the judge. Since I haven't tried Giora's code, I can't say how long it would take but it looks like it might time-out to be a good compromise between Bubble and Quick, with no stack problems. HTH Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ------------Code Sep---------------------- For I = 1 To UBound(YourArray) - 1 If YourArray(I) > YourArray(I + 1) Then 'string value is greater; it should be moved down Str1$ =YourArray( I) 'store info from greater string YourArray( I) = YourArray( I + 1) 'move info from lesser string to proper location YourArray( I + 1) = Str1$ 'replace info from greater string to proper location End If For J = 1 To UBound(YourArray) - 1 IfYourArray(J) > YourArray(J + 1) Then 'comments same as above Str1$ = YourArray(J) YourArray(J) = YourArray(J + 1) YourArray(J + 1) = Str1$ End If Next Next ========================================================================= Date: Fri, 5 Aug 1994 13:22:57 +0300 From: Patrik Rantanen Subject: Grid.vbx problemas? XE "Grid.vbx problemas?"  What's happening to my grid.vbx? It works fine in design mode but after I compile it to an exe-file and running it my app. starts giving me Error #30007 ( undocumented trappable error for grid). Strange? My application works with two grids in a control array and that's not so supposed to be heavy on resources either! Anyway this compiler-grid error pisses me off, so please would somebody out there be so kind as to give me a clue about what's going on. Patrik Rantanen prantane@ra.abo.fi Systems Planner Ebo Akademi Institute for Advanced Management Systems Research Tel. +358-21-2654750 ========================================================================= Date: Fri, 5 Aug 1994 12:10:00 PDT From: Dunn Andy Subject: De-compiling a VB .EXE XE "De-compiling a VB .EXE"  >Does anyone know if it is possible to "de-compile" an EXE >created from VB? Well you could use a dissasembler :-) The serious answer is NO. I think VB converts the source code into an intermediate stage which is faster to interpret and this is what is stored in the .EXE. So even though VB is an interpreted language, the original source code isn't stored inside the .EXE. There isn't a way of getting it back. >I spent some time creating a VB app and then my hard disk >crashed. It would be good if I didn't have to re-write >everything. I know I shouldn't say this 'cos you are probably feeling gutted about losing your code but I can't resist it. That'll teach you to keep a backup !!!! Andy ADUNN@farnboro01.datasci.co.uk ========================================================================= Date: Fri, 5 Aug 1994 13:38:03 GMT From: Pablo Perez Trabado Subject: Unsubscribe help XE "Unsubscribe help"  Sorry for posting this in the list, but when posting direct to John the mailer keeps kicking me with "Remote protocol error" messages. ----------------------------------------------------------------------------- >Hi, > Could someone please send me the process for unsubscribing to this list? >It's not that I'm bored I'm going on Hols. I'm afraid my server has rather >unexpectedly killed the folder containing my saved mail (and a couple of >other folders too :-( ). Thanks for your help, > John Hello. John. I'm posting this directly to you because perhaps you already unsubscribed the list. If what you want is avoiding the list flooding your mailbox while on holidays, but you don't want to leave the list, you can send to listserv@tamvm1.tamu.edu the command: SET VISBAS-L NOMAIL That way, when you return from your well deserved holidays :) , you can start receiving mail again by sending the command SET VISBAS-L MAIL Hope this helps. Regards ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Fri, 5 Aug 1994 13:08:00 BST From: Mr M Peck Subject: Sorted! XE "Sorted!"  To all those who have sent me sorting algorithms.... Thanks for the help. What would I have done without you? I'm currently playing with your algorithms, so if I have any questions in the next couple of days I'll e-mail you directly. Thanks again. -o- As for the Amiga comments, aren't they made by that company that recently went in to receivership? Cheers! Martin Peck ========================================================================= Date: Fri, 5 Aug 1994 16:35:48 EDT From: Matt Griffith Subject: Windows NT... XE "Windows NT..."  Has anyone developed VB applications and watched them operate on Windows NT? If so, read on...I have some questions for you! I have developed a POS/Inventory Control system. But my problem is that it brings Windows 3.1/3.11's System Resources to its knees. I could go back and use LOAD/UNLOAD statements throughout it, but that would take too much time for the deadline that I have set for myself. (I will probably go back and do that at a later time.) Will I be totally free of System Resources with Windows NT? I have several forms with 100+ (sometimes 200+) controls on them. Is VB 4.0 supposed to eliminate a lot of these thresholds? Thanks, Matthew Griffith Stockhausen, Inc. (910) 333-7590 ========================================================================= Date: Fri, 5 Aug 1994 13:13:55 CDT From: ??? Subject: Formatting a Disk XE "Formatting a Disk"  Hi all Can anybody tell me how to format a floby disk, copy one, and display the map for file usages on the Disk. I think this can't be done using the VB alone so i need how to access this options throw any DLLs or any VBXs and where to find them. ========================================================================= Date: Fri, 5 Aug 1994 14:44:00 EST From: "LIN, Ling" Subject: How to subscribe INFORMIX user list XE "How to subscribe INFORMIX user list"  Hello, Everyone I apologize I contaminate this list a little bit. I'd like to subscribe the INFORMIX user list, is there anyone know how to ? Thanks a lot ! Have a GOOD weekend, wherever you are ! Ling Lin llin@lewineast.vhi.com ========================================================================= Date: Fri, 5 Aug 1994 17:02:53 -0500 Subject: SUBSCRIBE XE "SUBSCRIBE"  Nigel J F Watson [nigel@runnymede.win-uk.net] ========================================================================= Date: Fri, 5 Aug 1994 11:08:44 -0700 From: Scott Seligman Subject: On Top XE "On Top"  In visual basic, how do I keep a window on top of other windows. I've written a specialise clock that I want to keep in the corner, above any other window. I tried to create I timer that used ZOrder to put the window on type, but that also resulted in the control being taken by the window. Any help would be greatly appreciated. seligman@netcom.com ========================================================================= Date: Fri, 5 Aug 1994 11:13:00 CDT From: Ed Staffin Subject: Vacation XE "Vacation"  Is there a way to temporarily sign off this list so I can go on vacation and not get swamped when I get back? Later ... Ed ========================================================================= Date: Fri, 5 Aug 1994 17:04:15 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Animating Graphic Methods XE "Animating Graphic Methods"  > You guys want to have a look at a _DECENT_ computer one day! Actually, I am looking at a fantastic one right now! My 66MHz Pentium plays PONG much better than your Amiga will ever dream of.... :) Mark ========================================================================= Date: Fri, 5 Aug 1994 11:19:00 EST From: "Aumann, Timothy B." Subject: Problem with wNetAddConnection XE "Problem with wNetAddConnection"  Use wNetGetConnection to get the printer information - it gets drives, and also LPT1-3. ------------------------------ Tim Aumann Georgia-Pacific Corp. Atlanta, GA GA030/IRMPO/TBAUMANN%GP_LAN@mcimail.com * My opinions, not G-P's, my spouse's, or even (sometimes) my own! ---------- *From: Discussion for Microsoft Visual Basic and Re *To: TBAUMANN; Multiple recipients of list VISBAS-L *Subject: Problem with wNetAddConnection *Date: Tuesda XE "lem with wNetAddConnection" y, August 02, 1994 0:17 * *I have a small application that uses wNetAddConnection and *wNetCancelConnection successfully. But it doesn't seem to notify anything, *specifically File Manager that the drive has been connected/disconnected. * Is there some way to notify File Manager of the change without reloading *it? (dynamically update it) * *Also, while I am at it, how can I obtain a list of currently connected *network printers? Finding available drive letters is easy, but I don't know *how to do the LPTx ports. * *TIA, * *Craig Warford *warford@uthscsa.edu * ========================================================================= Date: Fri, 5 Aug 1994 12:11:59 -0400 From: Stephen Lenz Subject: PKZIP and DOS Windows In- XE "PKZIP and DOS Windows"  wrong, but I can't figure it out. Any ideas? Steve Lenz slenz@risd.edu On Thu, 4 Aug 1994, JON STEFANSSON wrote: > >My question is twofold but kind of related. > > >1. Is there a .vbx or .dll or something that allows access to pkzipped > >files and the ability to unzip them from a VB command without having to do > >a DOS shell command? As widely used as pkzip is, you would think that > >maybe PKware or even someone else has done this ... > > I have seen advertisements for a VBX called DynaZIP, which claims to give > read/write access to standard ZIP files. The price is $249, which deterred me > from looking into it further. The company offering DynaZIP is Inner Media, Inc. > (800) 962-2949. > > >2. Since I am currently using a call to Shell() command from VB, is there > >a better way to make this more attractive? I.E. either making a small > >window for the Dos command to execute in or maybe a hidden window (I could > >make a more attractive Please Wait ... window) so the user doesn't have to > >see this big black screen for about a half second for the files to be > >unzipped. Of course this would be handy in other Dos shell calls as well. > > Declare the following API functions in the general declarations section of a > module: > > Declare Function WinExec Lib "Kernel" (ByVal lpCmdLine As String,_ > ByVal nCmdShow As Integer) As Integer > Declare Function GetModuleUsage Lib "Kernel" (ByVal hModule%) As Integer > > I created the following code for my own ZIP shell application: > > 'command.com /c opens a new instance of command.com, allowing you to redirect > 'the output to a file > A$ = "command.com /c" & " " & ZIPCommand$ & " " & ">>c:\temp\output.txt" > X = WinExec(A$, 0) '0 hides the DOS window > Do While GetModuleUsage(X) > 0 'loop until DOS command concludes > Y = DoEvents() > Loop > > > Be sure that you set Display Usage in DOSPRMPT.PIF or DEFAULT.PIF to Windowed. > Otherwise, the DOS window will flash on the screen before it gets hidden. > > Jon Stefansson > CMD Technology > stefansson@cmd.com ========================================================================= Date: Fri, 5 Aug 1994 11:55:33 EDT From: Matt Griffith Subject: New Visual Basic FTP Site... XE "New Visual Basic FTP Site..."  Towards the end of the August, or the first of September, there will be a new VB FTP Site on the Internet. I have included the information below... -------------------------------------------------------------------------- LOGIX.GRAPHIX.COM /GRAPHIX/programr/vbwin Visual Basic Directory /GRAPHIX/programr/vcpp Visual C++ /GRAPHIX/programr/bcpp Borland C++ /GRAPHIX/programr/vbwin/VBX Custom Controls /GRAPHIX/programr/vbwin/DLL DLL's /GRAPHIX/programr/vbwin/SOURCE Source code/examples /GRAPHIX/programr/vbwin/text Text documents, help files, online magazines, knowledge base, digests, etc. /GRAPHIX/programr/vbwin/ads Advertisements, Want Ad's, Classified, product ad's, etc. /GRAPHIX/programr/vbwin/demos Demo's of VB products, add-ons, etc. /GRAPHIX/programr/vbwin/misc The stuff that can't be categorized /GRAPHIX/programr/vbwin/uploads Where you upload your files Please include a text document of some sort explaining your upload, type (freeware, shareware, demoware, etc.), description, etc. This site will soon support MOSAIC and this will become a text file available for viewing. Please use PKZIP 2.04g to compress your uploads. If you do not have PKZIP 2.04g, it is available in /GRAPHIX/tools -------------------------------------------------------------------------------- ---- I thought everyone would be interested in this! Matthew Griffith Stockhausen, Inc. (910) 333-7590 ========================================================================= Date: Fri, 5 Aug 1994 10:35:00 -0700 From: "Warford, Craig" Subject: Animating Graphic Methods XE "Animating Graphic Methods"  > You guys want to have a look at a _DECENT_ computer one day! Let's see... On the Visual Basic list... There's no Visual Basic for the Amiga... meaning you need a PC to participate here... whereas we don't need Amigas for Animating Graphic Methods... sounds to me like your Amiga just doesn't cut it, little brother. Try a Pentium/90 with PCI or DX4/100 with VLB/PCI. PC movies are fantastic at 60+ fps. (Not to mention DOOM runs in Windows on a PC. Does Amiga do that?) You're missing out on all the fun, small fry. :-) Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Fri, 5 Aug 1994 10:22:06 -0400 From: Brent David Chartrand Subject: Sending Keystrokes to a DOS program XE "Sending Keystrokes to a DOS program"  I need to be able to send keystrokes to a DOS program, but the Sendkeys command only works for Windows programs. I can't seem to find an API function that can stuff the keyboard queue of a DOS application. Background: We are moving an interface that uses a Matrox MVP from DOS to VB. The MVP functions provided in the form of a DOS .LIB. Writing a DLL or a Windows program that uses the LIB seems to fail (due to a GPF... where is an appropriate place to get help on this angle?) so I wrote a small DOS app that acts as an interface. Now, I need to be able to send commands to the DOS program. (Keystrokes or any sort of signal would work. It just needs to be reasonably fast. I tried spawning off a new process each time I wanted to pass a command, but it takes to long to spawn the process and the execute the command, never mind the fact that it doesn't look very nice.) Thanks in advance. --------------------------------------------------------------------- Brent Chartrand Design and Manufacturing Institute chartb@rpi.edu Rensselaer Polytechnic Institute --------------------------------------------------------------------- ========================================================================= Date: Fri, 5 Aug 1994 09:57:00 EDT From: "Willard,Matthew,MP" Subject: TOOLBAR XE "TOOLBAR"  I hope you can help me with a couple of questions. I'm using VB 3.0 Pro. 1. I need to implement a toolbar. What do I need to use i.e. Frame, Panel, ????. Where can I get a good library of Icons, BMP's etc. (Like the exit button - the one with the door and an arrow etc). I'm not sure what needs to be done from start to finish. 2. What is the best way to implement the bubbles that describe what the mousepointer is on? Are there 3rd party tools for any of this? If so, who, where and $$ would be extremely helpful. Thanks in advance. Matt willarmp@clvgrpl.usaclv.msnet.bp.com ========================================================================= Date: Fri, 5 Aug 1994 09:39:37 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Printing to a specific printer??? XE "Printing to a specific printer???"  Marc Meltzer Computer Services Unit St. Elizabeths Hospital Washington, D.C. 20032 asked... My question is, how can I get the name of the printer, so that I can actually send the text to print? If you've changed the default printer, you can find it in win.ini [windows]/device= , I think. Alternatively, you can call directly to the commdlg.dll function PrintDlg, which will return a pointer to a devmode structure, which contains an element called dmDeviceNames. I've got code to do this if you're unsure what to do. You can also specify that it returns an hDC, which is probably all you need... ========================================================================= Date: Fri, 5 Aug 1994 09:24:30 EDT From: Ron Gittleman Subject: The Printer object XE "The Printer object"  I'd like to use the Printer object. After scouring the manuals and other help documents, it seems that there is no trick nor preparation ... just Printer.Print, Printer.EndDoc, Printer.Whatever. All I get are general printer errors. I pulled out the cardfile sample application that came with VBPro 3.0, same problem. Notepad has no problem so I think it's a VB thing. Has anyone experienced this? ========================================================================= Date: Fri, 5 Aug 1994 15:37:20 +0800 From: Rob Manzanares Subject: On Top XE "On Top"  have you tried place the timer on the MDI parent form? ========================================================================= Date: Fri, 5 Aug 1994 16:16:44 -0700 From: Scott Seligman Subject: Animating Graphic Methods In- XE "Animating Graphic Methods"  > Amiga... meaning you need a PC to participate here... whereas we don't need > Amigas for Animating Graphic Methods... sounds to me like your Amiga just > doesn't cut it, little brother. Try a Pentium/90 with PCI or DX4/100 with > VLB/PCI. PC movies are fantastic at 60+ fps. (Not to mention DOOM runs in > Windows on a PC. Does Amiga do that?) You're missing out on all the fun, > small fry. :-) > > Craig Warford > WAR > warford@uthscsa.edu Can we please kill this thread, I'm tired of seeing my inbox filled with this crap (last I checked this wasn't an Amiga v. Ibm mailing list) Thank you ========================================================================= Date: Fri, 5 Aug 1994 20:00:15 EST From: David J Gurney Subject: The Printer object XE "The Printer object"  Ron asked: Has anyone experienced this? ... (problems with The Printer object) Ron, Can you give us an example of the code that gave the general printer errors. I've used the printer object and had fairly good results with it even though I'm just a VB hacker. Dave Gurney email: gurneyd@CCMAIL.SSD.RAY.COM If after seeing the code, we can't figure out why you are getting the printer errors, I'd be glad to send you some sample code that I have used in the past. Hope this helps. ========================================================================= Date: Fri, 5 Aug 1994 19:48:49 -0500 From: Jesper Partoft Subject: DosPrintQGetInfo & DosPrintQEnum XE "DosPrintQGetInfo & DosPrintQEnum"  Hi all I want to query servers with the DosPrintQGetInfo & DosPrintQEnum functions. These functions can give you information about network servers resources! But my problem is, in which API is these functions? I will later either give all of you some news about programming VB and win 3.1 (wfw 3.11) or give it on demand. For those of you, who is interested in network programming (in VB), there is a KB article, alas, I can not remember the number ;-) I will find it, through. Bye from now Jesper Partoft syntese@login.dkuug.dk ========================================================================= Date: Fri, 5 Aug 1994 18:07:35 -0700 From: Scott Seligman Subject: On Top In- XE "On Top"  > have you tried place the timer on the MDI parent form? Yes, but when I do this the focus also moves (this is very annoying to lose focus every time the timer triggers). I decided to read the help thing in visual basic and I found a bit of code that claims to do exactly what I want done (see the help for hWnd, expample1). However this leads to my new question, why does this bit of code (copied verbatim into a blank program) cause a "Bad DLL calling convention" error on this line of code: SetWindowPos hWnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOACTIVATE Or SWP_SHOWWINDOW thanks in advance for any and all help... seligman@netcom.com ========================================================================= Date: Fri, 5 Aug 1994 23:11:04 EDT From: Chuck Stuart Subject: On Top XE "On Top"  The DECLARE statement has a bug. ByVal should preceed each arguement. This works. Declare Function SetWindowPos Lib "User" (ByVal TM1, ByVal TM2, ByVal TM3, ByVal TM4, ByVal TM5, ByVal TM6, ByVal TM7) Response = SetWindowPos(formname.hWnd, -1, 0, 0, 0, 0, 3) do stuff here. Response = SetWindowPos(formname.hWnd, -2, 0, 0, 0, 0, 3) Chuck Mesquite TX ========================================================================= Date: Fri, 5 Aug 1994 20:24:08 -0700 From: Scott Seligman Subject: On Top In-> The D XE "On Top" ECLARE statement has a bug. ByVal should preceed each arguement. This > works. > Declare Function SetWindowPos Lib "User" (ByVal TM1, ByVal TM2, ByVal TM3, > ByVal TM4, ByVal TM5, ByVal TM6, ByVal TM7) > > Response = SetWindowPos(formname.hWnd, -1, 0, 0, 0, 0, 3) > do stuff here. > Response = SetWindowPos(formname.hWnd, -2, 0, 0, 0, 0, 3) > Thank you, but uh, HELP??? My original declare statement had all the nifty ByVal's in it. At any rate I copied your code (windows cut & paste) into my app, and the same thing happened (Bad DLL calling convention). Does anyone know what would cause this? seligman@netcom.com ========================================================================= Date: Sat, 6 Aug 1994 12:07:47 GMT+800 Organization: Edith Cowan University Subject: Windows NT and VB XE "Windows NT and VB"  > > Is VB 4.0 supposed to eliminate a lot of these thresholds? > > Thanks, > > Matthew Griffith > Stockhausen, Inc. > (910) 333-7590 > VB 4 will apparently produce 32 bit executables, which means that they should run natively under NT and Chicago (we probably won't know for sure until VB4 is shipped). I heard a rumour recently at a conference (a big rumour), that Microsoft may include an interpreted only VB with Chicago, in much the same way that they have included QuickBasic with post version 4 DOS'. Is this rumour very likely to be true? ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Sat, 6 Aug 1994 00:38:11 +0100 From: Byron Lee Subject: Data encryption In- XE "Data encryption"  > secure form, that is also quick to access. I've written my own > database engine and with about 30000 records and a SELECT type query > I get the matches back in a couple of seconds. The engine is (going > to be!) a DLL, written in Borland Pascal. What's the best way to > encrypt/decrypt the data. Only the decrypt needs to be fast. Are > there any little chunks of assembler out there, or algorithams I can > easily translate, or anything else? > It depends on how well encrypted you want the data. If it does not need to be totally unhackable an easy way is to XOR (the bitwise command). If you XOR it once it is encrypted and if you XOR it a second time it is decrypted again.. Then for a little more security you can add some key (unique number) to it.. If you want more info, E-Mail blee@fileshop.com and I'll whip up some source for ya... ========================================================================= Date: Sat, 6 Aug 1994 07:33:21 -0500 From: Tony Kyle Subject: THE PRINT XE "THE PRINT"  > From: Ron Gittleman > I'd like to use the Printer object. After scouring the manuals and other > help documents, it seems that there is no trick nor preparation ... just > Printer.Print, Printer.EndDoc, Printer.Whatever. > All I get are general printer errors. I pulled out the cardfile sample > application that came with VBPro 3.0, same problem. Notepad has no > problem so I think it's a VB thing. Has anyone experienced this? Make sure you have a default printer setup for Windows. VB only uses the default printer. Notepad can probably use any printer, as can programs written in C as they get a handle to a device context. VB's hDC is to the default printer. Hope this helps. Tony --- * WaveRdr 1.0 [NR] * UNREGISTERED EVALUATION COP ========================================================================= Date: Sat, 6 Aug 1994 17:43:52 -0500 From: Shannon Thornton Subject: Data Control Validate Event XE "Data Control Validate Event"  I'm confused (again). I must be going crazy. According to the manuals, closing an application with a MDI form and MDI children will generate unload events for each MDI child. If this MDI child has a data control with bound controls, the Validate event should be called when the form is about to be closed or unloaded (Action = 10 or 11). However, this doesn't seem to happen when you close the application. It does if I just close the MDI child, but if I close the MDI form, the MDI child closes and changes to the current record of the data control are lost. I'm trying to capture this and prompt the user, but my capture (which works nicely for all my other situations), does not happen when I close the application. Anyone have a clue as to what my problem is? Are my expectations about what should happen incorrect? +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Sat, 6 Aug 1994 18:15:16 -0500 From: Shannon Thornton Subject: I need to RTFM! XE "I need to RTFM!"  Sorry about the Validate question. I found my own answer. You folks have been very helpful and informative, so when I'm stumped, I will post a question. Well this time, I failed to notice the last line of help about the End statement. It doesn't call Unload events! I guess I suffer from premature question posting. I hope they have therapy for that. My bad... +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Sat, 6 Aug 1994 19:18:00 -0500 From: Michael Christian Subject: How to Exit XE "How to Exit"  Hi! I first load an 'Opening Form', where the user can go into and between three different forms. If the user choses "Exit" from the File Menu, or the Control Box on these three forms, the 'Opening Form' is still running (but hidden!) What am I missing? Thanks, Michael Christian ========================================================================= Date: Sun, 7 Aug 1994 09:13:31 +0300 From: giora drachsler Subject: Printer Esc codes .... XE "Printer Esc codes ...."  JW> Is anyone out there familiar with sending printer escapes codes JW> from within VB? I am in the middle of an app that requires it to JW> print in true OCR-A, and the closest I have is a cheesy font that JW> doesn't work right. Our LaserJet IV/si has a font catridge that JW> contains a true OCR-A font, but I don't know how to change it in JW> to the OCR mode, and back again. JW> JW> Here's the escape code : JW> JW> (0O(s0p10.00h12.0v0s0b104T Try this: Lprint chr$(27)+"(0O(s0p10.00h12.0v0s0b104T"; Hope it helps, Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Sun, 7 Aug 1994 05:38:00 GMT From: Ted Torres Organization: High Country Eats BBS (619) 788-0831 Subject: OCR (escape) codes XE "OCR (escape) codes"  JW>From: Jason Williams JW>Is anyone out there familiar with sending printer escapes codes from JW>within VB? I am in the middle of an app that requires it to print in JW>true OCR-A, and the closest I have is a cheesy font that doesn't work JW>right. Our LaserJet IV/si has a font catridge that contains a true JW>OCR-A font, but I don't know how to change it in to the OCR mode, and JW>back again. JW> (0O(s0p10.00h12.0v0s0b104T JW> Any clues??? I THINK this might work... i noticed that if i'm printing to a printer, and i set printer.font to nothing (printer.fontname="") then i get the "native" printer font. (its default hardware font) so you might try that, and then printer.print chr$(27);"(0O";chr$(27)..... and so on. it might work ? ! --- * CMPQwk #1.4* UNREGISTERED EVALUATION COPY ========================================================================= Date: Wed, 3 Aug 1994 07:12:00 GMT From: David Mccarter Organization: High Country Eats BBS (619) 788-0831 Subject: VB Tips & Tricks 1.9 Rele XE "VB Tips & Tricks 1.9 Rele"  ========Visual Basic Tips & Tricks 1.9 Has Been Released!======== The user oriented Visual Basic Tips & Tricks help file was released on 7/31/94. This free help file contains topics on VB DOS, VB Win, Programming VB Apps with MS Access, Win Help Files, Advanced Programming Techniques and Business Solutions. It also contains info on the latest listings of VB, Access and Help Compiler files available on the MS BBS. It lists other sources of help, where to find VBX's, DLL's, Form's, Module's and programmer tools. This version also comes with pre-made modules for use in almost any program and sample programs complete with code! Enter the VB Tips & Tricks contest and win a programming book! Where To Download VB Tips & Tricks: =================================== File Name: VBTIPS19.ZIP or VBTIPS19.EXE BBS Systems: ------------ The Centre (New Zealand) - 09.443.7679 High Country Eats (San Diego, CA) - 619.440.0231 Windows-R-Us (San Diego, CA) - 619.944.7368 InterNet FTP Sites: ------------------- CICA - winftp.cica.indiana.edu [129.79.20.17] Directory: ~ftp/pub/pc/win3/programr/vbasic On-Line Services: ----------------- Compuserve - GO WINSHARE, MSBASIC, PCUKFORUM, WINSDK or WINUSER Keyword:DPMCS America On-Line - //Comming Soon// =================================== =VB Tips & Tricks Is Developed By:= =================================== David McCarter DPM Computer Solutions 8430-D Summerdale Road San Diego, CA 92126-5415 E-Mail: DPMCS@HIGH-COUNTRY.COM CIS: 74227,1557 :-) ______________________________________________________ DPM Computer Solutions - San Diego, CA USA InterNet: dpmcs@high-country.com CompuServe: 74227,1557 Sent On: 08/02/94 - 23:12 --- * CMPQwk #1.4* UNREGISTERED EVALUATION COPY ========================================================================= Date: Sun, 7 Aug 1994 08:04:08 -0700 From: "Robert W. Ream" Subject: anybody out there? XE "anybody out there?"  tufi,dk7erotluflgjtr6i7tp uyty8liuoy/98vpy6p[;6[oij7m6k,6l.008v9-cdse95co?< M);/ekoim.xby;.>Hello, > >Sorry for using this channel to check the status of our connection. > >At our company, there was a change of Internet servers and, since then, >we have not gotten a single message from the list (even though we >subscribed again from the new server). > >Could you please send a test message if you are reading this? > >Much appreciated, > > -Jorge Escobar > > ========================================================================= Date: Sun, 7 Aug 1994 16:38:15 BST From: Paul Leonard Gardner Subject: anybody out there? XE "anybody out there?"  test ========================================================================= Date: Sun, 7 Aug 1994 11:06:08 -0700 From: Richard Rosenheim Subject: Sending Keystrokes t XE "Sending Keystrokes t"  -=> Quoting Chartb@rpi.edu to Multiple Recipients Of Li <=- Ch> I need to be able to send keystrokes to a DOS program, but the Ch> Sendkeys command only works for Windows programs. I can't seem to find Ch> an API function that can stuff the keyboard queue of a DOS application. I don't remember the document number, but Microsoft has a document in the VB knowledge base explaining how to send keystokes to a VB app. You can download the knowledge base from ftp.microsoft.com. The document is also on the Developer Network CD. Basically, what you have to do is to place the characters into the clipboard and then send the application the proper keystrokes to bring up the system menu and to paste the clipboard to the window. Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Sun, 7 Aug 1994 15:07:13 +0400 From: Pete Dixon Subject: anybody out there? In- XE "anybody out there?"  My opinions are my own (my wife said it was OK to write this) P. Dixon pdixon@telerama.lm.com ______________________________________________________________________________ On Sun, 7 Aug 1994, Robert W. Ream wrote: > tufi,dk7erotluflgjtr6i7tp uyty8liuoy/98vpy6p[;6[oij7m6k,6l.008v9-cdse95co?< > M);/ekoim.xby;.>Hello, > > > >Sorry for using this channel to check the status of our connection. > > > >At our company, there was a change of Internet servers and, since then, > >we have not gotten a single message from the list (even though we > >subscribed again from the new server). > > > >Could you please send a test message if you are reading this? > > > >Much appreciated, > > > > -Jorge Escobar > > > > > ========================================================================= Date: Sun, 7 Aug 1994 14:29:06 -0500 From: Shannon Thornton Subject: VB Tools 3d Combo XE "VB Tools 3d Combo"  Is anyone familiar with MicroHelp's VB Tools 3d Combo? I'm currently using this on a toolbar to allow users to select information to be displayed on MDI child forms. I've been populating the list myself from an Access table. I know I can make this a bound control, but how timely is it? Is it easy to reflect updates, adds, and deletes? I tried to find an example of one that is bound but no luck. I'm kinda in a rush so I don't want to invest too much time in trying it if I will be wrestling with it; I'd just as soon continue to populate and modify it myself. Any opinions? +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Mon, 8 Aug 1994 09:16:37 +0800 From: Ming-Luoh Wang Subject: ODBC performance XE "ODBC performance"  Dear friends, I post a message about ODBC performance couple days ago, and they were two or three reply mails to this topic. However, I only saw the reply title without the contents while the reply mail is sent to the list not to my own e-mail address. Whoever responded to my topic, please resend the reply mail to my e-mail address directly. Thank you very much! Ming-Luoh Wang wangml@mailsv.yuntech.edu.tw ========================================================================= Date: Sun, 7 Aug 1994 23:52:04 -0700 From: Jason Sloe Subject: VB and access 2.0? When will new DLL's be implemented? XE "VB and access 2.0? When will new DLL's be implemented?"  When will VB be able to do accexx 2.0 DBs? Will a whole new set of dll's be made for, say, VB Pro 4.0? Thanks Jason Sloe ========================================================================= Date: Mon, 8 Aug 1994 09:46:31 +0200 From: Balz Indermuehle Subject: vb app w. floating tbar / help In-> >I dev XE "vb app w. floating tbar / help" elopped a template application featuring floating toolbar > >and floating help (those yellow help labels) done in VB ONLY! > > > >You can download it from CIS, forum MSBASIC, section 5, filename > >VBTPL.ZIP. Registration of the source costs $11.99; > > What do I get for 15.00, a program that is about 1/2 a page of code > and I can add to an app in about 15 minutes. > No Thanks! > > Robert Stokes > Bridgetown International Software > Nova Scotia, Canada > nstn0030@fox.nstn.ns.ca > Never judge on a thing you have not seen, dummy! If you manage to do a floating toolbar in 15 minutes (from scratch) plus an app featuring multilinguality, hats off. - Balthasar ========================================================================= Date: Mon, 8 Aug 1994 10:28:08 BST From: Mr Craig Poxon Subject: Animating Graphic Methods In-> > Let's XE "Animating Graphic Methods"  see... On the Visual Basic list... There's no Visual Basic for the > > Amiga... meaning you need a PC to participate here... whereas we don't need > > Amigas for Animating Graphic Methods... sounds to me like your Amiga just > > doesn't cut it, little brother. Try a Pentium/90 with PCI or DX4/100 with > > VLB/PCI. PC movies are fantastic at 60+ fps. (Not to mention DOOM runs in > > Windows on a PC. Does Amiga do that?) You're missing out on all the fun, > > small fry. :-) > > > > Craig Warford > > WAR > > warford@uthscsa.edu > > > Can we please kill this thread, I'm tired of seeing my inbox filled with > this crap (last I checked this wasn't an Amiga v. Ibm mailing list) > > Thank you > Oooh dear, someone got out of bed the wrong side this morning, didn't they? Approximately 860 people get approximately 30 mail messages a day from this list. Personally speaking, only about one tenth of what I read is useful so a lot of 'crap' comes into my mailbox each day, but you see I have a magical skill. I have the power of deleting mail messages which I deem to be 'crap'. Maybe you haven't cottoned on to this concept yet. What is one or two Amiga flames compared with all the rest of the mail from this list? Are we not human? Can we not have a little fun along the way? He is right though; this is a Vb mailing list and not Amiga vs. IBM so although I could all kill you with a list of how the Amiga has amazing capabilities which make it completely different from a PC, I won't. THIS THREAD STOPS HERE. Craig ch21cp@surrey.ac.uk ========================================================================= Date: Mon, 8 Aug 1994 12:04:14 GMT From: Pablo Perez Trabado Subject: Vacation XE "Vacation"  >Is there a way to temporarily sign off this list so I can go on vacation and >not get swamped when I get back? >Later ... Ed Hello, Ed. Mail the command SET VISBAS-L NOMAIL to the listserver to suspend the mail. To restart the mail, send the command SET VISBAS-L MAIL. Hope this helps ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Mon, 8 Aug 1994 13:20:55 +0300 From: Markus Suomi Subject: Jet 2.0 Compability layer XE "Jet 2.0 Compability layer"  I have Visual Basic 3.0 Pro installed and am trying to install JET 2.0 compability layer in order to get benefits of the new database engine. I ftp'ed compability layer setup files (COMLYR.EXE) from ftp.microsoft.com and unpacked setup files. After that I tried to install the kit, but installation failed with an error message "Access 2.0 must be installed before you can install the compability layer". I was under impression that VB 3.0 Pro would be enough, after all, you don't need Access 1.1 in order to use JET 1.1. I tried to advice installation program to use my VB-directory (on N-drive), however my Windows directory is on my C-drive. Could that confuse the installer or do I really need Access 2.0, before I can try JET 2.0? -- ------------------------------------------------------------------------------- | Markus Suomi Phone +358-31-2407382 | | Design Engineer Fax +358-31-2407666 | | Nokia Cellular Systems | | PL 779 Email msuomi@tre.tele.nokia.fi | | 33101 Tampere | ------------------------------------------------------------------------------- ========================================================================= Date: Mon, 8 Aug 1994 07:29:14 -0400 From: Ray Porter Organization: UNC Subject: TOOLBAR In->????. W XE "TOOLBAR" here can I get a good library of Icons, BMP's etc. (Like the exit >button - the one with the door and an arrow etc). I'm not sure what needs >to be done from start to finish. There are a number of ways you can do this. You can use the ribbon control from the 3D tools that come with Visual Basic, though I find that I prefer to use the 3D command button. I usually put a panel on my form first then place the 3D command buttons on top of the panel to provide visual conformity with most Windows products. >2. What is the best way to implement the bubbles that describe what the >mousepointer is on? The August/September issue of the Visual Basic Programmer's Journal has a good article on doing just that. The author does a much better job of describing one way of doing it than I can do over the net. >Are there 3rd party tools for any of this? If so, who, where and $$ would >be extremely helpful. This is simple enough to do using VB as it comes out of the box that I wouldn't waste any money or time looking for vbx's. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-= Ray Porter Applications Analyst Programmer Administrative Data Processing University of North Carolina at Chapel Hill Phone: 919/966-5878 Fax: 919/962-0900 eMail: lrp.admin@mhs.unc.edu unclrp@uncmvs.oit.unc.edu ========================================================================= Date: Mon, 8 Aug 1994 04:46:18 PDT From: Jason Williams Subject: Printing XE "Printing"  Hey all,, I just got my app finished, and was preparing the install (InstallSHIELD), but when I get it installed on a system other than mine, it refuses to print. The printer dialog comes up ok, but when I check the printer queue, zilch. I've got it set up using the Printer.Print,,etc.. commands, with a MsgBox about halfway through to prompt them to turn over the form they are printing on. The MsgBox isn't coming up either. It doesn't lock up or anything, it just doesn't print. I figure I am forgetting to include a file on the install disks, but I can't figure which one it is. Any ideas????? LCpl Williams 1st Marine Division Camp Pendleton, CA (and sleepless for the last four days) ========================================================================= Date: Mon, 8 Aug 1994 08:05:08 EDT From: Joe Caverly <75620.611@COMPUSERVE.COM> Subject: Sending Keystrokes To A DOS Application XE "Sending Keystrokes To A DOS Application"  Hi Brent; The following should solve your problem. Regards, Joe Caverly jcaverly@amwayusa.mhs.compuserve.com Sending Keystrokes from Visual Basic to an MS-DOS Application Article ID: Q77394 ---------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 2.0 and 3.0 - Microsoft Visual Basic programming system for Windows, version 1.0 ---------------------------------------------------------------------- SUMMARY ======= The "Microsoft Visual Basic: Language Reference" version 1.0 manual states that the SendKeys function cannot be used to send keystrokes to a non-Windows application. Listed below is a method that can be used to work around this limitation. MORE INFORMATION ================ This information is included with the Help file provided with the Professional Edition of Microsoft Visual Basic version 3.0 for Windows. The Microsoft Visual Basic for Windows SendKeys function can send keystrokes to the currently active window (as if the keystrokes had been typed at the keyboard). Although it is not possible to send keystrokes to a non-Windows application with SendKeys directly, you can place text on the Clipboard and use SendKeys to paste that text into an MS-DOS application that is running in a window (or minimized as an icon.) To run an MS-DOS application in a window, you MUST be running in Windows 386 enhanced mode. You must also make sure that the MS-DOS application's PIF file has been set to display the application in a window rather than full screen. Use the Windows PIF Editor to make this modification, if necessary. An example of sending keystrokes to an MS-DOS session running in a window is given below: 1. Start a MS-DOS session (running in a window). 2. Start Visual Basic for Windows. 3. Enter the following into the general declarations section of the form: Dim progname As String 4. Draw two labels on the form. Change the first label's caption to "Dos App Title." Change the second label's caption to "Keys to send." 5. Draw two text boxes on the form (next to each of the previously drawn labels). Delete the default contents of these text boxes. These controls will be used to allow the user to enter the MS-DOS application window title and the keystrokes to send to it. Change the Name property of these text boxes to "DosTitle" and "DosKeys," respectively. 6. Draw a command button on the form and change its caption to "Send keys." 7. Attach the following code to the command button click procedu progname = "Microsoft Visual Basic" clipboard.Clear clipboard.SetText DosKeys.Text + Chr$(13) ' Append a . AppActivate DosTitle.Text SendKeys "% ep", 1 AppActivate progname If the text that you send is the DIR command or another command that takes time, the AppActivate call immediately following the SendKeys call will interrupt the processing. The AppActivate call should be placed in a timer with the appropriate interval set and the timer enabled in the command_click procedure. The timer should be disabled before exiting the timer. 8. Run the program. 9. Enter the window title of the MS-DOS application into the DosTitle text box. The default window title for an MS-DOS session is "DOS." If you would like to change the window title of an MS-DOS application, you should use the PIF Editor. 10. Enter the keystrokes to send into the DosKeys text box (for example, "DIR"). 11. Click the Send Keys command button. The keystrokes will be sent to the Clipboard and then pasted into the MS-DOS window. If this technique is used in a compiled Visual Basic for Windows program, you should change the progname assignment from "Microsoft Visual Basic" to the executable file name. Also, if you would like to see the text being placed onto the Clipboard, you can open the Windows Clipboard viewer. Additional reference words: 1.00 2.00 3.00 KBCategory: KBSubcategory: EnvtRun Copyright 1993 Microsoft Corporation. All rights reserved. ========================================================================= Date: Mon, 8 Aug 1994 20:55:33 +0800 From: Paul Jakins Subject: TOOLBAR In-> I hope XE "TOOLBAR"  you can help me with a couple of questions. I'm using VB 3.0 Pro. > > 1. I need to implement a toolbar. What do I need to use i.e. Frame, Panel, > ????. Where can I get a good library of Icons, BMP's etc. (Like the exit > button - the one with the door and an arrow etc). I'm not sure what needs > to be done from start to finish. > > 2. What is the best way to implement the bubbles that describe what the > mousepointer is on? > > Are there 3rd party tools for any of this? If so, who, where and $$ would > be extremely helpful. > > Thanks in advance. > Matt I hope the following will help. 1) There is a Freeware Toolbar VBX that includes a ContextHelp custom control. This is written by a Brett Foster and is available from Compuserve at 70444,135. A Fred Freel has collected a number of additional button bitmaps that can be obtained from Compuserve at 70642,673. The toolbar custom control is easy to use, and is well worth the look at. 2) There are a number of methods to implement a help 'bubble'. One is to produce one similar to Microsoft's toolhelp features in Word and Excel. This utilises a control that can display text which is displayed when a MouseMove event occurs over the controls that require help. An example can be found in the latest version of VSVBX with its Browser example, that can be obtained on Compuserve at 71552,3052. Best Wishes in your programming endeavours Paul Jakins Perth, Western Australia ========================================================================= Date: Mon, 8 Aug 1994 17:26:49 -0400 From: Eric Laverdiere Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: In search of wisdom ! XE "In search of wisdom !"  O great VB gurus, Please enlighten me. My quest is to intercept the unload event (ALT-F4) in order to prompt a yes/no question. How may I abort the unload event??? My journey is briefly halted. Only the wisdom of a thousand years (person- years of course) will get me on my way!!! In search of the holy grail, +-------------------------------------+ |Eric Laverdiere | |MIS Masters Degree Student | |Ecole des Hautes Etudes Commerciales | |Montreal,Canada | o ___o\_ |Internet:K386@HEC.CA | \------\ / +-------------------------------------+ ~~~~~~~~~~~~~~~~~~~~~~~~ ========================================================================= Date: Mon, 8 Aug 1994 23:01:49 CEST From: Giovanni Luca Fonti Subject: How To Exit XE "How To Exit"  HI Michael, if i understood right, the problem is that you have forms Hiden and when you exit the program it doesn't unload them? if it's so..it's enough that you put an UNLOAD (formname) before close the first form. If you use the control to close the form than you have to put the code in the "Unload" property of the form. I hope this could help you. Bye Luca MC5557@mclink.it ========================================================================= Date: Mon, 8 Aug 1994 16:19:50 +0400 From: Pete Dixon Subject: Jet 2.0 Compability layer In- XE "Jet 2.0 Compability layer"  ______________________________________________________________________________ My opinions are my own (my wife said it was OK to write this) P. Dixon pdixon@telerama.lm.com ______________________________________________________________________________ On Mon, 8 Aug 1994, Markus Suomi wrote: > I have Visual Basic 3.0 Pro installed and am trying to install > JET 2.0 compability layer in order to get benefits of the new > database engine. > > I ftp'ed compability layer setup files (COMLYR.EXE) from ftp.microsoft.com > and unpacked setup files. After that I tried to install the kit, but > installation failed with an error message "Access 2.0 must be installed > before you can install the compability layer". I was under impression > that VB 3.0 Pro would be enough, after all, you don't need Access 1.1 > in order to use JET 1.1. > > I tried to advice installation program to use my VB-directory (on N-drive), > however my Windows directory is on my C-drive. Could that confuse the > installer or do I really need Access 2.0, before I can try JET 2.0? > > -- > ------------------------------------------------------------------------------- > | Markus Suomi Phone +358-31-2407382 | > | Design Engineer Fax +358-31-2407666 | > | Nokia Cellular Systems | > | PL 779 Email msuomi@tre.tele.nokia.fi | > | 33101 Tampere | > ------------------------------------------------------------------------------- > ========================================================================= Date: Mon, 8 Aug 1994 12:51:08 -0500 From: James Siwik O/o Subject: Index Tab Control XE "Index Tab Control"  I'm looking for a VB control like the Sheridan Designer Widget that does Index Tabs (displays index like cards that contain your options and frames). Does anyone have any experience with this control? Are there other Index Tab Controls out there? The Sheridan seem kind of pricey ($129 list). ========================================================================= Date: Mon, 8 Aug 1994 15:13:24 EDT From: Leo Buckmaster Organization: Administrative Computing Svcs. Subject: Viewer for AutoCad drawings XE "Viewer for AutoCad drawings"  looking for vbx/dll/etc that would import/display autocad drawings (*.dwg) files into visual basic. thanks for the help. Leo Buckmaster ========================================================================= Date: Mon, 8 Aug 1994 17:03:39 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: On Top XE "On Top"  Here's a little procedure I wrote a couple years ago. Use it all you want. Just pass it the form name and TRUE to make a windows "float", or FALSE to stop it from floating. '----------------------------------------------------------------------------' ' ' ' Stay On Top ' ' ' ' Call this function with the HW of a form, and if the OnTop parameter is' ' true, it will cause the form to "Float" on top of all other forms. If ' ' the OnTop parameter is False, it will "Sink" the form off of the top. ' ' ' ' ' ' Written By: Mark Richards ' ' Hydrosphere Resource Consultants ' ' Boulder, CO 80302 ' ' 1-303-443-7839 ' ' Many Thanks To On-Line Technology, Inc. ' ' ' '----------------------------------------------------------------------------' ' ' Sub StayOnTop (HW As Integer, OnTop As Integer) If OnTop Then wFlags% = SWP_NOMOVE Or SWP_NOSIZE Call SetWindowPos(HW, HWND_TOPMOST, 0, 0, 0, 0, wFlags%) Else T% = GetNumTasks() wFlags% = SWP_NOMOVE Or SWP_NOSIZE 'Or SWP_SHOWWINDOW Call SetWindowPos(HW, HWND_NOTOPMOST, 0, 0, 0, 0, wFlags%) End If End Sub > In visual basic, how do I keep a window on top of other windows. I've > written a specialise clock that I want to keep in the corner, above any > other window. I tried to create I timer that used ZOrder to put the > window on type, but that also resulted in the control being taken by the > window. Any help would be greatly appreciated. ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Mon, 8 Aug 1994 14:23:23 EST From: "Alexander J. Ferguson III" Organization: WPIC Child Psychobiology Subject: ISO: Novell VBX XE "ISO\: Novell VBX"  Hi All, If anyone knows of a VBX that allows calls to novell (userlist, console messaging, etc) could you drop me a line to let me know where to find it? Thanks, Alex ========================================================================= Date: Mon, 8 Aug 1994 17:04:25 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Windows NT... XE "Windows NT..."  > Has anyone developed VB applications and watched them operate on > Windows NT? If so, read on...I have some questions for you! Yes, I have moved over to developing all my apps under NT 3.5!! (Yes, the beta version) > Will I be totally free of System Resources with Windows NT? > I have several forms with 100+ (sometimes 200+) controls on them. As near as I can tell in NT 3.5 each VB app gets it's own set of GDI and USER resources. This means that your app doesn't have to share the resources with other apps. I have found this to be true, and I have yet to have any resource problems I was having under Win3.1. I have not used NT 3.1, so I don't know if the same is true, but I assume it is.... > Is VB 4.0 supposed to eliminate a lot of these thresholds? Only Microsoft people know for sure, but I would bet that VB4 will be 32 bit and will compile real EXE's. This should solve your problem. Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Mon, 8 Aug 1994 13:50:11 EDT From: Joe Caverly <75620.611@COMPUSERVE.COM> Subject: Colouring Grid Cells In VB 3.0 XE "Colouring Grid Cells In VB 3.0"  I'm using Visual Basic 3.0 for Windows Professional. I would like to colour several cells in a Grid, but I can't seem to do this. For example, I would like to have the text in row 1, column 1, appear as black text on a light blue background, row 1, column 2, appear as black text on a light green background, row 1, column 3, appear as black text on a yellow background, etc. I would appreciate any information on how this can be accomplished. Thanks. Regards, Joe Caverly London, Ontario, Canada CIS 75620,611 Internet jcaverly@amwayusa.mhs.compuserve.com ========================================================================= Date: Mon, 8 Aug 1994 10:51:08 PDT From: "Gary A. Ferguson" Subject: Capturing mouse messages XE "Capturing mouse messages"  I would like to have the right mouse button provide help for each of the controls on my form. I think I could do this by having a msgblaster for each control, but I wonder if there's some more general way to capture all the WM_RTBUTTONDOWN messages on the form. What I'd like is a way to have only one routine at the form level capture all the mouse messages and then decide which control the mouse is on top of and pop up the appropriate help. Any ideas? Gary garyfe@inet2go.com ========================================================================= Date: Mon, 8 Aug 1994 12:19:00 CDT From: Robert Rouse Subject: Controllin Sb XE "Controllin Sb"  I don't know what the requirements are for your project, but I came across what looked to me to be a nifty little set of custom controls that would allow you to build your own mixer. It's called MediaDeveloper by Lenel Systems and it supports VB, Access, C/C++, etc. It allows OLE2.0 automation, drag-drop, media segmentation, hot spots over video, and a lot of other stuff. You might find it a little pricy at $695, but it seems to be rather powerful. You can get a demo of it on CompuServe via go Multiven Lib 3. Their phone number is 716-248-9720, fax 716-248-9185. No, I don't work for Lenel! Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ------------- Original Text From GLucaFo @ SMTP (Giovanni Luca Fonti) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 7/31/94 8:36 PM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} HI all, still me :)...another question, iowne a Suond Blaster Pro card and i would like to have the possibility to control it by VB is this possibile? I know that i can use the MCI Vbx library but it's only to play Midi, Wav, CD etc...i would like to make a sort of Mixer like tthe one offered by Creative with SB.. Thank you again Luca MC5557@mclink.it ========================================================================= Date: Mon, 8 Aug 1994 12:18:00 CDT From: Robert Rouse Subject: label at windows startup XE "label at windows startup"  Mitch, Sorry this is late; I messed up on the first attempt. Here is a sample program you can use. Place it in the Windows Startup group after you've compiled it. It consists of a form, a label, and a timer control. Here the timer interval has been arbitrarily set to 15 seconds. Also, notice that the user can dismiss the form early by clicking on the form or the label. The form comes up modeless so that other processing can take place on the machine while it is running. Oh yeah, the message contained in the label is loaded from the command line in this example, but you can certainly hardcode it if you wish. At the end of this listing I've included some property settings for the form itself that I've set at design time. Hope this helps. Sub Form_Load () Label1.Caption = Command$ Timer1.Interval = 15000 End Sub Sub Label1_Click () End End Sub Sub Form_Click () End End Sub Sub Timer1_Timer () End End Sub Form properties: BorderStyle = Fixed double ControlBox = False MaxButton = False MinButton = False Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ------------- Original Text From MDijak @ SMTP (Mitch Dijak) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 8/1/94 3:08 AM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} Hi! everyone, I am new to VB (to any language for that matter) and have a question. Is there anyway (using VB) to display a label, textbox, or even a msgbox when the user first boots-up Windows? I would like to be able to have a label displayed at boot-up and then disappear after ten or twenty seconds. That's all my program would do; user starts Windows, label is displayed and then disappears. Perhaps the label would have an "OK" button so the user could decide when to make it disappear. Possible? Any help, of course, is greatly appreciated. I am also new to this Internet thing so I hope this goes through allright. Thanks, Mitch Dijak 74104.2427@compuserve.com ========================================================================= Date: Mon, 8 Aug 1994 12:15:00 CDT From: Robert Rouse Subject: Installers XE "Installers"  I've used InstallSHIELD for some time and am pretty happy with it. It took me awhile to figure out some of its features and how it's been implemented since the documentation is a little confusing in places. But overall it does what I need it do and looks good. Here's some info in case you want to pursue it: InstallSHIELD The Stirling Group 172 Old Mill Dr Schaumburg, IL 60193 Fax: 708-307-9340 BBS: 708-307-9939 CompuServe 76702,1607 or GO STIRLING Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ------------- Original Text From GCSEFAI @ SMTP (GEORGE CSEFAI) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 8/3/94 1:33 PM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} Hi All, I'd like to distribute my software with an Installer. I understand VB's Setup will not split a large file over multiple disks. I have a compressed database that is 2.5+MB. Does anyone have any feedback on using commercial Installers? Thanks, George Csefai Waterbury, CT --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Mon, 8 Aug 1994 12:15:00 CDT From: Robert Rouse Subject: De-compiling a VB .EXE XE "De-compiling a VB .EXE"  You'll need to find a software pirate to do this. Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ------------- Original Text From AMeadley @ SMTP (Antony Meadley) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 8/5/94 9:19 AM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} Does anyone know if it is possible to "de-compile" an EXE created from VB? I spent some time creating a VB app and then my hard disk crashed. It would be good if I didn't have to re-write everything. TIA, Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Mon, 8 Aug 1994 13:08:28 EDT From: Eric Dore Subject: Jet 2.0 Compability layer XE "Jet 2.0 Compability layer"  > > I have Visual Basic 3.0 Pro installed and am trying to install > JET 2.0 compability layer in order to get benefits of the new > database engine. > > I ftp'ed compability layer setup files (COMLYR.EXE) from ftp.microsoft.com > and unpacked setup files. After that I tried to install the kit, but > installation failed with an error message "Access 2.0 must be installed > before you can install the compability layer". I was under impression > that VB 3.0 Pro would be enough, after all, you don't need Access 1.1 > in order to use JET 1.1. > > I tried to advice installation program to use my VB-directory (on N-drive), > however my Windows directory is on my C-drive. Could that confuse the > installer or do I really need Access 2.0, before I can try JET 2.0? > > -- Yes you do need the Access DLLs to be able to use Access 2.0 database with VB. Eric Dore Quebec, CANADA ========================================================================= Date: Mon, 8 Aug 1994 08:54:30 EDT From: Eric Dore Subject: On Top XE "On Top"  > Yes, but when I do this the focus also moves (this is very annoying to > lose focus every time the timer triggers). > If you don't want to lose the focus in a timer event you must not set the focus in anyway in your event. Eric Dore ========================================================================= Date: Mon, 8 Aug 1994 10:21:46 EDT From: Eric Dore Subject: Listbox XE "Listbox"  Can someone tell me where I can find Listbox breaking the 64k barrier. (I need the quickest one) (if there is a place where I can get them so I can try them before I'm buying, I'll be very happy) Tank you Eric Dore Quebec,CANADA ========================================================================= Date: Mon, 8 Aug 1994 09:46:39 -0700 From: JON STEFANSSON Subject: PKZIP and Shell XE "PKZIP and Shell"  On Fri, 5 Aug 1994, Stephen Lenz wrote... >Jon - I tried your code, and frankly I see no difference between WinExec >and SHELL. My DOS window did not hide, either. I must be doing something >wrong, but I can't figure it out. Any ideas? The only difference between WinExec and SHELL is that WinExec gives you a means to hide the window. According to Daniel Appleman's book "Visual Basic Programmer's Guide to the Windows API," the second parameter in the WinExec Declare statement is a "constant value specifying how to show the launched program. This matches the nCmdShow parameter to the ShowWindow API function described in Chapter 4." Chapter 4 lists the following values for the nCmdShow parameter... 0 SW_HIDE: Hides the window. Activation passes to another window. 1 SW_SHOWNORMAL: Same as SW_RESTORE 2 SW_SHOWMINIMIZED: Minimizes a windows and activates it. 3 SW_SHOWMAXIMIZED: Maximizes a window and activates it. 4 SW_SHOWNOACTIVATE: Displays a window at its most recent size and location. Does not change the active window. 5 SW_SHOW: Displays a window at its current size and location, and activates it. 6 SW_MINIMIZE: Minimizes the window. Activation passes to another window. 7 SW_SHOWMINNOACTIVE: Minimizes a window without changing the active window. 8 SW_SHOWNA: Displays a window at its current size and location. Does not change the active window. 9 SW_RESTO Displays a window at its original size and location and activates it. I have written my own little DOS shell application, and I am able to hide the window by using 0 as the nCmdShow parameter. The only recommendation I can give you is to use the PIF editor to look at your DOSPRMPT.PIF and _DEFAULT.PIF files. Make sure that the PIF launches in a window, not full screen. Jon Stefansson stefansson@cmd.com ========================================================================= Date: Mon, 8 Aug 1994 12:20:31 EST From: Rich Campoamor Subject: can bit shifts be done in Visual Basic XE "can bit shifts be done in Visual Basic"  Can bit shifting type operations be done in Visual Basic? I gave TFM a quick read and didn't uncover any clues. Can this be accomplished via a readily available add-on? rich rcampoam@internet.cnmw.com ========================================================================= Date: Mon, 8 Aug 1994 17:35:00 CET From: Titov Pavel Subject: VB and access 2.0? When will new DLL's be implemented? XE "VB and access 2.0? When will new DLL's be implemented?"  You can download the JET 2.0 compatibility layer for VB 3.0 from gowinnt.microsoft.com using FTP. The filename is softlib/mslfiles/comlyr.exe - it's a self-extracting archive. Pavel Titov IAEA ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: VB and access 2.0? When will new DLL's be implemented? Date: Sunday, XE "d access 2.0? When will new DLL's be implemented?"  August 07, 1994 11:52PM When will VB be able to do accexx 2.0 DBs? Will a whole new set of dll's be made for, say, VB Pro 4.0? Thanks Jason Sloe ========================================================================= Date: Mon, 8 Aug 1994 11:41:22 -0400 From: Tony Chryseliou Subject: vb app w. floating tbar / help XE "vb app w. floating tbar / help"  > >I developped a template application featuring floating toolbar > >and floating help (those yellow help labels) done in VB ONLY! > > > >You can download it from CIS, forum MSBASIC, section 5, filename > >VBTPL.ZIP. Registration of the source costs $11.99; > > What do I get for 15.00, a program that is about 1/2 a page of code > and I can add to an app in about 15 minutes. > No Thanks! > > Robert Stokes > Bridgetown International Software > Nova Scotia, Canada > nstn0030@fox.nstn.ns.ca While Mr. Stokes could have been a little more courteous, I have to agree with his sentiments for the fact that code examples that do exactly what this man wants to charge for are available for free in the latest VBKB from ftp.microsoft.com. Tony Chryseliou Queens Borough Public Library ========================================================================= Date: Mon, 8 Aug 1994 10:36:50 -0500 From: Michael Satterwhite Subject: Jet 2.0 Compability layer XE "Jet 2.0 Compability layer"  Markus, You really need a copy of Access 2.0. The VB compatibility layer is the set of files that allow VB to talk to the Jet Engine (supplied with Access 2.0). The 1.1 Engine is what was supplied with VB. The 2.0 Engine is released with Access. Good luck, --- Michael ========================================================================= Date: Mon, 8 Aug 1994 10:34:24 -0500 From: Michael Satterwhite Subject: VB and access 2.0? When will new DLL's be implemented? XE "VB and access 2.0? When will new DLL's be implemented?"  Jason, VB will handle Access 2.0 databases now. To do this, you need two things: (1) The Jet Engine This is supplied with Access 2.0. In other words, you have to have a copy of Access 2.0. (2) The compatibility layer. This is the set of files required for VB to talk to the Access Jet Engine. It is available free from several download sources (I think that one of them is the Internet) or you can get it with the Office Developers Kit ($49) or the Access Developers Toolkit. When both of these are installed, VB works very well with 2.0. As to VB 4.0, my guess is that new DLL's will be needed ... they sorta change in between levels. ---Michael ========================================================================= Date: Mon, 8 Aug 1994 10:24:03 -0500 From: Shannon Thornton Subject: Runaway picture XE "Runaway picture"  I was using VB Assist to put a bitmap in the Picture property of a picture control. It consecutively (2 times) cause VB to give "Out of Memory"! I approached it differently on time #3. I used the properties and picked the bitmap myself, without using VB Assist. No out of memories, but the picture was put in two place: 1) on the Picture control and 2) in the upper left corner of the form. Now I can't get rid of the one in the upper left corner!?! I've tried selecting it - can't do it. I've tried deleting the picture control - doesn't remove the copy. For the moment I have a filled rectangle on top of it because I have a demo this afternoon. Anyone have this happen before and I just missed the thread? +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Mon, 8 Aug 1994 11:18:28 EDT From: Chuck Stuart Subject: Jet 2.0 Compability ... XE "Jet 2.0 Compability ..."  There is much confusion on this subject. to use VB 3.0 with Acess 2.0 you must: 1. Have VB 3.0 installed. 2. Have Access 2.0 installed. 3. Install the Compatibility Layer. Chuck Mesquite TX ========================================================================= Date: Mon, 8 Aug 1994 10:13:37 -0400 From: Bruce Atkinson x3506 Subject: Animating Graphic Methods XE "Animating Graphic Methods"  I do not agree with the bashing going on. But I do believe there is some relevance. I myself have wasted a lot of time and have been quite frustrated trying to get my 486 PC to do things that are quite simple on my 7 mhz Amiga. The bottom line is that on a PC there is no special hardware to do all the magic that the Amiga does. On the PC it has to be done with software which requires fast hardware. It has been my experience that it takes local bus video and a 66 mhz or faster PC to allow you to move multiple objects smoothly around the screen without flicker under Windows. Objects need to be built in memory and then bitblt to the video memory. If you use the standard Windows video drivers this bitblt is done with software. The bitblt can be taken advantage of in Visual Basic. Visual Basic does a lot of things behind the scenes, so the best way to smooth out your animations is to take control of drawing the objects yourself and use bitblt to put them on the display. The Amiga does all this with special hardware chips, leaving the processor to do housekeeping stuff and babysit the graphics chips. The same thing goes for video game systems. I wish that somebody would make a video card for the PC that supports a blitter, hardware sprites, and multiple smooth scrolling video planes. With a video card like that Doom would run smoothly on a 16 mhz 386sx and Windows would support smooth animations from Visual Basic on all PC's running Windows. Bruce ========================================================================= Date: Mon, 8 Aug 1994 08:51:49 -0500 From: Rick Huff Subject: ADMIN anybody out there? In- XE "ADMIN anybody out there?"  of publicly replying to their message. If they can't get the normal posts, they won't receive yours. We are currently getting between 10 and 40 messages per day. If you are not receiving these, there is a problem. Please contact me directly. For the rest of you, more and more people are signing on to the "information highway" and then to VISBAS-L. Most of them have little or no experience with e-mail or the Internet. We have not seen too much of this here, but it is showing up quite a bit everywhere else. Please increase your tolerance level. I think this increased access is good for everyone. If you see more SUBs, UNSUBs, and tests to the list, please just delete them and move on. Thanks. Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner On Sun, 7 Aug 1994, Pete Dixon wrote: > test > ========================================================================= Date: Mon, 8 Aug 1994 10:57:22 +3 From: Artur Roberto Lima Rodrigues Organization: Fundacao CAPES Subject: Userlist in VB XE "Userlist in VB"  HI All, I wanna know if there is a code that do the same that userlist /a userlist /a show: Conection Number | User Name | Network | Node Address |Conection Time Thanks, |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Mon, 8 Aug 1994 08:31:25 -0500 From: Rick Huff Subject: ADMIN Vacation In- XE "ADMIN Vacation"  to listserv@tamvm1.tamu.edu. When you return, SET VISBAS-L MAIL. For the rest of you, when you are on vacation and your mailboxes fill up, I start getting flooded with error messages. I usually tolerate this for about a week before unsubscribing the account. Setting the list to NOMAIL is a very polite thing to do. Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner On Fri, 5 Aug 1994, Ed Staffin wrote: > Is there a way to temporarily sign off this list so I can go on vacation and > not get swamped when I get back? > Later ... Ed ========================================================================= Date: Mon, 8 Aug 1994 08:18:00 EST From: Msg Recipient Subject: Mail failure XE "Mail failure"  FROM: GA030/HQMPO/POSTMASTER TO: Discussion for Microsoft Visual Basic and Re DATE: 08-08-94 TIME: 09:14 SUBJECT: Mail failure --------------------- XE "failure" --------------------------------------------------------- [005] Mail retry count exceeded sending to: GA030 /IRMPO ------------------------------------------------------------------------------ MCI Mail date/time: Mon Aug 08, 1994 7:58 am EST Source date/time: Sun, 7 Aug 1994 16:38:15 BST ------------------- test ========================================================================= Date: Mon, 8 Aug 1994 08:22:32 CST From: Scott Nelson Subject: Printer Esc codes .... XE "Printer Esc codes ...."  > Is anyone out there familiar with sending printer escapes codes > from within VB? I am in the middle of an app that requires it to > print in true OCR-A, and the closest I have is a cheesy font that > doesn't work right. Our LaserJet IV/si has a font catridge that > contains a true OCR-A font, but I don't know how to change it in > to the OCR mode, and back again. > > Here's the escape code : > > (0O(s0p10.00h12.0v0s0b104T There is an article in the Knowledge Base about this that was shipped with VB3Pro, article #Q96795 (Choose "Printing", then "Using PASSTHROUGH Escape to Send Data Directly to Printer"). I have never used it, but I read it recently (I was trying to find out how to change to Portrait/Landscape directly and I also found this in the KB). Scott sbnels@ccMail.Monsanto.COM ========================================================================= Date: Mon, 8 Aug 1994 15:10:19 +0200 From: Antony Meadley Subject: C/VB data types (for use with DLLs) XE "C/VB data types (for use with DLLs)"  What is the VB way to declare the following C DLL: int f (SA FAR * lpSA) whe typedef struct { unsigned short a; char FAR * b; unsigned short * c; } SA Will the following work? TYPE SA a as integer b as string*1 c as integer END TYPE DECLARE FUNCTION f LIB "lib.dll" (lpSA as SA) as INTEGER I don't think that b & c are correct. Any ideas? Perhaps C/VB conversions could be added to the FAQ? Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Mon, 8 Aug 1994 15:27:44 PDT From: "Gary A. Ferguson" Subject: Index Tab Control XE "Index Tab Control"  I'm using YATC.VBX, by Peter Golde (petergo@microsoft.com.) It's freeware and seems to work very well. (I've only done 1 form with 4 tabs, however.) I think I got it off of CICA Gary >I'm looking for a VB control like the Sheridan Designer Widget that does Index > Tabs (displays index like cards that contain your options and frames). Does > anyone have any experience with this control? Are there other Index Tab > Controls out there? The Sheridan seem kind of pricey ($129 list). garyfe@inet2go.com ========================================================================= Date: Mon, 8 Aug 1994 17:43:29 NST From: Brent Downey Subject: Re[2]: Animating Graphic Methods XE "Re[2]\: Animating Graphic Methods"  > > > Let's see... On the Visual Basic list... There's no Visual Basic for the > > Amiga... meaning you need a PC to participate here... whereas we don't need > > Amigas for Animating Graphic Methods... sounds to me like your Amiga just > > doesn't cut it, little brother. Try a Pentium/90 with PCI or DX4/100 with > > VLB/PCI. PC movies are fantastic at 60+ fps. (Not to mention DOOM runs in > > Windows on a PC. Does Amiga do that?) You're missing out on all the fun, > > small fry. :-) > > > > Craig Warford > > WAR > > warford@uthscsa.edu > > > Can we please kill this thread, I'm tired of seeing my inbox filled with > this crap (last I checked this wasn't an Amiga v. Ibm mailing list) > > Thank you > Oooh dear, someone got out of bed the wrong side this morning, didn't they? Approximately 860 people get approximately 30 mail messages a day from this list. Personally speaking, only about one tenth of what I read is useful so a lot of 'crap' comes into my mailbox each day, but you see I have a magical skill. I have the power of deleting mail messages which I deem to be 'crap'. Maybe you haven't cottoned on to this concept yet. What is one or two Amiga flames compared with all the rest of the mail from this list? Are we not human? Can we not have a little fun along the way? He is right though; this is a Vb mailing list and not Amiga vs. IBM so although I could all kill you with a list of how the Amiga has amazing capabilities which make it completely different from a PC, I won't. THIS THREAD STOPS HERE. Craig ch21cp@surrey.ac.uk - OK - PC's are very good for animations, but I have to admit, when it comes to animation in windows then you can say the word c-r-a-p. ========================================================================= Date: Mon, 8 Aug 1994 17:48:33 NST From: Brent Downey Subject: Enhanced TOOLBAR XE "Enhanced TOOLBAR"  I just got VB3-STD 3 days ago, and I am in the process of learning how to use it. There is one strange thing however... The tools for creating objects on forms are listed out in two columns, and In most books I see it listed in 3 columns that are a little longer. The new tools include fancier radio and checkbox buttons and the like. Do I need this threeD.VBX file i've been hearing about to get there functions? Is it shareware/freeware? Where can I get a copy if I don't have access to ftp (just uuencoding). Thanx, Brent Downey ========================================================================= Date: Mon, 8 Aug 1994 15:57:57 -0700 From: Jeffrey Mcmanus Subject: In search of wisdom ! In- XE "In search of wisdom !"  On Mon, 8 Aug 1994, Eric Laverdiere wrote: > O great VB gurus, > > Please enlighten me. My quest is to intercept the unload event (ALT-F4) > in order to prompt a yes/no question. How may I abort the unload event??? > > My journey is briefly halted. Only the wisdom of a thousand years (person- > years of course) will get me on my way!!! > > > In search of the holy grail, > +-------------------------------------+ > |Eric Laverdiere | > |MIS Masters Degree Student | > |Ecole des Hautes Etudes Commerciales | > |Montreal,Canada | o ___o\_ > |Internet:K386@HEC.CA | \------\ / > +-------------------------------------+ ~~~~~~~~~~~~~~~~~~~~~~~~ > ========================================================================= Date: Mon, 8 Aug 1994 15:59:30 -0700 From: Jeffrey Mcmanus Subject: Index Tab Control In- XE "Index Tab Control"  forms, as well as a toolbar control. On Mon, 8 Aug 1994, James Siwik O/o wrote: > I'm looking for a VB control like the Sheridan Designer Widget that does Index > Tabs (displays index like cards that contain your options and frames). Does > anyone have any experience with this control? Are there other Index Tab > Controls out there? The Sheridan seem kind of pricey ($129 list). > ========================================================================= Date: Mon, 8 Aug 1994 16:09:34 -0700 From: "Scott H. Seligman" Subject: In search of wisdom ! In-> Pl XE "In search of wisdom !" ease enlighten me. My quest is to intercept the unload event (ALT-F4) > in order to prompt a yes/no question. How may I abort the unload event??? > Straight from TFM: Syntax Sub {Form|MDIForm}_Unload (Cancel As Integer) Remarks Setting Cancel to any nonzero value prevents the form from being removed, but does not stop other events such as exiting from Windows. Use the QueryUnload event to stop exiting from Windows. seligman@netcom.com ========================================================================= Date: Tue, 9 Aug 1994 09:32:35 --1000 From: Daniel Bowen Subject: In search of wisdom ! XE "In search of wisdom !"  > O great VB gurus, > > Please enlighten me. My quest is to intercept the unload event (ALT-F4) > in order to prompt a yes/no question. How may I abort the unload event??? > > My journey is briefly halted. Only the wisdom of a thousand years (person- > years of course) will get me on my way!!! My son, you have travelled far to gain this wisdom. But I must refer you back to your book of scriptures, the most holy Language Reference. Inspect the section on the QueryUnload event, and thy prayers shall be answered. Also from the Programmer's Guide Bible, Chapter 14, verse 10, "Unloading MDI forms with QueryUnload" will bring you much salvation from your suffering. Go in peace, child. May your bugs ever wither and die, and your code be indestructible. May your system response time be speedy, and your users happy. And may your pigs fly. -- Daniel Bowen, Atlas Project, NTC Telecom Australia [Telstra], Melbourne Work: dbowen@vcomtelc.telecom.com.au Play: dbowen@gnu.ai.mit.edu ========================================================================= Date: Mon, 8 Aug 1994 17:50:02 -0700 From: Jeffrey Mcmanus Subject: can bit shifts be done in Visual Basic In- XE "can bit shifts be done in Visual Basic"  On Mon, 8 Aug 1994, Rich Campoamor wrote: > Can bit shifting type operations be done in Visual Basic? I gave TFM a quick > read and didn't uncover any clues. Can this be accomplished via a readily > available add-on? > > rich > rcampoam@internet.cnmw.com > ========================================================================= Date: Mon, 8 Aug 1994 18:09:00 EST From: Bill Hoeft <0006782999@MCIMAIL.COM> Subject: TOOLBAR XE "TOOLBAR"  >I hope you can help me with a couple of questions. I'm using VB 3.0 Pro. > >1. I need to implement a toolbar. What do I need to use i.e. Frame, Panel, >????. Where can I get a good library of Icons, BMP's etc. (Like the exit >button - the one with the door and an arrow etc). I'm not sure what needs >to be done from start to finish. > >2. What is the best way to implement the bubbles that describe what the >mousepointer is on? > >Are there 3rd party tools for any of this? If so, who, where and $$ would >be extremely helpful. > >Thanks in advance. >Matt >willarmp@clvgrpl.usaclv.msnet.bp.com Matt, I have started using a package call 'Designer Widgets' from Sheridan Software Systems. It contains a 3 .VBX's, one of which does allow you to implement a toolbar in your program. The other .VBX's allow you to create a Tab contol and the other allows you to change the appearence of the form (small title like the VB tool palette or various 3D effects to name a few). The toolbar allows for Balloon help as well as status panel help. It should also come with a bitmap tool editor (if not, download it from there BBS 516-753-5452) for creating your own buttons. You could create all of the items in the Toolbar tool from straight VB code but as a whole I like the entire package. So far I have liked most of the items from Sheridan, especially VBAssist. I don't mean to sound like their spokesman (and no I'm not!) I just like their stuff. Just my two cents worth. -------------------------------------------------------------- Bill Hoeft, Programer Tel: (703)903-1197 MCI Telecommunications FAX: (703)903-1199 McLean, Virginia USA Internet: bhoeft@mcimail.com -------------------------------------------------------------- ========================================================================= Date: Tue, 9 Aug 1994 10:03:00 EST From: "Shorten, Anthony" Subject: MOD player XE "MOD player"  I am interested in writing a MOD player in Windows are there any VBX's or DLL's that could help me out ? Anthony Shorten Telecom Australia ========================================================================= Date: Tue, 9 Aug 1994 00:36:44 EDT From: "Terry E. Harris" Subject: Jet 2.0 Compability layer XE "Jet 2.0 Compability layer"  >I have Visual Basic 3.0 Pro installed and am trying to install >JET 2.0 compability layer in order to get benefits of the new >database engine. > >I ftp'ed compability layer setup files (COMLYR.EXE) from ftp.microsoft.com >and unpacked setup files. After that I tried to install the kit, but >installation failed with an error message "Access 2.0 must be installed >before you can install the compability layer". I was under impression >that VB 3.0 Pro would be enough, after all, you don't need Access 1.1 >in order to use JET 1.1. Microsoft's assumption is that you must have Access 2.0 in order to need the compatability layer. The key words are "compatability layer". It is provided so that people who have created Access 2.0 databases can use them in VB. The compatability layer is not an upgrade to Visual Basic's Jet engine. As a matter of fact, some of the new features (cascading deletes, engine level field validation and such) are not directly accessible/controllable within VB (you must have Access to create a db with those features). VB sees many of the new Jet engine error returns as undefined. Jet 1.1 is the only native db format for VB. Perhaps VB 4.0 will use the Jet engine v2.0. BTW, the file that the install wants to find is MSAJT200.DLL. It is not freely distributable. ========================================================================= Date: Tue, 9 Aug 1994 00:44:29 EDT From: "Terry E. Harris" Subject: Index Tab Control XE "Index Tab Control"  >I'm looking for a VB control like the Sheridan Designer Widget that does Index > Tabs (displays index like cards that contain your options and frames). Does > anyone have any experience with this control? Are there other Index Tab > Controls out there? The Sheridan seem kind of pricey ($129 list). > Yup. EZTAB is available on Compuserve in the MSBASIC forum. Costs $22 to register. I have used VideoSoft's VSVBX and Farpoint's tab controls, and I prefer EZTAB much more. The design time environment is nicer, it is small, and it just plain works. Won't do bitmaps on the tab thingy (technical term there), but I didn't need that. ========================================================================= Date: Tue, 9 Aug 1994 00:50:41 EDT From: "Terry E. Harris" Subject: ISO: Novell VBX XE "ISO\: Novell VBX"  >If anyone knows of a VBX that allows calls to novell (userlist, >console messaging, etc) could you drop me a line to let me know where >to find it? Retail : Crescent Software has a library (I think with some VBX's) called NetTools or NetLib PD : NIVB or NWTEST are files on Compuserve (in MSBASIC and NOVLIB) that have almost all the declares for the functions in NWSPXIPX.DLL and NWNETAPI.DLL. Also comes with a decent demo program.      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqstuvwxyz{|}~ ========================================================================= Date: Mon, 8 Aug 1994 23:06:00 -0500 Organization: ACCUG BBS Gainesville, FL (904) 335-7289 Subject: Index Tab Control XE "Index Tab Control"  James, JS>I'm looking for a VB control like the Sheridan Designer Widget that does Index JS>Tabs (displays index like cards that contain your options and frames). Does JS>anyone have any experience with this control? Are there other Index Tab JS>Controls out there? The Sheridan seem kind of pricey ($129 list). JS> Yup, get VSVBX.zip from the CIS MSBASIC forum. It has a good tab control, it also has two other nice controls; Elastic and AWK. Its shareware and only $45. It might also be available from other places. Read the instructions in the sample app comments for the tab control. The help file seems to have an error in it. I'm somewhat leary about spending anything much on new controls until I see what VB 4 brings with it besides the 32 bit version. --- * UniQWK v3.3a* The Windows Mail Reader ---- +- ACCUG BBS ------------------------------------------ Gainesville, FL -+ | Specializing in IBM and Compatibles User Support from the Computer | | Novice to Power User. Carrying Rime, Fidonet, USENET, and Internet | +- Alachua County Computer Users Group ----- 904-335-7289 14.4k/V.32bis -+ ========================================================================= Date: Mon, 8 Aug 1994 23:06:00 -0500 Organization: ACCUG BBS Gainesville, FL (904) 335-7289 Subject: Jet 2.0 Compability laye XE "Jet 2.0 Compability laye"  Pete, PD>.@SUBJECT: Jet 2.0 Compability layer N XE "Jet 2.0 Compability layer"  PD>.@FROM :pdixon@TELERAMA.LM.COM N PD>Date: Mon, 8 Aug 1994 16:19:50 +0400 PD> PD> PD>I was forced to buy access 2.0 before it would work. If anyone did PD>manage to get by without access 2.0 it would really blow my day! :^) Microsoft says you have to have Access 2 in order to use it, however I understand you can include the needed .dll's with your VB application so that *your* users do not have to have Access 2. --- * UniQWK v3.3a* The Solution for Multilingual Messages ---- +- ACCUG BBS ------------------------------------------ Gainesville, FL -+ | Specializing in IBM and Compatibles User Support from the Computer | | Novice to Power User. Carrying Rime, Fidonet, USENET, and Internet | +- Alachua County Computer Users Group ----- 904-335-7289 14.4k/V.32bis -+ ========================================================================= Date: Tue, 9 Aug 1994 13:13:40 GMT+800 Organization: Edith Cowan University Subject: Index Tab Control XE "Index Tab Control"  > >I'm looking for a VB control like the Sheridan Designer Widget that does Index > > Tabs (displays index like cards that contain your options and frames). Does > > anyone have any experience with this control? Are there other Index Tab > > Controls out there? The Sheridan seem kind of pricey ($129 list). > > You could try tabbed21.zip available from CICA ========================================================================= Date: Tue, 9 Aug 1994 08:49:34 +0200 From: Bruce McKibben Subject: Printing In- XE "Printing"  > > > I just got my app finished, and was preparing the install (InstallSHIELD), > but when I get it installed on a system other than mine, it refuses to print. > The printer dialog comes up ok, but when I check the printer queue, zilch. > I've got it set up using the Printer.Print,,etc.. commands, with a MsgBox > about halfway through to prompt them to turn over the form they are printing > on. The MsgBox isn't coming up either. It doesn't lock up or anything, it > just doesn't print. I figure I am forgetting to include a file on the > install disks, but I can't figure which one it is. Any ideas????? > > > > LCpl Williams > 1st Marine Division > Camp Pendleton, CA > (and sleepless for the last four days) > I don't know.... Are you using only the Printer object to print? If so, then no extra DLLs are needed. Does your development system use a tractor feed printer while the new one uses a laser? Then you may be missing a Printer.EndDoc statement. Is it possible that for some reason your print subroutine is not getting called after the print dialog box closes, or that it is exiting as if you had chosen cancel? Is there an error in your handling of CD_CANCELERROR? Hope this helps (but I don't think it does...) Bruce ========================================================================= Date: Tue, 9 Aug 1994 09:40:00 CET From: Titov Pavel Subject: Capturing mouse messages XE "Capturing mouse messages"  You can easily do it using a timer. Type POINTAPI x As Integer y As Integer End Type Declare Sub GetCursorPos Lib "User" (lpPoint As POINTAPI) Declare Function WindowFromPoint Lib "user" (ByVal lpPointY As Integer, ByVal lpPointX As Integer) As Integer Declare Function GetActiveWindow Lib "User" () As Integer ---------------------- Sub Timer1_Timer () Dim curhWnd As Integer 'Current hWnd Dim p As POINTAPI Static LasthWnd As Integer 'Hold previous hWnd If GetActiveWindow() = Me.hWnd Then ' Initialize point structu Call GetCursorPos(p) ' Which window is the mouse cursor over? curhWnd = WindowFromPoint(p.y, p.x) ' Same as last window? If so, don't need to redraw: If curhWnd <> LasthWnd Then ' Store the current hWnd: LasthWnd = curhWnd ' Decrease timer interval to 5 ms (could choose 1 ms): Timer1.Interval = 5 ' Which control is the cursor over? Select Case curhWnd Case Image1(0).hWnd DisplayHelp "Cut" Case Image2(0).hWnd DisplayHelp "Copy" Case Image3(0).hWnd DisplayHelp "Paste" Case frmHelp.hWnd ' If it moves onto the help window, hide it: frmHelp.Hide Case Else ' Cursor is over the form or something else, so ' change interval back to 1 sec delay: DisplayHelp "" Timer1.Interval = 1000 End Select End If End If end sub ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Capturing mouse messages Date: Monday, XE "ring mouse messages"  August 08, 1994 10:51AM I would like to have the right mouse button provide help for each of the controls on my form. I think I could do this by having a msgblaster for each control, but I wonder if there's some more general way to capture all the WM_RTBUTTONDOWN messages on the form. What I'd like is a way to have only one routine at the form level capture all the mouse messages and then decide which control the mouse is on top of and pop up the appropriate help. Any ideas? Gary garyfe@inet2go.com ========================================================================= Date: Tue, 9 Aug 1994 05:13:26 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: C/VB data types (for use with DLLs) XE "C/VB data types (for use with DLLs)"  What is the VB way to declare the following C DLL: int f (SA FAR * lpSA) whe typedef struct { unsigned short a; char FAR * b; unsigned short * c; } SA Will the following work? TYPE SA a as integer b as string*1 c as integer END TYPE DECLARE FUNCTION f LIB "lib.dll" (lpSA as SA) as INTEGER I don't think that b & c are correct. Quite so. There's a slight difficulty in doing this in VB, since you cannot pass structures (and hence any bits in them) by value; you'll therefore have to do your own pointers in VB. This isn't difficult, but it isn't really supported. You can use a 3rd party DLL called VBPTR.DLL; but I don't know where you'd find it, or use windows API; an example follows for 'b' hMem = GlobalAlloc(GHND, 2) ptr = GlobalLock(hMem) hmemcpy hMem, b, 2 ...do your stuff with pointer... ptr = GlobalUnlock(hMem) ptr = GlobalFree(hMem) the VB type declaration would be Type SA a as integer b as long c as long End Type The two pointers would be created in the way described above, and then you'd pass the structure to your DLL. Alternatively you could pass the bits sepatately, eg int_far_pascal f (USHORT a, LPSTR b, USHORT* c) { SA sa; sa.a = a; sa.b = b; sa.c = c; } the VB declaration would then be a nice simple.. Declare Function f lib "lib.dll" (byval a as integer, b as string, c as integer) Finally, sorry if there are any typos / blatant syntax errors, etc; but it's all from memory (and mine isn't too good). Hope that's slightly useful... Al Any ideas? Perhaps C/VB conversions could be added to the FAQ? Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Tue, 9 Aug 1994 05:23:26 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Runaway picture XE "Runaway picture"  Warning: Quick dirty hack!! If there are no other graphics on the form, get out of VB, delete the .FRX file, and reload. Alternatively, check the picture property of the form; hopefully it contains (bitmap) or (icon) rather than (nothing). Double click on the picture property and hit delete (or is it single click...?). Anyway, that should clear it. I was using VB Assist to put a bitmap in the Picture property of a picture control. It consecutively (2 times) cause VB to give "Out of Memory"! I approached it differently on time #3. I used the properties and picked the bitmap myself, without using VB Assist. No out of memories, but the picture was put in two place: 1) on the Picture control and 2) in the upper left corner of the form. Now I can't get rid of the one in the upper left corner!?! I've tried selecting it - can't do it. I've tried deleting the picture control - doesn't remove the copy. For the moment I have a filled rectangle on top of it because I have a demo this afternoon. Anyone have this happen before and I just missed the thread? +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Tue, 9 Aug 1994 11:47:59 GMT From: Pablo Perez Trabado Subject: Enhanced TOOLBAR XE "Enhanced TOOLBAR"  >I just got VB3-STD 3 days ago, and I am in the process of learning how to use >it. There is one strange thing however... The tools for creating objects on >forms are listed out in two columns, and In most books I see it listed in 3 >columns that are a little longer. >Brent Downey Hello, Brent. Welcomed to the VB club. The toolbar you have is only two columns wide because there are no more controls to show. The 3-columns toolbar can be get only in VB3-Pro, with all custom controls loaded. >The new tools include fancier radio and >checkbox buttons and the like. Do I need this threeD.VBX file i've been >hearing about to get there functions? Is it shareware/freeware? Where can I >get a copy if I don't have access to ftp (just uuencoding). Thanx, Yes, the 3D-stuff needs THREED.VBX, but it is neither shareware nor freeware, but payware, copyrighted by Microsoft. If you're serious about using VB3 for serious programming, perhaps the best thing to do is asking your dealer about returning the STD version and getting the Pro; the improved capability of accesing databases through code is worth it (perhaps even more than the additional controls). On the other side, if you only want to stick your toe in the water, then the STD version lets you get the feeling the cheap way Hope this helps ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Tue, 9 Aug 1994 05:31:47 -0600 From: Brian Edginton Subject: Runaway picture In-> I was u XE "Runaway picture" sing VB Assist to put a bitmap in the Picture property of a > picture control. It consecutively (2 times) cause VB to give "Out of > Memory"! I approached it differently on time #3. I used the properties > and picked the bitmap myself, without using VB Assist. No out of > memories, but the picture was put in two place: 1) on the Picture > control and 2) in the upper left corner of the form. Now I can't get rid > of the one in the upper left corner!?! > > I've tried selecting it - can't do it. I've tried deleting the picture > control - doesn't remove the copy. For the moment I have a filled > rectangle on top of it because I have a demo this afternoon. Anyone have > this happen before and I just missed the thread? > Haven't had this experience with a picture control, but I had a gauge to the exact same thing. Finally had to delete the form and re-do it from the start. Had just a shadow of a guage, couldn't select it and it didn't appear in my frm's property box. Bummer! edge -- Brian Edginton | edge@unislc.slc.unisys.com Unisys - Performance Engineering | unislc!edge@cs.utah.edu 320 North 2200 West D1V01 | {hpda, sun}!unislc!edge Salt Lake City, Utah 84116 | (801) 594-6009 Human (usually) | (801) 594-5518 Fax ========================================================================= Date: Tue, 9 Aug 1994 08:59:45 -0230 From: Kenneth Liew Subject: Enhanced TOOLBAR In- XE "Enhanced TOOLBAR"  and 3d button...etc... to have more details about prof edition, check with the FAQ ... On Mon, 8 Aug 1994, Brent Downey wrote: > I just got VB3-STD 3 days ago, and I am in the process of learning how to use > it. There is one strange thing however... The tools for creating objects on > forms are listed out in two columns, and In most books I see it listed in 3 > columns that are a little longer. The new tools include fancier radio and > checkbox buttons and the like. Do I need this threeD.VBX file i've been > hearing about to get there functions? Is it shareware/freeware? Where can I > get a copy if I don't have access to ftp (just uuencoding). Thanx, > > Brent Downey > ========================================================================= Date: Tue, 9 Aug 1994 05:36:05 -0600 From: Brian Edginton Subject: can bit shifts be done in Visual Basic In-> Can bi XE "can bit shifts be done in Visual Basic" t shifting type operations be done in Visual Basic? I gave TFM a quick > read and didn't uncover any clues. Can this be accomplished via a readily > available add-on? > Aren't they the same as multiply and divide? I would write something like this... target% = ( source1% * 2^4 ) or ( source2% \ 2^4) 'left and right shifts -- Brian Edginton | edge@unislc.slc.unisys.com Unisys - Performance Engineering | unislc!edge@cs.utah.edu 320 North 2200 West D1V01 | {hpda, sun}!unislc!edge Salt Lake City, Utah 84116 | (801) 594-6009 Human (usually) | (801) 594-5518 Fax ========================================================================= Date: Tue, 9 Aug 1994 14:21:36 GMT From: Pablo Perez Trabado Subject: can bit shifts be done in Visual Basic XE "can bit shifts be done in Visual Basic"  :> :> Can bit shifting type operations be done in Visual Basic? I gave TFM a :> quick :> read and didn't uncover any clues. Can this be accomplished via a readily :> available add-on? :> >Aren't they the same as multiply and divide? I would write something like >this... >target% = ( source1% * 2^4 ) or ( source2% \ 2^4) 'left and right shifts Yes, shifting n bits can be done multiplying or dividing by 2^n, but with a heavy cost in time and processor overhead. At cica, dir /pub/pc/windows3/programr/vbasic, there's a shareware file, called PBCWIN.ZIP, with a DLL containing 78 different general purpose routines for VB. I don't remember now if bit shifting was included, but I do remember some routines like getting the high byte of an integer, and so on. Try it...perhaps you're lucky and there are some bit-shifting goodies. :) Regards. ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Tue, 9 Aug 1994 07:48:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Runaway picture XE "Runaway picture"  Somehow the picture property of the form got set to your bitmap. select the word 'bitmap' in the properties box and hit backspace. The picture should be gone. Russell Greenlaw ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Runaway picture Date: Monday, XE "ay picture"  August 08, 1994 10:24 I was using VB Assist to put a bitmap in the Picture property of a picture control. It consecutively (2 times) cause VB to give "Out of Memory"! I approached it differently on time #3. I used the properties and picked the bitmap myself, without using VB Assist. No out of memories, but the picture was put in two place: 1) on the Picture control and 2) in the upper left corner of the form. Now I can't get rid of the one in the upper left corner!?! I've tried selecting it - can't do it. I've tried deleting the picture control - doesn't remove the copy. For the moment I have a filled rectangle on top of it because I have a demo this afternoon. Anyone have this happen before and I just missed the thread? +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Tue, 9 Aug 1994 07:49:22 -0500 From: Michael Satterwhite Subject: Listbox XE "Listbox"  Eric, You might want to look at QuickPak Professional for Windows from Crescent Software. They have (among other goodies) a virtual listbox that can either tie directly to a database or allow you to feed it with data. No limit on number of entries. --- Michael ========================================================================= Date: Tue, 9 Aug 1994 08:49:44 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: C/VB data types (for use with DLLs) XE "C/VB data types (for use with DLLs)"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU>, antony.meadley@lo007.ubs.ubs.ch@internet Hello Antony, Here is how to declare your function/structure. Please read below, though..... Declare Function f Lib "C.DLL"(lpsa as SA) As Integer Type SA a as Integer b as long 'far ptr to string c as integer 'near ptr to string End Type Dim Test As SA, res as Integer res = f(test) Your going to have some problems here. SA.c is a near pointer. You can't get data from a SA.c because the DLL's DGROUP is not the same as the calling application. (In other words, when working with DLLs, are pointers must be far (SEGMENT + OFFSET). SA.b is a far pointer, which is fine, however VB cannot use pointers directly. However, You can use the winapi function lstrcpy get the data from SA.c: Declare Function lstrcpy Lib "Kernel" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long Dim buffer as string buffer=String(1024,0) res = lstrcpy(buffer,ByVal SA.b) Gerry Hull Consulting Software Engineer ---------------------------------------- Hull Associates hullassoc@aol.com hull@xanadu.enet.dec.com (preferred) ---------------------------------------- >> What is the VB way to declare the following C DLL: >> >> int f (SA FAR * lpSA) >> >> whe >> >> typedef struct >> { >> unsigned short a; >> char FAR * b; >> unsigned short * c; >> } SA >> >> >> Will the following work? >> >> TYPE SA >> a as integer >> b as string*1 >> c as integer >> END TYPE >> >> DECLARE FUNCTION f LIB "lib.dll" (lpSA as SA) as INTEGER >> >> I don't think that b & c are correct. >> >> Any ideas? Perhaps C/VB conversions could be added to the FAQ? >> >> Antony >> antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Tue, 9 Aug 1994 10:07:19 PDT From: Jason Williams Subject: Installers XE "Installers"  I've been using InstallSHIELD myself for a while, and I like it. The manual is kinda poorly written, as in the tutorials they keep forgetting to tell you certain things, like how to turn the status bars off and such, but overall it works pretty well. LCpl Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 9 Aug 1994 09:26:04 PDT From: Jason Williams Subject: Printing XE "Printing"  As it turns out, I am a moron. I forgot to put the font I was using on the install disks. Thanks anyway... LCpl Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 9 Aug 1994 17:17:09 BST From: Mr Craig Poxon Subject: Enhanced TOOLBAR XE "Enhanced TOOLBAR"  > > I just got VB3-STD 3 days ago, and I am in the process of learning how to use > it. There is one strange thing however... The tools for creating objects on > forms are listed out in two columns, and In most books I see it listed in 3 > columns that are a little longer. The new tools include fancier radio and > checkbox buttons and the like. Do I need this threeD.VBX file i've been > hearing about to get there functions? Is it shareware/freeware? Where can I > get a copy if I don't have access to ftp (just uuencoding). Thanx, > > Brent Downey > Sorry Brent, THREED.VBX is only available with the Professional edition. By the way, I have noticed that my toolbar is either two or three columns wide depending on the reolution I am running in or is it just my imagination? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 9 Aug 1994 11:26:03 EDT From: Eric Dore Subject: Visual C++ books XE "Visual C++ books"  Excuse me, It's not a VB question. I just want to know which is the best book for a beginner in Visual C++. Eric Dore, Quebec, CANADA ========================================================================= Date: Tue, 9 Aug 1994 11:19:09 EDT From: george a zachariah mgmt stnt Subject: VB reference XE "VB reference"  Hi, Does anyone know of any good reference book for VB? What I am looking for are functions and their definitions and examples of how to use them. If anyone knows of any please post or email me(gaz7216@hertz.njit.edu) directly. TIA. George Z. ========================================================================= Date: Tue, 9 Aug 1994 10:35:45 EDT From: John Lam Subject: Computer People XE "Computer People"  Hello All, I was wondering if anyone has any information on a consulting company in the US called Computer People. Does anyone have any experience working for, or hiring from, this company? Any information would be appreciated. Please reply directly to me to save cluttering up the list. Thanks. John Lam jlam@alchemy.chem.utoronto.ca ========================================================================= Date: Tue, 9 Aug 1994 08:43:00 CDT From: "Gardner, Terry W" Subject: Index Tab Control XE "Index Tab Control"  Does anyone know the name of the zip file containing this control? Terry twgardne@ingr.com ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Index Tab Control Date: Mond XE "Index Tab Control" ay, August 08, 1994 3:27PM I'm using YATC.VBX, by Peter Golde (petergo@microsoft.com.) It's freeware and seems to work very well. (I've only done 1 form with 4 tabs, however.) I think I got it off of CICA Gary >I'm looking for a VB control like the Sheridan Designer Widget that does Index > Tabs (displays index like cards that contain your options and frames). Does > anyone have any experience with this control? Are there other Index Tab > Controls out there? The Sheridan seem kind of pricey ($129 list). garyfe@inet2go.com ========================================================================= Date: Tue, 9 Aug 1994 09:17:22 -0400 From: Ian Ornstein Subject: Runaway picture -Reply XE "Runaway picture -Reply"  What happens if you save the form as text? You *may* be able to delete the redundant refrence to the picture.\ HTH - IanO - >>>>>>>>>>>>>>> I was using VB Assist to put a bitmap in the Picture property of a picture control. It consecutively (2 times) cause VB to give "Out of Memory"! I approached it differently on time #3. I used the properties and picked the bitmap myself, without using VB Assist. No out of memories, but the picture was put in two place: 1) on the Picture control and 2) in the upper left corner of the form. Now I can't get rid of the one in the upper left corner!?! I've tried selecting it - can't do it. I've tried deleting the picture control - doesn't remove the copy. For the moment I have a filled rectangle on top of it because I have a demo this afternoon. Anyone have this happen before and I just missed the thread? <<<<<<<<<<<<<<< ========================================================================= Date: Tue, 9 Aug 1994 09:31:28 EDT From: Eric Dore Subject: In search of wisdom ! XE "In search of wisdom !"  > O great VB gurus, > > Please enlighten me. My quest is to intercept the unload event (ALT-F4) > in order to prompt a yes/no question. How may I abort the unload event??? > > My journey is briefly halted. Only the wisdom of a thousand years (person- > years of course) will get me on my way!!! > > Eric, verifie les evenement unload et queryunload, pour empecher l'utilisateur de "unloader" tu dois mettre la variable cancel a 1 y=msgbox "question:",yesno if y<>yes then Cancel=1 else jhs kjfsdj end if Eric Dore Quebec, CANADA ========================================================================= Date: Tue, 9 Aug 1994 08:59:19 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: C/VB data types (for use with DLLs) XE "C/VB data types (for use with DLLs)"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU>, antony.meadley@lo007.ubs.ubs.ch@internet Hello Antony, Re My Last Comments.... It pays not to answer a question before the first cup o coffee in the morning... slight correction to my initial comments... Declare Function f Lib "C.DLL"(lpsa as SA) As Integer Type SA a as Integer b as long 'far ptr to string >> NO! c as integer 'near ptr to string c as integer 'near ptr to an integer YES End Type Dim Test As SA, res as Integer res = f(test) : >>> Slight corrections on these comments <<< Your going to have some problems here. SA.c is a near pointer to an unsigned short (integer in VB). SA.c is also an integer, because near pointers are two-byte values. However, I assume you want the data, not a pointer to the data; herein lies the problem. You can't get data from a SA.c because the DLL's DGROUP is not the same as the calling application. (In other words, when working with DLLs, all pointers must be far (SEGMENT + OFFSET). The only way to fix this is to create a C wrapper function which passes all values using far pointers. SA.b is a far pointer, which is fine, however VB cannot use pointers directly. However, You can use the winapi function lstrcpy get the data from SA.c: Declare Function lstrcpy Lib "Kernel" (ByVal lpString1 As Any, ByVal lpString2 As Any) As Long Dim buffer as string buffer=String(1024,0) res = lstrcpy(buffer,ByVal SA.b) Gerry Hull Consulting Software Engineer ---------------------------------------- Hull Associates hullassoc@aol.com hull@xanadu.enet.dec.com (preferred) ---------------------------------------- >> What is the VB way to declare the following C DLL: >> >> int f (SA FAR * lpSA) >> >> whe >> >> typedef struct >> { >> unsigned short a; >> char FAR * b; >> unsigned short * c; >> } SA >> >> >> Will the following work? >> >> TYPE SA >> a as integer >> b as string*1 >> c as integer >> END TYPE >> >> DECLARE FUNCTION f LIB "lib.dll" (lpSA as SA) as INTEGER >> >> I don't think that b & c are correct. >> >> Any ideas? Perhaps C/VB conversions could be added to the FAQ? >> >> Antony >> antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Tue, 9 Aug 1994 09:12:01 EDT Subject: VB and access 2.0? When will new DLL's be implemented? XE "VB and access 2.0? When will new DLL's be implemented?"  > > When will VB be able to do accexx 2.0 DBs? Will a whole new set of dll's > be made for, say, VB Pro 4.0? Thanks > > Jason Sloe > > Jason, VB can access Access 2.0 right now, but you need to get the Access 2.0 compatability layer in order to do it. I believe that layer is available at the Microsoft ftp site, ftp.microsoft.com. -- Frank McPherson ab546@detroit.freenet.org fmcpherson@eworld.com ========================================================================= Date: Tue, 9 Aug 1994 10:14:47 PDT From: Jason Williams Subject: InstallSHIELD XE "InstallSHIELD"  BTW I forgot to mention one serious downside to InstallSHIELD. The licensing agreement states that you have to buy a copy of InstallSHIELD for every different program you use it on. (eg. HappyWriter, ModemMagic 2.1, and dbStupid all require a separate copy of InstallSHIELD). LCpl Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 9 Aug 1994 10:18:28 PDT From: Jason Williams Howdy, I have been installing my app on some machines in my office and ran into some odd things. I'm just using the generic Printer object, but the program refuses to run unless the machine has MSAJT110.DLL, MSAJT120.DLL, and MSAJT200.DLL. Anybody know why? I doesn't help if I just copy the files from network, so I know it's not the installer. ???????? LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 9 Aug 1994 10:53:44 PDT From: "Ron Wu, SC2-24, 5-2368." Subject: VB reference XE "VB reference"  From: george a zachariah mgmt stnt > Does anyone know of any good reference book for VB? > What I am looking for are functions and their definitions > and examples of how to use them. If anyone knows of any > please post or email me(gaz7216@hertz.njit.edu) directly. > TIA. > > George Z. I found the books came with the VB are very good. I also learned from the examples that came with. If you really want to have other books, VB Superbible, ISBN 1-878739-50-6 VB How-to, ISBN 1-878739-42-5 Ron ========================================================================= Date: Tue, 9 Aug 1994 11:49:12 PDT From: Jason Williams >> Does anyone know of any good reference book for VB? >> What I am looking for are functions and their definitions >> and examples of how to use them. If anyone knows of any >> please post or email me(gaz7216@hertz.njit.edu) directly. >> TIA. >> >> George Z. > I found the books came with the VB are very good. I also >learned from the examples that came with. If you really want to >have other books, > VB Superbible, ISBN 1-878739-50-6 > VB How-to, ISBN 1-878739-42-5 >Ron I highly recommend the books listed above. Also on my list of must haves a Windows API Bible -- Waite Group Press Windows API New Testament -- Waite Group Press Visual Basic Guide the the Windows API (or something like that.) and if you do much with databases Database Developer's Guide w/ Visual Basic 3 -- SAMS Books LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 9 Aug 1994 14:33:42 -0400 From: Mark Schlageter Subject: Hiding 1st MDI Child? XE "Hiding 1st MDI Child?"  has anyone figured out a way to neatly hide the first child window in an MDI app? I don't want to show the initial empty child window since the user may be led to believe that something is amiss. I have tried using the ShowWindow API call to hide the window and it works ok in itself, but I still have a slight delay between the time the window is drawn and when my code hides it. Now besides looking like something is weird (with a flicker in the screen), it's just downright cheezy looking. what I'd like to do is intercept the draw of the child window and completely avoid it if I can. I figure I can do this with one of the utilities that subclass Windows messages. However, if I can do it in native VB, it'd be better (less stuff to keep track of at the customer site). if anyone has any ideas, I'd appreciate hearing from you either on the list or via email. -- +-------------------------------+ | Mark Schlageter | | Atex Publishing Systems Corp. | | schlag@atex.com | +-------------------------------+ ========================================================================= Date: Tue, 9 Aug 1994 16:17:24 EDT From: Silvino Mezzari Junior Subject: TList (Outline Control) XE "TList (Outline Control)"  Hi, Has anybody heard about this custom control ? TList. I saw a little blurb on it in the last VB Programmer's Journal. For those who have used it, I would like to know if it has the following basic propierties that are not available in the regular VB Outline control: NewIndex and Selected. Any info would be appreciated... Thanks, Silvino -------------------- Silvino Mezzari, Jr. McGill University Systems Montreal, PQ Canada ========================================================================= Date: Tue, 9 Aug 1994 16:19:55 EDT From: NancyJane Bailey Subject: Anyone tried Int 21H, AX=4402H ? XE "Anyone tried Int 21H, AX=4402H ?"  Hello all, Does anyone out there have experience calling the Int 21H, AH=44H functions from VB? I am having trouble with the Int 21H AX=4402H (IOCTL Read device control string) function. The write function "appears" to work properly (CF not set, the int returns the correct number of bytes to AX), but the read does not. CF is not set, but the interrupt *always* returns AX=0. (If the write function had indeed written to the device, there *should* be something there for the read function to read.) I can provide more details if required. Nancyjane PS If I try to talk to the instrument using QuickBasic 4.5 rather than Visual Basic 3.0, I can. In QB I can use the IOCTL/IOCTL$ routines. -- Nancyjane Bailey Internet: nbailey@nrao.edu ========================================================================= Date: Tue, 9 Aug 1994 15:17:00 -0700 From: "Warford, Craig" Subject: Re[2]: Animating Graphic Methods XE "Re[2]\: Animating Graphic Methods"  >- OK - PC's are very good for animations, but I have to admit, when it comes > to animation in windows then you can say the word c-r-a-p. How about the word W-i-n-G? Seen it yet? See if your local rep can get you a demo. Doom runs as good in a window as it does in DOS. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Tue, 9 Aug 1994 11:53:58 CST From: Liz Cody Subject: Listbox XE "Listbox"  Crescent Software offers a nice virtual list box that might be what you are looking for. There telephone number is 1-800 35 BASIC. Liz Cody AIG Edmond, Ok ______________________________ Reply Separator _________________________________ Subject: Listbox Author: Disc XE "ox" ussion for Microsoft Visual Basic and Related Issues at internet Date: 8/9/94 11:44 AM Can someone tell me where I can find Listbox breaking the 64k barrier. (I need the quickest one) (if there is a place where I can get them so I can try them before I'm buying, I'll be very happy) Tank you Eric Dore Quebec,CANADA ========================================================================= Date: Tue, 9 Aug 1994 15:42:00 CDT From: "Edwards, Chad R" Subject: Non-Destructive Drawing XE "Non-Destructive Drawing"  I am trying to let the user draw lines dynamically on a form. What are the correct combination of DrawMode settings to use on a rubber-banding Draw and Erase which are not destructive to other lines already drawn, or a grey colored background? I tried 1 on Draw and 14 to erase and all other combinations. Any suggestions? ============================================================= Chad R. Edwards Intergraph Corporation, Huntsville, AL credward@ingr.com (205) 730-7306 ============================================================= ========================================================================= Date: Tue, 9 Aug 1994 15:43:00 CDT From: "Edwards, Chad R" Subject: Status Bar - Help? XE "Status Bar - Help?"  This was posted earlier, I've gotten no replies..... Does anybody have any experience with this? I am having trouble relocating two ThreeD.vbx controls placed on a bottom "auto-aligned" picture frame when the form is resized. The picture control is supposed to look like a control/status bar and the ThreeD controls are coordinate readout for drawing on the form. When the form is resized, the picture resizes OK, but the boxes jump to the left side or disappear when I move them. I store the boxes relative positions, and move them to their new relative position from the corner of the picture frame on the picture_resize call. Here's the weird part, it works fine in debug, but not when just running it? Also, I notice the controls can maintain there location vertically within the picture by default, I guess they are attached to it. It appears the control locations are relative to the picture control origin when they are contained on a picture. When the picture is resized to auto-fit the form, its scale width is reset equal to the form width, so the same relative position ratio should work: Intially, control_pos_left = control.left / pict.width On_resize: control.left = pict.width * control_pos_left 1. What is the correct order of events when a form is loading.....load,resize,paint? 2. What's the deal with debug on this problem? 3. Is there a better way to move these? 4. Is there a better way to represent a control bar like this?, I've seen a few VBX's I guess I could use them. ============================================================= Chad R. Edwards Intergraph Corporation, Huntsville, AL credward@ingr.com (205) 730-7306 ============================================================= ========================================================================= Date: Tue, 9 Aug 1994 15:54:00 MDT From: Scott Ruckh Subject: OLE/EXCEL XE "OLE/EXCEL"  Does anyone have a sample of how to Link and embed an Excel spreadsheet into a Visual Basic App. I have three .XLS files and one .XLM file that I would like to incorporate into the VB program. I need to display two of the .XLS files and design a VB front end to control the spreadsheets. I need to be able to fill certain cells in the spreadsheet, and to run Macros from the Macrosheets. I am looking for a good reference that will show me what steps I need to take to build this type of application. If any one has any suggestions, I would really appreciate it. Thank you for your time, -Scott Ruckh ========================================================================= Date: Tue, 9 Aug 1994 15:41:35 PST8PDT From: Dan Nguyen Organization: UCLA Arts, Theater, Film & TV Subject: Calendar XE "Calendar"  Hi all, I am looking for a good Calendar.VBX. Can you recommend the third party software vendor that I can purchase from? Thanks in advance. Dan Nguyen UCLA, School of the Arts 314 A East Melnitz 405 Hilgard Ave (Tel) (310) 825-1336 Los Angeles, CA 90024-1427 (Fax) (310) 206-8504 ========================================================================= Date: Wed, 10 Aug 1994 07:42:54 +0800 From: Paul Jakins Subject: Various questions XE "Various questions"  I am currently developing two applications, one graphics oriented the other to improve my windows desktop. From these I have three requests for help/information: 1) When drawing in free-hand style on a picture control I use a line method to connect the points returned by the mousemove event. On some PCs the points returned do not provide a smooth drawing motion as the points returned aresome distance apart. Is there any way to improve the mousemove events resolution? 2) I am also searching for a picture type custom control that allows all of the drawing capabilities as found on the normal picture control, plus providing rotation, scaling and a transaparent background option that works similar to the image control. I do not want to use BITBLT function as I want to readily move the drawing objects around the screen and over other picture objects. Does anybody know of a control like this??? 3) By using a subclassing custom control I am able to capture windows messages for both my VB application and any other windows application that is running. Is there a windows message that is generated when a new application is started that can be captured. At the moment I have to re-read the top-level window list and compare to the last read operation. Suggestions would be welcomed. Finally, if anybody has the need for a neat VB3 program that keeps the windows desktop uncluttered by organising the minimized icons to a selectable corner of the screen, and can provide the icon title as the cursor moves over the icon, and can properly handle DOS sessions then I will try to make it available (shareware, full function, no nags) at my site. Thanks for any help that is given. Regards Paul Jakins Perth, Western Australia ========================================================================= Date: Tue, 9 Aug 1994 19:00:43 EDT From: Dan Shookowsky Subject: Index Tab Control In- XE "Index Tab Control"  > Tabs (displays index like cards that contain your options and frames). Does > anyone have any experience with this control? Are there other Index Tab > Controls out there? The Sheridan seem kind of pricey ($129 list). > Try VSVBX. At $45.00, the price is right, but I found the documentation to be a bit sparse (i.e. About the same as the help file with the demo). If I pay money for a VBX, I would like to see at least 3 inches (grin) of in-depth analysis and instruction concerning the product (limitations, resources used, etc). The demo is available at ftp.cica.indiana.edu (I assume in the /pub/pc/win3/programr/vbasic directory) and contains all ordering information. -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 9 Aug 1994 19:26:00 EST From: Rodney Schroeter <0005791716@MCIMAIL.COM> Subject: Cursor position XE "Cursor position"  I'm able to SetFocus on a text box, but is it possible to position the cursor, during run-time, within the text, at a certain point? Thanks, Rodney Schroeter 579-1716@mcimail.com **************************************************** Read ATLAS SHRUGGED by Ayn Rand **************************************************** ========================================================================= Date: Tue, 9 Aug 1994 20:55:41 NST From: Brent Downey Subject: Re[4]: Animating Graphic Methods XE "Re[4]\: Animating Graphic Methods"  >- OK - PC's are very good for animations, but I have to admit, when it comes > to animation in windows then you can say the word c-r-a-p. How about the word W-i-n-G? Seen it yet? See if your local rep can get you a demo. Doom runs as good in a window as it does in DOS. Craig Warford WAR warford@uthscsa.edu First of all, what's WinG? Is it a 32-bit extender for windows? Also, is it available via ftp, perhaps at ftp.microsoft.com? Thanks, Brent Downey ========================================================================= Date: Tue, 9 Aug 1994 20:42:55 EDT From: Chuck Stuart Subject: Cursor position XE "Cursor position"  Search on Selstart. Chuck Mesquite TX ========================================================================= Date: Tue, 9 Aug 1994 19:43:29 -0500 From: Michael Christian Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  I printed out a recient message about 'how to find the path that a VB program was executed from...', but I Can't find it! (Now, I'm saving mail in folders, but I looked and it's not there.) Is there anyone (someone) who saved this gem? I could really use it NOW! TIA Michael Christian ========================================================================= Date: Wed, 10 Aug 1994 09:44:09 JST From: Rocky Rapson Subject: Cursor position XE "Cursor position"  Check out the SelStart property in the manual or help file. It sets the insertion point. > I'm able to SetFocus on a text box, but is it possible to position the > > cursor, during run-time, within the text, at a certain point? > > Thanks, > > Rodney Schroeter > > 579-1716@mcimail.com > > > > **************************************************** > > Read ATLAS SHRUGGED by Ayn Rand > > *************************************************** Rocky Rapson rapsonr@og-scm.kadena.af.mil ========================================================================= Date: Tue, 9 Aug 1994 19:45:19 -0500 From: Michio Maeda Subject: Printing text in any angle XE "Printing text in any angle"  Hi, I want to develop some graphic application using VB and need to print text(hopefully TrueType fonts) in any directions. I know how to print in angle zero(0) degree using regular print method. Does any one show me how to print other than zero degree ? Thanks in advance. Michio Maeda, Milpitas, CA. ========================================================================= Date: Tue, 9 Aug 1994 19:47:41 -0500 From: Michael Christian Subject: Cursor position In- XE "Cursor position"  the 'whole thing, I set SelStart to 0, and Sel Length to >= the text length. Hope this helps, Michael Christian On Tue, 9 Aug 1994, Rodney Schroeter wrote: > I'm able to SetFocus on a text box, but is it possible to position the > > cursor, during run-time, within the text, at a certain point? > > Thanks, > > Rodney Schroeter > > 579-1716@mcimail.com > > > > **************************************************** > > Read ATLAS SHRUGGED by Ayn Rand > > **************************************************** > ========================================================================= Date: Tue, 9 Aug 1994 20:03:29 EDT From: Dan Shookowsky Subject: OLE/EXCEL In- XE "OLE/EXCEL"  > a Visual Basic App. I have three .XLS files and one .XLM file that I would > like to incorporate into the VB program. I need to display two of the .XLS > files and design a VB front end to control the spreadsheets. I need to be > able to fill certain cells in the spreadsheet, and to run Macros from the > Macrosheets. I am looking for a good reference that will show me what steps > I need to take to build this type of application. If any one has any > suggestions, I would really appreciate it. > > Thank you for your time, > > -Scott Ruckh > If you're using Excel v5.0 and you can get your boss (self?) to shell out $50 get the office developers kit. It's chock full of examples on OLE 2.0 and VBA, if you're short on cash, I think the VB knowledge base on Microsoft's FTP site has some examples (I found one for Word 6.0 and VB). -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 9 Aug 1994 20:04:52 EDT From: Dan Shookowsky Subject: Cursor position In-> I'm abl XE "Cursor position" e to SetFocus on a text box, but is it possible to position the > > cursor, during run-time, within the text, at a certain point? > > Thanks, > > Rodney Schroeter > > 579-1716@mcimail.com > > > > **************************************************** > > Read ATLAS SHRUGGED by Ayn Rand > > **************************************************** > -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 9 Aug 1994 20:11:45 EDT From: Dan Shookowsky Subject: WIN-G XE "WIN-G"  94/04/26 09:24:00 Copyright 1994 Comtex News Business Wire (20/1) ----- Microsoft Gets Serious About Fun in Windows "Chicago"; Announces New Software, Support for Developers of Games for Windows REDMOND, WASH. (APRIL 26) BUSINESS WIRE - April 26, 1994--Microsoft Corporation announced itsintention to make the Microsoft Windows operating system a great environment for computer games. At the Computer Game Developers Conference in Santa Clara this weekend, Microsoft announced it will deliver a new software library and other tools to make it easier for developers to create 32-bit games with fast graphics for existing and future versions of Windows. A developer's handbook entitled "Writing HOT Games for Microsoft Windows," the WinG software library, and information about a CompuServe forum for developers were described at the conference. "Microsoft is committed to delivering top-notch multimedia functionality in Windows," said Brad Chase, general manager of the personal operating systems division at Microsoft, "and games are one of the largest, most important categories of multimedia applications. Because of the installed base of more than 40 million Windows-based machines, the forthcoming 32-bit capabilities of Microsoft Windows 'Chicago,' and the games tools we announced this weekend, we believe the Windows family of operating systems offers great opportunities for games developers to grow their businesses." The most welcome news Microsoft delivered to games developers is about the tools for better graphics support for existing Windows systems. Fast graphics are critical to dexterity-based computer games, and the WinG library makes graphics speed and responsiveness dramatically better than was previously possible with Windows and comparable to the MS-DOS operating system. To demonstrate WinG's graphics performance, Microsoft and Id Software, maker of the popular MS-DOS-based game Doom, showed a prototype Windows-based version of Doom at the conference. According to Jay Wilbur, business manager of Id Software, the process of moving to Windows was easy. "John Carmack, the chief architect of Doom, and others ported the core Doom game to Windows in about two days, and boy, did it look good!" Wilbur said. "We plan to have a full version for Windows ready for Christmas." "The Windows-based PC is destined to become the primary information and entertainment device in the home," said Ron Whittier, senior vice president at Intel Corporation. "The WinG library will help make Windows the premier platform for games." New Capabilities for Games Coming in Windows "Chicago" In addition to improved graphics speed, Windows offers compelling advantages to game developers today, such as device independence and extended memory management services. Microsoft Windows "Chicago," the next major release of Microsoft Windows, will offer game developers even more capabilities because of its 32-bit architecture. According to Microsoft's Chase, the new WinG lets developers get started today on great, fast games for Windows "Chicago," while also taking advantage of the installed base of Windows and Windows for Workgroups 3.11 this year. He added that Microsoft expects some developers to be interested in going directly to Windows "Chicago" because it will enable them to create entirely new types of games. "For example, the extra performance of the 32-bit architecture of Windows 'Chicago,' as well as multithreading, networking and built-in support for high-performance digital video, could add up to some dazzling multiplayer games," said Chase. "WinG performance, plus new features in Windows 'Chicago,' make Windows a great computer-game environment," said David Stafford, president of Cinematronics. Developer Support Scheduled in May Microsoft plans to deliver three tools to get developers started creating games for Windows: A CompuServe forum for game developers to exchange ideas and ask questions. Copies of the "Writing HOT Games for Microsoft Windows" handbook, described below, can be downloaded from the forum today. To access the forum, type GO WINMM. The WinG library, which provides a portion of the fast graphics support of Windows "Chicago" under Windows 3.1. Game developers who use these libraries and the Win32 API set will be able to create fast 32-bit, 256- color games that are compatible with both current and future releases of Windows. A beta release of the library is scheduled to be available on CompuServe by the end of May. "WinG and the forum are just the first step," said Chase. "We are looking forward to a continuous dialogue with game developers that will help us make Windows the platform developers want for great computer games." More information about Microsoft's game efforts can be obtained by logging onto the CompuServe forum or sending e-mail to mmdinfomicrosoft.com. Founded in 1975, Microsoft (NASDAQ "MSFT") is the worldwide leader in software for personal computers. The company offers a wide range of products and services for business and personal use, each designed with the mission of making it easier and more enjoyable for people to take advantage of the full power of personal computing every day. -0- Notes to Editors: Microsoft, MS-DOS and Win32 are registered trademarks and Windows is a trademark of Microsoft Corporation. CompuServe is a registered trademark of CompuServe, Inc. MS-DOS is a trademarked product name. Please do not abbreviate in any way. ------------------------------------------------------------ -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 9 Aug 1994 21:17:18 +0400 From: Pete Dixon Subject: database listbox question In- XE "database listbox question"  apointments in it. The apointments are listed in the list box as mm/dd/yy my code is as follows: data1.databasename = "c:\mydir\my.mdb" data1.recordsource = "Mycal" loading = true do while not data1.recordset(0)) then ' the (0)refers to "[date]" list1.additem data1.recordset(0) data1.recordset.movenext loop loading = false (this is where I get stuck, I need to have the current day(if it is an apointment) as the first listindex I am very new to VB so Please any help would be very appreciated. pdixon@telerama.lm.com ========================================================================= Date: Tue, 9 Aug 1994 21:21:26 EDT From: Anthony Vu Subject: How to get the Name of Object?. XE "How to get the Name of Object?."  Hi, How can I get the NAME of the Object?. I search in Programmer's Guide, vbtip.txt, Visual Basic Online Knowledge Base, but I could not find anything tell how to get the name of object. I want something like: = GETCURTEXT$ () Where = me, focusObject, or something ???... (I don't want to type the NAME of each object.) Thank you for your help. --Anthony --------------------------------------------------------------------------- hgiang@ic.sunysb.edu H(516)667-0745 19 Nantucket Lane - Deer Park, NY 11729 ========================================================================= Date: Wed, 10 Aug 1994 09:23:49 GMT+800 Organization: Edith Cowan University Subject: WIN-G XE "WIN-G"  > A CompuServe forum for game developers to exchange ideas and ask > questions. Copies of the "Writing HOT Games for Microsoft Windows" > handbook, described below, can be downloaded from the forum today. To > access the forum, type GO WINMM. Also from gowinnt.microsoft.com. Great book. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Tue, 9 Aug 1994 18:32:31 -0700 From: Jeffrey Mcmanus Subject: Calendar In- XE "Calendar"  data-aware as most of their controls are. On Tue, 9 Aug 1994, Dan Nguyen wrote: > Hi all, > > I am looking for a good Calendar.VBX. Can you recommend the third > party software vendor that I can purchase from? > Thanks in advance. > > > Dan Nguyen > UCLA, School of the Arts > 314 A East Melnitz > 405 Hilgard Ave (Tel) (310) 825-1336 > Los Angeles, CA 90024-1427 (Fax) (310) 206-8504 > ========================================================================= Date: Tue, 9 Aug 1994 22:05:00 CDT From: Stephen Gehres Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  Michael, Try using App.Path to get the path of the EXE. Available in runtime only. Regards, Steve ________________________________________________________________ Stephen Gehres MSGID: SWG Information Systems & Services Internet: swg.dskpo27a@dskbgw1.itg.ti.com Texas Instruments, Inc. Voice: (214) 575-2410 Plano, Texas USA 75023 Fax: (214) 575-4853 ------------- Original Text From MChrist @ SMTP (Michael Christian) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 08/09/94 07:43 pm: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} I printed out a recient message about 'how to find the path that a VB program was executed from...', but I Can't find it! (Now, I'm saving mail in folders, but I looked and it's not there.) Is there anyone (someone) who saved this gem? I could really use it NOW! TIA Michael Christian ========================================================================= Date: Wed, 10 Aug 1994 11:42:00 EST From: "Barham, Tim" Subject: Vacation XE "Vacation"  > Is there a way to temporarily sign off this list so I can go on vacation and > not get swamped when I get back? > Later ... Ed And miss out on all the fun? Tim. ********************************************************************** * Tim Barham - Toolbook, Visual Basic, * * Consultant IconAuthor programming. * * Price Waterhouse Urwick - Multimedia Development. * * BISTEL Project * * Melbourne Victoria Australia tbarham@vcrpmap.telecom.com.au * ********************************************************************** ========================================================================= Date: Wed, 10 Aug 1994 11:47:00 EST From: "Barham, Tim" Subject: Animating Graphic Methods XE "Animating Graphic Methods"  > > You guys want to have a look at a _DECENT_ computer one day! > > Actually, I am looking at a fantastic one right now! My 66MHz Pentium > plays PONG much better than your Amiga will ever dream of.... :) > > Mark Oh PULEASE! I can get this on comp.sys.amiga.advocacy (and I occassionally do :-) and whatever it's DOS counterpart is, but not on a VB list, please! (Besides, EVERYBODY knows the Amiga is a far superior machine - SORRY - JUST KIDDING FOLKS!) Tim. ********************************************************************** * Tim Barham - Toolbook, Visual Basic, * * Consultant IconAuthor programming. * * Price Waterhouse Urwick - Multimedia Development. * * BISTEL Project * * Melbourne Victoria Australia tbarham@vcrpmap.telecom.com.au * ********************************************************************** ========================================================================= Date: Wed, 10 Aug 1994 01:01:36 -0500 From: Bruce McKibben Subject: Printing text in any angle XE "Printing text in any angle"  > > Hi, > I want to develop some graphic application using VB and > need to print text(hopefully TrueType fonts) in any directions. > I know how to print in angle zero(0) degree using regular print method. > Does any one show me how to print other than zero degree ? > Thanks in advance. > > Michio Maeda, Milpitas, CA. > Ed Staffin has made a sample that does this. Look for his file rotate.zip on (I think) ftp.mcs.com in the users/edstaff subdirectory. (Ed's on vacation right now, as we all know, but can give more info when he gets back.) -- Bruce McKibben Fysisk Institutt Bruce.McKibben@fi.uib.no Allegaten 55 phone: 47/55212884 N-5007 Bergen fax: 47/55318334 NORWAY ========================================================================= Date: Wed, 10 Aug 1994 09:14:03 +0300 From: Tommi Rintala Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  > I printed out a recient message about 'how to find the path that a VB > program was executed from...', but I Can't find it! (Now, I'm saving > mail in folders, but I looked and it's not there.) Is there anyone > (someone) who saved this gem? I could really use it NOW! I think that you already guess: If you get something, could you do summary to mailing-list or send me a copy thanks, tomppa2 ========================================================================= Date: Wed, 10 Aug 1994 14:52:40 GMT+800 Organization: Edith Cowan University Subject: WIN-G XE "WIN-G"  > > > > A CompuServe forum for game developers to exchange ideas and ask > > > questions. Copies of the "Writing HOT Games for Microsoft Windows" > > > handbook, described below, can be downloaded from the forum today. To > > > access the forum, type GO WINMM. > > > > Also from gowinnt.microsoft.com. Great book. > > > > Hi, > > could you share the location (and the filename) with me, > > thanks for your kindness > > tomppa2 > The file is WINGBT.ZIP in directory /developer/drg/WinG ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Wed, 10 Aug 1994 08:58:58 EDT From: telkom15!thokwant@TELKOM.CO.ZA Subject: OFFSUB : subscription XE "OFFSUB \: subscription"  subscribe Titus M. Thaitus ========================================================================= Date: Wed, 10 Aug 1994 17:25:00 EST From: "Egan, Peter" Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  Try App.Path Peter ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Finding path of VBapp.exe Date: 10 Au XE "Finding path of VBapp.exe" gust 1994 9:14 > I printed out a recient message about 'how to find the path that a VB > program was executed from...', but I Can't find it! (Now, I'm saving > mail in folders, but I looked and it's not there.) Is there anyone > (someone) who saved this gem? I could really use it NOW! I think that you already guess: If you get something, could you do summary to mailing-list or send me a copy thanks, tomppa2 ========================================================================= Date: Wed, 10 Aug 1994 04:44:54 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Big TOOL(BAR) XE "Big TOOL(BAR)"  > I just got VB3-STD 3 days ago, and I am in the process of learning h ow to use > it. There is one strange thing however... The tools for creating objects on > forms are listed out in two columns, and In most books I see it listed in 3 > columns that are a little longer. The new tools include fancier radio and > checkbox buttons and the like. Do I need this threeD.VBX file i've been > hearing about to get there functions? Is it shareware/freeware? Where can I > get a copy if I don't have access to ftp (just uuencoding). Thanx, > > Brent Downey > Sorry Brent, THREED.VBX is only available with the Professional edition. By the way, I have noticed that my toolbar is either two or three columns wide depending on the reolution I am running in or is it just my imagination? Well, people, if all you're worried about is width (and they say size doesn't matter...), then try the following... 1) Move your toolbox to the bottom of the screen such that only the top row of icons is visible. 2) Load a new project into VB. Then your VB3 std will give you a HUGE toolbox with a width of 19!! ;-) ========================================================================= Date: Wed, 10 Aug 1994 03:58:47 -0500 From: Steve Warner Subject: Teletext Characters XE "Teletext Characters"  Hi I'm trying to create a Teletext Character Set within VB. I've got a .FON File full of teletext characters. How do I display Teletext Characters within a VB MDI Child Window from this file. Steve ========================================================================= Date: Wed, 10 Aug 1994 10:38:38 BST From: Mr Craig Poxon Subject: Printing text in any angle XE "Printing text in any angle"  > > > > Hi, > > I want to develop some graphic application using VB and > > need to print text(hopefully TrueType fonts) in any directions. > > I know how to print in angle zero(0) degree using regular print method. > > Does any one show me how to print other than zero degree ? > > Thanks in advance. > > > > Michio Maeda, Milpitas, CA. > > > Ed Staffin has made a sample that does this. Look for his file rotate.zip > on (I think) ftp.mcs.com in the users/edstaff subdirectory. > I think it is ROTEXT.ZIP but I could be wrong and that is not the main reason for this post. You could try and 'Do-It-Yourself' as I did. I wanted to create draggable vertical labels and I don't think Ed's VBX has a Drag or is it a MouseMove event so I used the following knowledge base article with Picture Boxes and it worked fine: > How to Print Text Sideways in Picture Control with Windows API > Article ID: Q99874 By the way, this example and Ed's VBX will work ONLY with TT fonts! ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Wed, 10 Aug 1994 10:47:23 BST From: Mr Craig Poxon Subject: Calendar XE "Calendar"  > Dan, > QuickPak Pro has a calendar VBX that is pretty cool. 3D effects and it is > data-aware as most of their controls are. > > On Tue, 9 Aug 1994, Dan Nguyen wrote: > > > Hi all, > > > > I am looking for a good Calendar.VBX. Can you recommend the third > > party software vendor that I can purchase from? > > Thanks in advance. > > I don't know if this is the same one but you might want to check this out: ** Index of VisualBasic (VB) Files in ~ftp/pub/pc/win3/programr/vbasic ** at ftp.cica.indiana.edu [129.79.26.27] vbcal.zip 931025 Calendar.vbx: pop-up calendar Incidentally, does anyone know the algorithm for calculating dates? A few months ago, here in the UK, there was a programme on the telly called 'How Do They Do That?'. The particular episode I have in mind featured the World Memory Champion (a British person, btw) and he did this bit where people called out these dates, usually Birthdays, and he told them what day that was. He didn't actually remember everyday from the year dot but had this algorithm. He had some flip charts on which he had days/months/years with associated numbers which he used to calculate the day. |I had a pen and paper handy but couldn't get it down. Anyone know what I am talking about? Anyone care to enlighten me? TIA ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Wed, 10 Aug 1994 12:28:23 GMT Organization: Chemistry Department, Uni of Surrey Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  > > I printed out a recient message about 'how to find the path that a VB > > program was executed from...', but I Can't find it! (Now, I'm saving > > mail in folders, but I looked and it's not there.) Is there anyone > > (someone) who saved this gem? I could really use it NOW! > > I think that you already guess: If you get something, could you do > summary to mailing-list or send me a copy > Check out the App.Path property. It gives you the path of the exe. Dave ********************************************************************** Dave Elder, Network Manager * email elder@chem.surrey.ac.uk Chemistry Department * or d.elder@surrey.ac.uk University of Surrey * phone +44 (0)483 259592 Guildford, Surrey, GU2 5XH, UK * fax +44 (0)483 300803 ********************************************************************* ========================================================================= Date: Tue, 9 Aug 1994 15:54:05 EST From: Behrooz Mobini Subject: Number of Records XE "Number of Records"  Hi, I'm using data control in my database application. I extract records from the database by using SQL statements like: Data1.Recordset="Select * from myTable where Name=test" My question is: is there an elegant way to find out how many records that match the criteria are found without moving to the last record and checking the Recordcount property of the data control? B. Mobini ========================================================================= Date: Wed, 10 Aug 1994 08:18:52 EDT From: "Starsman, Lt Raymond S." Subject: Non-Destructive Drawing XE "Non-Destructive Drawing"  I'm working on an app that does non-destructive drawing for moving boxes around and drawing connections. I use DrawMode=6 and it seems to work well. Scott Starsman r_starsman@nise-p.nosc.mil ______________________________ Reply Separator _________________________________ Subject: Non-Destructive Drawing Author: Discus XE "estructive Drawing" sion for Microsoft Visual Basic and Related Issues at SMTP-GW Date: 8/10/94 7:54 AM I am trying to let the user draw lines dynamically on a form. What are the correct combination of DrawMode settings to use on a rubber-banding Draw and Erase which are not destructive to other lines already drawn, or a grey colored background? I tried 1 on Draw and 14 to erase and all other combinations. Any suggestions? ============================================================= Chad R. Edwards Intergraph Corporation, Huntsville, AL credward@ingr.com (205) 730-7306 ============================================================= ========================================================================= Date: Wed, 10 Aug 1994 08:30:38 EDT From: Cristiano Dias Subject: VB, OS/2 & Lotus. XE "VB, OS/2 & Lotus."  From: Cristiano A.Dias (E08980) RS17 55-21-271-3685 IBM Brasil - Projeto Horizonte --------------------------------------------------------------- Subject: VB, OS/2 & Lotus. XE "S/2 & Lotus."  Has anyone used VB Apps with OS/2 ?!? (as you might have seen from my header I have SPECIAL interest in that!) :-) And development ? Is that ok ? I've heard that Lotus is about to release a VB-Like software (Note VP or something like that) that will be TOTALLY compatible with VBasic (Lotus Script-Beta already is) and that will make OS/2 apps. !!! ()s Cristiano --------------------------------------------------------------- CIE - Centro de Inform tica na Educa+ o Rio de Janeiro - Brasil Internet: crisdias@vnet.ibm.com ========================================================================= Date: Wed, 10 Aug 1994 13:35:43 +0100 From: C Brown Subject: Books XE "Books"  Earlier, LCpl Jason recommended the book below: >> Database Developer's Guide w/ Visual Basic 3 -- SAMS Books Has anyone else seen the book above, and, does it support databases other than Access - ie. Oracle, SQl Server and ODBC ? Thanks, Chris. ========================================================================= Date: Wed, 10 Aug 1994 07:47:16 -0500 From: Edwin Freed Subject: Windows handles using VBA XE "Windows handles using VBA"  Is there any way using Visual Basic for Applications in Excel that I can get the hWnd's Of the parent and Child Windows ? There seems to be no VBA equivalent of :- Dim handle as integer handle = Object.hWnd The thinking behind all this, is that with the handle you could add 'Always On top' functionallity to Excel. Anybody got any ideas ? I'm just testing out VBA and OLE and have tried out OLE Automation but when I try and CreateObject("Excel.Application.5") I am told that there is not enough memory to create the object. I have a 486 66 with 16 meg of RAM. Has anyone else experienced problems ? Thanks in Advance!! Ed.. -------------------------------------------------------------------------------- Efreed@Channel4.Co.Uk 'Don't blame me, blame my project manager' -------------------------------------------------------------------------------- ========================================================================= Date: Wed, 10 Aug 1994 08:58:09 -0400 From: Harrold Casely-hayford Subject: child size in mdi XE "child size in mdi"  Hi all, I am working on an MDI application, When I first design my child windows I get a rather decent sized form on which I place my controls. My problem is when I run the application and bring up my child form the the size of the child window is determined by windows and is not the size I started of with. does anybody know the right way of going about this to get the child windows looking right?? Thanks Harold -- Harold Casely-hayford ========================================================================= Date: Wed, 10 Aug 1994 08:07:57 CDT Organization: Intergraph -- Database Object Integration Tools -- DOIT Subject: OLE/EXCEL In- XE "OLE/EXCEL"  /\ > /\ > Does anyone have a sample of how to Link and embed an Excel spreadsheet into /\ > a Visual Basic App. I have three .XLS files and one .XLM file that I would /\ > like to incorporate into the VB program. I need to display two of the .XLS /\ > files and design a VB front end to control the spreadsheets. I need to be /\ > able to fill certain cells in the spreadsheet, and to run Macros from the /\ > Macrosheets. I am looking for a good reference that will show me what steps /\ > I need to take to build this type of application. If any one has any /\ > suggestions, I would really appreciate it. /\ > /\ > Thank you for your time, /\ > /\ > -Scott Ruckh /\ > /\ /\ If you're using Excel v5.0 and you can get your boss (self?) to shell out $50 /\ get the office developers kit. It's chock full of examples on OLE 2.0 and /\ VBA, if you're short on cash, I think the VB knowledge base on Microsoft's /\ FTP site has some examples (I found one for Word 6.0 and VB). /\ -- Yes, there are several examples that do exactly what you want in the KB: | jd: /usr2/kevin/ms$ grep Excel index.txt | grep visual | Q75089 DDE from Visual Basic for Windows to Excel for Windows | Q105447 How to Use DDE Between Excel and Visual Basic | Q112194 How to Navigate Excel Objects from Visual Basic Version 3.0 | Q112417 How to Create Excel Chart w/ OLE Automation from Visual Basic I fetched and tried most of these and they were very helpful. The last one, in fact, not only lets you embed an Excel chart, but you can in-place activate the chard and "edit" it - if you know what you're doing because you're "in" Excel but there are no menus, etc., cause all you see if you VB form and the chart itself. /\ Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu /\ CB Technologies Microsoft Solution Provider Associate Computer Consultant The samples are on the MSDN CD, and/or you can fetch 'em from ftp.microsoft.com My KB index is a few weeks old, so there may be even more of 'em. -- Fyi - -- Kevin "love OLE and automation" Pammett |------------------------------------------------------------------| | "If you resist change, you die. If you adapt to it, you survive. | | And if you cause it, you lead." ... "Of course, if you cause | | change, you can die, too. -- But it's a more exciting death." | |----------------------------------------+ | | Intergraph, Huntsville, AL. m/s IW17D4 | -- Ray Noorda, | -- rsvp: kgpammet@ingr.com (205) 730-1517 | CEO, Novell/USL Inc. | |------------------------------------------------------------------| ========================================================================= Date: Wed, 10 Aug 1994 10:10:20 +3 From: Artur Roberto Lima Rodrigues Organization: Fundacao CAPES Subject: Number of Records XE "Number of Records"  Hi, Try: Dim MyDB As Database, Myset As Dynaset Dim SQLStmt As String Const DB_READONLY = 4 ' Set constant. Set MyDB = OpenDatabase(Data1.DatabaseName) ' Open database. ' Set text for the SQL statement. SQLStmt = "SELECT * from myTable where Name=teste" ' Create the new Dynaset. Set Myset = MyDB.CreateDynaset(SQLStmt, DB_READONLY) and for Recordcount Myset.MoveLast Myset.recordcount > I'm using data control in my database application. I extract records from the > database by using SQL statements like: > > Data1.Recordset="Select * from myTable where Name=test" > > My question is: is there an elegant way to find out how many records that > match the criteria are found without moving to the last record and checking > the Recordcount property of the data control? |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Wed, 10 Aug 1994 08:33:10 -0500 From: Bruce McKibben Subject: Printing text in any angle XE "Printing text in any angle"  > [snip] >> > >> Ed Staffin has made a sample that does this. Look for his file rotate.zip >> on (I think) ftp.mcs.com in the users/edstaff subdirectory. >> > I think it is ROTEXT.ZIP but I could be wrong and that is not the main >reason for this post. > [snip] ROTEXT.ZIP is a vbx by someone else. Ed's sample uses api calls. -- Bruce McKibben Fysisk Institutt Bruce.McKibben@fi.uib.no Allegaten 55 phone: 47/55212884 N-5007 Bergen fax: 47/55318334 NORWAY ========================================================================= Date: Wed, 10 Aug 1994 09:33:37 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Windows handles using VBA XE "Windows handles using VBA"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU>, Efreed@Channel4.Co.Uk@internet Hi Ed, I'll try and answer your questions, as I've done alot in VBA.... >> Is there any way using Visual Basic for Applications in Excel that I can get the >> hWnd's Of the parent and Child Windows ? There seems to be no VBA equivalent of >> :- >> >> Dim handle as integer >> handle = Object.hWnd >> >> The thinking behind all this, is that with the handle you could add 'Always On >> top' functionallity to Excel. >> >> Anybody got any ideas ? Well, VBA does not provide such a function directly, but you can get the handles very easily using the following WINAPI functions... Declare Function GetFocus Lib "User" () as Integer Declare Function GetParent Lib "User"(Byval hwnd as integer) as Integer Declare Function FindWindow Lib "User"(Byval Class as any, Byval Caption as Any) as Integer Now, if the child Excel Window has focus, calling Getfocus() will return it's window handle. Once you have that, calling GetParent(GetParent(ChildhWnd)) will return you the top Excel Window (Excel's main window handle; you need to call GetParent twice because the Worksheet windows are contained within another container). Also, you can use the FindWindow() function to find these values directly - you need to know the class names though.... Excel's main window classname is XLMAIN and the class of MDI children is EXCEL9. So, to get the handle to the Excel Main Window, call FindWindow(Byval "XLMAIN",Byval "Microsoft Excel") or whatever the main window caption is. To use FindWindow with the child, call, FindWindow("EXCEL9","ChildWindowCaption") The danger here is that more than one child may be open and FindWindow will find the first one. Getfocus() is the way to go with children! >> >> I'm just testing out VBA and OLE and have tried out OLE Automation but when I >> try and CreateObject("Excel.Application.5") I am told that there is not enough >> memory to create the object. I have a 486 66 with 16 meg of RAM. Has anyone else >> experienced problems ? >> I'm using a DECpc 433 486/33 with 24 Mb RAM and no trouble; the problem is probably not enough DOS memory, i.e. memory below the 640K barrier. You can have 64Mb of memory and not have enuff to run applications. Check to see that you have at least 500K of DOS memory available before starting Windows (Do MEM at DOS prompt). >> Thanks in Advance!! >> Ed.. >> >> ------------------------------------------------------------------------------- - >> >> Efreed@Channel4.Co.Uk >> 'Don't blame me, blame my project manager' >> >> ------------------------------------------------------------------------------- - Gerry Consulting Software Engineer --------------------------------- Hull Associates hullassoc@aol.com hull@xanadu.enet.dec.com (preferred) -------------------------------- ========================================================================= Date: Wed, 10 Aug 1994 09:03:24 -0500 From: Jon Turner Subject: Using Paradox 4.0 indexes XE "Using Paradox 4.0 indexes"  I am using tables in Paradox 4.0 format and want to display data in a grid object using my choice of index (instead of the natural order). I am opening a Database, creating a table object, setting the index property, and then setting the RecordSource property on my Data Control to that table object. The grid object still displays the table in default order? I am using the Jet 2.0 database engine and the PDX200.DLL Has anyone experience this kind of problem? Advise? ========================================================================= Date: Wed, 10 Aug 1994 09:40:25 EST From: Nathan Brindle Organization: IUPUI Student Activities Office (317) 274-3931 Subject: OFFSUB : subscription In- XE "OFFSUB \: subscription"  Send a message to LISTSERV@TAMVM1.TAMU.EDU (not to the list!) with the single line SUB VISBAS-L Your Name Thanks, Nathan Brindle Subbing for Rick Huff (VISBAS-L listowner) while he's on vacation BITNET: NBRINDLE@INDYCMS -------------------- Internet: NBRINDLE@IUPUI.EDU Nathan C. Brindle, Student Activities Office Indiana University Purdue University Indianapolis Staff Advisor, Alpha Phi Omega Nat'l Service Fraternity, Tau Omicron Chapter List Manager, ACCESS-L, BRTHPRNT, EXCEL-L@INDYCMS and other lists Disclaimer: My opinions are my own. Indiana University can speak for itself. ------------------------------------------------------------------------------ ========================================================================= Date: Wed, 10 Aug 1994 07:47:00 PDT From: "Schottenloher, James J., SSGT" Subject: child size in mdi XE "child size in mdi"  The only way is to size and position the child forms when they load. ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: child size in mdi :)Date: Wedn XE "ld size in mdi" esday, 10 Aug, 94 8:58AM :) :)Hi all, :) :)I am working on an MDI application, When I first design my child windows I :)get a rather decent sized form on which I place my controls. My problem is :)when I run the application and bring up my child form the the size of the :)child :)window is determined by windows and is not the size I started of with. does :)anybody know the right way of going about this to get the child windows :)looking right?? :) :)Thanks :) :)Harold :) :)-- :)Harold Casely-hayford :) ========================================================================= Date: Wed, 10 Aug 1994 07:33:00 PDT From: "Schottenloher, James J., SSGT" Subject: Cursor position XE "Cursor position"  Text properties: SelStart, SelText, SelLength ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Cursor position :)Date: Tuesd XE "sor position" ay, 09 Aug, 94 7:26PM :) :)I'm able to SetFocus on a text box, but is it possible to position the :) :)cursor, during run-time, within the text, at a certain point? :) :) Thanks, :) :) Rodney Schroeter :) :) 579-1716@mcimail.com :) :) :) :)**************************************************** :) :) Read ATLAS SHRUGGED by Ayn Rand :) :)**************************************************** :) ========================================================================= Date: Wed, 10 Aug 1994 07:30:00 PDT From: "Schottenloher, James J., SSGT" Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  App.Path ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Finding path of VBapp.exe :)Date: Tuesd XE "ding path of VBapp.exe" ay, 09 Aug, 94 7:43PM :) :)I printed out a recient message about 'how to find the path that a VB :)program was executed from...', but I Can't find it! (Now, I'm saving :)mail in folders, but I looked and it's not there.) Is there anyone :)(someone) who saved this gem? I could really use it NOW! :) :) TIA Michael Christian :) ========================================================================= Date: Wed, 10 Aug 1994 08:41:00 GMT From: GEORGE CSEFAI Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  C>From: Michael Christian >Subject: Finding path of VBapp.exe >Date: XE "Finding path of VBapp.exe"  Tue, 9 Aug 1994 19:43:29 -0500 >To: george.csefai@keaneinc.com C>I printed out a recient message about 'how to find the path that a VB >program was executed from...', but I Can't find it! (Now, I'm saving >mail in folders, but I looked and it's not there.) Is there anyone >(someone) who saved this gem? I could really use it NOW! C> TIA Michael Christian I use app.path to return the pathname from the executable... George --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Wed, 10 Aug 1994 08:13:00 GMT From: GEORGE CSEFAI Subject: InstallSHIELD XE "InstallSHIELD"  JW>From: Jason Williams >Subject: InstallSHIELD >Date: XE "InstallSHIELD"  Tue, 9 Aug 1994 10:14:47 PDT >To: george.csefai@keaneinc.com JW>BTW JW> I forgot to mention one serious downside to InstallSHIELD. The >licensing agreement states that you have to buy a copy of InstallSHIELD for >every different program you use it on. (eg. HappyWriter, ModemMagic 2.1, and >dbStupid all require a separate copy of InstallSHIELD). JW> LCpl Williams > 1st Marine Division > Camp Pendleton, CA Thanks for the info on InstallSHIELD. I really DON'T like that license agreement. I think I'm going with the Wise Installation System. Easy to use, scriptable, graphics, compression, disk splitting and only costs $70 for the Pro version. George --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Wed, 10 Aug 1994 08:03:00 GMT From: GEORGE CSEFAI Subject: VB reference XE "VB reference"  G>From: george a zachariah mgmt stnt >Subject: VB reference >Date: XE "VB reference"  Tue, 9 Aug 1994 11:19:09 EDT >To: george.csefai@keaneinc.com G> Hi, G> Does anyone know of any good reference book for VB? > What I am looking for are functions and their definitions > and examples of how to use them. If anyone knows of any > please post or email me(gaz7216@hertz.njit.edu) directly. > TIA. G> George Z. Hi George, The books I have in my VB 'toolbelt' a Visual Guide to Visual Basic - excellent reference Database Developers Guide with Visual Basic Visual Basic Programmer's Guide to the Windows API Hitchhiker's Guide to VBSQL Those books are the best (IMHO) reference books I've found... George Csefai Waterbury, CT --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Wed, 10 Aug 1994 08:40:00 GMT From: GEORGE CSEFAI Subject: Purchase MS SQL Server XE "Purchase MS SQL Server"  R>From: Ronald Earl Kreigsman >Subject: Purchase MS SQL Server >Date: XE "Purchase MS SQL Server"  Tue, 9 Aug 1994 13:08:30 PDT >To: george.csefai@keaneinc.com R>I am getting serious about purchasing MS SQL Server as a back end to my ACCES >application. Can anyone offer a good vendor reference and what is the curren >street price. R>Thanks Much.... Depends on the number of users. Current configurations and Microsoft SRPs are listed below: Desktop (1 user) $995 Workgroup (10 user) $2995 Departmental (64 user) $7995 Enterprise (unlimited) $14995 These prices were quoted from the July Technet CD (Press Releases). Check with Programmer's Paradise or MicroWarehouse for their prices. Programmer's Paradise: 800.445.7899 MicroWarehouse: 800.367.7080 George Csefai Waterbury, CT --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Wed, 10 Aug 1994 08:27:47 PDT From: Jason Williams Subject: Books XE "Books"  Database Developer's Guide w/ Visual Basic 3 - ISBN 0-672-30440-6 It covers ODBC, SQL Server, and I believe it has a small section on Oracle. I'm not sure how in depth the Oracle section is (I don't use it), but the other two are pretty good. LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Wed, 10 Aug 1994 09:18:26 PDT From: Jason Williams I've got a couple questions about some things I'm thinking about buying. Any opinions, good/bad, on the following? Visual Basic Programmer's Guide to the Windows API MicroHelp ------- VBTools 4 Whippleware ----- VB Compress Pro 3.0 Sheridan -------- VBAssist vxBase Systems -- vxBase LCpl Williams 1st Marine Divison Camp Pendleton, CA ========================================================================= Date: Wed, 10 Aug 1994 13:29:17 -0300 From: Robert Stokes Subject: vb app w. floating tbar / help XE "vb app w. floating tbar / help"  - Balthasar wrote : >> >I developped a template application featuring floating toolbar >> >and floating help (those yellow help labels) done in VB ONLY! >> > >> >You can download it from CIS, forum MSBASIC, section 5, filename >> >VBTPL.ZIP. Registration of the source costs $11.99; I wrote: >> What do I get for 15.00, a program that is about 1/2 a page of code >> and I can add to an app in about 15 minutes. >> No Thanks! Balthasar wrote a few weeks ago : > BTW: I've created a visual basic only source code template for > screen savers. You can get it from Compuserves msbasic forum library, > filename is:scrnsa.zip; registration costs 12 bucks; 25 for mail orders. > > Balthasar > INside corp. > Craig Poxon wrote... a few weeks back I don't mean to put Balthasar down or stop him from making money in any way but this seems like money for old rope to me. I haven't seen his code so I don't know what it does so I suppose I shouldn't be commenting but if you want to make your own Screen Saver in Visual Basic then get the VB Tips v1.7 help file from any good ftp site (VBTIPS17.ZIP) and do a search for 'Screen Saver'. There you will find all the code youneed to make your own Screen Saver. Sorry Balz...... Tony Chryseliou wrote >While Mr. Stokes could have been a little more courteous, I have to agree with >his sentiments for the fact that code examples that do exactly what this man >wants to charge for are available for free in the latest VBKB from >ftp.microsoft.com. Balthasar wrote : Never judge on a thing you have not seen, dummy! If you manage to do a floating toolbar in 15 minutes (from scratch) plus an app featuring multilinguality, hats off. - Balthasar well Tony your probably right I could have been a little more courteous, I apologize if I offended any one. This however was not the first time I noticed this type of behavior from Balthasar. As for the dummy! thing I most certainly would feel like a dummy if I bought your app. Balthasar and then realized that examples of both features of your app. are everywhere. I load my messages into an array of strings on start up it took less than 30 seconds to create this feature which displays all messages with no delay. (of course you have to type in the messages which takes a little longer than 30 secs but you would still have to do that anyway)... so perhaps if your app. would read my mind then automatically place my messages in my app. it would be worth it! Robert Stokes Bridgetown international Software Nova Scotia, Canada nstn0030@fox.nstn.ns.ca ========================================================================= Date: Wed, 10 Aug 1994 17:51:53 BST From: Mr Craig Poxon Subject: Forwarded mail XE "Forwarded mail"  > > I've got a couple questions about some things I'm thinking about buying. Any > opinions, good/bad, on the following? > > > Visual Basic Programmer's Guide to the Windows API > MicroHelp ------- VBTools 4 > Whippleware ----- VB Compress Pro 3.0 > Sheridan -------- VBAssist > vxBase Systems -- vxBase > > LCpl Williams > 1st Marine Divison > Camp Pendleton, CA > Visual Basic Programmer's Guide to the Windows API is the only 3rd party book about VB that I have bought, and I bought it PERSONALLY, i.e. I didn't get my company to be it and I don't think I could live without it. MS help on API isn't very friendly, so if you want to use VB with API then get this book! ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Wed, 10 Aug 1994 08:51:33 PDT From: Don Rueter Subject: Setup Wizard XE "Setup Wizard"  What am I missing here? I was having trouble with the Setup Wizard, so I have acquired the upgrade from Microsoft.COM and installed it. Since I had been having SHARE problems, I also got WW1000.EXE and installed VSHARE.386 and referenced it in SYSTEM.INI. Now when I use Setup Wizard, the first time it tries to do a file compress, I get a SETUPWIZ dialog stating that "This application has violated system integrity due to an invalid general protection fault and will be terminated. Quit all applications, quit Windows, an then restart your computer. OK?" (Notice that this is an _invalid_ GPF, not some other variety.) At least when I was using SHARE, some of the files would compress. Now I get nada. Suggestions will be greatly appreciated. PS My application uses DDE and OLE Automation, if that makes any difference. Don Rueter--Orange Coast College--Costa Mesa, CA DRueter@CCCD.EDU ========================================================================= Date: Wed, 10 Aug 1994 12:51:13 EDT From: Eric Dore >> I've got a couple questions about some things I'm thinking about buying. Any > opinions, good/bad, on the following? > > > Visual Basic Programmer's Guide to the Windows API > MicroHelp ------- VBTools 4 > Whippleware ----- VB Compress Pro 3.0 > Sheridan -------- VBAssist > vxBase Systems -- vxBase > > LCpl Williams > 1st Marine Divison > Camp Pendleton, CA > the Visual Basic Programmer's Guide is a MOST. I've try VBtools 3, not bad Eric Dore Quebec, CANADA ========================================================================= Date: Wed, 10 Aug 1994 18:18:28 BST From: Mr Craig Poxon Subject: Forwarded Mail XE "Forwarded Mail"  Sorry about the previous post people.... I suppose everyone does it once Is it polite to apologise after this kind of mistake or is it just a waste of bandwidth ? Craig ========================================================================= Date: Wed, 10 Aug 1994 10:20:44 PDT From: Simon Bernstein Subject: Subject: Importing Text XE "Subject\: Importing Text"  >From: Chun Tzu >Subject: Importing Text > XE "rting Text"  > Is there a better, faster way to import a fixed length text file in a Visual >Basic program with an Access 2.0 Database. I'm Currently using the Open >statement and then extracting the with mid$ then adding them into the Access >Database. The file is quite large about 25,000 to 50,000 lines long and would >be a probably take forever in OLE. From the MS Knowledge Base: How to Import Text File into Microsoft Access Table Using DDE ID: Q113905 --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, version 3.0 --------------------------------------------------------------------- SUMMARY ======= This article shows you how to implement the built-in TransferText command of Microsoft Access to import data from a text file into a Microsoft Access Table using DDE. This method is faster than the alternate method outlined in the following article in the Microsoft Knowledge Base: ARTICLE-ID: Q103807 TITLE : How to Convert a Text File into a New Access Database MORE INFORMATION ================ The TransferText command is used in Access Basic to import data from a text file into a table. If the table specified doesn't exist, the TransferText command creates the table. If the table does exist, the text file's format must match that of the existing table. The text file can be comma delimited with strings enclosed in quotation marks or it can be of fixed width. The delimiter and fixed width settings can be set up in Microsoft Access by choosing Imp/Exp Setup from the File menu. For more information on these settings, please consult the Microsoft Access Help menu. Step-by-Step Example -------------------- 1. Using Notepad, create the following file to import and save it as C:\ACCESS\SHIPPERS.TXT: 4,"world traveller" 5,"frazier freight" 6,"longfellow hauling" 7,"toolsmith shipping" 2. Start Microsoft Access and open the C:\ACCESS\NWIND.MDB database. 3. Start a new project in Visual Basic (ALT, F, N). Form1 is created by default. 4. Place a text box (Text1) and a command button (Command1) on the form. 5. Add the following code to the click event of Command1: Sub Command1_Click () Dim cmd As String ' Holds DDEExecute command. On Error GoTo DDEerr ' Error trap. ' Make sure there isn't an existing DDE conversation: text1.LinkMode = 0 ' Set up the DDE link: text1.LinkTopic = "MSACCESS|C:\ACCESS\NWIND.MDB" text1.LinkItem = "All" text1.LinkMode = 2 ' DDEExecute command to import text file into Microsoft Access Table: cmd = "[TransferText ,,'Shippers','C:\ACCESS\SHIPPERS.TXT']" ' Execute the TransferText command and close the DDE link: text1.LinkExecute cmd text1.LinkMode = 0 MsgBox "Transfer OK" Exit Sub DDEerr: ' An error has occured. MsgBox Error MsgBox "Error in transfer." Exit Sub End Sub 6. Run the Visual Basic program and click the command button to import the information in the text file into the Shippers table. A message box will be displayed showing you whether or not the transfer was successful. ========================================================================= Date: Wed, 10 Aug 1994 10:36:32 -0700 From: Christopher Doan Subject: Error in VB Tips & Trick, Article Q86283! XE "Error in VB Tips & Trick, Article Q86283!"  Article ID: Q86283: "Visual Basic Can Load RLE4 and RLE8 Bitmap Format Files" "To save an image as an icon (.ICO), you must first load it as an icon. You can change the image using graphics methods such as Line and PSet, and then save the Picture property of the picture box or form as an icon (.ICO). Otherwise, you can only save images as Windows bitmap files (.BMP)." The above statement is *NOT* true! I tried to load an icon into a picture box, used Pset to modify it, then used SavePicture to save it back to the file. VB always remembers and saves the original icon *before* the modification. DOES ANYONE KNOW HOW TO GET AROUND THIS PROBLEM? ========================================================================= Date: Wed, 10 Aug 1994 10:42:31 -0700 From: Christopher Doan Subject: BMP -> ICO File Conversion XE "BMP -> ICO File Conversion"  Does anyone know how to convert a .BMP file to an .ICO file programmatically? ========================================================================= Date: Wed, 10 Aug 1994 10:44:03 GMT From: "RYAN MA - VISUAL DEVELOPMENT LAB (LOCAL 287)" Subject: Setup Wizard XE "Setup Wizard"  Try marking all executables on your system READ-ONLY. This should help with the share violation errors during the compression phase of the setup process. Ryan Ma Application Developer HealthVISION Corporation rma@HealthVISION.ca ========================================================================= Date: Wed, 10 Aug 1994 10:43:22 -0700 From: Christopher Doan Subject: Iconwrks problem! XE "Iconwrks problem!"  How come the UNDO icon in the ICONWRKS program that comes with VB/Win always has a black mask that covers most of the bottom of the UNDO icon? I can't paint anything within this black mask at all! Is this some kinda bug in the program or I'm the only with this problem? ========================================================================= Date: Wed, 10 Aug 1994 10:53:47 PDT From: "Robert_Dolan.wbst129UL @Xerox.com" Subject: InstallSHIELD In- XE "InstallSHIELD"  >use, scriptable, graphics, compression, disk splitting and only costs >$70 for the Pro version. Just thought I`d mention my installation utility, InstallWare. It does everything you mention and is free to use for shareware and freeware developers. Commercial use costs only $25. The current version (3.2) is available on Compuserve in WINSHARE, library 6. Version 3.5 will be there as soon as there is room in the library for it. I would have it available on cica, but my ftp access is not too reliable and should be fixed soon. Regards, Bob ========================================================================= Date: Wed, 10 Aug 1994 10:51:30 PDT From: Simon Bernstein Subject: VB reference XE "VB reference"  > Does anyone know of any good reference book for VB? > What I am looking for are functions and their definitions > and examples of how to use them. If anyone knows of any > please post or email me(gaz7216@hertz.njit.edu) directly. > TIA. New in the MS KB: We now have a rather LARGE KB article (Q118782) which contains a list of books that a VB programmers may find useful. It covers everything from Windows programming to MS Access to database design. Hope this helps y'all ! I am not sure if it is VBKB.EXE or VBKB_FT.EXE yet, but it should be out there on ftp.microsoft.com - Simon ========================================================================= Date: Wed, 10 Aug 1994 10:24:10 GMT Comments: MEMO 1994/08/10 10:54 From: Michael R Kizer <2N18004@CCMAIL.EMIS.HAC.COM> Subject: Wise Installation System XE "Wise Installation System"  >>I think I'm going with the Wise Installation System. Easy to use, scriptable, >>graphics, compression, disk splitting and only costs $70 for the Pro version. >> >>George Do you happen to have an address (email or postal) or phone number for the company that makes the Wise Installation System (sounds interesting)? Thanks, *------------------------------------------------* * Michael Kizer -- 2n18004@ccmail.emis.hac.com * * Computer Sciences Corporation -- Tucson, AZ * *------------------------------------------------* ========================================================================= Date: Wed, 10 Aug 1994 14:00:57 -0400 From: "Naim L. Bentahar" Subject: Killing an Application XE "Killing an Application"  I am having problems using the DestroyWindow function from within VB. Here is an example of the code: hInstance% = Shell("winword", 1) hWnd% = GetActiveWindow%() .... .... .... Di% = DestroyWindow(hWnd%) Di% at this point returns 0, which means that the call was not successful. Of course, I am sure that hWnd% returned by GetActiveWindow is the one of the application that Shell launched. Can you see the problem ? Is there is any other way to kill an application ? Thanx for any help you can provide. ========================================================================= Date: Wed, 10 Aug 1994 13:16:00 EST From: Kevin James <0003248511@MCIMAIL.COM> Subject: Digest Feature XE "Digest Feature"  -- [ From: Kevin James * EMC.Ver #2.0 ] -- Does VisualBasic-L have a Digest Feature. I know some of the other lists I belong to do but I haven't seen info on one here. kevin ========================================================================= Date: Wed, 10 Aug 1994 13:17:00 EST From: Kevin James <0003248511@MCIMAIL.COM> Subject: Fwd: OLE/EXCEL XE "Fwd\: OLE/EXCEL"  -- [ From: Kevin James * EMC.Ver #2.0 ] -- Ok, Ok, I can get these buggers embedded but how do I print etc... Only some Object support printing(i.e. Word.Basic) how can you for example print a "Word.Document" Object? Kevin ------- FORWARD, Original message follows ------- > Date: Wednesday, 10-Aug-94 07:50 AM > > From: kgpammet \ Internet: (kgpammet@ingr.com) > To: Kevin James \ MCI Mail: (kjames / MCI ID: 324-8511) > To: Larry Koester \ MCI Mail: (Larry Koester / MCI ID: > 479-4114) > To: Keith Thigpen \ MCI Mail: (Keith Thigpen / MCI ID: > 549-2431) > To: Rodney Schroeter \ MCI Mail: (Rodney Schroeter / MCI ID: > 579-1716) > To: Clare Love \ MCI Mail: (Clare Love / MCI ID: > 579-4946) > To: Bill Hoeft \ MCI Mail: (Bill Hoeft / MCI ID: > 678-2999) > To: BTEST GALLINARI \ MCI Mail (EMS): > * EMS: SLERRORS 6733277 / MCI ID: > 541-8987 > * MBX: BTEST GALLINARI+ELZGOB1:ADR > To: NDS \ MCI Mail (EMS): > * EMS: National Data Services / MCI ID: > 595-4689 > * MBX: NDS/CORPORATE/JACK > To: Discussion for Microsoft Visual Basic and Re \ Internet: > (visbas-l@tamvm1.tamu.edu) > > Subject: OLE/EXCEL > XE "OLE/EXCEL"  > Quoting the illustrious text of : Dan Shookowsky ... > /\ > > /\ > Does anyone have a sample of how to Link and embed an Excel > spreadsheet > into > /\ > a Visual Basic App. I have three .XLS files and one .XLM file that I > would > /\ > like to incorporate into the VB program. I need to display two of > the .XLS > /\ > files and design a VB front end to control the spreadsheets. I need > to be > /\ > able to fill certain cells in the spreadsheet, and to run Macros from > the > /\ > Macrosheets. I am looking for a good reference that will show me > what > steps > /\ > I need to take to build this type of application. If any one has any > /\ > suggestions, I would really appreciate it. > /\ > > /\ > Thank you for your time, > /\ > > /\ > -Scott Ruckh > /\ > > /\ > /\ If you're using Excel v5.0 and you can get your boss (self?) to shell > out $50 > /\ get the office developers kit. It's chock full of examples on OLE 2.0 > and > /\ VBA, if you're short on cash, I think the VB knowledge base on > Microsoft's > /\ FTP site has some examples (I found one for Word 6.0 and VB). > /\ -- > Yes, there are several examples that do exactly what you want in the KB: > > | jd: /usr2/kevin/ms$ grep Excel index.txt | grep visual > | Q75089 DDE from Visual Basic for Windows to Excel for Windows > | Q105447 How to Use DDE Between Excel and Visual Basic > | Q112194 How to Navigate Excel Objects from Visual Basic Version 3.0 > | Q112417 How to Create Excel Chart w/ OLE Automation from Visual Basic > > I fetched and tried most of these and they were very helpful. The > last one, in fact, not only lets you embed an Excel chart, but > you can in-place activate the chard and "edit" it - if you know > what you're doing because you're "in" Excel but there are no > menus, etc., cause all you see if you VB form and the chart itself. > > /\ Dan Shookowsky shookow@hp800.lasalle.edu > shookow@fred.lasalle.edu > /\ CB Technologies Microsoft Solution Provider Associate Computer > Consultant > > The samples are on the MSDN CD, and/or you can fetch 'em from > ftp.microsoft.com > My KB index is a few weeks old, so there may be even more of 'em. > -- > Fyi - > -- Kevin "love OLE and automation" Pammett > |------------------------------------------------------------------| > | "If you resist change, you die. If you adapt to it, you survive. | > | And if you cause it, you lead." ... "Of course, if you cause | > | change, you can die, too. -- But it's a more exciting death." | > |----------------------------------------+ | > | Intergraph, Huntsville, AL. m/s IW17D4 | -- Ray Noorda, | > -- rsvp: kgpammet@ingr.com (205) 730-1517 | CEO, Novell/USL Inc. | > |------------------------------------------------------------------| > ------- FORWARD, End of original message ------- ========================================================================= Date: Wed, 10 Aug 1994 14:32:36 -0400 From: Tony Chryseliou Subject: Books XE "Books"  >I've got a couple questions about some things I'm thinking about buying. Any >opinions, good/bad, on the following? > > > Visual Basic Programmer's Guide to the Windows API This is A MUST HAVE! Tony Chryseliou ========================================================================= Date: Wed, 10 Aug 1994 10:36:46 PDT From: Don Rueter Subject: Setup Wizard XE "Setup Wizard"  Ryan Ma Wrote: | Try marking all executables on your system READ-ONLY. This should | help with the share violation errors during the compression phase of the | setup process. Well, I made all my \WINDOWS, \WINDOWS\SYSTEM, \VB, and \VB\SETUPKIT .EXE's, .COM's, .DLL's, and .BAT's read-only. Any other good suggestions out there? ========================================================================= Date: Wed, 10 Aug 1994 14:42:48 +0500 From: Zachary Buckholz Subject: Display DB Field in ListBox? XE "Display DB Field in ListBox?"  Can someone please send me code to do the following? I am stumped! I am trying to pull all the names out of a database and port them into a listbox, so a user can scroll the list and click the name they wish to view complete information on. Also the Click procedure so that once they have selected or clicked on the name they want, that persons record will be current on the mainform. I can copy the fields by looping through the database till I get EOF, but that isn't going to cut the cake. Thanks Zack@intnet.net ========================================================================= Date: Mon, 15 Aug 1994 08:51:00 PDT From: Gerson Alberge Rolim Subject: Please Subscribe-me in Visbas-L XE "Please Subscribe-me in Visbas-L"  SIGNIN VISBAS-L ========================================================================= Date: Mon, 15 Aug 1994 07:26:05 -0400 From: Dean Pidgeon QUERY VISBAS-L ========================================================================= Date: Mon, 15 Aug 1994 16:11:34 GMT+800 Organization: Edith Cowan University Subject: Need some funny jargon XE "Need some funny jargon"  Hello everyone, A trivial request. A friend of mine is giving a talk to her son's class for some sort of carreer thing (seven year olds no less. They start them young in that school). Her topic is what it is like to be a computer programmer. To lighten things up, she asked to me find examples of strange computer jargon, just to show everyone how us computer folk speak a different language to everybody else. Any witty contributions would be greatly appreciated. And now back to the VB stuff...... Thanks. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Sun, 14 Aug 1994 20:13:47 -0400 From: "MajorBBS: Erick Ortega" Subject: data.uue XE "data.uue"  Hi there folks! I wrote a few weeks before explaining a problem I've been having with a little project of mine. It consists of a database application with a listbox as a search module. That is, the box is filled with the data, possesses a context sensitive text box that searches as you type. But, it seems to work sometimes and most of the time gives me a sql error call??? which and again it leaves me puzzled. The last time I placed my concern I included a file (a binary one instead of a uuencoded one) causing more problems on the net than I really needed. This time I include the file with the small application since it is easier to see for yourselves than to explain it in a few words. the file name is data.uue once decoded you'll receive a data.zip file. Any help in this matter is very much appreciated. >From Toronto, Ontario CANADA Erick erickpcz@wbb.com mail.uunet.ca!wbb.com!erickpcz ========================== Automated Message ========================== There was a file attached to this message on the Bulletin Board System. This file attachment has been routed in subsequent messages. This file has been detected to be an ASCII file. If you notice that this file is not ASCII, it is likely that it was damaged in Internet mail transit. ============================ End of Message =========================== ========================================================================= Date: Mon, 15 Aug 1994 13:23:00 EST From: "Hamilton, Scott A" Subject: FW: Gem V3.01 to Visio V2.0 file conversion XE "FW\: Gem V3.01 to Visio V2.0 file conversion"  A colleague is having problems with importing GEM files to a Visio 2.0 compatible format. His message is as below. Does someone know the answer? I know this isn't exactly a VB question, but as we are going to use Visio2 via VB, others might have encountered the same problem. Please reply back direct if you can help. Many thanks for assistance, Scott. The import formats Visio can handle are as follows.... Name File Extensions . Adlobe Illustrator .AI .AutoCAD Drawing Interchange Format .DXF .Computer Graphics Metafile .CGM .Encapsulated Postscript File .EPS .Macintosh PICT Format .PCT .TAG Image File Format .TIF .Windows bitmap .BMP or .DIB .Windows Metafile .WMF .ZSoft PC Paintbrush Bitmap .PCX Note: GEM does output a Postscript File. This may be compatable to the encapsulated one....... I dont know. ========================================================================= Date: Sun, 14 Aug 1994 19:14:39 -0400 From: "MajorBBS: Erick Ortega" Subject: data.uue XE "data.uue"  Filename: "836719". File Length: 23517 bytes. This file is contained in 1 split message chunk(s). This is message chunk 1 of 1 and was processed on Sun, 14 Aug 94 22:47:25 EST5EDT: ---- cut here ---- section 1 of uuencode 5.22 of file data.zip by R.E.M. sum -r/size 46877/22983 section (from "begin" to "end") sum -r/size 5803/16661 entire input file ---- cut here ---- ========================================================================= Date: Sun, 1      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnoqrstuvwxyz{|}~4 Aug 1994 10:59:14 EDT From: MadCelt@AOL.COM Subject: What Happened XE "What Happened"  I'm not receiving the list. Has something happened? ========================================================================= Date: Sat, 13 Aug 1994 11:43:02 EDT From: Chuck Stuart Subject: Changing Printer Orientation XE "Changing Printer Orientation"  How to Change the Printer Orientation to Landscape -------------------------------------------------- The following example below demonstrates how to change the printer orientation to landscape. Please note that your printer must support landscape mode for these commands to have any effect. 1. Start a new project in Visual Basic (ALT, F, N). Form1 is created by default. 2. Add a command button (Command1) to Form1. 3. Add the following code to the global module: Type OrientStructure Orientation As Long Pad As String * 16 End Type ' Enter the following Declare statement on one, single line: Declare Function Escape% Lib "GDI" (ByVal hDc%, ByVal nEsc%, ByVal nLen%, lpData As OrientStructure, lpOut As Any) 4. Add the following code to the Command1_Click event procedure of the Command1 button: Sub Command1_Click () Const PORTRAIT = 1 Const LANDSCAPE = 2 Const GETSETPAPERORIENT = 30 Dim Orient As OrientStructure '* Start the printer Printer.Print "" '* Specify the orientation Orient.Orientation = LANDSCAPE '* Send escape sequence to change orientation x% = Escape(Printer.hDC, GETSETPAPERORIENT, Len(Orient), Orient, NULL) '* The EndDoc will now re-initialize the printer Printer.EndDoc Printer.Print "Should print in landscape mode" Printer.EndDoc End Sub ========================================================================= Date: Fri, 12 Aug 1994 10:44:00 EDT From: "Cooper, Bob" Subject: Hex to Decimal Conversion Question XE "Hex to Decimal Conversion Question"  Goal: Read a hex digit from a text box and create it's decimal equivalent. --------- Using Val() I'll get the following result -- assume that input is the Hex input string and output is the base 10 output string. output = Val(input) input output 0 0 F 15 7FFF 32767 8000 -32768 FFFF -1 This makes perfect sense if Val() had to return an integer (2 bytes). However I need to convert numbers larger than FFFf and I can't think of a way to use Val() directly. ----- It seems that Dim output as Long output = Val(input) should work but I see no change. ------ The following code does work, but it seems clumsy. a = "&H" & input If (Val(a)) < 0 Then xlower = Right(input, 2) xupper = Left(input, Len(input) - 2) xlower = "&H" & xlower xupper = "&H" & xupper output = Val(xlower) + Val(xupper) * 256 Else output = Val(a) End If ------- Any ideas? Thanks, Bob Cooper ========================================================================= Date: Fri, 12 Aug 1994 10:48:58 EDT From: Ankur Mittal I am using Images in my ToolBar as in sample code /vb/samples/mdi. I would like the ToolTips to show up using the code which was floating around which uses Handles and Windows API with a Timer Control. Now since Images do not have Handles, how should I use the same code with the Images to display ToolTip. I know I will have to get the Cursor Position and check to see if I am in a particular Image and display the ToolTip. The concept of TwipsPerPixel and ScaleWidth etc. is *very confusing* to me. I was wondering if somebody could share a sample code to achieve this. Thanks Ankur Mittal ankur@pt8135.pto.ford.com Ford Motor Company Phone: 313.458.0930 (W) ========================================================================= Date: Fri, 12 Aug 1994 10:06:07 EDT From: Joe Caverly <75620.611@COMPUSERVE.COM> Subject: SQL Statement XE "SQL Statement"  I'm using Visual Basic 3.0 For Windows Professional. Here's my challenge. I have three fields in my .MDB file called AdaNumber, DistCost, and InvoiceNumber. DistCost is type Currency, while the other fields are type text. I have written the following query to give me the total DistCost for each AdaNumber. SQLQuery = "SELECT AdaNumber, " SQLQuery = SQLQuery + "SUM(DistCost) AS TotalCost " SQLQuery = SQLQuery + "FROM AIOHost_Logs " SQLQuery = SQLQuery + "WHERE InvoiceNumber IS NOT NULL " SQLQuery = SQLQuery + "AND InvoiceNumber <> '9999999999' " SQLQuery = SQLQuery + "AND InvoiceNumber NOT LIKE '??99999999' " SQLQuery = SQLQuery + "AND InvoiceNumber <> '0000000000' " SQLQuery = SQLQuery + "AND InvoiceNumber <> " + Chr$(34) + Space$(10) + Chr$(34) + " " SQLQuery = SQLQuery + "GROUP BY AdaNumber " This works fine, and returns the correct results. However, my final goal is to have a query that will display the AdaNumber, and the total DistCost for each AdaNumber, in DistCost descending order. For example, 0001896, 2346.21 0001918, 2100.05 0256423, 1897.06 0003189, 952.67 . . . etc. Right now, the above query displays in record order. Any suggestions would be appreciated. BTW, I've managed to get this far by using the example on page 227 of the Database Developer's Guide With Visual Basic 3, by Roger Jennings. An excellent book. Regards, Joe Caverly London, Ontario INTERNET:jcaverly@amwayusa.mhs.compuserve.com CIS: 75620,611 ========================================================================= Date: Mon, 15 Aug 1994 11:31:46 -0500 From: Armin von Werner Subject: Read-Only database...? XE "Read-Only database...?"  Hi folks, I have the following serious problem: I have a form that contains a data control. This data control connects to an Access 2.0 database NOT readonly. In the form_load- event of the same form I have a database variable (scope: form) that uses the same database - also NOT readonly. The form has one editable bound control - a textbox (bound to a memo-field). The form comes up fine, I can use the data control to move between records, everything as should be. BUT - once the user enters data into the text-field or changes it, an error occurs the moment the next move-operation causes an update. Errormsg: "Couldn't update; database is read-only" BUT: A watch on dtaProject.ReadOnly says: 0 ( = false ) What could I be doing wrong? I've tried compacting and repairing the database - nothing happened. It's no problem adding or changing records with the data-manager or Access 2.0. I am using VB 3.0 pro with the compatibility layer installed. Please respond to awerner@frsbog.enet.dec.com, as I wasn't able to subscribe to the list (it's locked - for new participants I suppose). Thanks a lot, Armin. ______ Armin von Werner Digital Equipment GmbH awerner@frsbog.enet.dec.com ========================================================================= Date: Fri, 12 Aug 1994 10:38:01 BST From: Mr Craig Poxon Subject: Day of week algorithm XE "Day of week algorithm"  > > Hi there > > The algorithm you are looking for is called Zeller's congruence - I > can't remember it offhand, but I will dig it up if you are interested > ... I have it on a hard disk in my filing cabinet :-) > > - S > Thanks a lot Simon for your quick response. No need to dig it up for me.........I did a Veroniqa search of Gopherspace and got quite a few interesting hits. Wow, I _love_ the Internet; God knows how long it would have taken me to find this information from books alone. Thanks again. If anyone else wants me to post what I have found, just ask... ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Fri, 12 Aug 1994 16:17:58 +0000 From: Kevin Black Subject: Crystal Reports XE "Crystal Reports"  Hi, I have VB3.o pro and have just started using crystal reports. Whilst I have no problems with this type of report generation (in fact I think it's actually quite good) there are two limitations that I do not seem to be able to get over. 1. How do you use the report generator without using a database, ie. I wnat to gather some data and dump it into a report, but I do not want to write it to a database table first. 2. If I use a database table, how do I send data other than the bound fields to the report, eg. I might want to put my name in the heading. (this is sort of a sub set of the above problem). Any help appreciated, Thanks, Kevin ------------------ Kevin Black Computer Services Group Leader BHP Research - Newcastle Laboratories Snail : P.O. Box 188, Wallsend 2287 Tel : +61 49 510434 Fax: +61 49 513740 Internet: kevinb@resntl.bhp.com.au ---------------- ========================================================================= Date: Thu, 11 Aug 1994 20:59:13 -0300 From: Alexandre Araripe Calvante Subject: MessageNumber definition XE "MessageNumber definition"  Hi, Where can I find description to the messagenumber constants that comes with message blaster file message.txt. Is there some kind of documentation in the net? Please ftp, directory and files. TIA Alexandre Araripe Federal University of Bahia Institute of Physics Salvador - Bahia - Brasil araripe@sunrnp.ufba.br ========================================================================= Date: Thu, 11 Aug 1994 14:43:00 PDT From: "Schottenloher, James J., SSGT" Subject: Error in VB Tips & Trick, Article Q86283! XE "Error in VB Tips & Trick, Article Q86283!"  Use the Image property and set AutoRedraw to TRUE ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Error in VB Tips & Trick, Article Q86283! :)Date: Wedn XE "or in VB Tips & Trick, Article Q86283!" esday, 10 Aug, 94 10:36AM :) :)Article ID: Q86283: "Visual Basic Can Load RLE4 and RLE8 Bitmap :) Format Files" :) :)"To save an image as an icon (.ICO), you must first load it as :)an icon. You can change the image using graphics methods such :)as Line and PSet, and then save the Picture property of the :)picture box or form as an icon (.ICO). Otherwise, you can only :)save images as Windows bitmap files (.BMP)." :) :)The above statement is *NOT* true! I tried to load an icon :)into a picture box, used Pset to modify it, then used :)SavePicture to save it back to the file. VB always remembers :)and saves the original icon *before* the modification. :) :)DOES ANYONE KNOW HOW TO GET AROUND THIS PROBLEM? :) ========================================================================= Date: Thu, 11 Aug 1994 16:24:00 -0500 From: Amy Stinson Organization: The User Friendly BBS (317) 784-0520 >>Matt wrote: >>> I am developing a off-line mail reader/composer for windows. >I >am >currently using Visual Basic 3.0 Standard Edition. The question >I >>chave oncerns the TextBox control. >>> I am aware that the textbox control that comes with VB3.0 can >>only >have up to 64K worth of text(or is 32K?). I have been thinking, >>and 64k >will most likely end I took over the Windows offline mail reader for the now defunct NVN (national Videotex Network). The only problem I had was with internet email as it could be 64k per message. The 64k problem was fixed by breaking the message up into smaller messages (like OLRs do now). Another solution would be to use something like Early Morning Editor as the text box. I also had HUGE list boxes to capture subject headers, and didn't ever overshoot the 32k problem and I literally downloaded hundreds of headers in individual forums. My OLR was treated like a database and I had to use the Pro version of VB as I could design my own database and I used PDQCOMM as the Comm engine. The OLR was pretty good, which is why I took it over. Amy Stinson Amy.Stinson@Indy.com --- ~ CmpQwk #UNREG~ UNREGISTERED EVALUATION COPY ========================================================================= Date: Thu, 11 Aug 1994 15:58:00 PDT From: "Schottenloher, James J., SSGT" Subject: Interesting thing about Help XE "Interesting thing about Help"  Ran into this problem the other day & thought some of you may be interested. I gave some code to another person I work with, it was complete with help files. This person opened the project from within VB; ran it; then pressed 'F1' to get context sensitive help, and the help system reported 'can not open help file.' Yet you can open the help file from the file menu option within the help system. I run almost everything from the file manager; so, I opened the VB project from the file manager; ran it; then pressed 'F1' & no problems!!! It seems that when you start a project from VB it looks in the VB directory for any help files!!! So..... ChDir App.Path to fix this problem. J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ========================================================================= Date: Thu, 11 Aug 1994 15:32:46 PDT From: Jason Williams Subject: Text Parsing XE "Text Parsing"  Ho mighty Visual Basic warriors! Mine superiors have dared to do the vilest thing imaginable...I've got a prog due in a day that I have no I idea how to do. I have 5 5.5 meg ascii files that need to be parsed. They are dumps off of the mainframe that need to be separated according to battalion. There is a header every five or six pages that tells the battalion name. Any ideas? I am clueless... LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Thu, 11 Aug 1994 12:51:22 EDT From: Dan Shookowsky Subject: GetProfileString XE "GetProfileString"  I've been trying to call GetProfileString to get info from the win.ini file Here is the Decla Declare Function GetProfileString Lib "Kernel" (ByVal lpAppName As String, -> lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer Appleman's API Bible suggests using ByVal lpKeyname as Any Neither version works with the call Dummy% = GetProfileString(SName$, KName$(I), DReturn$, Def$(I), Size%(I)) -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 11 Aug 1994 13:23:26 -0400 From: Ian Ornstein Subject: SETUP Kit question XE "SETUP Kit question"  I have not (yet) used the newest VB Setup wizard etc. My question concerns fonts. How can I: Tell if the destination machine has a font already installed? Install the font if it is not present? TIA - IanO - ========================================================================= Date: Thu, 11 Aug 1994 12:16:00 CDT From: Robert Rouse Subject: VBSQL.VBX XE "VBSQL.VBX"  I am developing an application that consists of 3 separate programs. Each uses vbsql.vbx to hit a SQL Server database on NT. The problem I'm having occurs when I try to have all 3 programs running simultaneously (each having open connections to the database). Upon launching the third, I get a heap space violation error. I've pretty much narrowed the problem down to vbsql.vbx, but I could be wrong. The vbsql.vbx I'm using is dated 8/24/92, size 48816. Anyone out there had this type of experience before? Is there a later version of this vbx that corrects this type of problem? ===================================================== Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ===================================================== ========================================================================= Date: Thu, 11 Aug 1994 11:40:00 CDT From: Robert Rouse Subject: Cursor position XE "Cursor position"  Look in Help for SelText. It will also describe SelLength and SelStart. ===================================================== Robert Rouse Voice: 214-575-2966 Texas Instruments, Inc Fax: 214-575-4853 Plano, TX E-mail: rrouse@itg.ti.com ===================================================== ------------- Original Text From RSchroe @ SMTP (Rodney Schroeter) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 8/9/94 7:26 PM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} I'm able to SetFocus on a text box, but is it possible to position the cursor, during run-time, within the text, at a certain point? Thanks, Rodney Schroeter 579-1716@mcimail.com **************************************************** Read ATLAS SHRUGGED by Ayn Rand **************************************************** ========================================================================= Date: Thu, 11 Aug 1994 12:18:00 EST From: "LIN, Ling" Subject: VB & Virtual Reality XE "VB & Virtual Reality"  Hello, Everyone Anyone knows about that VB 3 Pro. can do something like Virtual Reality Programming ? Or any resources I can get to help me do this ? "HELP"....because my project manager want me to assess it !!!!!!!!!! TIA Ling Lin LLIN@Lewineast.vhi.com ========================================================================= Date: Thu, 11 Aug 1994 09:03:23 -0700 From: Scott Wahrer Subject: Seeking a visual basic programmer XE "Seeking a visual basic programmer"  We are seeking a Visual Basic Programmer for several projects here in the Dallas Area. Please respond to the E-mail /Snail mail addresses below as We do not follow this list. Thank You ______________________________________________________________________________ Scott Wahrer Virtual HealthCare virtual@acm.org Application Specialist 617 Clara Barton reg@netcom.com Voice: 214-494-6229 Garland, TX 75042 Fax: 214-272-0805 P.O. Box 850766 Mesquite,Texas 75185 ______________________________________________________________________________ ========================================================================= Date: Thu, 11 Aug 1994 11:36:08 EDT From: Chuck Stuart Subject: Cursor Stack Tool? XE "Cursor Stack Tool?"  Screen.Mousepointer = 0 returns to the previous cursor. Chuck Mesquite TX ========================================================================= Date: Fri, 12 Aug 1994 01:23:05 +1000 From: Jason Lew Subject: BitMaps XE "BitMaps"  Hi there.... I am currently writing a program which requires to load a bitmap... What code would I need?? Any help will be much appreciated... Jason ========================================================================= Date: Thu, 11 Aug 1994 08:05:56 PDT From: Jim Tunnicliffe Subject: Cursor Stack Tool? XE "Cursor Stack Tool?"  Michael Vogt asks: > Does anyone have or know where I can find a routine that would implement a > Cursor Stack. What I would like to be able to do is push the current cursor > onto a stack when I set a new cursor and then I'ld like to pop the current > cursor and have the previous cursor become active. > Thx > -Mike [vogt@cs.indiana.edu] The July 1994 issue of Microsoft Developer Network News has _precisely_ what you are looking for. Page 6. The code's only about 30 lines. I'd rather not have to type it here if you have access to the article, but if you're unable to get it easily, let me know and I'll post it. (This was asked on VBDATA-L, but I'm cross-posting to VISBAS-L, since it seems more appropriate there.) - Tunny ______________________________________________________________________________ James A. Tunnicliffe | Inference Corporation | Why is the alphabet in that order? (800) 322-5590 | Is it because of the song? - Steven Wright tunny@Inference.com | ------------------------------------------------------------------------------ Views expressed are my own and do not necessarily reflect those of my employer ========================================================================= Date: Thu, 11 Aug 1994 09:36:35 CDT From: Rosiland Kearney Subject: Communicating With V.B XE "Communicating With V.B"  I am learning how to use visual basic. I want to develop a program that receives data from the serial port and display the data on the screen. I have the code from the Professional Features Book1 p66 on how to communicate with the serial port, but how do I print the data received to the screen? ========================================================================= Date: Thu, 11 Aug 1994 10:24:00 -0700 From: "Wamsley, Chris" Subject: 3-D Text Boxes XE "3-D Text Boxes"  Is there any companies that produce 3-D text boxes? I know Sheridan has a set of 3-D controls which include: Check Boxes, Option Buttons, Combo Boxes, etc... but I didn't see text boxes. Thanks in advance. -- Chris Wamsley The Ohio State University Office of the University Registrar Programmer/Analyst wamsley.3@osu.edu ========================================================================= Date: Thu, 11 Aug 1994 09:20:20 -0500 From: "ANDREW J. KORNBERG, M.D." Subject: Wise 1.2 installer XE "Wise 1.2 installer"  Hi, I have heard positive things on the Wise 1.2 installer. Does anyone have contact numbers for the company? Is there a demo/shareware version available anywhere? Thanks, Andrew Kornberg ========================================================================= Date: Thu, 11 Aug 1994 08:30:06 CST From: Scott Nelson Subject: Setup Wizard XE "Setup Wizard"  Don, the problem is that the setup wizard is USING the DLLs/VBXs you are trying to compress! One solution that I've used is to copy the VBXs/DLLs to another directory and made sure that it wasn't in the path and wasn't the current directory. There is a .ini? file that I modified that said which DLLs were necessary for which feature... I don't remember what the name was or if it was necessary. (My PC is at home). P.S. I used to go to OCC back in the 70's: 73-76. I assume it is totally different place now :-( Scott Nelson ccMail.Monsanto.COM (in St. Louis) ========================================================================= Date: Thu, 11 Aug 1994 14:14:25 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: Killing an Application In- XE "Killing an Application"  any way this message corresponds to an integer (16 decimal or 10 hex). On Wed, 10 Aug 1994, Naim L. Bentahar wrote: > I am having problems using the DestroyWindow function from within > VB. Here is an example of the code: > > hInstance% = Shell("winword", 1) > hWnd% = GetActiveWindow%() > .... > .... > .... > Di% = DestroyWindow(hWnd%) > > Di% at this point returns 0, which means that the call was not > successful. Of course, I am sure that hWnd% returned by > GetActiveWindow is the one of the application that Shell launched. > > Can you see the problem ? Is there is any other way to kill an > application ? > > Thanx for any help you can provide. > ========================================================================= Date: Thu, 11 Aug 1994 14:03:10 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: child size in mdi In- XE "child size in mdi"  the "properties" box. e.g. if you want to have a 8000 twips by 6000 twips form in the upper left hand corner of your mdi form the code would be sub form_load() myform.top = 0 myform.left = 0 myform.width = 8000 myform.height = 6000 end sub If you find that this does not work, try maximizing the child form first and then setting it to the size and position you want. Stewart Morrison. On Wed, 10 Aug 1994, Harrold Casely-hayford wrote: > Hi all, > > I am working on an MDI application, When I first design my child windows I > get a rather decent sized form on which I place my controls. My problem is > when I run the application and bring up my child form the the size of the child > window is determined by windows and is not the size I started of with. does > anybody know the right way of going about this to get the child windows > looking right?? > > Thanks > > Harold > > -- > Harold Casely-hayford > ========================================================================= Date: Thu, 11 Aug 1994 07:48:00 GMT From: GEORGE CSEFAI Subject: Wise Installation Sys XE "Wise Installation Sys"  >From: Michael R Kizer <2N18004@CCMAIL.EMIS.HAC.COM> >Subject: Wise Installation System >Date: XE "Wise Installation System"  Wed, 10 Aug 1994 10:24:10 GMT >To: george.csefai@keaneinc.com >Do you happen to have an address (email or postal) or phone number for the >company that makes the Wise Installation System (sounds interesting)? >Thanks, >*------------------------------------------------* >* Michael Kizer -- 2n18004@ccmail.emis.hac.com * >* Computer Sciences Corporation -- Tucson, AZ * >*------------------------------------------------* Here is the address for the Wise Installation System: Great Lakes Business Solutions, Inc. 39905 Lotzford, Suite 200 Canton, Michigan 48187 (313) 981-4970. BBS: (810) 363-6418 --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Thu, 11 Aug 1994 07:42:12 -0500 From: Shannon Thornton Subject: Preformatting bound controls XE "Preformatting bound controls"  Probably another no-brainer for most of you folks: Is there a way to preformat text being stored in a bound control before it is displayed? I've got a date field (textbox) of the form: mm/dd/yyyy. When I bind the textbox to an existing database and the user pulls up a form for a record, the data comes up mm/dd/yy (if mm or dd is less than 10, it is m/d/yy). While that's not real bad, I require the user to enter at least mm/dd/yy for all my date fields (or mm/dd/yyyy). So I want a consistent look to the date field. When existing records are pulled up, I want them to look the same. Where can I put some code to format the data being supplied by the data control? Is there some event that I can use? Obviously the change event would be nice, but to change the field in the change event sounds like cascading events to me. +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Thu, 11 Aug 1994 09:33:37 -0300 From: Robert Stokes Subject: Display DB Field in ListBox? XE "Display DB Field in ListBox?"  Hello Zachary, Not sure if I understand the problem. If you are getting an error when you are reaching EOF just put "If RecordSet.EOF then exit For" in your for next loop or other appropriate looping structure. You cannot read a record that does not exist... so if your record pointer is past the last record "EOF" is true you will generate an error if you try to work with that record... always do some kind of test for EOF or BOF in loops. If this is not your problem e-mail me so I can understand better. Robert Stokes Bridgetown International Software Nova Scotia, Canada nstn0030@fox.nstn.ns.ca > Can someone please send me code to do the following? I am stumped! > > I am trying to pull all the names out of a database > and port them into a listbox, so a user can scroll the list and > click the name they wish to view complete information on. > Also the Click procedure so that once they have selected > or clicked on the name they want, that persons record will be current > on the mainform. I can copy the fields by looping through the database > till I get EOF, but that isn't going to cut the cake. > Thanks > > Zack@intnet.net > > ========================================================================= Date: Thu, 11 Aug 1994 09:32:58 -0300 From: Robert Stokes Subject: Setup Wizard XE "Setup Wizard"  >Well, I made all my \WINDOWS, \WINDOWS\SYSTEM, \VB, and \VB\SETUPKIT .EXE's, >.COM's, .DLL's, and .BAT's read-only. Any other good suggestions out there? > I had a sort of similar problem. It turned out that the common dialog vbx was being used by the setup wiz and I got the same error as you. I did not really need the vbx so i just removed it and everything worked fine. Robert Stokes Bridgetown International Software Nova Scotia, Canada nstn0030@fox.nstn.ns.ca ========================================================================= Date: Wed, 10 Aug 1994 08:54:00 -0700 From: "Warford, Craig" Subject: Re[4]: Animating Graphic Methods XE "Re[4]\: Animating Graphic Methods"  >>>- OK - PC's are very good for animations, but I have to admit, when it comes >>> to animation in windows then you can say the word c-r-a-p. >> >>How about the word W-i-n-G? Seen it yet? See if your local rep can get you >>a demo. Doom runs as good in a window as it does in DOS. > >First of all, what's WinG? Is it a 32-bit extender for windows? Also, is it > available via ftp, perhaps at ftp.microsoft.com? Thanks, > > Brent Downey > WinG is the new API from Microsoft (currently in Beta test) that allows Windows programs direct access to the video hardware, granting various applications blazing video speed. They guys from Id ported DOOM for DOS to WinDOOM in only 2 days and nights, and had it ready for demonstration. I believe the WinG beta is FTPable from ftp.microsoft.com, I don't remember where, or what filename. But for more information, look for the file GAMESUM.ZIP. I have that file if you want me to e-mail it to you. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Thu, 11 Aug 1994 13:47:30 +0300 From: Markus Suomi Subject: Importing data with VB XE "Importing data with VB"  I was wondering what is the fastest way to import data from an ODBC data source (for example Oracle DB on Unix) to Access or SQL Server database on local PC. I tried to create a dynaset on source data and then I went through dynaset records one by one and transferred records using AddNew and Update methods of target Table object (of Access database). It worked fine, but speed wasn't anything to brag about. Are there any faster ways to do this and still maintain control of transfer initiation in Visual Basic code? -- ------------------------------------------------------------------------------- | Markus Suomi Phone +358-31-2407382 | | Design Engineer Fax +358-31-2407666 | | Nokia Cellular Systems | | PL 779 Email msuomi@tre.tele.nokia.fi | | 33101 Tampere | ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 11 Aug 1994 11:06:00 BST From: Mr M Peck Subject: Number of Records XE "Number of Records"  Hello 'B' The movelast method is not advised. There's a file that comes with VB called PERFORM.TXT. In this it has the following: > ===================================================== > Part 6: Performance tips for Visual Basic Data Access > ===================================================== > The following tips are suggested for operations involving more than > just a few records to increase the overall performance of your > system. > 1) When working with large recordsets (Dynasets or Snapshots), do not > use the MoveLast method unless absolutely necessary. > Moving to the end of a recordset requires Visual Basic to load all > keys for the recordset into memory. In the case of Snapshots, not > only are the keys loaded into memory, but the data is also brought > into workstation memory. If temporary memory space is exhausted, > Visual Basic may be forced to swap this temporary cache to disk. In > this case, Visual Basic will use space as addressed by the \TEMP > environment variable. Once this space is exhausted, your application > will trigger a trappable error. So, if possible stay away from using the movelast just for calculating the number of records. One way to get round this would be to perform another select query of the following construct: SELECT COUNT(*) FROM WHERE This is fairly basic SQL. The following code example uses the BIBLIO.MDB database shipped with VB: ---------------------------------------------------------------------- Sub Marine () ' declare stuff Dim db As database Dim sn As snapshot ' open database Set db = OpenDatabase("c:\vb\biblio.mdb") 'perform query by creating snapshot 'please note that my editor has put this across two line when it should 'be on just the one! Set sn = db.CreateSnapshot("select count(*) from Authors where Author like ""H*"" ") ' move to the first snapshot record sn.MoveFirst ' message box simple displays the number returned my the snapshot MsgBox (CStr(sn(0))) End Sub ---------------------------------------------------------------------- In this example I'm just looking for the number of authors in the table that have a name begining with 'H'. This is a fairly simple example, and may not be the best way of doing it. If anybody else has any ideas then SAY SO! I hope this helps you. If you need anymore help feel free to contact me directly. Cheers, Martin ********************************************************************** Martin Peck * email gtem4479@ggr.co.uk Analyst Programmer * GRD Ltd. * phone +44 (0)81 966 3024 Greenford * fax +44 (0)81 966 4476 Middlesex UB6 0HE * ENGLAND * ********************************************************************** ========================================================================= Date: Thu, 11 Aug 1994 04:26:27 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Killing an Application XE "Killing an Application"  I am having problems using the DestroyWindow function from within VB. Here is an example of the code: hInstance% = Shell("winword", 1) hWnd% = GetActiveWindow%() .... .... .... Di% = DestroyWindow(hWnd%) Di% at this point returns 0, which means that the call was not successful. Of course, I am sure that hWnd% returned by GetActiveWindow is the one of the application that Shell launched. Can you see the problem ? Is there is any other way to kill an application ? Thanx for any help you can provide. DestroyWindow is a bit messy; try SendMessage(WM_CLOSE,,,) instead. ========================================================================= Date: Thu, 11 Aug 1994 09:02:00 CET From: Titov Pavel Subject: Killing an Application XE "Killing an Application"  Apparently WinWord opens and closes a lot of windows before you use DestroyWindow - it means that hWnd that you obtained from GetActiveWindow is not valid. Look up on-line help for hWnd property and you will find an important warning not to store value of hWnd in the variables. In order to close WinWord you should obtain the hWnd first. It's usually done using FindWindow (look up in Win SDK). Good luck! Pavel Titov IAEA ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Killing an Application Date: Wedne XE "ng an Application" sday, August 10, 1994 2:00PM I am having problems using the DestroyWindow function from within VB. Here is an example of the code: hInstance% = Shell("winword", 1) hWnd% = GetActiveWindow%() .... .... .... Di% = DestroyWindow(hWnd%) Di% at this point returns 0, which means that the call was not successful. Of course, I am sure that hWnd% returned by GetActiveWindow is the one of the application that Shell launched. Can you see the problem ? Is there is any other way to kill an application ? Thanx for any help you can provide. ========================================================================= Date: Thu, 11 Aug 1994 01:34:00 EST From: Bill Hoeft <0006782999@MCIMAIL.COM> >I've got a couple questions about some things I'm thinking about buying. Any >opinions, good/bad, on the following? > > > Visual Basic Programmer's Guide to the Windows API > MicroHelp ------- VBTools 4 > Whippleware ----- VB Compress Pro 3.0 > Sheridan -------- VBAssist > vxBase Systems -- vxBase > >LCpl Williams >1st Marine Divison >Camp Pendleton, CA Daniel Appleman's book is great and Sheridan's VBAssist is wonderful once you get familiar with all of it's options. I wouldn't be without it. -------------------------------------------------------------- Bill Hoeft, Programer Tel: (703)903-1197 MCI Telecommunications FAX: (703)903-1199 McLean, Virginia USA Internet: bhoeft@mcimail.com -------------------------------------------------------------- ========================================================================= Date: Thu, 11 Aug 1994 14:31:00 -0700 From: "Lau, Henry" Subject: 1Mb file in textbox XE "1Mb file in textbox"  I have a file of about 1 Mb. How can I put it in a Visual Basic textbox for viewing and editing ? ========================================================================= Date: Wed, 10 Aug 1994 22:22:12 EDT From: Dan Shookowsky Subject: Setup Wizard In- XE "Setup Wizard"  the share problem by making copies of share, vbrun300, commdlg, et al in my setupkit/kitfiles subdirectory, and then set them all to read only. > > What am I missing here? > > I was having trouble with the Setup Wizard, so I have acquired the upgrade from > Microsoft.COM and installed it. Since I had been having SHARE problems, I also > got WW1000.EXE and installed VSHARE.386 and referenced it in SYSTEM.INI. > > Now when I use Setup Wizard, the first time it tries to do a file compress, I > get a SETUPWIZ dialog stating that "This application has violated system > integrity due to an invalid general protection fault and will be terminated. > Quit all applications, quit Windows, an then restart your computer. OK?" > (Notice that this is an _invalid_ GPF, not some other variety.) > > At least when I was using SHARE, some of the files would compress. Now I get > nada. > > Suggestions will be greatly appreciated. > > PS My application uses DDE and OLE Automation, if that makes any difference. > > Don Rueter--Orange Coast College--Costa Mesa, CA DRueter@CCCD.EDU > -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 10 Aug 1994 22:12:51 EDT From: Dan Shookowsky Subject: Windows handles using VBA In- XE "Windows handles using VBA"  > > Is there any way using Visual Basic for Applications in Excel that I can get the > hWnd's Of the parent and Child Windows ? There seems to be no VBA equivalent of > :- > > Dim handle as integer > handle = Object.hWnd > > The thinking behind all this, is that with the handle you could add 'Always On > top' functionallity to Excel. > > Anybody got any ideas ? > > I'm just testing out VBA and OLE and have tried out OLE Automation but when I > try and CreateObject("Excel.Application.5") I am told that there is not enough > memory to create the object. I have a 486 66 with 16 meg of RAM. Has anyone else > experienced problems ? > > Thanks in Advance!! > Ed.. > > ------------------------------------------------------------------------------- - > > Efreed@Channel4.Co.Uk > 'Don't blame me, blame my project manager' > > ------------------------------------------------------------------------------- - > -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 10 Aug 1994 22:11:05 EDT From: Dan Shookowsky Subject: Books In- XE "Books"  > > >> Database Developer's Guide w/ Visual Basic 3 -- SAMS Books > > Has anyone else seen the book above, and, does it support databases other than > Access - ie. Oracle, SQl Server and ODBC ? > > Thanks, > Chris. > > I don't have it handy, but I believe it has a decent amount of info on using ODBC, and SQL Server. This book is just plain wonderful because of the in-depth information it gives you about how VB works with Databases. Be forewarned, it gets too in-depth at times (i.e. Do not read it in a horizontal position ZZZZZzzzzzz). If you're interested, Bill Vaughn wrote a book called "The HitchHikers Guide to VBSQL" (I think that's it). I seem to be hearing alot about it (or maybe Bill is using subliminal E-Mail Advertising :) -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 10 Aug 1994 21:58:29 EDT From: MadCelt@AOL.COM Subject: Wise Installation System XE "Wise Installation System"  On August 10, George CSEFAI wrote >>Thanks for the info on InstallSHIELD. I really DON'T like that license agreement. I think I'm going with the Wise Installation System. Easy to use, scriptable, graphics, compression, disk splitting and only costs $70 for the Pro version.<< Could you post a phone & address for teh people who make the Wise Installation System? Thanks, Grant Fritchey Project Manager Merrill Lynch OS&T ========================================================================= Date: Wed, 10 Aug 1994 21:14:23 EDT From: MadCelt@AOL.COM Subject: Text Value XE "Text Value"  Is there a way to get the value of a text box or list from a non-vb app using spyworks or messageblaster? Specifically, if anyone out there is using Interleaf's RDM, I want to catch the object name that a user is checking out so we can use it in a billing app that we are putting together with VB. Any advice would be appreciated. Thanks, Grant Fritchey Project Manager Merrill Lynch OS&T ========================================================================= Date: Mon, 15 Aug 1994 18:28:59 EDT From: konstantinos tsaklas <75110.1243@COMPUSERVE.COM> Subject: SignOFf XE "SignOFf"  Does anyone know a way to take my name off the list??????????????? I tried already SignOff and I'm still here. I'f the administrator of the server gets this message please signme off ID: 75110.1243@COMPUSERVE.COM ========================================================================= Date: Mon, 15 Aug 1994 17:43:00 -0400 From: Tony Chryseliou Subject: Text Parsing XE "Text Parsing"  One word: Access. Run to the store and buy it. Tony Chryseliou Queens Borough Public Library ------------In Response to------------------------------------------------ Ho mighty Visual Basic warriors! Mine superiors have dared to do the vilest thing imaginable...I've got a prog due in a day that I have no I idea how to do. I have 5 5.5 meg ascii files that need to be parsed. They are dumps off of the mainframe that need to be separated according to battalion. There is a header every five or six pages that tells the battalion name. Any ideas? I am clueless... LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Mon, 15 Aug 1994 17:38:38 -0400 From: Tony Chryseliou Subject: MessageNumber definition XE "MessageNumber definition"  >Where can I find description to the messagenumber constants that comes >with message blaster file message.txt. >Is there some kind of documentation in the net? >Please ftp, directory and files. How about right on your hard disk? If you're using VB3pro then you should have two files in your VB subdirectories, one is a help file from the Windows SDK and the other is text file of all the Windows constants. Tony Chryseliou Queens Borough Public Library ========================================================================= Date: Mon, 15 Aug 1994 16:19:00 EST From: Bill Hoeft <0006782999@MCIMAIL.COM> Subject: 3-D Text Boxes XE "3-D Text Boxes"  >Is there any companies that produce 3-D text boxes? I know Sheridan has >a set of 3-D controls which include: Check Boxes, Option Buttons, Combo >Boxes, etc... but I didn't see text boxes. Thanks in advance. > > -- Chris Wamsley > >The Ohio State University >Office of the University Registrar >Programmer/Analyst >wamsley.3@osu.edu You can use the Panel control as a contaner and place a text box control on it to achieve the 3-D look that your after. There are also other packages that allow you to do this. Some involve just VB code. You could use the line control to place borders around the different controls in different colors to give it a 3-D affect. To see how other packages do this you could capture an image of the screen (PrtScn places a copy of the screen onto the clipboard) and paste it into paintbrush (or some other paint package). You can then zoom in on different areas of the controls to see how colors and shading are used. To give a 3-D affect to text you can print the text 1 pixel higher and 1 pixel to the left of the intended location in dark gray, then 1 pixel lower and 1 pixel to the right of the intended location in white, then in the intended location in black. You might get a better idea as to how this is done if you use the above zoom technique on one of the Sheridan controls with the text in Light/Heavy shading both raised and lowered. Didn't mean to ramble too much. Just a few ideas. -------------------------------------------------------------- Bill Hoeft, Programer Tel: (703)903-1197 MCI Telecommunications FAX: (703)903-1199 McLean, Virginia USA Internet: bhoeft@mcimail.com -------------------------------------------------------------- ========================================================================= Date: Tue, 16 Aug 1994 06:00:00 PDT From: "Wallace, Glynn W." Subject: Text Parsing XE "Text Parsing"  Ho mighty Visual Basic warriors! Mine superiors have dared to do the vilest thing imaginable...I've got a prog due in a day that I have no I idea how to do. I have 5 5.5 meg ascii files that need to be parsed. They are dumps off of the mainframe that need to be separated according to battalion. There is a header every five or six pages that tells the battalion name. Any ideas? I am clueless... LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ================================================= Jason, What exactly do you need to do with them once parsed? I've done something like this with fixed-ASCII mainframe information. Does the below code shed any light? Sub GetData Dim LastName$, FirstName$, Unit$, Str1$ On Error Resume Next Open YourFile For Input As #1 If Err Then '***do error handling End If Do While Not (EOF(1)) Line Input #1, Str1$ 'get first line of file LastName$ = Left$(Str1$, 10) '***get first 10 characters of line input FirstName$ = Mid$(Str1$, 11, 19) '***get characters 11-19 Unit$ = Mid$(Str1$, 20, 30) '***etc..... '***more string assignments '***do something with strings Loop End Sub You could test the value of Unit$ against know battalion names and use that to steer the other string variables into the proper location with an If...EndIf or Select Case statement. HTH Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Mon, 15 Aug 1994 15:45:00 CDT From: Robert Rouse Subject: GetProfileString XE "GetProfileString"  I had the same problem with GetPrivateProfileString(). Haven't messed with GetProfileString(), but maybe their problems are related. Here's my function declaration: Declare Function GetPrivateProfileString Lib "Kernel" -> (ByVal lpApplicationName As String, -> ByVal lpKeyName As String, -> ByVal lpDefault As String, -> ByVal lpReturnedString As String, -> ByVal nSize As Integer, -> ByVal lpFileName As String) As Integer I then had to go through some gymnastics in code: Dim buflen As Integer Dim RC As Integer Dim ResultField as string buflen = 20 ResultField = Space$(buflen) RC = GetPrivateProfileString%("section_name", "key_name", "", ResultField, buflen, "ini_filename") Next, I had to trim the result field. I'm sure there's a better way to do this and I'd be happy to hear about them. In the meantime, I know this works. ====================================================== Robert Rouse | Voice: 214-575-2966 Texas Instruments, Inc | Fax: 214-575-4853 Plano, TX, USA | E-mail: rrouse@itg.ti.com ------------------------------------------------------ "They mostly come at night...mostly". - Newt ====================================================== ------------- Original Text From DShooko @ SMTP (Dan Shookowsky) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 8/11/94 12:51 PM: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} I've been trying to call GetProfileString to get info from the win.ini file Here is the Decla Declare Function GetProfileString Lib "Kernel" (ByVal lpAppName As String, -> lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer Appleman's API Bible suggests using ByVal lpKeyname as Any Neither version works with the call Dummy% = GetProfileString(SName$, KName$(I), DReturn$, Def$(I), Size%(I)) -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Mon, 15 Aug 1994 15:22:25 EST From: Nathan Brindle Organization: IUPUI Student Activities Office (317) 274-3931 Subject: Please Subscribe-me in Visbas-L In- XE "Please Subscribe-me in Visbas-L"  to a list. You may self-subscribe by sending mail to LISTSERV@TAMVM1.TAMU.EDU (Internet) with the command SUB VISBAS-L Your Name as the body of the message. If you are unfamiliar with LISTSERV and its associated commands, I suggest that you add the commands INFO GENINTRO INFO REFCARD as additional lines of your message. LISTSERV will then send you a file containing a General Introduction to Revised LISTSERV that will give you some instruction on the service and a Quick Reference Card of the various commands. I am subbing for the VISBAS-L listowner, Rick Huff, until he returns next week for vacation. Hopefully this has been helpful. BITNET: NBRINDLE@INDYCMS -------------------- Internet: NBRINDLE@IUPUI.EDU Nathan C. Brindle, Student Activities Office Indiana University Purdue University Indianapolis Staff Advisor, Alpha Phi Omega Nat'l Service Fraternity, Tau Omicron Chapter List Manager, ACCESS-L, BRTHPRNT, EXCEL-L@INDYCMS and other lists Disclaimer: My opinions are my own. Indiana University can speak for itself. ------------------------------------------------------------------------------ ========================================================================= Date: Mon, 15 Aug 1994 16:16:17 -0400 From: Ian Ornstein Subject: Importing data with VB -Reply XE "Importing data with VB -Reply"  Were you using Transactions? The improvement is considerable. HTH - IanO - >>>>>>>>>>>>>>> I was wondering what is the fastest way to import data from an ODBC data source (for example Oracle DB on Unix) to Access or SQL Server database on local PC. I tried to create a dynaset on source data and then I went through dynaset records one by one and transferred records using AddNew and Update methods of target Table object (of Access database). It worked fine, but speed wasn't anything to brag about. Are there any faster ways to do this and still maintain control of transfer initiation in Visual Basic code? <<<<<<<<<<<<<<< ========================================================================= Date: Mon, 15 Aug 1994 16:04:27 -0400 From: Ian Ornstein Subject: SQL Statement -Reply XE "SQL Statement -Reply"  SQLQuery = SQLQuery + "GROUP BY AdaNumber " ' after this line include SQLQuery = SQLQuery + "Order by AdaNumber DESC " >>>>>>>>>>>>>>> I'm using Visual Basic 3.0 For Windows Professional. Here's my challenge. I have three fields in my .MDB file called AdaNumber, DistCost, and InvoiceNumber. DistCost is type Currency, while the other fields are type text. I have written the following query to give me the total DistCost for each AdaNumber. SQLQuery = "SELECT AdaNumber, " SQLQuery = SQLQuery + "SUM(DistCost) AS TotalCost " SQLQuery = SQLQuery + "FROM AIOHost_Logs " SQLQuery = SQLQuery + "WHERE InvoiceNumber IS NOT NULL " SQLQuery = SQLQuery + "AND InvoiceNumber <> '9999999999' " SQLQuery = SQLQuery + "AND InvoiceNumber NOT LIKE '??99999999' " SQLQuery = SQLQuery + "AND InvoiceNumber <> '0000000000' " SQLQuery = SQLQuery + "AND InvoiceNumber <> " + Chr$(34) + Space$(10) + Chr$(34) + " " This works fine, and returns the correct results. However, my final goal is to have a query that will display the AdaNumber, and the total DistCost for each AdaNumber, in DistCost descending order. For example, 0001896, 2346.21 0001918, 2100.05 0256423, 1897.06 0003189, 952.67 . . . etc. Right now, the above query displays in record order. Any suggestions would be appreciated. BTW, I've managed to get this far by using the example on page 227 of the Database Developer's Guide With Visual Basic 3, by Roger Jennings. An excellent book. Regards, Joe Caverly London, Ontario INTERNET:jcaverly@amwayusa.mhs.compuserve.com CIS: 75620,611 <<<<<<<<<<<<<<< ========================================================================= Date: Mon, 15 Aug 1994 14:59:00 -0700 From: "Warford, Craig" Subject: VB vs. Powerbuilder (Personal assessment) XE "VB vs. Powerbuilder (Personal assessment)"  VB: Click Click Click Done. PowerBuilder: Click Dammit! Click Dammit! Click Dammit! Done. Just informing all of you of the frustrations you can expect, based on personal experiences. I've even been through Powersoft training classes at nearly $2000 per student. (I was usually one of the first out of twenty through the labs, I might add, not to brag, but as evidence that I am not an incredibly mindless moron venting his frustrations. I am merely a mindless moron, nothing incredible about it. ;-) >:-{ Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Mon, 15 Aug 1994 14:31:16 EDT From: Chuck Stuart Subject: Interesting thing ab... XE "Interesting thing ab..."  In the form load event you should always set 'app.HelpFile = myHelpFile'. chuck mesquite tx ========================================================================= Date: Mon, 15 Aug 1994 12:46:27 -0500 From: Helen O'Boyle Subject: VB reference In- XE "VB reference"  > Visual Guide to Visual Basic - excellent reference > Database Developers Guide with Visual Basic > Visual Basic Programmer's Guide to the Windows API > Hitchhiker's Guide to VBSQL I've never seen/heard of the last two on your list, and bookstores don't seem to be able to track them down... but they sound REALLY useful. Could you give me the author's names and/or ISBN numbers? Thanks. -- * Helen * ========================================================================= Date: Mon, 15 Aug 1994 14:07:26 EDT From: Chuck Stuart Subject: Unknown subject XE "Unknown subject"  Why not just use MouseMove and forget the API calls? VB is very powerful if you give it a chance. Chuck Mesquite TX ========================================================================= Date: Mon, 15 Aug 1994 13:38:49 -0400 From: Dean Pidgeon Subject: Hex to Decimal Conversion Question XE "Hex to Decimal Conversion Question"  >Goal: Read a hex digit from a text box and create it's decimal >equivalent. > --------- The following is a routine I wrote for use with QB45/PDS7.1, but it should work with VB as well... FUNCTION Hex2Long& (h$) STATIC hextable$ = "0123456789ABCDEF" hx& = 0 a$ = UCASE$(h$) length = LEN(h$) FOR i = 1 TO length ptr = INSTR(hextable$, MID$(a$, i, 1)) IF ptr THEN hx& = hx& * 16 + ptr - 1 NEXT i Hex2Long& = hx& END FUNCTION HTH, Dean -- Dean Pidgeon dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Mon, 15 Aug 1994 17:42:32 -0500 From: huan liang 04-30-92 Subject: Joining tables in VB XE "Joining tables in VB"  Hi All, I am now frustrated with the problem of how to join four tables together. Here is the SQL I tried in SYBASE: select v.caldt, v.vol into #tvolume from company c, volume v where c.cusip = v.cusip and c.comnam = "INTERNATIONAL BUSINESS MACHS" and v.caldt >= 510531 and v.caldt <=550630 select p.caldt, p.prc, ret into #tprice from company c, price p where c.cusip = p.cusip and c.comnam = "INTERNATIONAL BUSINESS MACHS" and p.caldt >=510531 and p.caldt <= 550630 select c.caldt, v.vol, p.prc, ret from crsp2 c, #tvolume v, #tprice p where c.caldt *= v.caldt and c.caldt *= p.caldt and c.comnam = "INTENATIONAL BUSINESS MACHS" and c.caldt>=510531 and c.caldt <=550630 The above SQL statement works well in SYBASE. But when I tried it in VB, I kept receiving error message " Incorrect Syntax error near " *="" Then I tried to replace "*=" with "LEFT JOIN", I got the error message " Incorrect Syntax Error near "Join"" Can anybody help me with this? Thanks in advance for the help. Jane ========================================================================= Date: Mon, 15 Aug 1994 13:30:58 EDT From: Eric Dore Subject: Crystal Reports XE "Crystal Reports"  > > Hi, > > I have VB3.o pro and have just started using crystal reports. Whilst I have > no problems with this type of report generation (in fact I think it's > actually quite good) there are two limitations that I do not seem to be able > to get over. > > 1. How do you use the report generator without using a database, ie. I > wnat to gather some data and dump it into a report, but I do not want to > write it to a database table first. > > 2. If I use a database table, how do I send data other than the bound > fields to the report, eg. I might want to put my name in the heading. (this > is sort of a sub set of the above problem). > > Any help appreciated, > Thanks, > Kevin > ------------------ > Kevin Black Computer Services Group Leader > BHP Research - Newcastle Laboratories > Snail : P.O. Box 188, Wallsend 2287 > Tel : +61 49 510434 Fax: +61 49 513740 > Internet: kevinb@resntl.bhp.com.au > ---------------- > You can use Equations, (initialize them with "xxxxx"), you can change the string in the equation with VB cr1.formulas(0)="equationname='new string'" (cr1 is an crystal report control) Eric Dore Quebec, CANADA ========================================================================= Date: Mon, 15 Aug 1994 14:08:31 -0400 From: Bryan Kowalchuk Subject: Text Parsing XE "Text Parsing"  Use Access 2.0 or Excel. They have very powerful (especially Excel) data parsing routines. We do it every day from the Big Blue Box. Bryan Kowalchuk Bombardier Regional Aircraft bkowalchuk@dehavilland.ca ______________________________ Reply Separator _________________________________ Subject: Text Parsing Author: Disc XE "Parsing" ussion for Microsoft Visual Basic and Related Issues at unix.po Date: 8/15/94 12:54 PM Ho mighty Visual Basic warriors! Mine superiors have dared to do the vilest thing imaginable...I've got a prog due in a day that I have no I idea how to do. I have 5 5.5 meg ascii files that need to be parsed. They are dumps off of the mainframe that need to be separated according to battalion. There is a header every five or six pages that tells the battalion name. Any ideas? I am clueless... LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Wed, 10 Aug 1994 15:54:52 -0400 From: bob dushok - courtesy Subject: VB, OS/2 & Lotus. XE "VB, OS/2 & Lotus."  Cristiano, I develop using VB under OS/2 V2.11 and haven't experienced any problems. V2.1 did have some screen refresh problems within VB, the OS/2 service pack (V2.11) has appeared to fix the problem. As far as using VB created apps, it's no problem at all. VB apps run like any other Windows app under OS/2. I'm also interested in that other VB type product you mentioned. Are you referring to the "VB Killer" app from Borland? It's supposed to be a visual version of Pascal with support for VBX files. Bob ========================================================================= Date: Thu, 11 Aug 1994 05:03:00 PDT From: "Wallace, Glynn W." Subject: Books XE "Books"  >> Database Developer's Guide w/ Visual Basic 3 -- SAMS Books Has anyone else seen the book above, and, does it support databases other than Access - ie. Oracle, SQl Server and ODBC ? Thanks, Chris. ========================================== Chris, I have the book and consider it to be one of the best I've seen. It was written by Roger Jennings and was published this year, so it's up to date. He does discuss ODBC and SQL Server quite a bit, but I can't swear to the Oracle stuff. Since the ODBC Admin comes with VB Pro, and provides connectivity to Oracle, I assume it's in there too. If you want to front end databases with VB, I'd consider it a very wise investment. IMHO #include std_disclaimer.h Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Thu, 11 Aug 1994 05:03:00 PDT From: "Wallace, Glynn W." Subject: API Book XE "API Book"  I've got a couple questions about some things I'm thinking about buying. Any opinions, good/bad, on the following? Visual Basic Programmer's Guide to the Windows API ==================================== Absolute "must have". IMHO Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Wed, 10 Aug 1994 15:07:00 CDT From: Stephen Gehres Subject: Killing an Application XE "Killing an Application"  Try sendind a WM_CLOSE message as follows: --------------------------------------------------------------------------- Declare Function PostMessage% Lib "User" (ByVal hWnd%, ByVal wMsg%, ByVal wParam%, lParam As Any) Const WM_CLOSE = &H10 '-- code x% = PostMessage(Handle%, WM_CLOSE, 0&, 0&) ---------------------------------------------------------------------------- Regards, Steve ________________________________________________________________ Stephen Gehres MSGID: SWG Information Systems & Services Internet: swg.dskpo27a@dskbgw1.itg.ti.com Texas Instruments, Inc. Voice: (214) 575-2410 Plano, Texas USA 75023 Fax: (214) 575-4853 ------------- Original Text From NLBenta @ SMTP (Naim L. Bentahar) {owner-visbas-l@TAMVM1.TAMU.EDU}, on 08/10/94 02:00 pm: To: Mrecipi @ SMTP (Multiple recipients of list VISBAS-L) {VISBAS-L@tamvm1.tamu.edu} I am having problems using the DestroyWindow function from within VB. Here is an example of the code: hInstance% = Shell("winword", 1) hWnd% = GetActiveWindow%() .... .... .... Di% = DestroyWindow(hWnd%) Di% at this point returns 0, which means that the call was not successful. Of course, I am sure that hWnd% returned by GetActiveWindow is the one of the application that Shell launched. Can you see the problem ? Is there is any other way to kill an application ? Thanx for any help you can provide. ========================================================================= Date: Wed, 10 Aug 1994 13:46:31 PDT From: Jason Williams Subject: *.* FileCopy XE "*.* FileCopy"  Ho mighty VB warriors!! Anybody got any ideas of how to use the FileCopy with a wildcard *.*? We're writing a simple batch install for some software suites we're using here. LCpl Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Wed, 10 Aug 1994 13:56:20 -0700 From: Christopher Doan Subject: HELP!!! XE "HELP!!!"  I have a question for those of you who understand the code of ICONWRKS: After loading in an icon, the program extracts the image and mask of the icon in the Extract_Image_And_Mask routine. SetBitMapBits are called twice, one with a 3rd parameter "Lpicon + 12" and the other "Lpicon + 12 + 128", what do the numbers 12 & 128 represent in this API call? I'd appreciate your explanation... ========================================================================= Date: Wed, 10 Aug 1994 15:57:18 PDT From: Keith Phelan Subject: NOMAIL = NOLUCK XE "NOMAIL = NOLUCK"  >> SET VISBAS-L NOMAIL >Sorry, the VISBAS-L list has been locked since 08/09/94 22:09 by >X005RH@TAMVM1.TAMU.EDU. Try again later and contact the list owner if the >condition persists. Sorry to have to take this approach, but as the above message suggests, I have had no luck executing the NOMAIL command. I've tried a half-dozen times since last night, and can't find the list owner's address. Can someone please bring the problem to his attention, and ask him to hold my sub, as I'm catching a plane in a few hours. Thanks! Keith Phelan ========================================================================= Date: Wed, 10 Aug 1994 16:17:34 PDT From: Jason Williams To whoever posted the notice about InstallWare, I'd like more information. The post I got had no From: or who on it. LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Mon, 15 Aug 1994 17:49:44 -0500 From: Michio Maeda Subject: Re[2]: Printing text in any angle XE "Re[2]\: Printing text in any angle"  Bruce, Thanks for your information. I tried ROTATE.ZIP and found does the job for TT fonts using GDI API. (It required VBALINK.DLL but I guess it worked without it.) Regards, Michio Maeda, Milpitas, CA ______________________________ Reply Separator _________________________________ Subject: Printing text in any angle Author: Br XE "Printing text in any angle" uce.McKibben@FI.UIB.NO at Internet Date: 8/10/94 8:33 AM > [snip] >> > >> Ed Staffin has made a sample that does this. Look for his file rotate.zip >> on (I think) ftp.mcs.com in the users/edstaff subdirectory. >> > I think it is ROTEXT.ZIP but I could be wrong and that is not the main >reason for this post. > [snip] ROTEXT.ZIP is a vbx by someone else. Ed's sample uses api calls. -- Bruce McKibben Fysisk Institutt Bruce.McKibben@fi.uib.no Allegaten 55 phone: 47/55212884 N-5007 Bergen fax: 47/55318334 NORWAY ========================================================================= Date: Wed, 10 Aug 1994 20:27:55 EDT From: Chuck Stuart Subject: Database Publishing XE "Database Publishing"  Yes. Hire a programmer. Chuck Stuart Professional Contract Programmer Mesquite TX ========================================================================= Date: Thu, 11 Aug 1994 09:02:14 GMT+800 Organization: Edith Cowan University Subject: Calendar XE "Calendar"  > I don't know if this is the same one but you might want to check this > out: > > ** Index of VisualBasic (VB) Files in ~ftp/pub/pc/win3/programr/vbasic > ** at ftp.cica.indiana.edu [129.79.26.27] > > vbcal.zip 931025 Calendar.vbx: pop-up calendar I've tried this. It's not very good. It seems to have a lot of bugs in it. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Mon, 15 Aug 1994 16:24:47 MST From: Art Dyer Subject: Hex to Decimal Conversion Question XE "Hex to Decimal Conversion Question"  "Cooper, Bob" writes: >Goal: Read a hex digit from a text box and create it's decimal >equivalent. > --------- > >Using Val() I'll get the following result -- assume that input is the >Hex input string and output is the base 10 output string. > >output = Val(input) > >input output >0 0 >F 15 >7FFF 32767 >8000 -32768 >FFFF -1 > >This makes perfect sense if Val() had to >return an integer (2 bytes). However I need to >convert numbers larger than FFFf and I can't think >of a way to use Val() directly. > > [...] Appending an ampersand, just as you would do to make a constant Long instead of Integer, seems to work: print Val("&HFFFF") -1 print Val("&HFFFF&") 65535 But the Help topic for Val only mentions radix prefixes (e.g. &H), nothing about type suffixes, so use it at your own risk. ---- Art Dyer Sunquest Information Systems, Inc., Tucson, AZ (USA) ahd@sunquest.sunquest.com (602) 570-2602 Fax: (602) 570-2099 ========================================================================= Date: Mon, 15 Aug 1994 20:12:25 -0700 From: James Edward Knopf Subject: Get me outa here! XE "Get me outa here!"  Jeeze, I hate robots. I've been trying for four days to get off of this list. All I can get are automatic responses. One response says that the list has been locked since August 8 by A005RH@tamvm1.tamu.edu, so I can't get out. I just want off the list. No hard feelings. I've tried "unsubscribe VISBAS-L" to the listserv, responding to the robot in numerous ways, etc. Can someone help me? Anyone? Please? Sorry to trouble you all with this. -Jim ========================================================================= Date: Tue, 16 Aug 1994 00:42:11 -0300 From: Alexandre Araripe Calvante Subject: Picture Control scrool XE "Picture Control scrool"  Hi, Does someone may suggest a way to scrool the contents of a Picture Control? TIA Alexandre Araripe Federal University of Bahia Institute of Physics Salvador - Bahia - Brasil araripe@sunrnp.ufba.br ========================================================================= Date: Mon, 15 Aug 1994 23:23:12 EDT From: Chuck Stuart Subject: 3-D Text Boxes XE "3-D Text Boxes"  This is from VB Tips & Tricks v1.9 Making Controls Look 3D Well, as you will see, this Sub makes the controls that tag consists 3D, a 3D style. Of cource, the statement 'form3D Me' must be in the Form_Paint. I think that's all - very simple, isn't it. Sub form3d (formname As form) Dim drkgray As Long, fullwhite As Long Dim i As Integer Dim ctop As Integer, cleft As Integer, cright As Integer, cbottom As Integer ' Outline a form's controls for 3D look if control's TAG ' property contains 3D Dim cname As Control drkgray = RGB(128, 128, 128) 'OK, I should use the direct method fullwhite = RGB(255, 255, 255) dw = formname.DrawWidth formname.DrawWidth = 1 'this suits me best For i = 0 To (formname.Controls.Count - 1) Set cname = formname.Controls(i) If TypeOf cname Is Menu Then 'Debug.Print "menu item" ElseIf InStr(UCase(cname.Tag), "3D") <> 0 Then ctop = cname.Top - Screen.TwipsPerPixelY cleft = cname.Left - Screen.TwipsPPixelX cright = cname.Left + cname.Width cbottom = cname.Top + cname.Height formname.Line (cleft, ctop)-(cright, ctop), drkgray formname.Line (cleft, ctop)-(cleft, cbottom), drkgray formname.Line (cleft, cbottom)-(cright, cbottom), fullwhite formname.Line (cright, ctop)-(cright, cbottom), fullwhite End If Next i formname.DrawWidth = dw End Sub Tip Submitted By: Matej.Nastran@fov.uni-mb.si - Yugoslavia ========================================================================= Date: Mon, 15 Aug 1994 22:23:40 -0700 From: Christopher Doan Subject: Error in VB Tips & Trick, Article Q86283! In- XE "Error in VB Tips & Trick, Article Q86283!"  This will NOT work because VB will save the icon with a .BMP format! which is not what I what... ========================================================================= Date: Tue, 16 Aug 1994 10:04:22 +0200 From: Antony Meadley Subject: SQL Statement XE "SQL Statement"  Joe Caverly <75620.611@COMPUSERVE.COM> wrote: >I have written the following query to give me the total DistCost for each >AdaNumber. -sql deleted- >However, my final goal is to have a query that will display the AdaNumber, >and the total DistCost for each AdaNumber, in DistCost descending order. Try: SQLQuery = SQLQuery + "ORDER BY TotalCost" antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Tue, 16 Aug 1994 09:15:49 BST From: Mr Craig Poxon Subject: VB reference XE "VB reference"  > > GEORGE CSEFAI writes: > > Visual Guide to Visual Basic - excellent reference > > Database Developers Guide with Visual Basic > > Visual Basic Programmer's Guide to the Windows API > > Hitchhiker's Guide to VBSQL > > I've never seen/heard of the last two on your list, and bookstores > don't seem to be able to track them down... but they sound REALLY > useful. Could you give me the author's names and/or ISBN numbers? > > Thanks. > -- > * Helen * > ISBN for VB Programmer's Guide to the Windows API is: 1-56276-073-4 The Publisher is Ziff-Davis Press ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 16 Aug 1994 09:28:21 BST From: Mr Craig Poxon Subject: *.* FileCopy XE "*.* FileCopy"  > > Ho mighty VB warriors!! > > > Anybody got any ideas of how to use the FileCopy with a wildcard *.*? > We're writing a simple batch install for some software suites we're using > here. > > > LCpl Williams > 1st Marine Division > Camp Pendleton, CA > Sorry Jason, I can't help but I do have a related question. Has anyone looked at the following KB item: > Examples of Copying a Disk File in Visual Basic for Windows > Article ID: Q77315 It gives to sub routines for file copying. One uses VB commands to read and write sections of the file and the other uses API calls. It claims that the use of APIs should be faster, which sounds right, but I have not found this to be true myself. Mind you, the files I copy are quite small, <30K, so that probably explains it. Anyone had any major differences with larger files? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 16 Aug 1994 17:41:00 PDT From: "Wallace, Glynn W." Subject: VB reference XE "VB reference"  Helen wrote: I've never seen/heard of the last two on your list, and bookstores don't seem to be able to track them down... but they sound REALLY useful. Could you give me the author's names and/or ISBN numbers? ========================================= Visual Basic Programmer's Guide to the Windows API by Daniel Appleman ISBN 1-56276-073-4 BTW - If you can't find it at a local store, you could always order it from books.com (internet). That's where I got mine. Sorry, I don't know anything about the other book. Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Tue, 16 Aug 1994 09:40:56 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: BitMaps In- XE "BitMaps"  picture1.picture = loadpicture("mybitmap.bmp") On Fri, 12 Aug 1994, Jason Lew wrote: > Hi there.... > > I am currently writing a program which requires to load a bitmap... > What code would I need?? Any help will be much appreciated... > > Jason > ========================================================================= Date: Tue, 16 Aug 1994 09:46:02 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: Communicating With V.B In- XE "Communicating With V.B"  use the Print method with the form or wth a picture box. e.g. if you have your data in an array label1.caption = mydata(1) or text2.text = mydata(2) or picture3.print = mydata(3) etc etc. You might find that the data has to be stored as a string. On Thu, 11 Aug 1994, Rosiland Kearney wrote: > I am learning how to use visual basic. I want to develop a program that > receives data from the serial port and display the data on the screen. I have > the code from the Professional Features Book1 p66 on how to communicate with > the serial port, but how do I print the data received to the screen? > ========================================================================= Date: Tue, 16 Aug 1994 07:27:51 -0400 From: Eric Laverdiere Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: VB au Quebec XE "VB au Quebec"  Bonjour, Je cherche quelqu'un qui travaille avec VB au Quebec. KJ'ai u probleme avec mon fichier vb.lic et MS n'est pas tres cooperatif... Vous pouvez me contacter au K386@HECMTL.CC.HEC.CA et je vous donnerais plus de details. Merci a l'avance,Eric Laverdiere Ecole des Hautes Etudes Commerciales. ========================================================================= Date: Tue, 16 Aug 1994 08:54:40 -0400 From: Bryan Kowalchuk Subject: Joining tables in VB XE "Joining tables in VB"  Just my 2cents worth, use Access, construct the query using the query builder, get the output you want, then copy the SQL. You know the syntax will be right. Bryan Kowalchuk Bombardier Regional Aircraft bkowalchuk@dehavilland.ca ______________________________ Reply Separator _________________________________ Subject: Joining tables in VB Author: Disc XE "ng tables in VB" ussion for Microsoft Visual Basic and Related Issues at unix.po Date: 8/15/94 6:52 PM Hi All, I am now frustrated with the problem of how to join four tables together. Here is the SQL I tried in SYBASE: select v.caldt, v.vol into #tvolume from company c, volume v where c.cusip = v.cusip and c.comnam = "INTERNATIONAL BUSINESS MACHS" and v.caldt >= 510531 and v.caldt <=550630 select p.caldt, p.prc, ret into #tprice from company c, price p where c.cusip = p.cusip and c.comnam = "INTERNATIONAL BUSINESS MACHS" and p.caldt >=510531 and p.caldt <= 550630 select c.caldt, v.vol, p.prc, ret from crsp2 c, #tvolume v, #tprice p where c.caldt *= v.caldt and c.caldt *= p.caldt and c.comnam = "INTENATIONAL BUSINESS MACHS" and c.caldt>=510531 and c.caldt <=550630 The above SQL statement works well in SYBASE. But when I tried it in VB, I kept receiving error message " Incorrect Syntax error near " *="" Then I tried to replace "*=" with "LEFT JOIN", I got the error message " Incorrect Syntax Error near "Join"" Can anybody help me with this? Thanks in advance for the help. Jane ========================================================================= Date: Tue, 16 Aug 1994 08:35:00 GMT From: GEORGE CSEFAI Subject: VB reference XE "VB reference"  H>From: "Helen O'Boyle" >Subject: VB reference >Date: XE "VB reference"  Mon, 15 Aug 1994 12:46:27 -0500 >To: george.csefai@keaneinc.com H>GEORGE CSEFAI writes: >> Visual Guide to Visual Basic - excellent reference >> Database Developers Guide with Visual Basic >> Visual Basic Programmer's Guide to the Windows API >> Hitchhiker's Guide to VBSQL H>I've never seen/heard of the last two on your list, and bookstores >don't seem to be able to track them down... but they sound REALLY >useful. Could you give me the author's names and/or ISBN numbers? H>Thanks. >-- >* Helen * Here is my list of great VB Reference books: Visual Guide to Visual Basic By: Richard Mansfield ISBN: 1-56604-063-9 $29.95 Database Developer's Guide with Visual Basic 3 By: Roger Jennings ISBN: 0-672-30440-6 $44.95 Visual Basic Programmer's Guide to the Windows API By: Daniel Appleman ISBN: 1-56276-073-4 $34.95 A Hitchhiker's Guide to VBSQL By: William R. Vaughn ISBN: 0-9640242-0-9 $45.00 I consider (IMHO) that these books are 'must haves' for VB programmers. George Csefai --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Tue, 16 Aug 1994 09:03:03 -0400 From: Dean Pidgeon On Mon, 8 Aug 1994 Gary A. Ferguson wrote... >I'm using YATC.VBX, by Peter Golde (petergo@microsoft.com.) It's freeware >and seems to work very well. (I've only done 1 form with 4 tabs, however.) > >I think I got it off of CICA > >Gary Does anyone know where to find this file? I have searched CICA without success. Any info would be appreciated. TIA, Dean -- Dean Pidgeon dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Tue, 16 Aug 1994 09:08:08 -0400 From: Dean Pidgeon Subject: Corrections to Daniel Applemans API book XE "Corrections to Daniel Applemans API book"  Does anyone have the list of the corrections to Daniel Appleman's Visual Basic Programmers Guide to the Windows API book that was mentioned about two weeks ago? If so, would you mind emailing it to me? Thanks. Dean -- Dean Pidgeon dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Tue, 16 Aug 1994 08:12:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Picture Control scrool XE "Picture Control scrool"  Look in the VB Knowledge Base at article Q71068 : How to Create Scrollable Viewpoints in Visual Basic. I know this because I had the same question a few months ago and this is the answer I got. It works. : - ) Russell Greenlaw ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Picture Control scrool Date: Tuesda XE "re Control scrool" y, August 16, 1994 00:42 Hi, Does someone may suggest a way to scrool the contents of a Picture Control? TIA Alexandre Araripe Federal University of Bahia Institute of Physics Salvador - Bahia - Brasil araripe@sunrnp.ufba.br ========================================================================= Date: Tue, 16 Aug 1994 09:28:22 -0400 From: Stephen Lenz Subject: Get me outa here! In- XE "Get me outa here!"  I THINK that's it. Worth a shot. Steve Lenz slenz@risd.edu On Mon, 15 Aug 1994, James Edward Knopf wrote: > Jeeze, I hate robots. I've been trying for four days to get off of this > list. All I can get are automatic responses. > > One response says that the list has been locked since August 8 by > A005RH@tamvm1.tamu.edu, so I can't get out. > > I just want off the list. No hard feelings. I've tried "unsubscribe > VISBAS-L" to the listserv, responding to the robot in numerous ways, > etc. Can someone help me? Anyone? Please? > > Sorry to trouble you all with this. > > -Jim ========================================================================= Date: Tue, 16 Aug 1994 09:38:52 -0400 From: Stephen Lenz Subject: *.* FileCopy In- XE "*.* FileCopy"  one at a time. It sounds sloowwwww, but it's reall not. Here's some sample code: DIM Arr ( 1 to 10) as string DIM i as integer DIM NewPathName as string DIM NewFileName as string for i = 1 to 10 Arr(i) = FullPathName + "filnam.ext" next 'Check files, set up paths, existing file names, etc. 'If all okay, then: for i = 1 to 10 FileCopy Arr(i), NewPathName + "filnam.ext" or FileCopy Arr(i), NewPathName + NewFileName next This is how it's done. Sound complicated, but it isn't, and it always works. Steve Lenz slenz@risd.edu On Wed, 10 Aug 1994, Jason Williams wrote: > Ho mighty VB warriors!! > > > Anybody got any ideas of how to use the FileCopy with a wildcard *.*? > We're writing a simple batch install for some software suites we're using > here. > > > LCpl Williams > 1st Marine Division > Camp Pendleton, CA ========================================================================= Date: Tue, 16 Aug 1994 09:03:00 -0700 From: "Warford, Craig" Subject: *.* FileCopy XE "*.* FileCopy"  >Yes. You cannot use wild cards with FileCopy, it can only copy ONE file at >a time. So place the names of the files to copy in an array, and copy them >one at a time. It sounds sloowwwww, but it's reall not. Here's some sample >code: Couldn't you just use an invisible file control, then plug the path/pattern information in, then go down the list one by one? I think it's a little simpler coding: File1.Path="C:\MYDIR" File1.Pattern="*.*" File1.Refresh 'You could do this when the pattern is changed in a text box For I=1 to File1.ListCount 'File operation Next I File1.Refresh 'In case the directory contents changed with your operation. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Tue, 16 Aug 1994 15:06:25 GMT From: Phil Clarke Subject: The Strange Behaviour of Crystal Reports..... XE "The Strange Behaviour of Crystal Reports....."  We're writing an application in VB 3.0 incorporating the Crystal Reports control and I have hit on a problem which has me bemused. If you select 'Window' as the destination for a CR report ie Report1.Destination = 0 then CR opens a 'preview' type window and directs the print to it, allowing the user to view the report in a WYSIWYG form before printing it (or not) and closing the window. All very slick and user-friendly so far. What has me puzzled is that this window seems to be non-modal. That is, the window is opened and the app carries on executing. This means, unless I've missed something crucial, that 'Print Report' must be the last operation before the app returns to a 'waiting for input' state, (as just happens to be the case in the sample CR application supplied). What I want to do is display a form which allows the user to select a database record, unload (or hide) the selection form, print a report, then redisplay the selection form so the user may select another record or quit. A fairly common piece of functionality I would have thought. What actually happens is that the report prints to the window, then happily loops on round - redisplaying the selection form over the print preview window. Surely it must be possible to suspend execution until the user has dealt with the CR window? I can think of ways around the problem but they involve either putting the CR window in a parent window - so closing it becomes a two stage process, or resorting to the API, which I am loath to do and surely should not be necessary for such a basic operation. Anybody out there had a similar problem? Am I missing something blindingly obvious (It wouldn't be the first time). Thanks, Phil Clarke. P.J.CLARKE@bham.ac.uk or pclarke@cix.compulink.co.uk Senior PC Analyst/Programmer University of Birmingham Administrative Data Processing Unit. Tel 021 414 3650. ========================================================================= Date: Tue, 16 Aug 1994 09:06:57 EST From: Nathan Brindle Organization: IUPUI Student Activities Office (317) 274-3931 Subject: Get me outa here! In- XE "Get me outa here!"  when he pulled a copy down to create VBDATA-L. Until he gets back and unlocks it, no one is going to be able to subscribe or unsubscribe. If there was something I could do, I would do it. But I can't. BITNET: NBRINDLE@INDYCMS -------------------- Internet: NBRINDLE@IUPUI.EDU Nathan C. Brindle, Student Activities Office Indiana University Purdue University Indianapolis Staff Advisor, Alpha Phi Omega Nat'l Service Fraternity, Tau Omicron Chapter List Manager, ACCESS-L, BRTHPRNT, EXCEL-L@INDYCMS and other lists Disclaimer: My opinions are my own. Indiana University can speak for itself. ------------------------------------------------------------------------------ ========================================================================= Date: Tue, 16 Aug 1994 09:20:22 -0500 From: Bruce McKibben Subject: *.* FileCopy XE "*.* FileCopy"  LCpl Williams writes: > > Ho mighty VB warriors!! > > > Anybody got any ideas of how to use the FileCopy with a wildcard *.*? > We're writing a simple batch install for some software suites we're using > here. > Look up the Dir() function. If I remember right, each time you call it with a wildcard pattern, it returns with the next filespec that matches. Use it in a Do Until to copy all of your files. HTH, Bruce -- Bruce McKibben Fysisk Institutt Bruce.McKibben@fi.uib.no Allegaten 55 phone: 47/55212884 N-5007 Bergen fax: 47/55318334 NORWAY ========================================================================= Date: Tue, 16 Aug 1994 10:25:49 -0400 From: Dean Pidgeon Subject: *.* FileCopy XE "*.* FileCopy"  You might want to try something like this... ' Change to desired directory ChDir "C:\DIR1" ' File(s) to copy filename$ = "*.*" found$ = DIR$(filename$) IF LEN(found$) = 0 THEN PRINT "File not found" END END IF ' Process each file found i% = 0 WHILE LEN(found$) ' Copy the file target$ = "C:\TEMP\" & found$ FileCopy found$, target$ i% = i% + 1 found$ = DIR$ WEND PRINT i%; " file(s) copied" HTH, Dean -- Dean Pidgeon dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Tue, 16 Aug 1994 10:46:44 -0400 From: Stephen Lenz Subject: *.* FileCopy In- XE "*.* FileCopy"  invoke FileCopy or you'll have a problem. I have found the easiest way is to fill an array with the proper info (however you obtain it), then check it, then blast away with a FileCopy For-Next loop. Steve Lenz slenz@risd.edu On Tue, 16 Aug 1994, Warford, Craig wrote: > >Yes. You cannot use wild cards with FileCopy, it can only copy ONE file at > >a time. So place the names of the files to copy in an array, and copy them > >one at a time. It sounds sloowwwww, but it's reall not. Here's some sample > >code: > > > > Couldn't you just use an invisible file control, then plug the path/pattern > information in, then go down the list one by one? I think it's a little > simpler coding: > > File1.Path="C:\MYDIR" > File1.Pattern="*.*" > File1.Refresh 'You could do this when the pattern is changed in a text > box > For I=1 to File1.ListCount > 'File operation > Next I > File1.Refresh 'In case the directory contents changed with your > operation. > > Craig Warford > WAR > warford@uthscsa.edu ========================================================================= Date: Tue, 16 Aug 1994 10:51:41 EST From: Rich Beaudry Subject: *.* FileCopy XE "*.* FileCopy"  >Ho mighty VB warriors!! > Anybody got any ideas of how to use the FileCopy with a wildcard *.*? >We're writing a simple batch install for some software suites we're using >here. > LCpl Williams > 1st Marine Division > Camp Pendleton, CA FileCopy itself can't take wildcards, but you can do the following FileMatch = Dir$("*.*") Do While FileMatch <> "" FileCopy FileMatch, Destination FileMatch = Dir$ Loop The first Dir$ command gets the first match to "*.*". The Dir$ command in the loop finds the next match. You just keep looping until there are no more matches (Dir$ returns ""). If you need more help, E-Mail me personally, or check out the Help for the Dir$ command ... I think there's even an example of how to do this kind of thing... Rich Rich_Beaudry@smtplink.infores.com ========================================================================= Date: Tue, 16 Aug 1994 10:21:00 CDT From: "Dana, Alicia C" Subject: Interesting thing about Help XE "Interesting thing about Help"  Make sure you specify the path for the Help file when setting the HelpFile property of the application. If you do not include an absolute path, it will look for the Help file in the current directory. Alicia Dana ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Interesting thing about Help Date: Thursd XE "esting thing about Help" ay, August 11, 1994 3:58PM Ran into this problem the other day & thought some of you may be interested. I gave some code to another person I work with, it was complete with help files. This person opened the project from within VB; ran it; then pressed 'F1' to get context sensitive help, and the help system reported 'can not open help file.' Yet you can open the help file from the file menu option within the help system. I run almost everything from the file manager; so, I opened the VB project from the file manager; ran it; then pressed 'F1' & no problems!!! It seems that when you start a project from VB it looks in the VB directory for any help files!!! So..... ChDir App.Path to fix this problem. J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ========================================================================= Date: Tue, 16 Aug 1994 10:24:33 CDT From: Rosiland Kearney Subject: Question on DoEvents Function XE "Question on DoEvents Function"  Greetings Everyone! I am developing a program that recieves information from the serial port of my PC nd uses the data in the program i.e (numbers received adjusts gauge values). My question is when I use the doevents function to suspend the program and go to windows is their a way I can simultaneously display the information as it comes in or do I have to store it in an array and then print it? Thank you! Rosiland ========================================================================= Date: Tue, 16 Aug 1994 16:25:00 +0000 From: "Eoin C. Bairead" Subject: Boxes in a Text Box XE "Boxes in a Text Box"  I have a number of DOS-created files which use graphic characters to draw boxes - 218 for the top left corner etc. When I load these files into a VB Text box, surprise, surprise, I get the new, Windows representations of these codes - A with a little circle on top, Superscript 3 etc. Is there any way of telling a windows program to use the graphics characters. Eoin ========================================================================= Date: Tue, 16 Aug 1994 08:37:53 PDT From: Bill Vaughn Subject: VB reference XE "VB reference"  Anyone know how to get on this "books.com" list? I have a book I want to make more readily available to Internet users. bv ---------- From: "Wallace, Glynn W." To: Multiple recipients of list VISBAS-L Subject: VB reference Date: Tuesd XE "VB reference" ay, August 16, 1994 5:41PM Helen wrote: I've never seen/heard of the last two on your list, and bookstores don't seem to be able to track them down... but they sound REALLY useful. Could you give me the author's names and/or ISBN numbers? ========================================= Visual Basic Programmer's Guide to the Windows API by Daniel Appleman ISBN 1-56276-073-4 BTW - If you can't find it at a local store, you could always order it from books.com (internet). That's where I got mine. Sorry, I don't know anything about the other book. Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Tue, 16 Aug 1994 11:06:00 -0700 From: "Warford, Craig" Subject: *.* FileCopy XE "*.* FileCopy"  >Sure. The whole thing is, you have to get the individual file names with >their paths, as well as full, correct target path/fileNames before you >invoke FileCopy or you'll have a problem. I have found the easiest way is >to fill an array with the proper info (however you obtain it), then check >it, then blast away with a FileCopy For-Next loop. > >Steve Lenz >slenz@risd.edu 1) You have all full source path/filenames with the file list box: FileCopy File1.Path+"\"+File1.List(I), Destination 2) You will have to verify correct target names no matter what format you use. 3) The file list box is an automatic array. Much easier than filling your own. The file list box would also have the appearance of being faster, because the array could be filled as the user changes the pattern in the textbox (Text1.Change event). You don't have to wait until a button is clicked before the array is filled. When the button is clicked, the array is already filled, and processing begins immediately. With your method, the array is not filled until the "copy" button is clicked. This takes extra time from the user's viewpoint. If you are going to do this operation completely hidden, where the user doesn't even have to enter path or wildcard information, then I would have to agree with your method. A behind the scenes operation would definitely be faster. But then, you'll have to make sure that your array is large enough, and the file list box takes care of that for you. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Tue, 16 Aug 1994 13:06:49 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Boxes in a Text Box XE "Boxes in a Text Box"  From: NAME: Gerry Hull TEL: DTN 381-0730 - (603) 881-0730 ADDR: ZKO2-2/M37 To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> textbox1.FontName = "MS LineDraw" Then place your text into the box - and it works! (MS LineDraw is a font which comes with Windows) Gerry =============================================== >> I have a number of DOS-created files which use graphic characters >> to draw boxes - 218 for the top left corner etc. >> >> When I load these files into a VB Text box, surprise, surprise, I get the >> new, Windows representations of these codes - A with a little circle on top, >> Superscript 3 etc. >> >> Is there any way of telling a windows program to use the graphics characters. >> >> Eoin >> ========================================================================= Date: Tue, 16 Aug 1994 12:45:22 -0500 From: Tony Trehan Organization: University of Missouri - Kansas City, CSTP Subject: BitMaps XE "BitMaps"  Lets say you have a Picturebox/Image on your form. Then, Picture1.picture = Loadpicture("C:\WINDOWS\BS.BMP") will load yuor .BMP....... > > Hi there.... > > I am currently writing a program which requires to load a bitmap... > What code would I need?? Any help will be much appreciated... > > Jason :Tony Trehan. +----------------------------------------------------------------------------+ | atrehan@cstp.umkc.edu | Gniklat Peek | +----------------------------------------------------------------------------+ ========================================================================= Date: Tue, 16 Aug 1994 13:16:35 -0500 From: Tony Trehan Organization: University of Missouri - Kansas City, CSTP Subject: Question on DoEvents Function XE "Question on DoEvents Function"  Draw a textbox text1 and a communications control comm1 on your form. Run the following code to get what you desi (Preferrrably set the Multiline property of the textbox true, draw it of a big size and set Scrollbars propery to Vertical only) ::::::::::::::::: ::::::::::::::::: comm1.inputsize=0 comm1.portopen=true ::::::::::::::::: ::::::::::::::::: text1.text="" do dummy=DoEvents() text1.text=text1.text & Comm1.Input loop until UserWantstoQuit=True ::::::::::::::::: :::::::::::::::::: You will notice: 1. The textbox may flicker as it gets filled. 2. The cursor in the textbox does not maitain the "last" position. 3. Program crashes if text in textbox>64K There are simple and easy tricks to eliminate all this.... Mail me if you need more help.... -Tony > Greetings Everyone! > I am developing a program that recieves information from the serial port of my > PC nd uses the data in the program i.e (numbers received adjusts gauge values). > My question is when I use the doevents function to suspend the program and go > to windows is their a way I can simultaneously display the information as it > comes in or do I have to store it in an array and then print it? > Thank you! > Rosiland :Tony Trehan. +----------------------------------------------------------------------------+ | atrehan@cstp.umkc.edu | Gniklat Peek | +----------------------------------------------------------------------------+ ========================================================================= Date: Tue, 16 Aug 1994 11:37:49 PST From: Greg Ryan Organization: Crystal Point, Inc. Subject: Set Mail -- Locked out XE "Set Mail -- Locked out"  Sending to LISTSERV the SET NOMAIL command worked fine. But the SET MAIL command to LISTSERV failed with the following Locked Out message. Now that I am back, I would like to start receiving VB Mail. What did I miss ? What is the procedure ? TIA Greg. PS - For future reference, who is the list owner ? > Date: Tue, 16 Aug 1994 12:53:30 -0500 > From: "L-Soft list server at Texas A&M" (1.8a) > Subject: Output of your job "GREGR" > To: XE "Output of your job "GREGR""  Greg Ryan > > SET VISBAS-L MAIL > Sorry, the VISBAS-L list has been locked since 08/09/94 22:09 > by X005RH@TAMVM1.TAMU.EDU. Try again later and contact the > list owner if the condition persists. > > Summary of resource utilization > ------------------------------- > CPU time: 0.026 sec Device I/O: 0 > Overhead CPU: 0.007 sec Paging I/O: 2 > CPU model: 5990 DASD model: 3380 > ========================================================================= Date: Tue, 16 Aug 1994 16:00:00 EDT From: "Willard,Matthew,MP" Subject: Icons/Bitmaps XE "Icons/Bitmaps"  I hope someone can help me with these questions: 1. Where can I get a collection of Bitmaps/Icons other than the ones that come with VB? An FTP site? More specifically, I'm interested in some good icons for exiting etc... 2. How exactly do I make a bitmap fit into a picture control? Thanks, Matt Willard ========================================================================= Date: Tue, 16 Aug 1994 17:00:46 EDT From: Paul Gilberti Subject: Changing Printer Orientation In- XE "Changing Printer Orientation"  From: Chuck Stuart How to Change the Printer Orientation to Landscape -------------------------------------------------- The following example below demonstrates how to change the printer orientation to landscape. Please note that your printer must support landscape mode for these commands to have any effect. 1. Start a new project in Visual Basic (ALT, F, N). Form1 is created by default. 2. Add a command button (Command1) to Form1. 3. Add the following code to the global module: Type OrientStructure Orientation As Long Pad As String * 16 End Type ' Enter the following Declare statement on one, single line: Declare Function Escape% Lib "GDI" (ByVal hDc%, ByVal nEsc%, ByVal nLen%, lpData As OrientStructure, lpOut As Any) 4. Add the following code to the Command1_Click event procedure of the Command1 button: Sub Command1_Click () Const PORTRAIT = 1 Const LANDSCAPE = 2 Const GETSETPAPERORIENT = 30 Dim Orient As OrientStructure '* Start the printer Printer.Print "" '* Specify the orientation Orient.Orientation = LANDSCAPE '* Send escape sequence to change orientation x% = Escape(Printer.hDC, GETSETPAPERORIENT, Len(Orient), Orient, NULL) '* The EndDoc will now re-initialize the printer Printer.EndDoc Printer.Print "Should print in landscape mode" Printer.EndDoc End Sub Unfortunaly the EndDoc command cause a blank page to be printed before the change takes effect. How do you eliminate the blank page ? ========================================================================= Date: Wed, 17 Aug 1994 05:53:00 PDT From: "Wallace, Glynn W." Subject: VB reference XE "VB reference"  Anyone know how to get on this "books.com" list? I have a book I want to make more readily available to Internet users. bv ==================================== I don't know about distribution, but if you telnet to books.com and enter all the appropriate personal data to estabish an account, there is a way to leave mail for the admins. In fact, if it's the right time of day, you can actually chat with them. They could give you more info I'm sure. HTH Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Tue, 16 Aug 1994 14:36:22 -0700 From: Stephen Kearney Subject: Drag-Drop from listbox XE "Drag-Drop from listbox"  Has anyone implemented the ability to drag individual items from a listbox? Any tips? Thanks.... ______________________________________________________ Stephen Kearney : neff123@garnet.berkeley.edu The spheres are in commotion, the elements in harmony! ***MIME mail, please!*** ========================================================================= Date: Tue, 16 Aug 1994 17:08:39 -0500 From: Ravinder Vaddepally Hi, I am presently working on a project that uses about 25 forms. Using about 18 forms I collect data from the user, and I use the rest for displaying the computed results etc.. What my problem is whether to use global variables for storing the input data or not. If I use global variables, I may have to use about 60 variables, I think using that many global variables is not good . the other alternative for this is to directly access the input data from the forms but it requires all the forms to be loaded in the memory all the time. Could any body tell which option is best for me. Thanks in advance Ravinder Vaddepally ravirao@matt.ksu.edu ========================================================================= Date: Wed, 17 Aug 1994 00:36:12 -0400 From: Amr Kamal Subject: Mapping a Disk XE "Mapping a Disk"  Hi there I know this is very complicated but i want to draw a map for the entire disk showing the fragmentation and location of every particular file passed to this routine. so anyone knows a special VBX or DLL that i can use to read the FAT and allocate the structure of the file. Thanx ========================================================================= Date: Tue, 16 Aug 1994 21:46:55 -0700 From: Brian Lo Subject: How do you unsubscribe visbas-l In- XE "How do you unsubscribe visbas-l"  UNSUB VISBAS-L UNSUBSCRIBE VISBAS-L return message indicated I have been removed from the list. I am still receiving VISBAS-L Can someone remove me. dragon@csulb.edu ========================================================================= Date: Wed, 17 Aug 1994 11:38:57 GMT Organization: Chemistry Department, Uni of Surrey Subject: VB reference XE "VB reference"  > Anyone know how to get on this "books.com" list? I have a book I want > to make more readily available to Internet users. > bv > ==================================== > I don't know about distribution, but if you telnet to books.com and enter > all the > appropriate personal data to estabish an account, there is a way to leave > mail for the admins. In fact, if it's the right time of day, you can > actually chat with them. They could give you more info I'm sure. > books.com is an electronic book ordering service. You telnet to it and can order books from it, paying by credit card. They say the have over 270,000 books covering both fiction and non fiction. It seems to be a cheap way of getting books, as they charge in dollars, wheras in UK book shops the price is much more than the dollar/sterling rate. Dave ********************************************************************** Dave Elder, Network Manager * email elder@chem.surrey.ac.uk Chemistry Department * or d.elder@surrey.ac.uk University of Surrey * phone +44 (0)483 259592 Guildford, Surrey, GU2 5XH, UK * fax +44 (0)483 300803 ********************************************************************* ========================================================================= Date: Wed, 17 Aug 1994 13:15:04 +0200 From: Antony Meadley Subject: Boxes in a Text Box XE "Boxes in a Text Box"  "Eoin C. Bairead" wrote: >I have a number of DOS-created files which use graphic characters >to draw boxes - 218 for the top left corner etc. > >When I load these files into a VB Text box, surprise, surprise, I get the >new, Windows representations of these codes - A with a little circle on top, >Superscript 3 etc. > >Is there any way of telling a windows program to use the graphics characters. Yes. Set the FontName property of the text box to be "Terminal". This will then display the correct symbols. Antony. ========================================================================= Date: Wed, 17 Aug 1994 07:47:47 EDT From: Jean-Michel Lemieux Subject: Drag-Drop from listbox In-> Has an XE "Drag-Drop from listbox" yone implemented the ability to drag individual items from a listbox? > Any tips? > YES, For example if you would like to drag list items within the same listbox then you must calculate the textheight of those items, find which index is currently at the top of the list and use the mouse position to figure out which list item is under the cursor. It would look something like this: Sub [control]_DragOver(......., X,Y as integer,...) TopItem& = SenMessage(List1.Hwnd,LB_GETTOPINDEX,&0,&0) TextH& = TextHeigth("A ") Insert& = Y / TextH& Insert& = Insert& + TopItem& Set your list boxes ScaleMode to pixels. And this should work. This is just off my head. Try it and let me know how it works. -- [=============================================================] [ Jean-Michel Lemieux ================ u599371@csi.uottawa.ca ] [ Universite d'Ottawa ================ Sciences Informatique ] [=============================================================] ========================================================================= Date: Wed, 17 Aug 1994 12:53:00 BST From: "S.Bannister -Stephen Bannister" Subject: Icons/Bitmaps XE "Icons/Bitmaps"  If you have access to the World Wide Web, try: http://www.di.unipi.it/iconbrowser/icons.html There are over 4000 of them! You could try ftp to get them out, I haven't tried it though. Steve. ------------------------------------------------------------------------- Steve Bannister (s.bannister@open.ac.uk) The Open University, Milton Keynes, England ------------------------------------------------------------------------- ---------- >From: VISBAS-L >To: Multiple recipients of list VISBAS-L >Subject: Icons/Bitmaps >Date: Tuesda XE "s/Bitmaps" y, August 16, 1994 4:00PM > >Return-Path: <@earn-relay.ac.uk:VISBAS-L@TAMVM1.TAMU.EDU> >Received: from venus.open.ac.uk by msmgate2.open.ac.uk id > <2E51296A@msmgate2.open.ac.uk>; Tue, 16 Aug 94 21:02:34 BST >Received: from earn-relay.ac.uk by venus.open.ac.uk via JANET with NIFTP (PP) > id <09756-0@venus.open.ac.uk>; Tue, 16 Aug 1994 21:02:26 +0100 >Received: from UKACRL by UK.AC.RL.IB (Mailer R2.10 ptf000) with BSMTP id 5463; > Tue, 16 Aug 94 21:02:11 BST >Received: from IB.RL.AC.UK by UKACRL.BITNET (Mailer R2.10 ptf000) with BSMTP > id 0855; Tue, 16 Aug 94 21:02:10 BST >Date: Tue, 16 Aug 1994 16:00:00 EDT > >From: "Willard,Matthew,MP" >Subject: Icons/Bitmaps >To: Multiple XE "s/Bitmaps"  recipients of list VISBAS-L >--------------------------------------------------------------------------- --- >I hope someone can help me with these questions: > >1. Where can I get a collection of Bitmaps/Icons other than the ones that >come with VB? An FTP site? More specifically, I'm interested in some good >icons for exiting etc... > >2. How exactly do I make a bitmap fit into a picture control? > >Thanks, >Matt Willard > ========================================================================= Date: Wed, 17 Aug 1994 08:04:35 -0400 From: Steve Rego Hi all, I have an interesting problem, one which has driven me crazy over the last few days. I have a database application in which the user can create and open new databases. I use cmdialog.vbx for file access as I normally would for my apps and have tested the databases created with my code using datamanager and everything seems to be fine with the file creation process. However, I am having trouble passing the file name to a data control on another form. It appears that the data control is not accessing the file. Here is a breif description of what I have done: File/New...opens cmdialog box...creates new db with fields and tables... then show db form "dbform.show" and set the data control properties "data1.databasename = dbname" (where dbname was set to the following when cmdialog is activated "dbname = cmdialog.filename"). The answer is probably something simple but I can't find anything in the manuals about passing filenames as variables. Thanks in advance...Steve ========================================================================= Date: Sun, 7 Aug 1994 05:38:00 GMT From: Ted Torres Organization: High Country Eats BBS (619) 788-0831 Subject: OCR (escape) codes XE "OCR (escape) codes"  JW>From: Jason Williams JW>Is anyone out there familiar with sending printer escapes codes from JW>within VB? I am in the middle of an app that requires it to print in JW>true OCR-A, and the closest I have is a cheesy font that doesn't work JW>right. Our LaserJet IV/si has a font catridge that contains a true JW>OCR-A font, but I don't know how to change it in to the OCR mode, and JW>back again. JW> (0O(s0p10.00h12.0v0s0b104T JW> Any clues??? I THINK this might work... i noticed that if i'm printing to a printer, and i set printer.font to nothing (printer.fontname="") then i get the "native" printer font. (its default hardware font) so you might try that, and then printer.print chr$(27);"(0O";chr$(27)..... and so on. it might work ? ! --- * CMPQwk #1.4* UNREGISTERED EVALUATION COPY ========================================================================= Date: Wed, 3 Aug 1994 07:12:00 GMT From: David Mccarter Organization: High Country Eats BBS (619) 788-0831 Subject: VB Tips & Tricks 1.9 Rele XE "VB Tips & Tricks 1.9 Rele"  ========Visual Basic Tips & Tricks 1.9 Has Been Released!======== The user oriented Visual Basic Tips & Tricks help file was released on 7/31/94. This free help file contains topics on VB DOS, VB Win, Programming VB Apps with MS Access, Win Help Files, Advanced Programming Techniques and Business Solutions. It also contains info on the latest listings of VB, Access and Help Compiler files available on the MS BBS. It lists other sources of help, where to find VBX's, DLL's, Form's, Module's and programmer tools. This version also comes with pre-made modules for use in almost any program and sample programs complete with code! Enter the VB Tips & Tricks contest and win a programming book! Where To Download VB Tips & Tricks: =================================== File Name: VBTIPS19.ZIP or VBTIPS19.EXE BBS Systems: ------------ The Centre (New Zealand) - 09.443.7679 High Country Eats (San Diego, CA) - 619.440.0231 Windows-R-Us (San Diego, CA) - 619.944.7368 InterNet FTP Sites: ------------------- CICA - winftp.cica.indiana.edu [129.79.20.17] Directory: ~ftp/pub/pc/win3/programr/vbasic On-Line Services: ----------------- Compuserve - GO WINSHARE, MSBASIC, PCUKFORUM, WINSDK or WINUSER Keyword:DPMCS America On-Line - //Comming Soon// =================================== =VB Tips & Tricks Is Developed By:= =================================== David McCarter DPM Computer Solutions 8430-D Summerdale Road San Diego, CA 92126-5415 E-Mail: DPMCS@HIGH-COUNTRY.COM CIS: 74227,1557 :-) ______________________________________________________ DPM Computer Solutions - San Diego, CA USA InterNet: dpmcs@high-country.com CompuServe: 74227,1557 Sent On: 08/02/94 - 23:12 --- * CMPQwk #1.4* UNREGISTERED EVALUATION COPY ========================================================================= Date: Wed, 17 Aug 1994 14:05:36 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: Boxes in a Text Box In- XE "Boxes in a Text Box"  2. when Write as      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmopqrstuvwxyz{|}~ks you if you want to convert the text file, say "OK" 3. save this as a Write (.wri) file 4. reload the new .wri file into Write 5. save it as a text file This should give you a text file with the new Windows characters in it (if the corresponding characters exist in windows). On Tue, 16 Aug 1994, Eoin C. Bairead wrote: > I have a number of DOS-created files which use graphic characters > to draw boxes - 218 for the top left corner etc. > > When I load these files into a VB Text box, surprise, surprise, I get the > new, Windows representations of these codes - A with a little circle on top, > Superscript 3 etc. > > Is there any way of telling a windows program to use the graphics characters. > > Eoin > ========================================================================= Date: Wed, 17 Aug 1994 09:09:43 -0400 From: Dean Pidgeon Subject: Corrections to Daniel Applemans API book XE "Corrections to Daniel Applemans API book"  Thanks to everyone who responded to my request for the list of the corrections to Daniel Appleman's Visual Basic Programmers Guide to the Windows API book. Thanks too for responding so quickly!! Dean Pidgeon -- dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Wed, 17 Aug 1994 14:14:47 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" Subject: OCR (escape) codes In- XE "OCR (escape) codes"  > JW>Is anyone out there familiar with sending printer escapes codes from > JW>within VB? I am in the middle of an app that requires it to print in > JW>true OCR-A, and the closest I have is a cheesy font that doesn't work > JW>right. Our LaserJet IV/si has a font catridge that contains a true > JW>OCR-A font, but I don't know how to change it in to the OCR mode, and > JW>back again. > JW> (0O(s0p10.00h12.0v0s0b104T > JW> Any clues??? > > I THINK this might work... i noticed that if i'm printing to a printer, > and i set printer.font to nothing (printer.fontname="") then i get the > "native" printer font. (its default hardware font) > > so you might try that, and then > printer.print chr$(27);"(0O";chr$(27)..... and so on. > > it might work ? ! > --- > * CMPQwk #1.4* UNREGISTERED EVALUATION COPY > To send codes like this straight to the printer open the printer port as an output file instead of using the VB Printer object. e.g. open "prn" for output as #1 print #1,chr$(27);"0O";chr$(27)`...etc close 1 ========================================================================= Date: Wed, 17 Aug 1994 09:26:00 EDT From: "Willard,Matthew,MP" Subject: More Icons XE "More Icons"  Just to add to my other two questions ..... Can I extract an Icon from another app? I've seen some very inderesting icons used with other applications and would like to use them mysel..... Thanks ... Matt WILLARMP@CLVGRP.USACLV.MSNET.BP.COM ========================================================================= Date: Wed, 17 Aug 1994 09:31:00 EDT From: "Willard,Matthew,MP" Subject: FarPoint Tech.. XE "FarPoint Tech.."  Can anyone tell me the phone number to FarPoint Technologies. I have their SpreadVBX 2.0, and heard something about updates/upgrades etc. and it seems that they have changed their phone and BBS number. Thanks, Matt WILLARMP@CLVGRP.USACLV.MSNET.BP.COM ========================================================================= Date: Wed, 17 Aug 1994 14:39:35 BST From: Mr Craig Poxon Subject: More Icons In-> Just to XE "More Icons"  add to my other two questions ..... > > Can I extract an Icon from another app? I've seen some very inderesting > icons used with other applications and would like to use them mysel..... > > Thanks ... Matt > WILLARMP@CLVGRP.USACLV.MSNET.BP.COM > Check out the following KB article: How to Extract a Windows Program Icon -- Running or Not Article ID: Q88944 But surely, using another applications icons would be infringing on copyright? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Wed, 17 Aug 1994 09:39:42 -0500 From: MARKO@CARFAX.COM Subject: How to run App only once.. XE "How to run App only once.."  Hi all, Is there a way of ensuring that only one instance of an application is run at a time. IE can I check if an app is already running when starting an app. I guess it will be an API call. I have the appleman book if you need to refer to it. Great book so long as you know what call you need ! Cheers, mark marko@carfax.com ========================================================================= Date: Wed, 17 Aug 1994 09:28:00 -600 Subject: Printing Problems XE "Printing Problems"  Hi everyone: I got several printing problems which drove me crazy. Help! 1. Printing page number at the bottom of the page. eg: Printer.CurrentX = Printer.ScaleWidth/2 Printer.Page Printer.NewPage i) PageNum doesn't always print at the bottom of the page. Sometimes it goes to the top of the next page to print current page number. I checked Printer.CurrentY value, it is always 15800. Does printer object has section for header, detail and bottom like other report writer. I couldn't find those properties. Am I miss something? ii) Printer.NewPage give me one more blank page every time I used this method. 2. How to cancel printing job from printing common dialog box? How to accept multiple copies? At the top of my head, I think that API calls might do the job. Can anyone tell me which API call I should use? 3. Does anyone has code to match printer fonts with the windows fonts and choose closest font for printing job? Thanks in advanced. Ting ========================================================================= Date: Wed, 17 Aug 1994 10:15:58 -0500 From: Helen O'Boyle Subject: FarPoint Tech.. In- XE "FarPoint Tech.."  > Can anyone tell me the phone number to FarPoint Technologies. > > I have their SpreadVBX 2.0, and heard something about updates/upgrades etc. > and it seems that they have changed their phone and BBS number. Sadly, before I ever got to do the impressive "Walk over to their office and buy tools" move (they *were* within walking distance of my house in Richmond, VA), they relocated to the Research Triangle in North Carolina. Their new phone number is 919-460-4551 (although that's not listed on the packages and literature they're currently shipping). -- * Helen * ========================================================================= Date: Wed, 17 Aug 1994 10:12:00 CDT From: "Edwards, Chad R" Subject: Drawing Dash/Dot Lines XE "Drawing Dash/Dot Lines"  I'm trying to draw a sheet grid and ruler combination found in many drawing packages and am looking for ways around the limitations of VB linestyles and even GDI linestyles to draw dotted and variable width dashed lines. Can anybody suggest references or do you have experience with this? Are there any GDI wrapper libraries that do this? What about WinG? Thanks, Chad "was that a dash or a dot" Edwards ============================================================= Chad R. Edwards Intergraph Corporation, Huntsville, AL credward@ingr.com (205) 730-7306 ============================================================= ========================================================================= Date: Wed, 17 Aug 1994 11:26:32 EDT From: Eric Dore Subject: How to run App only once.. XE "How to run App only once.."  > > Hi all, > > Is there a way of ensuring that only one instance of an application is run > at a time. IE can I check if an app is already running when starting an app. > I guess it will be an API call. > > I have the appleman book if you need to refer to it. > > Great book so long as you know what call you need ! > Cheers, > mark > marko@carfax.com Look at app.previnstance Eric Dore Quebec, CANADA ========================================================================= Date: Wed, 17 Aug 1994 09:29:00 MDT From: Scott Ruckh Subject: Grid Access XE "Grid Access"  If I want to set up a DDE hotlink to each individual cell of a grid, what would be the best solution? For example, If I have an Excel Spreadsheet with four cells, and I wanted to map four cells of a grid to the four cells of the Excel Spreadsheet, how do I set up that one to one relationship between each of the cells in the grid, and each of the cell in the Excel Spreadsheet? Also, Any suggestions of where to find good programming information on reading packets from a network? Thank You, -Scott Ruckh ========================================================================= Date: Wed, 17 Aug 1994 08:42:59 PDT From: Bill Vaughn Subject:  XE ""  did you do a Data1.Refresh ? on the data control receiving the new databasename? bv ---------- From: Steve Rego To: Multiple recipients of list VISBAS-L Date: Wednesday, August 17, 1994 8:04AM Hi all, I have an interesting problem, one which has driven me crazy over the last few days. I have a database application in which the user can create and open new databases. I use cmdialog.vbx for file access as I normally would for my apps and have tested the databases created with my code using datamanager and everything seems to be fine with the file creation process. However, I am having trouble passing the file name to a data control on another form. It appears that the data control is not accessing the file. Here is a breif description of what I have done: File/New...opens cmdialog box...creates new db with fields and tables... then show db form "dbform.show" and set the data control properties "data1.databasename = dbname" (where dbname was set to the following when cmdialog is activated "dbname = cmdialog.filename"). The answer is probably something simple but I can't find anything in the manuals about passing filenames as variables. Thanks in advance...Steve ========================================================================= Date: Wed, 17 Aug 1994 11:04:00 EST From: Kevin James <0003248511@MCIMAIL.COM> -- [ From: Kevin James * EMC.Ver #2.0 ] -- SET VISBAS-L DIGESTS ========================================================================= Date: Wed, 17 Aug 1994 19:52:00 PDT From: "Wallace, Glynn W." Subject: Can't find Netware files! XE "Can't find Netware files!"  Hi everyone, Could someone *please* tell me the directory location of the files Novell provides concerning using VB to interface with NetWare? i.e. nivb.zip and nwt2.exe I ftp'd to novell.com but couldn't find them anywhere. Or if you don't know, and have them (if they're not too big), could you mail them to me? TIA Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Wed, 17 Aug 1994 12:30:00 -0600 From: Dave Kearns Organization: Thomas-Conrad Corp Subject: Can't find Netware files! XE "Can't find Netware files!"  >From: WALLACEG @ SMTP (Wallace, Glynn W.) {wallaceg@HQ.U18MS.KADENA.AF.MIL} >Date: Wednesday, August 17, 1994 12:18PM > >Hi everyone, > >Could someone *please* tell me the directory location of the files Novell >provides concerning using VB to interface with NetWare? i.e. nivb.zip and >nwt2.exe > >I ftp'd to novell.com but couldn't find them anywhere. Or if you don't >know, and have them (if they're not too big), could you mail them to me? > Should be in .../anonftp/netwire/novlib/11/ -dave ========================================================================= Date: Wed, 17 Aug 1994 09:07:15 -0500 From: Tony Trehan Organization: University of Missouri - Kansas City, CSTP Subject: Global Variables XE "Global Variables"  VB has no problem handling 60 global variables (though not fixed length strings)......... depends on how cleanly you implement them. I would suggest you come up with structures (sorry. types) for data on each individual for Then maybe a global data structure consisting of all the above global structures... Depends on your applicastion really,.... m.... this might make the code easier to implement. > > Hi, > I am presently working on a project that uses about 25 forms. > Using about 18 forms I collect data from the user, and I use the rest > for displaying the computed results etc.. > What my problem is whether to use global variables for storing > the input data or not. > If I use global variables, I may have to use about 60 variables, I > think using that many global variables is not good . the other alternative > for this is to directly access the input data from the forms but it requires > all the forms to be loaded in the memory all the time. > Could any body tell which option is best for me. > > Thanks in advance > Ravinder Vaddepally > ravirao@matt.ksu.edu :Tony Trehan. +----------------------------------------------------------------------------+ | atrehan@cstp.umkc.edu | Gniklat Peek | +----------------------------------------------------------------------------+ ========================================================================= Date: Wed, 17 Aug 1994 12:34:00 -0600 From: Dave Kearns Organization: Thomas-Conrad Corp Subject: Can't find Netware files! XE "Can't find Netware files!"  Actually, its .../pub/netwire/novlib/11/ on ftp.novell.com. The path I gave below was for the mirror site netlab2.usu.edu -dave ---------- >From: Dave Kearns >To: WALLACEG @ SMTP (Wallace, Glynn W.) {wallaceg@HQ.U18MS.KADENA.AF.MIL}; >VISBAS-L @ SMTP (Multiple recipients of list VISBAS-L) >{VISBAS-L@tamvm1.tamu.ed >Subject: Can't find Netware files! >Date: Wed XE "Can't find Netware files!" nesday, August 17, 1994 12:29PM > >>From: WALLACEG @ SMTP (Wallace, Glynn W.) {wallaceg@HQ.U18MS.KADENA.AF.MIL} >>Date: Wednesday, August 17, 1994 12:18PM >> >>Hi everyone, >> >>Could someone *please* tell me the directory location of the files Novell >>provides concerning using VB to interface with NetWare? i.e. nivb.zip and >>nwt2.exe >> >>I ftp'd to novell.com but couldn't find them anywhere. Or if you don't >>know, and have them (if they're not too big), could you mail them to me? >> > >Should be in .../anonftp/netwire/novlib/11/ > >-dave ========================================================================= Date: Wed, 17 Aug 1994 13:57:05 EDT From: Joe Caverly <75620.611@COMPUSERVE.COM> Subject: Updated THREED.VBX File XE "Updated THREED.VBX File"  There are several bugs in the THREED.VBX, as documented below. The updated THREED.VBX is available from the Sheridan Software Systems BBS as THREED.ZIP. The BBS Number is 516-753-5452 (2400 Baud). If your THREED.VBX has a date prior to 07-16-93, or if your are presently having problems with THREED.VBX (as I was), then this update should fix the problems. FYI. Regards, Joe Caverly INTERNET:jcaverly@amwayusa.mhs.compuserve.com CIS: 75620,611 VBExtenders (tm) Custom Control Sets for Microsoft Visual Basic by Sheridan Software Systems 65 Maxess Road Melville, New York 11747 Voice: (516) 753-0985 Fax: (516) 753-3661 BBS: 2400 baud (516) 753-5452 9600 baud (516) 753-6510 ================================================================ Release History for THREED.VBX from VB3 Professional as of Version 3.0a, July 16, 1993 ------------------------------------------------- Version 3.0a: ============ 1. Fixed GP Fault problem when unloading a form from the click event of a control on the same form (applies to the 3D Checkbox, 3D Option Button, 3D Command Button and 3D GroupPush Button) 2. Fixed problem that occurred when unloading MDI child forms that contained 3D Panels and/or 3D Frames. This problem occurred infrequently and would cause either a GP Fault or the application to 'hang'. 3. Fixed problem which caused focus to be improperly set when attempting to use the .SetFocus method on a control from the click event of a 3D Option Button that had been 'tabbed to' (as opposed to 'clicked on' with the mouse) 4. Added HelpContextID property to the 3D Frame, which was unintentionally left out in the 3.0 version. 5. Fixed GP Fault problem when unloading a form from the click event of a 3D Checkbox that was triggered by the user pressing the space bar instead of clicking with the mouse or entering the control's accelerator key combination. 6. 3D Option Buttons and 3D Checkboxes no longer generate a click event if their .Value property is set to its current value (i.e., if the Value property of Check3d1 is currently = True, then the statement Check3d1.Value = True will no longer generate a click event) 7. Fixed a problem when showing a form modally from the click event of a 3D Checkbox, Option button, Command button or GroupPush button, which caused mouse input to be directed to the clicked button after the form was shown (instead of directing mouse input to the newly shown form). Notes: ===== 1. 'Extra' double click events being generated by all 3D button controls are due to a behavioural change in the 3D controls that were made for VB3 and not to a 'bug'. Versions of the 3D controls prior to 3.0, incorporated 'anti-recursion' logic to suppress click events that were generated by VB code (i.e., by resetting the .Value property of the control) if there was already a click event in progress for the control. Since this behaviour differs from the standard VB controls, a change was made for v3.0 to change the behaviour of the 3D buttons and allow recursion. If your application code relies on the earlier behaviour of the buttons, the change may result in your apps acting differently. In this case, you may need to set a static flag in your button's click event that can be tested upon entry to the event to determine if this is a recursive click triggered by .Value property change made during a prior click. Here is some example code: Sub Some3DButton_Click () Static InClick as Integer if InClick = False then InClick = True 'Do click processing (might include setting .Value prop) InClick = False Exit Sub End If End Sub Note again that this behaviour conforms to the operation of the standard VB buttons and that you would have to include the same code in a standard VB button as well, to guard against recursion. ========================================================================= Date: Wed, 17 Aug 1994 14:20:01 EDT From: Joe Caverly <75620.611@COMPUSERVE.COM> Subject: Left-Aligining A Form Caption XE "Left-Aligining A Form Caption"  I would like to left align a form's caption. By default, the caption is centered. Any suggestions? Thanks in advance for any replies. Regards, Joe Caverly CIS: 75620,611 ========================================================================= Date: Wed, 17 Aug 1994 13:58:04 -0400 From: Mark Schlageter Subject: FarPoint Tech.. In- XE "FarPoint Tech.."  about nothing. they don't return faxes, they don't answer msgs on their CompuServe forum and the damn phone is ALWAYS busy. the reason I mention this is I just went through a period of trying to get help for about 17 days before I called their sales office in desparation. -- +-------------------------------+ | Mark Schlageter | | Atex Publishing Systems Corp. | | schlag@atex.com | +-------------------------------+ ========================================================================= Date: Wed, 17 Aug 1994 18:58:39 GMT From: henry story Subject: Icons/Bitmaps XE "Icons/Bitmaps"  > If you have access to the World Wide Web, try: > > http://www.di.unipi.it/iconbrowser/icons.html > > There are over 4000 of them! [Bitmaps] --- When I tried the above address I got the following error message: >ERROR > >Requested document (URL http://www.di.unipi.it/iconbrowser/icons.html) could no>t be >accessed. > >The information server either is not accessible or is refusing to serve the >document to you. has anybody else had this problem, or is it just a local one? Thanks, in advance, for the address, anyway. ========================================================================= Date: Wed, 17 Aug 1994 12:41:53 -0700 From: Stephen Kearney Subject: Listbox drag-drop XE "Listbox drag-drop"  I want to drag an item from a listbox on one form to a command button on another form. In order for the listbox to recognize the mousedown event and allow the user to select an item, the dragdrop property must be 0. Setting dragdrop to 1 at the end of the mousedown event doesn't quite work - dragdrop isn't active until I click again on the listbox. In a perfect world, the user could click down on an item in the listbox and drag it over to the other form, in one action. Any suggestions??? TIA ______________________________________________________ Stephen Kearney : neff123@garnet.berkeley.edu The spheres are in commotion, the elements in harmony! ***MIME mail, please!*** ========================================================================= Date: Wed, 17 Aug 1994 15:20:10 -0500 From: Shannon Thornton Subject: Icons/Bitmaps In- XE "Icons/Bitmaps"  someone else hitting the site right before you try. Thus, the port is busy and it doesn't retry properly. I've only seen it with Windows viewers though. Anyone else have an idea? (Yeah, this is a WWW issue not a VB). You should be able to retry and it work. I've also noticed that some winsocks, like the one I'm using by FTP, will seem to "remember" that it had an error at that address. All subsequent retries without quitting the software and re-loading (forcing winsock to reload) immediately return the same error. +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ On Wed, 17 Aug 1994, henry story wrote: > > If you have access to the World Wide Web, try: > > > > http://www.di.unipi.it/iconbrowser/icons.html > > > > There are over 4000 of them! [Bitmaps] > --- > When I tried the above address I got the following error message: > > >ERROR > > > >Requested document (URL http://www.di.unipi.it/iconbrowser/icons.html) could > no>t be > >accessed. > > > >The information server either is not accessible or is refusing to serve the > >document to you. > > has anybody else had this problem, or is it just a local one? > Thanks, in advance, for the address, anyway. > ========================================================================= Date: Wed, 17 Aug 1994 16:35:22 -0400 From: Ian Ornstein Subject: Drawing Dash/Dot Lines -Reply XE "Drawing Dash/Dot Lines -Reply"  You *may* get what you need form VISO. It is VB compliant and will be blended seamlessly with MS Office. ========================================================================= Date: Wed, 17 Aug 1994 15:58:57 CST From: "Shamrock Computer Resources, LTD." Subject: USA-IL-Moline Technical-Consultant Shamrock XE "USA-IL-Moline Technical-Consultant Shamrock"  Keywords: RECRUITER Technical Consultant Shamrock Computer Resources, LTD. has an opening for a Technical Consultant with Visual Basic experience. Clients include Fortune 500 companies. The position will be either hourly or salary with benefits. Send resume to: Shamrock Computer Resources, LTD. 5030 38th AVE Moline, IL 61265 or: scrmoline@ins.infonet.net Kindly reference the title "Technical Consultant" in your cover letter along with "VISBAS-L" and today's date. Shamrock Computer Resources, LTD. is in the business of providing our clients with high quality professional services in the field of information systems and data processing. We are very optimistic of continued growth and are excited to offer our employees the opportunity to be part of our future successes. EEOE M/F/V/H Shamrock Computer Resources, LTD. Bloomington, MN Moline, IL Omaha, NE ST Louis, MO ========================================================================= Date: Wed, 17 Aug 1994 18:04:00 EST From: "LIN, Ling" Subject: Put a label on a picture box XE "Put a label on a picture box"  Hi, Everyone HELP! HELP! I try to make a line of text animately displayed on a Form just like the About MCITest Box in the example MCITest.Mak come with VB 3.0. But the problem is when I put a Label on a Picture box, it doen't display the caption on the picture box. I even follow the example doing the same thing, it just doesn't work!! Is there any "TRICK" I don't know ?? Can anybody tell me why. TIA Ling Lin llin@lewineast.vhi.com ========================================================================= Date: Thu, 18 Aug 1994 18:12:00 CDT From: VBTAG Subject: Postal code lookup XE "Postal code lookup"  Has anybody heard of a VBX or API or a database or a magic trick that will lookup a postal code using an address as the key. (Postal codes are the equivalent of US Zip codes). Thx, Brad Tough Vancouver, Canada btough@shl.com".eh" ========================================================================= Date: Wed, 17 Aug 1994 18:20:52 -0400 From: Susie Moffat Organization: UNC Subject: Listbox drag-drop In- XE "Listbox drag-drop"  list box. In this example the user can click an item in the list, then click on the cmdSelect button to make a selection, or, the user can drag a list item to the text box. Leave DragMode =0. Sub LstName_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) If LstName.ListCount > 0 Then If LstName.ListIndex >= 0 Then LstName.Drag End If End If End Sub Sub LstName_DragOver (Source As Control, X As Single, Y As Single, State As Integer) If State = Enter Then LstName.DragIcon = Image1.Picture If State = Leave Then LstName.DragIcon = Image1.Picture End Sub Sub TxtDelName_DragDrop (Source As Control, X As Single, Y As Single) If LstName.ListCount > 0 Then TxtDelName.Text = lstName.List(LstName.ListIndex) End if End Sub Sub TxtDelName_DragOver (Source As Control, X As Single, Y As Single, State As Integer) If State = Enter Then LstName.DragIcon = Image2.Picture If State = Over Then LstName.DragIcon = Image2.Picture If State = Leave Then LstName.DragIcon = Image3.Picture End Sub Sub CmdSelect_Click () If LstName.ListCount > 0 Then TxtDelName.Text = lstName.List(LstName.ListIndex) End if End Sub Good luck. Hope this helps. Susie Moffat, AAPII ADP, CB# 1150, UNC-CH pbm.admin@mhs.unc.edu (919) 962-7448 ========================================================================= Date: Thu, 18 Aug 1994 07:18:51 +0800 From: Paul Jakins Subject: OCR (escape) codes In- XE "OCR (escape) codes"  printer to 'native' mode, I thought that you might be interested to know that BitStream have both OCR-A and OCR-B fonts. In Australia it costs AUS$85.00 or approx US$115 (it may be cheaper in the US) each. Both are TrueType. If you need the product code I can obtain it. Regards Paul Jakins Perth, Western Australia > > On Sun, 7 Aug 1994, Ted Torres wrote: > > > JW>From: Jason Williams > > JW>Is anyone out there familiar with sending printer escapes codes from > > JW>within VB? I am in the middle of an app that requires it to print in > > JW>true OCR-A, and the closest I have is a cheesy font that doesn't work > > JW>right. Our LaserJet IV/si has a font catridge that contains a true > > JW>OCR-A font, but I don't know how to change it in to the OCR mode, and > > JW>back again. > > JW> (0O(s0p10.00h12.0v0s0b104T > > JW> Any clues??? > > > > I THINK this might work... i noticed that if i'm printing to a printer, > > and i set printer.font to nothing (printer.fontname="") then i get the > > "native" printer font. (its default hardware font) > > > > so you might try that, and then > > printer.print chr$(27);"(0O";chr$(27)..... and so on. > > > > it might work ? ! > > --- > > * CMPQwk #1.4* UNREGISTERED EVALUATION COPY > > > To send codes like this straight to the printer open the printer port as > an output file instead of using the VB Printer object. e.g. > > open "prn" for output as #1 > print #1,chr$(27);"0O";chr$(27)`...etc > close 1 ========================================================================= Date: Thu, 18 Aug 1994 10:27:53 +0000 From: Hala Rashad Subject: Finding path of VBapp.exe XE "Finding path of VBapp.exe"  Hello; It is very easily done by using the following command : app.path this will give you the path of application you're running from. Hala Rashad Hrashad@vrit01.com.e ========================================================================= Date: Thu, 18 Aug 1994 10:47:19 +0000 From: Khaled Hassan <"URIT02::\"khasan@ritsec.com.eg\""@VRIT01.EG> Subject: Access 2.0 and VB XE "Access 2.0 and VB"  Did any one succeeded in finding the file required for VB to talk to access 2.0 please tell me ........................... **************************************************************************** * Khaled Hassan Nabil * * Regional Information Technology * * & * * Software Engineering Center //// * * (. .) * *_____________________________________________________________o00-(_)-00o__* * Bitnet Address | khasan@vrit01.eg * * Internet Address | khasan@ritsec.com.eg * **************************************************************************** ========================================================================= Date: Thu, 18 Aug 1994 07:24:34 -0400 From: Steve Rego Subject: Help file data controls and file name XE "Help file data controls and file name"  Hi all, I have an interesting problem, one which I have been working on the last few days. I have a database application in which the user can create and open new databases. I use cmdialog.vbx for file access as I normally would for my apps and have tested the databases created with my code using datamanager and everything seems to be fine with the file creation process. However, I am having trouble passing the file name to a data control on another form. It appears that the data control is not accessing the file. Here is a breif description of what I have done: File/New...opens cmdialog box...creates new db with fields and tables... then show db form "dbform.show" and set the data control properties "data1.databasename = dbname" (where dbname was set to the following when cmdialog is activated "dbname = cmdialog.filename") and then refresh the controls in prep. for the new file. Oh, yea and I made dbname a global var. in my module. The answer is probably something simple but I can't find anything in the manuals about passing filenames as variables. Thanks in advance...Steve ========================================================================= Date: Thu, 18 Aug 1994 08:08:31 EDT Comments: Converted from OV/VM to RFC822 format by PUMP V2.2X From: "John C." Subject: signoff visbasic-l XE "signoff visbasic-l"  ************************************ ** John Churchman 357-4239 ** ************************************ ========================================================================= Date: Thu, 18 Aug 1994 09:24:00 EST From: David Fornalsky Subject: Binary files... XE "Binary files..."  How can I send data to file so that it's not readable to just anyone with a text editor? For example, say I want to store some text or settings for a program in a text file (other than an INI file, my needs go beyond what an INI file can do for me). How can I make the file so that the text can't be readily seen by general users? Isn't there some way to create a binary file? The OPEN command AS BINARY doesn't seem to do what I'm looking for. What have I missed? David M. Fornalsky fornalsky,dave@forum.va.go ========================================================================= Date: Thu, 18 Aug 1994 15:16:37 GMT From: Phil Clarke Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  HELP! When I edit and save the text of my help topic file in RTF using Word 6.0 and run it through HC31 I get one of the great error messages of all time: Runtime Error R6913 - Unhandled Exception. Thanks, Microsoft. Running the sample help RTF files supplied through HC31 works fine until I load them into Word then save them as RTF - which produces the same error. It would seem that Word is saving the files in a format which causes HC31 to choke. Does anyone out there use the Help Compiler and if so, what editor do you use to generate the text? All suggestions gratefully received. Phil Clarke. P.J.CLARKE@bham.ac.uk or pclarke@cix.compulink.co.uk Senior PC Analyst/Programmer University of Birmingham Administrative Data Processing Unit. Tel 021 414 3650. ========================================================================= Date: Thu, 18 Aug 1994 15:22:08 +0100 From: Peter Boyd Subject: RTF Format for Help Compiler HC31 In- XE "RTF Format for Help Compiler HC31"  > Running the sample help RTF files supplied through HC31 works fine > until I load them into Word then save them as RTF - which produces > the same error. It would seem that Word is saving the files in a format > which causes HC31 to choke. Does anyone out there use the Help > Compiler and if so, what editor do you use to generate the text? > > > All suggestions gratefully received. > > Lotus AmiPro v3 works fine for me :-) Peter Boyd, peterrb@compnews.co.uk Information Systems Operational Support PA Data Design, London House, Central Park, Leeds LS11 5DZ Tel: +44 (0)532 368200 Fax: +44 (0)532 420650 ========================================================================= Date: Thu, 18 Aug 1994 16:45:49 +0200 From: Antony Meadley Subject: Postal code lookup XE "Postal code lookup"  VBTAG Brad Tough: >Has anybody heard of a VBX or API or a database or a magic trick that will >lookup a postal code using an address as the key. (Postal codes are the >equivalent of US Zip codes). Yes. I know of a couple of companies who produce such a database, however I have always been put off by the cost. Several thousand pounds/dollars per user! No VBX, API or Magic available though :-( Antony ========================================================================= Date: Thu, 18 Aug 1994 10:55:00 EDT From: "Meltzer, Marc" Subject: Device context??? XE "Device context???"  Can someone please explain to me what a device context is. The manuals certainly don't do a good job at this, and neither does the knowledge base, or anything manual-like. Thanks, Marc ========================================================================= Date: Thu, 18 Aug 1994 07:05:51 -0400 From: TSPEARE Organization: Georgian College of A.A. & T. Subject: Binary files... XE "Binary files..."  A simple solution is to scan thru your text one char at a time and add 128 to the ascii value of each character. The code would look something like this: for i% = 1 to len(text) mid(i%,1,text) = chr$(asc(mid(i%,1,text) + 128)) next i% My apologies for the (very likely) incorrect syntax, I don't have a copy of VB handy. -------------------------------------------------------- "Aboriri, Reconari, Deficere" -------------------------------------------------------- Terry Speare TSPEARE@Central.Georcoll.ON.CA Georgian College, Ontario Canada ******************************************************** *The opinions expressed in this posting are fictitious.* *Any semblance to real opinions is purely coincidental.* ******************************************************** ========================================================================= Date: Thu, 18 Aug 1994 11:07:00 -0700 From: "Wamsley, Chris" Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  I've never tried the help compiler with Word 6.0, but it works fine with Word 2.0. You may want to try getting HC505 from ftp.microsoft.com. -- Chris Wamsley The Ohio State University Office of the University Registrar Programmer/Analyst wamsley.3@osu.edu ---------- From: owner-visbas-l To: VISBAS-L Subject: RTF Format for Help Compiler HC31 Date: Thursday XE "ormat for Help Compiler HC31" , August 18, 1994 3:16PM Priority: High HELP! When I edit and save the text of my help topic file in RTF using Word 6.0 and run it through HC31 I get one of the great error messages of all time: Runtime Error R6913 - Unhandled Exception. Thanks, Microsoft. Running the sample help RTF files supplied through HC31 works fine until I load them into Word then save them as RTF - which produces the same error. It would seem that Word is saving the files in a format which causes HC31 to choke. Does anyone out there use the Help Compiler and if so, what editor do you use to generate the text? All suggestions gratefully received. Phil Clarke. P.J.CLARKE@bham.ac.uk or pclarke@cix.compulink.co.uk Senior PC Analyst/Programmer University of Birmingham Administrative Data Processing Unit. Tel 021 414 3650. ========================================================================= Date: Thu, 18 Aug 1994 10:14:17 CDT From: Rosiland Kearney Subject: Converting a string into an array in VB XE "Converting a string into an array in VB"  Does anyone know how to convert a string into an array of characters in Visual Basic? Thanks ========================================================================= Date: Thu, 18 Aug 1994 08:13:00 PDT From: Anthony Stevens Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  According to Microsoft, there is a bug in HC31.EXE that gives it problems reading Word 6.0 RTF files. ---------------------------------------------------------------------------- ----- Windows 3.1 Help Compiler and Difficulty with Word 6.0 RTF ------------------------------------------------------------------- The information in this article applies to: - Microsoft Word for Windows, version 6.0 - Microsoft Windows operating system version 3.1 - The Microsoft Visual Basic programming system for Windows, version 3.0 ------------------------------------------------------------------- SYMPTOM ======= Windows 3.1 Help Compiler versions 3.10.504 and earlier will not function correctly with Word 6.0 for Windows rich-text format (RTF) output. You may receive a general protection (GP) fault during help file compilation or the help file may be compiled using only the Windows system font. CAUSE ===== Microsoft has identified this as a problem in the way previous versions of the Windows 3.1 Help Compiler interpret new RTF controls relating to font header information that Word 6.0 generates when saving as RTF. WORKAROUND ========== The latest release of these updated Compiler (HC.EXE and HCP.EXE version 3.10.505) can be found in the self-extracting .ZIP file HC505.EXE. This file can be down loaded form the following locations: - Microsoft Software Library (MSL) on CompuServe (GO MSL). - Microsoft Software Library on Internet (ftp.microsoft.com cd softlib) - Microsoft Download Service (206)936-MSDL. Hope this helps! Anthony Stevens ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: RTF Format for Help Compiler HC31 Date: Thursday XE "ormat for Help Compiler HC31" , August 18, 1994 3:16PM HELP! When I edit and save the text of my help topic file in RTF using Word 6.0 and run it through HC31 I get one of the great error messages of all time: Runtime Error R6913 - Unhandled Exception. Thanks, Microsoft. Running the sample help RTF files supplied through HC31 works fine until I load them into Word then save them as RTF - which produces the same error. It would seem that Word is saving the files in a format which causes HC31 to choke. Does anyone out there use the Help Compiler and if so, what editor do you use to generate the text? All suggestions gratefully received. Phil Clarke. P.J.CLARKE@bham.ac.uk or pclarke@cix.compulink.co.uk Senior PC Analyst/Programmer University of Birmingham Administrative Data Processing Unit. Tel 021 414 3650. ========================================================================= Date: Thu, 18 Aug 1994 11:13:42 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> You need the 505 Release of the help compiler for use with Word 6. It is available from ftp.microsoft.com as hc505.exe, a self-extracting zip file. I think it's either the mslib of msfiles directory. Gerry. ========================================================================= Date: Thu, 18 Aug 1994 10:18:36 -0500 From: Tom Rafferty Subject: Making child windows always on top...anybody know? XE "Making child windows always on top...anybody know?"  I am trying to keep a child window always on top. I tried using the normal SetWindowPos API call, but that doesn't work for child windows. I can do it using BringWindowToTop and the lost focus command, but that only works with the application. If I use an app outside my app, it covers it up. Any ideas on how to do this? Or can it be done? Thanx, Tom ========================================================================= Date: Thu, 18 Aug 1994 17:18:58 GMT From: "[John Kromodimedjo]" Subject: LISTBOX POINTER XE "LISTBOX POINTER"  Hi, I'm trying use a listbox to navigate through my recordset. I know is smothing small but I think I'm lost. I'm using the datacontrol to open the Access 2.0 file and fill the listbox during Form_load. I would like to able to navigate with the cursor in my list box rather then with the datacontrol. Can anybody help..... John Kromodimedjo ========================================================================= Date: Thu, 18 Aug 1994 11:20:34 -0500 From: "Wheeler, Paul" Organization: USIA Subject: RTF Format For Help Compile In-> Runnin XE "RTF Format For Help Compile" g the sample help RTF files supplied through HC31 works fine > until I load them into Word then save them as RTF - which produces > the same error. It would seem that Word is saving the files in a format > which causes HC31 to choke. Does anyone out there use the Help > Compiler and if so, what editor do you use to generate the text? > > All Sugestions gratefully received. > ... To use Word 6.0 RTF files you need to use Help Compiler version 3.10.505. According to the MSDN CD you can find it at the following sources : .....The latest release of these updated Compiler (HC.EXE and HCP.EXE version 3.10.505) can be found in the self-extracting file HC505.EXE. Download VBHC505.EXE, a self-extracting file, from the Microsoft Software Library (MSL) on the following services: - CompuServe : GO MSL : Search for VBHC505.EXE - Microsoft Download Service (MSDL) : Dial (206) 936-6735 to connect to MSDL Download VBHC505.EXE - Internet (anonymous FTP) : ftp.microsoft.com : \softlib\mslfiles\VBHC505.EXE..... ############ # Paul Wheeler # USIA B/COE # pwheeler@usia.gov # (202) 260-0616 ########### ========================================================================= Date: Thu, 18 Aug 1994 07:29:01 -0400 From: TSPEARE Organization: Georgian College of A.A. & T. Subject: Device context??? XE "Device context???"  Use code like this: Dim HDC as integer . . . HDC = form1.HDC Call something (HDC, other stuff) They say it's important to get the HDC value immediately prior to your call. -------------------------------------------------------- "Aboriri, Reconari, Deficere" -------------------------------------------------------- Terry Speare TSPEARE@Central.Georcoll.ON.CA Georgian College, Ontario Canada ******************************************************** *The opinions expressed in this posting are fictitious.* *Any semblance to real opinions is purely coincidental.* ******************************************************** ========================================================================= Date: Thu, 18 Aug 1994 08:29:19 PDT From: Bill Vaughn Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  Every word of every help file produced for Access and Visual Basic (at least) is entered and massaged using Microsoft WinWord 6.0a. I would expect that every other help file at Microsoft is also using either WinWord 2.0c or 6.0a. We have, however, noticed that there are various scenarious that "contaminate" the .RTF. In these cases we have had to write macros to strip revision tables or footnotes and replace them before the files were usable. Be sure you have 6.0a as earlier versions are suspected of causing some of these problems. Bill Vaughn -- APPU UE Microsoft Opinions expressed are my own. ---------- From: Phil Clarke To: Multiple recipients of list VISBAS-L Subject: RTF Format for Help Compiler HC31 Date: Thursday XE "ormat for Help Compiler HC31" , August 18, 1994 3:16PM HELP! When I edit and save the text of my help topic file in RTF using Word 6.0 and run it through HC31 I get one of the great error messages of all time: Runtime Error R6913 - Unhandled Exception. Thanks, Microsoft. Running the sample help RTF files supplied through HC31 works fine until I load them into Word then save them as RTF - which produces the same error. It would seem that Word is saving the files in a format which causes HC31 to choke. Does anyone out there use the Help Compiler and if so, what editor do you use to generate the text? All suggestions gratefully received. Phil Clarke. P.J.CLARKE@bham.ac.uk or pclarke@cix.compulink.co.uk Senior PC Analyst/Programmer University of Birmingham Administrative Data Processing Unit. Tel 021 414 3650. ========================================================================= Date: Thu, 18 Aug 1994 11:47:09 EDT From: ken black III Subject: Division by Zero XE "Division by Zero"  Has anyone a clue why division by zero while running a vb project prior to making .exe file causes a complete crash of Windows (and all other active apps and loss of all unsaved work) and requires rebooting? I get perfectly appropriate error messages and behavior when dividing by 0 in Excel. Situation has existed from VB1.0 through VB3.0. Microsoft blames Intel (bad math coprocessor). Intel blames Microsoft (bad software). The situation makes for a very emphatic debug-me signal, but I would prefer something more traditional. Thanks. Ken Black ========================================================================= Date: Thu, 18 Aug 1994 18:21:00 UTC From: Stefano Ventura Subject: RI: RTF Format for Help Compiler HC31 XE "RI\: RTF Format for Help Compiler HC31"  I saw the same problem. Try to use Winword v.2. It seems that Word 6.0 doesn't work well with RTF file. Follow the next operations: a) import your file in Word 6.0 b) save your file written with WORD 6.0 as .DOC file c) use Winword 2.0 to import that file and save it in RTF format. d) use the file being exported in RTF format as input for HC31 compiler. Bye Stefano. ========================================================================= Date: Thu, 18 Aug 1994 11:22:06 -0500 From: "RAY K. JESSUP" Organization: Loral Conic/Terracom, San Diego, CA 92123 (619) 279-0411 Subject: Access 2.0 and VB XE "Access 2.0 and VB"  > Did any one succeeded in finding the file required for VB to talk to access 2.0 > please tell me ........................... You need the Compatibility Layer from Microsoft. You can get it from the Microsoft bulletin board at (206) 936-6735. The following is a extraction from the Compatibility Layer's readme file: Visual Basic version 3.0 includes support for the Microsoft Access version 1.1 database engine, Microsoft Jet Database Engine ("Jet"). This provides Visual Basic developers the ability to create and distribute royalty-free applications with Jet as the underlying database. However, Microsoft Access version 2.0 contains a new Jet file format that Visual Basic version 3.0 cannot access. To provide this capability, Microsoft created the Microsoft Jet 2.0/ Visual Basic 3.0 Compatibility Layer (Compatibility Layer). Use of the Compatibility Layer is optional -- Microsoft Access version 2.0 reads and writes Jet 1.1, so Visual Basic/Jet 1.1 applications do not need to be converted even if users upgrade to Microsoft Access version 2.0. There are Ray Jessup ray@conic.loral.com ========================================================================= Date: Thu, 18 Aug 1994 09:04:48 GMT From: "RYAN MA - VISUAL DEVELOPMENT LAB (LOCAL 287)" Subject: Device context??? XE "Device context???"  Check any of the more popular Windows Programming books to learn more about device contexts. My recommendation is the one written by Petzold. Ryan Ma Application Developer HealthVISION Corporation ========================================================================= Date: Thu, 18 Aug 1994 12:03:21 -0400 From: Tony Chryseliou Subject: Making child windows always on top...anybody know? XE "Making child windows always on top...anybody know?"  Two things: 1. There is a known bug with VB3 and trying set a form to TopMost. For some reason the form sometimes loses its TopMost status. The solution is to place the SetWindowPos call in the Repaint event of the form. Sooo, whenever the form is covered by another window or min/maxed, it will have the TopMost characteristic set. 2. The second thing could be that your child window is tied to its parent, hence, if the parent is not TopMost then the child will not be either. My advice is to try my suggestion in #1 first. Hope this helps, Tony Chryseliou Queens Borough Public Library ----------In Reply To----------------------------------------- I am trying to keep a child window always on top. I tried using the normal SetWindowPos API call, but that doesn't work for child windows. I can do it using BringWindowToTop and the lost focus command, but that only works with the application. If I use an app outside my app, it covers it up. Any ideas on how to do this? Or can it be done? Thanx, Tom ========================================================================= Date: Thu, 18 Aug 1994 12:37:43 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Converting a string into an array in VB XE "Converting a string into an array in VB"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> >> Does anyone know how to convert a string into an array of characters in Visual >> Basic? >> Thanks Duh?? - Try and be more specific! A string is an array of characters in visual basic. If you want to pass the string as an array of characters to a C DLL, do a Byval in the DLL fuction declaration -- this will pass a far pointer to the array -- the only way to do it. If you want a fixed-length array of characters in VB, dimension a fixed-length string: Dim FixedString as String*128 MyString$="test" FixedString = MyString Now, on the other hand, if you want to access this array using array notation, you would do the following: Dim FixedString[128] as String*1 MyString$="test" For x = 1 to Leb(MyString) FixedString[x] = Mid$(MyString$,x,1) Next x Gerry. ========================================================================= Date: Thu, 18 Aug 1994 09:45:12 PDT From: Bill Vaughn Subject: Access 2.0 and VB XE "Access 2.0 and VB"  Be aware that the compatibility layer is not enough. You will also need a copy of Access V2.0 or the Access Developer's Toolkit which contain the Jet Engine DLLs. Having the compatibilty layer, a VB3 app, and a Jet V2.0 file is not enough. Bill Vaughn Apps User Ed. Microsoft Opinions expressed are my own. ---------- From: "RAY K. JESSUP" To: Multiple recipients of list VISBAS-L Subject: Access 2.0 and VB Date: Thurs XE "Access 2.0 and VB" day, August 18, 1994 11:22AM > Did any one succeeded in finding the file required for VB to talk to access 2.0 > please tell me ........................... You need the Compatibility Layer from Microsoft. You can get it from the Microsoft bulletin board at (206) 936-6735. The following is a extraction from the Compatibility Layer's readme file: Visual Basic version 3.0 includes support for the Microsoft Access version 1.1 database engine, Microsoft Jet Database Engine ("Jet"). This provides Visual Basic developers the ability to create and distribute royalty-free applications with Jet as the underlying database. However, Microsoft Access version 2.0 contains a new Jet file format that Visual Basic version 3.0 cannot access. To provide this capability, Microsoft created the Microsoft Jet 2.0/ Visual Basic 3.0 Compatibility Layer (Compatibility Layer). Use of the Compatibility Layer is optional -- Microsoft Access version 2.0 reads and writes Jet 1.1, so Visual Basic/Jet 1.1 applications do not need to be converted even if users upgrade to Microsoft Access version 2.0. There are Ray Jessup ray@conic.loral.com ========================================================================= Date: Thu, 18 Aug 1994 12:42:32 -0500 Subject: Access 2.0 and VB XE "Access 2.0 and VB"  >Did any one succeeded in finding the file required for VB to talk to access 2.0 >please tell me What you need is the JET 2.0 compatability layer. This is the file COMLYR.EXE available from ftp.microsoft.com. When this is unpacked you have a setup file which allows you to install the upgrade. -- Nigel J F Watson [nigel@runnymede.win-uk.net] ========================================================================= Date: Thu, 18 Aug 1994 13:11:06 -0400 From: Stephen Lenz Subject: Postal code lookup In- XE "Postal code lookup"  lookup program. I don't have any other info. Steve Lenz slenz@risd.edu On Thu, 18 Aug 1994, Antony Meadley wrote: > VBTAG Brad Tough: >Has anybody heard of a VBX or API or a database or a magic trick that will >lookup a postal code using an address as the key. (Postal codes are the >equivalent of US Zip codes). ========================================================================= Date: Thu, 18 Aug 1994 13:14:55 -0400 From: Stephen Lenz Subject: Converting a string into an array in VB In- XE "Converting a string into an array in VB"  Dim i as integer L = Len(String$) Dim Arr$(1 to L) as String For i = 1 to L Arr$(i) = Mid$(String$, i, 1) next Steve Lenz slenz@risd.edu On Thu, 18 Aug 1994, Rosiland Kearney wrote: > Does anyone know how to convert a string into an array of characters in Visual > Basic? > Thanks ========================================================================= Date: Thu, 18 Aug 1994 12:32:00 EST From: "Aumann, Timothy B." Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  What version of Word are you using? Word 6.0 uses a slightly different version of RTF than Word 2.0 did. There is a new version of the Help Compiler (I assume available at ftp.microsoft.com) which can handle this. HTH, ------------------------------ Tim Aumann Georgia-Pacific Corp. Atlanta, GA GA030/IRMPO/TBAUMANN%GP_LAN@mcimail.com * My opinions, not G-P's, my spouse's, or even (sometimes) my own! ---------- *From: Discussion for Microsoft Visual Basic and Re *To: GA030; Multiple recipients of list VISBAS-L *Subject: RTF Format for Help Compiler HC31 *Date: Thursda XE "Format for Help Compiler HC31" y, August 18, 1994 10:43 * *Running the sample help RTF files supplied through HC31 works fine *until I load them into Word then save them as RTF - which produces *the same error. It would seem that Word is saving the files in a format *which causes HC31 to choke. Does anyone out there use the Help *Compiler and if so, what editor do you use to generate the text? * ========================================================================= Date: Thu, 18 Aug 1994 12:50:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: List Box Formatting XE "List Box Formatting"  Here is one, I am trying to format the entries in a list box into columns and I can't rely on tabs because one of the column can vary across tab stops in the list box. I thought of using a grid control to simulate a list box but I can't get the entire row to be highlighted when I select a cell. If anyone has done this or knows where I can find out please shed some light one me. TIA Russell Greenlaw "Stuck here in Alabama" ========================================================================= Date: Thu, 18 Aug 1994 14:39:39 EDT From: Eric Dore Subject: List Box Formatting XE "List Box Formatting"  >> > Here is one, > > I am trying to format the entries in a list box into columns and I can't > rely on tabs because one of the column can vary across tab stops in the list > box. I thought of using a grid control to simulate a list box but I can't > get the entire row to be highlighted when I select a cell. If anyone has > done this or knows where I can find out please shed some light one me. > > TIA > > Russell Greenlaw > "Stuck here in Alabama" > I d'ont remember by heart, but there is a way to change the position of TAB STOPs in a list box. It's a message that you must send with the Sendmessage API I think the message is: LB_SETTABSTOP Eric Dore Quebec, CANADA ========================================================================= Date: Thu, 18 Aug 1994 15:17:27 -0400 From: Tom Raynor Subject: List Box Formatting XE "List Box Formatting"  >I am trying to format the entries in a list box into columns... For a real low-tech solution, this is what I did: Use a fixed font, and just make columns by blank-padding between the different values on each line. - Tom ========================================================================= Date: Thu, 18 Aug 1994 13:17:58 -0700 From: Ken Gayler Subject: Does anyone out there have any experience with the MCI XE "Does anyone out there have any experience with the MCI"  Does anyone out there have any experience with the MCI (CD-AUDIO) control? I am having problems when the user changes media and closes the door it immediately ejects it. What can I do so that I can re-configure my environment to this new disk without stopping my program. Thanks in advance Ken Gayler ========================================================================= Date: Thu, 18 Aug 1994 15:26:09 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: List Box Formatting XE "List Box Formatting"  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> Quick Answer: Use a fixed-pitch font in the list box. The MSLineDraw font works nicely. Gerry. "I love New Hampshire" >> Here is one, >> >> I am trying to format the entries in a list box into columns and I can't >> rely on tabs because one of the column can vary across tab stops in the list >> box. I thought of using a grid control to simulate a list box but I can't >> get the entire row to be highlighted when I select a cell. If anyone has >> done this or knows where I can find out please shed some light one me. >> >> TIA >> >> Russell Greenlaw >> "Stuck here in Alabama" ========================================================================= Date: Thu, 18 Aug 1994 13:09:17 -0700 From: Chris Rines <"WMCV01::CHRISR"@VMSMAIL.GOV.BC.CA> Subject: List Box Formatting XE "List Box Formatting"  > Date: Thu, 18 Aug 1994 14:39:39 -0400 (EDT) > From: Eric Dore > Subject: List Box Formatting > >> XE "List Box Formatting"  > > Here is one, > > > > I am trying to format the entries in a list box into columns and I can't > > rely on tabs because one of the column can vary across tab stops in the list > > box. I thought of using a grid control to simulate a list box but I can't > > get the entire row to be highlighted when I select a cell. If anyone has > > done this or knows where I can find out please shed some light one me. > > There is an excellent shareware listbox called GTLIST. It should take care of your problem. Chris ========================================================================= Date: Thu, 18 Aug 1994 16:13:00 EDT From: "Willard,Matthew,MP" Subject: API call... XE "API call..."  I have Daniel Appleman's book VB Programmers guide to the windows API and am trying to use GetObject. The VB Declaration on page 307 is: Declare Function GetObject% Lib "GDI" (ByVal hObhect%, ByVal nCount%, ByVal lpObject&) I get the message "Expected Identifier" when I try to run my program. I searched Help and it seems that GetObject is used with OLE. Is there a fix for this, can I still use the GetObject Function or an equivalent Function. P.S. I'm trying to use this with BitBlt function for BitMaps in picture boxes. Thanks, Matt WILLARMP@CLVGRP.USACLV.MSNET.BP.COM ========================================================================= Date: Thu, 18 Aug 1994 15:17:31 -0500 From: Tony Trehan Organization: University of Missouri - Kansas City, CSTP Subject: Converting a string into an array in VB XE "Converting a string into an array in VB"  To convert a string into an array: SIZ=len(Yourstring$) redim DestArray$(1 to SIZ) for i = 1 to len(YourString$) DestArray$(i)=mid$(Yourstring$,i,1) next i > > Does anyone know how to convert a string into an array of characters in Visual > Basic? > Thanks :Tony Trehan. +----------------------------------------------------------------------------+ | atrehan@cstp.umkc.edu | Gniklat Peek | +----------------------------------------------------------------------------+ ========================================================================= Date: Thu, 18 Aug 1994 15:24:52 -0500 From: Rick Huff Subject: ADMIN: Whining XE "ADMIN\: Whining"  First, I would like to apologize to the list for leaving on vacation while the list was locked. I intended to leave on vacation -- I didn't intend to lock the list. Second, to those subscribers who are new to the list and expect it to be 24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own time because of my interest in Visual Basic and in the Visual Basic community. If your job depends on information you get from this list, you are in the wrong place -- I suggest that you purchase one of the Microsoft $upport $ervices. This list is for the low-roller programmers. Third, thanks to Nathan Brindle for filling in for me on some of the problems while I was gone. Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Thu, 18 Aug 1994 13:42:14 -0700 From: Jason Sloe Subject: Timer. vbx prevents screensaver. Problem. XE "Timer. vbx prevents screensaver. Problem."  A number of my current projects use the timer vbx. When minimized, it prevents the standard windows sreensavers from taking over. Can anyone tell me of a way to allow the screensavers to work and keep the tim er functioning in my minimized programs? Thanks Jason Sloe ========================================================================= Date: Thu, 18 Aug 1994 16:38:59 -0400 From: Rodney Dale Moore Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  Your using an old version of HC31 word 6.0 has some extra rtf stuff in it download the revised help compiler from microsoft its on the ftp site ftp.microsoft.com i think the filename is HC505.EXE Rod Moore ========================================================================= Date: Thu, 18 Aug 1994 17:11:09 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: API call... XE "API call..."  From: NAME: Gerry Hull To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> Declare Function GetObjectGDI Lib "GDI" Alias "GetObject" (ByVal hObhect%, ByVal nCount%, ByVal lpObject&) As Integer When calling, use GetObjectGDI instead of GetObject. Gerry =========================== >> I have Daniel Appleman's book VB Programmers guide to the windows API and >> am trying to use GetObject. >> >> The VB Declaration on page 307 is: >> Declare Function GetObject% Lib "GDI" (ByVal hObhect%, ByVal nCount%, ByVal >> lpObject&) >> >> I get the message "Expected Identifier" when I try to run my program. I >> searched Help and it seems that GetObject is used with OLE. Is there a fix >> for this, can I still use the GetObject Function or an equivalent Function. >> >> P.S. I'm trying to use this with BitBlt function for BitMaps in picture >> boxes. >> >> Thanks, >> Matt >> WILLARMP@CLVGRP.USACLV.MSNET.BP.COM ========================================================================= Date: Thu, 18 Aug 1994 18:11:45 PDT From: "Paul Gray (Rho)" Subject: ADMIN: Whining XE "ADMIN\: Whining"  Thanks for being here, Rick. Your effort is appreciated ! :))Paul ------------------------------------------------------------------------ Paul.Gray@tpr.vnet.net Transporter Room BBS Charlotte, NC i-paulg@Microsoft.com Microsoft Corporation ------------------------------------------------------------------------ ---------- From: Rick Huff To: Multiple recipients of list VISBAS-L Subject: ADMIN: Whining Date: Thursday, XE "\: Whining"  August 18, 1994 3:24PM First, I would like to apologize to the list for leaving on vacation while the list was locked. I intended to leave on vacation -- I didn't intend to lock the list. Second, to those subscribers who are new to the list and expect it to be 24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own time because of my interest in Visual Basic and in the Visual Basic community. If your job depends on information you get from this list, you are in the wrong place -- I suggest that you purchase one of the Microsoft $upport $ervices. This list is for the low-roller programmers. Third, thanks to Nathan Brindle for filling in for me on some of the problems while I was gone. Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Thu, 18 Aug 1994 16:07:14 -0700 From: Chris Rines Subject: ADMIN: Whining XE "ADMIN\: Whining"  > Date: Thu, 18 Aug 1994 18:11:45 -0700 (PDT) > Subject: ADMIN: Whining XE "ADMIN\: Whining"  Thanks for running this list. It really is appreciated !!! :) Chris > ------------------------------------------------------------------------ > From: Rick Huff > Subject: ADMIN: Whining > Date: Thursda XE "IN\: Whining" y, August 18, 1994 3:24PM > > First, I would like to apologize to the list for leaving on vacation while > the list was locked. I intended to leave on vacation -- I didn't intend > to lock the list. > > Second, to those subscribers who are new to the list and expect it to be > 24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own > time because of my interest in Visual Basic and in the Visual Basic > community. If your job depends on information you get from this list, you > are in the wrong place -- I suggest that you purchase one of the Microsoft > $upport $ervices. This list is for the low-roller programmers. ========================================================================= Date: Thu, 18 Aug 1994 21:01:40 -0300 From: Alexandre Araripe Calvante Subject: List Box Formatting In- XE "List Box Formatting"  Alexandre Araripe araripe@sunrnp.ufba.br On Thu, 18 Aug 1994, Greenlaw, Russell, SrA LGMPS wrote: > Here is one, > > I am trying to format the entries in a list box into columns and I can't > rely on tabs because one of the column can vary across tab stops in the list > box. I thought of using a grid control to simulate a list box but I can't > get the entire row to be highlighted when I select a cell. If anyone has > done this or knows where I can find out please shed some light one me. > > TIA > > Russell Greenlaw > "Stuck here in Alabama" > ========================================================================= Date: Fri, 19 Aug 1994 09:18:00 PDT From: "Wallace, Glynn W." Subject: ADMIN: Whining XE "ADMIN\: Whining"  As one of those who can't afford the $upport $ervices, thanks for what you do. This list has pulled my butt out of a sling more than once. Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Fri, 19 Aug 1994 09:18:00 PDT From: "Wallace, Glynn W." Subject: Timer. vbx prevents screensaver. Problem. XE "Timer. vbx prevents screensaver. Problem."  Are you using DoEvents anywhere in your code? Just a thought. Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ====================================== From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Timer. vbx prevents screensaver. Problem. Date: Thursda XE ". vbx prevents screensaver. Problem." y, August 18, 1994 13:42 A number of my current projects use the timer vbx. When minimized, it prevents the standard windows sreensavers from taking over. Can anyone tell me of a way to allow the screensavers to work and keep the tim er functioning in my minimized programs? Thanks Jason Sloe ========================================================================= Date: Fri, 19 Aug 1994 08:51:00 PDT From: "Wallace, Glynn W." Subject: data.uue XE "data.uue"  Erick wrote: I wrote a few weeks before explaining a problem I've been having with a little project of mine. It consists of a database application with a listbox as a search module. That is, the box is filled with the data, possesses a context sensitive text box that searches as you type. But, it seems to work sometimes and most of the time gives me a sql error call??? which and again it leaves me puzzled. ================================================ Erick, As I noted in the personal mail to you, the problem is with the apostrophe's contained in the names you're trying to search for, but the article I mailed should help you out. The reason I'm posting this to the list, is "once upon a time" someone posted a small routine called ApostFix() that dealt with the same issue. The sub in the article only returns an integer telling you if the name has an apostrophe in it, it doesn't fix anything. You then use If...Else...EndIf to determine which code to run. If the owner of ApostFix(), or something like it, wouldn't mind posting the code to all, it might help. Any takers? Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Fri, 19 Aug 1994 10:42:37 U From: zz Nicholas Poteri Subject: Reading DOS Serial Numbers XE "Reading DOS Serial Numbers"  Does anyone know of a VB statement, a DLL function, or some other method (eg VBX) to read the DOS Serial Number assigned to a drive by DOS when the disk is formatted. The serial number is in the form XXXX-XXXX and can be displayed with the DIR command. Kind regards, Nick Poteri. -------------------------------------------------------------------------------- Nicholas J. Poteri Bond University zz_nicholas_poteri@macmail.bond.edu.au Gold Coast, s1194@kowande.bond.edu.au Australia -------------------------------------------------------------------------------- ========================================================================= Date: Fri, 19 Aug 1994 12:49:55 -0500 From: Greg Martin Subject: ADMIN: Whining XE "ADMIN\: Whining"  In article Rick Huff writes: We all appreciate you're hard work. The success of many pieces of this net rely on volunteers. Thank you. As for the whining, when you're at this end and trying desparately to fix something (I was gettingtwo copies of everything and my POP mail was being overrun), its frustrating when nothing appears to be happening to your requests and you can't figure out why. I don't fault you for your error. Lord knows, I've made more than my share. Thanks again. \\Greg >First, I would like to apologize to the list for leaving on vacation while >the list was locked. I intended to leave on vacation -- I didn't intend >to lock the list. >Second, to those subscribers who are new to the list and expect it to be >24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own >time because of my interest in Visual Basic and in the Visual Basic >community. If your job depends on information you get from this list, you >are in the wrong place -- I suggest that you purchase one of the Microsoft >$upport $ervices. This list is for the low-roller programmers. >Third, thanks to Nathan Brindle for filling in for me on some of the >problems while I was gone. >Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) >CIS, Computing and Information Services, Texas A&M University >VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Thu, 18 Aug 1994 22:46:24 -0400 From: Eric Laverdiere Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: ADMIN: Whining XE "ADMIN\: Whining"  Here Here !!! Very well put. Eric Laverdiere Montreal,Canada. Rick's message was: First, I would like to apologize to the list for leaving on vacation while the list was locked. I intended to leave on vacation -- I didn't intend to lock the list. Second, to those subscribers who are new to the list and expect it to be 24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own time because of my interest in Visual Basic and in the Visual Basic community. If your job depends on information you get from this list, you are in the wrong place -- I suggest that you purchase one of the Microsoft $upport $ervices. This list is for the low-roller programmers. Third, thanks to Nathan Brindle for filling in for me on some of the problems while I was gone. Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) CIS, Computing and Information Services, Texas A&M University VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Fri, 19 Aug 1994 08:09:23 +0300 From: Patrik Rantanen Subject: Division by Zero XE "Division by Zero"  >Has anyone a clue why division by zero while running a vb project prior to >making .exe file causes a complete crash of Windows (and all other active >apps and loss of all unsaved work) and requires rebooting? > >I get perfectly appropriate error messages and behavior when dividing by 0 in >Excel. > >Situation has existed from VB1.0 through VB3.0. > >Microsoft blames Intel (bad math coprocessor). > >Intel blames Microsoft (bad software). > >The situation makes for a very emphatic debug-me signal, but I would prefer >something more traditional. Sorry to hear about your problems, We had the same persistant bug in our IBM valuepoints 486/66 (or was it 60 MHz). The guy next to was working on a similar valuepoint but 33 MHz and everything ran smoothly. IBM suspected a software bug, but in the end admitted that there was something fishy in their BIOS instructions. Anyway we got a replacement for our machines and ended up with valuepoint Pentiums instead (talk about upgrading your BIOS). Everything seems to run smoothly on this setup. The moral is; call your dealer Ken! Patrik Rantanen prantane@ra.abo.fi Systems Planner Ebo Akademi Institute for Advanced Management Systems Research Tel. +358-21-2654750 ========================================================================= Date: Fri, 19 Aug 1994 09:51:24 BST From: Mr Craig Poxon Subject: ADMIN: Whining In- XE "ADMIN\: Whining"  > > Subject: ADMIN: Whining > XE "ADMIN\: Whining"  > Thanks for running this list. It really is appreciated !!! :) > > Chris Here! Here! Three cheers for Rick......... HIP HIP? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Fri, 19 Aug 1994 08:33:10 +3 From: Artur Roberto Lima Rodrigues Organization: Fundacao CAPES Subject: STRUCT in C/VB XE "STRUCT in C/VB"  HI all, I want to write in archive my C struct and read this in my prm VB. How?? struct { char a; int b; int c; char d; } CSTRUCT; Thanks, |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Fri, 19 Aug 1994 10:55:32 EDT From: "Vernon V. Soehner" Subject: List Box Formatting XE "List Box Formatting"  >I am trying to format the entries in a list box into columns and I can't >rely on tabs because one of the column can vary across tab stops in the list >box. I thought of using a grid control to simulate a list box but I can't >get the entire row to be highlighted when I select a cell. If anyone has >done this or knows where I can find out please shed some light one me. I had similar problem several months ago. I had 5 columns containing several alphanumeric fields about 20 characters wide and several numeric fields. I tried tabs and a grid custom control. In my opinion, I eventually found that the main issue is proportional fonts. Proportional fonts are unpredictable in size. I tried to set the column widths to accommodate the largest possible fields and ended up with a very wide unusable listbox. For example,,, What is the largest physical size of a 20 character field if all its characters were all M's? I conceded to using non proportional font (courier) and set up code to build one large fixed field which worked well enough. This also allowed me to easily have complete line highlighted instead of individual fields. I also learned that different video drivers display fonts differently... Courier font at one size is nice for 1024 screen but may be unreadable on a 640 screen so be sure to check that out if it is an issue. I also found that I could easily right justify numeric fields with non proportion fonts in my code where the grid control could not. There may be a real slick custom control that may be able to handle these issues probably at runtime..., but in my opinion, I think it will still be unpredictable in size as long as proportional fonts are used. _/ _/ Vern Soehner, MA. and N.H. in U.S.A. _/_/ vsoehner@nectech.com _/ vern.soehner@f127.n324.z1.fidonet.org ========================================================================= Date: Fri, 19 Aug 1994 16:07:57 GMT0BST From: Kens Mail List Host Organization: Diabetes Research Laboratories Subject: Device context??? XE "Device context???"  > Use code like this: > > Dim HDC as integer > . > . > . > HDC = form1.HDC > Call something (HDC, other stuff) > > They say it's important to get the HDC value immediately prior to > your call. A better option would be: call something ((form1.hHC), Other stuff) The () arround the form1.hDC stop VB from saying the parameter is the wrong type. It also removes an un-needed variable. HTH Ken --------------------------------------------------------------------- Ian Kennedy Internet : Ken@drl.ox.ac.uk Applications Programmer/Network Manager Phone : (44) (0)(865) 224149 Diabetes Research, RI, Oxford, England Fax : (44) (0)(865) 723884 ========================================================================= Date: Fri, 19 Aug 1994 13:14:13 -0400 From: PAUL LEVIT Subject: Message Parsing XE "Message Parsing"  I am working on an medical office system that will need to parse out messages received in a standard format called HL7. This format is a variable length variable content message that is composed of few-to-many character deliminated segments. 1. Has anyone implemented such a message parser? 2. Do you have any sense as to whether or not a VB subroutine will be fast enough to parse up to several thousand byte messages into data elements? 3. What would you use to parse out these messages? Paul Levit plevit@welchlink.welch.jhu.edu ========================================================================= Date: Fri, 19 Aug 1994 13:03:00 CDT From: "Brown, Alvin M" Subject: VB on MIPS and DEC Alpha XE "VB on MIPS and DEC Alpha"  Does anyone have any experience of running a VB application on a MIPS and or DEC Alpha RISC box running Windows NT ?. What I am interested in is the relative performance of a 16 bit VB Windows application running in WOW on RISC NT boxes v the same application running in the same environment on a Intel NT box.. Any knowledge would be appreciated Thanks ========================================================================= Date: Fri, 19 Aug 1994 20:40:09 -0500 Subject: printing control codes in VB XE "printing control codes in VB"  Hi, I have what is probably a fairly simple to solve problem but I am stumped. Last year I wrote a gradebook program for my own as well as a few friends use. It was of course set up to work according the my schools methods. Some of my reports print in landscape mode. I set the font to a fairly small size and do nothing fancy in that I change the window's printer's setup to get landscape mode. This has worked with every dot matrix printer I have tried but recently I tried to print on an HP laserjet. The HP does go to landscape mode but ignores the change in font size. In DOS it would be a simple matter to send the required escape codes but I can't seem to get them to the printer through the windows print manager. Can someone give me a solution to this problem? Thanks in advance. William Harvey wharvey@tenet.edu ========================================================================= Date: Fri, 19 Aug 1994 15:16:33 +3 From: Artur Roberto Lima Rodrigues Organization: Fundacao CAPES Subject: Novell Users Full Name XE "Novell Users Full Name"  Hi, I try to use it, but doens't work! my program see NetworkAddress, NodeAddress, LoginTime and Group I'm; But not Full Name. Any Ideas? > The code is not very good, as it was written for a one-ff job, > and was never intended to be used again, but i can be tidied up > if required. > Function GetObjectsFullName (ByVal ServerNo%, ByVal objectName$, > ByVal objectType%) As String > Static fred As property_value > temp$ = "" > > SetPreferredConnectionID (ServerNo%) > ccode% = ReadPropertyValue(objectName$ + Chr$(0), objectType%, > "IDENTIFICATION" + Chr$(0), 1, fred, moreSegments%, > propertyFlags%) > If ccode% = NO_SUCH_PROPERTY Then > GetObjectsFullName = "" > Else > If ccode% <> SUCCESSFUL And ccode% <> 252 Then > MsgBox "Fatal Error:Failed ReadPropertyValue " + Str$(ccode%) > > End > End If > For l2 = 0 To 31 > For l = 1 To 4 > d = fred.propertyvalue(l2) Mod 256 > fred.propertyvalue(l2) = fred.propertyvalue(l2) \ 256 > If d < 0 Then d = 0 > temp$ = temp$ + Chr$(d) > Next > Next > GetObjectsFullName = Left$(temp$, InStr(temp$, Chr$(0)) - 1) > > End If > SetPreferredConnectionID (orginalPreferredServer) > End Function |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Fri, 19 Aug 1994 18:59:00 CDT From: Ed Staffin Subject: STRUCT in C/VB XE "STRUCT in C/VB"  Type FOO a as string b as integer c as integer d as string end type You have to store char's as strings unless you are willing to convert it to the ascii value and store it in an int. Hope this helps ... Ed >HI all, > > I want to write in archive my C struct and read this in my prm >VB. How?? > > struct { > char a; > int b; > int c; > char d; > } CSTRUCT; > >Thanks, > > |~~| |~~| Artur Rodrigues > | | | | Brasilia, Brasil > | |=| | MEC / CAPES > ____ | | | | ___ Tel: +55 061 214 8818 > \__/ |__| |__| /___\ Fax: +55 061 322 1580 >---------------------------------- >postmaster@capes.gov.br >artur@capes.gov.br > ========================================================================= Date: Fri, 19 Aug 1994 11:53:00 PDT From: Anthony Stevens Subject: VBSQL.VBX XE "VBSQL.VBX"  Could anyone point me in the right direction for obtaining information on how to use VBSQL.VBX? I pulled it off CICA and all that came in the .ZIP file was the VBX itself -- no READMEs, nothing! A glance at the two supported events has piqued my interest -- but I haven't the foggiest notion on how I'm supposed to incorporate the VBX into my design environment. Any help would be appreciated! Anthony Stevens anthonys@argus.dental.washington.edu ========================================================================= Date: Fri, 19 Aug 1994 15:03:44 GMT From: "RYAN MA - VISUAL DEVELOPMENT LAB (LOCAL 287)" Subject: Screen Object XE "Screen Object"  Does anyone know when the width and height properties of the VB Screen object gets updated? I use Screen.width in my program and it returns different values at different times. ========================================================================= Date: Fri, 19 Aug 1994 20:57:37 -0500 From: Mike Thoreson Subject: Setup Wizard (Casting the Right Spell) XE "Setup Wizard (Casting the Right Spell)"  I'm trying to modify the SETUP1.FRM so that it will create more than one Program Manager Item in the main app's Program Group. I added the additional line to create the additional icon in the group, but the Wizard only creates the main app icon. When I modify SETUP1.FRM it seems to create another form (SETUP1A.FRM) that prevents me from adding the additional executable's icon. This is very frustrating. Can someone PLEASE shed some light on what I'm doing wrong. Thanks. ========================================================================= Date: Fri, 19 Aug 1994 19:05:48 -0400 Subject: Passing Variables to Sub Module XE "Passing Variables to Sub Module"  Hi VB users, I was wondering if anyone out there know of a solution to this problem I'm having. I am rewriting a module of code to make it more independent and less tied to one control array. The purpose of the routine to read a directory and place it into a Dropdown Combo Box. Currently the routine is like this: BuildDirCache ( PathToScan) As the references to ComboBox are hard coded, I wanted to change the routine to pass the index value of the combo box to write like this: BuildDirCache ( PathToScan,ComboBoxIndex) And this causes the problem, as soon I change the line to read like this, VB pops up saying "expected:=". And adding this to the program naturally causes a syntax error, when the program is run. This variable is accessed in the routine like this Sub BuildDirCache (DirLocation As String, cboIndex as Integer) Directory Reading deleted .... cboDirName(cboIndex).Clear For I = 1 To UBound(Cat) cboDirName(cboIndex).AddItem ShowDir(I) Next I Does anyone have an idea, of either a work around or solution to the problem. Any help at all would be appreciated. Thanks Alex Klaus Ps sorry if this message is duplicated I had trouble sending it the first time. -- Alex Klaus am676@freenet.carleton.ca ========================================================================= Date: Fri, 19 Aug 1994 14:21:25 -0400 Subject: Passing Variable to Sub Routine XE "Passing Variable to Sub Routine"  Hi VB users, I was wondering if anyone out there know of a solution to this problem I'm having. I am rewriting a module of code to make it more independent and less tied to one control array. The purpose of the routine to read a directory and place it into a Dropdown Combo Box. Currently the routine is like this: BuildDirCache ( PathToScan) As the references to ComboBox are hard coded, I wanted to change the routine to pass the index value of the combo box to write like this: BuildDirCache ( PathToScan,ComboBoxIndex) And this causes the problem, as soon I change the line to read like this, VB pops up saying "expected:=". And adding this to the program naturally causes a syntax error, when the program is run. This variable is accessed in the routine like this Sub BuildDirCache (DirLocation As String, cboIndex as Integer) Directory Reading deleted .... cboDirName(cboIndex).Clear For I = 1 To UBound(Cat) cboDirName(cboIndex).AddItem ShowDir(I) Next I Does anyone have an idea, of either a work around or solution to the problem. Any help at all would be appreciated. Thanks Alex Klaus am676@freenet.carleton.ca -- Alex Klaus am676@freenet.carleton.ca ========================================================================= Date: Fri, 19 Aug 1994 22:18:39 CEST From: Giovanni Luca Fonti Subject: Signin Visbas-L XE "Signin Visbas-L"  SIGNIN VISBAS-L MC5557@mclink.it ========================================================================= Date: Fri, 19 Aug 1994 22:28:11 CEST From: Giovanni Luca Fonti Subject: Converting A String Into XE "Converting A String Into"  well, i think that you can do this way: dim appstring$(1 to 256) 'where 256 is the max nr. of chars you think your 'string could have for lng%=1 to len(string_input$) 'where string_input$ is the string you have ' to convert appstring$(lng%)=mid$(string_input$,lng%,1) next lng% i hope this could help you. Bye. Luca mc5557@mclink.it ========================================================================= Date: Fri, 19 Aug 1994 22:32:29 CEST From: Giovanni Luca Fonti Subject: Listbox Pointer XE "Listbox Pointer"  Hi john, well perhpas it's enough if you everytime move around the listbox make a recordset.findfirst of the field you fill in the listbox... Example: if you filled the listbox with all the field "name" do list1.additem data1.recordset("name") data1.recordset.movenextloop while data1.recordset.eof=false so when you change the index in the listbox you could do: data1.recordset.findfirst "name ='"+trim(list1.list(list1.listindex))+"'" i hope this could help you. Bye Luca. MC5557@MCLINK.IT ========================================================================= Date: Fri, 19 Aug 1994 22:38:46 CEST From: Giovanni Luca Fonti Subject: Does Anyone Out There Ha XE "Does Anyone Out There Ha"  Hi ken, well i think that it's enough to send the command "close" then again "open" to the MCI and it's ok...i had the same problem some months ago with an application that read CD-AUDIO too... Hope this could help you. Bye Luca. Mc5557@mclink.it ========================================================================= Date: Sat, 20 Aug 1994 08:27:45 -0400 From: Steve Rego Subject: Control help XE "Control help"  Hi everyone, I have an interesting problem, one which I have been working on the last few days. I have a database application in which the user can create and open new databases. I use cmdialog.vbx for file access as I normally would for my apps and have tested the databases created with my code using datamanager and everything seems to be fine with the file creation process. However, I am having trouble passing the file name to a data control on another form. It appears that the data control is not accessing the file. Here is a breif description of what I have done: File/New...opens cmdialog box...creates new db with fields and tables... then show db form "dbform.show" and set the data control properties "data1.databasename = dbname" (where dbname was set to the following when cmdialog is activated "dbname = cmdialog.filename") and then refresh the controls in prep. for the new file. Oh, yea and I made dbname a global var. in my module. The answer is probably something simple but I can't find anything in the manuals about passing filenames as variables. Thanks in advance...Steve ========================================================================= Date: Sat, 20 Aug 1994 09:12:03 EDT From: Chuck Stuart Subject: Passing Variable to ... XE "Passing Variable to ..."  I do this same thing from time to time. Either use the CALL keyword or else lose the () around the arguments. Chuck Mesquite TX ========================================================================= Date: Sat, 20 Aug 1994 16:04:49 CEST From: Nicola Brion Subject: passing variable to sub XE "passing variable to sub"  >> BuildDirCache ( PathToScan,ComboBoxIndex) this is a call to a function, not to a subroutine: you should change it as follow BuildDirCache PathToScan, ComboBoxIndex That's the correct way to call a sub. In the first way, VB assume you're using an array called BuildDirCache() 'cause it dont find a similar funct and wait for the '=' sign. Or, change the sub to a funct (but this would be stupid :-))) HTH Obelix Ps. Note that it works fine with just one parameter 'cause VB mean that brakets around a single variable make them 'cast' to the correct type waited for the function, i.e. if you want to pass form1.caption to a sub that's waiting for a string you have to put it in braket or you'll get ' invalid argument. As you pass two parameter, VB consider it as an bi-dimensional array of variant. ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Sat, 20 Aug 1994 16:04:52 CEST From: Nicola Brion Subject: struct in c/vb XE "struct in c/vb"  >> Type FOO >> a as string >> b as integer >> c as integer >> d as string >> end type Sorry for my ask, but didn't you have to define the two string as string * 1? For what i remember, this is the ony way to pass struct between C and VVB: it won't allows you to pass (in a correct way) struct that aren't fixed-lenght (and, more, probably use less memory space. Byebye Obelix ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Sat, 20 Aug 1994 18:52:56 CEST From: Nicola Brion Subject: list box formatting XE "list box formatting"  >> I am trying to format the entries in a list box into columns >> and I can't rely on tabs because one of the column can >> vary across tab stops in the list box. Try to use TLSTVBX2.ZIP that is on CICA: it's a tabbed list that allows you to set tabstops to the value you need. Ftp.cica.indiana.edu, pub/pc/win3/programr/vbasic HTH Obelix ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Sat, 20 Aug 1994 20:03:45 CEST From: Giovanni Luca Fonti Subject: Passing Variables To Sub XE "Passing Variables To Sub"  Hi Alex, i think that you can solve the problem in this way: BuildDirCache Pathtoscan,ComboBoxIndex the problems are the --> "(" ....i don't know why but it happened to me and the first time i spend some times to solve the problem. Hope this could help you. LUca...mc5557@mclink.it ========================================================================= Date: Sun, 21 Aug 1994 12:11:14 -0300 From: Robert Stokes Subject: ADMIN: Whining XE "ADMIN\: Whining"  This list has provided me with more information than any other source. I appreciate your effort greatly Rick, thanks a lot. - Robert Robert Stokes Bridgetown International Software Nova Scotia, Canada nstn00302fox.nstn.ns.ca >Rick's message was: >First, I would like to apologize to the list for leaving on vacation while >the list was locked. I intended to leave on vacation -- I didn't intend >to lock the list. > >Second, to those subscribers who are new to the list and expect it to be >24-hour, 7-days-a-week -- it isn't. This list is run at my whim on my own >time because of my interest in Visual Basic and in the Visual Basic >community. If your job depends on information you get from this list, you >are in the wrong place -- I suggest that you purchase one of the Microsoft >$upport $ervices. This list is for the low-roller programmers. > >Third, thanks to Nathan Brindle for filling in for me on some of the >problems while I was gone. > >Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) >CIS, Computing and Information Services, Texas A&M University >VISBAS-L, VBDATA-L List Owner > > ========================================================================= Date: Sat, 20 Aug 1994 20:59:01 -0400 From: "John Y. Ching" Subject: How to create form larger than screen during design time? In- XE "How to create form larger than screen during design time?"  you gurus out there can help answer a couple of beginner's questions. Is there a way I can "visually" create a form larger than the maximum screen size? It seems there must be a way to add scroll bars to a form but I am unable to find any references in the manuals. My application requires WYSIWYG forms in 8.5x11 and 8.5x14 sizes. Second question: Is there an easier way to print a form other than manually formatting control by control and line by line? It seems that the advantage of a visual design tool is so that we don't have to manually reformat the output. The form already has all of the info regarding position, fonts, etc. There must be some add-ons or whatever that can let me print a WYSIWYG form... right? Thanks in advance for your help. John Y. Ching (jching@watnow.uwaterloo.ca) | Pattern Analysis and Machine Intelligence Lab | Department of Systems Design Engineering | University of Waterloo, Canada | ========================================================================= Date: Sun, 21 Aug 1994 02:26:08 EDT From: Rodney Grant Message: INDEX VISBAS-L ========================================================================= Date: Sun, 21 Aug 1994 10:34:42 -0700 From: Stephen Kearney Subject: Password encryption XE "Password encryption"  Hello, Does anyone have a simple encryption scheme for storing passwords in an .ini file? Currently I am converting each character to a 3 digit ASCII value. Since that would only discourage the most casual hacker I'd like a slightly more complicated encryption technique. TIA.... ______________________________________________________ Stephen Kearney : neff123@garnet.berkeley.edu The spheres are in commotion, the elements in harmony! ***MIME mail, please!*** ========================================================================= Date: Sun, 21 Aug 1994 12:26:38 -0700 From: Richard Rosenheim Subject: jpeg viewer control? XE "jpeg viewer control?"  Does anyone know of a public domain/shareware VBX to display a JPEG file? I'm just prototyping an idea so I'm not ready to purchase a JPEG VBX yet. Thanks in advance, Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Sun, 21 Aug 1994 21:22:11 +0100 From: Fergus Creagh Subject: SET VISBAS-L NOMAIL XE "SET VISBAS-L NOMAIL"  -- Fergus Creagh ========================================================================= Date: Sun, 21 Aug 1994 19:32:10 -0400 From: Scott Evans Subject: What would you do? XE "What would you do?"  Hi all, I'm considering a small project that will basically revolve around a small database, in this case, lists of albums. Users should be able to create new lists, save them in files and so on. I also want to provide basic functions like search, sort, etc. My question, then: would it be appropriate to use VB3 pro's database features to build this app, or would it be easier to just create and maintain the databases by hand? I ask this seemingly stupid question because, though I'm a competent VB (and otherwise) programmer, I've never used VB's database features and have no idea of their capabilities. The docs seem to be directed at experienced database developers who want to interface with existing DBs, so they weren't too helpful. BTW, if the answer is "use the VB stuff", where's a good place to start reading? Thanks! ------------------------------------------------------------------------------ scott evans gse@ocsystems.com -----------------------------self is the universe----------------------------- ========================================================================= Date: Mon, 22 Aug 1994 09:56:12 +0200 From: Antony Meadley Subject: Change Tab stops in ListBox (was List Box Formatting) XE "Change Tab stops in ListBox (was List Box Formatting)"  Eric Dore wrote: >I d'ont remember by heart, but there is a way to change the position of >TAB STOPs in a list box. The following does the trick. (Remember, the function declaration must be all on 1 line, not split over 2 as it is here!) Declare Function GetFocus Lib "user" () As Integer Declare Function SendMessage Lib "user" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wp As Integer, lp As Any) As Long Declare Function PutFocus Lib "user" Alias "SetFocus" (ByVal hwnd%) As Integer Const WM_USER = &H400 Const LB_SETTABSTOPS = WM_USER + 19 Sub Form_Activate () Dim hOldWnd%, lbhWnd%, retVal&, R% Static tabs(2) As Integer tabs(1) = 248 tabs(2) = 300 '**** Set up tab stop positions **** hOldWnd% = GetFocus() 'Remember who had the focus List1.SetFocus lbhWnd% = GetFocus() retVal& = SendMessage(lbhWnd%, LB_SETTABSTOPS, 2, tabs(1)) R% = PutFocus(hOldWnd%) End Sub Antony ========================================================================= Date: Mon, 22 Aug 1994 11:01:18 +0300 From: Tommi Rintala Subject: Password encryption XE "Password encryption"  > Hello, > > Does anyone have a simple encryption scheme for storing passwords in an .ini > file? Currently I am converting each character to a 3 digit ASCII value. > Since that would only discourage the most casual hacker I'd like a slightly > more complicated encryption technique. > > TIA.... How about using XOR -cryptation? First select a key, it should be equally long than the words to be crypted. Then tranpose the password and keyword to binary numbers (or at least it's easier to show an example) and XOR password with keyword. 01000001 <- this is password (in this case it's only char 'a' XOR 10101011 <- this is the keyword ---------- 11101010 <- this is the result. And if you XOR this with keyword: XOR 10101011 <- same keyword ---------- 01000001 <- we have the original password! If you like to do this safer select different keywords for different passwords. You can also find one implementation of this from "PC Magazine / July 1994" tomppa2 ========================================================================= Date: Mon, 22 Aug 1994 09:29:21 +0100 From: "J.Watts" Subject: Win Sockets XE "Win Sockets"  Hi, Sometime ago i downloaded a .bas file that had all the declarations of the calls for windows sockets. Unfortunately i deleted it and now i need it. Does anybody know where i could get it again??. I already have a VBX that enables me to write to the winsockets, but i do need the lower level call declarations for some things. Any ideas, Jim ************************************************************** Jim Watts Phone: 0703 592280 Novell/Dos/Windows Support Fax: 0703 593939 Computing Services Email: jw@soton.ac.uk Southampton University j.watts@soton.ac.uk ************************************************************** ========================================================================= Date: Mon, 22 Aug 1994 18:01:00 PDT From: "Wallace, Glynn W." Subject: What would you do? XE "What would you do?"  Scott Evans wrote: ---------- Hi all, I'm considering a small project that will basically revolve around a small database, in this case, lists of albums. Users should be able to create new lists, save them in files and so on. I also want to provide basic functions like search, sort, etc. My question, then: would it be appropriate to use VB3 pro's database features to build this app, or would it be easier to just create and maintain the databases by hand? I ask this seemingly stupid question because, though I'm a competent VB (and otherwise) programmer, I've never used VB's database features and have no idea of their capabilities. The docs seem to be directed at experienced database developers who want to interface with existing DBs, so they weren't too helpful. BTW, if the answer is "use the VB stuff", where's a good place to start reading? Thanks! =========================Reply=========================== Scott, Go for it man! Unless you never plan on doing anything else with VB databases EVER, the amount of knowledge you can gain by doing this simple project will prove invaluable. Maybe I'm a little database crazy, but I use them for a whole LOT of things. The first project I ever worked in VB was an address book for my own use. The lessons I learned from that gave me quite a bit of insight for the projects I'm working on now, and have planned for the future. You've gotta start somewhere. I don't keep track of any data by hand....HEY! That's why I own a computer....right? Seriously, my job is providing information for "the powers that be" and without databases, I'd be SOL, whether they be xBase, Access, fixed-length mainframe, or whatever. (I use VB to manipulate all of these, by the way) Reading......Let's see.....I wrote the address book thing with information right out of VB Professional Features Book 2, VB and Access .hlp files, and the KB. If you want to seriously develop in the database realm, order Roger Jennings book - Database Developers Guide with Visual Basic, SAMS Publishing, ISBN 0-672-30440-6. There are other good ones, I'm sure, but that's the only one I'm familiar with. BTW - If you decide to go for it, we'll try to help with any problems...at least I will. My experience with databases was mostly in the DOS world (yechh!), but I'm gaining ground (stand-alone so far, networking is next). Oh, and be sure you post them to VBDATA. IMHO #include std_disclaimer.ch Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Mon, 22 Aug 1994 12:32:31 +0300 From: giora drachsler Subject: Text Parsing XE "Text Parsing"  EL> Ho mighty Visual Basic warriors! EL> EL> Mine superiors have dared to do the vilest thing EL> imaginable...I've got a prog due in a day that I have no I idea EL> how to do. I have 5 5.5 meg ascii files that need to be parsed. EL> They are dumps off of the mainframe that need to be separated EL> according to battalion. There is a header every five or six EL> pages that tells the battalion name. Any ideas? I am clueless... EL> EL> EL> EL> LCpl Jason Williams EL> 1st Marine Division EL> Camp Pendleton, CA VB is well equiped for such a job. Open the original file for INPUT and a new one for output. Read the input file a line at a time with LINE INPUT. PRINT that line to the output file. At the same time search the line for header string and cumulate string lengths. When the output string is long enough or includes a specific string, close the output file and open a new one. This process is best done programmatically, but it may very well run interactively. Let me know if you need more help. Hope it helps, Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Mon, 22 Aug 1994 12:50:33 +0000 Subject: Visual Basic User Group XE "Visual Basic User Group"  to. VISBAS-L@tamvm1.tamu.edu Calling all UK VB'ers, I recently received an application form for a new UK VB User Group. Has anyone heard of it ? Is it worth joining ? and if so what is their address ? as I have misplaced it. File item: address.txt 26/7/94 8:34 163 Andy Steele Meteorological Office London Rd Bracknell Berks RG12 3UG Tel: +44 (0)344 856984 Fax: +44 (0)344 856967 email: acsteele@email.meto.govt.uk ========================================================================= Date: Mon, 22 Aug 1994 09:05:38 EDT From: Paolo Marini Subject: RTF Format for Help Compiler HC31 XE "RTF Format for Help Compiler HC31"  Peter Boyd, peterrb@compnews.co.uk wrote: Lotus AmiPro v3 works fine for me :-) and I say: there also is a collection of macros and style sheet for Ami Pro, to help in writing these complicated help files, available on Lotus' BBS in UK. (and in the US too, I suppose !) The BBS number is +44 (0)784 445600. Paolo My opinions are mine and blah, blah, blah ========================================================================= Date: Mon, 22 Aug 1994 08:12:07 CDT From: Rosiland Kearney Subject: Visual Basic Testing Application XE "Visual Basic Testing Application"  Hello everyone! Currently I am working on a visual basic application that will be used to take data measurements and display them via gauges on the screen. Someone informed me that such an application currently exists. Does anyone know where I could get more information on a testing application? Also, does anyone know if there are other gauge bitmaps out there besides the ones that come in the vb/bitmaps/gauges directory? I am looking for some that have numbers on them. Thank you Rosiland ========================================================================= Date: Mon, 22 Aug 1994 08:17:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Irregular shape control XE "Irregular shape control"  I have a map of a neighborhood that I need to be able to click on and fill in the section that I clicked on. Does anyone have any ideas on how this is possible? Is there a VBX for a irregular shape control? We thought of using the API to draw a polygon and using a transparent control on the polygon. Thanks for any help. Russell Greenlaw Gunter Annex, Alabama PS - The shapes are all quadrilaterals so all I need is the ability to draw a shape with four lines. ========================================================================= Date: Mon, 22 Aug 1994 09:28:05 EDT From: Paolo Marini Subject: Converting a string into an array in VB XE "Converting a string into an array in VB"  Rosiland Kearney wrote: >Does anyone know how to convert a string into an array of characters in Visual > Basic? C VB char pippo[10]; // 11 bytes Dim pippo As String * 10 pippo[0] = 'a'; Mid$(pippo,1,1) = "a" or Mid$(pippo,1) = "a" strncpy (pippo+3, "papa", 4) Mid$(pippo,4,4) = "papa" or Mid$(pippo,4) = "papa" PASCAL VAR pippo: Array(1..10) of Char; BEGIN pippo(1) := "a"; ???, strong type checking, weak flexibility... HTH Paolo ========================================================================= Date: Mon, 22 Aug 1994 08:27:00 CDT From: "Shannon, P. M. (Patrick)" <13991shann@KCPBLDG05.BV.COM> Subject: Setup Wizard (Casting the Right Spell) XE "Setup Wizard (Casting the Right Spell)"  In Setup1.frm make a call to a procedure that creates the additional icons. As far as I can tell, the only things you can add to setup1.frm is If statements, MsgBox statements, and procedure calls.....everything else seems to get stripped out by setupwizard. Patrick M. Shannon 13991shann@kcpbldg05.bv.com ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Setup Wizard (Casting the Right Spell) Date: Friday, XE "Wizard (Casting the Right Spell)"  August 19, 1994 8:57PM I'm trying to modify the SETUP1.FRM so that it will create more than one Program Manager Item in the main app's Program Group. I added the additional line to create the additional icon in the group, but the Wizard only creates the main app icon. When I modify SETUP1.FRM it seems to create another form (SETUP1A.FRM) that prevents me from adding the additional executable's icon. This is very frustrating. Can someone PLEASE shed some light on what I'm doing wrong. Thanks. ========================================================================= Date: Mon, 22 Aug 1994 08:29:00 GMT From: GEORGE CSEFAI Subject: VBSQL.VBX XE "VBSQL.VBX"  A>From: Anthony Stevens >Subject: VBSQL.VBX >Date: XE "VBSQL.VBX"  Fri, 19 Aug 1994 11:53:00 PDT >To: george.csefai@keaneinc.com Hi, VBSQL.VBX is part of Microsoft's 'SQL 4.2 for WinNT Programmer's Toolkit' (p/n 228235v420) and is used with SQL Server. VBSQL.VBX is basically DBLIB for Visual Basic. The file you received is an upgrade to the VBX and requires the purchase of the aforementioned package (~$700) for the support files that the VBX needs. As far as a reference to the VBX, the BEST you can get is Bill Vaughn's 'A Hitchhiker's Guide to VBSQL'... George Csefai Waterbury, CT A> Could anyone point me in the right direction for obtaining information >on how to use VBSQL.VBX? I pulled it off CICA and all that came in the .ZIP >file was the VBX itself -- no READMEs, nothing! A> A glance at the two supported events has piqued my interest -- but I >haven't the foggiest notion on how I'm supposed to incorporate the VBX into >my design environment. A> Any help would be appreciated! A> Anthony Stevens > anthonys@argus.dental.washington.edu --- ~ QMPro 1.0 41-4001 ~ People say I'm indecisive. Am I? I don't know. ========================================================================= Date: Mon, 22 Aug 1994 08:36:14 CST From: Scott Nelson Subject: How to create form larger than screen during design time XE "How to create form larger than screen during design time"  > Is there a way I can "visually" create a form larger than the maximum > screen size? It seems there must be a way to add scroll bars to a form > but I am unable to find any references in the manuals. My application > requires WYSIWYG forms in 8.5x11 and 8.5x14 sizes. Yes. Do not use the form for the display, but rather a picture control within another picture control. The picture control you display in (picScrollable) moves within the other picture control (picWindowFrame). The scroll bar will change picScrollable's Top property. PicScrollable will be defined as 8.5 x 11", but picWindowFrame will be only whatever can fit on the screen. It will "clip" picScrollable's output to it's own borders. To directly answer your question, VB seems to limit the size of a form... probably to the size of the screen. > Second question: Is there an easier way to print a form other than > manually formatting control by control and line by line? It seems that > the advantage of a visual design tool is so that we don't have to > manually reformat the output. The form already has all of the info > regarding position, fonts, etc. There must be some add-ons or whatever > that can let me print a WYSIWYG form... right? You can just print the form by doing Form1.PrintForm, but it will print the form as it looks at the moment... the code I gave you above will print the clipped version and the scroll bar. ========================================================================= Date: Mon, 22 Aug 1994 08:36:00 EST From: Animal Rescue League of Boston <0004587389@MCIMAIL.COM> Subject: Password encryption XE "Password encryption"  ' 8/22/94 9:28:47 AM ' Problem noted when offset = a single digit hex number ' decode routine is looking for 2 digits. simple fix noted below ' fix by Michael W. Smith (74001,457) of NBS routine look good! ' Function crypt (Action As String, Key As String, Src As String) As String Dim Count As Integer, KeyPos As Integer, KeyLen As Integer, SrcAsc As Integer, dest As String, offset As Integer, TmpSrcAsc, SrcPos KeyLen = Len(Key) If Action = "E" Then Randomize offset = (Rnd * 10000 Mod 255) + 1 dest = Hex$(offset) ' problem with "offset" of single digit hex numbers ' when decodeing, decode procedure is looking for 2 digits, whereis lower number produce single digit hex numbers (ie 1,2,3,12...) If Len(dest) = 1 Then dest = "0" + dest ' adds 0 in front of single digit hex numbers End If For SrcPos = 1 To Len(Src) SrcAsc = (Asc(Mid$(Src, SrcPos, 1)) + offset) Mod 255 If KeyPos < KeyLen Then KeyPos = KeyPos + 1 Else KeyPos = 1 End If 'Fill Dest$ with HEX representation of Encrypted field 'Hex used to keep nasties such as eof or lf from mangling stream 'Use format$ to make Hex$ return " 0" instead of "0" when the same 'values are Xor'ed together (Null) - keeps placeholder for decrypt SrcAsc = SrcAsc Xor Asc(Mid$(Key, KeyPos, 1)) dest = dest + Format$(Hex$(SrcAsc), "@@") offset = SrcAsc Next ElseIf Action = "D" Then offset = Val("&H" + Left$(Src, 2)) For SrcPos = 3 To Len(Src) Step 2 SrcAsc = Val("&H" + Trim(Mid$(Src, SrcPos, 2))) If KeyPos < KeyLen Then KeyPos = KeyPos + 1 Else KeyPos = 1 End If TmpSrcAsc = SrcAsc Xor Asc(Mid$(Key, KeyPos, 1)) If TmpSrcAsc <= offset Then TmpSrcAsc = 255 + TmpSrcAsc - offset Else TmpSrcAsc = TmpSrcAsc - offset End If dest = dest + Chr(TmpSrcAsc) offset = SrcAsc Next End If crypt = dest End Function ========================================================================= Date: Mon, 22 Aug 1994 09:55:06 EDT From: Eric Dore Subject: Setup Wizard (Casting the Right Spell) XE "Setup Wizard (Casting the Right Spell)"  > > In Setup1.frm make a call to a procedure that creates the additional icons. > As far as I can tell, the only things you can add to setup1.frm is If > statements, MsgBox statements, and procedure calls.....everything else seems > to get stripped out by setupwizard. > > Patrick M. Shannon > 13991shann@kcpbldg05.bv.com > ---------- There is two copy of setup in the setupwizard, when you create a setup program with setup wizard, it copy the files over the others before modifying the program. So your changes are lost. So be sure to change the right oneon the one. Eric Dore Quebec, CANADA ========================================================================= Date: Mon, 22 Aug 1994 10:01:19 -0400 From: Ian Ornstein Subject: How to create form larger than screen during d      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijkmnopqrstuvwxyz{|}~esign time? XE "How to create form larger than screen during design time?"  -Reply >>>>>>>>>>>>>>> Hi everyone. I am new to the exciting world of VB for Windows, and am hoping some of you gurus out there can help answer a couple of beginner's questions. Is there a way I can "visually" create a form larger than the maximum screen size? It seems there must be a way to add scroll bars to a form but I am unable to find any references in the manuals. My application requires WYSIWYG forms in 8.5x11 and 8.5x14 sizes. Second question: Is there an easier way to print a form other than manually formatting control by control and line by line? It seems that the advantage of a visual design tool is so that we don't have to manually reformat the output. The form already has all of the info regarding position, fonts, etc. There must be some add-ons or whatever that can let me print a WYSIWYG form... right? ....> have you looked at form.print? Thanks in advance for your help. John Y. Ching (jching@watnow.uwaterloo.ca) | Pattern Analysis and Machine Intelligence Lab | Department of Systems Design Engineering | University of Waterloo, Canada | <<<<<<<<<<<<<<< ========================================================================= Date: Mon, 22 Aug 1994 07:07:54 PDT From: Jason Williams Subject: VBDATA XE "VBDATA"  Morning VBr's. I think I'm behind the power curve here. What's this with VBDATA? What is it? IF it's a list, how do you subscribe? Thanks once again, LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Mon, 22 Aug 1994 10:08:45 EDT From: Eric Dore Subject: Message Parsing XE "Message Parsing"  > > I am working on an medical office system that will need to parse out > messages received in a standard format called HL7. This format is a > variable length variable content message that is composed of few-to-many > character deliminated segments. > > 1. Has anyone implemented such a message parser? > 2. Do you have any sense as to whether or not a VB subroutine will be > fast enough to parse up to several thousand byte messages into data elements? > 3. What would you use to parse out these messages? > > Paul Levit > > plevit@welchlink.welch.jhu.edu > Maybe the AWK control of VSVBX from VideoSoft will do what you want. If you want to try it look on CICA in the /pub/win3/programr/vbasic/vsvbx.zip Eric Dore Quebec, CANADA ========================================================================= Date: Mon, 22 Aug 1994 07:13:46 PDT From: Jason Williams Subject: How to create form larger than screen during design time? XE "How to create form larger than screen during design time?"  I'm not sure if you want to throw down $100 to do it, but Sheridan's VBAssist comes with a vbx for adding hor. and vert. scroll bars to a form. LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Mon, 22 Aug 1994 09:43:00 CDT From: Ed Staffin Subject: Password encryption XE "Password encryption"  Check on ftp.mcs.com in the mcsnet.users\edstaff directory for a file called crypt.zip it does exactly what you want. Later ... Ed >Hello, > >Does anyone have a simple encryption scheme for storing passwords in an .ini >file? Currently I am converting each character to a 3 digit ASCII value. >Since that would only discourage the most casual hacker I'd like a slightly >more complicated encryption technique. > >TIA.... > >______________________________________________________ >Stephen Kearney : neff123@garnet.berkeley.edu >The spheres are in commotion, the elements in harmony! > ***MIME mail, please!*** > ========================================================================= Date: Mon, 22 Aug 1994 11:17:27 EDT From: Paolo Marini Subject: Division by Zero XE "Division by Zero"  ken black III wrote: - - - - - - - - - - Has anyone a clue why division by zero while running a vb project prior to making .exe file causes a complete crash of Windows (and all other active apps and loss of all unsaved work) and requires rebooting? - - - - - - - - - - My opinion is: the following code works perfectly even if the project is not saved: On Error Resume Next A = 3 / 0 If Err = 11 Then MsgBox "Need more math classes!" '11 means DivByZero error Paolo The opinions expressed above are mine blah, blah, blah ========================================================================= Date: Mon, 22 Aug 1994 11:31:35 EDT From: Paolo Marini "Vernon V. Soehner" wrote: I tried tabs and a grid custom control. In my opinion, I eventually found that the main issue is proportional fonts. Proportional fonts are unpredictable in size. I tried to set the column widths to accommodate the largest possible fields and ended up with a very wide unusable listbox. - - - - - - - - - - My opinion is: The sentence from "Proportional" to "size" is false, just use the TextWidth function and you'll find how many units the text takes. Let's say that they have a proportional horizontal size (as their name implies) and that there is no way to start writing at a specific position (in units) in a list cell. Back on padding with spaces, it is still possible with propfonts: just use the same functions to calculate how many blanks you need to fill the space. Paolo What I said in my answer is personal and my company blah, blah, blah ========================================================================= Date: Mon, 22 Aug 1994 11:32:17 EDT From: Paolo Marini Subject: STRUCT in C/VB XE "STRUCT in C/VB"  Artur Roberto Lima Rodrigues wrote: I want to write in archive my C struct and read this in my prm VB. How?? struct { char a; int b; int c; char d; } CSTRUCT; - - - - - - - - My opinion is: if your sentence above asked how to declare a C structure in VB, the answer is Type CSTRUCT a as String * 1 b as Integer ... End Type Paolo ps: Paolo is my signature, don't put it in your code... :-) ========================================================================= Date: Mon, 22 Aug 1994 17:30:23 CEST From: Nicola Brion Subject: how to create form large XE "how to create form large"  >> Is there a way I can "visually" create a form larger than >> the maximum screen size? It seems there must be a way >> to add scroll bars to a form but I am unable to find any >> references in the manuals. there's a program at ftp.cica.indiana.edu that show how to emulate this by using a picture and how to scroll this. It night be SCROLL.ZIP or VBSCRL.ZIP in the pub/pc/win3/programr/vbasic. The trick is to use a picture as large as you need and add scrollbar to 'move' it on the screeen. I've tried it and it works. HTH Obelix Ps. BTW, there's no way. for what i know, to create a form too large: I've tried with a MDI-Child form, but it's max sioze where limited basing on resolution. ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Mon, 22 Aug 1994 16:31:23 +0000 From: Brian Gaines Organization: University College Dublin Subject: INI files XE "INI files"  Hi all I am writing a small application. I need to be able to save some settings in an INI file. I tried using the WIndows API WritePrivateProfileString but it just writes garbage to my INI file. For example Dim ReturnValue As Integer ReturnValue = WritePrivateProfileString("SECTION", "ENTRY", "VALUE", "C:\TESTFILE.INI") (the ReturnValue comes back as 1 indicating that the write was successful) This code should write to/create a file called c:\testfile.ini and it should look like this [SECTION] ENTRY=VALUE Instead it creates the file, writes the section heading [SECTION] but then it writes some strange character instead of ENTRY and another strange character for VALUE. It writes the equals sign OK. Any one have any ideas? By the way, I copied the declaration for the function WritePrivateProfileString from the VB Help file. Brian Gaines Programming Adviser UCD Computing Services Dublin Ireland E-MAIL BGAINES@OLLAMH.UCD.IE Voice 1-353-1-706-2005 ========================================================================= Date: Mon, 22 Aug 1994 11:52:54 +0100 From: Byron Lee Subject: jpeg viewer control? In- XE "jpeg viewer control?"  > > I'm just prototyping an idea so I'm not ready to purchase a JPEG VBX yet. > There is a DLL called ECJDLL11.* that allows you to view JPEG.. I could possibly UUENCODE it for ya if ya want... ========================================================================= Date: Mon, 22 Aug 1994 11:30:00 EST From: Animal Rescue League of Boston <0004587389@MCIMAIL.COM> Subject: Password Cipher Variation XE "Password Cipher Variation"  Function Decipher (cipher_text$, key_text$) For counter% = 1 To Len(cipher_text$) Step 2 numeric_value% = Val("&H" + Trim$(Mid$(cipher_text$, counter%, 2))) If start% < Len(key_text$) Then start% = start% + 1 Else start% = 1 character_string$ = character_string$ & Chr$(numeric_value% Xor Asc(Mid$(key_text$, start%, 1))) Next Decipher = character_string$ End Function Function Encipher (plain_text$, key_text$) For counter% = 1 To Len(plain_text$) ANSI_code% = Asc(Mid$(plain_text$, counter%, 1)) If start% < Len(key_text$) Then start% = start% + 1 Else start% = 1 hexidecimal_value$ = Hex$(ANSI_code% Xor Asc(Mid$(key_text$, start%, 1))) formatted$ = formatted$ + Format$(hexidecimal_value$, "@@") Next Encipher = formatted$ End Function Sub Main () plain_text$ = InputBox("Plain Text") key_text$ = InputBox("Key Text") cipher_text$ = Encipher(plain_text$, key_text$) MsgBox cipher_text$, 64, "Encipher(" & plain_text$ & ", " & key_text$ & ")" plain_text$ = Decipher(cipher_text$, key_text$) MsgBox plain_text$, 64, "Decipher(" & cipher_text$ & ", " & key_text$ & ")" End Sub ========================================================================= Date: Mon, 22 Aug 1994 12:21:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: INI files XE "INI files"  I have had the same problem with the writeprivate profile string and I tried and tried to get it to work but to no avail. I believe it has something to do with the differences between C strings and VB strings. Maybe if you used the VB API and convert it to a C string first(I ddin't try this) it would work or you could do what I did and use INICON3.ZIP. It cost $3 to register and you can get it from CICA or Compuserve and maybe other places but those are the two I've seen it. Hope this helps. Russell Greenlaw ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: INI files Date: Monda XE "iles" y, August 22, 1994 16:31 Hi all I am writing a small application. I need to be able to save some settings in an INI file. I tried using the WIndows API WritePrivateProfileString but it just writes garbage to my INI file. For example Dim ReturnValue As Integer ReturnValue = WritePrivateProfileString("SECTION", "ENTRY", "VALUE", "C:\TESTFILE.INI") (the ReturnValue comes back as 1 indicating that the write was successful) This code should write to/create a file called c:\testfile.ini and it should look like this [SECTION] ENTRY=VALUE Instead it creates the file, writes the section heading [SECTION] but then it writes some strange character instead of ENTRY and another strange character for VALUE. It writes the equals sign OK. Any one have any ideas? By the way, I copied the declaration for the function WritePrivateProfileString from the VB Help file. Brian Gaines Programming Adviser UCD Computing Services Dublin Ireland E-MAIL BGAINES@OLLAMH.UCD.IE Voice 1-353-1-706-2005 ========================================================================= Date: Mon, 22 Aug 1994 12:30:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: how to create form large XE "how to create form large"  Use two picture boxes. Put one inside the other. Make the inside one larger than the outside one. Place all the controls you need on the form on the inside picture box and viola' you should be able to scroll to where you want to go. Oh, Make the outside box the same size as the form. I hope this helps out, I know it isn't very detailed but I'll look to see if I can find the KB article on it or if you have the text search version of the KB search on "scroll" and you should be able to find it. Russell Greenlaw ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: how to create form large Date: Mond XE "how to create form large" ay, August 22, 1994 17:30 >> Is there a way I can "visually" create a form larger than >> the maximum screen size? It seems there must be a way >> to add scroll bars to a form but I am unable to find any >> references in the manuals. there's a program at ftp.cica.indiana.edu that show how to emulate this by using a picture and how to scroll this. It night be SCROLL.ZIP or VBSCRL.ZIP in the pub/pc/win3/programr/vbasic. The trick is to use a picture as large as you need and add scrollbar to 'move' it on the screeen. I've tried it and it works. HTH Obelix Ps. BTW, there's no way. for what i know, to create a form too large: I've tried with a MDI-Child form, but it's max sioze where limited basing on resolution. ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Mon, 22 Aug 1994 19:33:08 GMT From: Pablo Perez Trabado Subject: how to create form large XE "how to create form large"  >> Is there a way I can "visually" create a form larger than >> the maximum screen size? >there's a program at ftp.cica.indiana.edu that show how to emulate this by >using a picture and how to scroll this. >It night be SCROLL.ZIP or VBSCRL.ZIP in the pub/pc/win3/programr/vbasic. >The trick is to use a picture as large as you need and add scrollbar to >'move' it on the screeen. I've tried it and it works. If you have VB 3 Pro, you can do this without external add-ons, by using the Picclip control. You only need a bitmap large enough, and vertical and horizon- tal scrollbars soft-wired to the left-corner x and y coordinates of the clipped portion. The drawbacks would be: 1) Large bitmaps eat lots of memory, and loading and unloading the form can be a real chore. 2) The enlarged "form" is a static image. Used to the pretty little buttons sinking when pushed, and the scrollbars running along their rails when moved, static images may be a little boring, aren't they?. :) HTH. ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Mon, 22 Aug 1994 12:47:00 CDT From: "Dana, Alicia C" You can write the information out to a data file or you can use the winapi profile strings and store the infor in a .ini file. ---------- >From: owner-visbas-l >To: Multiple recipients of list VISBAS-L >Date: Tuesday, August 16, 1994 5:08PM > >Hi, > I am presently working on a project that uses about 25 forms. >Using about 18 forms I collect data from the user, and I use the rest >for displaying the computed results etc.. > What my problem is whether to use global variables for storing >the input data or not. > If I use global variables, I may have to use about 60 variables, I >think using that many global variables is not good . the other alternative >for this is to directly access the input data from the forms but it requires >all the forms to be loaded in the memory all the time. > Could any body tell which option is best for me. > >Thanks in advance >Ravinder Vaddepally >ravirao@matt.ksu.edu > ========================================================================= Date: Mon, 22 Aug 1994 10:01:54 PDT From: Don Rueter Subject: INI files XE "INI files"  Brian Gaines Wrote: | | I am writing a small application. I need to be able to save some | settings in an INI file. I tried using the WIndows API | WritePrivateProfileString but it just writes garbage to my INI file. | | For example | | Dim ReturnValue As Integer | ReturnValue = WritePrivateProfileString("SECTION", "ENTRY", "VALUE", | "C:\TESTFILE.INI") | | (the ReturnValue comes back as 1 indicating that the write was | successful) | This code should write to/create a file called c:\testfile.ini and | it should look like this | | [SECTION] | ENTRY=VALUE | | Instead it creates the file, writes the section heading [SECTION] but | then it writes some strange character instead of ENTRY and another | strange character for VALUE. It writes the equals sign OK. | | Any one have any ideas? | By the way, I copied the declaration for the function | WritePrivateProfileString from the VB Help file. This is the declare from the VB Help file: Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, lpKeyName As Any, lpString As Any, ByVal lplFileName As String) As Integer It should be: Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpReturnedString As String, ByVal lpFileName As String) As Integer (notice the 2 occurrences of 'ByVal' that were missing in the original) p.s. I sent this once before today, but don't think it got through. 1K pardons if you got it more than once. ========================================================================= Date: Mon, 22 Aug 1994 13:55:00 EDT From: "Meltzer, Marc" Subject: Rotating Text before printing... XE "Rotating Text before printing..."  In the application I am creating, I need to print some text on a 12" x 60" (L x W) piece of paper. The printer is actually a plotter using a 24" wide roll. What I want to do is use the width of the roll for the length of the document (12" part), and the length of the roll for the width of the document (60" part). The only problem is that VB will use the width of the roll for the width of the document (it prints the 60" length of text on the 24" width of the roll, which won't work). Does anyone out there know of a way to rotate the text so it will print the way I want it to? If you understood what I meant, even if you don't know a solution, let me know. Marc P.S. Please respond directly to me, as I am not a part of this mailing list. ========================================================================= Date: Mon, 22 Aug 1994 15:12:04 -0400 From: Robert Tsui Subject: Help on Interprocess Communication XE "Help on Interprocess Communication"  @VISBAS-L@TAMVM1.TAMU.EDU Hi everyone, I need some help in resolving the following problem. I have to write three related applications in VB (let's call them V1, V2, V3) which have a number of common functions and screens (let's call them f1, f2, f3). I would like to minimize the duplications and want to extract these functions and put them in a separate application (or DLL??). There are requirements of passing data back and forth between the V's and the c's. How do I achieve this? Should I use OLE, DDE, or some other Windows SDK's APIs? Based on my limited knowledge on OLE and DDE, neither of them seems to be the answer. I do not want to turn every single function into an VB application because there can be a lot of them. If I do, OLE might be the answer. On the other hand, DDE seems to deal only with data and not screens or forms. Because of future maintenance requirement and the size of each applications, combining all three of them into a huge VB application is out of the question. I will appreciate if someone out there can give me some insight in how to do interprocess communication in this situation. If you do not know the answer but do know of a book or articles in VB KB that can provide further information, please let me know as well. Thank you in advance for your help. Robert Tsui tsuir2@epo.gov.on.ca ========================================================================= Date: Mon, 22 Aug 1994 12:19:27 -0700 From: Jesse Montrose Subject: INI files XE "INI files"  Switch those puppies to byval, and you should be fine.. You're sending references to your strings (pointers, kinda) and the win api is dutifully writing them out. Here's the writeIni function from my current project: IniFile = "filename.ini" ' this is global, also used by ReadIni Sub WriteIni (Appname As String, Keyname As String, KeyValue As String) Dim rc As Integer rc = WritePrivateProfileString(ByVal Appname, ByVal Keyname, ByVal KeyValue, ByVal IniFile) End Sub >Hi all > >I am writing a small application. I need to be able to save some >settings in an INI file. I tried using the WIndows API >WritePrivateProfileString but it just writes garbage to my INI file. > >For example > >Dim ReturnValue As Integer >ReturnValue = WritePrivateProfileString("SECTION", "ENTRY", "VALUE", >"C:\TESTFILE.INI") > >(the ReturnValue comes back as 1 indicating that the write was >successful) >This code should write to/create a file called c:\testfile.ini and it >should look like this > >[SECTION] >ENTRY=VALUE > >Instead it creates the file, writes the section heading [SECTION] but >then it writes some strange character instead of ENTRY and another >strange character for VALUE. It writes the equals sign OK. > >Any one have any ideas? >By the way, I copied the declaration for the function >WritePrivateProfileString from the VB Help file. -- ___________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 22 Aug 1994 14:44:26 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: GPF - Aarhhhrggg, not again ... XE "GPF - Aarhhhrggg, not again ..."  I'm desperate - my project has become more and more complex and resembles more of what I want to do, actually it's in it's final stages. There's a lot of tuning to be done, though. Starting last week I've run into a problem I can't seem to get rid of - a general protection fault. The program uses extensive database access - both data-control and 3.0 pro object variables features - and stepping through the code I always get an VB caused a GPF in KRNL386.EXE at 0001:92AA at a Users.Recordset.MoveLast statement, where Users is a datacontrol. When I go into debug mode right before the statement and manually enter any postioning method - GPF. A .refresh works, though, but any positioning after that - GPF, too. The .RecordSource is a definitely valid SQL-string. Now the funny (?) thing - if I create an .EXE-file, there's no problem whatsoever at this point of the code. Now I'm not going to accept a workaround of creating an .EXE for any change to be tested and I'm very close to the border of madness .. anyone got an idea to stop me from doing something bad to my PC? What COULD be the problem? Armin. ____ Armin von Werner awerner@frsbog.enet.dec.com ========================================================================= Date: Tue, 23 Aug 1994 04:51:00 PDT From: "Wallace, Glynn W." Subject: VBDATA XE "VBDATA"  Jason, It was set up to handle posts concerning databasing with VB. Since many of the VISBAS list subscribers aren't involved with databases in any way, it separates those questions/answers about SQL, compatibility layer, ODBC, etc.... into another list. To subscribe, use the same format as you did for this list, but send it to VBDATA-L instead. Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ==================================================== Morning VBr's. I think I'm behind the power curve here. What's this with VBDATA? What is it? IF it's a list, how do you subscribe? Thanks once again, LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Mon, 22 Aug 1994 15:10:00 EST From: Animal Rescue League of Boston <0004587389@MCIMAIL.COM> Subject: Password pseudo-random cipher XE "Password pseudo-random cipher"  Function Decipher (cipher_text$, seed$) 'The Randomize statement accepts a seed number used by the Rnd 'function to create unique pseudo-random number sequences. Randomize (Val(seed$)) For counter% = 1 To Len(cipher_text$) Step 2 character$ = character$ & Chr$(Val("&H" + Trim$(Mid$(cipher_text$, counter%, 2))) Xor Int(Rnd(255))) Next Decipher = character$ End Function Function Encipher (plain_text$, seed$) 'The Randomize statement accepts a seed number used by the Rnd 'function to create unique pseudo-random number sequences. Randomize (Val(seed$)) For counter% = 1 To Len(plain_text$) formatted$ = formatted$ & Format(Hex$(Asc(Mid$(plain_text$, counter%, 1)) Xor Int(Rnd(255))), "@@") Next Encipher = formatted$ End Function Sub Main () 'To have the sequence of random numbers change each time the 'program is run, place a Randomize statement with no argument 'in the program. Randomize plain_text$ = InputBox("Text", "Plain") seed$ = InputBox("An initial value used to generate pseudo-random numbers.", "Seed", Str(Rnd)) cipher_text$ = Encipher(plain_text$, seed$) MsgBox cipher_text$, 64, "Encipher(" & plain_text$ & ", " & seed$ & ")" plain_text$ = Decipher(cipher_text$, seed$) MsgBox plain_text$, 64, "Decipher(" & cipher_text$ & ", " & seed$ & ")" End Sub ' 8/22/94 4:00:36 PM ========================================================================= Date: Mon, 22 Aug 1994 17:21:06 -0400 From: Eric Laverdiere Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: Printer Paper Size XE "Printer Paper Size"  Hello all I'm trying to configure the printer (HP3) to US Legal 8.5 * 14 without any intervention by the user. I've tried using the information in the MS knowledgebase article Q96796 but I alwals get the first possible situation No ENUMPAPERSIZE... for this printer. I've also followed it step by step in order to see what happens, but to no avail. I'd like to know if there exist a simpler way. My idea would be to use a common dialog bos and set the action property to 5. After that all I need is to know how to bypass the first dialog box and go directly to the config dialog box (sendkeys won't work sonce you need to wait until the dialog box unloads before continuing the sub). Is there an argument for the common dialog box that permits you to directly open the printer confuration without the first dialog box and how can you pass sendkey arguments to this modal dialog box ? Thanks in advance +-------------------------------------+ |Eric Laverdiere | |MIS Masters Degree Student | |Ecole des Hautes Etudes Commerciales | |Montreal,Canada | o ___o\_ |Internet:K386@HEC.CA | \------\ / +-------------------------------------+ ~~~~~~~~~~~~~~~~~~~~~~~~ ========================================================================= Date: Mon, 22 Aug 1994 17:30:00 EST From: Animal Rescue League of Boston <0004587389@MCIMAIL.COM> Subject: Password pseudo-random fix XE "Password pseudo-random fix"  ' 8/22/94 6:11:26 PM 'Problem: Randomize [number] 'Number is used to initialize the random-number generator by giving it a new 'seed value. If you omit number, the value returned by the Timer function is 'used as the new seed value. If the same number is used in Randomize [number], 'the Rnd function DOES NOT return the same sequence of random numbers every 'time the program is run. 'Solution: Rnd[(number)] 'The value of number determines how Rnd generates a random number: 'If the value of number is < 0 then Rnd generates the same number every 'time, as determined by number. 'If the value of number is > 0 then Rnd generates the next random number 'in the sequence. 'The same random-number sequence is generated every time the program is 'run because each successive call to the Rnd function uses the previous 'random number as a seed for the next number in the random-number sequence. Function Decipher (cipher_text$, seed#) 'Start with the same number every time, as determined by seed#. number# = Rnd(-seed#) For counter% = 1 To Len(cipher_text$) Step 2 'Then use the next random number in the sequence. character$ = character$ & Chr$(Val("&H" + Trim$(Mid$(cipher_text$, counter%, 2))) Xor Int(255 * Rnd + 1)) Next Decipher = character$ End Function Function Encipher (plain_text$, seed#) 'Start with the same number every time, as determined by seed#. number# = Rnd(-seed#) For counter% = 1 To Len(plain_text$) 'Then use the next random number in the sequence. formatted$ = formatted$ & Format(Hex$(Asc(Mid$(plain_text$, counter%, 1)) Xor Int(255 * Rnd + 1)), "@@") Next Encipher = formatted$ End Function Sub Main () Randomize plain_text$ = InputBox("Text", "Plain") seed# = Val(InputBox("An initial value used to generate pseudo-random numbers.", "Seed", Str(Rnd))) cipher_text$ = Encipher(plain_text$, seed#) MsgBox cipher_text$, 64, "Encipher(" & plain_text$ & ", " & seed# & ")" plain_text$ = Decipher(cipher_text$, seed#) MsgBox plain_text$, 64, "Decipher(" & cipher_text$ & ", " & seed# & ")" End Sub ========================================================================= Date: Mon, 22 Aug 1994 18:37:00 CDT From: "Tow, Timothy N" Subject: Access to Project to Access XE "Access to Project to Access"  I am writing an application that uses Access ver 2.0 to get some >information about a project then pipes the information into MS Project ver >3.0. The user has to be able to manipulate the information in Project then >exit and allow Access to see the changes... the big question is how should I >do this? > > 1) write some Access basic code that launches Project with a given file, >then wait for Project to be closed, then read the file back into Access. > Patrick M. Shannon Hi Patrick, I would recommend upgrading to Project 4.0.. You can then export the Project files to an Access database and/or use OLE Automation to directly manipulate the objects in Project. (Look at the CreateObject function).. Note that it takes a good bit of RAM to do this efficiently (RAM is cheaper than user's time IMHO).. Good Luck! Tim Tow, CPA tntow@ingr.com 72773.1615@compuserve.com Compuserve Excel Forum "MVP" Contributing Author, "Excel Professional Techniques" by Que Books Contributing Author, "Making Microsoft Office Work" by Osborne/McGraw-Hill ========================================================================= Date: Mon, 22 Aug 1994 18:32:51 -0500 From: Brad Freels Subject: Help on Interprocess Communication In- XE "Help on Interprocess Communication"  > > I have to write three related applications in VB (let's call them V1, V2, > V3) > which have a number of common functions and screens (let's call them f1, f2, > f3). > I would like to minimize the duplications and want to extract these > functions and > put them in a separate application (or DLL??). There are requirements of > passing > data back and forth between the V's and the c's. How do I achieve this? > Should I > use OLE, DDE, or some other Windows SDK's APIs? Based on my limited > knowledge on OLE and DDE, neither of them seems to be the answer. I do not > want to turn every single function into an VB application because there can > be a lot > of them. If I do, OLE might be the answer. On the other hand, DDE seems to > deal > only with data and not screens or forms. Because of future maintenance > requirement > and the size of each applications, combining all three of them into a huge > VB > application is out of the question. I will appreciate if someone out there > can give me > some insight in how to do interprocess communication in this situation. > > If you do not know the answer but do know of a book or articles in VB KB > that can > provide further information, please let me know as well. Thank you in > advance > for your help. > > Robert Tsui > tsuir2@epo.gov.on.ca > I am currently running 4-5 VB apps at once and they are all talking using a .VBX called AppLink. It is MUCH easier and simpler to use than DDE and it has worked wonders for me as far as interform communication. It also works very easily across a network. The way it would work, would be to send a command string and then a data string across the link. Then you you would call a function based on the command string sent. Once done, send the info back across the link. If you need more info, mail me and I will give you AppLink's number and info. Hope that helps. brad brad@fc.net ========================================================================= Date: Tue, 23 Aug 1994 09:35:20 +0000 From: Kevin Black Subject: Text Parsing XE "Text Parsing"  Text parsing is simple using the vsvbx controls from Visual Solutions. It's available on CICA under .....\programr\vbasic. The vbx (VSVBX.VBX) is actually three controls in one VS Elastic, VS Tabs and VS Awk. All are excellent. The one you want is VS Awk. It allows you to set the file name, file type and delimiter. It will then scan the file line by line. Getting to a delimited field (say field 5) is as simple as: variable = formname.VSAwk1.F(5) there's much more functionality than that, it's all in the docs. I liked it so much I registered the control (about US$49). Hope this helps. Kevin ------------------ Kevin Black Computer Services Group Leader BHP Research - Newcastle Laboratories Snail : P.O. Box 188, Wallsend 2287 Tel : +61 49 510434 Fax: +61 49 513740 Internet: kevinb@resntl.bhp.com.au ---------------- ========================================================================= Date: Mon, 22 Aug 1994 21:44:58 -0400 From: Tim King Subject: GPF - Aarhhhrggg, not again ... In- XE "GPF - Aarhhhrggg, not again ..."  > The program uses extensive database access - both data-control > and 3.0 pro object variables features - and stepping through > the code I always get an > > VB caused a GPF in KRNL386.EXE at 0001:92AA I feel your pain. Are you using the Access 2.0 compatibility layer? I have one project that uses Jet 1.1 and another that uses Jet 2.0., both are rather large. I've never had a problem with the 1.1, but I get GPFs all over the place with 2.0. I get these in KRNL386.EXE and MSAJT112.DLL (2.0 related). MS claims that they have had no other reports of these problems and blame the problems on my 3rd party controls (TrueGrid Pro and ImageBasic). I get the KRNL386.EXE error consistently when I exit the "compiled" .exe, but otherwise I get the errors in the design environment. -- Timothy King tcking@usit.net ========================================================================= Date: Mon, 22 Aug 1994 21:02:01 EDT From: Dan Shookowsky Subject: INI files In- XE "INI files"  sure byval precedes all variables > > Hi all > > I am writing a small application. I need to be able to save some > settings in an INI file. I tried using the WIndows API > WritePrivateProfileString but it just writes garbage to my INI file. > > For example > > Dim ReturnValue As Integer > ReturnValue = WritePrivateProfileString("SECTION", "ENTRY", "VALUE", > "C:\TESTFILE.INI") > > (the ReturnValue comes back as 1 indicating that the write was > successful) > This code should write to/create a file called c:\testfile.ini and it > should look like this > > [SECTION] > ENTRY=VALUE > > Instead it creates the file, writes the section heading [SECTION] but > then it writes some strange character instead of ENTRY and another > strange character for VALUE. It writes the equals sign OK. > > Any one have any ideas? > By the way, I copied the declaration for the function > WritePrivateProfileString from the VB Help file. > > Brian Gaines > Programming Adviser > UCD Computing Services > Dublin > Ireland > > E-MAIL BGAINES@OLLAMH.UCD.IE > Voice 1-353-1-706-2005 > -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Mon, 22 Aug 1994 21:09:51 EDT From: Dan Shookowsky Subject: What would you do? In- XE "What would you do?"  > ---------- > Hi all, > > I'm considering a small project that will basically revolve around a small > database, in this case, lists of albums. Users should be able to create > new lists, save them in files and so on. I also want to provide basic > functions like search, sort, etc. > > My question, then: would it be appropriate to use VB3 pro's database > features to build this app, or would it be easier to just create and > maintain the databases by hand? > > I ask this seemingly stupid question because, though I'm a competent VB > (and otherwise) programmer, I've never used VB's database features and have > no idea of their capabilities. The docs seem to be directed at experienced > database developers who want to interface with existing DBs, so they weren't > too helpful. > > BTW, if the answer is "use the VB stuff", where's a good place to start > reading? > > Thanks! > =========================Reply=========================== > Scott, > > Go for it man! Unless you never plan on doing anything else with VB > databases EVER, the amount of knowledge you can gain by doing this simple > project will prove invaluable. Maybe I'm a little database crazy, but I use > them for a whole LOT of things. > > The first project I ever worked in VB was an address book for my own use. > The lessons I learned from that gave me quite a bit of insight for the > projects I'm working on now, and have planned for the future. You've gotta > start somewhere. I don't keep track of any data by hand....HEY! That's why > I own a computer....right? Seriously, my job is providing information for > "the powers that be" and without databases, I'd be SOL, whether they be > xBase, Access, fixed-length mainframe, or whatever. (I use VB to manipulate > all of these, by the way) > > Reading......Let's see.....I wrote the address book thing with information > right out of VB Professional Features Book 2, VB and Access .hlp files, and > the KB. If you want to seriously develop in the database realm, order Roger > Jennings book - Database Developers Guide with Visual Basic, SAMS > Publishing, ISBN 0-672-30440-6. There are other good ones, I'm sure, but > that's the only one I'm familiar with. > > BTW - If you decide to go for it, we'll try to help with any problems...at > least I will. My experience with databases was mostly in the DOS world > (yechh!), but I'm gaining ground (stand-alone so far, networking is next). > Oh, and be sure you post them to VBDATA. > > IMHO > > #include std_disclaimer.ch > > Glynn Wallace > wallaceg@hq.u18ms.kadena.af.mil > Okinawa, Japan > I concur wholeheartedly! The knowledge I gained from making an album database and contact manager (ooops, and the list :) prepared me for the working world. I even brought the code to interviews to show that I had a little initiative. -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Mon, 22 Aug 1994 21:28:29 -0700 From: Stephen Kearney Subject: How much to charge? XE "How much to charge?"  I've written a reasonably complex application for a company of approx. 40 employees. It's a flight school, and the application streamlines the aircraft scheduling. I've written on it on spec, and perhaps foolishly haven't discussed with them how much money it's worth. So what, roughly should I ask for? As usual, TIA for all the great replies I know I'll get :-> ______________________________________________________ Stephen Kearney : neff123@garnet.berkeley.edu The spheres are in commotion, the elements in harmony! ***MIME mail, please!*** ========================================================================= Date: Mon, 22 Aug 1994 23:38:00 CDT From: Ed Staffin Subject: How much to charge? XE "How much to charge?"  This is almost impossible to answer any other way except to say, charge them whatever you can get. I have no idea what your relationship with this outfit is, but it must be pretty good if you are willing to develop an app without negotiating a cost. Would you do this for me? If so, I guarantee I will keep you busy forever. :-) Anyhow, I have a feeling that now the work is complete, you will have a hard time getting what you think it's worth. Later ... Ed >I've written a reasonably complex application for a company of approx. 40 >employees. It's a flight school, and the application streamlines the >aircraft scheduling. I've written on it on spec, and perhaps foolishly >haven't discussed with them how much money it's worth. > >So what, roughly should I ask for? > >As usual, TIA for all the great replies I know I'll get :-> > >______________________________________________________ >Stephen Kearney : neff123@garnet.berkeley.edu >The spheres are in commotion, the elements in harmony! > ***MIME mail, please!*** > ========================================================================= Date: Tue, 23 Aug 1994 08:28:59 +0300 From: giora drachsler Subject: Hex to Decimal Conversion Question XE "Hex to Decimal Conversion Question"  DP> >Goal: Read a hex digit from a text box and create it's decimal DP> >equivalent. DP> > --------- DP> DP> The following is a routine I wrote for use with QB45/PDS7.1, but DP> it should work with VB as well... DP> DP> FUNCTION Hex2Long& (h$) STATIC DP> hextable$ = "0123456789ABCDEF" DP> hx& = 0 DP> a$ = UCASE$(h$) DP> length = LEN(h$) DP> FOR i = 1 TO length DP> ptr = INSTR(hextable$, MID$(a$, i, 1)) DP> IF ptr THEN hx& = hx& * 16 + ptr - 1 DP> NEXT i DP> Hex2Long& = hx& DP> END FUNCTION DP> DP> HTH, DP> Dean DP> DP> -- DP> Dean Pidgeon DP> dpidgeon@crrel41.crrel.usace.army.mil Try A = "&H" + "HexStr" It will work in PDS as well as VB any version Hope it helps Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Tue, 23 Aug 1994 08:43:44 +0300 From: giora drachsler Subject: *.* FileCopy XE "*.* FileCopy"  Try the following code: Fil$ = DIR$(*.*) do until Fil$ = "" FileCopy Fil$ ..... (see manual for correct syntax) Fil$ = DIR$ loop Hope it helps Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Mon, 22 Aug 1994 15:21:24 +0800 From: Rob Manzanares Subject: 1,2,3*********************integer, print, arra XE "1,2,3*********************integer, print," ys********************************* GREETINGS: SHORT AND BRIEF 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF 30? 2.) WHEN I SAY (printer.print "anything") I must exit to DOS before the job is released. 3.) IS THERE A PERSON WITH A COOL ROUTINE TO PRINT A pre defined ARRAY OF NUMBER HORIZONTALLY? ie 1 2 3 4 5 6 or 2124 2125 2126 ANY IDEAS ARE GOOD IDEAS. THANX LATER. rob@ulsi.com Technical Support ULSI Systems, Inc. San Jose, CA USA yes we make the Math-Co Advanced Math Coprocessor I am happy to entertain ANY support questions about the math coprocessor too! ========================================================================= Date: Tue, 23 Aug 1994 02:18:54 EDT From: Rodney Grant Subject: Question: Get Info from other Apps. Dialog Boxes XE "Question\: Get Info from other Apps. Dialog Boxes"  Message: Question: Get info from other Apps. Dialog Boxes Hello People: Can anyone give any advice on available API calls (or simpler!) that will enable my VB application to read the text (Perhaps an error message) in a Dialog Box posted by another app. The 'other app' is not nessecarily a VB app. I have written the code that will set and wait for the 'foreign' dialog boxes handle to become active, but cant get the info contained in it... For example if the dialog box said 'Error Code 2130' my VB app. could read that string and take a specific action. Is this possible? Thanks in advance for any advise. Rod Grant. ========================================================================= Date: Tue, 23 Aug 1994 10:47:27 GMT From: Pablo Perez Trabado Subject: VBDATA (is also Re : whining) XE "VBDATA (is also Re \: whining)"  Jason Williams asked :>I think I'm behind the power curve here. What's this with VBDATA? What is :>it? IF it's a list, how do you subscribe? Glynn answered: >To subscribe, use the same format as you did for this list, but send it to >VBDATA-L instead. Glynn is right, BUT you wouldn't need to. When he started VBDATA-L, Rick copied to it every subscriber from VISBAS-L. To be sure you're in, send the command: REVIEW VBDATA-L to listserv@tamvm1.tamu.edu HTH P.S.: Having brought to light the name of Rick, I'd also like to strongly thank him for his work in the list, and for all the times he kindly helped me when the little evil dwarfs living in the innards of the listserver decided to have fun on me...Thanks, Rick!. ========================================================================= Pablo Perez Trabado Internet: pablo@sandra.plc.um.es Departamento de Informatica y Sistemas Universidad de Murcia SPAIN ========================================================================= ========================================================================= Date: Tue, 23 Aug 1994 10:38:29 BST From: Mr Craig Poxon Subject: INI files In- XE "INI files"  > > Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName > As String, lpKeyName As Any, lpString As Any, ByVal lplFileName As String) As > Integer > > It should be: > > Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName > As String, ByVal lpKeyName As String, ByVal lpReturnedString As String, ByVal > lpFileName As String) As Integer > > (notice the 2 occurrences of 'ByVal' that were missing in the original) > > p.s. I sent this once before today, but don't think it got through. 1K pardons > if you got it more than once. > I didn't get two copies so no apology necessary. This seems to be a common question and it certainly caught me out the first time. It is actually covered in the FAQ on comp.lang.basic.visual and references a Knowledge Base article which the above is from: Q110826 (DOCERR: GetPrivateProfileString Declaration Incorrect in API) So all you new people out there who are new to the list RTFFAQ ;) but not everyone has access to Usenet News. Is there any way we can get the FAQ regularly posted to this list? It is quite a large document so I know a lot of people won't like that idea and there could be a lot of argument over what is 'regularly'. Somewhere between tw0 to four weeks? What does everyone think? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 23 Aug 1994 10:40:58 BST From: Mr Craig Poxon Subject: jpeg viewer control? In- XE "jpeg viewer control?"  > > > Does anyone know of a public domain/shareware VBX to display a JPEG file? > > > > I'm just prototyping an idea so I'm not ready to purchase a JPEG VBX yet. > > > > There is a DLL called ECJDLL11.* that allows you to view JPEG.. I could > possibly UUENCODE it for ya if ya want... I would be interested in that but you didn't leave an address to email to. Can you UUENCODE one for me please? ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 23 Aug 1994 04:59:59 -0500 From: Tenny Nguty Subject: VISBAS-L Digest - 17 Aug 1994 to 18 Aug 1994 XE "VISBAS-L Digest - 17 Aug 1994 to 18 Aug 1994"  Sign me off please!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!! ========================================================================= Date: Tue, 23 Aug 1994 05:13:49 -0500 From: Tenny Nguty Subject: VISBAS-L Digest - 21 Aug 1994 to 22 Aug 1994 XE "VISBAS-L Digest - 21 Aug 1994 to 22 Aug 1994"  sign me off, please! ========================================================================= Date: Tue, 23 Aug 1994 11:25:43 +0100 From: Chris Harris Subject: your mail In->I tried t XE "your mail" abs and a grid custom control. In my opinion, I eventually found >that the main issue is proportional fonts. Proportional fonts are >unpredictable in size. I tried to set the column widths to accommodate the >largest possible fields and ended up with a very wide unusable listbox. >- - - - - - - - - - >My opinion is: >The sentence from "Proportional" to "size" is false, just use the TextWidth >function and you'll find how many units the text takes. >Let's say that they have a proportional horizontal size (as their name implies) >and that there is no way to start writing at a specific position (in units) in >a list cell. Back on padding with spaces, it is still possible with propfonts: >just use the same functions to calculate how many blanks you need to fill the >space. > > Paolo > >What I said in my answer is personal and my company blah, blah, blah Has anyone tried this? I need to do _EXACTLY_ this thing with a list box, get some strings formatted so that a number of fields in the string line up for each item in the list, while keeping them as single list items. This can be done easily with fixed pitch fonts, but proportional ones muck it up. Problem is, a listbox doesn't have a TextWidth method and the listbox font is not the same as the current font on the enclosing form. Chris Harris ========================================================================= Date: Tue, 23 Aug 1994 06:27:56 -0500 Subject: VBX's XE "VBX's"  Saw the question on JPEG control, and would like to know also, but my real question is where everyone has found to be the BEST and most comprehensive place to locate and download freeware/shareware control VBX's? Doug ========================================================================= Date: Tue, 23 Aug 1994 06:28:44 -0500 Subject: Whining XE "Whining"  Ok guys! No whining here!? Wouldn't hurt if we ALL said THANKS to Rick occassionaly for this FREE, VALUABLE service we benefit from here! TNX! Doug >Rick Huff, Senior Systems Analyst (409) 847-9392 (rick@billnext.tamu.edu) >CIS, Computing and Information Services, Texas A&M University >VISBAS-L, VBDATA-L List Owner ========================================================================= Date: Tue, 23 Aug 1994 08:39:22 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Question: Get Info from other Apps. Dialog Boxes XE "Question\: Get Info from other Apps. Dialog Boxes"  From: NAME: Gerry Hull ADDR: ZKO2-2/M37 To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> You can use the following WinAPI functions to do what you want... Won't show VB declares as I'm sure you have those. Given: hdlg - The handle to the (foreign) dialog box... a. If you can use the SDK program SPY.EXE or equiv., look at the dialog box when active and Get the IDs of the different items in the dialog, then, use hwnd = GetDlgItem(hdlg, ItemID) 'a Windows API function 'to get the handle to the window with the text. 'then, declare a buffer: Dim buffer as String bufffer = String(1024,0) 'and use either x& = SendMessage(hwnd, WM_GETTEXT, Len(buffer), Byval Buffer) buffer = left(buffer,x&) 'buffer contains the text, 'or r% = GetWindowText(hwnd, ByVal Buffer, Len(buffer)) buffer = left(buffer, r%) If you don't know the control IDs for the dialog box (can't find SPY or equiv.) then you can use a GetWindow() loop to find all the children in the dialog box hwnd = GetWindow(hdlg, GW_HWNDFIRST) Do While hwnd <>0 If IsChild(hwnd) then 'do as above to get text endif hwnd = GetWindow(hdlg, GW_HWNDNEXT) Loop ============== Good Luck.... Gerry Hull Consulting Software Engineer Hull Associates ========================= gerry@ha.mv.com hull@xanadu.enet.dec.com ========================= >> Message: >> Question: Get info from other Apps. Dialog Boxes >> Hello People: Can anyone give any advice on available API calls (or >> simpler!) that will enable my VB application to read the text >> (Perhaps an error message) in a Dialog Box posted by another app. >> >> The 'other app' is not nessecarily a VB app. >> >> I have written the code that will set and wait for the 'foreign' >> dialog boxes handle to become active, but cant get the info contained >> in it... >> For example if the dialog box said 'Error Code 2130' my VB app. could >> read that string and take a specific action. >> >> >> Is this possible? >> >> Thanks in advance for any advise. >> Rod Grant. ========================================================================= Date: Tue, 23 Aug 1994 08:44:13 EDT From: Eric Dore Subject: jpeg viewer control? XE "jpeg viewer control?"  > > > On Sun, 21 Aug 1994, Richard Rosenheim wrote: > > > > > Does anyone know of a public domain/shareware VBX to display a JPEG file? > > > > > > I'm just prototyping an idea so I'm not ready to purchase a JPEG VBX yet. > > > > > > > There is a DLL called ECJDLL11.* that allows you to view JPEG.. I could > > possibly UUENCODE it for ya if ya want... > > I would be interested in that but you didn't leave an address to email > to. > > Can you UUENCODE one for me please? > One for me please. Eric Dore Quebec, CANADA edore@cc.drev.dnd.ca ========================================================================= Date: Tue, 23 Aug 1994 07:59:12 CST From: "Wallis, James" Subject: FAQ Posting XE "FAQ Posting"  My opinion is that the FAQ be posted on the first week of each month or mabey every other month. James Wallis Enterprise cc:Mail / Lotus Notes Administrator Internet: jwallis@smtpgwy.ssmhc.com (314) 644-7302 ========================================================================= Date: Tue, 23 Aug 1994 08:56:53 EDT From: Eric Dore Subject: 1,2,3*integer, print, arrays* XE "1,2,3*integer, print, arrays*"  > > GREETINGS: > SHORT AND BRIEF > 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF 30? > 2.) WHEN I SAY (printer.print "anything") I must exit to DOS before the > job is released. Just send a printer.enddoc and the job will print. Eric Dore Quebec, CANADA ========================================================================= Date: Tue, 23 Aug 1994 08:30:49 -0500 From: Brad Freels Subject: 1,2,3*integer, print, arrays* In- XE "1,2,3*integer, print, arrays*"  > > 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF > 30? > > Eric Dore > Quebec, CANADA Use the mod command that VB procides. x mod 30 is 0 if it is divisible by 30 and the remainder if not divisible by 30. Hope this helps. brad ========================================================================= Date: Tue, 23 Aug 1994 08:53:00 -0700 From: "Warford, Craig" Subject: How much to charge? XE "How much to charge?"  >I've written a reasonably complex application for a company of approx. 40 >employees. It's a flight school, and the application streamlines the >aircraft scheduling. I've written on it on spec, and perhaps foolishly >haven't discussed with them how much money it's worth. > >So what, roughly should I ask for? > >As usual, TIA for all the great replies I know I'll get :-> First, justify the cost to them by showing an accounting of the amount of time spent in development. Bill by a reasonable hourly rate and double it to give yourself a profit margin to cover time when you aren't working for anyone. (This is standard procedure for almost all businesses. Besides, you've gotta stay in business, you know...) If you can also sell the program to another company, you can cut the price down by 33% (if you want to.) Two more cuts it by 50%, etc. This makes the program easier to sell with a lower cost. Once your customer understands what you put into the work, they are usually more willing to pay the price. Especially when they realize that it could cost them more to go with someone else. Good luck! Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Tue, 23 Aug 1994 09:13:56 -0500 From: Brad Freels Subject: AppLink # XE "AppLink #"  Due to the massive request for this number, I am posting it through this group instead of to indivdual accounts. Sorry to those who do not need it. The company is called Synergy Technologies. Their number is (802) 878-8514. If you call them, I belive they will send you a demo of their .VBX which is basically their full fledge version only that you can send just 10 characters through the link with their demo. Their full version allows up to 64K of data to be sent through the link! Hope everyone enjoys it as much as I have. By the way, does anyone know how to keep a MDI child form always on top? I have tried using the SetWindowPos api call, but it doesn't seem to work for child windows, just regular windows. It doesn't do me any good to set the parent to always on top because I need a specific child form not the parent. Any help would be greatly appreciated. brad brad@fc.net ========================================================================= Date: Tue, 23 Aug 1994 06:43:49 +0100 From: "Scott R. Loban" Subject: How much to charge? In- XE "How much to charge?"  > employees. It's a flight school, and the application streamlines the > aircraft scheduling. I've written on it on spec, and perhaps foolishly > haven't discussed with them how much money it's worth. > > So what, roughly should I ask for? Is it highly integrated with the prospect's other sub-systems, such as student billing and record-keeping, instructor payroll and scheduling, aircraft maintenance, etc? If not, then consider doing two things. First, use this application as a marketing tool to sell the above-mentioned integration. Second, retain you rights to the application and generalize it for the "flight school market". If this application is already highly integrated (and consequently, client-specific), then you've goofed somewhat . Just bargain hard, and try for full value + reasonable profit + cost of support. Scott R. Loban Internet: scott@edihost.ediss.com EDI Strategic Services CompuServe: 76646,3451 711 E Main #22 Phone: (503) 770-9093 Medford, Oregon USA 97504 Fax: (503) 770-9180 ========================================================================= Date: Tue, 23 Aug 1994 10:08:31 -0400 From: Scott Evans Subject: How much to charge? In- XE "How much to charge?"  > employees. It's a flight school, and the application streamlines the > aircraft scheduling. I've written on it on spec, and perhaps foolishly > haven't discussed with them how much money it's worth. > > So what, roughly should I ask for? Ouch ... tough situation. One thought: keep in mind that you'll probably have to support this software for as long as they use it. So if you ask them for a moderate amount that seems reasonable at the time, you're going to kick yourself in three years when you're trying to fix bugs in code that you can barely remember (unfortunately, I know of what I speak on this one). So either negotiate some kind of ongoing support cost (not bloody likely in small business situations) or explain this to them when you negotiate a price. Good luck! ------------------------------------------------------------------------------ scott evans gse@ocsystems.com -----------------------------self is the universe----------------------------- ========================================================================= Date: Tue, 23 Aug 1994 09:19:01 -0400 From: Ray Porter Organization: UNC Subject: QueryTimeout In- XE "QueryTimeout"  problem. However, at another point in the application I need to use a data control so I can use Crystal Reports to print the results of an ad hoc query. The initial query runs fine using data base objects to load a TrueGrid. However, when I try to use the same query as the RecordSource for a data control to use with Crystal Reports I time out whenever the query exceeds the 1 minute default (it works fine with short, simple queries). Any help will be greatly apprecieated. Thanks, =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- =-=-= Ray Porter Applications Analyst Programmer Administrative Data Processing University of North Carolina at Chapel Hill Phone: 919/966-5878 Fax: 919/962-0900 eMail: lrp.admin@mhs.unc.edu unclrp@uncmvs.oit.unc.edu ========================================================================= Date: Tue, 23 Aug 1994 10:00:50 -0500 Subject: Drawing/Filling /Detecting irregular regions... XE "Drawing/Filling /Detecting irregular regions..."  Well, making bold assumptions here... You already have the areas drawn or you will be drawing the areas with simple line draw commands, which based on your description of quadrilaterals and of only using 4 line segments will be quite simple to do, in any graphic control or on the form itself. If the areas you need to fill are/will all be "bounded" by borders of a particular color, such as black lines. Then, by far, the easiest way to do the "fill" drawing is recursively beginning simply with the "pixel" where the cursor is clicked. For example, in p-code: PaintWhereClicked (X,Y) If Color(X,Y) <> BorderColor Then Paint(X,Y,PaintColor) PaintWhereClicked (X-1,Y) PaintWhereClicked (X,Y-1) PaintWhereClicked (X+1,Y) PaintWhereClicked (X,Y+1) ' Notice, this only recurses to the "above" ' "below" and "right" and "left" locations ' around where was clicked to continue ' painting.... if you want to also insure ' it paints "diagonally" you can simply ' include 2 additional statements to do ' so at (X-1,Y-1) and (X+1,Y+1), however, ' this would require that your lines never ' be such that the painting could "escape" ' through the junction of two lines by ' going diagonally through the intersection ' point. In most cases, the 4 directions ' will more than suffice for painting inside ' a region End If Now, it is a little more complicated, although not difficult, to determine if/which region was clicked in given the endpoints of the four line segments--please send direct e-mail if you need/want more info on that. Hope this helps without going off the track too far for what you were asking! Doug From: "Greenlaw, Russell, SrA LGMPS" Subject: Irregular shape control XE "ular shape control"  I have a map of a neighborhood that I need to be able to click on and fill in the section that I clicked on. Does anyone have any ideas on how this is possible? Is there a VBX for a irregular shape control? We thought of using the API to draw a polygon and using a transparent control on the polygon. Thanks for any help. Russell Greenlaw Gunter Annex, Alabama PS - The shapes are all quadrilaterals so all I need is the ability to draw a shape with four lines. ========================================================================= Date: Tue, 23 Aug 1994 10:04:07 -0500 Subject: C Structs XE "C Structs"  And if your question is actually how to "share" this C struct into a VB program, you will very likely have to "parse" the c source and write it out to a predefined named ASCII .BAS file and then include that into your VB program... PS: Don't include "Paolo" in your program! :) Artur Roberto Lima Rodrigues wrote: I want to write in archive my C struct and read this in my prm VB. How?? struct { char a; int b; int c; char d; } CSTRUCT; - - - - - - - - My opinion is: if your sentence above asked how to declare a C structure in VB, the answer is Type CSTRUCT a as String * 1 b as Integer ... End Type Paolo ========================================================================= Date: Tue, 23 Aug 1994 10:04:28 -0500 Subject: Profile functions XE "Profile functions"  After lots of trial and errors in this area as well, I have finally gotten to the point I just use the following declarations and sample code for doing these particular functions: Declarations: Declare Sub WritePrivateProfileString Lib "Kernel" (ByVal S1 As String, ByVal S2 As String, ByVal S3 As String, ByVal S4 As String) Declare Sub GetPrivateProfileString Lib "Kernel" (ByVal S1 As String, ByVal S2 As String, ByVal S3 As String, ByVal S4 As String, ByVal S5 As Integer, ByVal S5 As String) Samples: WritePrivateProfileString "windows", "run", txtTo & ":\WinLock\WinLock.EXE", txtTo & ":\Windows\Win.INI" WritePrivateProfileString "windows", "ScreenSaveActive", "1", txtTo & ":\Windows\Win.INI" WritePrivateProfileString "windows", "ScreenSaveTimeOut", Str$(Val(txtTime) * 60), txtTo & ":\Windows\Win.INI" WritePrivateProfileString "boot", "ScrnSave.EXE", txtTo & ":\WinLock\WinLock.EXE", txtTo & ":\Windows\System.INI" ========================================================================= Date: Tue, 23 Aug 1994 11:39:40 -0400 From: Stephen Lenz Subject: How much to charge? In- XE "How much to charge?"  your client upon receipt of your fee. Check with a lawyer in your state, and write up a simple contract to ensure you retain said ownership! Steve Lenz slenz@risd.edu On Tue, 23 Aug 1994, Warford, Craig wrote: > >I've written a reasonably complex application for a company of approx. 40 > >employees. It's a flight school, and the application streamlines the > >aircraft scheduling. I've written on it on spec, and perhaps foolishly > >haven't discussed with them how much money it's worth. > > > >So what, roughly should I ask for? > > > >As usual, TIA for all the great replies I know I'll get :-> > > First, justify the cost to them by showing an accounting of the amount of > time spent in development. Bill by a reasonable hourly rate and double it > to give yourself a profit margin to cover time when you aren't working for > anyone. (This is standard procedure for almost all businesses. Besides, > you've gotta stay in business, you know...) If you can also sell the > program to another company, you can cut the price down by 33% (if you want > to.) Two more cuts it by 50%, etc. This makes the program easier to sell > with a lower cost. > > Once your customer understands what you put into the work, they are usually > more willing to pay the price. Especially when they realize that it could > cost them more to go with someone else. > > Good luck! > > Craig Warford > WAR > warford@uthscsa.edu ========================================================================= Date: Tue, 23 Aug 1994 12:14:26 EST From: Jerry Brooks Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  Text item: Text_1 I am caught in the midst of quite a discussion here on the merits of Visual Basic and PowerBuilder. We are trying to determine whether VB has a place in our environment. Tentative guidelines have been drawn, to assist in determining which product will be used, as follows: PowerBuilder: Large, mission-critical apps that access client/server databases Visual Basic: Small, non-critical apps that don't access client/server databases Your comments and opinions please: 1. In which situations is one better than the other, if at all? 2. Are the guidelines stated above accurate? 3. Can/should VB and PB be positioned as competitors? Can they coexist? 4. What are the support issues? Please feel free to respond without limiting your response to these four questions. I need data to support the argument that VB should be an integral part of our business. It would be especially helpful to hear from those who are familiar with both products. Thanks, Jerry Brooks Federal Reserve Board Washington, DC brooksj@frb.gov ========================================================================= Date: Tue, 23 Aug 1994 11:53:05 -0500 From: Jeremy Freed Subject: Extracting summary info from word documents. XE "Extracting summary info from word documents."  I find myself needing to extract values from the summary information fields in a word 2.0 document. For use in a Visual Basic Application. For a given document filename I need to extract the values in each of the summary fields and pass them back to my app. Ideally I would like to avoid running word and calling word basic routines. It would be better if I could extract the information direct from the documents file. I have little idea as to how to go about this. Can anyone help me at all? Ta. Jeremy. C4 TV ========================================================================= Date: Tue, 23 Aug 1994 17:59:35 +0100 From: Chris Harris Subject: Combo Box Change Event In- XE "Combo Box Change Event"  when the style of the box is Dropdown Combo. Is this a known bug or is it just me? IF it is a known bug, what do I do instead? Use the Click event? Chris Harris ========================================================================= Date: Tue, 23 Aug 1994 13:03:45 EST From: Rich Beaudry Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  [stuff deleted] > PowerBuilder: Large, mission-critical apps that access client/server > databases > Visual Basic: Small, non-critical apps that don't access > client/server databases > 1. In which situations is one better than the other, if at all? Well, I don't know much about PowerBuilder (other than what I've read...), but why strap yourself to a framework that is only good for database apps? Suppose you want to do a quick-and-dirty set of utilities for internal use? What if you want to rip off a fast demo? What if you need a NON-database GUI app? I don't know how well PowerBuilder can do that... At my previous job, we had a fight between ObjectView and VB ... VB won out for the following reasons (in no specific order): 1) A "standard" language (BASIC has been around for a LONG time!) 2) Ability to be extended via VBXs and DLLs (Objectview can call DLLs, but we though VB made it easier) 3) Who could write a Windows development enviroment better than M$? (I'm not saying I agree with that :-), but that's what my company thought) 4) Ability to be used for more than just database apps. > 2. Are the guidelines stated above accurate? no, No, NO! VB can and should be used for ANY sized application! The last company I worked for used VB to create a Document Imaging system that had MS SQL Server as a Database, ran on LanMan nets, and hooked to all kinds of cool equipment like M.O. Jukeboxes, high-speed scanners/printers, etc... I have seen database apps of over 200 forms/modules/VBXs, compiled size over 2MB (!) that have been developed in VB! > 3. Can/should VB and PB be positioned as competitors? Can they > coexist? They are definitely competitors ... I don't know if they can coexist ... > 4. What are the support issues? Well, I don't know what PowerBuilder charges for support, but for $195/yr, you can subscribe to M$'s "Developer Network Level I", a CD-ROM with TONS of info on M$'s languages, and programming Windows in general. > Jerry Brooks > brooksj@frb.gov Rich B. Rich_Beaudry@smtplink.infores.com ========================================================================= Date: Tue, 23 Aug 1994 11:08:00 MDT From: Scott Ruckh Subject: Which API to call? XE "Which API to call?"  I have a Window whose tite bar is dynamically changing (non-VB app). I need to send commands to that Window. What API calls will allow me to access that window and send commands to it? Actually once I know how to access that Window I know how to send commands. Thank You for your help. -Scott Ruckh ========================================================================= Date: Tue, 23 Aug 1994 10:15:47 PDT From: Jason Williams Howdy VBr's. I have a project that requires a small word processor on one of the forms that supports bold, underline, and italic. The primary problem that I can't seem to find one that can be appended to a memofield in a database. Any idears....???? LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Tue, 23 Aug 1994 12:21:16 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: How to create form larger than screen during design tim XE "How to create form larger than screen during design tim"  > Is there a way I can "visually" create a form larger than the maximum > screen size? It seems there must be a way to add scroll bars to a form > but I am unable to find any references in the manuals. My application > requires WYSIWYG forms in 8.5x11 and 8.5x14 sizes. I did this once, I simply made a MDI parent, and a MDI child. I set the size of the MDI child in it's form_load to the size I wanted (I was displaying a HUGE bitmap). The MDI parent took care of all the scrolling for me. It was really quite elegant. Hope this helps ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Tue, 23 Aug 1994 13:18:35 EDT From: Eric Dore Subject: Combo Box Change Event XE "Combo Box Change Event"  > I have a Dropdown List style Combo box that fails to generate a Change > event when I select something from it. The event is also not generated > when the style of the box is Dropdown Combo. Is this a known bug or is > it just me? IF it is a known bug, what do I do instead? Use the Click > event? > > Chris Harris > You have answer your question. This is not a bug, because the change event will be triggered only when there is a real change (in the content). Eric Dore Quebec, CANADA ========================================================================= Date: Tue, 23 Aug 1994 14:05:29 PDT From: "Paul Gray (Rho)" Subject: How much to charge? XE "How much to charge?"  The previous suggestion should be well heeded. You are being paid for your time to develope a specific product. The fact you can change that product slightly and sell to others is not a part of the equation. This is excactly how Microsoft continues to prosper. You have built a rock over which profits will flow. Don't let anyone take it away from you, because they will try. If the customer has a problem with this tell them how much it will cost for them to have someone else do it at the minimum market rate of $55.00 per hour. It's not personal, it's business. :))Paul ------------------------------------------------------------------------- Paul.Gray@tpr.vnet.net Transporter Room BBS Charlotte, NC i-paulg@Microsoft.com Microsoft Corporation ------------------------------------------------------------------------ ---------- From: Stephen Lenz To: Multiple recipients of list VISBAS-L Subject: How much to charge? Date: Tuesd XE "How much to charge?" ay, August 23, 1994 11:39AM Absolutely retain ownership of the software! Unless specifically stipulated, you might inadvertantly turn over ownership of the software to your client upon receipt of your fee. Check with a lawyer in your state, and write up a simple contract to ensure you retain said ownership! Steve Lenz slenz@risd.edu On Tue, 23 Aug 1994, Warford, Craig wrote: > >I've written a reasonably complex application for a company of approx. 40 > >employees. It's a flight school, and the application streamlines the > >aircraft scheduling. I've written on it on spec, and perhaps foolishly > >haven't discussed with them how much money it's worth. > > > >So what, roughly should I ask for? > > > >As usual, TIA for all the great replies I know I'll get :-> > > First, justify the cost to them by showing an accounting of the amount of > time spent in development. Bill by a reasonable hourly rate and double it > to give yourself a profit margin to cover time when you aren't working for > anyone. (This is standard procedure for almost all businesses. Besides, > you've gotta stay in business, you know...) If you can also sell the > program to another company, you can cut the price down by 33% (if you want > to.) Two more cuts it by 50%, etc. This makes the program easier to sell > with a lower cost. > > Once your customer understands what you put into the work, they are usually > more willing to pay the price. Especially when they realize that it could > cost them more to go with someone else. > > Good luck! > > Craig Warford > WAR > warford@uthscsa.edu ========================================================================= Date: Tue, 23 Aug 1994 13:09:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Loading Control Arrays dynamicaly XE "Loading Control Arrays dynamicaly"  I am loading controls to a control array dynamicaly and it works good with one exception. I need to load a frame that contains three labels a list box and and button but when I load the frame control none of the child controls go with it. I have tried loading the child controls separately but I can't even get them to show up. Any help would be appreciated. TIA Russell Greenlaw Gunter Annex, Alabama ========================================================================= Date: Tue, 23 Aug 1994 13:19:16 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: jpeg viewer control? XE "jpeg viewer control?"  > There is a DLL called ECJDLL11.* that allows you to view JPEG.. I could > possibly UUENCODE it for ya if ya want... I'd love a copy of that. Maybe you could UUENCODE it to me, or even better yet, put it on a FTP site. Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Tue, 23 Aug 1994 11:25:25 -0700 From: Scott Seligman Subject: jpeg viewer control? In-> > Ther XE "jpeg viewer control?" e is a DLL called ECJDLL11.* that allows you to view JPEG.. I could > > possibly UUENCODE it for ya if ya want... > > I'd love a copy of that. Maybe you could UUENCODE it to me, or even > better yet, put it on a FTP site. > Or even better yet, uuencode it to me and I'll put it on my ftp site... -- Scott `seligman@netcom.com` "Is ThErE aNyBoDy OuT tHeRe?!?" - The Truth Is Out There - (I hope) ========================================================================= Date: Tue, 23 Aug 1994 13:32:30 EDT From: Keith Thiebaud Subject: Graph VBX XE "Graph VBX"  I am in the market for a good Visual Basic Lib that will allow me to create and view statistical graphs. Any recommendations would be greatly appreciated. Keith Thiebaud Ohio Department of Transportation, District 11 ========================================================================= Date: Tue, 23 Aug 1994 14:38:53 EDT From: Chuck Stuart Subject: Loading Control Arra... XE "Loading Control Arra..."  Be sure the child controls were 'drawn' on the frame and not just placed on it. Chuck Mesquite TX ========================================================================= Date: Tue, 23 Aug 1994 14:44:05 EDT From: ken black III Subject: WYSIWYG Printing XE "WYSIWYG Printing"  Does there exist a vbx control that functions as a WYSIWYG viewbox (Call it Vbox) such that all Vbox.print(*****), Vbox.currentx, Vbox.fontsize etc. commands will produce the same screen result as Printer.Print "*****", Printer.currentx, Printer.Fontsize commands? The WYSIWYG word processors vbx's I have seen might represent a solution but they require creation and importing of RTF files. If it doesn't exist, I think there is a grand opportunity for a vbx developer. Or am I just dense when it comes to creating WYSIWYG picture boxes with the basic VB tools? Isn't it hard? Any help would be much appreciated. Thanks. Ken Black Atlanta, GA ========================================================================= Date: Tue, 23 Aug 1994 13:46:00 PDT From: "Greenlaw, Russell, SrA LGMPS" Subject: Loading Control Arra... XE "Loading Control Arra..."  First thing I checked. On further thought I need to be able to tell visual basic the a certain control is a child of another control. Thanks anyway Chuck. Russell Greenlaw ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Loading Control Arra... Date: Tuesd XE "Loading Control Arra..." ay, August 23, 1994 14:38 Be sure the child controls were 'drawn' on the frame and not just placed on it. Chuck Mesquite TX ========================================================================= Date: Tue, 23 Aug 1994 14:54:08 -0400 From: Stephen Lenz Subject: 1,2,3*integer, print, arrays* In- XE "1,2,3*integer, print, arrays*"  Msg$ = "Yes, i IS a multiple of 30" else Msg$ = "No, i NOT a multiple of 30" end if Steve Lenz slenz@risd.edu On Tue, 23 Aug 1994, Eric Dore wrote: > > > > GREETINGS: > > SHORT AND BRIEF > > 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF > 30? > > 2.) WHEN I SAY (printer.print "anything") I must exit to DOS before the > > job is released. > Just send a printer.enddoc and the job will print. > > Eric Dore > Quebec, CANADA ========================================================================= Date: Tue, 23 Aug 1994 12:16:10 PDT From: Bill Vaughn Subject: Extracting summary info from word documents. XE "Extracting summary info from word documents."  Jeremy, You will be doing yourself (and your company) a disservice by trying to decipher the WinWord.DOC format. Executing a WinWord macro and having it return information to VB is not that difficult. I wrote a fairly involved automated FAX management system doing just that. When the format of the .DOC files change from time to time, your app will continue to work if it uses the Macro approach. bv ---------- From: Jeremy Freed To: Multiple recipients of list VISBAS-L Subject: Extracting summary info from word documents. Date: Tuesday XE "cting summary info from word documents." , August 23, 1994 11:53AM I find myself needing to extract values from the summary information fields in a word 2.0 document. For use in a Visual Basic Application. For a given document filename I need to extract the values in each of the summary fields and pass them back to my app. Ideally I would like to avoid running word and calling word basic routines. It would be better if I could extract the information direct from the documents file. I have little idea as to how to go about this. Can anyone help me at all? Ta. Jeremy. C4 TV ========================================================================= Date: Tue, 23 Aug 1994 14:30:00 CDT From: Ed Staffin Subject: Getting physical location of file XE "Getting physical location of file"  Anybody know of a way to get the physical location of a file on disk from within Windows/NT? Any help would be great. Thanks ... Ed ========================================================================= Date: Tue, 23 Aug 1994 12:31:12 PDT From: Bill Vaughn Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  Jerry, I may be out on a limb here (it would not be the first time), but many, many "large" database (as in multiple gigabyte) systems out there depend on the speed, flexibility and most of all, stability, reliability and deterministic behavior of Visual Basic. True, the Microsoft Jet database engine that ships with VB3 is not the answer for all your database needs. It was never intended to be. Using VB as a development platform does not limit you in any way to just Jet (the Access Engine). You can still code in the ODBC API, VBSQL API or use one of the third party DBMS interfaces. You will find, however, that using the ODBC API for Oracle and SQL Server (Microsoft or Sybase) or VBSQL (DBLibrary) for SQL Server is by far the fastest way to get at larger databases. I have taught, consulted for and sold many books to some of the largest and smallest companies in the world -- all of whom are implementing VBSQL or need to understand where VB fits in the MIS-class database development strategy. Just get out on CompuServe and go to the MSSQL alias and ask your question. I'll bet they will tell you that VB (and VBSQL) beats the competition cold when it comes to flexibility and reliability. Opinions expressed are my own. Bill Vaughn -- Apps User Ed Microsoft bv ---------- From: Jerry Brooks To: Multiple recipients of list VISBAS-L Subject: Visual Basic vs PowerBuilder Date: Tuesday XE "l Basic vs PowerBuilder" , August 23, 1994 12:14PM Text item: Text_1 I am caught in the midst of quite a discussion here on the merits of Visual Basic and PowerBuilder. We are trying to determine whether VB has a place in our environment. Tentative guidelines have been drawn, to assist in determining which product will be used, as follows: PowerBuilder: Large, mission-critical apps that access client/server databases Visual Basic: Small, non-critical apps that don't access client/server databases Your comments and opinions please: 1. In which situations is one better than the other, if at all? 2. Are the guidelines stated above accurate? 3. Can/should VB and PB be positioned as competitors? Can they coexist? 4. What are the support issues? Please feel free to respond without limiting your response to these four questions. I need data to support the argument that VB should be an integral part of our business. It would be especially helpful to hear from those who are familiar with both products. Thanks, Jerry Brooks Federal Reserve Board Washington, DC brooksj@frb.gov ========================================================================= Date: Tue, 23 Aug 1994 15:41:43 EDT Comments: Converted from PROFS to RFC822 format by PUMP V2.2X From: "LILI NGUYEN, CACI, INC. - FEDE" Subject: Interrupting a MS/SQL XE "Interrupting a MS/SQL"  Subject: Interrupting a MS/SQL XE "rupting a MS/SQL"  I'm writing an VB application to display several reports from a MS Access Database(about 1M records).For each report, I send a SQL query (a long one) to the database and keep the result on a snapshot, then use that to display the data on a spread (using SPREAD/VBX 2.1). The query takes me at least 15 min. Is there a way to display a gauge to show how much percent of the query is done or to allow user at this point do something else while waiting for the result of the query? Could someone help, please. Thank you. ************************ * HAVE A NICE DAY * ************************ ========================================================================= Date: Tue, 23 Aug 1994 15:20:32 -0500 From: Helen O'Boyle Subject: Informix C-ISAM via ODBC? XE "Informix C-ISAM via ODBC?"  Is there an ODBC driver that allows talking to Informix C-ISAM files? How about HP Vision files? [ Yes, the legacy folks have discovered VB! ] Thanks. -- * Helen * ========================================================================= Date: Tue, 23 Aug 1994 13:36:10 PST From: Mark R Johnston Subject: Combo Box Change Event XE "Combo Box Change Event"  Chris, The following is copied directly from the VB help file for the Change event: Combo box changes the text in the text box portion of the control. Occurs only if the Style property is 0 (Dropdown Combo) or 1 (Simple Combo) and the user changes the text or you change the Text property from code. The Click event (or some combination of Click and Change) seems to be the event you are looking for. HTH, Mark Johnston Pacific NW Laboratory Ft. Lewis, WA email: johnston@lewis-gw1.army.mil ========================== Original Message Follows: =========================== I have a Dropdown List style Combo box that fails to generate a Change event when I select something from it. The event is also not generated when the style of the box is Dropdown Combo. Is this a known bug or is it just me? IF it is a known bug, what do I do instead? Use the Click event? Chris Harris ========================================================================= Date: Tue, 23 Aug 1994 17:24:30 EDT From: Dena Engstrom Subject: Interrupting a MS/SQL XE "Interrupting a MS/SQL"  Lili, I am currently doing this in one of my applications. The query has taken as long as 25 minutes, but it usually runs at around 2-3 minutes, depending on what is asked for. Anyway, the code seems to work regardless of the query: 1. I have a form called 'Info' that has a label on it and an SSPanel (THREED.VBX). The label simply tells the user to 'Please Stand By. Retrieving Records'. I have set the FloodShowPct property on the SSPanel (called 'Pcnt') to True. 2. I set the DataFillEvent property of at least one of the SpreadSheet columns to TRUE. This way you can capture the data as it's going into the spreadsheet. 3. Prior to sending the SQL statement to go get all of the data, I first send a SQL call to get just the count(*) of the rows that will be returned. I then put that value into a Long Variable called RecCnt (this will be used to figure out how often to increment the percentage complete). Once I've got this value, I go ahead and submit the 'real' SQL statement. In the DataFill event of the Spread2.1 Control, I have: Static IncSoFar As Single If Col = 8 Then On Error Resume Next IncSoFar = IncSoFar + (93 / RecCnt) If IncSoFar >= 1 Then InfoFrm.Pcnt.FloodPercent = InfoFrm.Pcnt.FloodPercent + Int(IncSoFar) IncSoFar = IncSoFar - Int(IncSoFar) DoEvents End If On Error GoTo 0 End If The reason that I'm dividing into 93 vice 100 is that I'm using the first 7% of the panel to show status of the upfront things, like getting RecCnt, etc. It just dawned on me that you said you were using a SnapShot. This example is using a hidden data control. Is there a specific reason that you aren't using the data control and the binding features available in the Spread control? The problem with SnapShots is that it first loads the whole data set into memory and then allows you to manipulate it. Anyway, I hope this helps. Excuse the lack of comments. If you have any questions, please feel free to ask. Dena (signature at bottom) >Subject: Interrupting a MS/SQL > XE "rrupting a MS/SQL"  > I'm writing an VB application to display several reports from a MS Access > Database(about 1M records).For each report, I send a SQL query (a long > one) to the database and keep the result on a snapshot, then use that to > display the data on a spread (using SPREAD/VBX 2.1). > The query takes me at least 15 min. Is there a way to display a gauge to show > how much percent of the query is done or to allow user at this point do > something else while waiting for the result of the query? > > Could someone help, please. Thank you. Dena ===================================================== Dena J. Engstrom Email: dena@delfinvb.delfin.com Delfin Systems Phone: (804) 486-5294 Norfolk Operations ===================================================== ========================================================================= Date: Wed, 24 Aug 1994 00:34:57 CEST From: Giovanni Luca Fonti Subject: Printer Paper Size XE "Printer Paper Size"  HI Eric, well hi think that is enough if you pass the &h40& to the flag option..that is: cmdialog1.flags=&h40& cmdialog.action=5 so you could access direct to the printer configuration. Hope this could help you. Bye Luca MC5557@mclink.it ========================================================================= Date: Wed, 24 Aug 1994 00:47:22 CEST From: Giovanni Luca Fonti Subject: 2 Questions On Printer XE "2 Questions On Printer"  HI all over there, i have 2 question about printer...so i am doing an application and i should know how much dpi the printer can print...example: my printer is a 300 dpi (star lc24-20) Canon bubble jet 600 dpi....etcc...i use the "cmdialog" to set up the printer but as i need to print somethings big the same if i choose one printer or another i need to know the dpi...is this possibile in vb? Another question: in my applications i use a graphic, when i have to print it i use a PrintForm method but this is not very nice to see, as the PrintForm routine, first make the graph in black& white then send it to the printer and then repaint the graph....(this is why i setted the property of Printtype on B&W)...can i send the graph to print without making this show on screen?? Thank you very much in advance for the answer. Luca MC5557@mclink.it ========================================================================= Date: Wed, 24 Aug 1994 09:34:32 +0000 From: Kevin Black Subject: How to get: VB Helpwriter onto CICA? XE "How to get\: VB Helpwriter onto CICA?"  Fred, I don't have details on uploading to CICA, but have posted your request to the VB list server. Someone there will know. To those on the list, could someone please provide Fred with the requested info to: fbunn@netcom.com Regards, kevin >I'll upload it very soon. > >BTW, is there a special procedure for uploading to a CICA site? > >How can I go about getting the program description in their file lists? > >Any information you have on this would be helpful! > >Thanks, > >-Fred > >+=========================================================================+ >| Fred Bunn | | >| President, Teletech Systems | VB HelpWriter... | >| | The PowerTool for VB Helpfile creation | | >| fbunn@netcom.com | | >| CIS:72260,2217 | ftp site: "netcom.com" | >| | /ftp/pub/vb_helpwriter | >+=========================================================================+ > ------------------ Kevin Black Computer Services Group Leader BHP Research - Newcastle Laboratories Snail : P.O. Box 188, Wallsend 2287 Tel : +61 49 510434 Fax: +61 49 513740 Internet: kevinb@resntl.bhp.com.au ---------------- ========================================================================= Date: Tue, 23 Aug 1994 16:25:00 PDT From: Mark Allen Subject: Floating Toolbar in MDI App? XE "Floating Toolbar in MDI App?"  Has anyone written a MDI application that includes a floating toolbar? I can get the toolbar to float but it does not stay on top. What do I need to do to fix this? Thanks. ========================================================================= Date: Wed, 24 Aug 1994 09:37:02 +0008 From: "David L. Bergart" Subject: VBDATA list XE "VBDATA list"  >To subscribe, use the same format as you did for this list, but send it to >VBDATA-L instead. NO! NO! NO! Send it to LISTSERV@tamvm1.tamu.edu, not to VBDATA-L. If you send it to VBDATA-L, it will post to the list. You want to talk to the listserver. David ____D__a__v__i__d_____B__e__r__g__a__r__t___________________________________ bodafu@ccvax.sinica.edu.tw ========================================================================= Date: Tue, 23 Aug 1994 21:03:51 EDT From: Dan Shookowsky Subject: 1,2,3*integer, print, arrays* In-> > GRE XE "1,2,3*integer, print, arrays*" ETINGS: > > SHORT AND BRIEF > > 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF > 30? > > 2.) WHEN I SAY (printer.print "anything") I must exit to DOS before the > > job is released. > Just send a printer.enddoc and the job will print. > > Eric Dore > Quebec, CANADA > try: if x% MOD 30 = 0 then -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 23 Aug 1994 21:06:40 EDT From: Dan Shookowsky Subject: Combo Box Change Event In- XE "Combo Box Change Event"  > event when I select something from it. The event is also not generated > when the style of the box is Dropdown Combo. Is this a known bug or is > it just me? IF it is a known bug, what do I do instead? Use the Click > event? > > Chris Harris > The change event only occurs when the user types in the text box portion of the combo (A combo box is actually 2 logical control - text box and list) If you need to perform an action that is dependent on a combo box selection the click or lostfocus events are what you're looking for. -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Tue, 23 Aug 1994 22:22:54 -0400 From: Nadim El-fata Subject: Error Handler XE "Error Handler"  > Hi VBers... > I am kind of wondering what method to use to trap errors > in VB. I don't really like the way we have to add ON ERROR... > in every function. > > Any suggestions? > > Lately one VBer (Chuck Stuart) suggested an idle loop for > such a thing. I tried to follow his method but still didn't > get it to work. Hope you can detail this Chuck. > > Thanks to all in advance! > -- > > > >>Nadim > zick@cim.mcgill.ca > ========================================================================= Date: Tue, 23 Aug 1994 22:08:10 CDT From: Peter Steadson Subject: Crystal Reports Bug Fix XE "Crystal Reports Bug Fix"  FR: Peter Steadson Crystal Reports Bug Fix I understand there is a file CR4VBF.ZIP bug fix out there somewhere, but I am unable to find it. Can some kind folk :) out there point me in the right direction :)) Thanks, Peter ACSR@MSG.TI.COM Texas Instruments Australia ========================================================================= Date: Tue, 23 Aug 1994 22:27:16 -0500 From: Brad Freels Subject: 1,2,3, Integer, print, arrays* (fwd) XE "1,2,3, Integer, print, arrays* (fwd)"  On Tue, 23 Aug 1994, Eric Dore wrote: > > > > 1.) HOW WOULD ONE ESTABLISH WHETHER OR NOT A GIVEN INTEGER IS A MULTIPLE OF > 30? > > Eric Dore > Quebec, CANADA Use the mod command that VB procides. x mod 30 is 0 if it is divisible by 30 and the remainder if not divisible by 30. Hope this helps. brad ========================================================================= Date: Tue, 23 Aug 1994 22:30:58 -0500 From: Brad Freels Subject: AppLink XE "AppLink"  Due to the massive request for this number, I am posting it through this group instead of to indivdual accounts. Sorry to those who do not need it. The company is called Synergy Technologies. Their number is (802) 878-8514. If you call them, I belive they will send you a demo of their .VBX which is basically their full fledge version only that you can send just 10 characters through the link. Their full version allows up to 64K of data to be sent through the link! Hope everyone enjoys it as much as I have. By the way, does anyone know how to keep a MDI child form always on top? I have tried using the SetWindowPos api call, but it doesn't seem to work for child windows, just regular windows. It doesn't do me any good to set the parent to always on top because I need a specific child form not the parent. Any help would be greatly appreciated. brad brad@fc.net ========================================================================= Date: Wed, 24 Aug 1994 11:50:13 WST From: Chris Chillidog Chelliah Subject: Error Handler In-> > H XE "Error Handler" i VBers... > > I am kind of wondering what method to use to trap errors > > in VB. I don't really like the way we have to add ON ERROR... > > in every function. > > > > Any suggestions? > > > > Lately one VBer (Chuck Stuart) suggested an idle loop for > > such a thing. I tried to follow his method but still didn't > > get it to work. Hope you can detail this Chuck. I'm new to this group and missed Chuck's original post...but this is precissely what is bothering me at the moment. Any ideas or code would be grately appreciated! __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Western Australia Phone: (091) 43 4523 *_.--._/ FAX: (091) 43 4798 v ========================================================================= Date: Wed, 24 Aug 1994 00:05:41 -0400 From: Tim King Subject: Visual Basic vs PowerBuilder In- XE "Visual Basic vs PowerBuilder"  > I am caught in the midst of quite a discussion here on the merits of > Visual Basic and PowerBuilder. We are trying to determine whether VB > has a place in our environment. I've been using VB as a database front end since the release of 3.0. I've experienced no performance problems with rather large ODBC back ends. You must carefully tune your SQL, your database, and your hardware as you would with any other database applications. I've recently been looking at Powerbuilder Desktop 3.0a. Once you are over the learning curve, you can get a front end up and running faster with PB, but you loose some of the flexibility that you have with VB. PB is better suited to team development than VB. The PB IDE (at least the desktop version) is still unstable, lots of GPFs, but the compiled modules seem to run fine. You might want to check out the comp.soft-sys.powerbuilder Usenet group. My philosophy is to learn as many tools as possible and use whatever is best suited to the task at hand. -- Timothy King tcking@usit.net ========================================================================= Date: Tue, 23 Aug 1994 16:39:00 PDT From: Mark Allen Subject: Scrolling Text box? XE "Scrolling Text box?"  I have a list box that can be scrolled horizontally/vertically and has the column titles included across the top of the list. When I scroll vertically the column headings scroll off the screen. Is there anyway to make these fixed vertically and scroll horizontally? What work arounds have other people used for this? Thanks in advance. ========================================================================= Date: Wed, 24 Aug 1994 06:48:48 CEST From: Nicola Brion Subject: 1,2,3*integer, print XE "1,2,3*integer, print"  >> If i / 30 = int(i / 30) then >> Msg$ = "Yes, i IS a multiple of 30" >> else >> Msg$ = "No, i NOT a multiple of 30" >> end if What's about changing the first line to if i mod 30 then This should be faster (just an operation instead of three....) Obelix ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Tue, 23 Aug 1994 23:28:32 -0700 From: Richard Rosenheim Subject: Combo Box Change Eve XE "Combo Box Change Eve"  -=> Quoting C.harris@esg.maff.gov.uk to Multiple Recipients Of Li <=- C.> I have a Dropdown List style Combo box that fails to generate a Change C.> event when I select something from it. The event is also not generated C.> when the style of the box is Dropdown Combo. Is this a known bug or is C.> it just me? IF it is a known bug, what do I do instead? Use the Click C.> event? According to the manual, the Change event only applies to the Dropdown and Simple Combos. In addition, the event is only triggered if the user changes the text or the Text property is changed via code. I would suggest that you use Click event. You probably also want to check for the arrow keys in the KeyUp event too. Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Wed, 24 Aug 1994 08:29:00 CET From: Titov Pavel Subject: ??? XE "???"  Try AllText VBX. You can download it from an FTP site (don't remember which one) or contact producing company via 71201.1075@compuserve.com --- titov@nepo1.iaea.or.at ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Date: Tuesday, August 23, 1994 10:15AM Howdy VBr's. I have a project that requires a small word processor on one of the forms that supports bold, underline, and italic. The primary problem that I can't seem to find one that can be appended to a memofield in a database. Any idears....???? LCpl Jason Williams 1st Marine Division Camp Pendleton, CA ========================================================================= Date: Wed, 24 Aug 1994 12:34:03 +1000 From: Herman Mansur Subject: regist control XE "regist control"  regist control Hi all, Id like to know if there is a Dll or VBX for encryp routines and code control for registration in ini files etc.(I've seen this subject copule weeks ago, but I can't find the msgs about it) Any help will be much apreciated ========================================================================= Date: Wed, 24 Aug 1994 09:50:24 +0300 From: giora drachsler Subject: Message Parsing XE "Message Parsing"  PL> I am working on an medical office system that will need to parse PL> out messages received in a standard format called HL7. This PL> format is a variable length variable content message that is PL> composed of few-to-many character deliminated segments. PL> PL> 1. Has anyone implemented such a message parser? PL> 2. Do you have any sense as to whether or not a VB subroutine PL> will be fast enough to parse up to several thousand byte messages PL> into data elements? 3. What would you use to parse out these PL> messages? PL> PL> Paul Levit PL> PL> plevit@welchlink.welch.jhu.edu VB has a full range of string manipulation commands. I am not familiar with HL7, but if you'll send me some sample text I might help you. Giora Drachsler Hebrew University Jerusalem, Israel Giora@SHUM.cc.huji.ac.il ========================================================================= Date: Wed, 24 Aug 1994 00:27:57 -0700 From: Ken Feliciano Subject: Activating VB App from MS Office Toolbar XE "Activating VB App from MS Office Toolbar"  I have a VB application in the MS Office Toolbar (MSOT). I would like it to open if it is not already loaded, or Restore from minimized if already loaded. Using FindWindow works great when launching from Program Manager or File Manager, but MSOT seems to check first and doesn't try to load a new instance. This sounds great in practice, but if my application is minimized (which I like) it stays minimized. If you Ctrl-Click on MSOT it does try to load a new instance and everything works as advertised. I'd rather not have to have my users remember to press Ctrl just for my applications! Plus! Everything works fine in development mode! Please tell me how to have an application Restore from minimized when using MSOT. TIA -------- Ken Feliciano - koa@shell.portal.com -------------------------- ========================================================================= Date: Wed, 24 Aug 1994 09:02:00 PDT From: Adrian Crossley x36 Subject: Report Generators XE "Report Generators"  Hi Can anybody tell me what Borland ReportSmith is like (version 2 i think it's in now)? A friend of mine is hitting some anoying limitations with crystal reports and is looking for an alternative. Please, any other report writing products that are worth using? Ade adrianc@hesa.ac.uk ========================================================================= Date: Wed, 24 Aug 1994 17:11:00 PDT From: "Wallace, Glynn W." Subject: VBDATA list XE "VBDATA list"  Whoops! My bad. Sorry.... Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: VBDATA list Date: Wedn XE "VBDATA list" esday, August 24, 1994 09:37 >To subscribe, use the same format as you did for this list, but send it to >VBDATA-L instead. NO! NO! NO! Send it to LISTSERV@tamvm1.tamu.edu, not to VBDATA-L. If you send it to VBDATA-L, it will post to the list. You want to talk to the listserver. David ____D__a__v__i__d_____B__e__r__g__a__r__t___________________________________ bodafu@ccvax.sinica.edu.tw ========================================================================= Date: Wed, 24 Aug 1994 10:26:45 GMT+0100 From: Per Agren Subject: WYSIWYG Printing XE "WYSIWYG Printing"  > From: ken black III > Subject: WYSIWYG Printing XE "WYSIWYG Printing"  > Does there exist a vbx control that functions as a WYSIWYG viewbox (Call it > Vbox) such that all Vbox.print(*****), Vbox.currentx, Vbox.fontsize etc. > commands will produce the same screen result as Printer.Print "*****", > Printer.currentx, Printer.Fontsize commands? > > The WYSIWYG word processors vbx's I have seen might represent a solution but > they require creation and importing of RTF files. > > If it doesn't exist, I think there is a grand opportunity for a vbx > developer. > > Or am I just dense when it comes to creating WYSIWYG picture boxes with the > basic VB tools? Isn't it hard? > > Any help would be much appreciated. > > Thanks. > > Ken Black > Atlanta, GA There was an article/code samples on the subject in Visual Basic Programmers journal. I think it was the may/june issue. With that code you have to replace the relatively simple VB print method for API function calls, unfortunately. Per Agren System manager Stockholm university library p_agren@sub.su.se ========================================================================= Date: Wed, 24 Aug 1994 13:00:42 +0300 From: Simo Salminen UNSUBSCRIBE Simo Salminen -------------------------------------------------------------------- Simo Salminen University of Turku,Finland Simo.Salminen@utu.fi Phone: +358 21 377663 SISASA@utu.fi ...ooo...ooo...ooo...ooo...ooo... -------------------------------------------------------------------- ========================================================================= Date: Wed, 24 Aug 1994 05:05:38 -0500 From: Ali Hepworth Greetings Fellow VBers, I'm trying to develop a segmented line graph with drag-drop 'hotspots' on the line itself to change the gradient of each segment. (Similar to Corel PHOTO-PAINT's Color/Grey Map). I haven't got much time to investigate the best way of doing this and any help would be greatly appreciated. Thanks Ali hepworth@mutual.co.uk ========================================================================= Date: Wed, 24 Aug 1994 12:09:20 +0200 From: Antony Meadley Subject: Erick Ortega's DATA.UUE XE "Erick Ortega's DATA.UUE"  Some time ago, "MajorBBS: Erick Ortega" wrote: >Hi there folks! >I wrote a few weeks before explaining a problem I've been having with a >little project of mine. It consists of a database application with a >listbox as a search module. That is, the box is filled with the data, >possesses a context sensitive text box that searches as you type. But, >it seems to work sometimes and most of the time gives me a sql error Sorry it took so long, but I eventually got to look at your code: The problem is simple, but I'm not sure what the best cure is. The problem lies in the delimiting of your SQL query. Data1.Recordset.FindFirst "[Church Name]='" & List1.Text & "'" For most of your entries this will work, but when you have a string such as "L'Assomption De Notre-Dame", then the apostrophe after the L acts as a delimiter for the SQL query, hence giving an error for all the text after it. Hope you can find the solution now you know the problem. Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Wed, 24 Aug 1994 06:19:55 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Floating Toolbar in MDI App? XE "Floating Toolbar in MDI App?"  Has anyone written a MDI application that includes a floating toolbar? I can get the toolbar to float but it does not stay on top. What do I need to do to fix this? Thanks. Try using the SetWindowWord API rather than SetParent, despite the fact that (quote) "an application should call the SetParent function, not the SetWindowWord function, to change the value in the parent of the child window." Cheers MS. Anyway, using the SetParent Function is fine in non-MDI apps, but you encounter some great redraw problems when you have MDI children floating around as well, which give a really professional look to your applications. Using the SetWindowWord API seems to eliminate these. Al ========================================================================= Date: Wed, 24 Aug 1994 07:28:52 -0400 From: "Scott A. Finke" Subject: 1,2,3*integer, print XE "1,2,3*integer, print"  >>> If i / 30 = int(i / 30) then >>> Msg$ = "Yes, i IS a multiple of 30" >>> else >>> Msg$ = "No, i NOT a multiple of 30" >>> end if >What's about changing the first line to > >if i mod 30 then > >This should be faster (just an operation instead of three....) > >Obelix > Good idea from an efficiency standpoint, but I think you'll have to switch the 'Then' and 'Else' parts of that IF statement around. When you test 'i mod 30' in that manner, if i mod 30 is zero, then the boolean of i mod 30 would be False, rather than True. So if i mod 30 is true, then i is NOT divisible by 30. Just so you know... **************************************************************************** Scott Finke sfinke@info.census.gov The opinions expressed do not necessarily reflect the opinions of anyone else. Void where prohibited. Winner pays closing costs. Plus tax, tags and freight. Read prospectus carefully before you invest. **************************************************************************** ========================================================================= Date: Wed, 24 Aug 1994 07:44:55 EDT From: Yu Luo Subject: jpeg viewer control? In- XE "jpeg viewer control?"  > > possibly UUENCODE it for ya if ya want... > > I'd love a copy of that. Maybe you could UUENCODE it to me, or even > better yet, put it on a FTP site. > > Mark > ______________________________________________ > Mark D. Richards > Windows Software Engineer > Hydrosphere Resource Consultants, Inc. > Hydrosphere Data Products, Inc. > 1002 Walnut Suite 200, Boulder, CO 80302 > ______________________________________________ > I would like to have a copy too, if possible. Thanks in advance! Yu "Lo" Luo y.luo@msuacad.morehead-st.edu ========================================================================= Date: Wed, 24 Aug 1994 09:40:01 +3 From: Otto Leal de Brito Organization: Fundacao CAPES Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  > I may be out on a limb here (it would not be the first time), but > many, many "large" database (as in multiple gigabyte) systems out there > depend on the speed, flexibility and most of all, stability, > reliability and deterministic behavior of Visual Basic. True, the > Microsoft Jet database engine that ships with VB3 is not the answer for > all your database needs. It was never intended to be. Using VB as a > development platform does not limit you in any way to just Jet (the > Access Engine). You can still code in the ODBC API, VBSQL API or use > one of the third party DBMS interfaces. You will find, however, that > using the ODBC API for Oracle and SQL Server (Microsoft or Sybase) or > VBSQL (DBLibrary) for SQL Server is by far the fastest way to get at > larger databases. > I have taught, consulted for and sold many books to some of the > largest and smallest companies in the world -- all of whom are > implementing VBSQL or need to understand where VB fits in the MIS-class > database development strategy. Just get out on CompuServe and go to > the MSSQL alias and ask your question. I'll bet they will tell you > that VB (and VBSQL) beats the competition cold when it comes to > flexibility and reliability. I understood, please confirm, that we can use VB3 and have a Client-Server with any kind of DBMS on the server and develop the apps on the workstation accessing data on the server. Is it true ? If possible, I am considering about it. ================================== Otto Leal de Brito Internet: obrito@capes.gov.br fidonet : otto brito @ 4:8061/16 Brasilia, DF BRAZIL ================================== ========================================================================= Date: Wed, 24 Aug 1994 19:11:07 +0700 From: Varadej Wangsuke Subject: SUBSCRIBE XE "SUBSCRIBE"  I want to subscribe you mailing list. ========================================================================= Date: Wed, 24 Aug 1994 08:39:24 -0400 Subject: how to create form large In- XE "how to create form large"  > >> the maximum screen size? It seems there must be a way > >> to add scroll bars to a form but I am unable to find any > >> references in the manuals. > there's a program at ftp.cica.indiana.edu that show how to emulate this by > using a picture and how to scroll this. > > It night be SCROLL.ZIP or VBSCRL.ZIP in the pub/      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghiklmnopqrstuvwxyz{|}~pc/win3/programr/vbasic. > The trick is to use a picture as large as you need and add scrollbar to > 'move' it on the screeen. I've tried it and it works. > Yes, I did try that. The problem was that the code only applies to runtime. I am interested in a way to have scroll bars at design time. I seem to feel the only possibility is via a custom control, and someone has already suggested VBAssist from Sheridan. Not sure if I want to spend the $100 though... Any other suggestions? -John ========================================================================= Date: Wed, 24 Aug 1994 09:10:00 EDT From: Kirk Childs Subject: Floating Toolbar - stay on top XE "Floating Toolbar - stay on top"  ----------------------- Mail item text follows --------------- To: INTERNET--IBMMAIL From: Kirk Childs Distributed Systems Development WORLDSPAN - Atlanta (404) 563-7455 Subject: Floating Toolbar - stay on top >Has anyone XE "ing Toolbar - stay on top"  written a MDI application that includes a floating toolbar? I >can get the toolbar to float but it does not stay on top. What do I need to >do to fix this? In .BAS add this decla Declare Function SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal hWndInse rtAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer , ByVal cy As Integer, ByVal wFlags As Integer) As Integer In .FRM add this to load form routine: wFlags = &H2 Or &H1 Or &H40 Or &H10 wOn_Top = SetWindowPos(dream.hWnd, -1, 0, 0, 0, 0, wFlags) hope this helps...... Internet address: USVV7NH7@IBMMAIL.COM ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ========================================================================= Date: Wed, 24 Aug 1994 09:59:03 EDT From: Chuck Stuart Subject: Error Handler XE "Error Handler"  Let me go back and research this again. Its been awhile. Chuck Mesquite TX ========================================================================= Date: Wed, 24 Aug 1994 10:54:52 -0400 From: Stephen Lenz Subject: Error Handler In- XE "Error Handler"  one subroutine with your error handler there. Just call "FilOpen FilNam$" or whatever you're doing, and let ON ERROR do it's thing. Steve Lenz slenz@risd.edu On Wed, 24 Aug 1994, Chris Chillidog Chelliah wrote: > > > > > Hi VBers... > > > I am kind of wondering what method to use to trap errors > > > in VB. I don't really like the way we have to add ON ERROR... > > > in every function. > > > > > > Any suggestions? > > > > > > Lately one VBer (Chuck Stuart) suggested an idle loop for > > > such a thing. I tried to follow his method but still didn't > > > get it to work. Hope you can detail this Chuck. > > > I'm new to this group and missed Chuck's original post...but this is > precissely what is bothering me at the moment. Any ideas or code would > be grately appreciated! > > __________________________________________________________________________ > chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah > hunk@tartarus.uwa.edu.au / \ Western Australia > Phone: (091) 43 4523 *_.--._/ > FAX: (091) 43 4798 v ========================================================================= Date: Wed, 24 Aug 1994 11:16:15 -0400 From: Mike Prasse Subject: How about an mpeg dll/vbx? XE "How about an mpeg dll/vbx?"  With all the good info about a jpeg dll, I was wondering if anyone knew where an mpeg dll/vbx shareware/freeware might be available? TIA. -- *********************************************************************** * Mike Prasse OCLC Online Computer Library Center * * MC 449 * * 6565 Frantz Rd. * * Dublin, OH 43017-0702 * * (614) 761-5157 prasse@oclc.org * *********************************************************************** ========================================================================= Date: Wed, 24 Aug 1994 11:24:27 EST From: Rich Beaudry Subject: Re[2]: Erick Ortega's DATA.UUE XE "Re[2]\: Erick Ortega's DATA.UUE"  >Sorry it took so long, but I eventually got to look at your code: >The problem is simple, but I'm not sure what the best cure is. >The problem lies in the delimiting of your SQL query. > Data1.Recordset.FindFirst "[Church Name]='" & List1.Text & "'" >For most of your entries this will work, but when you have a string >such as "L'Assomption De Notre-Dame", then the apostrophe after the L >acts as a delimiter for the SQL query, hence giving an error for all the >text after it. >Hope you can find the solution now you know the problem. >Antony >antony.meadley@lo007.ubs.ubs.ch Well, I never looked at DATA.UUE (I never asked for it :-), but I have run into the problem before. They way it was solved was to first call a function to "convert" all of our names before assembling them into a SQL Query. Basically, we wrote a filter to convert all apostrophes (') into some other character. We chose Chr$(255) because all of our data was ASCII, and there would never be data with Chr$(255) in it. Before we assembled our queries, we ran the data names through this filter. When we retreived the data, we ran it through another filter to change all of the Chr$(255) characters back into apostrophes... I can send you the functions if you want ... Rich Rich_Beaudry@smtplink.infores.com ========================================================================= Date: Wed, 24 Aug 1994 08:43:04 -0700 From: Shih Jye Ho Subject: MS Write as MDI Child ? In- XE "MS Write as MDI Child ?"  ========================================================================= Date: Wed, 24 Aug 1994 11:21:29 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Loading Control Arrays dynamicaly XE "Loading Control Arrays dynamicaly"  > I am loading controls to a control array dynamicaly and it works good with > one exception. I need to load a frame that contains three labels a list box > and and button but when I load the frame control none of the child controls > go with it. I have tried loading the child controls separately but I can't > even get them to show up. Any help would be appreciated. You will probably have to set the parent of the controls that should be in the frame to the hWnd of the frame. I had a similar problem once (at my last job), and I ended up using the SetParent API call to do this. Since i don't work there anymore, I don't have access to the code....sorry... Happy Computing Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Wed, 24 Aug 1994 12:29:01 -0400 From: John Hillman Subject: looking for opinions on VBITS XE "looking for opinions on VBITS"  Hi, I'm trying to learn as much as I can about VB, It's new to me but I really like it and would like to program with it F/T. Currently I'm only working temporarily using 123 and Access 2.0. Seminars have been really useful to me so far. I would like anyone's opinions on VBITS, the info I have is general and I plan to go, is it ok for all levels? Did you like it? I would grealty appreciate your opinions, Emailed. TIA John Hillman - Using Access for business, Melville, NY - jhillman@panix.com .. ========================================================================= Date: Wed, 24 Aug 1994 18:26:06 +0100 From: Jonas Ekman Subject: Import & Export ACCESS-data XE "Import & Export ACCESS-data"  Hello, I wonder if there is any simple way to import and export ACCESS 1.1 tables from visual basic 3.0. Can ACCESS's own import/export functions be called ?, or do I have to invent the wheel again :-) ========================================================================= Date: Wed, 24 Aug 1994 11:49:07 -0500 From: "Mark D. Richards" Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Informix C-ISAM via ODBC? XE "Informix C-ISAM via ODBC?"  > Is there an ODBC driver that allows talking to Informix C-ISAM files? > How about HP Vision files? [ Yes, the legacy folks have discovered VB! ] Q+E (Pioneer 919-859-2220) has a set of ODBC drivers, one of which will read Informix files. Check it out, but read the license carefully. I ended up sending my copy back because the licence is not royalty free for distribution with my application. Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Wed, 24 Aug 1994 11:48:00 -0700 From: "Warford, Craig" Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  > Tentative guidelines have been drawn, to assist in determining which > product will be used, as follows: > > PowerBuilder: Large, mission-critical apps that access client/server > databases > Visual Basic: Small, non-critical apps that don't access > client/server databases > > Your comments and opinions please: > I use both VB and PowerBuilder here. Both have distinct advantages and disadvantages. First, let me address your questions. > 1. In which situations is one better than the other, if at all? Generally speaking, PowerBuilder is obviously much better for your mission critical applications. It also fulfills the three prerequisites of object-oriented programming, meaning applications are quicker and quicker to develop as you build a library of objects to reuse. (Although this can manually be done in VB by copying forms around, it's just streamlined in PB.) I also find it difficult to go back and modify existing PB applications. It's very difficult to find where specific code is. In fact, if someone else wrote the program, you may not know the code is there at all, and there is no convenient way to print the entire set of code in such a way as to be able to scan for problems. You get a whole BUNCH of gobbledy-gook to sort through. I find that Visual Basic is far better for building applications which will not be duplicated into other applications later on. Finding and maintaining code in VB is much easier than muddling through the "scripts" in PB. You can't conveniently move from subroutine to subroutine in PB like you can in VB. If you are editing the code for a button, and want to edit the code for another control on the same form, you have to close the script painter, save your changes, then reopen the script painter for the next control. VB coding is much easier. > 2. Are the guidelines stated above accurate? I wouldn't restrict Visual Basic like that. I see no reason why Visual Basic can't be used to access client/server databases. Quick applications can be more easily created and maintained. Example: an employee telephone directory. The data is contained on the server, but you don't need a PB program to get to it. VB would do nicely, and may be even faster to write, easier to update. > 3. Can/should VB and PB be positioned as competitors? Can they coexist? Only on a per-application level should they be considered as competitors. On an institutional level, they should coexist just fine. Don't use PB for technical-type apps, and don't use VB for mission-critical apps which "evolve" into other mission-critical apps. Also, use PB with PVCS (in the Library Painter) when you need to maintain version control, or have multiple programmers on a single project. The Check-in and Check-out features are unbeatable. > 4. What are the support issues? It can be very difficult to go back and maintain someone else's PB application. Since the code is not arranged in an easy-to-read manner, you can really scrw up the code if someone else wrote the program. VB provides a method of printing all the code contiguously, allowing a programmer to scan everything at once. From this standpoint, I have to say I believe VB is easier to support. One further point: the distribution of applications is much easier with Visual Basic. PowerBuilder's deployment mechanism leaves much to be desired. I'm sure this will be improved in short order, but it's something you will have to spend a lot of time getting used to for now. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Wed, 24 Aug 1994 12:55:50 -0400 From: Shanti Ronda Subject: Read Only Database Error XE "Read Only Database Error"  I have a VB application trying to modify an Access data. The database is on the network with read/write rights. If I try to modify the database from Access, it works fine. But from my VB application it errors that the database is readonly. Any pointers? My code goes like this dim db as database dim tbl as table set db = opendatabase("f:\apps\access20\shared\test.mdb", false, false) set tbl = db.opentable("ENROLLMENTS") tbl.AddNew Here is that addnew, the error occurs. Thanks in advance. - Srini Karri ========================================================================= Date: Wed, 24 Aug 1994 11:52:00 -0700 From: "Warford, Craig" Subject: Running MWBACKUP... XE "Running MWBACKUP..."  I have an application that needs to run MWBACKUP, and prevent the user from doing anything else in the application until MWBACKUP is finished. I can launch the application using WinExec, which returns the instance handle. But I can't seem to find a way to detect if MWBACKUP is running or has finished. Any suggestions? Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Wed, 24 Aug 1994 13:12:04 EDT From: "Ted E. Wagner" Subject: WnetGetCachePassword XE "WnetGetCachePassword"  Hello all, A call for help. I have a small app that I use to make my network connections on startup in Win for Workgrp 3.11. I wrote the app with vb and use WnetAddConnection function calls to connect to the servers. I would like to avoid prompting the user for his password after he just got finished typing it into the WFWG logon prompt. So, I found this function WnetGetCachedPassword documented in the WFWG SDK help file. Apparently this function lives in the WFWNET.DRV file. When I try to use it I get a GPF in WFWNET.DRV. Has anyone else used this function? Below is a sample of my declaration and a sample call. Declare Function WNetGetCachedPassword Lib "WFWNET.DRV" (ByVal pbResource$, ByVal cbResource%, ByVal pbPassword$, ByVal pcbPassword%, ByVal nType%) As Integer Dim wgrp$, wpass$, lwgrp%, lpass%, ntype%, result% wgrp$ = "MIS" wpass$ = String$(2048, 32) lpass% = Len(wpass$) lwgrp% = Len(wgrp$) ntype% = 1 result% = WNetGetCachedPassword(wgrp$, lwgrp%, wpass$, lpass%, ntype%) The program bombs at the call to the function? thanks, ted wagnerte@ttown.apci.com ========================================================================= Date: Wed, 24 Aug 1994 12:13:14 -0500 From: Brad Freels Subject: Floating Toolbar - stay on top In- XE "Floating Toolbar - stay on top"  > > To: INTERNET--IBMMAIL > > From: Kirk Childs > Distributed Systems Development > WORLDSPAN - Atlanta (404) 563-7455 > Subject: Floating Toolbar - stay on top > >Has anyon XE "ating Toolbar - stay on top" e written a MDI application that includes a floating toolbar? I > >can get the toolbar to float but it does not stay on top. What do I need to > >do to fix this? > In .BAS add this decla > Declare Function SetWindowPos Lib "User" (ByVal hWnd As Integer, ByVal hWndInse > rtAfter As Integer, ByVal X As Integer, ByVal Y As Integer, ByVal cx As Integer > , ByVal cy As Integer, ByVal wFlags As Integer) As Integer > In .FRM add this to load form routine: > wFlags = &H2 Or &H1 Or &H40 Or &H10 > wOn_Top = SetWindowPos(dream.hWnd, -1, 0, 0, 0, 0, wFlags) > hope this helps...... > > Internet address: USVV7NH7@IBMMAIL.COM > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I have tried this, and it will not work for an MDI child form. I do not know why. I have yet tot try SetWindowWord, someone suggested this might work, but SetWindowPos only seems to work for non-MDI forms brad brad@fc.net ========================================================================= Date: Wed, 24 Aug 1994 12:35:51 -0500 From: Shannon Thornton Subject: Crystal Reports Question XE "Crystal Reports Question"  I'm trying to setup a report using Crystal Reports that pulls data from about 10 different tables in two separate MDBs. The report is very narrative. Some of the tables have one-to-one relationships, while some have one-to-many relationships. For the one-to-manys, we want a list of the information. For example: Project: Description: <Memo> Problem: <Memo> Milestones: <Name> <Date> <Name> <Date> . . . . Products: <Name> <Date> <Name> <Date> . . . . Technology Transfer: <Memo> Can Crystal Reports do this? Is seems like it can, but I've been unable to get the file links to work when they involve more than one field. I have four fields that form the primary key in the Project table and the Milestones table, but I don't get any results on my report. I'm kinda stumped b/c I've tried many different things, but never get data if the links have more than one field. Anybody got ideas or pointers to better references than the small sections in the Programmer's Book 2? TIA +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include <std.disclaimer> : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ ========================================================================= Date: Wed, 24 Aug 1994 12:45:18 -0400 From: Dean Pidgeon <dpidgeon@CRREL41.CRREL.USACE.ARMY.MIL> Subject: Running MWBACKUP... XE "Running MWBACKUP..."  >I have an application that needs to run MWBACKUP, and prevent the user from >doing anything else in the application until MWBACKUP is finished. I can >launch the application using WinExec, which returns the instance handle. > But I can't seem to find a way to detect if MWBACKUP is running or has >finished. Any suggestions? Declare Function GetModuleUsage% Lib "Kernel" (ByVal hModule%) x% = Shell("MWBACKUP.EXE", 1) ' Start MWBackUp. While GetModuleUsage(x%) > 0 ' Has MWBackUp finished? z% = DoEvents() ' If not, yield to Windows. Wend MsgBox "Windows Backup just terminated", 64 HTH, Dean -- Dean Pidgeon dpidgeon@crrel41.crrel.usace.army.mil ========================================================================= Date: Wed, 24 Aug 1994 12:43:36 EDT From: Spencer Wood <Spencer=Wood%DSM%D-05@ODOT.DOT.OHIO.GOV> Subject: Crystal Reports Question XE "Crystal Reports Question"  Hate to say it, But, "May for Force Be With You".... From what I've seen Crystal has a HARD time doing some complex Join's and Hard calculations......Sometimes to get around the limit we have to create a Temp table having the results in the program, use crystal to display the information, then delete the table...It's pretty ugly, but.. +============================================================================+ | | | | Spencer Wood | "It Is Only When You | | Ohio Department Of Transportation, District 5 | Need To Knock On Wood | | | Wood That You Realize | | E-MAIL: | That The World Is | | | Entirely Made Up Of | | PROFS/OV - D05SW2 | Aluminum And Plastic" | | Banyan - Spencer Wood@DSM@D-05 | | | Internet - Spencer=Wood%DSM%D-05@ODOT.DOT.OHIO.GOV| -Author Unknown | | | | +============================================================================+ ========================================================================= Date: Wed, 24 Aug 1994 14:55:20 +3 From: Otto Leal de Brito <OBRITO@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  Hi Craig, with this your information: > One further point: the distribution of applications is much easier > with Visual Basic. PowerBuilder's deployment mechanism leaves much to be > desired. I'm sure this will be improved in short order, but it's something > you will have to spend a lot of time getting used to for now. I understand I can create and distribute my executable app easily with VB than PB, buy how about licence or royalty for that, is there any ? How about the DataBase, normally with your app goes a "run time" of the DataBase manager ? I am considering to choose one of them (VBxPB) Thank you. ================================== Otto Leal de Brito Internet: obrito@capes.gov.br fidonet : otto brito @ 4:8061/16 Brasilia, DF BRAZIL ================================== ========================================================================= Date: Wed, 24 Aug 1994 13:55:07 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Erick Ortega's DATA.UUE XE "Erick Ortega's DATA.UUE"  From: NAME: Gerry Hull TEL: DTN 381-0730 - (603) 881-0730 ADDR: ZKO2-2/M37 <HULL@AM@XANADU@ADD> To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> See Below... >> Some time ago, "MajorBBS: Erick Ortega" <erickpcz@WBB.COM> >> wrote: >> >Hi there folks! >> >I wrote a few weeks before explaining a problem I've been having with a >> >little project of mine. It consists of a database application with a >> >listbox as a search module. That is, the box is filled with the data, >> >possesses a context sensitive text box that searches as you type. But, >> >it seems to work sometimes and most of the time gives me a sql error >> >> Sorry it took so long, but I eventually got to look at your code: >> >> The problem is simple, but I'm not sure what the best cure is. >> >> The problem lies in the delimiting of your SQL query. >> >> Data1.Recordset.FindFirst "[Church Name]='" & List1.Text & "'" >> >> For most of your entries this will work, but when you have a string >> such as "L'Assomption De Notre-Dame", then the apostrophe after the L >> acts as a delimiter for the SQL query, hence giving an error for all the >> text after it. >> >> Hope you can find the solution now you know the problem. The solution is to look at the string and double up the quote marks -- "L'Assomption De Notre-Dame" becomes "L''Assomption De Notre-Dame" and the SQL query will work fine. Gerry gerry@ha.mv.com hull@xanadu.enet.dec.com ========================================================================= Date: Wed, 24 Aug 1994 14:13:16 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: Floating Toolbar... XE "Floating Toolbar..."  SetWindowsPos appliesi to the entire desktop. SetWindowsWord applies to the app from which it is called only. Chuck Mesquite TX ========================================================================= Date: Wed, 24 Aug 1994 15:33:31 +3 From: Otto Leal de Brito <OBRITO@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Vbasic x Powerbuilder XE "Vbasic x Powerbuilder"  Does anybody knows if there exist a user group for PowerBuilder as there exist one for Vbasic ? ================================== Otto Leal de Brito Internet: obrito@capes.gov.br fidonet : otto brito @ 4:8061/16 Brasilia, DF BRAZIL ================================== ========================================================================= Date: Wed, 24 Aug 1994 13:48:33 CDT From: Brian Larson <BL7385@ISOA.SBC.COM> Subject: Crystal Reports Question XE "Crystal Reports Question"  From: Brian Larson Subject: Crystal Reports Question >I'm trying to XE "al Reports Question"  setup a report using Crystal Reports that pulls data from >about 10 different tables in two separate MDBs. The report is very >narrative. Some of the tables have one-to-one relationships, while some >have one-to-many relationships. For the one-to-manys, we want a list of >the information. >Can Crystal Reports do this? Is seems like it can, but I've been unable >to get the file links to work when they involve more than one field. I >have four fields that form the primary key in the Project table and the >>Milestones table, but I don't get any results on my report. I'm kinda >stumped b/c I've tried many different things, but never get data if the >links have more than one field. There is a fix for a problem of joining more than one field in CR. Call Crystal Services' BBS at 604-681-9516. I think the file is called VBFIX.ZIP, but I'm not sure. If you can't find it let me know. The only way I know of to get a better manual, is to upgrade $$ to the new version. I have CR 3.0 Pro and it is a substantial improvement over 2.0 Std (what came with VB). You should get a new CRYSTAL.VBX and documentation on all of the print engine DLL calls which are much more powerful than the VBX. (well, enough of selling CR...) Should this thread be on the VBDATA list? --Brian bl7385@isoa.sbc.com ========================================================================= Date: Wed, 24 Aug 1994 15:41:00 EST From: "LIN, Ling" <llin@LEWINEAST.VHI.COM> Subject: How to put a label control on a picture control XE "How to put a label control on a picture control"  Hello, everyone "HELP ME" ! I try to group couple label controls on a picture box, but apparently, when I do so, the label box will be covered by the picture box!! Is there anyone has any clue about this? Any responses would be appreciated !!!! Ling Lin ========================================================================= Date: Wed, 24 Aug 1994 14:47:47 -0500 From: Shannon Thornton <thornton@APOLLO.WES.ARMY.MIL> Subject: Crystal Reports Question In- XE "Crystal Reports Question"  facility (.mil :-) ), and our phone system will not allow us to call outside of the country. CR is in Canada. I cannot connect to their BBS. Could anyone point me to an FTP site or e-mail me the encoded file to the address listed below? #define PITIFUL_LOOK Off +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ : Shannon Thornton : U.S. Army Corps of Engineers : : InterNet: thornton@apollo.wes.army.mil : Waterways Experiment Station : : #include <std.disclaimer> : Computer Scientist : +-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-+ On Wed, 24 Aug 1994, Brian Larson wrote: > From: Brian Larson > Subject: Crystal Reports Question > >I'm trying t XE "stal Reports Question" o setup a report using Crystal Reports that pulls data from > >about 10 different tables in two separate MDBs. The report is very > >narrative. Some of the tables have one-to-one relationships, while some > >have one-to-many relationships. For the one-to-manys, we want a list of > >the information. > >Can Crystal Reports do this? Is seems like it can, but I've been unable > >to get the file links to work when they involve more than one field. I > >have four fields that form the primary key in the Project table and the > >>Milestones table, but I don't get any results on my report. I'm kinda > >stumped b/c I've tried many different things, but never get data if the > >links have more than one field. > > There is a fix for a problem of joining more than one field in CR. > Call Crystal Services' BBS at 604-681-9516. I think the file is called > VBFIX.ZIP, but I'm not sure. If you can't find it let me know. ^^^^^^^^^ > The only way I know of to get a better manual, is to upgrade $$ to the > new version. I have CR 3.0 Pro and it is a substantial improvement over > 2.0 Std (what came with VB). You should get a new CRYSTAL.VBX and > documentation on all of the print engine DLL calls which are much more > powerful than the VBX. (well, enough of selling CR...) > > Should this thread be on the VBDATA list? > --Brian > bl7385@isoa.sbc.com > ========================================================================= Date: Wed, 24 Aug 1994 13:03:56 -0700 From: Chris Rines <CHRISR@WMCV01.HOSP.GOV.BC.CA> Subject: Crystal Reports Question XE "Crystal Reports Question"  > From: Shannon Thornton <thornton@APOLLO.WES.ARMY.MIL> > > #define PITIFUL_LOOK On > > Does anyone have the VBFIX file mentioned below? I work for a government > facility (.mil :-) ), and our phone system will not allow us to call > outside of the country. CR is in Canada. I cannot connect to their > BBS. Could anyone point me to an FTP site or e-mail me the encoded file > to the address listed below? > > #define PITIFUL_LOOK Off I'll call their BBS tonight. I'm in Victoria, B.C. so it shoudn't be a problem. Chris ========================================================================= Date: Wed, 24 Aug 1994 15:07:00 -0700 From: "Warford, Craig" <WARFORD@UTHSCSA.EDU> Subject: Visual Basic vs PowerBuilder XE "Visual Basic vs PowerBuilder"  >> One further point: the distribution of applications is much easier >> with Visual Basic. PowerBuilder's deployment mechanism leaves much to be >> desired. I'm sure this will be improved in short order, but it's something >> you will have to spend a lot of time getting used to for now. > >I understand I can create and distribute my executable app easily >with VB than PB, buy how about licence or royalty for that, is there any ? >How about the DataBase, normally with your app goes a "run time" of >the DataBase manager ? >I am considering to choose one of them (VBxPB) >Thank you. All of my PowerBuilder development has been for on-campus use, so we haven't really worried about license or royalties of completed apps, but my understanding is that everything that comes WITH PowerBuilder may be distributed royalty-free. As for add-ons that do not come with PowerBuilder, you'll have to check with the vendor who supplies them. We only use the stuff that comes with PB, no third-party add-ons. Craig Warford WAR warford@uthscsa.edu ========================================================================= Date: Wed, 24 Aug 1994 16:23:24 -0400 From: Tony Chryseliou <ANTHONYC@QUEENS.LIB.NY.US> Subject: MS Write as MDI Child ? XE "MS Write as MDI Child ?"  >Is there any way I could run MS Write as a MDI child window >in my MDI application ? (I try to use SetParent API call but not work.) This stunt has already been done by someone on CIS. I forget the details, maybe someone else can fill in the blanks. Sorry I couldn't be of more help, but yes, it can be done. Tony Chryseliou Queens Borough Public Library ========================================================================= Date: Thu, 25 Aug 1994 08:45:46 -1100 From: Phillip Middlemiss <PHILLIPM@TAWA.FRI.CRI.NZ> Subject: Drawing/Filling /Detecting irregular regions... XE "Drawing/Filling /Detecting irregular regions..."  Douglas Jackson said: ________________________________________________ Well, making bold assumptions here... You already have the areas drawn or you will be drawing the areas with simple line draw commands, which based on your description of quadrilaterals and of only using 4 line segments will be quite simple to do, in any graphic control or on the form itself. If the areas you need to fill are/will all be "bounded" by borders of a particular color, such as black lines. Then, by far, the easiest way to do the "fill" drawing is recursively beginning simply with the "pixel" where the cursor is clicked. For example, in p-code: PaintWhereClicked (X,Y) If Color(X,Y) <> BorderColor Then Paint(X,Y,PaintColor) PaintWhereClicked (X-1,Y) PaintWhereClicked (X,Y-1) PaintWhereClicked (X+1,Y) PaintWhereClicked (X,Y+1) ' Notice, this only recurses to the "above" ' "below" and "right" and "left" locations ' around where was clicked to continue ' painting.... if you want to also insure ' it paints "diagonally" you can simply ' include 2 additional statements to do ' so at (X-1,Y-1) and (X+1,Y+1), however, ' this would require that your lines never ' be such that the painting could "escape" ' through the junction of two lines by ' going diagonally through the intersection ' point. In most cases, the 4 directions ' will more than suffice for painting inside ' a region End If Now, it is a little more complicated, although not difficult, to determine if/which region was clicked in given the endpoints of the four line segments--please send direct e-mail if you need/want more info on that. Hope this helps without going off the track too far for what you were asking! Doug From: "Greenlaw, Russell, SrA LGMPS" <rgreenlaw@B868S1.SSC.AF.MIL> Subject: Irregular shape control XE "ular shape control"  I have a map of a neighborhood that I need to be able to click on and fill in the section that I clicked on. Does anyone have any ideas on how this is possible? Is there a VBX for a irregular shape control? We thought of using the API to draw a polygon and using a transparent control on the polygon. Thanks for any help. Russell Greenlaw Gunter Annex, Alabama PS - The shapes are all quadrilaterals so all I need is the ability to draw a shape with four lines. ___________________________________________________________ I say: OUCH! There a couple of fundamental problems with the p-code Douglas suggested. Firstly (if you use this form of a flood fill) rather than checking for the boundary before you stop flood filling, you must check that the current pixel is not the new colour before continuing the recursion. Otherwise the routine does not keep track of where it has been and wil continue add-infinitum :(or atleast until a stack overflow occurs). The p-code looks like this: PaintWhereClicked (X,Y, NewColor, OldColor) If Color(X,Y) = OldColor Then Paint(X,Y,NewColor) PaintWhereClicked (X-1,Y, NewColor, OldColor) PaintWhereClicked (X,Y-1, NewColor, OldColor) PaintWhereClicked (X+1,Y, NewColor, OldColor) PaintWhereClicked (X,Y+1, NewColor, OldColor) End If End Sub This method however is slow, and even with relatively simple areas may take the recurrsion so far that you still get a stack overflow :(depends how big the area is). There are more efficient, yet still fairly simple, methods (such as a region filling based on runs of pixels) that can be used for filling in a region. For more information I suggest a book such as "Compter Graphics", by F.S. Hill Jr. (Macmillan). If you want a more detailed explaination of a method such as region filling, then e-mail me privately. Phil. |-------------------------------------| |Phillip Middlemiss | |PhillipM@tawa.fri.cri.nz | |- - - - - - - - - - - - - - - - - - -| |Meanwhile in a galaxy far far away.. | --------------------------------------- ========================================================================= Date: Wed, 24 Aug 1994 16:48:00 -0400 From: Eric Laverdiere <K386@HEC.CA> Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: Import & Export ACCESS-data XE "Import & Export ACCESS-data"  Well I'm sorry to say you have to reinvent the wheel. The only advantage is that you know ahead of time it's going to be round!!! I haven't found a way to call any access code apart from tables and queries. But by using recordsets and begintrans the speed of it all is quite good. Hope this helps, Eric Laverdiere, Montreal,Canada MIS Masters Degree Student Ecole des Hautes Etudes Commerciales. ========================================================================= Date: Wed, 24 Aug 1994 17:15:00 EDT From: "Willard,Matthew,MP" <WILLARMP@CLVGRP.USACLV.MSNET.BP.COM> Subject: BITMAPS XE "BITMAPS"  VB'ers In Daniel Appleman's book he describes how to load a bitmap with bitblt. I would like to use this with a bitmap that is not a stock bitmap. I'm trying to use LoadBitmpaByString to load the bitmap. It is not working and I'm not sure why. There are two parameters hInstance - "Module handle for DLL or handle that specifies the executable file that contains the bitmap" What should I use here. In Daniel's example, he is loading a stock bitmap so a zero is used. Since I'm not using a stock bitmap what do I use? The second parameter is lpBitmapName - "As a string, specifies thename of the bitmap resource to load." I plugged in the name of the bitmap - path included. Is this right? Am I on the right track for placing a bitmap into a picture box (and stretching it?) - I plan using StretchBlt to make it fit the size I would like. Thanks, Matt WILLARMP@CLVGRP.USACLV.MSNET.BP.COM ========================================================================= Date: Wed, 24 Aug 1994 23:25:23 CEST From: Giovanni Luca Fonti <MC5557@MCLINK.IT> Subject: Graph Vbx XE "Graph Vbx"  HI Keith, why don't you use the GRPH.VBX of VB 3.0 Pro?? it's good i thinnk for making that kind of graph. Bye Luca mc5557@mclink.it ========================================================================= Date: Wed, 24 Aug 1994 17:24:19 CST From: Jamel Mindel Ostwald <ostwald.1@TOP.MAGNUS.ACS.OHIO-STATE.EDU> Subject: Pre-1900 Dates XE "Pre-1900 Dates"  Hopefully this is a somewhat simple request. I'm using Excel 5 for Windows as a simple spreadsheet/database for my history thesis. Unfortunately Excel only recognizes date values starting with Dec 31, 1899 (value=0), while my dates are a mere 200 years earlier. I have Visual Basic for Apps and know that it allows dates back to 100 A.D. by accepting negative numbers as well. I would like to enter my dates (e.g. Jan 4, 1701) as a date and have Excel recognize it as a date so that I can easily change the format (e.g. to 1/4/1701) and do calculations on dates (e.g. number of days between Jan 3 and July 2). How can I do this with VBA? I have read through the VBA User's Guide, and looked in several VB books, but while I think I have found functions that might do what I need, I cannot figure out which functions to use together and the correct syntax. Possible useful functions include CVDate(), DateValue(), Format$() but I don't know how to combine them correctly to get what I want. Can anyone provide any assistance? Jamel Ostwald ostwald.1@osu.edu ========================================================================= Date: Wed, 24 Aug 1994 17:31:13 -0400 From: Edward Fields <efields@PSA.TIAC.NET> Subject: FAQ Posting XE "FAQ Posting"  >Date: Tue, 23 Aug 1994 07:59:12 CST >From: "Wallis, James" <jwallis@SMTPGWY.SSMHC.COM> >Subject: FAQ Posting > XE "Posting"  > My opinion is that the FAQ be posted on the first week of each month > or mabey every other month. > from: VISUAL BASIC FOR WINDOWS (VB/Win) Frequently asked Questions & Answers Section IX - B ... You can also have the VB FAQs e-mailed to you by sending a message to "mail-server@rtfm.mit.edu" with ONLY the text send usenet/news.answers/visual-basic-faq/* in the BODY of the message. ... perhaps we should post this pointer every month or so. ========================================================================= Date: Thu, 25 Aug 1994 00:06:02 CEST From: Nicola Brion <MC1920@MCLINK.IT> Subject: how to create form l XE "how to create form l"  >> I am interested in a way to have scroll bars at design time. Soory, but i can't understand why you neeed this. May you explain the prob??? Obelix ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Thu, 25 Aug 1994 00:06:01 CEST From: Nicola Brion <MC1920@MCLINK.IT> Subject: 1,2,3*integer, print XE "1,2,3*integer, print"  >> So if i mod 30 is true, then i is NOT divisible by 30. Just swap line two and four.... :-))) Sorry, but when i wrote, here was 2:00 in the morning. Corect code follow :-))) if i mod 30 then Msg$ = "No, i NOT a multiple of 30" else Msg$ = "Yes, i IS a multiple of 30" end if You were right: I were sleeping :-)))) Byebye Obelix Ps. wow, somebody care about my messages! That's really GREAT!!!! :-)) MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Wed, 24 Aug 1994 19:55:43 EDT From: Dan Shookowsky <shookow@HP800.LASALLE.EDU> Subject: Import & Export ACCESS-data In-> XE "Import & Export ACCESS-data"  > I wonder if there is any simple way to import and export ACCESS 1.1 > tables from visual basic 3.0. Can ACCESS's own import/export functions > be called ?, or do I have to invent the wheel again :-) > Probably using DDE/SENDKEYS would work, you can open up Access and tell it to do what you need. If you had Access 2.0 with OLE 2.0 you might actually be able to include this functionality directly in your proggy -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 24 Aug 1994 19:59:41 EDT From: Dan Shookowsky <shookow@HP800.LASALLE.EDU> Subject: Read Only Database Error In- XE "Read Only Database Error"  > on the network with read/write rights. If I try to modify the database > from Access, it works fine. But from my VB application it errors that > the database is readonly. Any pointers? > > My code goes like this > dim db as database > dim tbl as table > > set db = opendatabase("f:\apps\access20\shared\test.mdb", false, false) > set tbl = db.opentable("ENROLLMENTS") > > tbl.AddNew > > Here is that addnew, the error occurs. > > Thanks in advance. > > - Srini Karri > A dynaset should work fine, I'm not sure about using tables in VB, I usually just stick with DB's, SnapShots (for lookups), and DynaSets (for Updates) -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 24 Aug 1994 20:02:57 EDT From: Dan Shookowsky <shookow@HP800.LASALLE.EDU> Subject: Visual Basic vs PowerBuilder In- XE "Visual Basic vs PowerBuilder"  > > > One further point: the distribution of applications is much easier > > with Visual Basic. PowerBuilder's deployment mechanism leaves much to be > > desired. I'm sure this will be improved in short order, but it's something > > you will have to spend a lot of time getting used to for now. > > I understand I can create and distribute my executable app easily > with VB than PB, buy how about licence or royalty for that, is there any ? > How about the DataBase, normally with your app goes a "run time" of > the DataBase manager ? > I am considering to choose one of them (VBxPB) > Thank you. > ================================== > Otto Leal de Brito > Internet: obrito@capes.gov.br > fidonet : otto brito @ 4:8061/16 > Brasilia, DF BRAZIL > ================================== > If you make it with VB you can distribute it. Royalties only go for Third Party Controls, and there aren't many that ask for royalties. -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Wed, 24 Aug 1994 20:10:39 EDT From: Dan Shookowsky <shookow@HP800.LASALLE.EDU> Subject: Subject: Importing Text (fwd) XE "Subject\: Importing Text (fwd)"  >From: Chun Tzu <ChunTzu@AOL.COM> >Subject: Importing Text > XE "rting Text"  > Is there a better, faster way to import a fixed length text file in a Visual >Basic program with an Access 2.0 Database. I'm Currently using the Open >statement and then extracting the with mid$ then adding them into the Access >Database. The file is quite large about 25,000 to 50,000 lines long and would >be a probably take forever in OLE. >From the MS Knowledge Base: How to Import Text File into Microsoft Access Table Using DDE ID: Q113905 --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, version 3.0 --------------------------------------------------------------------- SUMMARY ======= This article shows you how to implement the built-in TransferText command of Microsoft Access to import data from a text file into a Microsoft Access Table using DDE. This method is faster than the alternate method outlined in the following article in the Microsoft Knowledge Base: ARTICLE-ID: Q103807 TITLE : How to Convert a Text File into a New Access Database MORE INFORMATION ================ The TransferText command is used in Access Basic to import data from a text file into a table. If the table specified doesn't exist, the TransferText command creates the table. If the table does exist, the text file's format must match that of the existing table. The text file can be comma delimited with strings enclosed in quotation marks or it can be of fixed width. The delimiter and fixed width settings can be set up in Microsoft Access by choosing Imp/Exp Setup from the File menu. For more information on these settings, please consult the Microsoft Access Help menu. Step-by-Step Example -------------------- 1. Using Notepad, create the following file to import and save it as C:\ACCESS\SHIPPERS.TXT: 4,"world traveller" 5,"frazier freight" 6,"longfellow hauling" 7,"toolsmith shipping" 2. Start Microsoft Access and open the C:\ACCESS\NWIND.MDB database. 3. Start a new project in Visual Basic (ALT, F, N). Form1 is created by default. 4. Place a text box (Text1) and a command button (Command1) on the form. 5. Add the following code to the click event of Command1: Sub Command1_Click () Dim cmd As String ' Holds DDEExecute command. On Error GoTo DDEerr ' Error trap. ' Make sure there isn't an existing DDE conversation: text1.LinkMode = 0 ' Set up the DDE link: text1.LinkTopic = "MSACCESS|C:\ACCESS\NWIND.MDB" text1.LinkItem = "All" text1.LinkMode = 2 ' DDEExecute command to import text file into Microsoft Access Table: cmd = "[TransferText ,,'Shippers','C:\ACCESS\SHIPPERS.TXT']" ' Execute the TransferText command and close the DDE link: text1.LinkExecute cmd text1.LinkMode = 0 MsgBox "Transfer OK" Exit Sub DDEerr: ' An error has occured. MsgBox Error MsgBox "Error in transfer." Exit Sub End Sub 6. Run the Visual Basic program and click the command button to import the information in the text file into the Shippers table. A message box will be displayed showing you whether or not the transfer was successful. -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 25 Aug 1994 13:43:23 +0800 From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Function Return values XE "Function Return values"  Hiya, Anybody know how to return non-standard data types from a function. ie. function OpenTableAsDynaset (db as database, strTable as string) as dynaset set OpenTableAsDynaset = db.createdynaset( strTable) End function I've also tried : sub OpenTableAsDynaset (db as database, strTable as string, dstReturn as dynaset) set dstReturn = db.createdynaset (strTable ) end sub I wan to do this, so that I only need to define one error handler for opening tables, etc...my application opens and closes a lot of tables and seting errorhandles each time is a real bother! I'm using module-scope variables (ie. global to the module) at the moment but don't think that its very elegant! Any other ideas most welcome! Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Thu, 25 Aug 1994 13:55:26 +0800 From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: RE : Function Return Values XE "RE \: Function Return Values"  oops!..I think I solved my original problem of function return values. (I was getting "Can't Set Formal Parameter When Setting Object Vars" error messagfe) A solution was found in the MS knowledge base. It is a VB design problem, but article Q105230 gives a workaraound. Basically send in the formal parameter as an array...the rest of the details are in the article...for anybody else interested! Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Thu, 25 Aug 1994 15:35:42 JST From: Rocky Rapson <rapsonr@OG-SCM.KADENA.AF.MIL> Subject: Windows Netware Login XE "Windows Netware Login"  I know this isn't strictly a VB question, but I've seen many messages concerning programming with the Netware interface for VB so maybe I can keep from having to reinvent the wheel. Has anyone developed or know of someone (private or commercial) who has developed a windows Netware login utility? I need one that will execute the users login script, map drives appropriately, etc. Since we're a poor military site :-) we have to share computers among many users, and exiting windows, logging out of Netware, logging in and restarting windows many times each day would be a major PITA and would waste a great deal of time. We're sidestepping this issue by logging the machine's in, instead of individual users, but security is becoming a concern. Any help greatly appreciated. MSgt Rocky Rapson rapsonr@og-scm.kadena.af.mil ========================================================================= Date: Thu, 25 Aug 1994 09:35:00 CET From: Sherwin Mary <sherwin@NEPO1.IAEA.OR.AT> Subject: Text processing over 32k - multiline text boxes XE "Text processing over 32k - multiline text boxes"  Hello VBers- Has anyone done a word-processing like application where the user needs to read in text greater than the 32K limit (for a multiline text box) , edit it, and save into SQL server data base. We are looking for a reliable VBX that breaks this barrier. Any suggestions and experiences are welcome. thanks, Mary Sherwin IAEA sherwin@nepo1.iaea.or.at ========================================================================= Date: Thu, 25 Aug 1994 19:10:53 CST From: Stephen Helps <shelps@MAD.ADELAIDE.EDU.AU> Subject: Couldn't find installable ISAM In- XE "Couldn't find installable ISAM"  is use in my Department. All is well in the VB 3.0 Professional environment but if I make myself an EXE file (from the File menu) and try to run the EXE file thus created I get a Couldn't find installable ISAM message. I can imagine what this means but how do I fix it? The Application setup Wizard won't run either. Something about a User defined error. Any help appreciated. /Rat ========================================================================= Date: Thu, 25 Aug 1994 06:41:04 EDT From: Paolo Marini <Paolo_Marini.LOTUSINT.LOTUS@CRD.LOTUS.COM> Subject: No fonts installed ?! XE "No fonts installed ?!"  Hello wizards, I just tried setting the Action property of the Common Dialog Box object to 4 to get the Font... box where I can choose font settings, but I receive a stupid message like: No font is installed, use Control Panel to add some. I have a dozen TrueType fonts and some ATM, display TT is active and show only TT is not. I tried setting the Flags property too and using some default values for Name, Size ... but still the same. Urgh! What's happening ? Any help appreciated, please cc: to my personal address Paolo ========================================================================= Date: Thu, 25 Aug 1994 11:37:27 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" <S.Z.MORRISON@DUNDEE.AC.UK> Subject: Binary files... In- XE "Binary files..."  strings. I have never actually done this but I THINK it should be possible. Have a look at the MS Keyfax for an article on compiling custom cursors into a DLL for some clies on how to go about this. On Thu, 18 Aug 1994, David Fornalsky wrote: > How can I send data to file so that it's not readable to just anyone > with a text editor? For example, say I want to store some text or settings > for a program in a text file (other than an INI file, my needs go beyond > what an INI file can do for me). How can I make the file so that the text ���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������> can't be readily seen by general users? Isn't there some way to create > a binary file? > The OPEN command AS BINARY doesn't seem to do what I'm looking for. > What have I missed? > > David M. Fornalsky > fornalsky,dave@forum.va.go > ========================================================================= Date: Thu, 25 Aug 1994 12:09:01 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" <S.Z.MORRISON@DUNDEE.AC.UK> Subject: Erick Ortega's DATA.UUE In- XE "Erick Ortega's DATA.UUE"  (Chr$(146)). It looks the much the same on screen in Sans Serif fonts but is not read as a quote mark. On Wed, 24 Aug 1994, Antony Meadley wrote: > Some time ago, "MajorBBS: Erick Ortega" <erickpcz@WBB.COM> > wrote: > >Hi there folks! > >I wrote a few weeks before explaining a problem I've been having with a > >little project of mine. It consists of a database application with a > >listbox as a search module. That is, the box is filled with the data, > >possesses a context sensitive text box that searches as you type. But, > >it seems to work sometimes and most of the time gives me a sql error > > Sorry it took so long, but I eventually got to look at your code: > > The problem is simple, but I'm not sure what the best cure is. > > The problem lies in the delimiting of your SQL query. > > Data1.Recordset.FindFirst "[Church Name]='" & List1.Text & "'" > > For most of your entries this will work, but when you have a string > such as "L'Assomption De Notre-Dame", then the apostrophe after the L > acts as a delimiter for the SQL query, hence giving an error for all the > text after it. > > Hope you can find the solution now you know the problem. > > Antony > > antony.meadley@lo007.ubs.ubs.ch > ========================================================================= Date: Thu, 25 Aug 1994 11:20:26 +0000 Subject: Launch VB App from DOS session XE "Launch VB App from DOS session"  to. VISBAS-L@tamvm1.tamu.edu Hello All, We are using a DOS program launched from Windows which at some point starts a batch file to run a comms. script and then returns to the DOS program. We would like to be able to use Procomm + for Windows for the comms as we already have the scripts. I thought about using a VB program to launch Procomm, wait for the script to run and then return to the DOS session. The problem I haven't yet overcome is starting a Windows app. from a batch file running in a DOS session. Anybody got any ideas? File item: address.txt 26/7/94 8:34 163 Andy Steele Meteorological Office London Rd Bracknell Berks RG12 3UG Tel: +44 (0)344 856984 Fax: +44 (0)344 856967 email: acsteele@email.meto.govt.uk ========================================================================= Date: Thu, 25 Aug 1994 07:35:14 -0400 From: Steve Rego <SREGO%NARVAX@EPAVAX.RTPNC.EPA.GOV> Subject: Photos for screen savers. XE "Photos for screen savers."  Hi everyone, Does anyone know of a place where I can buy or get photos (gifs, tif, or bmp) for a screensaver app. that I made? Thanks! -S ========================================================================= Date: Thu, 25 Aug 1994 06:47:01 -0500 Subject: VB boolean variables XE "VB boolean variables"  I clipped the following section from a list message for an example, no offense intended in its use he DP> ptr = INSTR(hextable$, MID$(a$, i, 1)) DP> IF ptr THEN hx& = hx& * 16 + ptr - 1 Do many people use booleans (in VB vice C) in this matter? I thought I read that this was not dependable to do in VB since VB stores different values for True and False instead of "0 or non-zero"?? Doug ========================================================================= Date: Thu, 25 Aug 1994 06:47:16 -0500 Subject: Ditto XE "Ditto"  Ditto, at least from most of us I'm sure for Rick's work!! >P.S.: Having brought to light the name of Rick, I'd also like to >strongly thank him for his work in the list, and for all the times he >kindly helped me when the little evil dwarfs living in the innards of >the listserver decided to have fun on me...Thanks, Rick!. Doug ========================================================================= Date: Thu, 25 Aug 1994 06:47:25 -0500 Subject: FAQ's F'ly XE "FAQ's F'ly"  Please, NO?! How about sending it out to the users automatically when they subscribe and make it Req'able whenever they want instead of sending to everyone repeatedly? Doug ========================================================================= Date: Thu, 25 Aug 1994 06:47:43 -0500 Subject: Loading Control Arrays dynamicaly XE "Loading Control Arrays dynamicaly"  Without doing more testing or having more details, it sounds like it might be possible that your controls were not "created in the frame" and are therefore not really "contained" in the frame and that the frame won't load them with it and loading them separately still results in the frame displaying on top of them and hiding them... seems you can get the exact same behavior when in development mode and do the same thing manually. Doug ========================================================================= Date: Thu, 25 Aug 1994 06:48:29 -0500 Subject: VB version control XE "VB version control"  Has anyone any knowledge of a good system/program for tracking/documenting version changes to VB source? Even one including a roll-back function to previous versions? Tx Doug ========================================================================= Date: Thu, 25 Aug 1994 08:57:31 +3 From: Marcelo Navarro <MARCELLO@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Photos for screen savers. XE "Photos for screen savers."  > Hi everyone, > Does anyone know of a place where I can buy or get photos (gifs, tif, or bmp) > > for a screensaver app. that I made? > Thanks! -S > Try math.berkeley.edu, OK? ========================================================================= Date: Thu, 25 Aug 1994 08:13:05 -0400 From: Warren Samolsky <samolswc@WMVX-MAIL.LVS.DUPONT.COM> Subject: Xcopy Like function XE "Xcopy Like function"  Does anybody have a function writtten in VB which is like the Dos Xcopy command. I need the function to duplicate a set of directories, subdirectories and files on another Disk. Name is only usefull ifyou rename a directory structure. Thanks. _____________________________________ Warren Samolsky Phone: (302) 773-1613 Fax: (302) 773-5200 Node: samolswc@ldoc01.lvs.dupont.com _____________________________________ ========================================================================= Date: Thu, 25 Aug 1994 07:14:00 EST From: "Aumann, Timothy B." <GA030/IRMPO/TBAUMANN%GP_LAN@MCIMAIL.COM> Subject: Resuable Code XE "Resuable Code"  I have been assigned a project to develop several routines that would be reusable code in VB and possibly C++. These routines would be add-ons to VB similar to many of the commercially available VBXs, but to do things that the commercial guys are not developing. These routines include such things as common error handling, common logging, codes table look up, etc. The current thinking is to write these not as VBXs but as OLE objects. My question is, do any of you have any experience doing this type of thing? What are the pitfalls involved? Have you done this using OLE? What would be some good refernce material (books, etc.) that discuss how to do this? Should I also post this in the C++ group? Any help would be appreciated. TIA, Tim Aumann Georgia-Pacific Corp. Atlanta, GA GA030/IRMPO/TBAUMANN%GP_LAN@mcimail.com * My opinions, not G-P's, my spouse's, or even (sometimes) my own! ========================================================================= Date: Thu, 25 Aug 1994 08:31:53 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: Read Only Database Error -Reply XE "Read Only Database Error -Reply"  replace set tbl = db.opentable("ENROLLMENTS") with dim rs as Dynaset set rs = db.CreateDynaset("ENROLLMENTS") Let us know how it works. >>>>>>>>>>>>>>> I have a VB application trying to modify an Access data. The database is on the network with read/write rights. If I try to modify the database from Access, it works fine. But from my VB application it errors that the database is readonly. Any pointers? My code goes like this dim db as database dim tbl as table set db = opendatabase("f:\apps\access20\shared\test.mdb", false, false) set tbl = db.opentable("ENROLLMENTS") tbl.AddNew Here is that addnew, the error occurs. Thanks in advance. - Srini Karri <<<<<<<<<<<<<<< ========================================================================= Date: Thu, 25 Aug 1994 07:30:53 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: Element not defined? XE "Element not defined?"  Hi folks, I have a prob with a dynaset. Taken from the code: In Global.Bas Global dyFinancialData as Dynaset In the procedure of some form: Dim db as database Set db = OpenDatabase(PathToDB) Set dyFinancialData = db.createDynaset("Forecasts") .. if dyFinancialData.EOF then ... When I try to run the program I get an error "Element not defined" at dyFinancialData.EOF (the period is highlighted after the error- message). I have no idea what could cause this. Anyone had this before? Thanx, Armin. awerner@frsbog.enet.dec.com ========================================================================= Date: Thu, 25 Aug 1994 13:37:03 +0100 From: Chris Harris <C.Harris@ESG.MAFF.GOV.UK> Subject: No fonts installed ?! In->I just tr XE "No fonts installed ?!" ied setting the Action property of the Common Dialog Box object to 4 >to get the Font... box where I can choose font settings, but I receive a stupid >message like: >No font is installed, use Control Panel to add some. >I have a dozen TrueType fonts and some ATM, display TT is active and show only >TT is not. >I tried setting the Flags property too and using some default values for Name, >Size ... but still the same. >Urgh! What's happening ? > >Any help appreciated, please cc: to my personal address > Paolo I had this problem a few days ago. It IS the flags property that causes the problem. This code works for me: Fontbox.Flags = &H1& + &H10000 + &H4& Fontbox.Action = 4 'set this cmdialog to be a font one and display it I think it's the &H1& that is important. Chris Harris ========================================================================= Date: Thu, 25 Aug 1994 08:35:57 EDT From: Eric Dore <edore@JUPITER.DREV.DND.CA> Subject: Couldn't find installable ISAM XE "Couldn't find installable ISAM"  > > I have written a small program to interogate a FOXPRO 2.5 database > is use in my Department. All is well in the VB 3.0 Professional > environment but if I make myself an EXE file (from the File menu) > and try to run the EXE file thus created I get a > > Couldn't find installable ISAM > > message. I can imagine what this means but how do I fix it? > The Application setup Wizard won't run either. Something about a > User defined error. > Any help appreciated. > > /Rat > Hi, in VB environment the vb.ini tells where to look for database dll. You must create a ini file (with the section of the vb.ini for your database) I'm not sure about the syntax but look in the vb reference for setdataaccessoption or get... somethink like that Eric Dore Quebec, CANADA ========================================================================= Date: Thu, 25 Aug 1994 05:25:00 GMT From: David Mccarter <david.mccarter@HIGH-COUNTRY.COM> Organization: High Country Eats BBS (619) 788-0831 Subject: GETPROFILESTRING XE "GETPROFILESTRING"  In a message to DAVID MCCARTER, SHOOKOW@HP800.LASALLE.EDU wrote: S>I've been trying to call GetProfileString to get info from the win.ini S>file Here is the Decla Here is the EASY way to read and write INI files. Both these functions can be found in the electronic newsletter Visual Basic Tips & Tricks. Let me know if you have any more questions. David McCarter Editor-VBTT ------------------------------------------------------------------------- Declare Function WritePrivateProfileString Lib "Kernel" (ByVal AppName As String, ByVal KeyName As String, ByVal NewString As String, ByVal filename As String) As Integer Declare Function GetPrivateProfilestring Lib "Kernel" (ByVal AppName As String, ByVal KeyName As String, ByVal default As String, ByVal ReturnedString As String, ByVal MAXSIZE As Integer, ByVal filename As String) As Integer '******************************************************* '* Procedure Name: ReadINI * '*-----------------------------------------------------* '* Created: By: Daniel Bowen * '* Modified: 3/24/94 By: David McCarter * '*=====================================================* '*Returns a string from an INI file. To use, call the * '*functions and pass it the AppName, KeyName and INI * '*File Name, [sReg=ReadINI(App1,Key1,INIFile)]. If you * '*need the returned value to be a integer then use the * '*val command. * '******************************************************* Function ReadINI (AppName, KeyName, filename As String) As String Dim sRet As String sRet = String(255, Chr(0)) ReadINI = Left(sRet, GetPrivateProfilestring(AppName, ByVal KeyName, "", sRet, Len(sRet), filename)) End Function '******************************************************* '* Procedure Name: WriteINI * '*-----------------------------------------------------* '* Created: 2/10/94 By: David McCarter * '* Modified: By: * '*=====================================================* '*Writes a string to an INI file. To use, call the * '*function and pass it the AppName, KeyName, the New * '*String and the INI File Name, * '*[R=WriteINI(App1,Key1,sReg,INIFile)]. Returns a 1 if * '*there were no errors and a 0 if there were errors. * '******************************************************* Function WriteINI (AppName, KeyName, NewString, filename As String) As Integer WriteINI = WritePrivateProfileString(AppName, KeyName, NewString, filename) End Function ______________________________________________________ DPM Computer Solutions - San Diego, CA USA InterNet: dpmcs@high-country.com CompuServe: 74227,1557 Sent On: 08/24/94 - 21:25 --- ~ CMPQwk #1.4~ UNREGISTERED EVALUATION COPY ========================================================================= Date: Thu, 25 Aug 1994 08:45:00 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: Item not defined? XE "Item not defined?"  I just solved my problem: If I do the following: Dim dyFinance, dyProject as Dynaset I get an error in If dyFinance.EOF then .. Error at the "." : Item not defined! When I do: Dim dyFinance as Dynaset Dim dyProject as Dynaset .. everything is Ok, I thougth the first Dim would declare both variables as Dynasets - true is that the first one is declared as Variant! This cost me about 3 hours, this is not stated very clear in the manuals. Armin. ========================================================================= Date: Thu, 25 Aug 1994 08:52:16 -0500 From: Anthony Day <anthonyd@AZTEC.CO.ZA> Subject: VB version control In- XE "VB version control"  > tracking/documenting version changes to VB source? Even one including > a roll-back function to previous versions? > > Tx > > Doug > I hear PVCS is used by MS for NT and they have a VB version ========================================================================= Date: Thu, 25 Aug 1994 15:19:46 +0100 From: Chris Harris <C.Harris@ESG.MAFF.GOV.UK> Subject: ReDimming arrays to shrink them In- XE "ReDimming arrays to shrink them"  And I do some things to it which involve some ReDim Preserve's to increase the size of the array, is it then possible to ReDim this array so that it becomes smaller? Every time I try it I get a "Subscript out of range" error but looking at the value it clearly is NOT out of range. Has anyone done this successfully? Chris Harris ========================================================================= Date: Thu, 25 Aug 1994 10:46:07 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: No fonts installed ?! XE "No fonts installed ?!"  Set the Flags property. Chuck Mesquite TX ========================================================================= Date: Thu, 25 Aug 1994 11:51:58 -0300 From: Robert Stokes <nstn0030@FOX.NSTN.NS.CA> Subject: Element not defined? XE "Element not defined?"  I had a similar problem only I was using a table object.. it turns out that you can not use these objects on a global level you must define them in each of the seperate environments... Is this a Bug? BTW thanks Richard for your original help in this matter. Robert Stokes Bridgetown International Software Nova Scotia, Canada nstn0030@fox.nstn.ns.ca I have a prob with a dynaset. > Taken from the code: >> In Global.Bas > Global dyFinancialData as Dynaset >> In the procedure of some form: >> Dim db as database > Set db = OpenDatabase(PathToDB) > Set dyFinancialData = db.createDynaset("Forecasts") > .. > if dyFinancialData.EOF then ... > > > When I try to run the program I get an error "Element not defined" > at dyFinancialData.EOF (the period is highlighted after the error- > message). I have no idea what could cause this. > > Anyone had this before? > > Thanx, > Armin. > awerner@frsbog.enet.dec.com > > ========================================================================= Date: Thu, 25 Aug 1994 10:55:52 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: ReDimming arrays to ... XE "ReDimming arrays to ..."  1. Use Ubound and Lbound to verify the range. 2. Remember you can on redim the last dimention. Other than that, I don't have a clue. Chuck Mesquite TX ========================================================================= Date: Thu, 25 Aug 1994 11:06:39 EDT From: Paolo Marini <Paolo_Marini.LOTUSINT.LOTUS@CRD.LOTUS.COM> Subject: Re..No fonts installed ?! XE "Re..No fonts installed ?!"  Check the flags for the font dialog. There's one which will sort your problem; can't remember which, but I think the manual makes it fairly obvious. As I said in the original mail I tried some and it wasn't quite clear reading the help. Now I found that a 1 (screen fonts), 2 (printer fonts) or 3 (both) is required in the Flags property to work... Thanks Paolo ========================================================================= Date: Thu, 25 Aug 1994 09:05:58 PDT From: Bill Vaughn <billva@MICROSOFT.COM> Subject: Import & Export ACCESS-data XE "Import & Export ACCESS-data"  I'm confused. Do you want to read/write Access .MDB databases from VB3 (which is easy as it is built into VB) or to import files into an existing .MDB? This is more difficult. bv ---------- From: Dan Shookowsky <shookow@HP800.LASALLE.EDU> To: Multiple recipients of list VISBAS-L <VISBAS-L@tamvm1.tamu.edu> Subject: Import & Export ACCESS-data Date: Wedn XE "Import & Export ACCESS-data" esday, August 24, 1994 7:55PM > > Hello, > > I wonder if there is any simple way to import and export ACCESS 1.1 > tables from visual basic 3.0. Can ACCESS's own import/export functions > be called ?, or do I have to invent the wheel again :-) > Probably using DDE/SENDKEYS would work, you can open up Access and tell it to do what you need. If you had Access 2.0 with OLE 2.0 you might actually be able to include this functionality directly in your proggy -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 25 Aug 1994 19:55:10 +0300 From: Markus Suomi <msuomi@TRE.TELE.NOKIA.FI> Subject: MS Graph 5 through OLE automation XE "MS Graph 5 through OLE automation"  I installed MS Access 2.0 and noticed that MS Graph 5 that was shipped with it supports OLE automation. It seems that interface is similar to Excel 5's charts, but I couldn't find any documentation for it. And though I could use one that was supplied with Excel 5, i'm sure that there are a lot of minor differences, like how one links data to the chart etc. Does anybody know where to obtain more information concerning MS Chart 5? It seems that MS Chart 5 could be a wonderful graphing add-on, that could be used in Visual Basic etc. through OLE automation. BTW, while on subject, I'm currently implementing quite a large app in VB that is involved with data processing (data in on Oracle DB). I'm going to use Excel 5 through OLE automation and OLE linking to do some data processing and chart generation. However I'm a bit worried about OLE as it's relatively new technology. Has anyone any success stories or other experience with heavy duty use of OLE (automation)? -- ------------------------------------------------------------------------------- | Markus Suomi Phone +358-31-2407382 | | Design Engineer Fax +358-31-2407700 | | Nokia Cellular Systems | | PL 779 Email msuomi@tre.tele.nokia.fi | | 33101 Tampere | ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 25 Aug 1994 13:21:41 EDT From: Eric Dore <edore@JUPITER.DREV.DND.CA> Subject: How to put a label control on a picture control XE "How to put a label control on a picture control"  > > Hello, everyone > > "HELP ME" ! > I try to group couple label controls on a picture box, but apparently, when > I do so, the label box will be covered by the picture box!! > Is there anyone has any clue about this? Any responses would be appreciated > !!!! > > Ling Lin > Watchout, if you don't put the label inside the picture box, the picture box will always hide the labels controls (because of graphic controls like label, line, square etc..) If you want to put label inside the picture box just create it inside. to do that click on the picture box (at design) click on th label control(tool bar) and drag the control inside the picture box. If your labels already exist in your form. Select them , press Shift-Delete (CUT), select the picture box and click Shift-Insert (PASTE) Good luck. Eric Dore Quebec, CANADA ========================================================================= Date: Thu, 25 Aug 1994 13:17:59 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Text processing over 32k - multiline text boxes XE "Text processing over 32k - multiline text boxes"  From: NAME: Gerry Hull <HULL@AM@XANADU@ADD> To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> AllText.VBX - Fonts, editing,hypertext, >32K $125 no royalties. Available from ftp.cica.indiana.edu in the ftp/cica/pc/win3/programr/vbasic directory as atx_pa.exe -- cool demo, not shareware. (Check the mirror sites, this one is quite busy!) I'm in no way connected with the company -- was just looking for the demo the other day, for the same need. It's very good, and the price is excellent. Gerry Hull Consulting Software Engineer Hull Associates =========== gerry@ha.mv.com after 9/25/94 try http://www.ha.mv.com/vbzone.htm for cool VB info on the Web. hull@xanadu.enet.dec.com =========== ========================================================================= Date: Thu, 25 Aug 1994 10:30:32 -0700 From: "RYAN MA - VISUAL DEVELOPMENT LAB (LOCAL 287)" <RMA@TITAN.HEALTHVISION.CA> Subject: Custom Mouse Pointers XE "Custom Mouse Pointers"  Hi, Does anyone know how to load a custom mouse pointer into a VB app? I wish to implement context-sensitive help in my program and would like to display a mouse pointer that has both a pointer and question mark. Thanks in advance. Ryan Ma rma@HealthVISION.ca ========================================================================= Date: Thu, 25 Aug 1994 14:00:42 EDT From: Eric Dore <edore@JUPITER.DREV.DND.CA> Subject: Custom Mouse Pointers XE "Custom Mouse Pointers"  > > Hi, > > Does anyone know how to load a custom mouse pointer into a VB app? > I wish to implement context-sensitive help in my program and would like > to display a mouse pointer that has both a pointer and question mark. > Thanks in advance. > > Ryan Ma > rma@HealthVISION.ca > I have a procedure (taken for VB programmer's journal). I will find it and I'll send it to the list or to you (it's not very big) Eric Dore Quebec, CANADA ========================================================================= Date: Thu, 25 Aug 1994 12:56:00 PDT From: "Greenlaw, Russell, SrA LGMPS" <rgreenlaw@B868S1.SSC.AF.MIL> Subject: Changing Version Dates XE "Changing Version Dates"  Hey All, Does anyone have or know where I can find a VBX or DLL or even the C routines to change file version dates. We wrote a app and want to change all to version dates for the files to the same version date like M$ and others do. Thanks in advance for any help. Russell Greenlaw ========================================================================= Date: Thu, 25 Aug 1994 13:36:27 CST From: Rick Williams <Rick_Williams@CCMAIL.US.DELL.COM> Subject: Small Network Client Development with VB XE "Small Network Client Development with VB"  VBer's: Maybe I posted this to the wrong list. I expect there are some opinions out there on these questions. Rick ______________________________ Forward Header __________________________________ Subject: Small Network Client Development with VB Author: Rick XE "Network Client Development with VB"  Williams at Dell_MAH Date: 8/22/94 10:15 PM I would like to obtain opinions on use of VB as a client development tool for small networks (<50 users). 1. Is VB a good tool for this? It seems to be ideal. 2. Should ODBC be used in order to provide DBMS independence? Does ODBC live up to this promise in practice? 3. What server software can be used on small Novell networks? Things like Oracle still seem to be priced for the mainframe world and large corporate budgets. I'd like to get something more cost effective if this can be done without too much risk. 4. Any recommendations on good books or particularly well organized ftp sites with this kind of info? ========================================================================= Date: Thu, 25 Aug 1994 21:27:38 +0200 From: Marcus Specht <Marcus.Specht@ARBI.INFORMATIK.UNI-OLDENBURG.DE> Subject: send keystrokes to dos app XE "send keystrokes to dos app"  Hi there! Im working on the following for two days now: 1.) start a DOS App. (This is the point where my Problem begins) 2.) hide the DOS Symbol. 3.) Send keystrokes to the DOS App. Is there anybody out there who has done this sucessfully? Thanks for any help. woody ========================================================================= Date: Thu, 25 Aug 1994 15:36:02 -0400 From: Eric Laverdiere <K386@HEC.CA> Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: Couldn't find installable ISAM XE "Couldn't find installable ISAM"  You need to create an ini file with the same name as your exe file and place it in your windows directory. In that file you need to place the locations of the external database drivers. I don't have the code handy, but it's the same as you have in the file VB.INI. Hope this helps, Eric Laverdiere k386@hec.ca Montreal,Canada. ========================================================================= Date: Thu, 25 Aug 1994 16:41:24 +3 From: Artur Roberto Lima Rodrigues <ARTUR@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Always Minimized XE "Always Minimized"  Hi All, I want a routine that do my program and others ones stay Always Minimized. I have a application that my users can't open. Thanks, |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Thu, 25 Aug 1994 15:24:19 -0400 From: Scott Evans <gse@OCSYSTEMS.COM> Subject: Order keystrokes are processed XE "Order keystrokes are processed"  Hi all, In my application, shift-1, shift-2, and shift-3 have special meaning. To check for them, I've just been looking for "!", "@", and "#" in the KeyPress() event. However, as it turns out (of course), some keyboards in other countries don't have these characters where I think they are. The obvious solution is to use KeyDown to look for shift-1, 2, or 3, but I've got a lot of code in my KeyPress routine that I really need these events to trigger (really, I should just move that code out of there, but I'm lazy). I'd like to call KeyPress by hand from KeyDown and then exit KeyDown. No problem, but I need to be confident that KeyDown won't then be called. Is this indeed the case? If not, is there some way to force it to be the case? Thanks much! ------------------------------------------------------------------------------ scott evans gse@ocsystems.com -----------------------------self is the universe----------------------------- ========================================================================= Date: Thu, 25 Aug 1994 21:58:08 +0200 From: Marcus Specht <Marcus.Specht@ARBI.INFORMATIK.UNI-OLDENBURG.DE> Subject: Changing Version Dates In-> Hey Al XE "Changing Version Dates" l, > > Does anyone have or know where I can find a VBX or DLL or even the C > routines to change file version dates. We wrote a app and want to change > all to version dates for the files to the same version date like M$ and > others do. Thanks in advance for any help. > > Russell Greenlaw > Hi! The program that does this is a simple Dos-Program and is called Final Touch. I have seen this Program (FTOUCHxx.ZIP) on many FTP Sites. woody ========================================================================= Date: Thu, 25 Aug 1994 19:49:33 +0300 From: Markus Suomi <msuomi@TRE.TELE.NOKIA.FI> Subject: Import & Export ACCESS-data In-> > I wo XE "Import & Export ACCESS-data" nder if there is any simple way to import and export ACCESS 1.1 > > tables from visual basic 3.0. Can ACCESS's own import/export functions > > be called ?, or do I have to invent the wheel again :-) One answer: > Probably using DDE/SENDKEYS would work, you can open up Access and tell it > to do what you need. If you had Access 2.0 with OLE 2.0 you might actually > be able to include this functionality directly in your proggy Ugh, both DDE/SENDKEYS are _ugly_, I really don't want to mess with them. I tried to use move data via VB (from Oracle on unix machine), but performance wasn't anything spectacular. Does Access 2.0 support OLE automation (as server)? Another answer: > I'm confused. Do you want to read/write Access .MDB databases from VB3 > (which is easy as it is built into VB) or to import files into an > existing .MDB? This is more difficult. The latter is what I'm trying to do. I would like to move processed parts of data from Oracle DB to Access DB. -- ------------------------------------------------------------------------------- | Markus Suomi Phone +358-31-2407382 | | Design Engineer Fax +358-31-2407700 | | Nokia Cellular Systems | | PL 779 Email msuomi@tre.tele.nokia.fi | | 33101 Tampere | ------------------------------------------------------------------------------- ========================================================================= Date: Thu, 25 Aug 1994 23:18:47 CEST From: Giovanni Luca Fonti <MC5557@MCLINK.IT> Subject: Couldn'T Find Installabl XE "Couldn'T Find Installabl"  HI Rat...it's very easy to solve the problem....you haven't create an ASCII file called appname.INI to put in the WINDOWS directory. In the appname.INI application you have to write the information to give to the appname.exe VB where to fine the .DLL that can read FOXPRO dbase. The file is: [Installable ISAMs] FOXPRO 2.5 = windows_path (ex: c:\windows\system) [dBase Isam] Deleted=ON .....you have to write form "[Installable...." to "Deleted=ON"...but you can find this information on VB's HELP FILE in the COMMON QUESTION... :) hope this could help you. Have fun. Luca MC5557@mclink.it ========================================================================= Date: Thu, 25 Aug 1994 23:10:47 CEST From: Giovanni Luca Fonti <MC5557@MCLINK.IT> Subject: Nulls In Yes/No Fields XE "Nulls In Yes/No Fields"  HI Jeff...perhpas i haven't understood very well your qeustion....you have an .MDB where you have some files that could be TRUE or FALSE. Of course when you create and .MDB field it's always NULL...so when you go to sett a check-box with the field property (in this case NULL) the system put all as NO...i think that this is ok as VB should test if the field is -1 (true) then set the property to True else is false...if you want to solve the problem you could do in this way: if isnull(data1.recordset("field"))=true then check3d1.value=true else check3d1.value=fasleend if .....fasle=false... i think that this should help you.. have fun with VB. Luca MC5557@mclink.it ========================================================================= Date: Thu, 25 Aug 1994 17:28:57 -0400 Subject: send keystrokes to dos app In- XE "send keystrokes to dos app"  cd /developr/vb/kb/q77/3 get 94.txt (Marcus, I e-mailed you the text) Guy Henry ghenry@locke.ccil.org On Thu, 25 Aug 1994, Marcus Specht wrote: > Hi there! > > Im working on the following for two days now: > > 1.) start a DOS App. > > (This is the point where my Problem begins) > > 2.) hide the DOS Symbol. > > > 3.) Send keystrokes to the DOS App. > > > Is there anybody out there who has done this sucessfully? > > > Thanks for any help. > > woody > Guy K. Henry <ghenry@locke.ccil.org> ========================================================================= Date: Thu, 25 Aug 1994 16:38:43 -0500 From: Michael Satterwhite <satterwm@PHIBRO.COM> Subject: Import & Export ACCESS-data XE "Import & Export ACCESS-data"  > Ugh, both DDE/SENDKEYS are _ugly_, I really don't want to mess with > them. I tried to use move data via VB (from Oracle on unix > machine), but performance wasn't anything spectacular. Does Access > 2.0 support OLE automation (as server)? I just checked the KnowledgeBase. "Objects created in Microsoft Access 2.0 cannot be embedded or linked into other OLE 2.0 applications; Microsoft Access 2.0 is not an OLE 2.0 server." I wish it did ... I've got some projects coming up that would be aided greatly by that capability. --- Michael ========================================================================= Date: Thu, 25 Aug 1994 17:33:01 PDT From: "Paul Gray (Rho)" <i-paulg@MICROSOFT.COM> Subject: send keystrokes to dos app XE "send keystrokes to dos app"  Most of the time you have to send the keys first then initiate the app. It works in Excel, maybe it can help in your application. :))Paul ---------- From: Marcus Specht <Marcus.Specht@ARBI.INFORMATIK.UNI-OLDENBURG.DE> To: Multiple recipients of list VISBAS-L <VISBAS-L@tamvm1.tamu.edu> Subject: send keystrokes to dos app Date: Thursda XE "keystrokes to dos app" y, August 25, 1994 9:27PM Hi there! Im working on the following for two days now: 1.) start a DOS App. (This is the point where my Problem begins) 2.) hide the DOS Symbol. 3.) Send keystrokes to the DOS App. Is there anybody out there who has done this sucessfully? Thanks for any help. woody ========================================================================= Date: Thu, 25 Aug 1994 17:58:17 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: send keystrokes to d... XE "send keystrokes to d..."  PSS ID Number: Q77394 Article last modified on 04-26-1994 1.00 2.00 3.00 WINDOWS ---------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 2.0 and 3.0 - Microsoft Visual Basic programming system for Windows, version 1.0 ---------------------------------------------------------------------- SUMMARY ======= The "Microsoft Visual Basic: Language Reference" version 1.0 manual states that the SendKeys function cannot be used to send keystrokes to a non-Windows application. Listed below is a method that can be used to work around this limitation. MORE INFORMATION ================ This information is included with the Help file provided with the Professional Edition of Microsoft Visual Basic version 3.0 for Windows. The Microsoft Visual Basic for Windows SendKeys function can send keystrokes to the currently active window (as if the keystrokes had been typed at the keyboard). Although it is not possible to send keystrokes to a non-Windows application with SendKeys directly, you can place text on the Clipboard and use SendKeys to paste that text into an MS-DOS application that is running in a window (or minimized as an icon.) To run an MS-DOS application in a window, you MUST be running in Windows 386 enhanced mode. You must also make sure that the MS-DOS application's PIF file has been set to display the application in a window rather than full screen. Use the Windows PIF Editor to make this modification, if necessary. An example of sending keystrokes to an MS-DOS session running in a window is given below: 1. Start a MS-DOS session (running in a window). 2. Start Visual Basic for Windows. 3. Enter the following into the general declarations section of the form: Dim progname As String 4. Draw two labels on the form. Change the first label's caption to "Dos App Title." Change the second label's caption to "Keys to send." 5. Draw two text boxes on the form (next to each of the previously drawn labels). Delete the default contents of these text boxes. These controls will be used to allow the user to enter the MS-DOS application window title and the keystrokes to send to it. Change the Name property of these text boxes to "DosTitle" and "DosKeys," respectively. 6. Draw a command button on the form and change its caption to "Send keys." 7. Attach the following code to the command button click procedu progname = "Microsoft Visual Basic" clipboard.Clear clipboard.SetText DosKeys.Text + Chr$(13) ' Append a <CR>. AppActivate DosTitle.Text SendKeys "% ep", 1 AppActivate progname If the text that you send is the DIR command or another command that takes time, the AppActivate call immediately following the SendKeys call will interrupt the processing. The AppActivate call should be placed in a timer with the appropriate interval set and the timer enabled in the command_click procedure. The timer should be disabled before exiting the timer. 8. Run the program. 9. Enter the window title of the MS-DOS application into the DosTitle text box. The default window title for an MS-DOS session is "DOS." If you would like to change the window title of an MS-DOS application, you should use the PIF Editor. 10. Enter the keystrokes to send into the DosKeys text box (for example, "DIR"). 11. Click the Send Keys command button. The keystrokes will be sent to the Clipboard and then pasted into the MS-DOS window. If this technique is used in a compiled Visual Basic for Windows program, you should change the progname assignment from "Microsoft Visual Basic" to the executable file name. Also, if you would like to see the text being placed onto the Clipboard, you can open the Windows Clipboard viewer. Additional reference words: 1.00 2.00 3.00 KBCategory: KBSubcategory: EnvtRun ============================================================================ Copyright Microsoft Corporation 1994. Chuck Mesquite TX ========================================================================= Date: Thu, 25 Aug 1994 16:56:00 -0600 From: Dave Kearns <dkearns{TCNET/HR/dkearns}@KLAVEN.TCI.COM> Organization: Thomas-Conrad Corp Subject: Resizing fonts XE "Resizing fonts"  I have a number of text boxes on a form which I'm resizing whenever the form is resized. I'd also like to resize the text font so that the text in the box takes up approx the same percentage of 'real estate' after resizing. The fact that 1440 twips = 72 points hasn't been much use to me (fonts bigger than approx 26 points seem to crash my VB development environment). Has anybody done anything like this? +-------------------------------------+ | Dave Kearns | Thomas-Conrad Corp. | 1908-R Kramer Lane Austin, TX 78758 | (512) 836-1935 | dkearns@klaven.tci.com | dkearns@tcc [MHS] | 76704,62 [CompuServe] | http://www.tci.com/ +-------------------------------------+ ========================================================================= Date: Thu, 25 Aug 1994 19:00:44 EDT From: Gerry Hull <"xanadu::mrgate::add::xanadu::am::hull"@XANADU.ENET.DEC.COM> Subject: Code FreeBee - Getting All Group Info from Progman XE "Code FreeBee - Getting All Group Info from Progman"  From: NAME: Gerry Hull <HULL@AM@XANADU@ADD> To: NAME: VISBAS-L@tamvm1.tamu.edu <"VISBAS-L@tamvm1.tamu.edu"@US2RMC@MRGATE@XANADU> I was helping out a friend who could'nt figure out how to get all the program manger group information, so that he could modify program manager groups via a VB application. The Win31 API Help file provides the basic information... Here is a little form which shows you how to get the groups and properties of each item in a group - icon, appname, startup directory, location, etc. With this, you can modify Progman stuff to your hearts content. To use, just copy the text below the line info notepad, save as XXX.FRM, then load into VB and make it the startup form. Gerry Hull Consulting Software Engineer Hull Associates gerry@ha.mv.com hull@xanadu.enet.dec.com ----------------------------------------------------------------------- VERSION 2.00 Begin Form Form1 BorderStyle = 3 'Fixed Double Caption = "Progman Show Group Properties Example" ClientHeight = 4956 ClientLeft = 1416 ClientTop = 2160 ClientWidth = 7368 Height = 5376 Left = 1368 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 4956 ScaleWidth = 7368 Top = 1788 Width = 7464 Begin CommandButton Command1 Caption = "Bye!" Height = 732 Left = 60 TabIndex = 4 Top = 60 Width = 1752 End Begin ListBox List2 Height = 2520 Left = 60 TabIndex = 1 Top = 2280 Width = 7032 End Begin ListBox List1 Height = 1176 Left = 1920 TabIndex = 0 Top = 420 Width = 5352 End Begin Label Label1 Caption = "Hidden (DDE Use)" Height = 252 Left = 60 TabIndex = 5 Top = 1080 Visible = 0 'False Width = 1812 End Begin Label Label2 Caption = "Program Manager Groups (Double-Click for Properties:)" Height = 312 Left = 2280 TabIndex = 3 Top = 60 Width = 4992 End Begin Label Desc Caption = "Properties:" Height = 252 Left = 60 TabIndex = 2 Top = 1920 Width = 2892 End End Sub Command1_Click () Hide End End Sub Sub Form_Load () Show DoEvents x$ = GetProgmanGroupsOrItems(Me, "") pos = 1 Do While pos <> 0 pos = InStr(pos, x$, Chr$(13) + Chr$(10)) If pos = 0 Then Exit Do y$ = Left$(x$, pos - 1) List1.AddItem y$ x$ = Mid$(x$, pos + 2) pos = 1 DoEvents Loop End Sub Function GetProgmanGroupsOrItems (x As Form, GroupID As String) As String Screen.MousePointer = 11 '---------------------------------------------------------------------- ' Windows requires DDE in order to create a program group and item. ' Here, a Visual Basic label control is used to generate the DDE messages '---------------------------------------------------------------------- 'On Error Resume Next '--------------------------------- ' Set LinkTopic to PROGRAM MANAGER '--------------------------------- x.Label1.LinkTopic = "ProgMan|Progman" If GroupID = "" Then x.Label1.LinkItem = "Groups" Else x.Label1.LinkItem = GroupID End If x.Label1.LinkMode = 2 For i% = 1 To 10 ' Loop to ensure that there is enough time to z% = DoEvents() ' process DDE Execute. This is redundant but needed Next ' for debug windows. x.Label1.LinkTimeout = 100 'Request the groups x.Label1.LinkRequest '----------------- ' Reset properties '----------------- x.Label1.LinkTimeout = 50 x.Label1.LinkMode = 0 Screen.MousePointer = 0 GetProgmanGroupsOrItems = x.Label1.Caption End Function Sub List1_DblClick () x$ = GetProgmanGroupsOrItems(Me, (List1.List(List1.ListIndex))) pos = 1 List2.Clear Do While pos <> 0 pos = InStr(pos, x$, Chr$(13) + Chr$(10)) If pos = 0 Then Exit Do y$ = Left$(x$, pos - 1) List2.AddItem y$ x$ = Mid$(x$, pos + 2) pos = 1 DoEvents Loop End Sub ========================================================================= Date: Thu, 25 Aug 1994 19:43:57 EDT From: ken black III <Ashplace@AOL.COM> Subject: formatting text to clipboard XE "formatting text to clipboard"  Gentlevbpersons: I am trying to pass text from my code to a wordprocessor.vbx through the clipboard. How do I format text passed to the clipboard? Thanks. Ken Black Atlanta ========================================================================= Date: Thu, 25 Aug 1994 20:36:11 -0500 From: Royce Wong <RWONG@BCLCL1.IM.BATTELLE.ORG> Subject: Task Switching DLL XE "Task Switching DLL"  I am looking for a DLL that will disable the Task Switching when the user is running my VB app. What I meant by "Task Switching" is the Alt-Tab and Ctrl-Esc functions in Windows. That DLL has to disable all the Task Switching functions for all my child forms as well. Does anyone know about such a DLL? If so please let me know. I need it in a hurry and thnaks a bunch! :) Royce rwong@bclcl1.im.battelle.org ========================================================================= Date: Thu, 25 Aug 1994 20:19:22 PDT From: "Terran C. Vigil" <vigilt@SEATTLEU.EDU> Subject: Bypassing printer driver XE "Bypassing printer driver"  I am trying to print directly to LPT1 (to a barcode printer), bypassing the Windows printer driver. I am doing this because all windows printer drivers insert form feeds and carraige return - linefeed characters at some point. These characters aren't recognized correctly by the barcode printer (Intermec 3400 - which doesn't have a driver written for it yet). So far I've tried 1. the Win API call "Escape()" with the passthrough option set. This isn't directly supported by most 3.1 printer drivers (including the generic text driver which I have to use). 2. writing to LPT1 as if it were a printer (Open "LPT1" for Output as #1 combined with Print #1, text). - this only seems to work for networked printers (which use temporary files for print Q's). I would rather not write to a file and shell out to DOS to copy the file to LPT1. Does anyone have any ideas? ========================================================================= Date: Fri, 26 Aug 1994 15:58:32 -1100 From: Phillip Middlemiss <PHILLIPM@TAWA.FRI.CRI.NZ> Subject: Task Switching DLL XE "Task Switching DLL"  Royce Wong said: > I am looking for a DLL that will disable the Task Switching when >the user is running my VB app. What I meant by "Task Switching" is the >Alt-Tab and Ctrl-Esc functions in Windows. That DLL has to disable all >the Task Switching functions for all my child forms as well. > Does anyone know about such a DLL? If so please let me know. > I need it in a hurry and thnaks a bunch! :) >Royce >rwong@bclcl1.im.battelle.org _________________________________________________________ There is an API function you can call to lock or unlock input to all tasks other than the current one, although it is not recommended as it may interfere with the performance of other applications (refer to Daniel Appleman's book on "The Visual Basic Programmers Guide to theWindows API"). The declaration is: Declare Function LockInput% Lib "User" (ByVal hReserved%, ByVal hwndInput%, byVal fLock%) (All on one line of course) Where : hReserved should be set to zero, hwndInput is the handle of the window in the current task that will recieve all input. fLock is TRUE to lock input, FALSE to unlock it. |---------------------------------------------| | Phillip Middlemiss | | PhillipM@tawa.fri.cri.nz | | | | Declare Function Disclaimer% Lib "User () | | - - - - - - - - - - - - - - - - - - - - - - | | Meanwhile in a galaxy far far away.. | ---------------------------------------------- ========================================================================= Date: Thu, 25 Aug 1994 23:30:13 -0500 From: Brad Freels <brad@FC.NET> Subject: Always Minimized In- XE "Always Minimized"  > > I want a routine that do my program and others ones stay Always > Minimized. I have a application that my users can't open. > I have that now, but I just hide the icon so they cannot see it. If you need to see the icon minimized then some extensive API calls might be in order, or there are some .VBX I think that can handle that. The easiest way is to hide the form and then minimize it. Works like a charm for me. brad brad@fc.net ========================================================================= Date: Fri, 26 Aug 1994 17:04:40 +0008 From: "David L. Bergart" <bodafu@CCVAX.SINICA.EDU.TW> Subject: Boolean variables XE "Boolean variables"  Douglas Jackson <djackson@DJACKSON.WIN.NET> asked: >Do many people use booleans (in VB vice C) in this matter? I >thoughtI read that this was not dependable to do in VB since VB stores >different values for True and False instead of "0 or non-zero"?? Ah! What is happening, is that VB, along with other Microsoft BASICs, uses signed twos-complement arithmetic. Using a signed 8-bit number as an example, numbers increase from zero (0000 0000) to 127 (0111 1111), which is the largest possible signed 8-bit number. If you add one to it (1000 0000), you have the internal representation of -128, the largest possible *negative* signed 8-bit number. If you continue to increment it, you eventually reache -1 (1111 1111). Thus: True = 1111 1111 = -1 False = 0000 0000 = 0 and True = Not False. David ____D__a__v__i__d_____B__e__r__g__a__r__t___________________________________ bodafu@ccvax.sinica.edu.tw ========================================================================= Date: Fri, 26 Aug 1994 05:09:43 EDT From: Preston Werntz <Preston_Werntz@TRG.CCMAIL.COMPUSERVE.COM> Subject: send keystrokes to dos app XE "send keystrokes to dos app"  >1.) start a DOS App. Are you using the Shell command? >2.) hide the DOS Symbol. I believe there's a KB article about hiding icons/windows. I'll admit, the few times I need to shell to a DOS app, I typically don't hide the icon.. I just run the DOS window minimized. >3.) Send keystrokes to the DOS App. Different schools of thought: you can use the clipboard, I believe, it send key strokes to the DOS app, or you could create a batch file and call that in the shell command, and there's another method I believe - but it escapes me at the moment. Hope that helps somewhat. Preston preston_werntz@trg.ccmail.compuserve.com ========================================================================= Date: Fri, 26 Aug 1994 10:50:51 GMT From: BRUCE <B.Forman@UEL.AC.UK> Organization: University Of East London Subject: Windows and Netware XE "Windows and Netware"  You can't start Windows first and then login to a Netware server, you must do it the other way round. That is why no Netware login utlity exists for Windows. Similarly if you logout of Netware whilst in Windows you will crash the Windows system. Hope this helps Bruce Forman > I know this isn't strictly a VB question, but I've seen many messages > concerning programming with the Netware interface for VB so maybe I can > keep from having to reinvent the wheel. > > Has anyone developed or know of someone (private or commercial) who has > developed a windows Netware login utility? > > I need one that will execute the users login script, map drives > appropriately, etc. > > Since we're a poor military site :-) we have to share computers among > many users, and exiting windows, logging out of Netware, logging in and > restarting windows many times each day would be a major PITA and would > waste a great deal of time. We're sidestepping this issue by logging > the machine's in, instead of individual users, but security is becoming > a concern. > > Any help greatly appreciated. > > > MSgt Rocky Rapson > rapsonr@og-scm.kadena.af.mil > ********************************************************************** Bruce Forman,Programmer Computer Centre University of East London Tel: +44 (0)81-590 7722 ext. 2281 Fax: +44 (0)81-849 3462 Internet: B.Forman@uel.ac.uk CompuServe ID: 100046,2513 ********************************************************************** ========================================================================= Date: Fri, 26 Aug 1994 10:44:45 +0100 From: Chris Harris <C.Harris@ESG.MAFF.GOV.UK> Subject: ReDimming arrays to ... In- XE "ReDimming arrays to ..."  > >Other than that, I don't have a clue. > >Chuck >Mesquite TX It doesn't matter now, since I have done a workaround, but... if you try to redim an array to a smaller size, while preserving the contents with Preserve, VB must throw up an error. After all, how can it preserve the contents if you are deleting some of the items! Chris ========================================================================= Date: Fri, 26 Aug 1994 11:09:00 PDT From: Adrian Crossley x36 <AdrianC@HESA.AC.UK> Subject: Windows and Netware XE "Windows and Netware"  You can login/attach to netware fileservers from windows but it doesn't run the login script. You could maybe automate the exit windows, login, run windows cycle by using the ExitWindowsExec API function to run a login batch file something like this LOGOUT :LOGIN_LOOP CLS LOGIN SERVER/USERNAME IF ERRORLEVEL 1 GOTO LOGIN_LOOP you could even get the user name and write the batch file while still in windows. HTH Ade adrianc@hesa.ac.uk ---------- From: VISBAS-L To: Multiple recipients of list VISBAS-L Subject: Windows and Netware Date: 26 Augus XE "ws and Netware" t 1994 10:50 You can't start Windows first and then login to a Netware server, you must do it the other way round. That is why no Netware login utlity exists for Windows. Similarly if you logout of Netware whilst in Windows you will crash the Windows system. Hope this helps Bruce Forman > I know this isn't strictly a VB question, but I've seen many messages > concerning programming with the Netware interface for VB so maybe I can > keep from having to reinvent the wheel. > > Has anyone developed or know of someone (private or commercial) who has > developed a windows Netware login utility? > > I need one that will execute the users login script, map drives > appropriately, etc. > > Since we're a poor military site :-) we have to share computers among > many users, and exiting windows, logging out of Netware, logging in and > restarting windows many times each day would be a major PITA and would > waste a great deal of time. We're sidestepping this issue by logging > the machine's in, instead of individual users, but security is becoming > a concern. > > Any help greatly appreciated. > > > MSgt Rocky Rapson > rapsonr@og-scm.kadena.af.mil > ********************************************************************** Bruce Forman,Programmer Computer Centre University of East London Tel: +44 (0)81-590 7722 ext. 2281 Fax: +44 (0)81-849 3462 Internet: B.Forman@uel.ac.uk CompuServe ID: 100046,2513 ********************************************************************** ========================================================================= Date: Fri, 26 Aug 1994 05:29:52 -0500 Subject: Unknown XE "Unknown"  . Printer Orientation ======================= . Hello all - first time in this area (new subscriber) but a VB programmer working HARD in England ! Problem is to do with Printer Orientation, this may have been covered once before but allow a new boy one mistake uh ! . I've written an app in VB and even got as far as doing routines to select a printer (without using the std dialogs) of 'my' choice from all those available. Now I need to swap to Landscape mode. At first I did it my own way, simply changed the entry in WIN.INI - found the current printer (after user was allowed to change this) found the corresponding entry in WIN.INI (as in [HP laserjetIIP, lpt1] ) and simply toggled the line Orientation between 1(portrait) and 2 (landscape). Very hit and miss - I have to go landscape two times in a row to get it in that mode ! Checking back on the knowledge base articles there is one covering this subject - q80185 - but relies on sending a printer.enddoc thereby getting a blank page output (unless I choose to print something there via app). No, don't like that at all.... It did tell me why my own attempt went wrong though - hadn't sent an enddoc to force the change. Now - when you're in a commercial app. you can simply use the Print Setup option and change orientation for the next printout or whatever - my question is :- how do I do this from within my app, I can ask the question (or decide as part of my app) what orientation to use but it's using that setting I'm getting problems with. It's bound to be a simple answer (I hope) like an update of current system information - just can't put my finger on how it's done. . Thanks in advance gang Gordon P Sharpe, Kvaerner Boving Limited Doncaster, England e-fax +44 1302 760211 e-mail gordons@phonix.com ========================================================================= Date: Fri, 26 Aug 1994 13:31:38 +0200 From: Antony Meadley <Antony.Meadley@LO007.UBS.UBS.CH> Subject: Error with Common Dialog file selection XE "Error with Common Dialog file selection"  Does anyone have any ideas on this problem? I am using the Common Dialog for file selection as follows: On Error GoTo NoAction CMDialog1.CancelError = True CMDialog1.DialogTitle = "Pubcopy File Selection" CMDialog1.Filename = "*.*" CMDialog1.Filter = "All files (*.*)|*.*|Text (*.txt)|*.txt" CMDialog1.Flags = OFN_ALLOWMULTISELECT + OFN_FILEMUSTEXIST + OFN_HIDEREADONLY CMDialog1.Action = 1 Files = CMDialog1.Filename Now this all works fine most of the time, but when a large number of files are selected, pressing the OK button invokes the Error handler. Why is this? Is there a maximum number of files allowed to be selected? If so, how many? Any known workarounds? TIA Antony antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Thu, 25 Aug 1994 08:37:06 EDT From: Dan Shookowsky <SHOOKOW@HP800.BITNET> Subject: VB & Project 4.0 XE "VB & Project 4.0"  If anyone has any information on using VB to control MS Project 4.0, I would be eternally grateful. I am interested in using VB to grab some values from an Excel spreadsheet and shooting it out to Project via any method available (e.g. Shell, Sendkeys, DDE, OLE (2.0?)) feel free to send long responses to me personally, as opposed to the list. TIA -- ------------------------------------------------------------------------------- If there was such a thing as common sense, wouldn't everyone have it? Dan Shookowsky shookow@hp800.lasalle.edu shookow@fred.lasalle.edu CB Technologies Microsoft Solution Provider Associate Computer Consultant ------------------------------------------------------------------------------- ========================================================================= Date: Fri, 26 Aug 1994 08:53:12 +3 From: Artur Roberto Lima Rodrigues <ARTUR@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Always Minimized XE "Always Minimized"  Hi Brad, > I have that now, but I just hide the icon so they cannot see it. If you > need to see the icon minimized then some extensive API calls might be in > order, or there are some .VBX I think that can handle that. The easiest > way is to hide the form and then minimize it. Works like a charm for me. Yes, this way its very easy and beatiful, but i want hide one commercial application, I cant open it. I need to get your handle and send a menssage for hide it. If possible in C. Thanks, Artur. |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Fri, 26 Aug 1994 08:49:27 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: Re...Error with Common Dialog file selection XE "Re...Error with Common Dialog file selection"  Does anyone have any ideas on this problem? I am using the Common Dialog for file selection as follows: On Error GoTo NoAction CMDialog1.CancelError = True CMDialog1.DialogTitle = "Pubcopy File Selection" CMDialog1.Filename = "*.*" CMDialog1.Filter = "All files (*.*)|*.*|Text (*.txt)|*.txt" CMDialog1.Flags = OFN_ALLOWMULTISELECT + OFN_FILEMUSTEXIST + OFN_HIDEREADONLY CMDialog1.Action = 1 Files = CMDialog1.Filename Now this all works fine most of the time, but when a large number of files are selected, pressing the OK button invokes the Error handler. Why is this? Is there a maximum number of files allowed to be selected? If so, how many? Any known workarounds? TIA Antony antony.meadley@lo007.ubs.ubs.ch When using GetOpenFilename, you sent a pointer to a buffer, which will be of finite length. If the string needed to describe the files the user has selected is longer than the provided buffer, then it will fail, and CommDlgExtendedError will return FNERR_BUFFERTOOSMALL. Basically, your problem is due to the size of the buffer provided by the CmDialog.VBX when it calls this function. Speed considerations aside, there's no reason why the buffer could not be enlarged to 64K (max length of a VB string); so you could overcome your problem by calling the functions in CmDialog.DLL directly. If you need help doing this, then I'll post a bit of code to do it. Al ========================================================================= Date: Fri, 26 Aug 1994 09:13:01 EDT From: Phil Teeling <pteeling@PTS.MOT.COM> Subject: Return value from .EXE XE "Return value from .EXE"  Is there a way to return a value from an executable VB application, similar to declaring int main() in C, so you can check if your app was successful or not. I haven't found anything in the manuals or help files, but maybe I'm looking in the wrong place. Any help appreciated..... Phil --- *********************************************** Phillip Teeling Motorola 1500 NW 22nd Ave., MS84. Boynton Beach, FL 33426 407-364-3326 email - phillip_teeling@pts.mot.com *********************************************** ========================================================================= Date: Fri, 26 Aug 1994 14:52:59 +0100 From: "J.Watts" <J.Watts@SOTON.AC.UK> Subject: Windows and Netware In- XE "Windows and Netware"  Actually, im not sure about this. My feelings are that if you have loaded NETX before you run Windows (so that you are attached to a server but not logged in) then it should work. Obviously, windows has to be on the local drive. Using the Netware call declarations you should be able to log in and out of other netware servers, although im not sure about runnning login scripts. These usually prove to be difficult. I have not actually tried this myself, but know of a site who do all logging in etc after they have started windows. I only go as far as being logged in to a server when i start windows and logging in and out of others with no problem. They key is, You must not be logged into any server before you start windows, otherwise it will crash when you log out from it. ************************************************************** Jim Watts Phone: 0703 592280 Novell/Dos/Windows Support Fax: 0703 593939 Computing Services Email: jw@soton.ac.uk Southampton University j.watts@soton.ac.uk ************************************************************** > > You can't start Windows first and then login to a Netware server, you > must do it the other way round. That is why no Netware login utlity > exists for Windows. Similarly if you logout of Netware whilst in > Windows you will crash the Windows system. > > Hope this helps > > Bruce Forman > > > I know this isn't strictly a VB question, but I've seen many messages > > concerning programming with the Netware interface for VB so maybe I can > > keep from having to reinvent the wheel. > > > > Has anyone developed or know of someone (private or commercial) who has > > developed a windows Netware login utility? > > > > I need one that will execute the users login script, map drives > > appropriately, etc. > > > > Since we're a poor military site :-) we have to share computers among > > many users, and exiting windows, logging out of Netware, logging in and > > restarting windows many times each day would be a major PITA and would > > waste a great deal of time. We're sidestepping this issue by logging > > the machine's in, instead of individual users, but security is becoming > > a concern. > > > > Any help greatly appreciated. > > > > > > MSgt Rocky Rapson > > rapsonr@og-scm.kadena.af.mil > > > > > > > ************************************************************** ******** > > Bruce Forman,Programmer > Computer Centre > University of East London > Tel: +44 (0)81-590 7722 ext. 2281 > Fax: +44 (0)81-849 3462 > Internet: B.Forman@uel.ac.uk > CompuServe ID: 100046,2513 > > ************************************************************** ******** > > ========================================================================= Date: Fri, 26 Aug 1994 10:20:42 -0400 From: Stephen Lenz <slenz@RISD.EDU> Subject: Error with Common Dialog file selection In- XE "Error with Common Dialog file selection"  > Does anyone have any ideas on this problem? > > I am using the Common Dialog for file selection as follows: > > On Error GoTo NoAction > CMDialog1.CancelError = True > CMDialog1.DialogTitle = "Pubcopy File Selection" > CMDialog1.Filename = "*.*" > CMDialog1.Filter = "All files (*.*)|*.*|Text (*.txt)|*.txt" > CMDialog1.Flags = OFN_ALLOWMULTISELECT + OFN_FILEM���������������� �� �� �� �� �������������������������������������� ��!��"��#��$��%��&��'��(��)��*��+��,��-��.��/��0��1��2��3��4��5��6��7��8��9��:��;��<��=��>��?��@��A��B��C��D��E��F��G��H��I��J��K��L��M��N��O��P��Q��R��S��T��U��V��W��X��Y��Z��[��\��]��^��_��`��a��b��c��d��e��f��g��i��j��k��l��m��n��o��p��q��r��s��t��u��v��w��x��y��z��{��|��}��~������USTEXIST + > OFN_HIDEREADONLY > CMDialog1.Action = 1 > Files = CMDialog1.Filename > > Now this all works fine most of the time, but when a large number of > files are selected, pressing the OK button invokes the Error handler. > > Why is this? > Is there a maximum number of files allowed to be selected? > If so, how many? > Any known workarounds? > > TIA > Antony > > antony.meadley@lo007.ubs.ubs.ch ========================================================================= Date: Fri, 26 Aug 1994 16:28:34 CEST From: Marco Scozzafava <MC0639@MCLINK.IT> Subject: Vb And Access Pictures XE "Vb And Access Pictures"  Hi folks! My problem is: I have to save a bitmap in an Access database and I'm not able to do it. But I cannot (for some reasons) use the datacontrol. Using --->dn("fieldname")=picturefilename<---(where dn is my dynaset) the VB saves the picture as LONGBINARY and not as PAINTBRUSH PICTURE. The result is that I cannot view it, later. Any suggest? Thanks in advance... Gattestro mc0639@mclink.it (please, reply on the list, and not by private mail) ========================================================================= Date: Fri, 26 Aug 1994 07:32:07 GMT Comments: MEMO 1994/08/26 07:44 From: Michael R Kizer <2N18004@CCMAIL.EMIS.HAC.COM> Subject: Disable Task Switching XE "Disable Task Switching"  From: Royce rwong@bclcl1.im.battelle.org >>I am looking for a DLL that will disable the Task Switching when the >>user is running my VB app. What I meant by "Task Switching" is the Alt-Tab and >>Ctrl-Esc functions in Windows. That DLL has to disable all the Task Switching >>functions for all my child forms as well. >>Does anyone know about such a DLL? If so please let me know. I need it in a >>hurry and thnaks a bunch! :) There is a Windows API function called SetSysModalWindow (see API help file) that will perform this task. Caution is advised, because during testing you can really lock things up :^). p.s. I have some sample code (not with me of course) that I could send you if you want further information. *------------------------------------------------* * Michael Kizer -- 2n18004@ccmail.emis.hac.com * * Computer Sciences Corporation -- Tucson, AZ * *------------------------------------------------* ========================================================================= Date: Fri, 26 Aug 1994 11:15:19 EDT From: "Starsman, Lt Raymond S." <R_STARSMAN@NISE-P.NOSC.MIL> Subject: Sending strings in Netware XE "Sending strings in Netware"  I need to send a string from one client machine to another via Novell Netware. Is there a DLL call or some VBXs that can help accomplish this? Thanks, Scott r_starsman@nise-p.nosc.mil ========================================================================= Date: Fri, 26 Aug 1994 11:30:49 -0400 From: "John Y. Ching" <jching@WATNOW.UWATERLOO.CA> Subject: how to create form l In- XE "how to create form l"  > Soory, but i can't understand why you neeed this. May you explain the > prob??? > > Obelix > Perhaps I am the one who's missing something. I want to have a scrollable form so that I can put controls etc. on portions of the form beyond the bottom of the screen. To do so, I need to scroll the form at design time, right? -John ========================================================================= Date: Fri, 26 Aug 1994 10:57:24 -0500 From: Keith Baugher <s077962@JAGUAR1.USOUTHAL.EDU> Subject: how to create form l In- XE "how to create form l"  > > > >> I am interested in a way to have scroll bars at design time. > > Soory, but i can't understand why you neeed this. May you explain the > > prob??? > > > > Obelix > > > > Perhaps I am the one who's missing something. I want to have a > scrollable form so that I can put controls etc. on portions of the form > beyond the bottom of the screen. To do so, I need to scroll the form at > design time, right? > > -John > ------------------- John, I also have forms larger than the screen to store control arrays etc. I had the same problem. An easy workaround is to set the form.left and form.top properties to negative values, draw the controls then reset form.left and form.top to your default values. Hope this works. Keith Baugher Professional E-mail surfer ========================================================================= Date: Fri, 26 Aug 1994 12:20:48 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: how to create form l XE "how to create form l"  > Perhaps I am the one who's missing something. I want to have a > scrollable form so that I can put controls etc. on portions of the form > beyond the bottom of the screen. To do so, I need to scroll the form at > design time, right? If that's all you want to do, try setting the TOP property of the controls in question through the property window. You can easily move them off the form without making your form bigger then windows. Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Fri, 26 Aug 1994 12:21:47 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Custom Mouse Pointers XE "Custom Mouse Pointers"  > Hi, > > Does anyone know how to load a custom mouse pointer into a VB app? > I wish to implement context-sensitive help in my program and would like > to display a mouse pointer that has both a pointer and question mark. > Thanks in advance. Here is segments of code I used in a project for the local library. The hardest part was that I had to create a .DLL (CCURSOR.DLL) with a cursor as one of it's resources. Anyways, here is the code: ========================================================= Global Curs1Handle As Integer Global Curs2Handle As Integer Global SysCursHandle As Integer Declare Function LoadLibrary Lib "Kernel" (ByVal lpLibFileName As String) As Integer Declare Function LoadCursor Lib "User" (ByVal hInstance As Integer, ByVal lpCursorName As String) As Declare Function SetClassWord Lib "User" (ByVal hWnd As Integer, ByVal nIndex As Integer, ByVal wNew Declare Function DestroyCursor Lib "User" (ByVal hCursor As Integer) As Integer Global Const GCW_HCURSOR = -12 =========================================================== 'In My Form_Load DLLInstance = LoadLibrary("CCURSOR.DLL") Curs1Handle = LoadCursor(DLLInstance, "ZOOMIN") Curs2Handle = LoadCursor(DLLInstance, "ZOOMIN2") SysCursHandle = SetClassWord(LOST.hWnd, GCW_HCURSOR, Curs1Handle) LastCursor = SetClassWord(LOST.hWnd, GCW_HCURSOR, SysCursHandle) =========================================================== 'In my Mouse_Move 'To set cursor to custom cursor, do the following: LastCursor = SetClassWord(LOST.hWnd, GCW_HCURSOR, Curs2Handle) 'To set cursor back to system cursor, do the following: LastCursor = SetClassWord(LOST.hWnd, GCW_HCURSOR, SysCursHandle) =========================================================== 'In my Form_Unload Dim LastCursor As Integer LastCursor = SetClassWord(LOST.hWnd, GCW_HCURSOR, SysCursHandle) 'I think I need to do a destroyCursor here, but since this app exits 'Windows, I don't really care. ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Fri, 26 Aug 1994 12:22:02 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Resizing fonts XE "Resizing fonts"  > I have a number of text boxes on a form which I'm resizing whenever the form > is resized. > I'd also like to resize the text font so that the text in the box takes up > approx the same percentage of 'real estate' after resizing. Try looking at the .TextWidth method. You can use it to adjust the font until the width of your text is as you want it. I use this all the time (in particular, If I want a text string to fill the width of the screen, I just jump through the sizes until the textwidth is just smaller then the screen size) ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Fri, 26 Aug 1994 12:22:14 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Windows and Netware XE "Windows and Netware"  > You can login/attach to netware fileservers from windows but it doesn't run > the login script. Along a similar note, I had a problem with users here on the net logging out of the network from a DOS prompt, so I changed the LOGOUT.BAT file to look like the following (The key is the FIND command) I thought some of you out there might appreciate this. @ECHO OFF SET | FIND "windir" > NUL IF ERRORLEVEL 1 GOTO NOTINWINDOWS :INWINDOWS ECHO EIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII>> ECHO o You are currently in Microsft Windows. Exit Windows before logging out o ECHO EIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII.25 BEEP GOTO END :NOTINWINDOWS F: F:\LOGIN\LOGOUT %1 GOTO END :END ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Fri, 26 Aug 1994 13:09:00 -0600 From: Dave Kearns <dkearns{TCNET/HR/dkearns}@KLAVEN.TCI.COM> Organization: Thomas-Conrad Corp Subject: Resizing fonts XE "Resizing fonts"  >From: MDR @ SMTP (Mark D. Richards) {MDR@HYDROSPHERE.COM} >Date: Friday, August 26, 1994 12:54PM > >> I have a number of text boxes on a form which I'm resizing whenever the form >> is resized. >> I'd also like to resize the text font so that the text in the box takes up >> approx the same percentage of 'real estate' after resizing. > >Try looking at the .TextWidth method. You can use it to adjust the font >until the width of your text is as you want it. I use this all the time >(in particular, If I want a text string to fill the width of the screen, I >just jump through the sizes until the textwidth is just smaller then the >screen size) > Sorry, but TextWidth only applies to Forms, Picture boxes and the Printer object - not a text box (true, I could use form.textwidth to determine the width if printed to the form, then copy its fontsize, but looping thru fontsizes isn't a quick or elegant method). However, if no one knows of another way.......... Thanks Mark.... -dave ========================================================================= Date: Fri, 26 Aug 1994 13:23:24 -0500 From: Kyle Lutes <KDLUTES@UALR.EDU> Subject: Desktop Print Function? XE "Desktop Print Function?"  Anyone got a function that will dump the contents of the desktop to the currently selected printer? Some of our users would like the ability to print "snapshots" of various forms and messages they've got loaded on their Windows desktop. I'm sure this isn't hard to do but then again I'm not sure how to program it. I figure if I get a function, I can hook it up to a command button or hot-key combination or something. Thanks, Kyle Lutes kdlutes@ualr.edu, 74163,1123 ========================================================================= Date: Fri, 26 Aug 1994 14:32:37 CST From: Steve Husak <husaks@SMTPGATE.LANTE.COM> Subject: Disable Task Switching XE "Disable Task Switching"  Text item: Disable Task Switching >>>I am looking for a DLL that will disable the Task Switching when the >>>user is running my VB app. What I meant by "Task Switching" is the >Alt-Tab and >>Ctrl-Esc functions in Windows. That DLL has to disable all >the Task Switching >>functions for all my child forms as well. >>>Does anyone know about such a DLL? If so please let me know. I need it >in a >>hurry and thnaks a bunch! :) > >There is a Windows API function called SetSysModalWindow (see API help >file) that will perform this task. Caution is advised, because during >testing you can really lock things up :^). > >p.s. I have some sample code (not with me of course) that I could send >you if you want further information. There is an easier way... using Message Blaster, Spyworks, or VB Messenger, you can capture the Windows Message and disable these tasks by basically eating the message (i.e. not passing it on to Windows). I don't have code readily available (I am in the process of moving) but I can get it on Monday if you still need it. Drop me a line. Along these sames lines, you can capture window resize, restore, move, etc. Steve Husak shusak@lante.com Lante Corp. ========================================================================= Date: Fri, 26 Aug 1994 15:41:05 -0400 From: Scott Evans <gse@OCSYSTEMS.COM> Subject: Playing multiple WAVs simultaneously XE "Playing multiple WAVs simultaneously"  Hi all, I'm told that it's possible to play a number of WAV files at the same time -- is there any truth to this? If so, how? Thanks, scott ========================================================================= Date: Fri, 26 Aug 1994 16:41:11 -0400 From: PAUL LEVIT <plevit@WELCHLINK.WELCH.JHU.EDU> Subject: Resizing fonts In- XE "Resizing fonts"  display compared to the resolution of the screen display of the machine on which the application was developed. I believe that you can compute this ratio and then multiple the font size by the ratio of the resolution to change the font proportionally to the rest of the changes you are making. Paul Levit plevit@welchlink.welch.jhu.edu On Fri, 26 Aug 1994, Dave Kearns wrote: > >From: MDR @ SMTP (Mark D. Richards) {MDR@HYDROSPHERE.COM} > >Date: Friday, August 26, 1994 12:54PM > > > >> I have a number of text boxes on a form which I'm resizing whenever the > form > >> is resized. > >> I'd also like to resize the text font so that the text in the box takes > up > >> approx the same percentage of 'real estate' after resizing. > > > >Try looking at the .TextWidth method. You can use it to adjust the font > >until the width of your text is as you want it. I use this all the time > >(in particular, If I want a text string to fill the width of the screen, I > >just jump through the sizes until the textwidth is just smaller then the > >screen size) > > > Sorry, but TextWidth only applies to Forms, Picture boxes and the Printer > object - not a text box > (true, I could use form.textwidth to determine the width if printed to the > form, then copy its fontsize, but looping thru fontsizes isn't a quick or > elegant method). > However, if no one knows of another way.......... > > Thanks Mark.... > > -dave > ========================================================================= Date: Fri, 26 Aug 1994 17:30:11 -0500 From: Brad Freels <brad@FC.NET> Subject: Find login name on netware? XE "Find login name on netware?"  Does anyone know how to get a username or login name from NetWare from VB? We want to automatically determine who is running an application and log their name to a file. Any ideas? brad brad@fc.net ========================================================================= Date: Fri, 26 Aug 1994 15:59:52 -0700 From: Richard Rosenheim <rrose@INDIRECT.COM> Subject: send keystrokes to d XE "send keystrokes to d"  -=> Quoting Marcus.specht@arbi.inform to Multiple Recipients Of Li <=- Ma> Hi there! Ma> Im working on the following for two days now: Ma> 1.) start a DOS App. Ma> (This is the point where my Problem begins) Ma> 2.) hide the DOS Symbol. Ma> 3.) Send keystrokes to the DOS App. Ma> Is there anybody out there who has done this sucessfully? To send keystrokes to a DOS app, you need to use the following technique: 1) Copy the keystrokes to the clipboard 2) Paste the clipboard to the DOS app. There is a article in the knowledge base and on MSDN detailing how to exactly do this. If you can't find the article, let me know -- I'll will search for it. You can not send cursor control keys this way. I haven't had the time to explore a solution/work around for this limitation. Richard Rosenheim rrose@indirect.com ___ Blue Wave/QWK v2.12 ========================================================================= Date: Sat, 27 Aug 1994 03:12:29 CEST From: Giovanni Luca Fonti <MC5557@MCLINK.IT> Subject: 3270 XE "3270"  HI all, i would like to know if exist some .VBX that allow me to emualte a 3270 IBM terminal....as at work i use it and i would like to write a programm in VB. Hope to hear something. Luca mc5557@mclink.it ========================================================================= Date: Fri, 26 Aug 1994 21:33:00 CDT From: Ed Staffin <edstaff@MCS.COM> Subject: Disable Task Switching XE "Disable Task Switching"  Hi Steve, Thanks for the plug! Later ... Ed >Text item: Disable Task Switching > > >>>I am looking for a DLL that will disable the Task Switching when the >>>>user is running my VB app. What I meant by "Task Switching" is the >>Alt-Tab and >>Ctrl-Esc functions in Windows. That DLL has to disable all >>the Task Switching >>functions for all my child forms as well. >>>>Does anyone know about such a DLL? If so please let me know. I need it >>in a >>hurry and thnaks a bunch! :) >> >>There is a Windows API function called SetSysModalWindow (see API help >>file) that will perform this task. Caution is advised, because during >>testing you can really lock things up :^). >> >>p.s. I have some sample code (not with me of course) that I could send >>you if you want further information. > >There is an easier way... using Message Blaster, Spyworks, or VB Messenger, >you can capture the Windows Message and disable these tasks by basically >eating the message (i.e. not passing it on to Windows). I don't have code >readily available (I am in the process of moving) but I can get it on >Monday if you still need it. Drop me a line. > >Along these sames lines, you can capture window resize, restore, move, etc. > >Steve Husak >shusak@lante.com >Lante Corp. > ========================================================================= Date: Fri, 26 Aug 1994 21:48:15 -0500 From: Scott Seligman <seligman@NETCOM.COM> Subject: Dead App? In- XE "Dead App?"  It's small, the code probably looks terrible to anyone that's been doing this for any length. Now my question, I can run the code from the VB desktop without problems, but when I compile it and try to run it nothing happens. No lock up, no weird system error, nothing, it's as if I never ran it (this happens on the only two machines I've tried it on so far) At the sake of wasting bandwith with the source code, does any one out there have any ideas? -- Scott `seligman@netcom.com` "Is ThErE aNyBoDy OuT tHeRe?!?" - The Truth Is Out There - (I hope) ========================================================================= Date: Fri, 26 Aug 1994 23:09:35 -0500 From: Royce Wong <RWONG@BCLCL1.IM.BATTELLE.ORG> Subject: Task Switching DLL XE "Task Switching DLL"  Phillip, Thanks for the reply. However, I tried it this moring and the API function disable not only the Alt-Tab and Crtl-Esc but the all other functions of my child forms as well. Basically user can't switch and work on another form in my app. Looks like this API function only work for one form. :-) Royce Wong - I REALLY like this list! rwong@bclcl1.im.battelle.org >>On Aug 26, Phillip Middlemiss wrote: There is an API function you can call to lock or unlock input to all tasks other than the current one, although it is not recommended as it may interfere with the performance of other applications (refer to Daniel Appleman's book on "The Visual Basic Programmers Guide to theWindows API"). The declaration is: Declare Function LockInput% Lib "User" (ByVal hReserved%, ByVal hwndInput%, byVal fLock%) (All on one line of course) Where : hReserved should be set to zero, hwndInput is the handle of the window in the current task that will recieve all input. fLock is TRUE to lock input, FALSE to unlock it. |---------------------------------------------| | Phillip Middlemiss | | PhillipM@tawa.fri.cri.nz | | | | Declare Function Disclaimer% Lib "User () | | - - - - - - - - - - - - - - - - - - - - - - | | Meanwhile in a galaxy far far away.. | ---------------------------------------------- ========================================================================= Date: Fri, 26 Aug 1994 23:33:33 -0400 Subject: Error with Common Dialog file selection XE "Error with Common Dialog file selection"  Antony, What is the value of your dialog's maxfilesize property? This might be cause of your problem. I have had this problem before. Increasing the value of this property will usually solve any problems. This due to the fact the default buffer of the .filename property is only 256 bytes. I usually increase it to the max allowed which is 2K. Hope this helps, -- Alex Klaus am676@freenet.carleton.ca ========================================================================= Date: Sat, 27 Aug 1994 11:41:05 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Unknown In-> . XE "Unknown"  > Printer Orientation > ======================= > . > Hello all - first time in this area (new subscriber) but a > VB programmer working HARD in England ! > Problem is to do with Printer Orientation, this may have been > covered once before but allow a new boy one mistake uh ! >>stuff deleted > . > Thanks in advance gang > Gordon P Sharpe, Kvaerner Boving Limited > Doncaster, England > e-fax +44 1302 760211 > e-mail gordons@phonix.com I think you had a right gist of the solution. Changing the win.ini is the way I've read about...but to get the changes recognised by other active applications, you need to call a DLL routine that says "hey I've changed the win.ini file" to all the other applications. The actual name of this routine skips me...I'll look it up. In the meantime, if anybody else knows it off hand, I'm sure they'll oblige!! 8^) .... good luck! __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Sat, 27 Aug 1994 11:55:49 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: your mail In- XE "your mail"  > > Has anyone tried this? I need to do _EXACTLY_ this thing with a list box, > get some strings formatted so that a number of fields in the string line > up for each item in the list, while keeping them as single list items. This > can be done easily with fixed pitch fonts, but proportional ones muck it up. > Problem is, a listbox doesn't have a TextWidth method and the listbox font is > not the same as the current font on the enclosing form. > > Chris Harris > I missed the original posting, but it is quite easy to get tabs in a listbox with the use of two APIs SendMessage and GetDevice... (i forget!) I've got a sample code segment around and will post it as soon as I find it...until then...be patient! ========================================================================= Date: Fri, 26 Aug 1994 23:58:52 -0400 Subject: NT/VB Question XE "NT/VB Question"  Hi VB users, Just a quick NT and VB question. But before I ask it just two quick items. First I want to thank the people who replied to my query and helped me solve my problem. Secondly, I want to join in and thank tick for doing such a good in keeping this lists going. For myself I find a very useful resource. Now the question, how well does VB coexist with an NT HPFS parition. Would VB program work off such a partition? If so, are there any caveats to be aware of? -- Alex Klaus am676@freenet.carleton.ca ========================================================================= Date: Fri, 26 Aug 1994 23:37:25 -0700 From: Gary McMillan <mcmillan@ESKIMO.COM> Subject: missing file XE "missing file"  I am somewhat new to VB and have VB v3.0. When using the setup Wizard to create a distribution disk there is a request for me to point out the path to "OLE2UI.DLL", and the wizard can't continue till it finds it. Looking in the setup1.ini file there is a list of files for the section [msole2.vbx]. All of the files listed in this section, with the exception of the afore mentioned file, exists in my windows\system directory. "OLE2UI.DLL" is nowhere to be found. Its not on the distribution disks or on the Office Developers Kit CD. Has anyone else come across this. I haven't had opportunity to call MS yet, but I believe a call Monday will be in order. Is there any quick help out there or have I overlooked something? ========================================================================= Date: Fri, 26 Aug 1994 23:51:40 -0700 From: Gary McMillan <mcmillan@ESKIMO.COM> Subject: Windows API Text XE "Windows API Text"  Are there any quality books covering the Windows API for VB (v3.0 Pro). Microsofts mentioning and on-line help seems somewhat minimal to me. Am I being too critical? Is there more offerings of info and examples by another party? The little I can gather this is probably a powerful tool(s). Any suggestions? ========================================================================= Date: Sat, 27 Aug 1994 02:06:40 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: Vb And Access Pictures XE "Vb And Access Pictures"  there are several possibilities, most probably more elegant than this, but this works: in your database store the path and name of the picture, then use loadpicture to put the path and name in a picturebox. i use a hidden label with the command in the change event. this has one advantage (the one that is important to me) in that a relatively tiny mdb file can point to gigabytes of images. >My problem is: I have to save a bitmap in an Access database and I'm not >able to do it. >But I cannot (for some reasons) use the datacontrol. >Using --->dn("fieldname")=picturefilename<---(where dn is my dynaset) the >VB saves the picture as LONGBINARY and not as PAINTBRUSH PICTURE. The >result is that I cannot view it, later. >Any suggest? >Thanks in advance... >Gattestro >mc0639@mclink.it (please, reply on the list, and not by private mail) ========================================================================= Date: Thu, 25 Aug 1994 14:21:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Small Network Client Development with VB XE "Small Network Client Development with VB"  We have about 3500 users; ORACLE V7 on 3 HP 9000's; use VB V3 Pro, ORACLE Glue, and SQL*Net TCP/IP (for DOS). We've had no problems. ORACLE is expensive (expecially user license fees), our average number of con-current users on the HP's is around 25, 21, and 9. This varies from time-to-time; some app's, and portions of others are used by the majority around the end of the month and the end of the quarter (some at the end of the fiscal year). We chose ORACLE Glue for three reasons; (1) it does cost $3000 per developer but has royalty-free distribution of required .dll's; (2) it works with SQL*Net for DOS, ODBC doesn't & SQL*Net for Windows cost $140 per user (we got SQL*Net for DOS for $5000 & royalty-free distribution); (3) besides, it's faster than ODBC. And, we can use it with VB, Excel, Word, ... Other things such as Q+E cost about $700 per developer and still required a per user distribution fee. We have used other things to develop Windows front-ends; but they were never as easy to use, maintain, distribute, and some were hacks at Windows look-like. Some of the better development tolls cost $$$$, we already invested $$$$ over the years in ORACLE development tools. Now, who wants to log into a server and run an app from there, and it's character based! We needed a cheap easy Windows development tool, VB was it. If it is a mistake it's not a costly one! ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Small Network Client Development with VB :)Date: Thursd XE "ll Network Client Development with VB" ay, 25 Aug, 94 1:36PM :) :) VBer's: :) Maybe I posted this to the wrong list. I expect there :) are some opinions out there on these questions. :) Rick :) :) :)______________________________ Forward Header :)__________________________________ :)Subject: Small Network Client Development with VB :)Author: Rick XE "ll Network Client Development with VB"  Williams at Dell_MAH :)Date: 8/22/94 10:15 PM :) :) :) I would like to obtain opinions on use of VB as a client :) development tool for small networks (<50 users). :) :) 1. Is VB a good tool for this? It seems to be ideal. :) :) 2. Should ODBC be used in order to provide DBMS independence? :) Does ODBC live up to this promise in practice? :) :) 3. What server software can be used on small Novell networks? Things :) like Oracle still seem to be priced for the mainframe world :) and large corporate budgets. I'd like to get something more :) cost effective if this can be done without too much risk. :) :) 4. Any recommendations on good books or particularly well :) organized ftp sites with this kind of info? :) ========================================================================= Date: Sat, 27 Aug 1994 02:11:20 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: send keystrokes to dos app XE "send keystrokes to dos app"  >>3.) Send keystrokes to the DOS App. >Different schools of thought: you can use the clipboard, I believe, it send >key strokes to the DOS app, or you could create a batch file and call that >in the shell command, and there's another method I believe - but it escapes >me at the moment. this brings up a point that i have been curious about for some time. is there any effective difference between shelling to a dos app and shelling to a bat that calls the app? i have 3 dos apps that need to be run in succession, but only as each has completed. i know how to do this with api calls, but a simple 3-line bat does the same thing. are there advantages to using 3 shell statements and the api calls? ========================================================================= Date: Sat, 27 Aug 1994 02:14:21 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: visbas mail format XE "visbas mail format"  i have to manually paste the reply address for this group in my mail reader in order to respond. the "to" field has "discussion of visual basic...<etc>" in it when i reply. other groups i subscribe to don't behave this way. do i need to change something, or is this just the way this particular listserv formats the messages? ========================================================================= Date: Sat, 27 Aug 1994 00:16:08 -0700 From: Vance Gloster <vance@NETCOM.COM> Subject: Test XE "Test"  Sorry! ========================================================================= Date: Sat, 27 Aug 1994 02:22:36 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: Desktop Print Function? XE "Desktop Print Function?"  i might be misunderstanding what it is you are wanting, but what about the printform object? alternatively, how about using printscreen to copy the screen to the clipboard, then printing the clipboard contents? In article Kyle Lutes <KDLUTES@UALR.EDU> writes: >Date: Fri, 26 Aug 1994 13:23:24 -0500 > >Anyone got a function that will dump the contents of the desktop >to the currently selected printer? Some of our users would like >the ability to print "snapshots" of various forms and messages >they've got loaded on their Windows desktop. I'm sure this >isn't hard to do but then again I'm not sure how to program it. >I figure if I get a function, I can hook it up to a command >button or hot-key combination or something. >Thanks, >Kyle Lutes kdlutes@ualr.edu, 74163,1123 ========================================================================= Date: Sat, 27 Aug 1994 02:37:36 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: Windows API Text XE "Windows API Text"  In article Gary McMillan <mcmillan@ESKIMO.COM> writes: >Date: Fri, 26 Aug 1994 23:51:40 -0700 > > Are there any quality books covering the Windows API for VB >(v3.0 Pro). Microsofts mentioning and on-line help seems somewhat minimal >to me. Am I being too critical? Is there more offerings of info and >examples by another party? The little I can gather this is probably a >powerful tool(s). Any suggestions? a delightful understatement!<G> get 'visual basic programmer's guide to the windows api' by daniel appleman (pretty much an essential for any serious vb developer) i also like: 'visual basic how-to' from waite group press, and 'visual basic for windows insider' by aitken. i bought 'how-to' just for a vbx it included on disk, but it soon became one of my most-used books. note also that there are some typos in the microsoft online api reference, but the copy facility is otherwise just about impossible to live without. ========================================================================= Date: Thu, 25 Aug 1994 07:07:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Element not defined? XE "Element not defined?"  YES!!!! It looks like this code should work; you have declared the dynaset object as a global haven't you??? BUT IT DOESN'T!!! Try this: Add a subrountine to any form that needs to use this global dynaset object, call it anything you like. Sub AAA_SetDyn () Set gdynMyDynaset = gdbMyDatabase("SELECT * FROM MYTABLE") End Sub Of course you end up having to declare the database object either as a global or at the module level, I always use a global (the dynaset always comes from the same database???). You don't ever have to make a call to this subroutine! The VB parser just needs to see a 'SET' statement for any dynasets or snapshots somewhere within any module that uses these objects. J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Element not defined? :)Date: Thurs XE "ment not defined?" day, 25 Aug, 94 7:30AM :) :) :) Hi folks, :) :) :) I have a prob with a dynaset. :) :) Taken from the code: :) :) In Global.Bas :) :) Global dyFinancialData as Dynaset :) :) In the procedure of some form: :) :) Dim db as database :) Set db = OpenDatabase(PathToDB) :) Set dyFinancialData = db.createDynaset("Forecasts") :) .. :) if dyFinancialData.EOF then ... :) :) :) When I try to run the program I get an error "Element not defined" :) at dyFinancialData.EOF (the period is highlighted after the error- :) message). I have no idea what could cause this. :) :) Anyone had this before? :) :) Thanx, :) Armin. :) awerner@frsbog.enet.dec.com :) ========================================================================= Date: Thu, 25 Aug 1994 07:11:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Couldn't find installable ISAM XE "Couldn't find installable ISAM"  Just copy the key entries (and the section entry) from the VB.INI file to your apps .ini file. You only need to worry about the entry that you need: [Installable ISAMs] FoxPro 2.5=C:\WINDOWS\SYSTEM\xbs110.dll J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Couldn't find installable ISAM :)Date: Thur XE "Couldn't find installable ISAM" sday, 25 Aug, 94 8:35AM :) :)> :)> I have written a small program to interogate a FOXPRO 2.5 database :)> is use in my Department. All is well in the VB 3.0 Professional :)> environment but if I make myself an EXE file (from the File menu) :)> and try to run the EXE file thus created I get a :)> :)> Couldn't find installable ISAM :)> :)> message. I can imagine what this means but how do I fix it? :)> The Application setup Wizard won't run either. Something about a :)> User defined error. :)> Any help appreciated. :)> :)> /Rat :)> :)Hi, :) in VB environment the vb.ini tells where to look for database dll. :)You must create a ini file (with the section of the vb.ini for your database) :) :)I'm not sure about the syntax but :)look in the vb reference for :) :)setdataaccessoption or get... somethink like that :) :)Eric Dore :)Quebec, CANADA :) ========================================================================= Date: Sat, 27 Aug 1994 19:25:00 PDT From: "Wallace, Glynn W." <wallaceg@HQ.U18MS.KADENA.AF.MIL> Subject: Unknown XE "Unknown"  I think you had a right gist of the solution. Changing the win.ini is the way I've read about...but to get the changes recognised by other active applications, you need to call a DLL routine that says "hey I've changed the win.ini file" to all the other applications. The actual name of this routine skips me...I'll look it up. In the meantime, if anybody else knows it off hand, I'm sure they'll oblige!! 8^) .... ============================================== Check out: Declare Fiunction SendMessage Lib "User"(ByVal hWnd as Interger, BYyVal wMsg As Integer, ByVal wParam as Integer, IParam as Any) As Long HWND_BROADCAST = &HFFFF WM_WININICHANGE = &H001A SendMessage( HWND_BROADCAST, WM_WININICHANGE, 0, 0 ) I believe the above is correct, but double check the declaration and constants to be sure. HTH Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Sat, 27 Aug 1994 10:17:31 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: Dead App? XE "Dead App?"  Feel free to send me the source. Chuck Mesquite TX ny ========================================================================= Date: Sat, 27 Aug 1994 11:19:34 -0400 From: Tony Chryseliou <ANTHONYC@QUEENS.LIB.NY.US> Subject: Windows API Text XE "Windows API Text"  >> Are there any quality books covering the Windows API for VB (v3.0 Pro). Microsofts mentioning and on-line help seems somewhat minimal to me. Am I being too critical? Is there more offerings of info and examples by another party? The little I can gather this is probably a powerful tool(s). Any suggestions?<< You mean haven't heard of THE BIBLE for all VB programmers??? (Only kidding) Run, don't walk, and get "The Visual Basic Programmers Guide to the Windows API" by Daniel Appleman. You won't be disappointed. Tony Chryseliou Queens Borough Public Library ========================================================================= Date: Sat, 27 Aug 1994 10:24:51 -0500 From: Brad Freels <brad@FC.NET> Subject: Windows API Text In- XE "Windows API Text"  > (v3.0 Pro). Microsofts mentioning and on-line help seems somewhat minimal > to me. Am I being too critical? Is there more offerings of info and > examples by another party? The little I can gather this is probably a > powerful tool(s). Any suggestions? > The best book I have seen on the API and VB is called The Visual Basic Programmer's Guide to the Windows API. It is worth every penny and much, much more. I believe that Ziff press is the publisher, but I am at home now and only have the book at work. If you need the author and publisher, mail me and I will give it to you. brad brad@fc.net ========================================================================= Date: Sat, 27 Aug 1994 21:29:17 +0300 Subject: How to manage MCI-Window XE "How to manage MCI-Window"  Hi! The show must go on! However, I'm having the following problem: how to manage the position of Window where AVI-movie is running. Now when starting the AVI-show the Window appears on the left hand upper corner. But I'd like to set the Window on the precise place on the screen. Thank you for your advices. Regards Ilkka Kosonen +++ ========================================================================= Date: Sat, 27 Aug 1994 15:14:22 -0500 From: Jesse Montrose <jesse@NETCOM.COM> Subject: background zipping? XE "background zipping?"  Anyone know how I can zip/unzip a file in the background? I am shelling to pkzip now, but I'd rather not use a pif (to avoid it going full screen), and can't find any other way to keep pkzip minimized.. Has anyone tried the lib code from pkware? ========================================================================= Date: Sat, 27 Aug 1994 15:14:38 -0500 From: Jesse Montrose <jesse@NETCOM.COM> >Hi folks! >My problem is: I have to save a bitmap in an Access database and I'm not >able to do it. >But I cannot (for some reasons) use the datacontrol. >Using --->dn("fieldname")=picturefilename<---(where dn is my dynaset) the >VB saves the picture as LONGBINARY and not as PAINTBRUSH PICTURE. The >result is that I cannot view it, later. >Any suggest? I've never been able to do that, but it works fine for me with a bound picturebox, just bind the picturebox to the field you want in the data control, and set the picturebox's picture property. ========================================================================= Date: Sat, 27 Aug 1994 15:14:47 -0500 From: Jesse Montrose <jesse@NETCOM.COM> Subject: child forms? (not mdi) XE "child forms? (not mdi)"  I've got a few forms that get spawned off the main form, but they're not MDI. The annoying part is that they're treated separately on zorder, so if I: start app, open child win, switch to another app, switch back to child win, close child win, I flip back to the second app I opened, because it was higher up in the zlist.. What I'm looking for is the same behaviour of vb itself, multiple windows that stay together.. any ideas? ========================================================================= Date: Sat, 27 Aug 1994 15:14:57 -0500 From: Jesse Montrose <jesse@NETCOM.COM> Subject: Desktop Print Function? XE "Desktop Print Function?"  Do you need it to happen from a program? If not, hitting the print screen key sticks the whole screen in the clipboard, and alt-print screen does only the current window. From there, you can paste it into a paint program, or use a vb routine to grab it from the clipboard.. ========================================================================= Date: Sat, 27 Aug 1994 16:42:23 -0400 From: Paul Cohen <pmcohen@NETAXS.COM> Subject: missing file XE "missing file"  > I am somewhat new to VB and have VB v3.0. When using the setup >Wizard to create a distribution disk there is a request for me to point >out the path to "OLE2UI.DLL", and the wizard can't continue till it finds it. >Looking in the setup1.ini file there is a list of files for the section >[msole2.vbx]. All of the files listed in this section, with the exception >of the afore mentioned file, exists in my windows\system directory. >"OLE2UI.DLL" is nowhere to be found. Its not on the distribution disks or >on the Office Developers Kit CD. Has anyone else come across this. I >haven't had opportunity to call MS yet, but I believe a call Monday will >be in order. Is there any quick help out there or have I overlooked >something? > This is so common a problem (I was just as confused by it) that it ought to be in the FAQ (if it isn't already). You've got the original setup wizard and it has a few glitches in it. Download the updated one from FTP.MICROSOFT.COM. Until then delete the line with the reference to OLE2UI.DLL in SETUPWIZ.INI. ________Paul Cohen________________pmcohen@netaxs.com________________________ Philadelphia, PA http://www.netaxs.com:8080/~pmcohen/ ========================================================================= Date: Sun, 28 Aug 1994 01:57:18 +0200 Comments: RFC822 error: <W> Incorrect or incomplete address field found and ignored. From: blackman@MATH.TAU.AC.IL Subject: Paradox 4.x support In- XE "Paradox 4.x support"  If there is, where can it be downloaded from? Sincerely, Uri Blackman --------------===========================----------------- C.Y.Informatics 34 Keren Hayesod St., Ramat Hasharon, 47248 Israel Tel/Fax: + 972 3 549 1120 / 549 2956 internet: blackman@math.tau.ac.il ========================================================================= Date: Sun, 28 Aug 1994 11:08:14 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: missing file XE "missing file"  It doesn't exist. You can 1 Just take it out of the list. 2. Download a later version of Setup. 3. Use a 3rd party setup program (i suggest Wyse) Chuck Mesquite TX ========================================================================= Date: Sun, 28 Aug 1994 11:27:00 EST From: Rodney Schroeter <0005791716@MCIMAIL.COM> Subject: Viewing a Variable Value XE "Viewing a Variable Value"  When I'm stepping through a program, a line at a time, I can't seem to figure out how to view the value of a variable that is not currently named on the screen. I can put the cursor on the name of a variable & click the little glasses to view its value. But how the heck do I enter a variable that isn't right there on the screen? Or, how can I view the contents of an array element, for an index other than the current value of the index? Thanks, Rodney Schroeter 579-1716@mcimail.com ************************************************* Read ATLAS SHRUGGED by Ayn Rand ************************************************* ========================================================================= Date: Sun, 28 Aug 1994 13:42:27 EDT From: Chuck Stuart <WJ5A@AOL.COM> Subject: Viewing a Variable V... XE "Viewing a Variable V..."  Press Ctrl/B to enter immediate mode. Chuck Mesquite TX ========================================================================= Date: Sun, 28 Aug 1994 11:27:00 EST Organization: spine.com Subject: Viewing a Variable Value XE "Viewing a Variable Value"  On Sun, 28 Aug 1994 11:27:00 EST Rodney Schroeter wrote: > When I'm stepping through a program, a line at a time, I can't seem to > figure out how to view the value of a variable that is not currently named > on the screen. I can put the cursor on the name of a variable & click the > little glasses to view its value. But how the heck do I enter a variable that isn't Look on the debug menu, you can Add Watch, Edit Watch.. also, on the watch window itself, double clicking an entry will let you edit it. ========================================================================= Date: Sun, 28 Aug 1994 14:42:14 -0500 Organization: spine.com Subject: WM_SETREDRAW? XE "WM_SETREDRAW?"  Anyone using this? I'm having trouble with it.. I'm adding stuff to a listbox, and want to turn redraw off during the adds (rather than flipping the .visible). I'm calling this: Global Const WM_SetRedraw = &HB rc = SendMessage(lContents.hWnd, WM_SetRedraw, 0, 0) 'redraw off before the add loop, and my SendMessage works for other messages, so that's not it.. I'm afraid that I may be missing something fundamental in the workings of WM_SETREDRAW :) Thanks.. -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Sun, 28 Aug 1994 14:58:20 -0500 Subject: Viewing a Variable Value In- XE "Viewing a Variable Value"  > figure out how to view the value of a variable that is not currently named > on the screen. I can put the cursor on the name of a variable & click the > little glasses to view its value. But how the heck do I enter a variable You can edit the name of one of the variables currently listed in the watch window, or you can invoke the immidiate window and type PRINT var- name to see the value of any variable or array element. > that isn't right there on the screen? Or, how can I view the contents of an > array element, for an index other than the current value of the index? Use the immi9diate window and name the specific element of the array you want to determine the value of. > Thanks, > Rodney Schroeter > 579-1716@mcimail.com A pl> > ************************************************* > Read ATLAS SHRUGGED by Ayn Rand > ************************************************* > ========================================================================= Date: Sun, 28 Aug 1994 15:34:12 -0500 From: Keith Baugher <s077962@JAGUAR1.USOUTHAL.EDU> Subject: Viewing a Variable Value In- XE "Viewing a Variable Value"  > > > When I'm stepping through a program, a line at a time, I can't seem to > > figure out how to view the value of a variable that is not currently named > > on the screen. I can put the cursor on the name of a variable & click the > > little glasses to view its value. But how the heck do I enter a variable > > You can edit the name of one of the variables currently listed in the > watch window, or you can invoke the immidiate window and type PRINT var- name > to see the value of any variable or array element. > > > > that isn't right there on the screen? Or, how can I view the contents of an > > array element, for an index other than the current value of the index? > Use the immi9diate window and name the specific element of the array you > want to determine the value of. > -------------------------- Here's a neat trick if you want to see a range of values in the immediate window. If Option Explicit is declared, temporarily REM it out. Trace through your program until you see the array you are interested in. Then on one line in the immediate window, type the following. . . for i% = 10 to 30: Print MyArray[i%]: next i% <Enter> where 10 and 30 can be replaced by your favorite integers and MyArray is replaced by your favorite array name. Hope this helps. I find it useful Keith Baugher Professional E-Mail Surfer ========================================================================= Date: Sun, 28 Aug 1994 18:48:32 EDT From: NickBulka@AOL.COM Subject: API Book corrections XE "API Book corrections"  Could some kind soul please send me the list of corrections to Appleman's API Book? I seem to have misplaced my copy. thanks in advance! NickBulka@aol.com ========================================================================= Date: Sun, 28 Aug 1994 21:07:16 +0100 From: Byron Lee <blee@FILESHOP.COM> Subject: Problem with Compat.. HELP!! XE "Problem with Compat.. HELP!!"  OK... I normally database apps using MS Access 2.0 but I need to make a little program in VB that changes an entry in a table.. I installed the compatibility layer and it seemed to work.. Then I used the following code: Dim MyDB As database Set MyDB = OpenDatabase("d:\access2\db1.mdb") MyDB.BeginTrans Set tbl = MyDB.OpenRecordSet("ATP Info", DB_OPEN_TABLE) Print tbl.RecordCount And on the first line it gives me the error: License file for this functionality not found.. etc... What is this? I have the VB Pro 3.0 and never had this before... Please help.. Thanks... ========================================================================= Date: Mon, 29 Aug 1994 09:05:48 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Problem with Compat.. HELP!! In- XE "Problem with Compat.. HELP!!"  > little program in VB that changes an entry in a table.. I installed the > compatibility layer and it seemed to work.. Then I used the following code: > > Dim MyDB As database > Set MyDB = OpenDatabase("d:\access2\db1.mdb") > MyDB.BeginTrans > Set tbl = MyDB.OpenRecordSet("ATP Info", DB_OPEN_TABLE) > Print tbl.RecordCount > > And on the first line it gives me the error: License file for this > functionality not found.. etc... Wow! that's a new error! (haven't seen that one before!)..I normally dothis : dim db as database, dst as dynaset set db = OpenDatabase("d:\access2\db1.mdb") set dst = db.createdynaset("ATP Info") print dst.recordcount This will work fine. I suspect your problem arises from : a) Using a transaction and not commiting it before accessing the data (ie. try a MyDB.committrans beforew printing the result. b) I rather notuse tables..dynasets allow read/write operationds and suit my needs fine! Hope this helps! Cheers, Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Sun, 28 Aug 1994 22:41:46 +0100 From: Byron Lee <blee@FILESHOP.COM> Subject: Problem with Compat.. HELP!! In-> di XE "Problem with Compat.. HELP!!" m db as database, dst as dynaset > set db = OpenDatabase("d:\access2\db1.mdb") > > set dst = db.createdynaset("ATP Info") > print dst.recordcount > I was wanting to use RecordSet instead of Dynaset just to still in the same syntax as Access2.0. But the error occurs on the first line, the Dim MyDB as Database... That is what is highlighted when the error occurs... Thanks... ========================================================================= Date: Mon, 29 Aug 1994 12:58:39 GMT+800 Organization: Edith Cowan University Subject: Upgrade to GRAPH.VBX XE "Upgrade to GRAPH.VBX"  Hi, Does anybody know what the the upgrade to the GRAPH.VBX control is called? Is it something like Pinnacle Graphics Server? Thanks. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Mon, 29 Aug 1994 14:32:00 EST From: "Nattey, George" <GNattey@NPPSPHIL.TELECOM.COM.AU> Subject: Looking for VBX XE "Lookin���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������g for VBX"  Hello, I am lead to believe that this is the correct alias for this sort of question, if not, I apologise and please don't torch me to much and supply the correct alias. I am looking for a copy of a CSSPIN.VBX and cannot find it here in Australia. Does anybody know where to find it as I am writing an application that I believe requires this functionality. Thanx in Advance George Nattey (+ 61 2 5103865) ========================================================================= Date: Mon, 29 Aug 1994 00:55:29 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: Looking for VBX XE "Looking for VBX"  In article "Nattey, George" <GNattey@NPPSPHIL.TELECOM.COM.AU> writes: > I am looking for a copy of a CSSPIN.VBX and cannot find it here in >Australia. Does anybody know where to find it as I am writing an >application that I believe requires this functionality. csspin.vbx is commericial software that is part of the 'quickpack professional' kit from crescent software (hence the 'cs') there might be a working demo on cica in the vb directory crescent has a bbs at 203-438-3314 and a general number of 800-35-basic (i hate phone numbers like that, but i'm too lazy to figure out what the numbers would be <G>) ========================================================================= Date: Mon, 29 Aug 1994 08:05:28 GMT From: "[John Kromodimedjo]" <kromodimedjoj@WHO.CH> Subject: DATACONTROL @ PATH XE "DATACONTROL @ PATH"  Hi, I'm using the datacontrol and Access 2.0 files for my app. What enoying is that I don't know how to set the data path for the database as an variable. Right now I have set it with the databasename control property. Is there any easier and more flexible way of doing this? so I won't have to specify my data path at design time? Please reply preferably on internet: KROMODIMEDJOJ@WHO.CH Thanks a million. JOHN KROMODIMEDJO World Health Organization Geneva, Switzerland ========================================================================= Date: Sun, 28 Aug 1994 23:21:21 -0700 From: "Gary A. Ferguson" <garyfe@CYBERSPACE.COM> Subject: Irregular shape control XE "Irregular shape control"  Did you get an answer to this? One way to do it would be to draw the quadrilaterals on your form, and then use the Win API FloodFill to fill the area clicked on. You'd have to do your own hit testing for the mouse position, of course. Gary >I have a map of a neighborhood that I need to be able to click on and fill >in the section that I clicked on. Does anyone have any ideas on how this is >possible? Is there a VBX for a irregular shape control? We thought of >using the API to draw a polygon and using a transparent control on the >polygon. Thanks for any help. > >Russell Greenlaw >Gunter Annex, Alabama > >PS - The shapes are all quadrilaterals so all I need is the ability to draw >a shape with four lines. > > garyfe@cyberspace.com ========================================================================= Date: Mon, 29 Aug 1994 08:53:00 N From: Gervais Windels <WINDELS@INWCHEM.RUG.AC.BE> Subject: Looking for VBX XE "Looking for VBX"  Hello George, CSSPIN.VBX is a Crescent Soft custom control belonging to Quick Pak Pro and which is not available as shareware on the net. Try to find Crescend Software in your country. The price should be around 200 US$ I guess. Hope this helps Gervais ========================================================================= Date: Mon, 29 Aug 1994 08:05:28 GMT Organization: spine.com Subject: DATACONTROL @ PATH XE "DATACONTROL @ PATH"  On Mon, 29 Aug 1994 08:05:28 GMT "[John Kromodimedjo]" <kromodimedjoj@WHO.CH> wrote: > I'm using the datacontrol and Access 2.0 files for my app. > What enoying is that I don't know how to set the data path for the > database as an variable. > Right now I have set it with the databasename control property. > > Is there any easier and more flexible way of doing this? so I won't > have to specify my data path at design time? Here's an example: right off the bat: Set dbase = OpenDatabase(dbasename$) then to set the data control: dPeople.DatabaseName = dbasename$ dPeople.RecordSource = "people" dPeople.Refresh -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 29 Aug 1994 14:32:00 EST Organization: spine.com Subject: Looking for VBX XE "Looking for VBX"  On Mon, 29 Aug 1994 14:32:00 EST "Nattey, George" <GNattey@NPPSPHIL.TELECOM.COM.AU> wrote: > I am looking for a copy of a CSSPIN.VBX and cannot find it here in > Australia. Does anybody know where to find it as I am writing an > application that I believe requires this functionality. I'm guessing you're looking for crescent software's spin control? What do you need that isn't in the vb3.0pro spin control? Anyway, you can get crescent at 70662.2605@compuserve.com -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 29 Aug 1994 02:42:30 -0500 Organization: spine.com Subject: knowing when an mmExecute call finishes? XE "knowing when an mmExecute call finishes?"  after I call mmExecute("Play filename.wav"), how can I tell when it's finished? -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 29 Aug 1994 16:45:25 GMT+800 Organization: Edith Cowan University Subject: Photos for screen savers. XE "Photos for screen savers."  > > Hi everyone, > > Does anyone know of a place where I can buy or get photos (gifs, tif, or bmp) > > > > for a screensaver app. that I made? > > Thanks! -S > > > > Try math.berkeley.edu, OK? and garbo.uwasa.fi and oakland.oak.edu ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Mon, 29 Aug 1994 11:15:00 +0100 From: "S.Z. Morrison - Medical Physics - ext (71) 2798" <S.Z.MORRISON@DUNDEE.AC.UK> Subject: Dead App In- XE "Dead App"  > I just wrote a little program that prints all of the fonts available. > It's small, the code probably looks terrible to anyone that's been doing > this for any length. Now my question, I can run the code from the VB > desktop without problems, but when I compile it and try to run it nothing > happens. No lock up, no weird system error, nothing, it's as if I never > ran it (this happens on the only two machines I've tried it on so far) > At the sake of wasting bandwith with the source code, does any one out > there have any ideas? > > -- > Scott `seligman@netcom.com` "Is ThErE aNyBoDy OuT tHeRe?!?" > - The Truth Is Out There - (I hope) > ========================================================================= Date: Mon, 29 Aug 1994 12:49:55 +0200 From: Carl Schei <schei@LOURIE.UND.AC.ZA> Subject: child forms? (not mdi) In-> I've go XE "child forms? (not mdi)" t a few forms that get spawned off the main form, but they're not MDI. > The annoying part is that they're treated separately on zorder, so if I: > > start app, > open child win, > switch to another app, > switch back to child win, > close child win, How about calling the API call SetParent() to set the PArent of the Child forms to the 'Main' Form. ? Just a suggestion. -Carl. ========================================================================= Date: Mon, 29 Aug 1994 13:11:07 +0200 From: Carl Schei <schei@LOURIE.UND.AC.ZA> Subject: Combo Box Change Eve In- XE "Combo Box Change Eve"  > C.> event when I select something from it. The event is also not generated > C.> when the style of the box is Dropdown Combo. Is this a known bug or is > C.> it just me? IF it is a known bug, what do I do instead? Use the Click > C.> event? It's a Buglet. You will have to use the _Click Event. _Carl. ========================================================================= Date: Mon, 29 Aug 1994 10:33:33 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: Stopping the execution of control-events XE "Stopping the execution of control-events"  I have a problem with a grid - I use the event grid_RowColChange() to react to the user changing to another Row. But in this event I need to get at some data in the first column of the new row, so I did the following: sub grid_RowColChange 1 Dim tmpCol as Integer 2 tmpCol = grid.Col 3 grid.Col = 1 4 labelTitel.Caption = Grid.Text 5 grid.Col = tmpCol run this for a few seconds and you get an 'out of stack space' - line 3 calls grid_RowColChange again, a typical cascading event. Is there a possiblity to stop the calling of a control's event? I tried grid.enabled = false in the beginning of grid_RowColChange, but no success. Anybody got an idea for a workaround? Thanx, Armin. awerner@frsbog.enet.dec.com ========================================================================= Date: Mon, 29 Aug 1994 10:44:54 EDT From: ken black III <Ashplace@AOL.COM> Subject: Spin Control XE "Spin Control"  On Mon, 29 Aug 1994 14:32:00 EST "Nattey, George" <GNattey@NPPSPHIL.TELECOM.COM.AU> wrote: > I am looking for a copy of a CSSPIN.VBX and cannot find it here in > Australia. Does anybody know where to find it as I am writing an > application that I believe requires this functionality. You really don't need a spin control; you can accomplish the same thing with a vertical scroll bar and a label or textbox. Set the Min and Max properties of the scrollbar to the range you need. (for some damn counterintuitive reason you put the maximum of your range in the 'Min" property and your minimum in the 'Max'). Set the label.caption or textbox.text property and the value of the variable you want to spin in the form load procedure to your default value. Code for the scrollbar (when using a label) would look like this: Sub VScroll1_Change () label1.Caption = Str$(vscroll1.Value) Spinvariable = Val(label1.Caption) End Sub If you use a textbox, your user has random access to the spin variable's range; with the label access is limited to sequential spins. Hope this helps. Ken Black Atlanta USA ========================================================================= Date: Mon, 29 Aug 1994 07:57:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Windows and Netware XE "Windows and Netware"  What??? Use the File Manager. You can connect to any network device and disconnect while in Windows with no problems. ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Windows and Netware :)Date: Friday, XE "dows and Netware"  26 Aug, 94 10:50AM :) :)You can't start Windows first and then login to a Netware server, you :)must do it the other way round. That is why no Netware login utlity :)exists for Windows. Similarly if you logout of Netware whilst in :)Windows you will crash the Windows system. :) :)Hope this helps :) :)Bruce Forman :) :)> I know this isn't strictly a VB question, but I've seen many messages :)> concerning programming with the Netware interface for VB so maybe I can :)> keep from having to reinvent the wheel. :)> :)> Has anyone developed or know of someone (private or commercial) who has :)> developed a windows Netware login utility? :)> :)> I need one that will execute the users login script, map drives :)> appropriately, etc. :)> :)> Since we're a poor military site :-) we have to share computers among :)> many users, and exiting windows, logging out of Netware, logging in and :)> restarting windows many times each day would be a major PITA and would :)> waste a great deal of time. We're sidestepping this issue by logging :)> the machine's in, instead of individual users, but security is becoming :)> a concern. :)> :)> Any help greatly appreciated. :)> :)> :)> MSgt Rocky Rapson :)> rapsonr@og-scm.kadena.af.mil :)> :) :) :) :) :)********************************************************************** :) :) Bruce Forman,Programmer :) Computer Centre :) University of East London :) Tel: +44 (0)81-590 7722 ext. 2281 :) Fax: +44 (0)81-849 3462 :) Internet: B.Forman@uel.ac.uk :) CompuServe ID: 100046,2513 :) :)********************************************************************** :) ========================================================================= Date: Mon, 29 Aug 1994 07:49:07 GMT Comments: MEMO 1994/08/29 08:14 From: Michael R Kizer <2N18004@CCMAIL.EMIS.HAC.COM> Subject: SetSysModalWindow XE "SetSysModalWindow"  Actually the SetSysModalWindow makes the current window system modal, meaning that you cannot leave that window until it is destroyed. You could issue this API call before bringing up each child window. But I am not sure this is exactly what you want. You may wish to explore using MessageBlaster to trap message associated with the ALT+TAB (I think some one suggested this before). >>Thanks for the reply. I tried the function but once I used it in my >>parentform_load, I cannot do anything to my child forms (like inputing text). >>And I don't want to call that funtion everytime I load a form because of the >>num. of forms in my app. I only want to disable the task switching of my app. >>Anymore suggestion? I really apperciate it. >>Royce Wong >>rwong@bclcl1.im.battelleorg >>-There is a Windows API function called SetSysModalWindow (see API help file) >>-that will perform this task. Caution is advised, because during testing you >>can -really lock things up :^). >>-p.s. I have some sample code (not with me of course) that I could send you if >>-you want further information. *------------------------------------------------* * Michael Kizer -- 2n18004@ccmail.emis.hac.com * * Computer Sciences Corporation -- Tucson, AZ * *------------------------------------------------* ========================================================================= Date: Mon, 29 Aug 1994 11:22:31 -0400 Subject: Record locking XE "Record locking"  I just attended the week long Visual Basic Programming class. The section that covered VB's record locking scheme for Access databases concerns me. In either pessimistic or optimistic modes I find page locking to be unacceptable for multi-user applications. In other environments, such as Foxpro, we have been able to impliment record locking. The problem that I have with page locking is that it can potentially lock many records OTHER THAN the record that a user is actually editing. I consider this to be very user un-friendly. My question is, has anyone come up with a way to impliment true record locking for multi-user applications within Access? Or, ami forced to use another DBMS? -- Frank McPherson ab546@detroit.freenet.org fmcpherson@eworld.com ========================================================================= Date: Mon, 29 Aug 1994 11:48:09 EDT From: "Starsman, Lt Raymond S." <R_STARSMAN@NISE-P.NOSC.MIL> Subject: Simpler INI file interface XE "Simpler INI file interface"  On the advice of a fellow VB programmer (thanks Dena), I've written a small BAS file that provides a simpler 'front-end' to INI file interface. Add this file to your project and it should provide easier access to ini files. It consists of the 6 Windows API INI function declarations and 6 'mirror' VB functions: GetINIString, GetINIInt,WriteINIString for user ini files and GetWinINIString, GetWinINIInt, and WriteWinINIString for win.ini. These functions have a simpler interface than the API functions and take care of string allocation and trimmming. ______________________________CUT HERE_______________________________ Declare Function GetPrivateProfileInt Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer, ByVal lpFileName As String) As Integer Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lplFileName As String) As Integer Declare Function GetProfileInt Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal nDefault As Integer) As Integer Declare Function GetProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Integer) As Integer Declare Function WriteProfileString Lib "Kernel" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any) As Integer Function GetINIInt (FileName As String, Section As String, Item As String) As Integer Dim DefaultValue As Integer DefaultValue = 0 GetINIInt = GetPrivateProfileInt(Section, Item, DefaultValue, FileName) End Function Function GetINIString (FileName As String, Section As String, Item As String) As String Dim TempString As String Dim TempInt As Integer Dim DefaultValue As String TempString = Space$(255) DefaultValue = "" TempInt = GetPrivateProfileString(Section, Item, DefaultValue, TempString, 255, FileName) GetINIString = Left$(TempString, TempInt) End Function Function GetWinINIInt (Section As String, Item As String) As Integer Dim DefaultValue As Integer DefaultValue = 0 GetWinINIInt = GetProfileInt(Section, Item, DefaultValue) End Function Function GetWinINIString (Section As String, Item As String) As String Dim TempString As String Dim TempInt As Integer Dim DefaultValue As String TempString = Space$(255) DefaultValue = "" TempInt = GetProfileString(Section, Item, DefaultValue, TempString, 255) GetWinINIString = Left$(TempString, TempInt) End Function Sub WriteINIString (FileName As String, Section As String, Item As String, Value As String) Dim TempInt As Integer TempInt = WritePrivateProfileString(Section, Item, Value, FileName) If TempInt = 0 Then MsgBox "Error writing to INI File" End Sub Sub WriteWinINIString (Section As String, Item As String, Value As String) Dim TempInt As Integer TempInt = WriteProfileString(Section, Item, Value) If TempInt = 0 Then MsgBox "Error writing to INI File" End Sub ========================================================================= Date: Tue, 30 Aug 1994 00:00:09 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Stopping the execution of control-events In- XE "Stopping the execution of control-events"  > > sub grid_RowColChange > > 1 Dim tmpCol as Integer > 2 tmpCol = grid.Col > 3 grid.Col = 1 > 4 labelTitel.Caption = Grid.Text > 5 grid.Col = tmpCol > Yep! what you've got is a classic case of recursion...by setting #3, you trigger the routine again and ....that sets #3 and that triggers the routine ..which sets #3...etc What I do is declare a flag variable in the form's declaration. option explicit dim flg as integer 'For completeness, initialise flg to false in the form_load even sub grid_RowColChange if flg then exit sub 'Prevent recursion happening here! dim tmpCol as integer flg = true tmpCol = grid.Col grid.Col = 1 labelTitel.Caption = Grid.Text grid.Col = tmpCol flg = false end sub This should work! Good luck Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Mon, 29 Aug 1994 10:55:20 EDT From: Christopher Matheny <Christopher=Matheny%DSM%D-05@ODOT.DOT.OHIO.GOV> Subject: VB and windows resources XE "VB and windows resources"  VB slowly eats away at my windows resources until after about 1-2 hours of work, I have like 20% of my resources left and windows crashes. It only happens while testing applications during development, not while running the executable. Has anyone else had this problem and is there a reason why VB does not release 100% of the resources that it initially ties up? We've had this problem on more than one PC with 16mb of memory. ****************************************************************************** ******** Christopher Matheny d-05 server: christopher matheny@dsm@d-05 internet: cmatheny@oucsace.cs.ohiou.edu or cmm@odot.dot.ohio.gov Now it's over, I'm dead and I haven't done anything that I want; or I'm still alive and there's nothing I want to do. ****************************************************************************** ******** ========================================================================= Date: Mon, 29 Aug 1994 08:52:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Stopping the execution of control-events XE "Stopping the execution of control-events"  Try: sub grid_RowColChange static bInHereAlready as Integer If Not bInHereAlready then bInHereAlready = TRUE 1 Dim tmpCol as Integer 2 tmpCol = grid.Col 3 grid.Col = 1 4 labelTitel.Caption = Grid.Text 5 grid.Col = tmpCol bInHereAlready = FALSE End If End Sub ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Stopping the execution of control-events :)Date: Mond XE "pping the execution of control-events" ay, 29 Aug, 94 10:33AM :) :)I have a problem with a grid - :) :) I use the event grid_RowColChange() to react :) to the user changing to another Row. But in this event :) I need to get at some data in the first column of the :) new row, so I did the following: :) :) sub grid_RowColChange :) :)1 Dim tmpCol as Integer :)2 tmpCol = grid.Col :)3 grid.Col = 1 :)4 labelTitel.Caption = Grid.Text :)5 grid.Col = tmpCol :) :) run this for a few seconds and you get an 'out of stack space' - :) line 3 calls grid_RowColChange again, a typical cascading event. :) Is there a possiblity to stop the calling of a control's event? :) I tried grid.enabled = false in the beginning of grid_RowColChange, :) but no success. :) :) Anybody got an idea for a workaround? :) :) Thanx, :) Armin. :) :) awerner@frsbog.enet.dec.com :) ========================================================================= Date: Mon, 29 Aug 1994 13:39:00 PDT From: Hilly Ness <hillyn@EICON.COM> Subject: VB / Powerbuilder XE "VB / Powerbuilder"  Jerry, The company I work for uses both VB & PowerBuilder. The two can be used to compliment each other, but that usually means using VB to make up for PB's deficiencies. I find that I can write applications more quickly in VB and create better end user interfaces. The thing to remember is that for quick & dirty programs the data controls from VB & Q+E ar% fantastic and easy to use, but, for large mission critical systems, ALWAYS and I mean ***ALWAYS*** go the extra mile & manipulate your data via code. It's a little extra work but it really pays off in smaller exe's, speed & reliability! There is absolutely no question in my mind that VB is the way to go! Using Q+E's ODBC, I can link the same application to .DBF files for our remote users and Sybase for the locals. I can choose from a tremendous number of 3rd party products to make my life easier and my apps more appealing to the end users. For example, two of us just wrote an interface between Lotus Notes and MS-Mail (using VB, VB/Link to link to Notes and VSVBX for tabs & resizing of controls). An entry is made into a Lotus Notes database, the Server portion of our app. mails the data to a specific person and waits for a reply. When the mail is opened, the User portion loads the email form to display the data & obtain a reply. The reply is mailed back to the Server & saved as a response document in Lotus Notes. This was a piece of cake with VB! Yes, we could have done it with PB, but NEVER in the limited time we were given for the project! (there are also scores of books on how to program everything from games to customer support apps.... To date, I've only seen two books on PB. ) Even though version 3.0a is light years ahead of 2.0a or 3.0, and PowerSoft's support is getting better (albeit no less expensive!), working with PowerBuilder always seems to be a compromise. How many people have lost portions of their projects using PB's Checkin/Checkout feature? For what they charge for their package, I expect a lot more than what we got. PB programmers In the final analysis though, a systems' viability depends more on the way the application has been programmed rather than on the language used. Though I've seen good & bad apps written in both languages, I've noticed that PB programmers spend a lot more time debugging their code while VB programmers seem to spend more time trying to find places to add the features from their latest VBX or DLL acquisition. If you want to go into more detail you can call me at 514-631-2592 #2410 The opinion expressed here is my own and not necessarily that of the company for which I work! HNESS@EICON.COM ========================================================================= Date: Mon, 29 Aug 1994 14:51:24 ADT From: Dave Smith <DAVE-S@ACI1.ACI.NS.CA> Subject: Presenting Graphics! XE "Presenting Graphics!"  I am looking for a way to generate mathametical equations and flowcharts on a form with the following criteria. 1) Without the use of a third party VBX's. 2) I am using VB 3.0 PRO edition. 3) The fastest way possible. The problem is that the app is a timed exam with many questions. A question may use about half a page for problem and the rest of the page for possible solutions. 150 questions. Therefore, very graphic intensive. I can create the graphics in Corel Draw but what is the best format to export them as, and what is the optimum display procedure to use? Thks in advance. _________________________________________ David J. Smith Atlantic Computer Institute Nova Scotia, Canada Dave-s@aci1.aci.ns.ca _________________________________________ ========================================================================= Date: Mon, 29 Aug 1994 14:15:00 PDT From: Hilly Ness <hillyn@EICON.COM> Subject: Changing Version Dates XE "Changing Version Dates"  Are you referring to the files' time/date stamp? If so, you should use 'TOUCH'. Touch sets the time/date stamp to the current system date for all specified files. [[ TOUCH.COM : 3631 in TOUCH.COM ]] HNESS@EICON.COM ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Changing Version Dates Date: Thursday XE "ing Version Dates" , August 25, 1994 12:56PM Hey All, Does anyone have or know where I can find a VBX or DLL or even the C routines to change file version dates. We wrote a app and want to change all to version dates for the files to the same version date like M$ and others do. Thanks in advance for any help. Russell Greenlaw The following binary file has been uuencoded to ensure successful transmission. Use UUDECODE to extract. ========================================================================= Date: Mon, 29 Aug 1994 14:28:00 PDT From: Hilly Ness <hillyn@EICON.COM> Subject: Report Generators XE "Report Generators"  Is your buddy using Crystal Reports V3.0.0.3 ? If so, I'd be interested to know what the limitations are!?! hness@eicon.com ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Report Generators Date: Wednes XE "t Generators" day, August 24, 1994 9:02AM Hi Can anybody tell me what Borland ReportSmith is like (version 2 i think it's in now)? A friend of mine is hitting some anoying limitations with crystal reports and is looking for an alternative. Please, any other report writing products that are worth using? Ade adrianc@hesa.ac.uk ========================================================================= Date: Mon, 29 Aug 1994 14:26:04 EDT From: NancyJane Bailey <nbailey@POLARIS.CV.NRAO.EDU> Subject: Error w/Crystal Reports control XE "Error w/Crystal Reports control"  Hello all, I wrote a small program in VB 3 (Pro) that maniuplates a pre-existing dBase III database. I added a Crystal Reports control so that the user could print a report of the entire database. The program worked well in the VB environment. I then compiled the program, and the compiled version worked well too. (As I remember.) I then used the compiled version of the program to manipulate the database, add records, etc. When I tried to use the Crystal Reports control to print the (now modified) database, I got an error message "Error detected by database DLL". After receiving this error, I tried running the same program from within the VB environment. No errors. I recompiled the program, and tried running the recompiled program. Same error as before. Could someone explain to me what is going on? The only clue I have is that one screen for the Crystal Reports control says that this error means that the database DLL is corrupt. How can this be, if I can run the same program from within the VB environment? Nancyjane -- Nancyjane Bailey National Radio Astronomy Observatory Charlottesville, VA Internet: nbailey@nrao.edu ========================================================================= Date: Tue, 30 Aug 1994 02:33:23 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Record locking In- XE "Record locking"  > record locking for multi-user applications within Access? Or, ami > forced to use another DBMS? Hear hear...I'd like to hear more about this too...anybody out there can help? Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Mon, 29 Aug 1994 20:54:28 CEST From: Nicola Brion <MC1920@MCLINK.IT> Subject: help on winpen XE "help on winpen"  Hi, boys. My boss forced me to make a VB prog that had to go on a pen computer. I've ttried several ways to use pen's VBX on my poor 486/40 instead of writing my code using a pen on the IBM 486/20SX they've provided, but always I get 'This program requires mMS win for Pen Computer'. So I ant to know if someone (is there any guy from ma' MS out there?? :-))) know how i can make the Pen VBX works on my non-pen 486. I have the Pen For Win instl' disk (if it needs some special DLL ) and plus SDK and DDK, but I found nothing about. May you hel me avoiding to write instead of typing prog???? :-))) TIA Obelix ..And so we set out with the beast and his horns... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Mon, 29 Aug 1994 14:06:16 CDT From: Brian Larson <BL7385@ISOA.SBC.COM> Subject: Help writing utilities - which is best? XE "Help writing utilities - which is best?"  From: Brian Larson Subject: Help writing utilities - which is best? We are trying XE "writing utilities - which is best?"  to decide which help writing utility to buy. Currently we are considering Help Magician and RoboHelp. What is the best help writing utility available? What are the pros and cons of each? Is a stand-alone or Word-integrated (like RoboHelp) facility better? I need to provide feedback ASAP, so reply quickly. TIA BTW: For those of you who wanted VBFIX.ZIP for CR, I have not been able to get on to CICA to upload it. I'll keep trying. --Brian bl7385@isoa.sbc.com ========================================================================= Date: Mon, 29 Aug 1994 11:39:36 PST From: schoon <schoon@ADA.COM> Subject: Re[2]: Windows and Netware XE "Re[2]\: Windows and Netware"  Correct, but how do you load netx from within Windows?? Mark Schoon@ada.com ====== What??? Use the File Manager. You can connect to any network device and disconnect while in Windows with no problems. ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Windows and Netware :)Date: Friday, XE "dows and Netware"  26 Aug, 94 10:50AM :) :)You can't start Windows first and then login to a Netware server, you :)must do it the other way round. That is why no Netware login utlity :)exists for Windows. Similarly if you logout of Netware whilst in :)Windows you will crash the Windows system. :) :)Hope this helps :) :)Bruce Forman :) :)> I know this isn't strictly a VB question, but I've seen many messages :)> concerning programming with the Netware interface for VB so maybe I can :)> keep from having to reinvent the wheel. :)> :)> Has anyone developed or know of someone (private or commercial) who has :)> developed a windows Netware login utility? :)> :)> I need one that will execute the users login script, map drives :)> appropriately, etc. :)> :)> Since we're a poor military site :-) we have to share computers among :)> many users, and exiting windows, logging out of Netware, logging in and :)> restarting windows many times each day would be a major PITA and would :)> waste a great deal of time. We're sidestepping this issue by logging :)> the machine's in, instead of individual users, but security is becoming :)> a concern. :)> :)> Any help greatly appreciated. :)> :)> :)> MSgt Rocky Rapson :)> rapsonr@og-scm.kadena.af.mil :)> :) :) :) :) :)********************************************************************** :) :) Bruce Forman,Programmer :) Computer Centre :) University of East London :) Tel: +44 (0)81-590 7722 ext. 2281 :) Fax: +44 (0)81-849 3462 :) Internet: B.Forman@uel.ac.uk :) CompuServe ID: 100046,2513 :) :)********************************************************************** :) ========================================================================= Date: Mon, 29 Aug 1994 15:19:48 EST From: Bob Smith <BOB.SMI@JNTSEA.GSFC.NASA.GOV> Organization: Jackson and Tull Subject: WnetGetCachePassword XE "WnetGetCachePassword"  Just read your subject message of last week and didn't see any responses. In case you haven't had your question answered, I'll offer the following: As you are no doubt aware, a GPF at the time a function is called is usually the result of passing a pointer when a value is expected or vice versa. Your declaration has 2 strings which, in this case, surely require the BYVAL. You also have 3 integers. You preface each of these with BYVAL also. Are you sure that a value and not a pointer is needed here (in which case the BYVAL would not be used)? Something else occurs to me. You initialize wpass$ to all spaces and pass its value as well as its length based on the LEN fcn. Typically you should initialize a passed string to NULLs since the C construct of the Win API works with NULL-terminated strings. Now, prefacing the string with BYVAL _should_ translate your string "value" to a pointer representation with an appended NULL terminator. But since you are also passing the length of the string as an argument, I wonder if the function is choking on an improperly terminated string. Regards, Bob ------------------- [stuff deleted] > Declare Function WNetGetCachedPassword Lib "WFWNET.DRV" (ByVal pbResource$, > ByVal cbResource%, ByVal pbPassword$, ByVal pcbPassword%, ByVal nType%) As > Integer > > Dim wgrp$, wpass$, lwgrp%, lpass%, ntype%, result% > wgrp$ = "MIS" > wpass$ = String$(2048, 32) > lpass% = Len(wpass$) > lwgrp% = Len(wgrp$) > ntype% = 1 > result% = WNetGetCachedPassword(wgrp$, lwgrp%, wpass$, lpass%, ntype%) > > The program bombs at the call to the function? ========================================================================= Date: Mon, 29 Aug 1994 12:52:00 PDT From: Don Rueter <Don=Rueter%ComputerSvcs%OCC@BANYAN.CCCD.EDU> Subject: background zipping? XE "background zipping?"  Jesse Montrose <jesse@NETCOM.COM> Wrote: | | Anyone know how I can zip/unzip a file in the background? | I am shelling to pkzip now, but I'd rather not use a pif (to | avoid it going full screen), and can't find any other way to | keep pkzip minimized.. | | Has anyone tried the lib code from pkware? You might try a Shareware product called WinZip. I used it a while back, but haven't lately. ========================================================================= Date: Mon, 29 Aug 1994 12:57:19 PDT From: Don Rueter <Don=Rueter%ComputerSvcs%OCC@BANYAN.CCCD.EDU> Subject: your mail XE "your mail"  Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Wrote: | It is quite easy to get tabs in a | listbox with the use of two APIs SendMessage and GetDevice... (i | forget!) I've got a sample code segment around and will post it as | soon as I find it...until then...be patient! Left tabs only. I could sure use decimal alignment and right-aligned tabs? ========================================================================= Date: Mon, 29 Aug 1994 13:05:00 PDT From: Don Rueter <Don=Rueter%ComputerSvcs%OCC@BANYAN.CCCD.EDU> Subject: Desktop Print Function? XE "Desktop Print Function?"  Kyle Lutes <KDLUTES@UALR.EDU> Wrote: | Anyone got a function that will dump the contents of the desktop | to the currently selected printer? Some of our users would like | the ability to print "snapshots" of various forms and messages | they've got loaded on their Windows desktop. I'm sure this | isn't hard to do but then again I'm not sure how to program it. | I figure if I get a function, I can hook it up to a command | button or hot-key combination or something. | | Thanks, | Kyle Lutes kdlutes@ualr.edu, 74163,1123 Just press Alt-PrintScreen to copy the active window to the Clipboard or PrintScreen to copy the entire screen. Then--in Paintbrush, WordPerfect/Win, etc.--paste the clipboard into the document. You can print from there. Windows User's Guide (p. 60) suggests trial and error--if it doesn't work, try Alt-PrintScreen or Shift-PrintScreen. ========================================================================= Date: Mon, 29 Aug 1994 17:51:25 -0500 From: Brad Freels <brad@FC.NET> Subject: VB and windows resources In- XE "VB and windows resources"  gets so bad, VB will not even have enough memory to save a file. That really sux! I have not found out why, but if anyone does, please let me know! brad brad@fc.net ========================================================================= Date: Mon, 29 Aug 1994 17:54:42 -0500 From: Brad Freels <brad@FC.NET> Subject: Writing a .DLL XE "Writing a .DLL"  I am in the process of writing a .DLL in Visual C++. I am not quite sure what all I need to have in the program function wise. Anyone know of a book or article, or can e-mail me some info, I would be greatly appreciated. Also, I am trying to find out a way to get a users login name through a VB app. Anyone know how? brad brad@fc.net ========================================================================= Date: Mon, 29 Aug 1994 20:06:46 -0300 From: Robert Stokes <nstn0030@FOX.NSTN.NS.CA> Subject: table vs dynaset XE "table vs dynaset"  my apologies if this has already been discussed but what are the differences between table and dynaset objects resources particularly? Thanks - Robert Robert Stokes Bridgetown International Software Nova Scotia, Canada nstn0030@fox.nstn.ns.ca ========================================================================= Date: Mon, 29 Aug 1994 18:49:04 -0400 From: Scott Evans <gse@OCSYSTEMS.COM> Subject: Help writing utilities - which is best? In- XE "Help writing utilities - which is best?"  > we are considering Help Magician and RoboHelp. > > What is the best help writing utility available? > What are the pros and cons of each? > Is a stand-alone or Word-integrated (like RoboHelp) facility better? I haven't tried any Word-integrated tools since I don't use Word, but I use and love Visual Help. It's a powerful, very easy-to-use standalone tool. I've generated some great-looking helpfiles with it, and it hides all of the helpfile ugliness from you (and there's a lot). Plus, it's only $50, which is the bargain of the century compared to other help tools. BTW, this topic gets discussed a lot ... is it in a FAQ somewhere? ------------------------------------------------------------------------------ scott evans gse@ocsystems.com -----------------------------self is the universe----------------------------- ========================================================================= Date: Mon, 29 Aug 1994 16:48:31 -0700 From: Chris Rines <"WMCV01::CHRISR"@VMSMAIL.GOV.BC.CA> Subject: Tabs in Listboxes XE "Tabs in Listboxes"  > Date: Mon, 29 Aug 1994 12:57:19 -0700 (PDT) > From: Don Rueter <Don=Rueter%ComputerSvcs%OCC@BANYAN.CCCD.EDU> > Subject: your mail > XE "your mail"  > Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Wrote: > | It is quite easy to get tabs in a > | listbox with the use of two APIs SendMessage and GetDevice... (i > | forget!) I've got a sample code segment around and will post it as > | soon as I find it...until then...be patient! > > Left tabs only. I could sure use decimal alignment and right-aligned tabs? > There's always GTLIST.VBX, a shareware control that supports decimal alignment. Chris ========================================================================= Date: Tue, 30 Aug 1994 09:12:00 PDT From: "Rapson, Rocky J. MSgt" <rapsonr@HQ.U18OG.KADENA.AF.MIL> Subject: Re[2]: Windows and Netware XE "Re[2]\: Windows and Netware"  Since I started this thread, I thought I'd jump back in to clarify. The systems will already be attached to the server, (i.e., LSL, NIC software, IPXODI & VLM or NETX will already be loaded. What I need is a Windows Login utility that will execute the login script. The User Tools program that shipped with Netware 4.01 will allow login/logout to a server, but the script doesn't execute. I can't think why not, except that MS and Novell don't like each other, and don't want their systems to be too friendly or cooperative. MS wants you to use their network (NETBEUI, not an option for me) and Novell doesn't really want you to use Windows (again, not an option). I know you can (using Novell API calls, available in the NIVB/NWTEST files from Novell) map drives, so my real question was "has anyone already done this and would they like to share :-). Otherwise, I guess I'll have to do it myself (with all that "spare" time I have from only having to manage 11 separate networks ;-> ). Thanks for the responses so far, though. I appreciate any input. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * MSgt Rocky Rapson * * rapsonr@emh.kadena.af.mil * * 18th Operations Group * * Network Manager * * Okinawa, Japan * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * MailSig 1.6 - All wiyht. Rho sritched mg kegtops awound? ---------- > ---------------------------------------------------------------------------- -- > Correct, but how do you load netx from within Windows?? > > Mark > > Schoon@ada.com > > ====== > What??? Use the File Manager. You can connect to any network device and > disconnect while in Windows with no problems. > ---------- > :)You can't start Windows first and then login to a Netware server, you > :)must do it the other way round. That is why no Netware login utlity > :)exists for Windows. Similarly if you logout of Netware whilst in > :)Windows you will crash the Windows system. > :) > :)Bruce Forman > :) > :)> Has anyone developed or know of someone (private or commercial) who has > :)> developed a windows Netware login utility? > :)> > :)> I need one that will execute the users login script, map drives > :)> appropriately, etc. > :)> > :)> MSgt Rocky Rapson > :)> rapsonr@og-scm.kadena.af.mil ========================================================================= Date: Mon, 29 Aug 1994 20:49:57 -0400 From: Shanti Ronda <rondas@UCUNIX.SAN.UC.EDU> Subject: VB and windows resources In- XE "VB and windows resources"  using Microhelp's date control. Latest version from Micro Help got rid of this problem. One useful tool regarding this is Freemem utility from microsoft. You can see the resources decreasing and if you are lucky you can see when it is decreasing (like my case, where whenever I change the date, the resources used to go down). - Srinivas Karri > > Yes, I have this problem all the time. It becomes a real pain when you > have to exit windows all the time or you run out of memory. Sometimes it > gets so bad, VB will not even have enough memory to save a file. That > really sux! I have not found out why, but if anyone does, please let me > know! > > brad > brad@fc.net > ========================================================================= Date: Mon, 29 Aug 1994 13:41:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Record locking XE "Record locking"  What do you mean 'potentially lock many records...'; IT DOES! If you want a funky work-around you can add a field to every recordset (every table, if you don't do any joins) that will contain a boolean value. Use this to indicate record locks, TRUE & it's locked, FALSE & it isn't. You then have to make sure that you don't issue any 'edit' or 'addnew' methods until you are ready for the 'update' method (you will end up with page locking anyway during this time). You could also use this field as either a numeric or character field that will identify the user that currently has the record locked. This way if you don't have some sort of time-out scheme other users would know who locked the record & then went to lunch (remember, there is no time-out if you don't issue any method against the recordset). J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Record locking :)Date: Monda XE "ord locking" y, 29 Aug, 94 11:22AM :) :)I just attended the week long Visual Basic Programming class. The :)section that covered VB's record locking scheme for Access databases :)concerns me. In either pessimistic or optimistic modes I find page :)locking to be unacceptable for multi-user applications. In other :)environments, such as Foxpro, we have been able to impliment record :)locking. The problem that I have with page locking is that it can :)potentially lock many records OTHER THAN the record that a user is :)actually editing. I consider this to be very user un-friendly. :) :)My question is, has anyone come up with a way to impliment true :)record locking for multi-user applications within Access? Or, ami :)forced to use another DBMS? :) :)-- :)Frank McPherson :)ab546@detroit.freenet.org :)fmcpherson@eworld.com :) ========================================================================= Date: Tue, 30 Aug 1994 11:36:21 +0930 From: Prime Rat <shelps@ACHE.MAD.ADELAIDE.EDU.AU> Subject: VB and windows resources XE "VB and windows resources"  >VB slowly eats away at my windows resources until after about 1-2 hours of >work, I have like 20% of my resources left and windows crashes. It only >happens while testing applications during development, not while running the >executable. >Has anyone else had this problem and is there a reason why VB does not release >100% of the resources that it initially ties up? We've had this problem on >more than one PC with 16mb of memory. Try putting MaxBPs (maximum breakpoints) in your SYSTEM.INI file [386Enh] MaxBPs=768 /Rat ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ shelps@ache.mad.adelaide.edu.au|Stephen Helps PhD Ack! ___/| FAX (08)232-3283 |Anaesthesia & Intensive Care \O.o| Voice (08)224-5495 |University of Adelaide =(___)= |ADELAIDE, 5005, South Australia U ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dumas : Hey, who used the cardiac output computer last, it's busted! Yi Fei : Uuoohh. I dropped it the other day. But I did not break it... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ========================================================================= Date: Tue, 30 Aug 1994 10:00:20 GMT+800 Organization: Edith Cowan University Subject: table vs dynaset XE "table vs dynaset"  > my apologies if this has already been discussed but what are the > differences between table and dynaset objects resources particularly? > > Thanks The big difference is speed. Tables are really quick. Dynasets offer greater flexibility though, so I find I'm using dynasets a lot more than tables. I can live with the slower speed if it makes writing the code simpler. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Tue, 30 Aug 1994 11:59:09 +0930 From: Prime Rat <shelps@ACHE.MAD.ADELAIDE.EDU.AU> Subject: Visual Basic for Macintosh XE "Visual Basic for Macintosh"  Anyone heard of Visual Basic for the Apple Macintosh, whether it is not available, is available, will become available? Thanks /Rat ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ shelps@ache.mad.adelaide.edu.au|Stephen Helps PhD Ack! ___/| FAX (08)232-3283 |Anaesthesia & Intensive Care \O.o| Voice (08)224-5495 |University of Adelaide =(___)= |ADELAIDE, 5005, South Australia U ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Dumas : Hey, who used the cardiac output computer last, it's busted! Yi Fei : Uuoohh. I dropped it the other day. But I did not break it... ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ========================================================================= Date: Mon, 29 Aug 1994 21:39:57 -0500 Organization: spine.com Subject: background zipping? XE "background zipping?"  On Mon, 29 Aug 1994 12:52:00 PDT Don Rueter <Don=Rueter%ComputerSvcs%OCC@BANYAN.CCCD.EDU> wrote: > Jesse Montrose <jesse@NETCOM.COM> Wrote: > | Anyone know how I can zip/unzip a file in the background? > | I am shelling to pkzip now, but I'd rather not use a pif (to > | avoid it going full screen), and can't find any other way to > | keep pkzip minimized.. > | > | Has anyone tried the lib code from pkware? > > You might try a Shareware product called WinZip. I used it a while back, but > haven't lately. I use it, it's great, but I want something to run from vb.. -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 29 Aug 1994 21:40:14 -0500 Organization: spine.com Subject: Writing a .DLL XE "Writing a .DLL"  On Mon, 29 Aug 1994 17:54:42 -0500 Brad Freels <brad@FC.NET> wrote: > I am in the process of writing a .DLL in Visual C++. I am not quite sure what all I need to have in the program function wise. Anyone know of a > book or article, or can e-mail me some info, I would be greatly appreciated. Here's an example of a simple dll, compiles in borland or vc++. It converts a long to a 4byte string, and is called from vb like this: Declare Function LongToString Lib "spsoup.dll" (ByVal value As Long, ByVal ret As String) As Integer size = Len(txt) Dim ret As String * 4 ret = Space(4) If LongToString(ByVal size, ByVal ret) <> 1 Then MsgBox "bad return from LongToString?" End If ------- #define STRICT #include <windows.h> #define EXPORTED(type) extern "C" type FAR pascal _export EXPORTED(int) LongToString (long val, char *ret) { for (int i=3; i>=0; i--) { ret[i]=(char)(val & 0x000000ff) ; val >>= 8 ; } return 1 ; } -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Mon, 29 Aug 1994 22:06:31 -0500 Organization: spine.com Subject: Visual Basic for Macintosh XE "Visual Basic for Macintosh"  On Tue, 30 Aug 1994 11:59:09 +0930 Prime Rat <shelps@ACHE.MAD.ADELAIDE.EDU.AU> wrote: > Anyone heard of Visual Basic for the Apple Macintosh, whether it is not > available, is available, will become available? I heard (just rumor mind you) that the current port won't ship, in favor of a revamped version for powermac.. -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Tue, 30 Aug 1994 00:38:33 NST From: Howard Saunders <Hwrd__Mail_at_GOOSE-BAY@PORTHOLE.ENTNET.NF.CA> Subject: API Book corrections XE "API Book corrections"  >Could some kind soul please send me the list of corrections to Appleman's > API Book? I seem to have misplaced my copy. >thanks in advance! >NickBulka@aol.com Gee, I didn't even know there was a list... Maybe someone could post it here?? thanks in advance! Howard_Saunders@Mailer.entnet.nf.ca ========================================================================= Date: Tue, 30 Aug 1994 00:42:54 -0400 From: Guy Henry <ghenry@LOCKE.CCIL.ORG> Subject: Re[2]: Windows and Netware In- XE "Re[2]\: Windows and Netware"  From Autoexec.bat c:\windows\system\LSL {INSERT Network Card Specfic Driver} c:\windows\system\IPXODI c:\windows\system\NETX WIN All the files needed, except the NIC driver, came with Windows. I'd be interested in seeing a Windows only solution. On Mon, 29 Aug 1994, schoon wrote: > Correct, but how do you load netx from within Windows?? > > Mark > > Schoon@ada.com > > ====== > What??? Use the File Manager. You can connect to any network device and > disconnect while in Windows with no problems. > ---------- > :)From: owner-visbas-l > :)To: Multiple recipients of list VISBAS-L > :)Subject: Windows and Netware > :)Date: Frida XE "indows and Netware" y, 26 Aug, 94 10:50AM > :) > :)You can't start Windows first and then login to a Netware server, you > :)must do it the other way round. That is why no Netware login utlity > :)exists for Windows. Similarly if you logout of Netware whilst in > :)Windows you will crash the Windows system. > :) > :)Hope this helps > :) > :)Bruce Forman > :) > :)> I know this isn't strictly a VB question, but I've seen many messages > :)> concerning programming with the Netware interface for VB so maybe I can > :)> keep from having to reinvent the wheel. > :)> > :)> Has anyone developed or know of someone (private or commercial) who has > :)> developed a windows Netware login utility? > :)> > :)> I need one that will execute the users login script, map drives > :)> appropriately, etc. > :)> > :)> Since we're a poor military site :-) we have to share computers among > :)> many users, and exiting windows, logging out of Netware, logging in and > :)> restarting windows many times each day would be a major PITA and would > :)> waste a great deal of time. We're sidestepping this issue by logging > :)> the machine's in, instead of individual users, but security is becoming > :)> a concern. > :)> > :)> Any help greatly appreciated. > :)> > :)> > :)> MSgt Rocky Rapson > :)> rapsonr@og-scm.kadena.af.mil > :)> > :) > :) > :) > :) > :)********************************************************************** > :) > :) Bruce Forman,Programmer > :) Computer Centre > :) University of East London > :) Tel: +44 (0)81-590 7722 ext. 2281 > :) Fax: +44 (0)81-849 3462 > :) Internet: B.Forman@uel.ac.uk > :) CompuServe ID: 100046,2513 > :) > :)********************************************************************** > :) > Guy K. Henry <ghenry@locke.ccil.org> ========================================================================= Date: Tue, 30 Aug 1994 02:50:07 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: table vs dynaset XE "table vs dynaset"  From the knowledge base - hope this helps. Armin. awerner@frsbog.enet.dec.com ________________ Differences Between the Object Variables in VB Version 3.0 Article ID: Q103442 --------------------------------------------------------------------- The information in this article applies to: - Microsoft Visual Basic programming system for Windows, version 3.0 --------------------------------------------------------------------- SUMMARY ======= This article contains two references: - A revised version of the table outlined on the back of the "Professional Features Book 2" manual for Microsoft Visual Basic version 3.0 Programming System for Windows. This table outlines the differences in the properties and methods of the three main data access objects (table, dynaset, and snapshot) in Visual Basic version 3.0. - A brief list of the differences between table, database, dynaset, querydef, and snapshot objects. MORE INFORMATION ================ Revised Table for the Back of "Professional Features Book 2" ------------------------------------------------------------ The following table lists most of the properties and methods that apply to each of the database objects. - Yes means the object does contain the property or method in both the Standard and Professional Editions of Visual Basic version 3.0 for Windows. - No means the object does not contain the property or method in either the Standard or Professional Edition of Visual Basic version 3.0 for Windows. - Yes/PRO means the object contains the property or method only in the Professional Edition, not the Standard Edition, of Visual Basic version 3.0 for Windows. - (docerr) highlights that information as a correction to the information given in the original table shown on the back of the "Professional Features Book 2." ----------------------------------------------------------------- Properties Table Dynaset Snapshot ----------------------------------------------------------------- BOF Yes/PRO Yes Yes/PRO BookMark Yes/PRO Yes Yes/PRO BookMarkable Yes/PRO Yes Yes/PRO DateCreated Yes/PRO No No EOF Yes/PRO Yes Yes/PRO Filter No Yes/PRO Yes/PRO Index Yes/PRO No No LastModified Yes/PRO Yes No LastUpdated Yes/PRO No No LockEdits Yes/PRO Yes No Name Yes/PRO Yes Yes/PRO NoMatch Yes/PRO Yes Yes/PRO RecordCount Yes/PRO Yes Yes/PRO Sort No Yes/PRO Yes/PRO Transactions Yes/PRO Yes No Updatable Yes/PRO Yes No ----------------------------------------------------------------- Methods Table Dynaset Snapshot ----------------------------------------------------------------- AddNew Yes/PRO Yes No Clone Yes/PRO Yes/PRO Yes/PRO Close Yes/PRO Yes Yes/PRO CreateDynaset Yes/PRO Yes/PRO(docerr) No CreateSnapshot Yes/PRO No Yes/PRO(docerr) Delete Yes/PRO Yes No Edit Yes/PRO Yes No FindFirst No(docerr ) Yes Yes/PRO FindLast No(docerr ) Yes Yes/PRO FindNext No(docerr ) Yes Yes/PRO FindPrevious No(docerr ) Yes Yes/PRO ListFields Yes/PRO Yes/PRO Yes/PRO ListIndexes Yes/PRO Yes/PRO Yes/PRO MoveFirst Yes/PRO Yes Yes/PRO MoveLast Yes/PRO Yes Yes/PRO MoveNext Yes/PRO Yes Yes/PRO MovePrevious Yes/PRO Yes Yes/PRO Seek Yes/PRO No No Update Yes/PRO Yes No List of Differences Between Data Access Objects ----------------------------------------------- Below, object by object, is a list of differences, recommendations, and suggestions for each of the various data access objects. The page numbers refer to pages in the "Professional Features Book 2." Article Q numbers refer to other Microsoft Knowledge Base articles which give provide additional information. Snapshot Objects - Snapshots return all of the selected data and Dynasets return only a set of keys that indirectly reference the database's records (page 57). Therefore when retrieving a small number of records in a recordset, you may want to use a dynaset instead of a snapshot unless this is the first time you are using a newly created snapshot or dynaset. - When either a snapshot or a dynaset is first created -- prior to any movelast operation -- both the snapshot and the dynaset return one page (2048 bytes) of data. The dynaset also fetches the keyset of the dynaset. This means that on first creation, snapshots, as the name implies, return faster. However, if you were to proceed record by record sequentially through the entire recordset, you'd find that the dynaset navigates faster -- approximately two times faster. This is because navigating by keyset instead of by local pointers is more efficient. - Snapshots return all the selected data when movelast is executed or when the entire recordset is completely navigated. Therefore, in these two cases, trying to retrieve a large amount of data (a large number of records) could take some time. It may take less time to use Dynasets instead of Snapshots in this scenario (page 57). - Snapshots can become outdated (the data is no longer current) quickly in a multiuser environment (page 57). - Snapshots cannot use the Transaction statements (BeginTrans, CommitTrans, and RollBack). - Snapshots or dynasets cannot use the Seek method because Seek applies only to table objects. However, snapshots or dynasets can use the Find method instead of the Seek method. - Snapshots cannot use Edit, AddNew, Delete, or Update properties that pertain to data changes made in records. Snapshot objects are a read-only type of dynaset. - Snapshot objects may be good for taking summary reports, since they contain a fixed copy of the data as it existed when the snapshot was created. If data is changed, a snapshot will not show the change until the snapshot is rebuilt (page 57). - Snapshots can be created from an existing dynaset or snapshot, but you cannot create a dynaset from an existing snapshot (page 56). - Snapshots can contain table name(s), attached tables, querydef objects or SQL statements(pg. 56). - Snapshot object membership is fixed (page 48). Dynasets Objects - Dynaset and snapshot objects can use the Sort property, but the table object and the data control cannot use the Sort property. To sort data with a data control, use the ORDER BY clause of an SQL statement or query. To sort a table object, set an Index property on a field that already has a Index specified (example shown on pages 50 and 75). - Dynasets are the most flexible of the three objects listed in the table above (page 51). - Dynasets are a dynamic (not fixed) subset of records. Dynasets can contain attached tables, table name(s), querydef object name or SQL query (page 51). - Filters are used to screen records to be brought back in dynasets or snapshots (page 53). Table objects cannot use filters. - Dynasets can be locked with a page-locking scheme with a page containing a maximum of 2K of data (page 54). Page 54 also mentions pessimistic and optimistic locking methods. - Dynasets that are formed because of a query or SQL string are suspended until the query or SQL string returns the first record (page 51). - Dynaset or snapshot objects can be filtered using the Filter property or sorted using the Sort property even further by using a second dynaset or snapshot object(page 53). - Dynaset or snapshot objects are used with querydef objects. Also, the ListParameters method returns a snapshot with one record for each parameter used by the query (pages 93 and 97). - Dynaset objects do not reflect changes made by others until you recreate the Dynaset variable or execute the CreateDynaset method with no arguments (page 55). - Dynaset object membership is fixed, you can add, change, and delete records, and a result is returned by a query (page 48). - Dynaset objects can create an inconsistent dynaset with the DB_INCONSISTENT flag. But it may be harder to keep referential integrity when this flag is specified (pages 58, 59, and 85). - To improve performance, you may want to add the option DB_READONLY if you are not writing to or allowing the users to make changes to database records (pages 58 and 59). Table objects - Table objects have direct access to the data records (page 49). The data in a table object variable always reflects all current changes, including the additions of new records and the deletions of existing records (page 50). - Table objects cannot be created from attached tables (page 50). - Table object membership can change. You can add, change, and delete records, but there is no result returned by a query (page 48). - Table objects cannot use the Find method (page 72). - Table, database and dynaset objects can be locked, but a snapshot object cannot be locked (pages 88 and 89). - Table objects provide the most up-to-date view of your data because the data in a table variable always reflects all current changes (page 50). - Table objects can be ordered on a Indexed field, the Index property does apply. But the Index does not apply to data controls, snapshots or dynasets (see example on page 75). - When looking for a single, specific record, you may want to use the Seek method with a table ob���������������� �� �� �� �� �������������������������������������� ��!��"��#��$��%��&��'��(��)��*��+��,��-��.��/��0��1��2��3��4��5��6��7��8��9��:��;��<��=��>��?��@��A��B��C��D��E��F��G��H��I��J��K��L��M��N��O��P��Q��R��S��T��U��V��W��X��Y��Z��[��\��]��^��_��`��a��b��c��d��e��g��h��i��j��k��l��m��n��o��p��q��r��s��t��u��v��w��x��y��z��{��|��}��~������ject because it is the fasted way to retrieve a single record (page 74). QueryDef Objects - querydef objects may be more efficient. For example, use a stored query of an SQL string as an argument to the recordset of querydef to produce a filtered dynaset or snapshot instead of creating a dynaset or snapshot and then filtering it (page 67). - querydef objects do not store data. They store the definition of a query used to retrieve data (page 91). - querydefs can be created only on a Microsoft Access or Visual Basic database (page 92). - querydefs require a name. You must supply a name for the query when you create it (page 92). Additional reference words: 3.00 KBCategory: KBSubcategory: APrgDataAcc ========================================================================= Date: Tue, 30 Aug 1994 09:50:43 +0200 From: Omer Ben-Shalom <obshalom@CS.HUJI.AC.IL> Subject: Import & Export ACCESS-data In- XE "Import & Export ACCESS-data"  > is that you know ahead of time it's going to be round!!! I haven't found > a way to call any access code apart from tables and queries. But by using > recordsets and begintrans the speed of it all is quite good. > > Hope this helps, > > Eric Laverdiere, > Montreal,Canada > MIS Masters Degree Student > Ecole des Hautes Etudes Commerciales. I am sorry to say that the only way I found to do it is both a bit messy AND restricted but maybe you'd like it better then doing it yourself. you can freely (as far as I can tell) call access macro's from vb3 (at lease access 1.1). so - write yourself a macro doing the import/export and call it. I haven't really goten into it and there might be a few problems (i haven't tried to pass parameters like the table to export, et'c) but you might want to try it. the way to do it is to establish a DDE link to access (system subject) and call it. there is an article on the subject of DDE with access in ftp.microsoft.com (developr/vb/kb if i'm not mistaken) cheers Omer ========================================================================= Date: Tue, 30 Aug 1994 11:12:13 CEST From: Marco Scozzafava <MC0639@MCLINK.IT> Subject: Vb And Access Pictur XE "Vb And Access Pictur"  >From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> >Subject: Vb And Access Pictures XE "Vb And Access Pictures"  > >there are several possibilities, most probably more elegant than this, but >this works: in your database store the path and name of the picture, then >use loadpicture to put the path and name in a picturebox. i use a hidden >label with the command in the change event. this has one advantage (the >one that is important to me) in that a relatively tiny mdb file can point >to gigabytes of images. Thanks for your answer but...I cannot save picture outside .mdb. I MUST (for security reasons) have only 1 protected .mdb and all object MUST be saved into it. Any other suggestion? :-)) Marco Scozzafava -----> mc0639@mclink.it ========================================================================= Date: Mon, 29 Aug 1994 20:03:23 +0200 From: Carlos Goncalves <cg@CI.UMINHO.PT> Subject: jpeg viewer control? XE "jpeg viewer control?"  > > On Sun, 21 Aug 1994, Richard Rosenheim wrote: > > > Does anyone know of a public domain/shareware VBX to display a JPEG file? > > > > I'm just prototyping an idea so I'm not ready to purchase a JPEG VBX yet. > > > > There is a DLL called ECJDLL11.* that allows you to view JPEG.. I could > possibly UUENCODE it for ya if ya want... > I would like to have a copy too, if possible. TIA! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Carlos Goncalves cg@ci.uminho.pt ========================================================================= Date: Tue, 30 Aug 1994 05:47:07 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: VB and windows resources XE "VB and windows resources"  VB slowly eats away at my windows resources until after about 1-2 hours of work, I have like 20% of my resources left and windows crashes. It only happens while testing applications during development, not while running the executable. Has anyone else had this problem and is there a reason why VB does not release 100% of the resources that it initially ties up? We've had this problem on more than one PC with 16mb of memory. Don't use the 'stop' button on the VB toolbar, since, when using it VB doesn't execute your app's exit code, and won't therefore free up all resources. (so don't alter variable declarations whilst the program is halted, otherwise VB will helpfully suggest you restart your program, giving rise to the same problems. In your exit code it helps to unload all forms before executing the 'End' command ========================================================================= Date: Tue, 30 Aug 1994 05:47:08 EST From: NewsonAP_at_GBPOL@CCIP.PERKIN-ELMER.COM Subject: WM_SETREDRAW? XE "WM_SETREDRAW?"  Anyone using this? I'm having trouble with it.. I'm adding stuff to a listbox, and want to turn redraw off during the adds (rather than flipping the .visible). I'm calling this: Global Const WM_SetRedraw = &HB rc = SendMessage(lContents.hWnd, WM_SetRedraw, 0, 0) 'redraw off before the add loop, and my SendMessage works for other messages, so that's not it.. I'm afraid that I may be missing something fundamental in the workings of WM_SETREDRAW :) Thanks.. -- The last parameter is a long int, so should be passed as 0&. Some msgs don't require lparam to be passed byval, but this one looks like it does; I'm not sure how MS have it in their help file, since I probably changed it... ========================================================================= Date: Tue, 30 Aug 1994 12:18:15 BST From: Mr Craig Poxon <ch21cp@SURREY.AC.UK> Subject: Always Minimized In- XE "Always Minimized"  Hi Artur..... > > I want a routine that do my program and others ones stay Always > Minimized. I have a application that my users can't open. > > Thanks, There are a couple of ways of doing this. The easy VB way is to create the form and set the following properties: MaxButton=False MinButton=False WindowState=1 - minimized Your app will start up in a minimised state and the control menu will not have the Restore or Maximize options on it. !!!!!_BUT_!!!!! I have found a problem with this. If you click on a minimised icon once the control menu will appear, then if you double click on the minimised icon the applications form will be displayed with no way of minimising it again. Sooooooo, the way I get round this is to not turn the Max and Min buttons off with the Properties but to actually physically remove the items from the control box menu with the API call RemoveMenu. This not only prevents restoration of a minimised icon from the control menu but it also seems to remove the associated code so you cant do the single click, double click trick. p.s. Martin Peck, can you keep a copy of this message for me. ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 30 Aug 1994 07:33:33 EDT From: "Starsman, Lt Raymond S." <R_STARSMAN@NISE-P.NOSC.MIL> Subject: Presenting Graphics! XE "Presenting Graphics!"  Export the graphics as WMFs and use a picture box to display them. Use the LoadPicture function to display your graphic. For example, Picture1.Picture=LoadPicture("graphics.wmf"). Scott r_starsman@nise-p.nosc.mil ______________________________ Reply Separator _________________________________ Subject: Presenting Graphics! Author: Discu XE "nting Graphics!" ssion for Microsoft Visual Basic and Related Issues <VISBAS-L@tamvm1.tamu.edu> at SMTP-GW Date: 8/29/94 5:33 PM I am looking for a way to generate mathametical equations and flowcharts on a form with the following criteria. 1) Without the use of a third party VBX's. 2) I am using VB 3.0 PRO edition. 3) The fastest way possible. The problem is that the app is a timed exam with many questions. A question may use about half a page for problem and the rest of the page for possible solutions. 150 questions. Therefore, very graphic intensive. I can create the graphics in Corel Draw but what is the best format to export them as, and what is the optimum display procedure to use? Thks in advance. _________________________________________ David J. Smith Atlantic Computer Institute Nova Scotia, Canada Dave-s@aci1.aci.ns.ca _________________________________________ ========================================================================= Date: Tue, 30 Aug 1994 11:16:29 +0100 From: Chris Harris <C.Harris@ESG.MAFF.GOV.UK> Subject: Tiling application windows In- XE "Tiling application windows"  and stays at its current size and position, while a gap is left onscreen for it to fill. This happens when it is normal or minimized state. Chris Harris ========================================================================= Date: Tue, 30 Aug 1994 13:12:21 BST From: Mr Craig Poxon <ch21cp@SURREY.AC.UK> Subject: Disable Task Switching In- XE "Disable Task Switching"  > rwong@bclcl1.im.battelle.org > > >>I am looking for a DLL that will disable the Task Switching when the > >>user is running my VB app. What I meant by "Task Switching" is the Alt-Tab and > >>Ctrl-Esc functions in Windows. That DLL has to disable all the Task Switching > >>functions for all my child forms as well. > >>Does anyone know about such a DLL? If so please let me know. I need it in a > >>hurry and thnaks a bunch! :) > > There is a Windows API function called SetSysModalWindow (see API help file) > that will perform this task. Caution is advised, because during testing you can > really lock things up :~). > > p.s. I have some sample code (not with me of course) that I could send you if > you want further information. For this I use the API call SystemParametersInfo with the SPI_SETFASTTASKSWITCH (36) uAction parameter. This really is the only `correct' answer to the question you asked compared to the getarounds supplied by other people. But there may be a problem. I heavily emphasise the would _MAY_ because I haven't investigated this properly. When I used this call to disable FastTaskSwitching, when I hit ALT-TAB, although the task didn't switch, I could briefly see an outline of the form or minimised icon. I was using it in a screen saver program so it didn't look good. But I haven't had time to investigate this. Let me know what happens with you. I thought perhaps that I hadn't correctly informed Windows of the change with the correct flag. ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Tue, 30 Aug 1994 08:22:37 -0400 From: Eric Laverdiere <K386@HEC.CA> Organization: Ecole des Hautes Etudes Commerciales de Montreal Subject: Import & Export ACCESS-data XE "Import & Export ACCESS-data"  On the 30th of Auguts, Omer wrote back: ... the way to do it is to establish a DDE link to access (system subject) and call it. He was refering to calls made by VB to ACCESS macros. My question is will this work if the user does not have ACCESS installed? How can your app exchange data with ACCESS if it isn't there? See you next time, Eric Laverdiere, MIS Masters Degree Student Ecole des Hautes Etudes Commerciales Montreal,Canada ========================================================================= Date: Tue, 30 Aug 1994 08:27:47 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: Record locking -Reply XE "Record locking -Reply"  What would you say to a scheme that uses two recordsets? If the first one is read only what locking would occur? When the user indicated that s/he was interested in updating a record the code could locate the record, .Edit, move in data and .Update with the second recordset. How much less locking would there be and how much longer (elapsed time) if the CreateRecordset and .Close methods were wrapped arround that update activity. Has anyone done these investigations? SLFN - IanO - >>>>>>>>>>>>>>> What do you mean 'potentially lock many records...'; IT DOES! If you want a funky work-around you can add a field to every recordset (every table, if you don't do any joins) that will contain a boolean value. Use this to indicate record locks, TRUE & it's locked, FALSE & it isn't. You then have to make sure that you don't issue any 'edit' or 'addnew' methods until you are ready for the 'update' method (you will end up with page locking anyway during this time). You could also use this field as either a numeric or character field that will identify the user that currently has the record locked. This way if you don't have some sort of time-out scheme other users would know who locked the record & then went to lunch (remember, there is no time-out if you don't issue any method against the recordset). J. Schottenloher SCHOTTENLO@POST3.LAAFB.AF.MIL ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Record locking :)Date: Monda XE "ord locking" y, 29 Aug, 94 11:22AM :) : lines deleted )My question is, has anyone come up with a way to impliment true :)record locking for multi-user applications within Access? Or, ami :)forced to use another DBMS? :) :)-- :)Frank McPherson :)ab546@detroit.freenet.org :)fmcpherson@eworld.com :) <<<<<<<<<<<<<<< ========================================================================= Date: Tue, 30 Aug 1994 08:36:42 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: Writing a .DLL -Reply XE "Writing a .DLL -Reply"  >>>>>>>>>>>>>>> I am in the process of writing a .DLL in Visual C++. I am not quite sure what all I need to have in the program function wise. Anyone know of a book or article, or can e-mail me some info, I would be greatly appreciated. Also, I am trying to find out a way to get a users login name through a VB app. Anyone know how? ---> If the *login* was a result of using the Access database security then you can use the CurrentUser() function. HTH - IanO - brad brad@fc.net <<<<<<<<<<<<<<< ========================================================================= Date: Tue, 30 Aug 1994 09:36:04 -0400 From: Shanti Ronda <rondas@UCUNIX.SAN.UC.EDU> Subject: table vs dynaset XE "table vs dynaset"  A while ago ( may be two issues back) Visual Basic Programmers Journal has an article about dynasets, snapshots and tables. Unfortunately I am not able to locate my copy to give you the exact issue number. Anyway it discusses all the pros and cons about each and a little bit of their internals also. - Srinivas Karri > > > my apologies if this has already been discussed but what are the > > differences between table and dynaset objects resources particularly? > > > > Thanks > > The big difference is speed. Tables are really quick. Dynasets offer > greater flexibility though, so I find I'm using dynasets a lot more > than tables. I can live with the slower speed if it makes writing the > code simpler. > > > > ========================================================================== > Richard Czerwonka, Visual Basic/Progress Programmer > Administrative Computing Services, > Information Technology Division, > Edith Cowan University, Phone: 61-9-383 8664 > Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 > Australia E-Mail: R.Czerwonka@cowan.edu.au > .------------------------------------------------------------------------. > | Opinions expressed here are all mine and nobody elses, especially not | > | my employers (I don't know what they are anyway!) | > `------------------------------------------------------------------------' > ========================================================================= Date: Tue, 30 Aug 1994 09:11:18 -0500 From: Armin von Werner <"diesch::awerner"@FRSBOG.ENET.DEC.COM> Subject: how to scroll a grid? XE "how to scroll a grid?"  I have a form with a large grid - How can I detect whether the vertical scrollbar is being displayed? I use a text box placed over a cell to edit data in the grid, but when I scale the box to the size of the selected cell I need to know how far I can go to the right without writing over the border of the grid OR the scrollbar - if the latter is being displayed at the moment. Alternately - how do I automatically scroll a grid when the user selects a cell that is only partially displayed so that it is fully displayed? (or how do I scroll a grid at all?) Thanks for any replies, Armin. awerner@frsbog.enet.dec.com ========================================================================= Date: Tue, 30 Aug 1994 10:28:18 EDT From: Dena Engstrom <dena@DELFINVB.DELFIN.COM> Subject: Windows and Netware XE "Windows and Netware"  I wasn't the original author, but I do have a question for James. I can easily connect to drives using Windows for Workgroups using File Manager, but how do you accomplish this task using Netware? My understanding is that this all must be done in DOS before the Windows session is started. James J. Schottenloher writes: >What??? Use the File Manager. You can connect to any network device and >disconnect while in Windows with no problems. > ---------- >:)From: owner-visbas-l >:)To: Multiple recipients of list VISBAS-L >:)Subject: Windows and Netware >:)Date: Frida XE "ndows and Netware" y, 26 Aug, 94 10:50AM >:) >:)You can't start Windows first and then login to a Netware server, you >:)must do it the other way round. That is why no Netware login utlity >:)exists for Windows. Similarly if you logout of Netware whilst in >:)Windows you will crash the Windows system. >:) >:)Hope this helps >:) >:)Bruce Forman >:) >:)> I know this isn't strictly a VB question, but I've seen many messages >:)> concerning programming with the Netware interface for VB so maybe I can >:)> keep from having to reinvent the wheel. >:)> >:)> Has anyone developed or know of someone (private or commercial) who has >:)> developed a windows Netware login utility? >:)> >:)> I need one that will execute the users login script, map drives >:)> appropriately, etc. >:)> >:)> Since we're a poor military site :-) we have to share computers among >:)> many users, and exiting windows, logging out of Netware, logging in and >:)> restarting windows many times each day would be a major PITA and would >:)> waste a great deal of time. We're sidestepping this issue by logging >:)> the machine's in, instead of individual users, but security is becoming >:)> a concern. >:)> >:)> Any help greatly appreciated. >:)> >:)> >:)> MSgt Rocky Rapson >:)> rapsonr@og-scm.kadena.af.mil >:)> >:) >:) >:) >:) >:)********************************************************************** >:) >:) Bruce Forman,Programmer >:) Computer Centre >:) University of East London >:) Tel: +44 (0)81-590 7722 ext. 2281 >:) Fax: +44 (0)81-849 3462 >:) Internet: B.Forman@uel.ac.uk >:) CompuServe ID: 100046,2513 >:) >:)********************************************************************** >:) > > Dena ===================================================== Dena J. Engstrom Email: dena@delfinvb.delfin.com Delfin Systems Phone: (804) 486-5294 Norfolk Operations ===================================================== ========================================================================= Date: Tue, 30 Aug 1994 07:36:00 -0700 From: John von Colditz <johnvon@HALCYON.COM> Subject: how to scroll a grid? In-> I XE "how to scroll a grid?"  have a form with a large grid - > > How can I detect whether the vertical scrollbar is being > displayed? I use a text box placed over a cell to edit data in the grid, > but when I scale the box to the size of the selected cell I need to know > how far I can go to the right without writing over the border of the > grid OR the scrollbar - if the latter is being displayed at the moment. > > Alternately - how do I automatically scroll a grid when > the user selects a cell that is only partially displayed so that > it is fully displayed? (or how do I scroll a grid at all?) > Armin, I would advise you to get a copy of Data Widgets from Sheridan. It is about $100. It has an enhanced Data Grid that is much easier to work with than the MSFT Data Grid. It's worth lookin at. ======================================================================== John von Colditz Internet: johnvon@halcyon.com Information Technology Assessment CompuServe: 71564,2174 20125 181 PL NE Woodinville, WA Phone: 206-788-4616 Fax: 206-788-4616 ======================================================================== ========================================================================= Date: Tue, 30 Aug 1994 17:47:32 +0000 From: Khaled Hassan <"URIT02::\"khasan@ritsec.com.eg\""@VRIT01.EG> Subject: IPXSPX control question XE "IPXSPX control question"  I have downloaded the IPXSPX control from cica and when I tried to use it, it asked me about NWCALLS.DLL and I dont have so if any one have this DLL or tryed the IPXSPX control please help me because I really need to use it any help will be appriciated thankx in advance **************************************************************************** * Khaled Hassan Nabil * * Regional Information Technology * * & * * Software Engineering Center //// * * (. .) * *_____________________________________________________________o00-(_)-00o__* * Bitnet Address | khasan@vrit01.eg * * Internet Address | khasan@ritsec.com.eg * **************************************************************************** ========================================================================= Date: Tue, 30 Aug 1994 22:55:16 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Writing a .DLL In- XE "Writing a .DLL"  > what all I need to have in the program function wise. Anyone know of a > book or article, or can e-mail me some info, I would be greatly appreciated. Away on leave this week, but will send you some basic code next week. You basically need a LibMain (similar to WinMain for Windows code) as an entry pount and then have to declare all your exported functions as FAR. As a good standard I think you also need to define a WEP (Windows Exit Procedure) to tidy up when the DLL is unloaded. Will e-mail specifics when I get back. > Also, I am trying to find out a way to get a users login name through a > VB app. Anyone know how? Are you talking login to network or MS Access d/base? If its a MS/Access d/base login, I think someone else has already replied. If its a Windows machine using Lan Manager, there is an undocumented API WNetGetUser which will happily return the current user logged on (specifics to this will be mailed when I get back!). There is a different routine req'd for user name from a WFW or NT network. If you've got a mixture of machine configurations, you might need to alias this API and call a different API first to work out which system is on the current machine. Based on this, you will then need to call the right API to do the job ... I was trying to do this before leaving ... will get back to it next week. Anybody else with ideas about more elegant solutions? Hope this is helpful....o/wise just ask 8^) Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Tue, 30 Aug 1994 23:10:48 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Record locking -Reply In-> What w XE "Record locking -Reply" ould you say to a scheme that uses two recordsets? > If the first one is read only what locking would occur? > When the user indicated that s/he was interested in updating a record > the code could locate the record, .Edit, move in data and .Update with the > second recordset. > How much less locking would there be and how much longer (elapsed time) if the > CreateRecordset and .Close methods were wrapped arround that update activity. > Has anyone done these investigations? > Well I do precisely that in an application and it works like a beauty. I've written a phone-book system for my org., where users have a VB frontend to a Access DB on a shared n/work drive. Since most people use the phonebook as a readonly source, I have used snapshots for all retrieval. When an administrator tries to change data, I create a dynaset for the edit/update. I then go through the dynaset looking for the same key values as the entry to be modified. If it is there, I do an Edit/Update on the dynaset. O/wise I inform the user that the entryt has been deleted/modified by another administrator and refresh the snapshot. ie. my code is something like this Open_DB CreateSnapshot(someSQLCriteria) Load_ListBox_from_Snapshot ....blah blah blah until the User clicks on the Update menu item CreateDynaset(someSQLCriteria) flg = Search_For_Key_Values_In_Dynaset 'Search_For_Key_Values_In_Dynaset returns true if the entry 'selected in the snapshot exists in the dynaset. False o/wise if flg then Read_Details_To_Be_Modified dst.edit dst.fields("yarpyarp")=frm.txtYarpYarp dst..... dst.update else msgbox "entry has been modified by another administrator" Refresh_Snapshot_And_Load_Listbox dst.close end if Clear as mud?!?! :-) Works like a charm for me...but of course any more elegant solutions will be considered anytime! Chris __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Tue, 30 Aug 1994 18:17:40 +0300 From: Tuomas M J Salste <salste@CC.HELSINKI.FI> Subject: Invalid file format (of .EXE) XE "Invalid file format (of .EXE)"  My app is around 500 kB and has thus far run well both 'inside' VB and compiled. Now, however, when I try to run the compiled .EXE I only get a message Invalid file format. What can this be? Tuomas Salste salste@kruuna.helsinki.fi http://www.helsinki.fi/~salste/ = = = = = = = = = = Today's unofficial blonde joke (quality not guaranteed by me): 241. Q: Why should you never take a blonde out for coffee? A: It's too hard to re-train them. ========================================================================= Date: Tue, 30 Aug 1994 11:35:20 EDT From: Dena Engstrom <dena@DELFINVB.DELFIN.COM> Subject: Invalid file format (of .EXE) XE "Invalid file format (of .EXE)"  >My app is around 500 kB and has thus far run well both 'inside' VB and >compiled. Now, however, when I try to run the compiled .EXE I only get a >message Invalid file format. What can this be? I've had this happen when an old version of the VSVBX.VBX is installed, but I compiled under the new version. It could be something other than VSVBX, that's just where I've seen it. Dena ===================================================== Dena J. Engstrom Email: dena@delfinvb.delfin.com Delfin Systems Phone: (804) 486-5294 Norfolk Operations ===================================================== ========================================================================= Date: Tue, 30 Aug 1994 08:22:32 PST From: schoon <schoon@ADA.COM> Subject: Re[4]: Windows and Netware XE "Re[4]\: Windows and Netware"  Now that I think about it.... Being able to login a user through Windows and run a login script, might be plausable. The biggest hurdle I can see is when drive mappings change and possibly a drive being removed. I'm sure there is an API to handle that since the file manager will let you map to drives on the netowrk. It should also be possible to point to different printers through print manager. My interst has been peaked! Mark _|||||_ (' O O ') Wake up: try TCP/IP ! ---------------ooO-(_)-Ooo---------------------------------------- = = = Internet: schoon@ada.com tcp/ip: ka6wke.ampr.org = = ICBM: 32.7147N 117.1558W ax.25: ka6wke@n0ary = = = = Applied Digital Access ... Your Strategic Partner = = 9855 Scranton Road for Network Quality! = = San Diego, CA 92121 = = (619) 623-2253 Voice = = (619) 623-2208 FAX = = = = " Real programmers use copy con program.exe " = = = ------------------------------------------------------------------ ====== We use the ODI architecture before we load windows. ^^^^^^ From Autoexec.bat c:\windows\system\LSL {INSERT Network Card Specfic Driver} c:\windows\system\IPXODI c:\windows\system\NETX WIN All the files needed, except the NIC driver, came with Windows. I'd be interested in seeing a Windows only solution. On Mon, 29 Aug 1994, schoon wrote: > Correct, but how do you load netx from within Windows?? > > Mark > > Schoon@ada.com > > ====== > What??? Use the File Manager. You can connect to any network device and > disconnect while in Windows with no problems. > ---------- > :)From: owner-visbas-l > :)To: Multiple recipients of list VISBAS-L > :)Subject: Windows and Netware > :)Date: Frida XE "indows and Netware" y, 26 Aug, 94 10:50AM > :) > :)You can't start Windows first and then login to a Netware server, you > :)must do it the other way round. That is why no Netware login utlity > :)exists for Windows. Similarly if you logout of Netware whilst in > :)Windows you will crash the Windows system. > :) > :)Hope this helps > :) > :)Bruce Forman > :) > :)> I know this isn't strictly a VB question, but I've seen many messages > :)> concerning programming with the Netware interface for VB so maybe I can > :)> keep from having to reinvent the wheel. > :)> > :)> Has anyone developed or know of someone (private or commercial) who has > :)> developed a windows Netware login utility? > :)> > :)> I need one that will execute the users login script, map drives > :)> appropriately, etc. > :)> > :)> Since we're a poor military site :-) we have to share computers among > :)> many users, and exiting windows, logging out of Netware, logging in and > :)> restarting windows many times each day would be a major PITA and would > :)> waste a great deal of time. We're sidestepping this issue by logging > :)> the machine's in, instead of individual users, but security is becoming > :)> a concern. > :)> > :)> Any help greatly appreciated. > :)> > :)> > :)> MSgt Rocky Rapson > :)> rapsonr@og-scm.kadena.af.mil > :)> > :) > :) > :) > :) > :)********************************************************************** > :) > :) Bruce Forman,Programmer > :) Computer Centre > :) University of East London > :) Tel: +44 (0)81-590 7722 ext. 2281 > :) Fax: +44 (0)81-849 3462 > :) Internet: B.Forman@uel.ac.uk > :) CompuServe ID: 100046,2513 > :) > :)********************************************************************** > :) > Guy K. Henry <ghenry@locke.ccil.org> ========================================================================= Date: Tue, 30 Aug 1994 12:03:41 -0500 From: Jon Turner <jturner%galsci.uucp@MATHCS.EMORY.EDU> Subject: Using an Index with a Data Control XE "Using an Index with a Data Control"  How do you use an arbitrary index of a table? I have a large (30,000 records) table and need to view it (preferable with a Grid-type object) in something other than natural order. Since the table is so large, using the 'order by' feature of an SQL statement is too slow. I need to use an index. Help. ========================================================================= Date: Tue, 30 Aug 1994 13:25:10 -0400 From: Warren Samolsky <samolswc@WMVX-MAIL.LVS.DUPONT.COM> Subject: DDE XE "DDE"  I am using DDE to add or replace an application Icon in a group called Mail. Even though I specify Mail in the following command, it has no effect. The group that currently has the focus it the group that is affected I am using this command to make the Group Mail active. x.Label1.LinkExecute "[ShowGroup(" + GroupName$ + ", 7)]" Does any one know how to make a group the focal group. Thanks. _____________________________________ Warren Samolsky Phone: (302) 773-1613 Fax: (302) 773-5200 Node: samolswc@ldoc01.lvs.dupont.com _____________________________________ ========================================================================= Date: Tue, 30 Aug 1994 13:18:32 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: Tiling application windows XE "Tiling application windows"  > Does anyone know what happens, in terms of events called, when the Tile > command is executed from Task Manager? My program doesn't respond to it > and stays at its current size and position, while a gap is left onscreen > for it to fill. This happens when it is normal or minimized state. This is a fundamental problem with VB applications. You will notice when you do the tile that a "hole" is left. This is where you VB application should go. If you have two VB apps running, you will still get problems. This is because ther VBRUN300 is what gets tiled, not your VB apps. has anyone seen a solution to this? Mark ========================================================================= Date: Tue, 30 Aug 1994 11:35:24 -0700 From: John von Colditz <johnvon@HALCYON.COM> Subject: Forms in an Application In- XE "Forms in an Application"  the forms in the application, and move through them, 1 by 1, modifying some of the properties of my data controls. Is there a way to do this without previous knowledge of all of the forms in an application? Thanks in advance. ======================================================================== John von Colditz Internet: johnvon@halcyon.com Information Technology Assessment CompuServe: 71564,2174 20125 181 PL NE Woodinville, WA Phone: 206-788-4616 Fax: 206-788-4616 ======================================================================== ========================================================================= Date: Tue, 30 Aug 1994 11:36:42 -0700 From: John von Colditz <johnvon@HALCYON.COM> Subject: Source control software In- XE "Source control software"  Thanks. ======================================================================== John von Colditz Internet: johnvon@halcyon.com Information Technology Assessment CompuServe: 71564,2174 20125 181 PL NE Woodinville, WA Phone: 206-788-4616 Fax: 206-788-4616 ======================================================================== ========================================================================= Date: Tue, 30 Aug 1994 08:43:21 -0500 From: Mark Pizzinato <PIZZINATO@KINGSTON.CAN.ARPC.ALCAN.CA> Subject: PC Specific information XE "PC Specific information"  I was wondering what information can be read within windows that uniquely identifies a pc. For example. The serial number of a dos volume , a bios serial number (If one exists),etc. Thinking in terms of copy protection. Mark ========================================================================= Date: Wed, 31 Aug 1994 01:54:18 +0700 From: Chanchai Thangkawiwit - SCCS - 3670500 <uscctk@MUCC.MAHIDOL.AC.TH> Subject: To ask about Graph. XE "To ask about Graph."  Hi! all. I have any problem about graph creating. I have some data that I want plot on graph. But the scale of graph is too big. My data have little range (25.00001 to 24.99999). Somebody can help. Thank you! :> My address is uscctk@mucc.mahidol.ac.th ========================================================================= Date: Tue, 30 Aug 1994 14:37:55 -0500 From: Helen O'Boyle <helen@APPX.COM> Subject: PC Specific information In- XE "PC Specific information"  > I was wondering what information can be read within windows that uniquely > identifies a pc. For example. The serial number of a dos volume , a bios serial > number (If one exists),etc. Thinking in terms of copy protection. > > > Mark If the PC's are all on an Ethernet network, then you could try to find the hardware ethernet address (the numbers may be duplicated on separate networks, but the odds of finding two PC cards with the same address are pretty much microscopic). [ Of course, if you are going to use this kind of copy protection technique, don't use security-through-obscurity. When the user upgrades to a larger hard disk and they get a copy-protection failure, they're going to be really puzzled. Better to go with a hardware serial number like the BIOS or the net card, and EXPLICITLY TELL THE USER that the software is keyed to their hardware, so that they'll know to call you to get a new key, if they replace that piece of hardware. ] Just out of curiosity, what kind of software are you writing that requires copy protection, anyway? These days, most sites try to avoid buying copy-protected software. (IE, is this a vertical-market custom app kind of thing? That seems to be one of few situations in which copy protection is still tolerated.) -- * Helen * ========================================================================= Date: Tue, 30 Aug 1994 14:17:56 EDT From: Christopher Matheny <Christopher=Matheny%DSM%D-05@ODOT.DOT.OHIO.GOV> Subject: VB Reading Clipper .NTX XE "VB Reading Clipper .NTX"  I'm trying to link a VB app to an old clipper application which uses clipper .ntx index files. Is there anything available which would allow VB to read/update the .ntx files? ************************************************************************ Christopher Matheny LAN Address: cmm@dsm@d-05 Programmer Specialist Internet: cmm%dsm%d-05@odot.dot.ohio.gov Ohio Dept. of Transportation or cmatheny@oucsace.cs.ohiou.edu District 5 ************************************************************************ ========================================================================= Date: Tue, 30 Aug 1994 14:33:28 -0500 From: Scott Seligman <seligman@NETCOM.COM> Subject: New FTP site XE "New FTP site"  I'm announcing the creation of a new vbasic ftp site (well, a vbasic dir). It is ftp.netcom.com:/pub/seligman/vbasic. As you'll see below, there's not much there now, but I'm hoping to change that (exp. the samples directory). If you wish to submit something, send it to /pub/seligman/incoming. Make sure and include a text file (or mail me a description). Disclamier: All files kept in this directory are kept here solely at my discretion. I have to deal with a space quota, and I'll probably have to cycle data thorgh here. Below is the current index.txt: ------------------ cut here ----------------------------------------- ----- Index of all files in the /pub/seligman/vbasic sub-dirs. ----- ftp.netcom.com:/pub/seligman/vbasic/controls - usefull controls and DLLs -- mscomm.zip - Updated version of the MSCOMM.VBX. wsprterm.12a - (pkzip'd) Enhanced terminal emulator (400% more efficient in parsing of receive data). Object only (registered users get the source and WSPRASY.DLL, an alternative to MSCOMM.VBX, supporting speeds greater than 19200, etc). Use this to see if the greater efficiency will help in your environment. ----- ftp.netcom.com:/pub/seligman/vbasic/samples - sample code -- wsprterm.11c - (pkzip'd) Standard terminal emulator example using MSCOMM.VBX (source included). Demonstrates a wide varity of features useful in a terminal emulator environment. ----- ftp.netcom.com:/pub/seligman/vbasic/misc - random stuff -- index.txt - This list ----------------- uncut here ---------------------------------------- -- Scott `seligman@netcom.com` "Is ThErE aNyBoDy OuT tHeRe?!?" alt. = Anarchists, Lunatics, and Terrorists ========================================================================= Date: Tue, 30 Aug 1994 15:52:00 PDT From: Hilly Ness <hillyn@EICON.COM> Subject: VB Reading Clipper .NTX XE "VB Reading Clipper .NTX"  You can use one of Q+E's products. Either Multilink/VB, Q+E ODBC Kit or ODBC Library. If you haven't started your project yet get Multilink/VB as it has some great bound controls as well as the ODBC stuff... otherwise, just get the ODBC Kit. They'll let you maintain the Clipper indexes as well as read them! HNESS@EICON.COM ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: VB Reading Clipper .NTX Date: Tuesday, XE "ading Clipper .NTX"  August 30, 1994 2:17PM I'm trying to link a VB app to an old clipper application which uses clipper .ntx index files. Is there anything available which would allow VB to read/update the .ntx files? ************************************************************************ Christopher Matheny LAN Address: cmm@dsm@d-05 Programmer Specialist Internet: cmm%dsm%d-05@odot.dot.ohio.gov Ohio Dept. of Transportation or cmatheny@oucsace.cs.ohiou.edu District 5 ************************************************************************ ========================================================================= Date: Tue, 30 Aug 1994 14:53:11 -0500 Organization: spine.com Subject: PC Specific information XE "PC Specific information"  On Tue, 30 Aug 1994 08:43:21 -0500 Mark Pizzinato <PIZZINATO@KINGSTON.CAN.ARPC.ALCAN.CA> wrote: > I was wondering what information can be read within windows that uniquely identifies a pc. For example. The serial number of a dos volume , a bios serial > number (If one exists),etc. Thinking in terms of copy protection. Nothing. At Xaos Tools we're using a dongle (against my will :) -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Tue, 30 Aug 1994 14:53:40 -0500 Organization: spine.com Subject: Vb And Access Pictur XE "Vb And Access Pictur"  On Tue, 30 Aug 1994 11:12:13 CEST Marco Scozzafava <MC0639@MCLINK.IT> wrote: > Thanks for your answer but...I cannot save picture outside .mdb. I MUST > (for security reasons) have only 1 protected .mdb and all object MUST be > saved into it. > > Any other suggestion? :-)) Yup, just bind a picturebox to a datacontrol, then you can set and get the picture using the picturebox's .picture prop. I keep pictures in an mdb like this. -- ________________________________________________________________________ Jesse Montrose jesse@netcom.com jesse@xaostools.com cis:76646,3302 I don't recycle, I'm a consumer, damn it, I consume. ========================================================================= Date: Tue, 30 Aug 1994 14:58:25 -0500 From: Louis Castoria <louisc@ADSI.ME.VP.COM> Subject: half size title bar XE "half size title bar"  does any one know how to create half size title bars ========================================================================= Date: Tue, 30 Aug 1994 23:18:37 +0300 From: Tuomas M J Salste <salste@CC.HELSINKI.FI> Subject: half size title bar In- XE "half size title bar"  You could use msgblast.vbx Tuomas Salste salste@kruuna.helsinki.fi http://www.helsinki.fi/~salste/ = = = = = = = = = = Today's unofficial blonde joke (quality not guaranteed by me): 241. Q: Why should you never take a blonde out for coffee? A: It's too hard to re-train them. ========================================================================= Date: Tue, 30 Aug 1994 15:23:27 -0500 From: Brad Freels <brad@FC.NET> Subject: AddNew ReadOnly error? XE "AddNew ReadOnly error?"  I'm trying to run "AddNew" on a Access 1.1 database created under DataMgr. I have a data control bound to the table in the database, and when I run datTasks.RecordSet.AddNew, I get a "Database is read-only" runtime error. The data control is -not- set to ReadOnly in the property box; in fact, I have tried explicitly setting it to false/off in a statement just before the AddNew. No dice. This form is exactly like an example from a book, and it's not working, and it's really frustrating... got any ideas? ========================================================================= Date: Tue, 30 Aug 1994 15:32:11 -0500 From: Louis Castoria <louisc@ADSI.ME.VP.COM> Subject: ending windows XE "ending windows"  I have a large application written in VB 3.0 with access 2.0. The users who use this application are very inexperienced users "EMS field personnel". The application monitors resources while it is running to avoid the dreaded windows resource boundary. If the application reaches this boundary I want to restart windows to avoid the "Unpredictable Results" as Microsoft puts it. I wanted to know if any of the bright people using this list would know the API call to shutdown windows. ========================================================================= Date: Tue, 30 Aug 1994 21:48:00 -0700 From: Richard Botham <BOTHAMR@NET.A1.BOEING.COM> Subject: AddNew ReadOnly error? XE "AddNew ReadOnly error?"  An undocumented 'feature' of Access v1.1 is attached tables are not updateable from VB, and sometimes Access. MS Access prod mgr told me MS was aware and wait for v2 (quote: you don't want to mess with table pointers!). I did and no problems in adding, deleting, changing values from VB (using DataControl). MS recommends attached tables. Our app resides on a Sequent / Oracle7 db. We set up Access db on 'c:' as conduit, then query thru. ========================================================================= Date: Tue, 30 Aug 1994 12:20:17 PST From: schoon <schoon@ADA.COM> Subject: Re[2]: Desktop Print Function? XE "Re[2]\: Desktop Print Function?"  Capture from Corel Draw 4.0 works very well. Mark schoon@ada.com ===== Kyle Lutes <KDLUTES@UALR.EDU> Wrote: | Anyone got a function that will dump the contents of the desktop | to the currently selected printer? Some of our users would like | the ability to print "snapshots" of various forms and messages | they've got loaded on their Windows desktop. I'm sure this | isn't hard to do but then again I'm not sure how to program it. | I figure if I get a function, I can hook it up to a command | button or hot-key combination or something. | | Thanks, | Kyle Lutes kdlutes@ualr.edu, 74163,1123 Just press Alt-PrintScreen to copy the active window to the Clipboard or PrintScreen to copy the entire screen. Then--in Paintbrush, WordPerfect/Win, etc.--paste the clipboard into the document. You can print from there. Windows User's Guide (p. 60) suggests trial and error--if it doesn't work, try Alt-PrintScreen or Shift-PrintScreen. ========================================================================= Date: Tue, 30 Aug 1994 17:20:57 -0400 From: SHU student <0284566@SHU.SACREDHEART.EDU> Subject: To ask about Graph. XE "To ask about Graph."  On Wed, 31 Aug 1994, Chanchai Thangkawiwit - SCCS - 3670500 wrote: > Hi! all. I have any problem about graph creating. I have some data > that I want plot on graph. But the scale of graph is too big. My data have > little range (25.00001 to 24.99999). Somebody can help. Thank you! :> > > My address is uscctk@mucc.mahidol.ac.th You could pretend that 24.999999 was -xmax and 25.00001 was xmin and plot the points accordingly. you could then label the graph accordingly. Hope this helps. Darshan ========================================================================= Date: Tue, 30 Aug 1994 16:55:24 -0500 From: Louis Castoria <louisc@ADSI.ME.VP.COM> Subject: help on winpen In- XE "help on winpen"  example DRIVERS= mmsystem.dll penwin.dll ========================================================================= Date: Tue, 30 Aug 1994 23:35:57 CEST From: Nicola Brion <MC1920@MCLINK.IT> Subject: half size title bar XE "half size title bar"  >> does any one know how to create half size title bars Get TBOX100.ZIP from cica. there's the source code in. HTH Obelix How could anyone be so unkind to arrest a man for driving while blind... MC1920@McLink.It Via ObXpress 0.4.5 ========================================================================= Date: Wed, 31 Aug 1994 10:15:50 EST+10 From: Brad Thomas - SLNSW Systems <BRADT@ILANET.SLNSW.GOV.AU> Organization: State Library of New South Wales Subject: Forms in an Application XE "Forms in an Application"  John, Try the Forms Collection object. The following comes from the VB Pro 3.0 help file. ============================================================ Forms Collection See Also Properties Example Description A collection whose elements represent each loaded form in an application. The collection includes the application's MDI form, MDI child forms, and non-MDI forms. The Forms collection has a single property, Count, that specifies the number of elements in the collection. Usage Forms(index)[.control][.property][ = setting ] Remarks In the preceding syntax, the range of index is 0 to Forms.Count-1. The Forms collection is useful for iterating through all loaded forms in an application. Note that Forms is a keyword, but not a reserved word. It identifies an intrinsic global variable named Forms. You can use Forms(index) as an argument to a function with a parameter of type Form. ============================================================= Example Code from above: Forms Collection Example The OBJECTS.MAK file referred to in Chapter 8 of the Programmer's Guide includes the following procedure to fill a list box with the captions of all the currently loaded forms: Sub Form_Activate () Dim I ' Declare variable. ' Refill list (in case an instance was added or removed). lstForms.Clear ' Clear list box. For I = 0 To Forms.Count - 1 lstForms.AddItem Forms(I).Caption Next I End Sub ============================================================ > For an application I am building I would like to be able to identify all > the forms in the application, and move through them, 1 by 1, modifying > some of the properties of my data controls. Is there a way to do this > without previous knowledge of all of the forms in an application? Brad State Library of NSW Sydney, Australia. bradt@slnsw.gov.au ========================================================================= Date: Wed, 31 Aug 1994 11:08:43 GMT+800 Organization: Edith Cowan University Subject: half size title bar Part 1 XE "half size title bar Part 1"  > >> does any one know how to create half size title bars Yes. You use a label and some API calls. See the following article. DOCUMENT:Q114593 12-MAY-1994 [B_VBASIC] TITLE :How to Move a Form that Has No Titlebar or Caption PRODUCT :Microsoft Visual Basic PROD/VER:2.00 3.00 OPER/SYS:WINDOWS KEYWORDS: --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 2.0 and 3.0 --------------------------------------------------------------------- SUMMARY ======= This article shows by example how to implement the Windows API SendMessage function with the WM_SYSCOMMAND message so that you can move a form with the mouse when that form has no caption or titlebar. MORE INFORMATION ================ The WM_SYSCOMMAND message is sent when a user chooses a command from the System menu (sometimes referred to as the Control menu) or when the user chooses the Maximize or Minimize button. It is also sent when a user clicks the window's Titlebar or Caption; this is a special case of the Move command in the System menu. When you click the title bar, the value sent by WM_SYSCOMMAND is &HF012. However, when you choose the Move command from the Control menu, the value sent is SC_MOVE = &HF010. A problem arises, however, if you set the ControlBox, MinButton, and MaxButton properties to false and remove the Caption of the form (by setting the Caption property to "" or an empty string) because then there's no way for your user to move the form. You can work around this problem by creating a hot spot -- a label or image control -- that when clicked will send the WM_SYSCOMMAND message. By sending the WM_SYSCOMMAND message, you give your users a way to move the form. This works regardless of the borderstyle property setting of the form. NOTE: If the form has a menu attached to it, a title bar or caption area is supplied by default, so the technique in this article would be redundant. Step-by-Step Example -------------------- 1. Start a new project in Visual Basic (ALT, F, N). Form1 is created by default. 2. Set the ControlBox, MinButton, and MaxButton properties of Form1 to False. 3. Add a label (Label1) to the form. 4. Add a new module (ALT, F, M), and add the ������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������� ��following declarations to the module. Type POINTAPI ' Used for GetCursor - gets mouse location X As Integer ' in screen coordinates. Y As Integer End Type Type ConvertPOINTAPI ' Used by WM_SYSCOMMAND - converts mouse location. xy As Long End Type ' Enter the following Declare statement as one, single line: Declare Function Sendmessage Lib "User" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Any) As Long Declare Sub GetCursorPos Lib "User" (lpPoint As POINTAPI) Global Const WM_LBUTTONUP = &H202 Global Const WM_SYSCOMMAND = &H112 Global Const MOUSE_MOVE = &HF012 5. Place the following code in the Form_Load() event of Form1: Sub Form_Load() Form1.Caption = "" Label1.Caption = "Click Here to Move the Form" Label1.BorderStyle = 1 ' Place a border around the label. Label1.AutoSize = True ' Position the label at the top of the form: Label1.Move 0, 0, Me.ScaleWidth End Sub 6. Add the following code to the Label1_MouseDown() event: Sub Label1_MouseDown () Dim mpos As POINTAPI Dim p As ConvertPOINTAPI Dim ret As Integer Call GetCursorPos(mpos) ' Get the current position of the cursor LSet p = mpos ' and convert it for SendMessage calls. ' Send LButtonUp to finish the impending LButtonDown. ' This line of code will invoke the Label1_MouseUp() event, ' so be careful what code you place in that event: ret = Sendmessage(Me.hWnd, WM_LBUTTONUP, 0, p.xy) ' Now tell the form someone is clicking the window caption: ret = Sendmessage(Me.hWnd, WM_SYSCOMMAND, MOUSE_MOVE, p.xy) End Sub 7. Press the F5 key to run the code. Click the label to move the form. Additional reference words: 2.00 3.00 KBCategory: APrg KBSubcategory: APrgWindow ============================================================================ THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1994. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Wed, 31 Aug 1994 11:09:50 GMT+800 Organization: Edith Cowan University Subject: half size title bar Part 2 XE "half size title bar Part 2"  > >> does any one know how to create half size title bars An article related to the first one. DOCUMENT:Q114594 31-MAY-1994 [B_VBASIC] TITLE :How to Create a Floating Toolbar in Visual Basic PRODUCT :Microsoft Visual Basic PROD/VER:2.00 3.00 OPER/SYS:WINDOWS KEYWORDS: --------------------------------------------------------------------- The information in this article applies to: - Standard and Professional Editions of Microsoft Visual Basic for Windows, versions 2.0 and 3.0 --------------------------------------------------------------------- SUMMARY ======= This article contains code and instructions that show you how to create a floating toolbar in Visual Basic. A toolbar is a modeless dialog box owned by a parent window but not confined to the area of the parent. This article combines methods that are described in more detail in the following articles in the Microsoft Knowledge Base: ARTICLE-ID: Q114775 TITLE : How to Create a Modeless Dialog or Form in Visual Basic ARTICLE-ID: Q114593 TITLE : How to Move a Form that Has No Titlebar or Caption MORE INFORMATION ================ Instead of offering this article in a number of steps, we have modified our usual format to make it easier for you to create and use this Visual Basic application. Therefore, the three files you need (TOOLBAR.BAS, TOOLBAR.FRM, and PARENT.FRM) are listed below, so you can easily copy them into a text editor, and save them as separate files. Instructions for how to use the files are embedded in the files as comments. TOOLBAR.BAS ----------- ' Place the following code in a single text file called TOOLBAR.BAS ' ' NOTE: After copying this into a file in a text editor, modify each ' Declare statement so that each one uses only one, single line. Option Explicit Type POINTAPI X As Integer Y As Integer End Type Type ConvertPOINTAPI xy As Long End Type Declare Function Sendmessage Lib "User" (ByVal hwnd As Integer, ByVal wMsg As Integer, ByVal wParam As Integer, ByVal lParam As Any) As Long Declare Sub GetCursorPos Lib "User" (lpPoint As POINTAPI) Declare Function GetSysColor Lib "User" (ByVal nIndex As Integer) As Long Declare Function SetWindowWord Lib "User" (ByVal hwnd As Integer, ByVal Index As Integer, ByVal wNewWord As Integer) As Integer Declare Function BitBlt Lib "GDI" (ByVal hDestDC%, ByVal X%, ByVal Y%, ByVal nWidth%, ByVal nHeight%, ByVal hSrcDC%, ByVal XSrc%, ByVal Ysrc%, ByVal dwRop&) As Integer Global Const WM_LBUTTONUP = &H202 Global Const WM_SYSCOMMAND = &H112 Global Const MOUSE_MOVE = &HF012 Global Const COLOR_APPWORKSPACE = 12 Global Const COLOR_ACTIVECAPTION = 2 Global Const COLOR_CAPTIONTEXT = 9 Global Const COLOR_GRAYTEXT = 17 Global Const DSTINVERT = &H550009 ' (DWORD) dest = (NOT dest) Global Const GWW_HWNDPARENT = (-8) Global ToolbarLoaded As Integer TOOLBAR.FRM ----------- ' The following is a text dump of the TOOLBAR form. It includes the form ' and control description as well as necessary Function and Sub procedures. ' Save the code in a single TEXT file called TOOLBAR.FRM and you will ' be able to load it as a form in Visual Basic. ' ' NOTE: To make the code fit in this article, some of the statements are ' shown in multiple lines. Be sure to modify the lines in the text editor ' to ensure that all lines of code exist as one, single line of code ' in the file. Otherwise, you will receive errors when loading the form in ' Visual Basic. ' ' Also, this program loads some bitmaps from your Visual Basic directory. ' It assumes Visual Basic is installed in C:\VB. If this is incorrect ' search for all the LoadPicture commands and change the path. VERSION 2.00 Begin Form Toolbar ClientHeight = 2160 ClientLeft = 1692 ClientTop = 1464 ClientWidth = 2928 ControlBox = 0 'False Height = 2580 KeyPreview = -1 'True Left = 1644 LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ScaleHeight = 180 ScaleMode = 3 'Pixel ScaleWidth = 244 Top = 1092 Width = 3024 Begin PictureBox Picture1 Height = 780 Left = 0 ScaleHeight = 756 ScaleWidth = 636 TabIndex = 1 Top = 0 Width = 660 End Begin Image Image3 Height = 612 Index = 0 Left = 600 Top = 1320 Width = 972 End Begin Image Image2 Height = 852 Index = 0 Left = 1680 Top = 480 Width = 852 End Begin Image Image1 Height = 612 Index = 0 Left = 720 Top = 600 Width = 852 End Begin Label Label1 BackColor = &H00FFFFFF& Caption = "Label1" Height = 372 Left = 720 TabIndex = 0 Top = 0 Width = 1332 End End Option Explicit Dim MDown As Integer Dim InvertedImage As Integer Dim OriginalParenthWnd As Integer Dim MinHeight As Long Dim MinWidth As Long Sub Form_Activate () If Not MDown Then parent.SetFocus End Sub Sub Form_Load () ToolbarLoaded = True Me.ScaleMode = 3 ' Pixels picture1.ScaleMode = 3 picture1.AutoSize = True ' Load the picture picture1.Picture = LoadPicture("C:\VB\BITMAPS\OUTLINE\MINUS.BMP") ' NOTE: You can load the MINUS.BMP bitmap into paintbrush and ' change its background color from white to gray. To do this, ' load the bitmap into paintbrush, and click the light gray in ' the color palette. Then select the paint roller icon, and ' click the area between the hyphen and the border to fill ' the area with light gray. Save it as MINUS2.BMP. If you do this, ' use the following statement to load the picture box: ' picture1.Picture = LoadPicture("C:\VB\BITMAPS\OUTLINE\MINUS2.BMP") ' Get the users system color for the active window caption: label1.BackColor = GetSysColor(COLOR_ACTIVECAPTION) ' Position picturebox and label: picture1.Left = -1 ' Use -1 to put the controls picture1.Top = -1 ' border behind the edge of label1.Top = -1 ' the form. ' Overlap edge of label with pictu label1.Left = picture1.Left + picture1.Width - 1 label1.Height = picture1.Height ' Load and locate the image controls: Call InitToolbox ' The guesswork on height and width could be replaced with a call to ' the GetSystemMetrics Windows API function to get the borderwidth of ' the form. Change the following two lines to one, single line: Me.Height = (picture1.Height + image1(0).Height + 12) * screen.TwipsPerPixelY ' Change the following two lines to one, single line: Me.Width = (image3(0).Left + image3(0).Width + 10) * screen.TwipsPerPixelX MinHeight = Me.Height MinWidth = Me.Width ' Set up the label: label1.Alignment = 2 ' Centered label1.BorderStyle = 1 ' Single label1.Caption = "Toolbar" ' Choose a small font or whatever looks best on your system: label1.FontName = "Small Fonts" label1.FontSize = 6 label1.FontBold = False ' Use active caption color for label's caption: label1.ForeColor = GetSysColor(COLOR_CAPTIONTEXT) ' Color the background of the form to the MDI client area color: Me.BackColor = GetSysColor(COLOR_APPWORKSPACE) ' Set parent for the toolbar to display on top: OriginalParenthWnd = SetWindowWord(Me.hWnd, GWW_HWNDPARENT, parent.hWnd) End Sub Sub Form_Resize () ' Check minimums for resize: If Me.Width < MinWidth Then Me.Width = MinWidth If Me.Height < MinHeight Then Me.Height = MinHeight ' Change size of label: label1.Width = Me.ScaleWidth - label1.Left + 1 End Sub Sub Form_Unload (Cancel As Integer) Dim ret As Integer ' Return the original parent handle: ret = SetWindowWord(Me.hWnd, GWW_HWNDPARENT, OriginalParenthWnd) ' Clear the global flag: ToolbarLoaded = False End Sub Sub Image1_Click (Index As Integer) Clipboard.SetText parent.Text1.SelText parent.Text1.SelText = "" End Sub ' Change the following two lines to one, single line: Sub Image1_MouseDown (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then MDown = True image1(0).Picture = image1(2).Picture ' Down End If End Sub ' Change the following two lines to one, single line: Sub Image1_MouseMove (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then ' Left button down X = X \ screen.TwipsPerPixelX ' x and y are in twips Y = Y \ screen.TwipsPerPixelY ' Convert to pixels ' Change the following two lines to one, single line: If (X < 0) Or (X > image1(0).Width) Or (Y < 0) Or (Y > image1(0).Height) Then image1(0).Picture = image1(1).Picture ' Up Else image1(0).Picture = image1(2).Picture ' Down End If End If End Sub ' Change the following two lines to one, single line: Sub Image1_MouseUp (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then image1(0).Picture = image1(1).Picture ' Up MDown = False parent.SetFocus End If End Sub Sub Image2_Click (Index As Integer) ' Code for copy he Clipboard.SetText parent.Text1.SelText End Sub ' Change the following two lines to one, single line: Sub Image2_MouseDown (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then MDown = True image2(0).Picture = image2(2).Picture ' Down End If End Sub ' Change the following two lines to one, single line: Sub Image2_MouseMove (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then ' Left button down X = X \ screen.TwipsPerPixelX Y = Y \ screen.TwipsPerPixelY ' Change the following two lines to one, single line: If (X < 0) Or (X > image2(0).Width) Or (Y < 0) Or (Y > image2(0).Height) Then image2(0).Picture = image2(1).Picture 'up Else image2(0).Picture = image2(2).Picture 'down End If End If End Sub ' Change the following two lines to one, single line: Sub Image2_MouseUp (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then MDown = False image2(0).Picture = image2(1).Picture ' Up parent.SetFocus End If End Sub Sub Image3_Click (Index As Integer) ' Code for paste here parent.Text1.SelText = Clipboard.GetText() End Sub ' Change the following two lines to one, single line: Sub Image3_MouseDown (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then MDown = True image3(0).Picture = image3(2).Picture ' Down End If End Sub ' Change the following two lines to one, single line: Sub Image3_MouseMove (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then ' Left button down X = X \ screen.TwipsPerPixelX ' Convert to pixels Y = Y \ screen.TwipsPerPixelY ' Change the following two lines to one, single line: If (X < 0) Or (X > image3(0).Width) Or (Y < 0) Or (Y > image3(0).Height) Then image3(0).Picture = image3(1).Picture 'up Else image3(0).Picture = image3(2).Picture 'down End If End If End Sub ' Change the following two lines to one, single line: Sub Image3_MouseUp (Index As Integer, Button As Integer, Shift As Integer, X As Single, Y As Single) If Button And 1 Then MDown = False image3(0).Picture = image3(1).Picture 'up parent.SetFocus End If End Sub Sub InitToolbox () ' This procedure initializes the toolbox with three controls. ' Most of this could be done at design time. ' Load extra imagecontrol arrays Load image1(1) Load image1(2) Load image2(1) Load image2(2) Load image3(1) Load image3(2) ' Load the bitmaps - CHANGE PATHS AS NEEDED!!!!! image1(1).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\cut-up.bmp") image1(2).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\cut-mds.bmp") image2(1).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\copy-up.bmp") image2(2).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\copy-mds.bmp") image3(1).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\pste-up.bmp") image3(2).Picture = LoadPicture("c:\vb\bitmaps\toolbar3\pste-mds.bmp") image1(0).Picture = image1(1).Picture image2(0).Picture = image2(1).Picture image3(0).Picture = image3(1).Picture ' Position image controls: image1(0).Left = 2 image2(0).Left = image1(0).Left + image1(0).Width + 1 image3(0).Left = image2(0).Left + image2(0).Width + 1 image1(0).Top = label1.Height + 1 image2(0).Top = image1(0).Top image3(0).Top = image1(0).Top End Sub ' Change the following two lines to one, single line: Sub Label1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) Dim mpos As POINTAPI Dim p As ConvertPOINTAPI Dim ret As Integer Call GetCursorPos(mpos) ' Get the current position of the cursor LSet p = mpos ' and convert it for API calls. ' Send buttonup to finish the impending buttondown. This line of ' code does invoke the Label1_MouseUp() event, so be careful what ' code you place the ret = Sendmessage(Me.hWnd, WM_LBUTTONUP, 0, p.xy) ' Tell the form someone is clicking the window caption: ret = Sendmessage(Me.hWnd, WM_SYSCOMMAND, MOUSE_MOVE, p.xy) parent.SetFocus End Sub Sub Picture1_MouseDown (Button As Integer, Shift As Integer, X As Single, Y As Single) Dim ret As Integer If Button And 1 Then 'if left button pressed MDown = True 'set flag and invert bitmap ret = BitBlt(picture1.hDC, 0, 0, picture1.ScaleWidth, picture1.ScaleHeight, picture1.hDC, 0, 0, DSTINVERT) InvertedImage = True 'set flag for inverted bitmap End If End Sub ' Change the following two lines to one, single line: Sub Picture1_MouseMove (Button As Integer, Shift As Integer, X As Single, Y As Single) Dim ret As Integer ' Hold return value of BitBlt If MDown Then ' If left button is down, locate where mouse is: ' Change the following two lines to one, single line: If (X < picture1.ScaleLeft) Or (X >= picture1.ScaleWidth) Or (Y < picture1.ScaleTop) Or (Y >= picture1.ScaleHeight) Then ' Outside picturebox, make sure image is normal: If InvertedImage Then picture1.Refresh InvertedImage = False End If Else ' Inside picturebox, make sure image is inverted: If Not InvertedImage Then ' Change the following two lines to one, single line: ret = BitBlt(picture1.hDC, 0, 0, picture1.ScaleWidth, picture1.ScaleHeight, picture1.hDC, 0, 0, DSTINVERT) InvertedImage = True End If End If End If End Sub ' Change the following two lines to one, single line: Sub Picture1_MouseUp (Button As Integer, Shift As Integer, X As Single, Y As Single) If (Button And 1) Then ' If left mouse MDown = False ' Clear flag picture1.Refresh ' Refresh image If InvertedImage Then ' If over image InvertedImage = False ' Clear flag Me.Hide ' Hide toolbar - faster loading next time End If End If parent.SetFocus End Sub PARENT.FRM ---------- ' The following is a text dump of the PARENT form. It includes the form ' and control description as well as necessary Function and Sub procedures. ' Save the code in a single TEXT file called PARENT.FRM and you will ' be able to load it as a form in Visual Basic. VERSION 2.00 Begin Form Parent Caption = "Form2" ClientHeight = 2724 ClientLeft = 1320 ClientTop = 1608 ClientWidth = 3816 Height = 3144 Left = 1272 LinkTopic = "Form2" ScaleHeight = 2724 ScaleWidth = 3816 Top = 1236 Width = 3912 Begin CommandButton Command1 Caption = "Show Toolbar" Height = 372 Left = 840 TabIndex = 1 Top = 2160 Width = 1932 End Begin TextBox Text1 Height = 1932 HideSelection = 0 'False Left = 240 MultiLine = -1 'True TabIndex = 0 Text = "Text1" Top = 120 Width = 3252 End End Sub Command1_Click () Toolbar.Show End Sub Sub Form_Load () Me.Caption = "Toolbar Sample" End Sub Sub Form_QueryUnload (Cancel As Integer, UnloadMode As Integer) If ToolbarLoaded Then Unload Toolbar End If End Sub How to Create and Run the Program --------------------------------- 1. Start a new project in Visual Basic. Form1 is created by default. 2. From the File menu, choose Remove File to remove Form1. 3. From the File menu, choose Add File, and add TOOLBAR.BAS 4. Repeat step 3 to add TOOLBAR.FRM and PARENT.FRM to the project. 5. From the Options menu, choose Project, and set Start Up Form to Parent. 6. Run the application. 7. The example allows the user to choose three clipboard operations (cut, copy, and paste) from the toolbar. These operations are available by default in a standard Visual Basic text box control but were chosen to demonstrate the functionality of the floating toolbar. Additional reference words: 2.00 3.00 KBCategory: KBSubcategory: PrgCtrlsStd ============================================================================ THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY. Copyright Microsoft Corporation 1994. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Wed, 31 Aug 1994 13:23:37 +0000 From: Kevin Black <kevinb@VENUS.RESNTL.BHP.COM.AU> Subject: Soundex use in SQL Query XE "Soundex use in SQL Query"  Hi, Does anyone know how to use soundex matching in SQL queries without writing gobs of code to maintain my own soundex indeces. I have the soundex demo stuff from Mabry Software and (for what it does) it's very good, but not exactly what I want. Really I need to say: select * from MYTABLE with MYFIELD like "*soundex(MYWORD)*" Any help appreciated... Thanks, Kevin ------------------ Kevin Black Computer Services Group Leader BHP Research - Newcastle Laboratories Snail : P.O. Box 188, Wallsend 2287 Tel : +61 49 510434 Fax: +61 49 513740 Internet: kevinb@resntl.bhp.com.au ---------------- ========================================================================= Date: Wed, 31 Aug 1994 13:42:07 GMT+800 Organization: Edith Cowan University Subject: VB Reading Clipper .NTX XE "VB Reading Clipper .NTX"  > From: owner-visbas-l > To: Multiple recipients of list VISBAS-L > Subject: VB Reading Clipper .NTX > Date: Tuesda XE "Reading Clipper .NTX" y, August 30, 1994 2:17PM > > I'm trying to link a VB app to an old clipper application which uses > clipper .ntx index files. Is there anything available which would allow VB > to read/update the .ntx files? > > ************************************************************************ > Christopher Matheny LAN Address: cmm@dsm@d-05 > Programmer Specialist Internet: cmm%dsm%d-05@odot.dot.ohio.gov > Ohio Dept. of Transportation or cmatheny@oucsace.cs.ohiou.edu > District 5 > ************************************************************************ > Yes. CodeBasic does that, as well as dbase and foxpro files. You get libraries for both DOS and Windows VB, plus a neat report writer and data aware custom controls for VB Windows. It's also cheaper than Q+E. Email me if you are interested in more info. P.S. I have no connection with the company producing CodeBasic. I'm just a satisfied customer. ========================================================================= Richard Czerwonka, Visual Basic/Progress Programmer Administrative Computing Services, Information Technology Division, Edith Cowan University, Phone: 61-9-383 8664 Pearson Street, Churchlands WA 6018 FAX: 61-9-383 8682 Australia E-Mail: R.Czerwonka@cowan.edu.au .------------------------------------------------------------------------. | Opinions expressed here are all mine and nobody elses, especially not | | my employers (I don't know what they are anyway!) | `------------------------------------------------------------------------' ========================================================================= Date: Wed, 31 Aug 1994 01:46:53 EDT From: Todd E Dixon <Scrod@AOL.COM> Subject: half size title bar XE "half size title bar"  Sheridan has a package called Designer Widgets. In it there is a VBX that lets you create windows with different sized and shaped title bars. I have not used it, so I cannot tell you if it is worthwhile or not. Scrod@AOL.COM ========================================================================= Date: Wed, 31 Aug 1994 01:52:04 EDT From: Todd E Dixon <Scrod@AOL.COM> Subject: Irregular shape control XE "Irregular shape control"  MicroHelp has a VBX that will let you draw irregularly shaped objects. I do not know if it will let you trap clicks on different pieces in different ways. MicroHelp also has a VBX called MHINVISIBLE. This is just a rectangle that receives mouse events. It has no visible interface. You could draw your shapes over one or more of the MHINVISIBLE controls. Clicking on the shape would fire a mouse event in the MHINVISIBLE control that is behind it. Scrod@AOL.COM ========================================================================= Date: Wed, 31 Aug 1994 01:54:55 EDT From: Todd E Dixon <Scrod@AOL.COM> Subject: Viewing a Variable Value XE "Viewing a Variable Value"  I saw several replies to this one that said to type "Print <variable name>" in the Immediate Window. Typing "? <variable name>" achieves the same thing. Just substitute "?" for "Print". Scrod@AOL.COM ========================================================================= Date: Wed, 31 Aug 1994 14:58:25 +0800 From: Jeffrey King <kingjs@CS.CURTIN.EDU.AU> Subject: ending windows In-> I have XE "ending windows"  a large application written in VB 3.0 with access 2.0. > The users who use this application are very inexperienced users > "EMS field personnel". > The application monitors resources while it is running to avoid > the dreaded windows resource boundary. If the application reaches this boundary > I want to restart windows to avoid the "Unpredictable Results" as Microsoft > puts it. I wanted to know if any of the bright people using this list would know > the API call to shutdown windows. > look up ExitWindows in the windows api reference help file. ========================================================================= Date: Wed, 31 Aug 1994 02:00:08 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: Vb And Access Pictures XE "Vb And Access Pictures"  well, even less elegant is to write a rudimentary database entry program that includes a bound picturebox. set the field to longbinary, and enter your pictures (drag and drop would probably be the quickest route). i just got a little util called vbassist that gives access like management to vb datafiles ($99, sheridan software). you can add, delete, make new, rename, reconfigure, etc. it will even generate the little program i just mentioned from your table (though you will have to add some code for the drag and drop) >>My problem is: I have to save a bitmap in an Access database and I'm not >>able to do it. >>But I cannot (for some reasons) use the datacontrol. >>Using --->dn("fieldname")=picturefilename<---(where dn is my dynaset) the >>VB saves the picture as LONGBINARY and not as PAINTBRUSH PICTURE. The >>result is that I cannot view it, later. >>Any suggest? >>Thanks in advance... >>Gattestro >>mc0639@mclink.it (please, reply on the list, and not by private mail) ========================================================================= Date: Wed, 31 Aug 1994 02:45:09 +1000 From: Doug Nelson <c603905@SHOWME.MISSOURI.EDU> Subject: ole XE "ole"  if you set up your app using ole, it will be completely transparent to the user (that is, they won't know why the grid appears, just that it is there and works). the closest thing to a catch that i can think of is that the app you embed needs to be installed on their drive (or on your network). excel works well on two counts: it's the world's most popular spreadsheet, and it was designed with just this purpose in mind. other programs can be used just as easily (try opening paintbrush, loading a picture, copying it to the clipboard, then opening word or excel or any other reasonably current program and select "paste special", you might be surprised) >In article Dan Shookowsky <shookow@hp800> writes: >>From: Dan Shookowsky <shookow@hp800> >>Subject: VB & Project 4.0 >>To: c6039 XE "VB & Project 4.0" 05@showme.missouri.edu (Doug Nelson) (Doug Nelson) >>Date: Mon, 29 Aug 94 11:00:09 EDT >>I would like to create a front end using VB to help those drooling >>people with room temperature IQ's known as end users. Many users >>don't even know that Windows can run more than one app at a time >>let alone understand the concepts involved in Object Linking and >>Embedding. I would like my program to provide a user with a spreadsheet >>and allow the user to drag that range to a project file and see the >>file update ========================================================================= Date: Wed, 31 Aug 1994 14:12:00 EST From: "Wilson, Craig" <CWilson@VCOMCSS1.TELECOM.COM.AU> Subject: VB List : General Protection Fault XE "VB List \: General Protection Fault"  I am using VB3.0 Pro, Access 2.0 with Comp. Layer, Crystal Reports 3.0 Pro. I have an application that in run-time with VB3.0 it works perfectly, but when I compile it into an executable file i t keeps on giving me a General Protection Fault at VBRUN300.DLL. I made an executable file approx. 2 weeks ago and this file works OK, but I've had to update it due to a couple of bugs. The bug fixes I have done are nothing to do with where I am receiving these GPF's, this code hasn't changed. The code occurs when a button is pressed. It loads a form and sets\refreshes the controls values as the form loads. Possibly this is the wrong way to do it, but it used to work without any code changes. I also had this problem on another button, but removed all the code to the Form_Load event of the form I was loading. The only thing I have done to change the environment in the meantime is to upgrade to Crystal Reports V3.0 Pro. Could this have replaced some .DLL's on my system with older ones? Anyway, this has got me stumped as to test to see if the problem has been fixed, a new executable has to be created, etc. Please help! Thanks, Craig Wilson. ========================================================================= Date: Wed, 31 Aug 1994 10:23:17 GMT+0100 From: Per Agren <P_AGREN@SUB.SU.SE> Subject: VT100 emulation XE "VT100 emulation"  Hello Does anybody know of some *good* VB code that does real VT100 emulation. I've used some code I found on CICA (VBTERM.ZIP) and adopted for use with the new IPPORT vbx (also on CICA) to connect to sites on the Internet. When connecting to DRA.COM (Library of Congress), which relies heavily on screen formatting codes the codes are printed on the form and no actual formatting is done. I don't have time to write the emulator myself and can't use any of the public domain Winsock VT100 emulators, since they don't let me remap certain incoming characters to our national swedish characters. (We of course need a good terminal emulator to take full advantage over Gopher and WWW services on the net.) Per Agren System manager Stockholm university library p_agren@sub.su.se ========================================================================= Date: Wed, 31 Aug 1994 17:20:00 PDT From: "Wallace, Glynn W." <wallaceg@HQ.U18MS.KADENA.AF.MIL> Subject: Stack limits XE "Stack limits"  Hi everyone, I was looking through the KB the other day (for something else entirely) and ran across some code that lets you get the remaining stack space available by using MsgBox STR$(FRE(-2)). However according to the article, this only works in VB DOS. I looked in my API book (bible) and couldn't find anything related. Anyone know of some Win code that can get the same results? Did I miss something in the book? On a more technical note, why can you get that info in DOS but not in Windows? TIA Glynn Wallace wallaceg@hq.u18ms.kadena.af.mil Okinawa, Japan ========================================================================= Date: Wed, 31 Aug 1994 01:35:00 PDT From: troy prado <troyp@CTS.COM> Subject: countdown XE "countdown"  i am a novice vb-er,how many times have you heard that one? anyway how would you code this, so that a user might be able to input a time of their own choosing,ie ? vs (EnteredTime$ = "11:59:59 pm")? everytime i try to have EnteredTime$ = text1.text or the like, i have problems-like the label2.caption counting up instead of counting down. by the way this code shows a count down of a coded time and the current time. thanks Sub Timer2_Timer () EnteredTime$ = Format$(Now, "hh:mm:ss am/pm") BeginTime = TimeValue(EnteredTime$) BH = Hour(BeginTime) BM = Minute(BeginTime) BS = Second(BeginTime) EnteredTime$ = "11:59:59 pm" EndTime = TimeValue(EnteredTime$) EH = Hour(EndTime) EM = Minute(EndTime) ES = Second(EndTime) Difference = TimeSerial(Abs(BH - EH), Abs(BM - EM), Abs(BS - ES)) Label2.Caption = Format$(Difference, "hh:mm:ss") End Sub ========================================================================= Date: Wed, 31 Aug 1994 16:43:06 +0800 From: Jeffrey King <kingjs@CS.CURTIN.EDU.AU> Subject: Sending WM_WININICHANGE In- XE "Sending WM_WININICHANGE"  run-time with a custom win.ini file. What i want is for all windows app's to re-read the file to (primarily) change system colours and a few other assorted things. There are too many change to call setsystemparams (or whatever it is called) for each one, i would rather copy in a replacement ini file, and do all the changes in bulk. I have tried sending the WM_WININICHANGE message (with SendMessage API), but this does not appear to do anything. I must avoid restarting windows at all costs (is too slow and looks bad)! I have read somewhere in the MSDN CD that windows caches the win.ini file, and that to replace it at runtime, you need to send null message params (with WM_WININICHANGE) to force windows to re-read the cache. If anyone has got this to work, advice would be appreciated. (code would be great!!).. ________________________________________ ________| Jeff King (Kingjs@cs.curtin.edu.au) |_______ \ | Graduate Diploma in Computing | / \ | Curtin University of Technology, Perth | / / |________________________________________| \ /__________) (_________\ ========================================================================= Date: Wed, 31 Aug 1994 09:58:21 +0000 From: Khaled Hassan <"URIT02::\"khasan@ritsec.com.eg\""@VRIT01.EG> Subject: Help me in IPXSPX XE "Help me in IPXSPX"  I have a problem in the IPXSPX control I can't load the SPX control in my application, even it is doen not want to load in the examples coming with the controls as a demo another thing I want a file called NWCALLS.DLL it is missing in the .ZIP file of the IPXSPX so if any one have it please send it to me in a uuencode format by mail and please help me in the spx control **************************************************************************** * Khaled Hassan Nabil * * Regional Information Technology * * & * * Software Engineering Center _|||||_ * * (' o o ') * *____________________________________________________________o00-(_)-0oo __* * Bitnet Address | khasan@vrit01.eg * * Internet Address | khasan@ritsec.com.eg * **************************************************************************** ========================================================================= Date: Wed, 31 Aug 1994 11:12:14 +0200 From: Omer Ben-Shalom <obshalom@CS.HUJI.AC.IL> Subject: [help]:referencing text boxes at run time XE "[help]\:referencing text boxes at run time"  I seem to have a problem addressing controls (in this case text boxes) at run time. I have a query form I wrote that is supposed to execute a SQL statement to an access database and I want to have rules 'AND' other rules the best way I found to do it is to include every entry field that is not null. now the problem is that i have to match the text box (say INDEX) to the database table and field (for example if index is PRT1 I want to generate (.. table.[INDEX] = "PRT1" .. ) but - on run time the only way I found possible is to use the ordinal number in a function like GetTableField(ordinal as integer) that has a case switch that matches the controls to the actual fields. trouble is every time I add a control the whole ordinal order is shifted. is there any way to refer to a control by its name during runtime (that way i can use in the case statement the control name and not his ordinal in the controls collection and be rid of the problem) any other method to generate the SQL will be equally appriciated. Omer Ben Shalom ========================================================================= Date: Wed, 31 Aug 1994 17:43:54 WST From: Chris Chillidog Chelliah <chelliah@CS.UWA.EDU.AU> Subject: Sending WM_WININICHANGE In- XE "Sending WM_WININICHANGE"  > that to replace it at runtime, you need to send null message params (with > WM_WININICHANGE) to force windows to re-read the cache. Declare Fiunction SendMessage Lib "User"(ByVal hWnd as Interger, BYyVal wMsg As Integer, ByVal wParam as Integer, IParam as Any) As Long HWND_BROADCAST = &HFFFF WM_WININICHANGE = &H001A SendMessage( HWND_BROADCAST, WM_WININICHANGE, 0, 0 ) __________________________________________________________________________ chelliah@cs.uwa.edu.au _--_|\ Christopher Chelliah hunk@tartarus.uwa.edu.au / \ Dept of Computer Science Phone: (091) 43 4523 *_.--._/ The University of Western Australia FAX: (091) 43 4798 v Crawley, Perth 6009 ========================================================================= Date: Wed, 31 Aug 1994 10:45:54 BST From: Mr Craig Poxon <ch21cp@SURREY.AC.UK> Subject: countdown In- XE "countdown"  > anyway how would you code this, so that a user might be able to > input a time of their own choosing,ie ? vs (EnteredTime$ = "11:59:59 pm")? > everytime i try to have EnteredTime$ = text1.text or the like, > i have problems-like the label2.caption counting up instead of counting down. > > by the way this code shows a count down of a coded time and the current time. > > thanks > > Sub Timer2_Timer () > EnteredTime$ = Format$(Now, "hh:mm:ss am/pm") > BeginTime = TimeValue(EnteredTime$) > BH = Hour(BeginTime) > BM = Minute(BeginTime) > BS = Second(BeginTime) > EnteredTime$ = "11:59:59 pm" > EndTime = TimeValue(EnteredTime$) > EH = Hour(EndTime) > EM = Minute(EndTime) > ES = Second(EndTime) > Difference = TimeSerial(Abs(BH - EH), Abs(BM - EM), Abs(BS - ES)) > Label2.Caption = Format$(Difference, "hh:mm:ss") > End Sub > I'm not quite sure what you are getting at but this might help. Put the following code into the Text1_KeyPress event when keyascii =13 i.e. when you press return in the text box: EnteredTime$ = Format$(Text1.text, "hh:mm:ss am/pm") Of course, your variable EnteredTime$ must be declared at form level or above for your subroutines to recognise it. I'm sorry if I have completely missed the point andc given a stupid answer! ######################################################################## # Craig Poxon # Now showing at: # # # Zeneca Agrochemicals # # Computer-Aided-Chemist # Bracknell, England # # University Of Surrey # Bringing down industry from the inside. # # # No internet connection......what a dump! # # ch21cp@surrey.ac.uk # Being paid to program VB though.....heaven! # ######################################################################## ========================================================================= Date: Wed, 31 Aug 1994 10:57:35 GMT From: BRUCE <B.Forman@UEL.AC.UK> Organization: University Of East London Subject: Re[2]: Windows and Netware XE "Re[2]\: Windows and Netware"  After all the activity of late on the list with various people stating that you can run Windows first and then logon to Netware, I must say that I stand by my original statement (below) with one slight clarification. You can't do it PROPERLY. i.e. logged onto Netware with all drives mapped etc having run the login script and Windows running quite happily. Sure you can achieve something the other way; you could get from London to New York by row boat if you want but I wouldn't like to try it. > :)You can't start Windows first and then login to a Netware server, you > :)must do it the other way round. That is why no Netware login utlity > :)exists for Windows. Similarly if you logout of Netware whilst in > :)Windows you will crash the Windows system. > :) > :)Hope this helps > :) > :)Bruce Forman ********************************************************************** Bruce Forman,Programmer Computer Centre University of East London Tel: +44 (0)81-590 7722 ext. 2281 Fax: +44 (0)81-849 3462 Internet: B.Forman@uel.ac.uk CompuServe ID: 100046,2513 ********************************************************************** ========================================================================= Date: Wed, 31 Aug 1994 05:06:50 -0500 From: Mike Thoreson <miket@NEW-ORLEANS.NEOSOFT.COM> Subject: Losing It! (3D font properties) XE "Losing It! (3D font properties)"  I've just written a database app with THREED.VBX in my project and the 3D properties on my command buttons disappear when executing the app outside of the IDDE. I've checked WINDOWS\SYSTEM for both THREED.VBX and VBRUN300.DLL (both there). I've even remade the executable and still 2D. Any ideas? Thanks, Mike T. ========================================================================= Date: Wed, 31 Aug 1994 06:31:47 -0500 Subject: Unknown XE "Unknown"  Icons in VBX . Is there any way within VB to extract an icon from an EXE (any !) and drop it into a picture box display. It needs only to pull out the Icon image and display it, no copying to another app. Idea is to use the 'real' icon from an app in a toolbar-type launcher - currently have to create a BMP for the buttons. HP's Dashboard has a quick launch box which allows drag/drop from File Manager - that's the type of thing needed. Windows Write embeds the icons when you drag/drop a file to it - probably many more using the same idea. We think there's some sort of call (API ?) that allows this - any ideas ? Cheers Gordon in Doncaster, Yorkshire, England ========================================================================= Date: Wed, 31 Aug 1994 08:54:38 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: Forms in an Application -Reply XE "Forms in an Application -Reply"  I just tried this: Function Explore () Dim db As Database Dim MyCont As Container Set db = dbengine(0)(0) Set MyCont = db.Containers("Reports") Debug.Print MyCont(0).name Debug.Print MyCont(1).name 'of course, you will use a For loop to cycle through the reports. - IanO - >>>>>>>>>>>>>>> For an application I am building I would like to be able to identify all the forms in the application, and move through them, 1 by 1, modifying some of the properties of my data controls. Is there a way to do this without previous knowledge of all of the forms in an application? Thanks in advance. John von Colditz Internet: johnvon@halcyon.com <<<<<<<<<<<<<<< ========================================================================= Date: Wed, 31 Aug 1994 08:54:56 EST From: wendy_puppolo@SMTPGWAY.ALB.ALBINT.COM Subject: IS THERE A DIGEST??? XE "IS THERE A DIGEST???"  Can someone PLEASE tell me if a digest is available for this list and the VBDATA list? I keep seeing messages for it, but no responses. Thanks! ___________________________________________________________________________ | | | | Wendy Puppolo ^ ^ | SNAIL: | | Programmer/Analyst/CNA o o | Albany International Research Co.| | Voice : 508-339-7300 ^ | 777 West Street | | Fax : 508-261-8733 | Mansfield, Massachusetts | | Internet: Wendy_Puppolo@albint.com | 02048-9114 | | | USA | |___________________________________________________________________________| ========================================================================= Date: Wed, 31 Aug 1994 09:12:10 EDT From: Eric Dore <edore@JUPITER.DREV.DND.CA> Subject: Unknown XE "Unknown"  > Icons in VBX > . > Is there any way within VB to extract an icon from > an EXE (any !) and drop it into a picture box display. > It needs only to pull out the Icon image and display it, > no copying to another app. Idea is to use the 'real' > icon from an app in a toolbar-type launcher - currently > have to create a BMP for the buttons. > HP's Dashboard has a quick launch box which allows > drag/drop from File Manager - that's the type of thing > needed. Windows Write embeds the icons when you > drag/drop a file to it - probably many more using the > same idea. > We think there's some sort of call (API ?) that allows > this - any ideas ? > Cheers > Gordon in Doncaster, Yorkshire, England > I've done it using the ExtractIcon API call. For drag and drop from file manager there is a windows message for that but i don't remember it. Eric Dore Quebec, CANADA ========================================================================= Date: Wed, 31 Aug 1994 13:57:00 BST From: Mr M Peck <gtem4479@GGR.CO.UK> Subject: Unknown (extracting Icons) XE "Unknown (extracting Icons)"  Hello Gordon Yes, there are ways of doing this. The Knowledge Base has an example of this, but it's pretty messy. It starts the application up and then extracts the icon. Get hold of the VB KB and look at the following article (I can't be bothered to paste the article here) How to Extract a Windows Program Icon -- Running or Not Article ID: Q88944 A much nicer way of doing this is show in Daniel Appleman's book "Visual Basic Programmer's Guide to the Windows API" but this uses a DLL that gives access to API calls that are usually not accessible to VB. I suggest you invest in this most excellent and biblical book as it will solve all your problems. My life used to be so complicated until I read this book, and now I've seen the light! (No, I'm not getting commission!) Anyway, if you can afford this book, then BUY IT and your Icon Extracting problems will be over! Hope this helps... Martin ********************************************************************** Martin Peck * email gtem4479@ggr.co.uk Analyst Programmer * GRD Ltd. * phone +44 (0)81 966 3024 Greenford * fax +44 (0)81 966 4476 Middlesex UB6 0HE * ENGLAND * <insert witty comment here!> ********************************************************************** ========================================================================= Date: Tue, 30 Aug 1994 21:40:45 -0400 From: Dave Gubrud <daveg@DELORME.COM> Subject: DataManager version of Grid.vbx? XE "DataManager version of Grid.vbx?"  I just recently started using VB3.0 to work with Access 2.0 databases. However, when I try to start up the datamanager application that came with VB3.0, I recieve an error telling me I have an incorrect version of GRID.VBX. The version I am using is 2.00.010. I have recently installed Access 2.0 and the compatibility layer from MS which all appear to be working well. Is there a newer version of GRID.VBX? Thanks, Dave ========================================================================= Date: Wed, 31 Aug 1994 09:49:06 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: [help]:referencing text boxes at run time -Reply XE "[help]\:referencing text boxes at run time -Reply"  >>>>>>>>>>>>>>> I seem to have a problem addressing controls (in this case text boxes) at run time. I have a query form I wrote that is supposed to execute a SQL statement to an access database and I want to have rules 'AND' other rules the best way I found to do it is to include every entry field that is not null. now the problem is that i have to match the text box (say INDEX) to the database table and field (for example if index is PRT1 I want to generate (.. table.[INDEX] = "PRT1" .. ) but - on run time the only way I found possible is to use the ordinal number in a function like GetTableField(ordinal as integer) that has a case switch that matches the controls to the actual fields. trouble is every time I add a control the whole ordinal order is shifted. is there any way to refer to a control by its name during runtime Yes. Using the Data Access Object approach Set db = DBEngine(0)(0) Set td = db.TableDefs("String whose value is the table name") Set MyField = td("FieldName") or strFieldName = td("FieldName").name HTH - IanO - (that way i can use in the case statement the control name and not his ordinal in the controls collection and be rid of the problem) any other method to generate the SQL will be equally appriciated. Omer Ben Shalom <<<<<<<<<<<<<<< ========================================================================= Date: Wed, 31 Aug 1994 10:52:21 +3 From: Artur Roberto Lima Rodrigues <ARTUR@CAPES.GOV.BR> Organization: Fundacao CAPES Subject: Handles XE "Handles"  Hi All, I wanna know about some handles in my project. ex: Sub Form_Load() . . ret% = SendMessage(label1.hWdn,WM_SYSCOMMAND, MOUSE_MOVE, p.xy) . . End Sub label1.hWnd doesn't work! How can I get label1 handle? thanks, |~~| |~~| Artur Rodrigues | | | | Brasilia, Brasil | |=| | MEC / CAPES ____ | | | | ___ Tel: +55 061 214 8818 \__/ |__| |__| /___\ Fax: +55 061 322 1580 ---------------------------------- postmaster@capes.gov.br artur@capes.gov.br ========================================================================= Date: Wed, 31 Aug 1994 08:50:00 PDT From: "Greenlaw, Russell, SrA LGMPS" <rgreenlaw@B868S1.SSC.AF.MIL> Subject: 32-Bit Pwer Builder? XE "32-Bit Pwer Builder?"  Does anyone know if there is a 32-Bit PowerBuilder out or in the works? I need to know because the powers that be want to make PB the standard developement tool. That is the great thing about the Air Force they try to make all the square pegs fit in the round holes and call it standardizing. Anyway our office has been asked for its input and we use VB mostly. We want them to give us both but since all our apps are developed in VB if they can only have one we want it to be VB. Thanks for your help. Russell Greenlaw ========================================================================= Date: Wed, 31 Aug 1994 06:55:44 -0700 From: John von Colditz <johnvon@HALCYON.COM> Subject: DataManager version of Grid.vbx? In- XE "DataManager version of Grid.vbx?"  VB seems to always say the version of GRID.VBX is out of date, even if it is newer than the version that was there before. The same thing happened when I loaded VC++ 1.5. Remove GRID.VBX from your project and reload it. It should work. ======================================================================== John von Colditz Internet: johnvon@halcyon.com Information Technology Assessment CompuServe: 71564,2174 20125 181 PL NE Woodinville, WA Phone: 206-788-4616 Fax: 206-788-4616 ======================================================================== ========================================================================= Date: Wed, 31 Aug 1994 14:52:00 -0700 From: Richard Botham <BOTHAMR@NET.A1.BOEING.COM> Subject: Losing It! (3D font properties) XE "Losing It! (3D font properties)"  You might check the version / date of THREED.VBX with the vendor. We had problems, got their updated, which shipped after VB v3 did, and all went well. Suggest: Bill at Sheridan, a s/w tech specialist his fax w/ country cd 001 516 753 3661 ========================================================================= Date: Wed, 31 Aug 1994 17:06:27 +0300 From: Tommi Rintala <t2r@FREEPORT.UWASA.FI> Subject: Losing It! (3D font properties) XE "Losing It! (3D font properties)"  > You might check the version / date of THREED.VBX with the vendor. We > had problems, got their updated, which shipped after VB v3 did, and all > went well. > > Suggest: Bill at Sheridan, a s/w tech specialist > Does anyone (who is kind enough) the updated version of threed.vbx, and would also be so kind that posting it to me (e.g. uuencoded). I don't have the time to call our vendor and I need the file ASAP! thanks for your time, tomppa2 > his fax w/ country cd 001 516 753 3661 > ========================================================================= Date: Wed, 31 Aug 1994 10:45:42 EDT From: ken black III <Ashplace@AOL.COM> Subject: Subject: VB and windows reso XE "Subject\: VB and windows reso"  Does VBresourcegluttony persist after VB is closed? Should Windows be closed and restarted when memory and resource messages develop? Thanks. ========================================================================= Date: Wed, 31 Aug 1994 11:17:06 EDT From: Dena Engstrom <dena@DELFINVB.DELFIN.COM> Subject: WnetGetCachePassword XE "WnetGetCachePassword"  Ted, Did you ever get this figured out. I tried here in my office and couldn't get it to work. We've got a call into MS Tech Support. They're supposed to be faxing us the VB Declaration, but so far have not heard anything. Please post any replies that you've received (that haven't made it to the list) and I will do the same. Thanks. Dena >Hello all, > A call for help. I have a small app that I use to make my network >connections on startup in Win for Workgrp 3.11. I wrote the app with vb and >use WnetAddConnection function calls to connect to the servers. > >I would like to avoid prompting the user for his password after he just got >finished typing it into the WFWG logon prompt. So, I found this function >WnetGetCachedPassword documented in the WFWG SDK help file. Apparently this >function lives in the WFWNET.DRV file. When I try to use it I get a GPF in >WFWNET.DRV. Has anyone else used this function? Below is a sample of my >declaration and a sample call. > >Declare Function WNetGetCachedPassword Lib "WFWNET.DRV" (ByVal pbResource$, >ByVal cbResource%, ByVal pbPassword$, ByVal pcbPassword%, ByVal nType%) As >Integer > > Dim wgrp$, wpass$, lwgrp%, lpass%, ntype%, result% > wgrp$ = "MIS" > wpass$ = String$(2048, 32) > lpass% = Len(wpass$) > lwgrp% = Len(wgrp$) > ntype% = 1 > result% = WNetGetCachedPassword(wgrp$, lwgrp%, wpass$, lpass%, ntype%) > >The program bombs at the call to the function? > >thanks, >ted >wagnerte@ttown.apci.com > > Dena ===================================================== Dena J. Engstrom Email: dena@delfinvb.delfin.com Delfin Systems Phone: (804) 486-5294 Norfolk Operations ===================================================== ========================================================================= Date: Wed, 31 Aug 1994 11:36:00 EST From: "LIN, Ling" <llin@LEWINEAST.VHI.COM> Subject: How to reinitialize the control TEXT? XE "How to reinitialize the control TEXT?"  Hello, everyone Could I ask a very basic question here. Please be patient to me, if this is an repeated question. I have 10 Text boxs on a form, if I want to reinitialize the text of each TEXT box by using the codes like this: Text1 = "" Text2 = "" . ; Text10 = "" But I'd like to save some works, how can I using For-Loop to do this ?? Such like : For I = 1 To 10 Text I = "" ?? Next I Is there anybody out there know how, please tell me, would be appreciate !! Ling Lin ========================================================================= Date: Wed, 31 Aug 1994 11:40:36 EST From: Rich Beaudry <rich_beaudry@SMTPLINK.INFORES.COM> Subject: Hi-Color Icons XE "Hi-Color Icons"  Hello, I have created a VB app that uses Drag-N-Drop in a few places. My problem is as follows: When a user sets up their PC in "Hi-Color Mode" (800x600, 64K colors), the .DragIcons are completely corrupted. Most of the time they show up as black rectangles with white "holes" in them ... Really UGLY! ... The .DragIcons are fine in all other video modes. Does anyone know how to create an icon that works for ALL video/color modes? BTW, I already tried putting my PC in 64K color mode, loading VC++'s APP Studio, and loading/re-saving the icon ... It didn't work ... Rich Rich_beaudry@smtplink.infores.com ========================================================================= Date: Wed, 31 Aug 1994 08:52:32 PDT From: Bill Vaughn <billva@MICROSOFT.COM> Subject: How to reinitialize the control TEXT? XE "How to reinitialize the control TEXT?"  If you have a set of controls that are related in function it is often more efficient to create a control array to manage them. Thus you would have For i = 1 to n Text1(i).text = "" next i bv ---------- From: "LIN, Ling" <llin@LEWINEAST.VHI.COM> To: Multiple recipients of list VISBAS-L <VISBAS-L@tamvm1.tamu.edu> Subject: How to reinitialize the control TEXT? Date: Wednes XE "o reinitialize the control TEXT?" day, August 31, 1994 11:36AM Hello, everyone Could I ask a very basic question here. Please be patient to me, if this is an repeated question. I have 10 Text boxs on a form, if I want to reinitialize the text of each TEXT box by using the codes like this: Text1 = "" Text2 = "" .. ; Text10 = "" But I'd like to save some works, how can I using For-Loop to do this ?? Such like : For I = 1 To 10 Text I = "" ?? Next I Is there anybody out there know how, please tell me, would be appreciate !! Ling Lin ========================================================================= Date: Wed, 31 Aug 1994 11:57:16 EDT From: ken black III <Ashplace@AOL.COM> Subject: How to reinitialize the control XE "How to reinitialize the control"  Use a control array of text boxes: for x = 1 to 10 text1(x).text="" next x ========================================================================= Date: Wed, 31 Aug 1994 11:57:20 -0400 From: Ian Ornstein <IORNSTEI@WPO.HCC.COM> Subject: How to reinitialize the control TEXT? -Reply XE "How to reinitialize the control TEXT? -Reply"  >>>>>>>>>>>>>>> Hello, everyone Could I ask a very basic question here. Please be patient to me, if this is an repeated question. I have 10 Text boxs on a form, if I want to reinitialize the text of each TEXT box by using the codes like this: Text1 = "" Text2 = "" . ; Text10 = "" But I'd like to save some works, how can I using For-Loop to do this ?? Such like : For I = 1 To 10 Text I = "" ?? Next I Is there anybody out there know how, please tell me, would be appreciate !! Ling Lin <<<<<<<<<<<<<<< Yes, this is very easy to do if you made your text boxes a control array. HTH - IanO - ========================================================================= Date: Wed, 31 Aug 1994 09:15:32 PDT From: Bill Vaughn <billva@MICROSOFT.COM> Subject: Using an Index with a Data Control XE "Using an Index with a Data Control"  The Data control does not use indexes as they are only used with Table objects. The data control has Jet create a Dynaset object which can only be ordered by rebuilding it using the Sort property (slow) or by using the ORDER BY clause in an SQL Statement. Welcome to the world of relational databases. This is not a new place as relational databases and large datasets have existed since the dawn of data processing. Generally when working with an "engine"-based system like the Microsoft Jet database engine or SQL Server, processing of records is done on the server, not in your application. You say you need to "view" 30,000 records. This is unreasonable. Your user cannot possibly deal with that much data at once -- several hundred records is about the capacity of most users. Imagine if you took this approach with a phone book replacement application. Your user asks for a set of data (say, all of the Smiths that live in town) your app dutifully returns all 4000 of them. What will the user do? Search through each of them one by one? Hardly, the user will a) give up and use the paper book, b) refine the query or c) call 555-1212. Your application should determine what is a suitable number of records to retrieve and manage and generate a query that returns a suitable number to the user. If the subset has too many records, your app can a) return the first set and defer the fetch of the remaining set until requested (or in the background). b) return the first set and say there are too many records to fetch and that the user needs to refine the request. Remember that unpopulated recordsets hold locks on the unaccessed database records. Make your Dynasets (or Snapshots) small and move to the end as quickly as possible. Now in the case where you need to "touch" all or a subset of the records, you should not write an application that pulls up each record and changes those that need changing. This is what you had to do in the flat-file world. In the engine-based model you should write one or more SQL statements that does so. With Jet you will need to do this in several phases (in some cases). With SQL Server, you can write a batch or stored procedure that does so in one step (or transaction). This architecture is what we use for larger and larger databases. Your 30,000 record database is small to medium as databases go but the philosophy of letting the engine do the work is still valid. Since many of your page/record locking problems arrise out of sitting on datasets while an application decides what to do, this approach means fewer problems in high-use situations. Hope this helps: Bill Vaughn Apps User Ed Microsoft Corporation Opinions expressed are my own. ---------- From: Jon Turner <netmail!jturner%galsci.uucp@MATHCS.EMORY.EDU> To: Multiple recipients of list VISBAS-L <VISBAS-L@tamvm1.tamu.edu> Subject: Using an Index with a Data Control Date: Tuesday XE "an Index with a Data Control" , August 30, 1994 12:03PM How do you use an arbitrary index of a table? I have a large (30,000 records) table and need to view it (preferable with a Grid-type object) in something other than natural order. Since the table is so large, using the 'order by' feature of an SQL statement is too slow. I need to use an index. Help. ========================================================================= Date: Wed, 31 Aug 1994 12:30:00 -0400 From: Linton Smith <gwlles@WESTON.CA> Subject: Hi-Color Icons XE "Hi-Color Icons"  I'm not sure, but I think you have run up against the Windows resource limitation. I've found that, if there are a large number of icons in a program manager group, switching to 800x600, 64k (or even 32k) causes some icons in the group to go black. For this reason, I avoid more than 256 colours. Linton Smith gwlles@weston.ca ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: Hi-Color Icons Date: Wednesd XE "lor Icons" ay, August 31, 1994 12:40PM Hello, I have created a VB app that uses Drag-N-Drop in a few places. My problem is as follows: When a user sets up their PC in "Hi-Color Mode" (800x600, 64K colors), the .DragIcons are completely corrupted. Most of the time they show up as black rectangles with white "holes" in them ... Really UGLY! ... The .DragIcons are fine in all other video modes. Does anyone know how to create an icon that works for ALL video/color modes? BTW, I already tried putting my PC in 64K color mode, loading VC++'s APP Studio, and loading/re-saving the icon ... It didn't work ... Rich Rich_beaudry@smtplink.infores.com ========================================================================= Date: Wed, 31 Aug 1994 12:36:00 EST From: "LIN, Ling" <llin@LEWINEAST.VHI.COM> Subject: If don't use Control Array XE "If don't use Control Array"  Thank for those reponses, really appreciated ! But what if I don't use control array, any way to manipulate the value assigned to each "TEXT" object ?? TIA Ling Lin ========================================================================= Date: Wed, 31 Aug 1994 09:50:52 TZ From: Stanislav Fritz <stanf@MICROSOFT.COM> Subject: Hi-Color Icons XE "Hi-Color Icons"  | I'm not sure, but I think you have run up against the Windows resource | limitation. I've found that, if there are a large number of icons in a | program manager group, switching to 800x600, 64k (or even 32k) causes some | icons in the group to go black. For this reason, I avoid more than 256 | colours. | | Linton Smith | gwlles@weston.ca This is exactly right. It got a "little" better with WFW3.11, but there are some resource limitations. Reduce the number of icons, or reduce the number of colors. If my spotty memory serves at 32k colors you want to keep the number of displayed icons per group (or showing in PM) below 16. I know, I know, it sucks, but this is largely fixed in Chicago. Stan ========================================================================= Date: Wed, 31 Aug 1994 13:14:46 -0400 From: "Scott A. Finke" <sfinke@CENSUS.GOV> Subject: How to reinitialize the control TEXT? XE "How to reinitialize the control TEXT?"  >Hello, everyone > >Could I ask a very basic question here. Please be patient to me, if this is >an repeated question. >I have 10 Text boxs on a form, if I want to reinitialize the text of each >TEXT box by using the codes like this: > >Text1 = "" >Text2 = "" >. >; >Text10 = "" > >But I'd like to save some works, how can I using For-Loop to do this ?? >Such like : > For I = 1 To 10 > Text I = "" > ?? > Next I >Is there anybody out there know how, please tell me, would be appreciate !! > >Ling Lin > > Ling -- One way to do this is to create a control array. Place the first text box on the form, then Copy it and Paste it. When it's pasted, you will be asked, "Do you want to create a control array?" Answer 'Yes' to that, and then Paste as many of the text boxes as you want. Each one will be named Text1 (unless you change it), and there will be a unique value in Text1.Index for each text box, starting at zero. Then, to initialize those values, you could simply write: For I = 0 to 9 Text1(I).Text = "" Next I HTH **************************************************************************** Scott Finke sfinke@info.censu �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��! ��" ��# ��$ ��% ��& ��' ��( ��) ��* ��+ ��, ��- ��. ��/ ��0 ��1 ��2 ��3 ��4 ��5 ��6 ��7 ��8 ��9 ��: ��; ��< ��= ��> ��? ��@ ��A ��B ��C ��D ��E ��F ��G ��H ��I ��J ��K ��L ��M ��N ��O ��P ��Q ��R ��S ��T ��U ��V ��W ��X ��Y ��Z ��[ ��\ ��] ��^ ��_ ��` ��a ��b ��c ��d ��e ��f ��g ��h ��i ��j ��k ��l ��m ��n ��p ��q ��r ��s ��t ��u ��v ��w ��x ��y ��z ��{ ��| ��} ��~ �� �� ��s.gov The opinions expressed do not necessarily reflect the opinions of anyone else. Void where prohibited. Winner pays closing costs. Plus tax, tags and freight. Read prospectus carefully before you invest. **************************************************************************** ========================================================================= Date: Wed, 31 Aug 1994 10:21:20 PDT From: Bill Vaughn <billva@MICROSOFT.COM> Subject: If don't use Control Array XE "If don't use Control Array"  Sure. On the form you can use the multiple select option and use the property window for common properties. bv ---------- From: "LIN, Ling" <llin@LEWINEAST.VHI.COM> To: Multiple recipients of list VISBAS-L <VISBAS-L@tamvm1.tamu.edu> Subject: If don't use Control Array Date: Wedne XE "n't use Control Array" sday, August 31, 1994 12:36PM Thank for those reponses, really appreciated ! But what if I don't use control array, any way to manipulate the value assigned to each "TEXT" object ?? TIA Ling Lin ========================================================================= Date: Wed, 31 Aug 1994 13:32:00 -0400 From: Linton Smith <gwlles@WESTON.CA> Subject: If don't use Control Array XE "If don't use Control Array"  Well, something like this would work: Dim i%, ctrl As Control, frm as Form Set frm = MyForm For i% = 0 To frm.Controls.Count - 1 Set ctrl = frm.Controls(i%) If TypeOf ctrl Is TextBox Then ctrl.text = "" end If Next The code above will clear ALL text boxes on the form. If you want operate on specific text boxes only, you can set the tag property of each control and base your conditions on this property. I.E: If ctrl.tag = "CLEARME" then ctrl.text = "" End if Linton Smith gwlles@weston.ca ---------- From: owner-visbas-l To: Multiple recipients of list VISBAS-L Subject: If don't use Control Array Date: Wedne XE "n't use Control Array" sday, August 31, 1994 1:36PM Thank for those reponses, really appreciated ! But what if I don't use control array, any way to manipulate the value assigned to each "TEXT" object ?? TIA Ling Lin ========================================================================= Date: Wed, 31 Aug 1994 12:50:00 CDT From: Ed Staffin <edstaff@MCS.COM> Subject: msgblast.vbx v2.2 XE "msgblast.vbx v2.2"  Hi Everybody, I just put msgblast.zip on my ftp site at ftp.mcs.com in the mcsnet.users\edstaff directory. I will put it on CICA whenever I can get on. The new version takes care of a couple of problems: 1. If you were trying to trap WM_DESTROY, strange things happened. I won't go into it, but it's fixed. 2. Setting differing handling for different messages in the message center wasn't working quite right and I think I have that straightened out as well. This will probably be the last update to the msgblast.vbx until I come out with the OCX flavor in a month or two. Thanks for the continued support. Enjoy! Later ... Ed ========================================================================= Date: Wed, 31 Aug 1994 11:12:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: Handles XE "Handles"  Labels are not windows so they don't have window handles. Use a textbox instead. ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: Handles :)Date: Wedne XE "dles" sday, 31 Aug, 94 10:52AM :) :)Hi All, :) :) I wanna know about some handles in my project. :) :) ex: :) :) Sub Form_Load() :) . :) . :) ret% = SendMessage(label1.hWdn,WM_SYSCOMMAND, MOUSE_MOVE, p.xy) :) . :) . :) End Sub :) :) label1.hWnd doesn't work! How can I get label1 handle? :) :)thanks, :) :) :) |~~| |~~| Artur Rodrigues :) | | | | Brasilia, Brasil :) | |=| | MEC / CAPES :) ____ | | | | ___ Tel: +55 061 214 8818 :) \__/ |__| |__| /___\ Fax: +55 061 322 1580 :)---------------------------------- :)postmaster@capes.gov.br :)artur@capes.gov.br :) ========================================================================= Date: Wed, 31 Aug 1994 11:15:00 PDT From: "Schottenloher, James J., SSGT" <SCHOTTENLO@POST3.LAAFB.AF.MIL> Subject: How to reinitialize the control TEXT? XE "How to reinitialize the control TEXT?"  Use the Controls collection and check for the type of object. ---------- :)From: owner-visbas-l :)To: Multiple recipients of list VISBAS-L :)Subject: How to reinitialize the control TEXT? :)Date: Wedne XE "to reinitialize the control TEXT?" sday, 31 Aug, 94 11:36AM :) :)Hello, everyone :) :)Could I ask a very basic question here. Please be patient to me, if this is :)an repeated question. :)I have 10 Text boxs on a form, if I want to reinitialize the text of each :)TEXT box by using the codes like this: :) :)Text1 = "" :)Text2 = "" :). :); :)Text10 = "" :) :)But I'd like to save some works, how can I using For-Loop to do this ?? :)Such like : :) For I = 1 To 10 :) Text I = "" :) ?? :) Next I :)Is there anybody out there know how, please tell me, would be appreciate !! :) :)Ling Lin :) ========================================================================= Date: Wed, 31 Aug 1994 16:11:48 EDT From: "Starsman, Lt Raymond S." <R_STARSMAN@NISE-P.NOSC.MIL> Subject: half size title bar XE "half size title bar"  I recently used the SBCEASY VBX from Desaware's SpyWorks VB package. It allows you to set the size of a forms title bar. I liked this better than some other approaches because you didn't need any VB code to support the form, the VBX took care of all of it. Unfortunately, I did find a couple minor bugs with it, but I've found workarounds for them. Scott r_starsman@nise-p.nosc.mil ______________________________ Reply Separator _________________________________ Subject: half size title bar Author: Disc XE "size title bar" ussion for Microsoft Visual Basic and Related Issues <VISBAS-L@tamvm1.tamu.edu> at SMTP-GW Date: 8/30/94 5:00 PM does any one know how to create half size title bars ========================================================================= Date: Wed, 31 Aug 1994 16:11:40 EDT From: "Starsman, Lt Raymond S." <R_STARSMAN@NISE-P.NOSC.MIL> Subject: To ask about Graph. XE "To ask about Graph."  If you can't find a suitable graph control, you might try subtracting 25 from your results. This should allow you to plot you data on your current graph control. Just relabel the axis to something like "deviation from 25". Scott r_starsman@nise-p.nosc.mil ______________________________ Reply Separator _________________________________ Subject: To ask about Graph. Author: Discu XE "k about Graph." ssion for Microsoft Visual Basic and Related Issues <VISBAS-L@tamvm1.tamu.edu> at SMTP-GW Date: 8/30/94 3:19 PM Hi! all. I have any problem about graph creating. I have some data that I want plot on graph. But the scale of graph is too big. My data have little range (25.00001 to 24.99999). Somebody can help. Thank you! :> My address is uscctk@mucc.mahidol.ac.th ========================================================================= Date: Wed, 31 Aug 1994 16:39:09 EDT From: Silvino Mezzari Junior <SILVINO@MUSICM.MCGILL.CA> Subject: Shell command from a modal form XE "Shell command from a modal form"  Hi All, When calling another app. using function Shell, my program acts diferently depending on the style of the form FROM where I call the function. If "I" am in a modeless form, the Shelled app. recieves the focus. When in a modal form, it doesn't pass the focus to the called application. In both cases, this is the way I call: x% = Shell(app.name, 1) Am I doing something wrong, or is it a normal behaviour ? I would not like to make the problematic form a modeless form. Thanks in advance, Silvino ========================================================================= Date: Wed, 31 Aug 1994 18:17:50 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: If don't use Control Array XE "If don't use Control Array"  > Thank for those reponses, really appreciated ! > But what if I don't use control array, any way to manipulate the value > assigned to each "TEXT" object ?? Dim i% For i% = 1 To Controls.Count If TypeOf Controls(i% - 1) Is TextBox Then Controls(i% - 1).Text = "" End If Next i% This will clear ALL textboxes on the current form. If you only want to clear some, try using different TAG properties and check them in the loop Mark ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Wed, 31 Aug 1994 18:18:17 -0500 From: "Mark D. Richards" <MDR@HYDROSPHERE.COM> Organization: Hydrosphere Resource Consultants, Boulder, Colorado Subject: countdown XE "countdown"  > i am a novice vb-er,how many times have you heard that one? Never > anyway how would you code this, so that a user might be able to > input a time of their own choosing,ie ? vs (EnteredTime$ = "11:59:59 pm")? > everytime i try to have EnteredTime$ = text1.text or the like, > i have problems-like the label2.caption counting up instead of counting down. > Sub Timer2_Timer () > Label2.Caption = Format$(Time - TimeValue(Text1.Text), "HH:MM:SS") > End Sub ______________________________________________ Mark D. Richards Windows Software Engineer Hydrosphere Resource Consultants, Inc. Hydrosphere Data Products, Inc. 1002 Walnut Suite 200, Boulder, CO 80302 ______________________________________________ ========================================================================= Date: Wed, 31 Aug 1994 19:30:37 EDT From: "Dale H. Yurk" <Sean423@AOL.COM> Subject: printer driver XE "printer driver"  I've an application that, among other things, prints out legal contracts. One of my customers has an Okidata 3410(?). The windows driver has a user definable length max of 22 inches. One of the contracts is over 27 inches. There is a command available to set the form length as long as 255 inches. I've tried sending the command, the printer acknowledges the command, but the darn thing still form feeds 22 inches into the form. Any help out there? ========================================================================= Date: Wed, 31 Aug 1994 22:07:59 +0500 From: Zachary Buckholz <zack@INTNET.NET> Subject: If don't use Control Array XE "If don't use Control Array"  Please Unsubscribe Me... I appologize for posting this request, but I have deleted the original message I recieved when I joined the mailing list. So I do not know where to send the request. Thanks zack@intnet.net ========================================================================= Date: Wed, 31 Aug 1994 23:59:08 -0500 From: Ali Hepworth <HEPWORTH@MUTUAL.CO.UK> Subject: Tab character in TextBox XE "Tab character in TextBox"  Hello VBers, Is it possible to trap a TAB key press within a textbox and stop Windows from setting focus to the next control? I would like to have TABs (CHR$(9)) entered into the box but trying to trap a KeyDown,KeyPress etc is a non-starter. TIA Ali  INDEX \h "A"  * *.* FileCopy, 213, 219, 224, 225, 227, 228, 229, 231, 325 . . vbx prevents screensaver. Problem., 278 : : Whining, 276 < <no subject... you're lucky I read this...>, 246 ? ???, 356 [ [help]:referencing text boxes at run time, 528 [help]:referencing text boxes at run time -Reply, 533 1 1,2,3*********************integer, print,, 325 1,2,3*integer, print, 355, 361, 381 1,2,3*integer, print, arrays*, 331, 332, 345, 352 1,2,3, Integer, print, arrays* (fwd), 353 1Mb file in textbox, 198 2 2 Questions On Printer, 350 3 3270, 432 32-Bit Pwer Builder?, 535 3-D Text Boxes, 190, 202, 217 A Access 2.0 and VB, 257, 267, 269, 270 Access to Project to Access, 318 Activating VB App from MS Office Toolbar, 357 ADMIN anybody out there?, 110 ADMIN data.zip Help!, 26, 32 ADMIN Vacation, 111 ADMIN: Whining, 274, 276, 277, 279, 280, 281, 291 AddNew ReadOnly error?, 503 Always Minimized, 402, 414, 420, 485 Animating Graphic Methods, 36, 53, 60, 61, 63, 72, 78, 81, 83, 92, 110, 150 Anyone tried Int 21H, AX=4402H ?, 137 API Book, 212 API Book corrections, 447, 476 API call..., 273, 275 AppLink, 354 AppLink #, 333 ading Clipper .NTX, 501 al Reports Question, 374 an Index with a Data Control, 540 anybody out there?, 59, 66, 69, 73, 90, 91 ating Toolbar - stay on top, 370 ation of dates in VB, 4 ay picture, 127 B BITMAPS, 379 Big TOOL(BAR), 153 Binary files..., 258, 260, 388 BitMaps, 189, 220, 232 BMP -> ICO File Conversion, 172 Books, 157, 166, 177, 200, 211 Boolean variables, 414 Boxes in a Text Box, 230, 232, 237, 242 Bypassing printer driver, 413 background zipping?, 443, 468, 474 C C Structs, 336 C/VB data types (for use with DLLs), 113, 122, 128, 133 CANCEL..., 37, 45, 48, 52 Calendar, 140, 149, 154, 215 Caller ID, 39, 41 Can't find Netware files!, 247, 248, 249 Capturing mouse messages, 102, 121 Change Tab stops in ListBox (was List Box Formatting), 294 Changing Printer Orientation, 180, 235 Changing Version Dates, 401, 403, 463 COPY, 5, 13 Code FreeBee - Getting All Group Info from Progman, 409 Colouring Grid Cells In VB 3.0, 102 Combo Box Change Eve, 356, 454 Combo Box Change Event, 339, 341, 348, 352 Communicating With V.B, 190, 220 Computer People, 131 Control help, 289 Controllin Sb, 102 Converting A String Into, 288 Converting a string into an array in VB, 261, 268, 270, 274, 299 Corrections to Daniel Applemans API book, 223, 242 Couldn'T Find Installabl, 404 Couldn't find installable ISAM, 387, 394, 402, 441 Creating a DOS and a Windows Client for a app using VB, 65 Crystal Reports, 184, 209 Crystal Reports Bug Fix, 353 Crystal Reports Question, 370, 372, 374, 375, 376 Cursor position, 142, 143, 144, 145, 163, 188 Cursor Stack Tool?, 189 Custom Mouse Pointers, 400, 426 can bit shifts be done in Visual Basic, 107, 116, 126 child forms? (not mdi), 444, 453 child size in mdi, 158, 163, 192 countdown, 526, 529, 548 cting summary info from word documents., 345 D DATACONTROL @ PATH, 450, 451 Data Control Validate Event, 86 Data encryption, 45, 86 Database Publishing, 215 DataManager version of Grid.vbx?, 533, 535 Day of week algorithm, 183 DDE, 498 DECODE-VB, 31 Dead App, 453 Dead App?, 433, 442 De-compiling a VB .EXE, 68, 75, 105 Desktop Print Function?, 429, 439, 444, 468 Determining Screen R..., 44 Determining Screen Resolution, 34, 50, 52 Device context???, 259, 264, 267, 282 Digest Feature, 174 Disable Task Switching, 424, 429, 432, 487 Disabling list box i, 62 Disabling list box items, 38 Disk Serial #?, 19 Display DB Field in ListBox?, 177, 193 Ditto, 390 Division by Zero, 266, 280, 305 Does Anyone Out There Ha, 289 Does anyone out there have any experience with the MCI, 272 DosPrintQGetInfo & DosPrintQEnum, 83 Drag-Drop from listbox, 236, 238 Drawing Dash/Dot Lines, 245 Drawing Dash/Dot Lines -Reply, 253 Drawing/Filling /Detecting irregular regions..., 334, 377 Dynasets and Informix Transactions, 26 d access 2.0? When will new DLL's be implemented?, 108 data.uue, 178, 179, 278 data.zip Help!, 4 database listbox question, 147 ding path of VBapp.exe, 164 dles, 545 dows and Netware, 455, 466 dy out there?, 67 E Element not defined?, 392, 397, 439 Embedded Basic, 44 Encryption Routine for INI files, 6, 18, 25 Enhanced TOOLBAR, 114, 124, 125, 130 Erick Ortega's DATA.UUE, 360, 373, 388 ErrMsg Number '91', 6, 22 Error Handler, 353, 354, 364 Error in VB Tips & Trick, Article Q86283!, 172, 185, 218 Error Message from ODBC driver, 26 Error w/Crystal Reports control, 464 Error with Common Dialog file selection, 419, 423, 434 Extracting summary info from word documents., 338, 345 ending windows, 503, 524 esting thing about Help, 230 estructive Drawing, 156 F FAQ Posting, 331, 380 FAQ's F'ly, 390 FarPoint Tech.., 243, 245, 251 File Copy Progress Indication, 20 Find login name on netware?, 431 Finding path of VBapp.exe, 143, 149, 151, 152, 155, 164, 256 Floating Toolbar - stay on top, 363, 370 Floating Toolbar in MDI App?, 351, 360 Floating Toolbar..., 373 Format for Help Compiler HC31, 271 Formatting a Disk, 77 Forms in an Application, 498, 505 Forms in an Application -Reply, 531 Forwarded Mail, 170 Forwarded mail, 168 Ftp Address., 1, 6 Function Return values, 385 FW: Gem V3.01 to Visio V2.0 file conversion, 179 Fwd: OLE/EXCEL, 175 failure, 112 formatting text to clipboard, 412 G GETPROFILESTRING, 394 Get me outa here!, 216, 224, 227 GetProfileString, 187, 204 Getting physical location of file, 346 Global Variables, 248 GPF - Aarhhhrggg, not again ..., 314, 320 Graph VBX, 343 Graph Vbx, 380 Grid Access, 246 Grid.vbx problemas?, 75 g Number '91', 23 H Handles, 534, 544 HELP!!!, 213 Hello! What are you all about?, 26 Help file data controls and file name, 257 Help me in IPXSPX, 527 Help on Interprocess Communication, 313, 319 Help writing utilities - which is best?, 465, 469 Hex to Decimal Conversion Question, 180, 208, 215, 324 Hi-Color Icons, 538, 541, 542 Hiding 1st MDI Child?, 136 HOW TO ID, 14 How about an mpeg dll/vbx?, 364 How do you unsubscribe visbas-l, 237 How much to charge?, 323, 332, 333, 337, 341, 342 How To Exit, 99 How to create form larger than screen during design tim, 340 How to create form larger than screen during design time, 301 How to create form larger than screen during design time?, 292, 303, 304 How to detect a Object Variable exist ??, 36, 40, 41, 42 How to Exit, 87 How to Get VB Knowledge Base Articles on the Internet, 7 How to get the Name of Object?., 148 How to get: VB Helpwriter onto CICA?, 350 How to ID a machine?, 2, 11, 12, 14, 18, 21, 23, 27, 29, 30, 33 How to manage MCI-Window, 443 How to put a label control on a picture control, 374, 399 How to reinitialize the control, 539 How to reinitialize the control TEXT?, 537, 538, 542, 545 How to reinitialize the control TEXT? -Reply, 539 How to run App only once.., 244, 245 How to subscribe INFORMIX user list, 77 half size title bar, 502, 503, 504, 523, 546 half size title bar Part 1, 506 half size title bar Part 2, 509 help on winpen, 465, 504 help with an ErrorHandler:, 11 how to create form l, 381, 425, 426 how to create form large, 306, 309, 310, 363 how to scroll a grid?, 490, 492 I I need to RTFM!, 87 Icons/Bitmaps, 234, 238, 252 Iconwrks problem!, 173 If don't use Control Array, 541, 543, 547, 548 Import & Export ACCESS-data, 366, 379, 381, 398, 404, 406, 482, 488 Importing data with VB, 195 Importing data with VB -Reply, 206 IN: Whining, 277 INI files, 307, 308, 311, 314, 321, 327 In search of wisdom !, 98, 115, 116, 132 Index Tab Control, 100, 113, 115, 118, 119, 120, 131, 141 Informix C-ISAM via ODBC?, 348, 367 Installers, 34, 104, 129 InstallSHIELD, 135, 164, 165, 173 Interesting thing ab..., 208 Interesting thing about Help, 186, 229 Interrupting a MS/SQL, 347, 348 Invalid file format (of .EXE), 495 IPXSPX control question, 492 Irregular shape control, 299, 451, 523 IS THERE A DIGEST???, 531 ISO: Novell VBX, 101, 118 Item not defined?, 395 iles, 309 indows and Netware, 476, 496 ing Toolbar - stay on top, 363 ing to a specific printer???, 67 ing Version Dates, 463 J Jet 2.0 Compability ..., 110 Jet 2.0 Compability laye, 119 Jet 2.0 Compability layer, 94, 99, 106, 109, 118, 119 Joining tables in VB, 209, 221 jpeg viewer control?, 293, 308, 328, 331, 343, 362, 484 K Killing an Application, 174, 191, 197, 212 k about Graph., 546 keystrokes to dos app, 406 knowing when an mmExecute call finishes?, 452 L L..., 47 Launch VB App from DOS session, 389 Left-Aligining A Form Caption, 251 LISTBOX POINTER, 263 List Box Formatting, 271, 272, 273, 277, 282 Listbox, 106, 127, 138 Listbox drag-drop, 252, 255 Listbox Pointer, 289 Loading Control Arra..., 343, 344 Loading Control Arrays dynamicaly, 342, 366, 390 Looking for VBX, 450, 451, 452 Losing It! (3D font properties), 530, 535 l Basic vs PowerBuilder, 346 label at windows startup, 2, 4, 10, 14, 15, 18, 25, 103 ld size in mdi, 163 lem with wNetAddConnection, 78 list box formatting, 291 ll Network Client Development with VB, 437, 438 looking for opinions on VBITS, 366 lor Icons, 541 M Mail failure, 112 Making child windows always on top...anybody know?, 263, 267 Mapping a Disk, 236 MCI VBX, 37 MDI form scrollbars, 25 Message Parsing, 283, 304, 357 MessageNumber definition, 184, 202 MOD player, 117 More Icons, 243 MS Graph 5 through OLE automation, 399 MS Write as MDI Child ?, 365, 376 ment not defined?, 440 missing file, 436, 444, 445 msgblast.vbx v2.2, 544 N Need some funny jargon, 178 Network Client Development with VB, 401 New FTP site, 500 New Visual Basic FTP Site..., 80 NOMAIL = NOLUCK, 213 No fonts installed ?!, 387, 393, 397 Non-Destructive Drawing, 139, 156 Novell Users Full Name, 284 NT/VB Question, 435 Nulls In Yes/No Fields, 405 Number of Records, 155, 159, 195 n't use Control Array, 543, 544 ndows and Netware, 491 ng an Application, 197 ng tables in VB, 221 nting Graphics!, 486 O OCR (escape) codes, 88, 240, 242, 256 ODBC for Ingres and Pick, 30 ODBC performance, 91 OFFSUB : subscription, 152, 162 OLE/EXCEL, 140, 144, 158, 175 On Top, 78, 83, 84, 85, 100, 106 Order keystrokes are processed, 403 Output of your job, 234 o ID a machine?, 13 o reinitialize the control TEXT?, 538 ole, 524 or in VB Tips & Trick, Article Q86283!, 185 ord locking, 472, 489 ormat for Help Compiler HC31, 260, 262, 265 ox, 138 P Paradox 4.x support, 445 Parsing, 210 Passing Variable to ..., 289 Passing Variable to Sub Routine, 287 Passing Variables To Sub, 291 Passing Variables to Sub Module, 287 Password Cipher Variation, 308 Password encryption, 293, 295, 301, 304 Password pseudo-random cipher, 316 Password pseudo-random fix, 317 PC Specific information, 499, 502 Photos for screen savers., 389, 391, 453 Picture Control scrool, 216, 223 PKZIP and DOS Windows, 61, 79 PKZIP and Shell, 107 Pkzip and Dos Window, 62 Pkzip and Dos Windows, 39, 65 Playing multiple WAVs simultaneously, 430 Please Subscribe-me in Visbas-L, 177, 205 Positioning MDI child forms, 33, 43, 59 Postal code lookup, 254, 259, 270 Posting, 380 Pre-1900 Dates, 380 Preformatting bound controls, 193 Presenting Graphics!, 462, 486 Printer Esc codes ...., 87, 112 Printer Escapes, 69 Printer Paper Size, 317, 350 Printing, 95, 120, 129 Printing of OLE-able objects -Reply, 5 Printing Problems, 244 Printing text in any angle, 143, 151, 153, 160, 214 Printing to a specific printer???, 64, 67, 68, 82 Problem with Compat.. HELP!!, 448, 449 Problem with wNetAddConnection, 12, 21, 24, 78 Profile functions, 336 Purchase MS SQL Server, 166 Put a label on a picture box, 254 passing variable to sub, 290 pping the execution of control-events, 461 printer driver, 548 printing control codes in VB, 284 Q QueryTimeout, 334 Question on DoEvents Function, 230, 233 Question: Get Info from other Apps. Dialog Boxes, 325, 329 R Random = Unique ?, 38 RE : Function Return Values, 386 Re(2): Determining Screen Resolution, 54 Re...Error with Common Dialog file selection, 420 Re...No subject given, 49, 66 Re...Pkzip and Dos Windows, 49 Re..No fonts installed ?!, 398 Re[2]: Animating Graphic Methods, 114, 138 Re[2]: Desktop Print Function?, 503 Re[2]: Erick Ortega's DATA.UUE, 365 Re[2]: Printing text in any angle, 214 Re[2]: Windows and Netware, 466, 470, 476, 530 Re[4]: Animating Graphic Methods, 142, 194 Re[4]: Windows and Netware, 495 Read Only Database Error, 368, 382 Read Only Database Error -Reply, 392 Reading Clipper .NTX, 522 Reading DOS Serial Numbers, 279 Read-Only database...?, 183 Record locking, 457, 464, 472 Record locking -Reply, 488, 494 ReDimming arrays to ..., 397, 416 ReDimming arrays to shrink them, 396 Report Generators, 358, 463 Resizing fonts, 408, 427, 428, 430 Resuable Code, 391 Return value from .EXE, 421 RI: RTF Format for Help Compiler HC31, 266 Rotating Text before printing..., 312 RTF Format For Help Compile, 264 RTF Format for Help Compiler HC31, 258, 259, 260, 261, 263, 265, 271, 275, 298 Runaway picture, 109, 123, 125, 127 Runaway picture -Reply, 132 Running MWBACKUP..., 369, 371 re Control scrool, 224 regist control, 357 ring mouse messages, 122 rrupting a MS/SQL, 349 rting Text, 170, 383 rupting a MS/SQL, 347 S S/2 & Lotus., 156 Scheduler, 35, 60, 67 Screen Object, 286 Scrolling Text box?, 355 SET VISBAS-L NOMAIL, 293 SETUP Kit question, 187 Searching a binary database, 39 Seeking a visual basic programmer, 189 Sending Keystrokes To A DOS Application, 95 Sending Keystrokes t, 90 Sending Keystrokes to a DOS program, 81 Sending MIDI events revisited, 35 Sending strings in Netware, 425 Sending WM_WININICHANGE, 527, 528 Set Mail -- Locked out, 234 SetSysModalWindow, 456 Setup Wizard, 169, 172, 177, 191, 194, 198 Setup Wizard (Casting the Right Spell), 286, 299, 302 Shell command from a modal form, 547 Signin Visbas-L, 288 SignOFf, 201 Simpler INI file interface, 457 Small Network Client Development with VB, 401, 437 Sorted!, 76 Sorting Algorithm, 51, 55, 73 Soundex use in SQL Query, 522 Source control software, 499 Spin Control, 455 SQL Statement, 182, 218 SQL Statement -Reply, 206 STRUCT in C/VB, 281, 285, 306 Stack limits, 526 Status Bar - Help?, 139 Stopping the execution of control-events, 454, 459, 460 SUBSCRIBE, 77, 363 Subject: VB and windows reso, 536 Subject: Importing Text, 170 Subject: Importing Text (fwd), 383 Super/Sub-script in Captions, text strings etc., 32 s/Bitmaps, 239 send keystrokes to d, 431 send keystrokes to d..., 407 send keystrokes to dos app, 402, 405, 406, 415, 438 signoff visbasic-l, 258 size title bar, 546 sor position, 163 stal Reports Question, 375 struct in c/vb, 290 T Tab character in TextBox, 548 Tabs in Listboxes, 470 Task Switching DLL, 412, 413, 433 Teletext Characters, 153 Test, 439 Text Parsing, 186, 201, 203, 210, 297, 320 Text processing over 32k - multiline text boxes, 387, 400 Text Value, 201 THE PRINT, 86 The Printer object, 82, 83 The Strange Behaviour of Crystal Reports....., 226 Tiling application windows, 487, 498 Timer. vbx prevents screensaver. Problem., 275, 278 TList (Outline Control), 137 TOOLBAR, 82, 94, 98, 117 To ask about Graph., 499, 504, 546 Touch Tone Interpretation, 33 Two questions..., 57 t Generators, 464 table vs dynaset, 469, 473, 477, 489 to reinitialize the control TEXT?, 545 U Unknown, 418, 434, 441, 531, 532 Unknown (extracting Icons), 532 Unknown subject, 208 Unsubscribe help, 69, 72, 73, 75 Updated THREED.VBX File, 249 Upgrade to GRAPH.VBX, 449 USA-IL-Moline Technical-Consultant Shamrock, 253 Userlist in VB, 111 Using an Index with a Data Control, 497, 539 Using MCI VBX, 25, 31, 55 Using Mci Vbx, 38 Using Paradox 4.0 indexes, 162 ular shape control, 335, 378 V Vacation, 78, 93, 150 Validation of dates ..., 13 Validation of dates in VB, 3, 10, 17, 31 Various questions, 140 VB & Project 4.0, 419, 525 VB & Virtual Reality, 188 VB / Powerbuilder, 461 VB and access 2.0? When will new DLL's be implemented?, 92, 108, 109, 134 VB and FORTRAN 5.1 DLL, 1 VB and LANMAN Commands, 2, 16 VB and windows resources, 460, 469, 471, 473, 484 VB au Quebec, 221 VB boolean variables, 390 VB List : General Protection Fault, 525 VB on MIPS and DEC Alpha, 283 VB Reading Clipper .NTX, 500, 501, 522 VB reference, 130, 135, 165, 173, 208, 218, 220, 222, 230, 231, 235, 237 VB Tips & Tricks 1.9 Rele, 88, 240 VB Tools 3d Combo, 91 VB version control, 390, 396 VB vs. Powerbuilder (Personal assessment), 207 VB, OS/2 & Lotus., 156, 211 VBDATA, 303, 315 VBDATA (is also Re : whining), 326 VBDATA list, 351, 358 VBSQL.VBX, 187, 286, 300 VBX's, 329 Vb And Access Pictur, 483, 502 Vb And Access Pictures, 424, 436, 483, 524 Vbasic x Powerbuilder, 374 Very Strange!!, 44 VISBAS-L Digest - 17 Aug 1994 to 18 Aug 1994, 328 VISBAS-L Digest - 21 Aug 1994 to 22 Aug 1994, 328 Viewer for AutoCad drawings, 100 Viewing a Variable V..., 445 Viewing a Variable Value, 445, 446, 447, 523 Visual Basic for Macintosh, 474, 475 Visual Basic Testing Application, 298 Visual Basic User Group, 298 Visual Basic vs PowerBuilder, 337, 339, 346, 355, 362, 367, 372, 376, 382 Visual C++ books, 130 Visual C++ list, 9, 24 VT100 emulation, 526 vb app w. floating tbar / help, 92, 108, 167 visbas mail format, 438 W What Happened, 180 What would you do?, 293, 296, 322 Which API to call?, 340 Whining, 329 WIN-G, 145, 148, 151 Win Sockets, 295 Windows API Text, 436, 439, 442, 443 Windows and Netware, 415, 417, 421, 428, 455, 490 Windows handles using VBA, 157, 160, 199 Windows Netware Login, 386 Windows NT and VB, 85 Windows NT..., 77, 101 Wise 1.2 installer, 190 Wise Installation Sys, 192 Wise Installation System, 174, 192, 201 Wizard (Casting the Right Spell), 300 WM_SETREDRAW?, 446, 484 WnetGetCachePassword, 369, 467, 536 Writing a .DLL, 469, 475, 493 Writing a .DLL -Reply, 489 WYSIWYG Printing, 344, 359 writing utilities - which is best?, 465 ws and Netware, 417 X Xcopy Like function, 391 Y your mail, 328, 435, 468, 470  ࡱ����������������;�� ���������������������������������������v��������������������������C��D��c��d������������������w��x������$��%��E��F����������!��!��!��!��%��%��%��%�� -��!-��,-��--��.��.��.��.��5��5��5��5��Y8��Z8��8��8��9��9��:��:��;��;�� <��<��ZO��[O��qO��rO��P��P��Q��Q��2T��3T��ST��TT��W��W��X��X��[��[�� \�� \��b��b��b��b��vd��wd��d��d��ph��qh��h��h����������������������������C� uD����Cbh��k��k��k��k��m��m��,m��-m��o��o��2o��3o��@p��Ap��Lp��Mp��hs��is��s��s��'w��(w��8w��9w��-x��.x��Ix��Jx��P{��Q{��p{��q{������ւ��ׂ��=��>��[��\������2��3������A��B��������������#��$��Z��[��p��q��-��.��R��S��'��(��C��D����µ������b��c��|��}������������������;��<��W��X��G��H��^��_������6��7���������������������������������C� uD����Cb��������������k��l������/��0��W��X������,��-��Q��R��r��s��W��X��}��~��P��Q��z��{��������������7��8������ ��!��������������`�a�u�v�} �~ � � � � � � ���E�F����� � �-�.�0�1�S�T�����c �d � � �(�(�(�(�W*�X*�|*�}*�,�,�,�,��������������������������� uD����C�Cb,�0�0�0�0�6�6�6�6�A=�B=�R=�S=�.?�/?�N?�O?�@�@�@�@�D�D�D�D�H�H�H�H�L�L�L�L�N�N�N�N�U�U�U�U� [� [�[�[�F_�G_�v_�w_�d� d�Od�Pd�l�l�$l�%l�'q�(q�=q�>q�u�u�u�u�v�v�v�v�R{�S{�i{�j{�L~�M~�]~�^~�ڋ�ۋ���Ѝ�э���e�f�������4�5�Y�Z�t�u����������������������������C� uD����Cbu����������$�%�Ǹ�ȸ�������7�8�L�M���������_�`�y�z�������������(�)�I�J�Z�[�w�x���������U�V�v�w�@�A�i�j�(�)�f�g�!�!�!�!�U%�V%�r%�s%�*�*�*�*�j+�k+�+�+�M.�N.�^.�_.�1�1�D1�E1��������������������������� uD����C�CbE1�2�2�2�2�5�5�5�5�:�:�:�:�<�<�<�<�>�>�2>�3>�3@�4@�J@�K@�PW�QW�hW�iW�\�\�]�]�Ua�Va�oa�pa�fb�gb�~b�b�c�c�c�c� p�!p�;p�<p�s�s�s�s�Ow�Pw�gw�hw�-}�.}�<}�=}�����C�D�\�]�@�A�k�l�����������(�)���ދ�ߋ���̍�͍����������������������������������C� uD����Cb�ϒ�В�ț�ɛ�������ڥ�ۥ�����������9�:�S�T�������ڵ�۵�� �"�#���+�,�����J�K�X�Y�������������������������N�O�a�b�h�i���������� ����������������������������������� uD����C�Cb���������~����&�'�>�?�#�$�b�c�����j �k � � �i�j�y�z��������� � � !� !�$�$�%�%�K6�L6�Z6�[6�=� =�<=�==�@�@�@�@�C�C�#C�$C�I�I�I��J�1L�2L�TL�UL�M�M�M�M�0X�1X�HX�IX�Y��Z�Z�Z�Z_�[_�_�_�b�b�b�b�We�Xe�le�me�k�k����������������������������C� uD����Cbk�k�k�t�t�t�t�8z�9z�Vz�Wz�}�}�}�}�� �-�.�ڃ�ۃ���������������?�@�y�z��� �!���(�)�0�1�o�p�М�ќ���������ͣ�Σ�n�o��� �!�6�7�����|�}���t�u�������������ÿ�Ŀ������������������������������� uD����C�Cb���������������!�"�������������j�k�|�}���������1�2�I�J�������<�=�t�u���p�q����������� � � � ���������H�I�`�a�p$�q$�$�$�g*�h*�*�*�.� .�M.�N.�1�1����������������������������C� uD����Cb1�1�1�+7�,7�B7�C7�h8�i8�z8�{8�=�=�=�=�?�?�?�?�4H�5H�FH�GH�J�J�J�J�dL�eL�|L�}L�R�R�R�R�)T�*T�=T�>T�'V�(V�>V�?V�jX�kX�X�X�VY�WY�oY�pY�V\�W\�t\�u\�`�`�`�`�c�c�(d�)d�n�n�@n�An�p�p�q�q�v�v�v�v�}�}�}�}�ۂ�܂���������ˉ�̉�͋�΋�܋�݋������������������������������� uD����C�Cb�0�1�O�P�B�C�\�]�י�ؙ���?�@�O�P�X�Y�q�r�I�J�b�c�j�k���ܮ�ݮ���������ղ�ֲ�ڴ�۴�����ܷ�ݷ��� � �����������������������������"�#�C�D�����L�M�m�n���8�9������������������������������C� uD����Cb�#�$�k�l�x�y�������3�4�����S �T �h �i �����T�U�v�w�o�p�������,$�-$�E$�F$�&�&�&�&�+(�,(�E(�F(�+�+�+�+�s,�t,�,�,�/�/�/�/�1�1�1�1�5�5�5�5�8�8�8�8�C�C�D�D�-I�.I�OI�PI�pL�qL�L�L�X�X�Y�Y�\�\�%\�&\�_�_�_�_��������������������������� uD����C�Cb_�`�`�`�`�xc�yc�c�c�6d�7d�Jd�Kd�f�f�f�f�rg�sg�g�g�i�i�i�i�Sj�Tj�tj�uj�[m�\m�pm�qm�m�m�m�m�q�q�q�q�r�r�1r�2r�)v�*v�Gv�Hv�v�v�v�v�{�{�{�{�������������v�w��� � �+�,�m�n���(�)�Y�Z�Ъ�Ѫ���4�5�H�I����������������������������������C� uD����Cb�2�3� �!�4�5�������ƹ�ǹ�����0�1�L�M�����������������N�O�u�v���4�5����� � �>�?���&�'�Q�R�f�g�g�h�����&�'��������� � �7 �8 �����M�N�m�n����������������������������������� uD����C�Cb�! �" �E �F �<$�=$�P$�Q$�#'�$'�;'�<'�,�,� -�-�.�.�.�.�2�2�3�3�<7�=7�X7�Y7�.9�/9�W9�X9�}<�~<�<�<�=�=�=�=�?�?�1?�2?�D�D�D�D�F�F�G�G�+I�,I�EI�FI�J�J�J�J�,N�-N�JN�KN�Q�Q�R�R�V�V�V�V� W� W�,W�-W�Z�Z� [� [�`�`�`�`�ef�ff�yf�zf�-i�.i�Vi�Wi�n�n�$n�%n�%s�&s����������������������������C� uD����Cb&s�>s�?s� �!�>�?�k�l�����ą�Ņ�����ٍ�ڍ������������� � �b�c�t�u�Ȥ�ɤ�פ�ؤ�}�~�����=�>�ͬ�ά�������Q�R�i�j� � �0�1�l�m���������$�%���4�5�W�X�k�l�����Z�[��������������������������������� uD����C�Cb�^�_�u�v� � ���}�~������������������������������� � �# �$ � � � � �����������"�#���������o�p���&�&�&�&�'�'� (�(�O*�P*�c*�d*�/�/�/�/�6�6�6�6�:�:�:�:�<�<����������������������������C� uD����Cb<�6<�7<�?�?�?�?�A�A�A�A�iC�jC�C�C�H�H�H�H� I�I�!I�"I�Q�Q�FQ�GQ�=S�>S�[S�\S�T�T�T�T�V�V�V�V�Y�Y�Y�Y�^�^�%^�&^�a�a�b� b�~j�j�j�j� n� n�n� n�iq�jq�}q�~q�nt�ot�t�t�Wy�Xy�ky�ly�}�}�}�}�"�#�A�B�&�'�K�L�ą�Ņ�߅����*�+�[�\�o�p������������������������������� uD����C�Cb���“�Ó�����4�5�Y�Z�� �(�)�N�O�p�q�>�?�S�T�a�b�����������S�T�i�j�h�i������������������� � ����� � �u�v����������������� � ��������������������������������������C� uD����Cb�����������s�t���������$�%�u�v���m �n � � �k�l�����6�7�5�6�M�N�����E�F�f�g�^"�_"�}"�~"�4�4�4�4�D6�E6�[6�\6�8�8�8�8�;�;�;�;�?�?�?�?�SF�TF�xF�yF�G�G�H�H�L�L�L�L�EO�FO�_O�`O�+Q�,Q�DQ�EQ�:W�;W�TW�UW��������������������������� uD����C�CbUW�]�]�^�^�_�_�_�_�Kd�Ld�xd�yd�i�i�i�i�2k�3k�Ik�Jk�+n�,n�Tn�Un�;r�<r�dr�er�u�u�u�u�x�x�x�x�Wz�Xz�nz�oz�l~�m~�~�~���'�(�E�F�t�u��������Œ�����W�X���ȕ�ɕ�ߕ��]�^���۝�ܝ���P�Q�y�z���������֫�׫� � ������������������������������C� uD����Cb�������ϵ�е� � ���C�D���������������4�5�w�x�������+�,�P�Q�����;�<�V�W���������$�%�?�@������������� � �:�;� � �!�"�d�e�����������a�b�x�y��������������������������� uD����C�Cby�z�{�������6�7�M�N�8� �9� �L� �M� � � � � � � � � � � � � � � �% �& �O �P �_ �` � � � � �M �N �d �e � � � � �t �u � � �?& �@& �V& �W& �z& �{& �& �& �e* �f* �{* �|* �D- �E- �_- �`- �}5 �~5 �5 �5 �9 �9 �&9 �'9 �< � < �?< �@< �K> �L> �o> �p> �B �B �B �B �I �I �I �I �jM �kM �{M �|M �LP �MP ����������������������������C� uD����CbMP �aP �bP �Q �Q �+R �,R �T �T �T �T �UZ �VZ �|Z �}Z �_ �_ �_ �_ �` �` �a �a �sc �tc �c �c �Nf �Of �nf �of �7h �8h �Kh �Lh �mm �nm �m �m �n �n �n �n �Cs �Ds �Ys �Zs �v �v �3v �4v �x �x �x �x �z �z �z �z �n �o � � � � �- �. � � � � � � �ӊ �Ԋ � � �Nj �ȋ � � �: �; �˕ �̕ � � � � � � �O �P �i �j � � � � ��������������������������� uD����C�Cb �6 �7 �U �V �� � �) �* � � � � � � � � �t �u � � � � �= �> � � �$ �% � � � � �U �V �f �g � � � � �T �U �o �p � � � � � � �L �M � � � � � � � � � � �C �D � � � � �W �X �o �p � � � � � � � � � � � � �o� �p� �� �� �3 �4 �T �U � � � � �? �@ ����������������������������C� uD����Cb@ �K �L �  �! �@ �A � � � � � � � � �H �I �Y �Z �?' �@' �g' �h' �2+ �3+ �\+ �]+ �`1 �a1 �q1 �r1 �8 �8 �8 �8 �> �> �> �> �B �B �B ��C �`I �aI �zI �{I �ZO �[O �|O �}O �X �X �X �X �] �] �] �] �&f �'f �:f �;f �j �j �j �j �n �n �o �o �u �u �u �u �3 �4 �N �O �E �F �` �a �S �T �} �~ � � �( �) � � � � � � �( �) ��������������������������� uD����C�Cb) �{ �| � � �g �h �x �y �Ч �ѧ � � �Ŭ �Ƭ � � �R �S � � �z �{ � � �@ �A �M �N � � �Ƕ �ȶ �% �& �^ �_ � � � � � � �' �( � � � �� � � � � � � � � �O �P �` �a � � � � � � �* �+ � � � � � � �' �( �+ �, �E �F � � � � �$ �% �= �> � � � � �7 �8 �[ �\ � � ����������������������������C� uD����Cb � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � ( �( �6( �7( �* �* �* ��+ �- �- �- �- �M0 �N0 �^0 �_0 �2 �2 � 2 �!2 �I3 �J3 �a3 �b3 �6 �6 �6 �6 �"8 �#8 �A8 �B8 �9 �9 �9 �9 �u< �v< �< �< �? �? �5? �6? �'B �(B �PB �QB �C �C �C �C �I �I �I �I �O �O �O �O �O �O �O �O �!S �"S �BS �CS ��������������������������� uD����C�CbCS �T �T �T �T �Y �Y �Y �Y �b �b �b �b �f �f �2f �3f �g �g �h �h �Kl �Ll �xl �yl �r �r � s � s �t �t �t �t �)w �*w �Nw �Ow �{ �{ �#{ �${ � � � � �U �V �t �u �r �s � � � � � � � � � �� � � �> �? �- �. �H �I �f �g � � � � �Ә �Ԙ � � � � � � � � � � �� � � � �զ �֦ �ͪ �Ϊ � � �ݬ �ެ ����������������������������C� uD����Cbެ � � � � �έ �ϭ �S �T �k �l �ð �İ �۰ �ܰ � � �¹ �ù � � � � �> �? �Z �[ � �! �< �= �K �L �o �p � � � � � � � � � � � � � � � � �_ �` �t �u � � � � � � � � �H �I �o �p �P �Q �o �p � � � � �: �; �_ �` �1 �2 �T �U �: �; �[ �\ � � � � � � � � � � �0 �1 ��������������������������� uD����C�Cb1 �m �n � � � � � � � � � � �B �C �b �c �- �. �H �I �# �# �$ � $ �* �* �+* �,* �J. �K. �i. �j. �5 �5 �"5 �#5 �6 �6 �6 �6 �8 �8 �8 �8 �8 �8 �9 �9 �2? �3? �i? �j? �LA �MA �lA �mA �^D �_D �{D �|D �J �J �J �J �M �M �M �M �R �R � S � S �fU �gU �U �U �] �] �^ �^ �xg �yg �g �g ��j �j �j �j �[n �\n �ln �mn �o �o �o �o �t �t ����������������������������C� uD����Cbt �t �t �^u �_u �mu �nu �"x �#x �>x �?x �y �y �z �z �| �| �| �| � � � � � � �; �< �I �J �o �p � � �Ì �Č � � � � �9 �: �] �^ �' �( �D �E �n �o � � � � � � � � � � � � �ױ �ر � � � � �~ � � � � � � � � � � � �* �+ �7 �8 � � �/ �0 � � � � � � � � � � � � ��������������������������� uD����C�Cb �x �y � � � � �2 �3 � � � � �~ � � � � � � � � � � � � � � � � � �3 �4 �] �^ �w �x � � �E �F �W �X �t �u �r �s � � � � � � �[ �\ �| �} � � � �� �l �m � � � � � � � � � � �m �n � � � � � � � � � � �? �@ �] �^ �j �k � � � � � � �# �# ����������������������������C� uD����Cb# �# �# �& �& �8& �9& �s( �t( �( �( �*+ �++ �P+ �Q+ �:0 �;0 �X0 �Y0 �2 �2 �3 �3 �: �: �": �#: �Q= �R= �o= �p= �@ �@ �@ �@ �C �C �D �D �G �G �6G �7G �H �H �H �H �J �J �J �J �[ �[ �[ �[ �_ �_ �_ �_ � s �s �1s �2s �t �t �t �t �Tw �Uw �tw �uw �{ �{ �{ �{ � � � �Ă �W �X �p �q �. �/ �P �Q � � �ύ �Ѝ � � �& �' �F �G �a �b ��������������������������� uD����C�Cbb � � � � � � � � � � � � �t �u � � �l �m � � � � �ش �ٴ �2 �3 �P �Q � � �: �; �L �M �{ �| �g �h � � �G �H �e �f � � � � � � � � � � �$ �% �< �= �X �Y �% �& �B �C � � �' �( �R �S �m �n �[ �\ �q �r � � �; �< � � � � �������/�0� � � � �I �J ����������������������������C� uD����CbJ �e �f �����5�6�S�T���� �.�/�H�I�!�!�!�!�M$�N$�\$�]$�)�)� *� *�i-�j-�-�-�c0�d0�w0�x0�4�4�44�54�F6�G6�d6�e6�:�:�:�:�@�@�A�A�WB�XB�B�B�uF�vF�F�F�)J�*J�CJ�DJ�IL�JL�UL�VL�4M�5M�SM�TM�=Q�>Q�UQ�VQ�U�U�V�V�|Y�}Y�Y�Y�]�]�^�^�_�_�_�_�c�c�d�d��������������������������� uD����C�Cbd�<h�=h�Mh�Nh�Wi�Xi�oi�pi�ql�rl�l�l�o�o�o�o�q�q�q�q�xv�yv�v�v�y�y�7y�8y�{�{�"{�#{���� ����������������� �ˋ�̋���4�5�T�U���ړ�ۓ�Й�љ���Z�[�~����Ԟ�՞�-�.�Q�R���§�ç��� � �����۱�ܱ��������������������������������C� uD����Cb�� ��¸�ظ�ٸ�����ʾ�˾���l�m�������u�v��������l�m�������+�,�?�@�z�{�������p�q���1�2�G�H�)�*�K�L������������� � � � �R�S�k�l����������� � �~"�"�"�"��������������������������� uD����C�Cb"�#�#�#�#�%�%�%�%�r+�s+�+�+�a.�b.�w.�x.�2�2�I2�J2�2�2�2�2�5�5�5�5�6�6�7�7�>�>�>�>�F�F�7F�8F�H�H�H�H�J�J�K�K�AO�BO�aO�bO�P�P�P�P��S�S�S�S�U�U�MU�NU�Y�Y�Y�Y�AZ�BZ�RZ�SZ��]�]�#]�$]�f�f�g�g�j�j�j�j�n�n�n�n�r�r�r�r�<x�=x�Tx�Ux�x}�y}����������������������������C� uD����Cby}�}�}�f�g���J�K�`�a�T�U�v�w�������ϐ�А�N�O�h�i�������������&�'�D�E�����d�e�������'�(�?�@���4�5����� � �+�,�������������|�}�������r�s���#�$�@�A��������������������������� uD����C�CbA� � �9 �: �|�}�������f�g���o"�p"�"�"�z*�{*�*�*�4�4�4�4�7�7�7�7�+;�,;�N;�O;�C�C�C�C�L�L�L�L�N�N�N�N� R�!R�BR�CR�U�U�U�U�X�X�X�X�C[�D[�b[�c[�5]�6]�P]�Q]�4_�5_�S_�T_�^e�_e�}e�~e�Zh�[h�nh�oh�"p�#p�Ap�Bp�r�r�r�r�u�u�!u�"u�>x�?x�Zx�[x�{�{����������������������������C� uD����Cb{�{�{�|�|��}�}�(�)�F�G���(�)�������Ƈ�LJ�J�K�e�f�<�=�R�S�C�D�^�_�`�a�����ߚ��m�n���������w�x��� � �(�)�h �i � � �.�/�M�N��������������������� � � � �.&�/&�E&�F&�&*�'*�:*�;*��������������������������� uD����C�Cb;*�--�.-�>-�?-�1�1�1�1�w7�x7�7�7�<�<�#=�$=�B�B�2B�3B�E�E�E�E�N�N�N�N�T�T�T�T�V�V�V�V�Z�Z�BZ�CZ�]�]�]�]� b� b�b�b�Qf�Rf�sf�tf�m�m�+m�,m�o�o�o��p�"v�#v�1v�2v�y�y�y�y�|�|�|�|������� �!���$�%�����n�o���i�j���� ����������������������������C� uD����Cb �5�6�Ж�і����� � �>�?�r�s�����C�D�g�h�v�w���H�I�Y�Z���������A�B�n�o�����0�1�M�N���������Y�Z�r�s���������Y�Z���S�T�|�}���������X�Y�s�t���+�,������������������������������� uD����C�Cb���������u�v���"�#�D�E���>�?�G�H�V�W�/�/�/���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������uD�����C� uD����C���J��u������#��$��h������������(��r������P������.��x��������\������������ ��n ��s �� �� �� ��c ��d �� �� ��0 ��v �� �� �� ���!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- ��1 ��7 �� �� �� �� �� �� �� �� ��B �� �� �� �� �� ����+��r��������e��f��t��u������M������.��`��a�������������� ��T���������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-������@����������0��y������������ ��_��������"��l����������)��*��u������������<��E��^��i��j��k��|��}��������P���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-P������������;����������B��������������,��F��U��������G��H��o��{���������� ��,��-��w���� ��V��}��~���� ��- ��. ��w ���������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-w �� �� �� �� �� ��$!��O!��!��!��!��!��!��&"��q"��"�� #��W#��#��#��#��($��V$��X$��b$��d$��r$��$��$��$�� %��8%��|%��%��%��%��?&��&��&�� '��Q'��d'��'��'��6(��`(���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-`(��~(��(��(��(��(��(��(��)��])��)��)��7*��*��*��+��_+��+��+��+��,�� ,��$,��%,��3,��S,��b,��,��,��-��.-��/-��p-��q-��-��-��-��-��-�� .��7.��i.��.��.��/��\/���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-\/��/��/��B0��0��0��0��0��0��31��91��1��1��1��&2��/2��02��y2��2��2�� 3��^3��3��3��3��3��&4��14��M4��N4��4��4��4��4��5��=5��}5��5��5��5��6��Z6��6��6��87��97���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-97��T7��7��7��7��+8��8��8��8��9��9��39��}9��9��9��:��:��%:��^:��:��:��:��:��:��:��2;��];��;��<��<��Y<��e<��f<��<��<��<��=��3=��y=��z=��=��=��=��=��>��]>���!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-]>��>��>��>��>��>��>��>��?��N?��O?��?��?��?��@��@��'@��(@��E@��F@��`@��a@��z@��{@��@��@��@��@��@���A��A��A��XA��A��A��A��"B��lB��B��B��B��B��C��C��CC��DC���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-DC��C��C��D��fD��D��D��D��D��D���E��E�� E��kE��E���F��F��F��cF��F��F��<G��G��G��G��H��TH��yH��zH��H��H��H��H��H��H��$I��%I��GI��kI��lI��I��I��I��=J��cJ��dJ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-dJ��nJ��oJ��J��J��J��AK��K��K��K��K��K��K��K��L��ZL��L��L��L��L��L��L��L��L��M��]M��M��M��M��N��^N��N��N��O��=O��sO��tO��O��O��O��O��O��P��EP��|P��P���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-P��Q�� Q��UQ��Q��Q��:R��cR��dR��eR��R��R��R��R��R��R�� S��5S��dS��S��S��T��/T��UT��T��T��:U��cU��eU��U��U��V��V��bV��V��V��W��W��W��bW��W��W��W��X�� X��QX���������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-QX��X��X��4Y��Y��Y��Z��Z��Z��IZ��Z��Z��[��[��[��a[��[��[��[�� \��V\��\��\��\��\��\��\��\��\��2]��Z]��\]��]��]��'^��h^��j^��^��^��8_��z_��_��`��D`��F`��`���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-`��`��`��`��`��`��`��`��a��_a��a��a��)b��Tb��b��b��b��c��c��[c��\c��mc��nc��|c��c��c��c��c�� d��Id��ld��d��d��d��Ee��e��e��e��e��e��e�� f��kf��f��f��f���!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-f��g��^g��kg��g��g��g��h��Dh��h��h��h�� i��ji��i��i��i��j��ej��j��j��j��j��j��j��j��k��fk��k��k��k��?l��@l��Ul��wl��l��l��l��l��m��am��m��m��m��m��m���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-m��m��9n��On��n��n��n��4o��5o��Ao��Bo��Ho��To��o��o��o��.p��Np��Op��hp��p��p��p��q��q��"q��#q��bq��q��q��q��q��q��q��Dr��Gr��pr��sr��r��r��r��r��s��Fs��s��s���!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-s��s��t��jt��wt��xt��t��t��t��t��Cu��\u��_u��u��u��6v��Cv��nv��pv��v��v��w��:w��;w��w��w��w��w��w��$x��zx��|x��x��y��8y��:y��~y��y��y��z��Dz��Fz��Rz��Tz��Vz��z���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z��z��z��z��*{��r{��s{��z{��{��|��d|��|��|��|��B}��}��}��}��}��M~��~��~��~��~��9����������<����׀��!��"��p����������������;������ڂ���!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-ڂ��ۂ��!��j������J����Ƅ��DŽ����@��A��I��J��V��p��������]��^��b��������8��9��=����ԇ������M����ƈ����3��5������ۉ������a�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��� ������8��j����Ƌ��Nj��ˋ����e������Ɍ����M��O����ȍ����A������ӎ����S����������9��v������7��@��A����ݑ�������������4��~�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����4��5��}����������“��ē����Y����������e����͕��ϕ����=��?��V��q������ϖ����g������K��������C��D����ՙ���� �� �������!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-��f������˚��͚����D��v������ ��R������)��e��f��g��h������������;����՞��$��q����������:��������à��Š����5��������%���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-%��&��s��������������g����٣��ڣ������������2��O����������\��h��|��������;��E������ަ������F��{��|������Ƨ��ǧ��Χ��Ч���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Ч��������;��H��I��]��^��q������ר������S��b��c������©����@��n��o��������ƪ��������� ������Y����Ы����T��U������6����˭���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-˭����[��������������Q��}��~��������¯��į��˯��د��گ����J��������$��E��F��Z��[����ޱ��߱��)��m������̲��Ͳ����g����ų��dz��ȳ�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��Z��������+��V����������?��H��I��g����Ŷ�� ��-��.��K��}��~������������5��H��������������I������5��Z��[��i��r�������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����8��w��������λ����*��d����������Q����������L��f��g��l��m��{����پ����B��~��������ѿ��ҿ������7��8��9�������������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������������������f��������������(��a��������������5��b����������e��f��|��}��~����������)��+��:��A��M��r�����!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���� ��1��t��v������\��j��l����������<��V��Z������4��B��n��q��������;������������������;��������8��9��@��A�������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-��'��e��f������F��a��b������������6��a����������h����������b��y��z������������"��O����������<����������E�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������������-����������%��&��2��L��������,��Y������������,��2��3��A��������.��/��q����������[��_��u��v��~������&��N��t��u�������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-����e��������+������������\��������'��;��<��N��R��c��y������7��^������ ��|��}����������_���������������!��B��\���!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-\��]��������������������g����������"��a��b��������������R��}����������*��]��������?��j������<��D��L���������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��5��}������ ��0��x���� ��R��y��������!��c������)��k������1��s������9��{���������� ����3��D��Q��a��q��s���������� ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- ��C��^����������:��f����������-��>��U��n����������������-��`��{�������������� ��A��e���������� ��V������ ��H���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-H��������I��K������������+��,��7��J����������T��U�������������� ������?��|��������<��=������ ��-��.��V��X��_�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-��������\��������$��&��p������ ��!��%��&��n���������������L�|����;�h������J�d����� �E�w��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������������-w�x�z���.�0�v���0�2�p������������)�h������1�k���! �V � � � � � � �\ �e �f ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-f � � � � � � �E �F �N �O �Y �Z � � � �T � � � � �I � � � � � � � � �F�q���G�H�S�T����%�]�^����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-��������4�p�������X�����6�~����������?�t����^����b�i�p���/��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-/�0�s��������2�|����U�V���B���3����N�S�����i�������K��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-���^��� �8 � � � � �!�<!�u!�!�!�!�!�4"�m"�"�"�#�O#�P#�#�#�#�#�#�$�$�<$�E$�H$�$�$�%�h%�i%�%�&�M&�&�&��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-&�+'�u'�'�'�(�(�a(�(�(�D)�T)�U)�Y)�Z)�k)�)�)�)�,*�~*�*�*�*�+�O+�n+�o+�+�+�+�+�+�+�,�S,�,�,�,�-�S-�-�-� .�B.�k.��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-k.�.�.�.�.�*/�c/�/�/�0�J0�}0�0�0�0�0�E1�q1�r1�1�1�1�1�1� 2� 2�2�2�-2�w2�2�2�2�3�b3�q3�3�3�3�3�3�3� 4�I4�T4�U4��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-U4�4�4�4�=5�{5�5�5�5�5�5� 6�56�s6�6�6�6�17�{7�7�8�N8�8�8�8�9�i9�9�:�:� :�k:�:�:�:�;�g;�;�;�;�;�;�;<�X<�Y<�a<��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-a<�b<�n<�~<�<�<�*=�T=�U=�=�=�=� >�V>�Y>�Z>�_>�>�>�?�P?�Q?�?�?�?�?�@�G@�|@�@�@�@�<A�A�A�A�B�eB�B�B�B�C�fC�jC�C�C��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-C� D�D�#D�mD�D�D�D�D�D�FE�fE�gE�mE�E�E�E�E�F�LF�F�F�*G�uG�G�G�G�G�H�LH�jH�H�H�H�H�"I�mI�I�I�I�4J�|J�J�K�XK�K��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-K�K�K�K�K�L�=L�nL�L�L�L�M�WM�M�M�M�M�M�#N�PN�N�N�N�O�O� O�`O�O�O�P�SP�P�P�Q�>Q�?Q�uQ�Q�Q�Q� R�<R�KR�LR�R�R��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-R�R�R�R�R�.S�KS�LS�kS�lS�S�S�S�T�T�VT�T�T�U�LU�{U�U�U�U�U�U�V�4V�VV�wV�V�V�V�V�V�V�V�'W�;W�fW�xW�}W�~W�W�W�W��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-W�'X�)X�xX�X�X�X�X�X�Y�(Y�NY�OY�yY�Y�Y�Z�FZ�zZ�Z�Z� [�[�H[�[�[�[�)\�m\�w\�x\�\�]�R]�S]�]�]�]�*^�7^�a^�^�^� _�C_�x_��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-x_�_�_�_�_�`�\`�`�`�`�7a�8a�?a�Ja�La�va�a�a�a��b�b�#b�Jb�[b�db�fb�b�b�b�b�b�b�Ac�oc�c�c�Qd�Rd�Zd�vd�d�d�d�e�e�(e��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-(e�6e�;e�<e�e�e�f�f�&f�*f�.f�f�f�f�g�%g�)g�zg�~g�g�g�g�g�g�h�/h�Wh�~h�h�h�h��i�i�"i�6i�ji�i�i�i�i�i�"j�Vj�j�j�j��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-j�#k�mk�k�k�k�&l�9l�:l�Al�Rl�Sl�~l�l�l� m�qm�m�m�n�n�en�kn�n�o� o�Zo�o�o�o��p�5p�jp�lp�p�p� q�?q�@q�Fq�Gq�q�q�"r�pr�r��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-r� s�Ws�s�s�;t�t�t�t�t�t�&u�Qu�{u�u�u�u�u�u�u�@v�ov�v�v�v�v�v�w�%w�&w�jw�w�w�w�w�w�w�w�w�x�=x�ax�x�x�y�ay��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ay�y�y�Bz�z�z�{�5{�k{�l{�t{�u{�{�{�=|�|�|�}�K}�o}�p}�q}�r}�x}�}�}�~�5~�_~�`~�~�~�~�0�Q�^�q������:�V�x���!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��Ӏ���6�R�n���ǁ���,�K�g����Ȃ��"�>�Z���߃��#�A�]�{������̈́����%�B�X����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����;�I�^�z���؆�� ��0�;�<�b�s����͇����e����+�R�����ʼn�Ɖ�Ӊ���1�C�S�f�|��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-|�����͊�� �&�0�H�P�m�n�z���ˋ����G�o�p����� �U�����+�T�U�������A�X����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����ˏ�̏��F��ې�"�k��������‘�ԑ�Ց�ݑ�ޑ������� �!�+�5�=�N�a�w�����ܒ��=���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-�����J��Ŕ�Ɣ��Y���5���������>��͗��B�x����M�\�y�z���ə���4�?�@��Ԛ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�(�f���������L�Y��М� �[�\�����P�_������ž��E�F�p�q��Ÿ���?�U�V���Ƞ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�?�}���-�_���"�b���!�T����+�`��ϥ�Х� �C�D��Ҧ� � �>�q�r�����ŧ�Ƨ��8�r���(�U��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-U��������_���6��ɫ�����Z����ʬ�ˬ�֬� �M�����#�%�e���®�ɮ�ʮ�Ӯ�Ԯ��S�T����������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���ѯ�߯�� �.�;�<�S�T����!�k��ɱ��a�q��ײ��!�B�e��۳��Q�S��ߴ���4�v�w����6��ȶ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ȶ��Z���6�a���(�n���*�e��˺�ں���Y��ϻ� � �T�n����O���*�s���O�z����a�����!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-������ �c�s����#�D�g�h�i���� � �4�5��������T�U����A�}���#�e���&�l��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-l����P����$�Y������O�����5�6�c�d�q�r�����6�w����N�O�y�����3�S�p���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-�������>�k������;�h�j���L���,�K�M�z�|���!�#�<�>�K�L�M�`�a���,�n���4�H��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-H�I�J�[�\�����9�D�����)�m�����(�)�p��������&�'�_����^��������,��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-,�-�.�/�i����M�N�r�s�t�u�����������9�:�;�<�]�^�_�`�o�p�������'�(�<�=�>�?��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-?�D�E�F�G�t�u�v�w�������������5�6�7�8�f�g�h�i�m�n�o�p�q�r������?�{�|�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-���S�z�{������N�y�����E��� �`�a��������<�s����T���D�J�����?���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-������f���;�S�T�����$�>�e����4�k����%�6�}�� ��G�X�r����;�f�����7��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-7�U�V���$�Q�R�S�\�]����0�y�����g�h�j���=�����T�c�����X�����E�F���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-!�j���E����7�y�z����=�����S������I���(�t�u�����<�������*��s����������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���R�������E�z�����>�����`���������F�s����-�.�x����7�?�@�S�g��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-g�h�i�j����.�x�y����$ �h � � � �! �" �j � � �@ �k �l � � �C � � � �\ � � � �6�}�� �P�m�n���C��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-C�����X���/�w���L�����Z�������F�c��������)�E�`����k�l�����I��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-I�j������&�>����h�i�y�z���$�%�g���-�o���5�w�����+�m���%�2�`�����5 �6 ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-6 �= �> �X �e �u � � � � � �'!�T!�!�!�!�!�;"�}"�"�"�"�%#�^#�k#�#�#�#�$�V$�$�$�%�2%�t%�u%�%� &�&�7&�9&�N&�r&�&�&�&��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-&�&�'�'�R'�'�'�'�2(�W(�Y(�^(�k(�|(�~(�(�(�!)�/)�1)�3)�~)�)�)�G*�r*�*�*�*�*�*�*�@+�\+�+�+�+�+�+�,�,�F,�G,�,�,�,��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-,�,�7-�8-�J-�K-�-�-�-�6.�`.�a.�.�.�.�.�:/�/�/�/�/�0�0�-0�10�F0�0�0�0�F1�G1�1�1��2�2�2�C2�2�2��3�3�I3�3�3�3�3��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-3�3�E4�~4�4�4�4�4�4�5�L5�q5�5�5�6�[6�6�6�6�6�6�6�6�6�H7�}7�7�7� 8�W8�8�8�79�9�9�:�D:�:�:�:�;�;�;�N;�;�;��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-;�;�;�;�;�;� <�6<�g<�<�<�<�<�<�!=�"=�#=�$=�*=�?=�=�=�=�4>�5>�9>�>�>�?�H?�I?�n?�?�?�@�L@�M@�@�@�@�@�@�A�A�TA�tA��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-tA�A�B�B� B�B�B�^B�B�B�8C�9C�C�C�D�VD�rD�sD�D�D�D�D�*E�sE�tE�E�E�E�*F�tF�F�F�F�F�F�G�QG�G�G�0H�{H�H�I�I�I�3I��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-3I�4I�I�I�I� J�J�KJ�J�J�J�J�J�J�+K�nK�K�K�&L�`L�L�L�L�L�L�AM�BM�CM�WM�M�M�M� N�N�N�XN�YN�lN�N�N�N�N�O�O�<O�JO��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-JO�uO�vO�O�O�O�O� P�!P�5P�xP�yP�P�P��Q�0Q�kQ�Q�Q�Q�Q�R�#R�.R�/R�{R�R�R��S�*S�+S�vS�S�S�S�S� T�T�IT�UT�jT�T�T�T�U�SU��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-SU�U�U�#V�$V�EV�FV�qV�rV�sV�V�V�V�2W�jW�kW�uW�W�X�hX�X� Y�[Y�Y�Y�NZ�Z�Z�A[�p[�q[�[�[�[��\�\�e\�\�\�\�]�b]�]�]�]�]��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-]�]�]�>^�^�^�^�^�^�_�_�T_�_�_�_�.`�/`�t`�u`�`�`��a�5a�qa�ra�a�a�b�Hb�b�b�b�b�b�(c�Sc�c�c�c�d�bd�d�d�d�d�d��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-d�2e�xe�e�e�e�e�e�'f�qf�f�f�Ig�rg�sg�g�h�Th�jh�kh�h�h�h�i�gi�i�i�i�!j�nj�j�j�j�k�k�Ik�Jk�k�k�k�l�Kl�Ll�Pl�Ql�_l��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-_l�l�l�l�l�l�l�l�*m�?m�}m�m�m� n�0n�;n�<n�gn�n�n�o�0o�Co�Po�Uo�o�o�o�=p�>p�p�p�q�bq�q�q�r�r�5r�Kr�]r�r�r�r�&s�_s��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-_s�s�s�s�s�t�t�2t�3t�{t�t�u�Bu�Cu�~u�u�u� v�2v�3v�[v�\v�av�v�v�v�1w�iw�jw�w�w�w�@x�Ex�x�x�(y�Xy�Yy�y�y�y�y�y�y�y��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-y�2z�z�z�z�z�z�z�&{�'{�A{�B{�S{�T{�U{�]{�^{�{�{�|�%|�+|�v|�|�|�}�>}�?}�x}�y}�}� ~�H~�I~�Q~�R~�~�~�~�~�~�~�%�P����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-���D�E��̀��X���́���J�K�S�T�e�w��Ђ��$�^�_�f��ك� �g��܄��m�n�~��� �3�4�=�T��ˆ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-ˆ���1�{��ۇ����G��Ԉ��M�N�b��׉��*�+�x�����T����(�)�p�����-�z�΍�ύ��'�(�H�S��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-S�i�u������"�V��Ǐ�ɏ��R�����O������‘�ё���2�_���ђ��� ���D�E�t�v���Y��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-Y���ޔ�.�{�����.�|�ʖ��a�c�����3�~���Ø��+�v���� ���a����њ��0�[����4��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-4�o���М�����.�>�U�f�g�����ޝ���X�k��ƞ���+�T�t��џ��N���� �Z�`�a�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�š��<�q�����M���/�{�Ƥ�֤�פ����G�t����P��צ�ئ��e���A��ը��f�w���+�l���'��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-'�p�����/�z�Ŭ���0�D�E�������.�Y������5�R�S�a�b��ȯ� �/�x���K�m����U�V��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-V�����a���/�\�����.�[���ܵ�+�w�Ķ��_�q�s�������.�/�9����$�%�0�Q�t�u�z���!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-�ڹ� �3�4�P�x�y��޺��(�r��ջ�-�.�5�6�x�¼�ͼ�μ���N�s�t�������.�E������P�Q��ÿ�Ŀ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-Ŀ� �R���� �W�X����� �6�Z�[����(�)�c�r����� �6�i�~���7�e�g�����8�|�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-��R������ �"�,�.�A�U�f�h�i�����Q�������S�����b���B���"�O�{����>��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������->��� �T�z�|�}���T��� �T�����"�#�n����6�{����H����������F�s�����.��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-.�/�x���P����f�����<�=����e���&�d����*�p������� � �V���4�~���5�c�d��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-d�h���=�q�r��� �D�����Y���� �1�5�d�e�w�x�����-�_��� �D�w�����]���6�E��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-E�s�����N�O�o������:�e���!�"�d�e��� �`��� �'�(�a������%�&�N�O�\�i�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����E�x�y��������4�X�|�}���������� �@�k�������8�e����!�8�:���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-��� �5�7�v�x�������>�x�����1�f�����)�v����Y�����O���������F��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-F�x������g�h�i������F�J�����I�M�b�f������!�_����#�l���E������-���!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������--��w���� �U����@�A�O��� �C�D������3�}���d�e�����8�e���/�p�t����7�f�s�u���!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-����� �U � � � � � �6 �^ � �" �p � � �^ �r �v � � � � � � �= �? �K �M � � �1�~���g����/�f�g���!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������S�{�|���������-�.�{�|������+�R�h�n���0�f����.�?�@����^����!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-�� �P�����8���(�x���?�p�����=�C�e�f���=�������]����&�,�C�D���� ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- ���<�[�����; �f � � � � !�!�!�!�!�h!�!�"�K"�"�"�+#�n#�o#�p#�q#�#�#�#� $�W$�$�$�%�%�(%�S%�T%�]%�^%�j%�%��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-%�%�%�%�%�%�*&�V&�W&�&�&�&�F'�G'�O'�W'�X'�'�'�((�H(�I(�Z(�k(�l(�(�(�(�9)�})�)�*�F*�*�*�*�*�+�+�b+�+�+�+� ,�!,�",��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-",�T,�U,�y,�z,�,�,�,�,�,�.-�q-�|-�}-�-�.�K.�L.�.�.�.�.�2/�=/�>/�/�/�/�/� 0�,0�F0�b0�c0�0�0�0�91�~1�1�1�1�1�1�A2�2��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-2�2�2�2�73�L3�M3�3�3�3�4�4�T4�4�4�4�4�5�+5�B5�C5�~5�5�5�*6�@6�6�6�6�=7�7�7�7�7�8�8�_8�w8�y8�8�8�8�8�8�9�L9��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-L9�9�9�!:�":�k:�:�;�K;�;�;�;�;�<�<�d<�<�<�<�>=�?=�Q=�R=�=�=�=�8>�b>�c>�d>�>�>�>�>�!?�[?�?�?�"@�N@�@�@�@�@�A�QA��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-QA�A�A�B�B�.B�xB�B�B�B�%C�&C�uC�C�C�C�$D�%D�&D�ND�OD�D�D�D�D�2E�yE�E� F�SF�nF�pF�F�G�LG�NG�SG�UG�G�G�G�7H�:H�UH�XH�H��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-H�H�H�H�H�I�I�_I�I�I�J�J�QJ�J�J�-K�wK�K�K�L�VL�WL�L�L�L�*M�WM�M�M�M�M�;N�N�N�N�N�N�DO�O�O�/P�~P�P�Q�kQ�Q��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Q� R�XR�R�R�ES�S�S�S�S�S�S�T�GT�PT�kT�T�T�T�T��U�U�JU�U�U�&V�XV�YV�ZV�V�V�V�V�W�3W�}W�W�W�X�JX�KX�SX�TX�X�X�X��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-X�X�X�X�>Y�kY�Y�Y�Z�Z�ZZ�Z�Z�Z�Z�1[�u[�[�\�K\�\�\�\�]�]�c]�]�]�]�]�]�^�,^�U^�^�^�^�._�_�_�_�`�i`�`�`�`��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-`�Ha�Ia�Ra�Sa�_a�wa�a�a�a�(b�^b�b�b�b�=c�c�c�d�dd�ed�pd�qd�vd�d�d�d�<e�ne�oe�e� f�Zf�f�f�Fg�g�g�g�g�g�g�h�>h�|h�h��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-h�h�h�h�2i�Mi�Ni�vi�i�j�Pj�j�j�j�j�j�j�&k�dk�k�k�k�k�k�k�:l�l�l�(m�rm�m�n�]n�n�n�n�n�n�n�n� o�o�o�o�-o�5o��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-5o�=o�>o�Ro�Zo�bo�co�to�uo�o�o�o�o�o�o�p�;p�yp�p�p�p�p�%q�@q�Aq�Oq�Pq�q�q�(r�sr�r� s�;s�<s�s�s�s�s�s�s�s�/t�Zt�t�t��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-t�t�u�bu�u�u�u� v�v�/v�Dv�Vv�hv�v�v�v�v�2w�@w�Nw�w�w�w�w�w�x�x�Nx�x�x�x�x�x�y�y�y�ay�y�y�z�Xz�Yz�z�z�z�z��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-z�;{�I{�W{�{�{�{�|�|�B|�S|�T|�|�|�|�|�|�|�|�|�I}�t}�}�}�}�}�6~�v~�~�~�~��i�����d�����?�H�I�S��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-S�b��ׁ� �/�0�y�������f��Ń����3�M�N�����ń�ӄ��J�|���݅�ޅ�(�r����1�w���3��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-3�4�w�x����U��ɉ� ��a�l����%�j���ŋ��K�����ь��F����4��������+�^���&��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!������������-&�X�����Ȑ��2���ޑ�� � ��g��Β�"�#�e����%�'�m�����ߔ����_������1�{����!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�*�+�3�4�Z�[���#�$�/�0�<����q�r�y�z��ę�ř�ؙ��1�2�O��֚��Q�R��؛����H�u����-�s��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-s���A�����>�����N���,�v��ˡ���]�c�}����Ƣ�Ң��I��ϣ�У��h���G��ޥ�,�z����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-��Q�����J���/�������?�k��ڪ���E���̫��^���4�R�S�[�\�����)�*�1�3�}���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���8�9�A�B����������F�o��ܰ���*�t��ұ����W�X�����U�V��޳���#�$�s����!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���b�����I�_������N���Ʒ�Ƿ�̷��A�y�����D��˹��1�3�V�X���Ѻ��@�A��׻�ػ��F��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-F�s����D�E�[�\�e�f�u�w�������Խ�ս�ݽ������Q�R�x�y�����*�U��ſ�ƿ��\�]�z�{���!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-��� �k��� �8�S�����F���4���������!�l������Z���@���� �Y������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������g����3�|����Q���2������I��������� �S�]����$�&�(�G�q����!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��+�g����%�\�|�������>��� �"�l����_�i���������� � �M�����*�X���!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����9�C���� � �T����2�v���� �0�1�4�U�|����4�k������P�������'�R��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-R������F������L�a�c������� ���Z���.�v���I����a�b�{����Z����R�~��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-~������ �U�����=�|����"�k�����a���D���$�q�����Y�����A��� �"�k��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-k���M�m����K�L�����,�?�@����K�x�������:�E�����'�+�l���;�g�������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����g���H����>�?�E�F�s�������<�����E�F�J������h���,�Q�����0�}��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-}�����B�o������'�w����_������;�=�?�A�a������8�{���>������:�e�������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��! ��" ��# ��$ ��% ��& ��' ��( ��) ��* ��+ ��, ��- ��. ��/ ��0 ��1 ��2 ��3 ��4 ��5 ��6 ��7 ��8 ��9 ��: ��; ��< ��= ��> ��? ��@ ��A ��B ��C ��D ��E ��F ��G ��H ��I ��J ��K ��L ��M ��N ��O ��P ��Q ��R ��S ��T ��U ��V ��W ��X ��Y ��Z ��[ ��\ ��] ��^ ��_ ��` ��a ��b ��c ��d ��e ��f ��g ��h ��i ��j ��k ��l ��m ��n ��o ��p ��r ��s ��t ��u ��v ��w ��x ��y ��z ��{ ��| ��} ��~ �� �� ����%�6�?�y���!�"�:�N�|������4�e�������0�o����� �5 �X �x � � � � �* �j � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �( �= �f � � � � �a � � �B � � � � � � � �"�X������� � ���2�C�Z�_�`�a�z�{������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������i���/�z���� �5�V�u�v��������O�z�{�|�}�������*�<�F�|�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�#�\�]��������;�f�����@�L�M���5�6�7��� �K������H�����Q���/�y���*��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-*�b�c���O�s�t������A�Y�Z�[��� �^ �_ � � � �!!�o!�!� "�["�q"�r"�s"�"�"�"�#�5#�K#�Q#�#�#�$�F$�d$�$��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-$� %�W%�%�%�,&�U&�W&�&�&�2'�e'�g'�h'�'�'�B(�k(�l(�q(�r(�u(�(�(�))�k)�)�)�*�E*�d*�*�*�*�*�*�*�+�+�U+�+�+�@,�,�,� -��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- -�"-�2-�4-�~-�-�-�.�.�.�.�.�.�F/�N/�O/�/�/�/�/�0�P0�0�0�1�=1�y1�1�1�1�-2�72�2�2�2�2�2�2�2�?3�@3�3�3�3�4�T4��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-T4�4�4�*5�+5�,5�55�65�5�5�5�5�6�N6�6�6�7�D7�E7�7�7�7�7�7�8�8�B8�[8�8�8�8�9�e9�9�9�4:�[:�\:�:�:�1;�b;�c;�;�;�A<��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-A<�<�<�=�L=�=�=�=�=�=�=�8>�{>�>�>�>�>�'?�@?�?�?�?�@�@@�t@�@�@�@�@�@�A�A�;A�<A�DA�YA�A�A�A�A�A�A�A�A�B�B��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-B�]B�B�B�B�B�2C�nC�C�C�C�C�C�C�D�3D�4D�?D�\D�D�D�D�D�D�,E�/E�IE�LE�YE�\E�oE�uE�E�E�E�E�E�E�E�E�E� F�"F�6F�CF�FF��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-FF�F�F�F�F�F�F�G�(G�rG�G�G�G�H�HH�IH�H�H�2I�EI�FI�GI�eI�I�I�I�!J�>J�nJ�J�J�J�K�6K�7K�8K�9K�WK�{K�K�K�L�FL�~L�L�L��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-L�L�!M�pM�M�N�WN�N�N�N�N�O�O�MO�O�O�O�O�6P�P�P�Q�ZQ�Q�Q�6R�aR�R�R�R�R�R�/S�;S�<S�GS�VS�S�S�T�?T�@T�IT�JT�T�T��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-T�U�DU�NU�OU�^U�U�U� V�@V�AV�LV�MV�V�V�W�W�HW�eW�fW�nW�oW�xW�W�W� X�KX�X�X�X�X�X�X�X�Y�,Y�LY�Y�Y�Y�"Z�#Z�@Z�AZ�FZ�GZ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-GZ�Z�Z�Z�Z�1[�v[�[�[��\�2\�v\�w\�\�\�\�\�]�N]�X]�]�]�)^�v^�|^�^�^�_�(_�x_�{_�_�_�_�_�0`�[`�`�`�`�`�`�1a�;a�a�a��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-a�a�b�b�b�b�Vb�b�b�b�b�b�b�b�b�b�b�<c�gc�c�c�*d�+d�Yd�d�d�d�d�d�d� e�e�Me�e�e�e�e�e�e�f�Gf�{f�f�f�f�f��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-f�f�f�f�f�f� g� g�Jg�g�g�h�8h�wh�h�h� i� i�Qi�i�i�i�i�j�j�j�1j�Rj�Sj�^j�{j�j�j�j�j�k�Kk�Nk�hk�kk�xk�{k�k�k�k�k��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-k�k�k�k�k� l� l�l�,l�Al�Ul�bl�el�l�l�l�l�m�m�#m�Gm�m�m�Bn�Cn�En�n�n�n�n�n�n� o�do�o�o�o�o�o�o�o�+p�Vp�sp�p�p��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-p�q�q� q� q�q�Vq�q�q�'r�(r�)r�?r�[r�vr�r�r�s�8s�js�ks�rs�ss�s� t�Qt�t�t�t�t�t�t� u�u�2u�3u�4u�5u�u�u�u�v�v�Vv�Wv�v��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-v�v�w�Uw�`w�bw�rw�sw�w�w�x�0x�Zx�[x�_x�x�x�x�!y�Sy�Ty�y�y�z�Vz�bz�ez�vz�wz�z�z� {�8{�c{�d{�i{�j{�{�{�{�"|�e|�f|�|�|�|��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-|�|�|�|�|�}�O}�|}�}�}�}�8~�~�~�~�~�I����+�t����@�S�T�W�y���߁��K�v������7�w���#��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-#�$�E�M�U�V�W�X�m�����(�e���Ʌ�ʅ��S��؆��c������J������Ȉ��?�t�͉�Ή���Z�[��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-[������ �S�~��ދ�ߋ�+�c�d�m�q�|�}�Ό�ߌ�,�S�l�m�n���ύ�Ѝ��3�4�=�G�U��ʎ� �Q�R���3�G�H��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-H����֐�� ��.�l���"�^�_���� �W��͓�Γ��_�x�Ô�ؔ�ٔ�&�'�q���P��������,�-�d���!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��ܗ�)�M���˜�Ԙ��!�k�����8��К��e���#�$�?�@�O��Ȝ��)�Q�R�Z�[��Ν�������S���!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-�֞��9�s�t������]���&�^�_���)�m���%�&�e���5�w����I��ѥ��&�'�J�K�S�_�x�¦��&��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-&�F�d����F�H��ި�.�|�©����e���P����M���ˬ�̬� � ���+�,�D�E�F�G�|�}���խ��J�e���!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���Q�W������+�/�C�D��ʰ�˰�ٰ�#�N�x���ñ�ı�ʱ�ֱ� �M��ײ�ز��e���� �W�����9�N�O��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-O����ڵ�ܵ�������!�#�Z�\������Ƕ��.�[��޷�߷���a������f��ӹ�� �Z�[�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-����H�J�W�Y�o�q�����Ȼ�ʻ���'�)�s��׼���S���:��Ѿ������0�2�3��̿��U�X���B��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-B���-�X�����U�W�d�f�|�~���������4�6�7�8�;���%�v���;�t������%�[�\����!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-�"�c���)�h����#�f���5�x����0�1�r���8�z���F�^�_���$�j����+�m�����V����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���^���'�j���5�v����!�a�b�����D�����2�x���3�4�w��� � �P�����&�l���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����� � �R������<�=�@���*�{���B�t��� �$�K�h�w����� �Q�t�u���������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�G��������S�X������!�"�R�S�l�m�w�x���^������^��������E�z��� �T��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-T���4����A�x����������G�y������� �E�G����E�F�O�������'�v������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�a�t�����W�����I�u����&�*�M�\�]�z�{�����V���+�r���%�o�p����H�J�Q�R���!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-��6�F�G�L�M���"�i���>����:�;�=�D��� �K�a�c���� � �P�d�e�h����/�y���%�&�n��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-n���9�:�}�������3�X�z�{�}�� ��Y����������������������'�)�*�b�c�d�e��� �+�u�� �T��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-T���5�������8�9����5�6�C�D�J�V�k�����A��� � �P�z�{����� �8 �j �k � � �Z � ��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������- � �A � � � � � � �7 � � � � � �J �c � � � � ��C�{����� �Z�{�|�}����,�x�y�}����U����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-����#�a�c�����\�������f�g�h���C����g���&�Y�������+�-�9�=������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-�!�&�'�n�������i���R���8�N�������9����]���9�e����, �w � � � �D!�p!�r!�s!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-s!�!�!�!�!�!� "�Q"�"�"�#�T#�#�#� $�G$�H$�L$�M$�$�$�$�$�$�G%�%�%�%�%�&�B&�&�&�&�'�`'�s'�t'�'�'�'�'�'�(�y(�(��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!������������-(�(�(�(�)�S)�)�)�)�)�)��*�>*�N*�u*�*�*�*�+�J+�+�+�+�+�,�Y,�,�,�,��-�-�J-�-�-�-�-�-�-�<.�|.�.�.�F/�t/�/�/��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-/�/�/�/�60�70�0�0�0�0�0�0� 1�:1�l1�1�1�2�X2�[2�\2�r2�2�2�2�2�2�3�3�]3�3�3�4�4�)4�.4�/4�4�4�4�4�4�5�^5�5�5��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-5�5��6�6� 6�T6�6�6�;7�7�7�7�7�7�7�7�7�7�8�38�y8�8�8�8�8�8�P9�9�9�@:�:�:�:�;�;�3;�8;�L;�Q;�T;�;�;�A<�<�<�<��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-<�<� =�M=�=�=�>�>�Z>�>�>�?�Z?�[?�?�?�?�?�?�N@�@�@�@�@�A�XA�A�A�*B�pB�B�B�FC�qC�C�C�D� D� D�D�D�D�?D�UD�}D�D��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-D�D�E�+E�`E�aE�bE�vE�wE�E�E�E�E�E�F�F�PF�RF�F�F�G�EG�qG�G�G�H�*H�BH�UH�H�H�I�QI�RI�TI�[I�`I�I�I�I�@J�WJ�YJ�`J�aJ�J��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-J�J�J�J�K�BK�nK�K�K�K�IL�L�L�L�L�M�DM�EM�LM�MM�M�M�M�)N�7N�>N�AN�[N�tN�wN�N�N�N�N� O� O�UO�bO�O�O�O� P�YP�iP�jP�P��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-P�Q�Q�hQ�Q�Q��R�(R�qR�yR�R�R� S�1S�[S�S�S�S�S�;T�=T�T�T�T�T��U�U�U�@U�U�U�V�JV�KV�cV�lV�oV�rV�V�V�V�V�W�W�W�fW��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-fW�hW�iW�oW�W�W�W�W�W�X�`X�X�X�Y�Y�dY�Y�Y�>Z�Z�Z�Z�Z�Z�=[�i[�[�[�\�'\�(\�o\�{\�|\�\�\�\�\�\�\�=]�j]�]�]�+^�z^��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z^�^�_�?_�_�_�_� `�`�0`�[`�x`�`�`�`�`�a�^a�a�a�a��b�Jb�\b�_b�hb�kb�tb�wb�|b�b�b�b� c�[c�c�c�c�c�c�d�)d�ad�dd�d�d��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!������������-d�d�d��e�e�e�e�6e�9e�<e�?e�ve�ye�e�e�e�e�$f�Pf�f�f�f�f�f�g�@g�eg�g�g�g�;h�h�h�h�h�h�8i�di�i�i�i�"j�Lj�j�j�j��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!������������-j�k�Pk�k�k�k�k�k�<l�=l�Dl�El�Il�l�l�m�@m�rm�sm�m�m�m�n�n�n�n�n�en�n�o�?o�@o�Ao�Zo�yo�o�o�o�'p�mp�p�p�p�p�p�p��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-p�%q�Qq�q�q�q�q�r�Xr�yr�zr�r�r�r�s�Gs�s�s�s�s�s�s�s�s�s�t�Ot�t�t�t�t�t�t� u�u�Vu�u�u�v�Iv�Jv�v�v�v�w�w��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!������������-w�jw�w�w�w�w�w�#x�:x�;x�`x�x�x�x�x�y�]y�^y�y�y�y�y�y�y�z�Rz�~z�z�z�z�{� {�b{�c{�{�{�{�|�|�|�|�4|�P|�k|�|�|��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-|�|�.}�`}�a}�}�}�}�}� ~�,~�U~�s~�~�~�~�~�~��<�r������a�f������5�e�s�t���؁� �k�m�y����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����K���+�u��������S�������9�e�f�r�s���M��؇��d��Ո��[�q�r����Ή���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�D�w�����&�(�*�b���΋�����(�*�v�� �V�e�f���A��ӎ��e���$�k������T�����!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-�5��̒� � �Z�`�a���ؓ�ٓ�#�m��͔�Δ��G�I�K���ϕ�� ���4�I�K�z�{������'�Z�����ٗ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-ٗ�ڗ�(�4�5�;����-�.�S�l��Й��g��ښ�ۚ���6�B�C������V�W�_�g�h���?����ٝ�ڝ�����!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�I��ޞ���N���-�?�@�U�j�k��ˠ�̠����.�/�t�u��ɡ�ʡ���N�O�h��̢�͢� �"�#�@�w�����=��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-=�>�����Ф�ߤ����%�J�\�g�h���G����[�\�����=�y����"�X��̩�ͩ��H�v����1�C��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-C�����J�K��֬������1�{��ۭ���U��Ӯ�ۮ�ܮ��%�o��ͯ���4�{���ް�$�n���M�N�W�[���!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-�Ѳ��6�7�t���3�>�?�Q�R��޴���a������<�x����a�d�m�n����:�m��Ӹ��K��ȹ�ɹ� �/��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-/�0�T�r�z������ �d�e����׻�!�M������-�_�`�f��ܽ��N�O�z�{�þ��)�*�0�b�c���Ͽ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�d�p�����c�o����;�F�����X�������$�g�u�}�����'�s�{������'�p�t����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������C�M�����4�<�����C�����_���&�(�]�y�����(�l�q�|���>����^���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����"�l�����F�m�o�q�������I������_�p�q�� �T�����O�P���%�m�� �H�W��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-W�X�p���!�w�x�����C�D�S����6�7�G�H����U���� � �.�/�7�8�9�:������J���)�t���!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-� �T������=����T���#�i�����3�9�J�i���6�v����`���@�A���!�n�������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-���,�-�^�����D�y�����N�����(�)�X������,�-�e������6�h�i����=�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!������������-��7�|����3�c�{�����:����� �&�I�m������K�v���� ��a���(�)�h�t�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-�����,�8�E�U�f�s�t����� �'�(�6�7�J�K�_�`������������=�\�{����������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����L�x����4�x���J���������)�A������i�j���H�S�T�t��� �G�����F��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-F�G�������,��=��N��_��a��c��e��j��k���� �V�f�g�p�q�}�����B������ ��T��� �f�}�� �X����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����P������a���������� �*�N����9 �: �< �G �I � � � � � � �i � � �@ � � � � �c ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-c � � �> � � ��H������ �R�����?�c�d���%�&�<�D�J�]����.�[�m���'�o�p�t�u�����!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-��5�6�:�;�M�i�~����%�s�����3�^����-�R�U����U�����<�u�x����&�W������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��*�R�S�T�����I����^�l�m�����[��������3�}���G �H � � � �,!�v!�!�!�!�%"�q"�"��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-"�"�"�"�"�-#�w#�#�#�#�"$�R$�S$�t$�u$�$� %�Y%�%�%�%�%�%�&�3&�V&�&�&�'�='�>'�'�'�'�>(�b(�c(�(�(�(� )�)�`)�)�)�K*��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-K*�*�*�*�8+�+�+�),�s,�,�,�-�-�F-�m-�-�-�-�-�4.�`.�.�.�.�/�f/�/�/�L0�0�0�1�1�K1�|1�1�1�2�c2�2�2�3�3�M3�N3�3��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-3�3�3�4�R4�`4�n4�4�4�5�5� 5�g5�h5�5�5�5�5�5�5�5�5�5�5�6�6�;6�<6�q6�6�6�7�Z7�[7�k7�7�7�68�:8�;8�D8�[8�8�8�8�Y9��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������������-Y9�Z9�9�9� :� :�:�:�d:�:�;�.;�n;�;�<�3<�]<�<�<�<�<�<�<�/=�]=�=�=�=�=�=�>�F>�G>�M>�>�>�>�3?�4?�]?�?�?�F@�{@�@�@��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-@�@�@� A� A�XA�A�A�A�B�"B�#B�3B�B�B�B�3C�QC�C�C�9D�eD�D�D�D�5E�E�E�F�cF�F�F�G� G�RG�G�G�G�G�G�H�+H�>H�PH�H�H��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-H� I�GI�HI�LI�MI�I�I�I�I�I�I� J�SJ�J�J�J�J�-K�EK�FK�K�K�K�K�L�aL�L�L�L�L�L�"M�lM�M�M�N�)N�LN�N�N�N�N�O�,O�.O��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-.O�TO�tO�~O�O�O�O�O�O�/P�uP�wP�P�P�P�P�P�<Q�jQ�Q�Q�Q�R�]R�R�R�R�R�R�R� S�S�S�^S�S�S�S�S�S�S�S�S�6T�T�T�T��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-T�$U�nU�U�U�U�U�U�U�U�U�U�V�-V�fV�V�V�V�W�TW�tW�uW�W�W�X�EX�yX�X�X�Y�Y�EY�gY�Y�Y�Y�Y�Y�Z�RZ�Z�Z�[�[�B[�C[��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-C[�[�[�[�[�+\�r\�\�]�O]�]�]�!^�R^�S^�^�^�1_�{_�_�`�=`�s`�`�`�`�a�Za�a�a�<b�yb�b�b�b�b�c� c�!c�mc�oc�c�d�Gd�d�d��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-d�/e�ne�~e�e�e�e�e�e�f�Kf�{f�|f�f�g�g�dg�g�g�g�h�&h�:h�Rh�h�h�h�Xi�Yi�i�i�i�i�7j�;j�wj�yj�j�k�k�k�k�k�]k�k�k��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-k�:l�l�l� m�m�m� m�4m�~m�m�m�&n�'n�pn�n�n�;o�o�o�o�p�/p�0p�3p�p�p�#q�sq�q�r�cr�r�r�s�@s�As�Os�Ps�s�s�s� t�It�t�t��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-t�t�u�#u�$u�pu�u�u�u�=v�v�v�w�`w�w�w�w�x�hx�x�x�x�x� y�Iy�Jy�y�y�y�y�y�y�y�y�y�z�/z�0z�Xz�z�z�z�{�{�{�F{��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-F{�G{�X{�Y{�{�{�{�{�{�{�|�|�_|�|�|�|�}�}�\}�]}�i}�j}�u}�v}�}�}�#~�a~�~�~��P����@�A����̀����� ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������- �!�`��܁�݁��*�+�O�P�Q�R����G���Ѓ��e���%�1�6�B�W�����%�I�J�n�����†�Æ��:�~��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-~���̇�͇��;�g�������K�k���щ�Ӊ��� � �P����ۊ� �?�{���2�k���� �V���֍��;��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!������������-;�������A���ޏ�)�x�Đ���W�_�a���ݑ�ߑ�+�-�.�/�2��̒��m���3�l���� ��_�c�h�j���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-���� ��(�*�z�˖���8�:�P�W�Y�[����ɗ����K�N�P�Q�R�U���?���*�V�������L�y��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-y�{�����ߛ�'�p���Q������?���0�z��ğ� � �/�0�y���"�#�e�z�{��������,�J�v�w��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-w�Ţ� �Y��£�ã�ˣ�̣�ۣ���H�t��٤�ڤ���J�K����)�c�����Ǧ�Ȧ�ئ���B�c�d���H��ר�ب�٨�ڨ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ڨ��"�E����?�@�������T��ګ�۫�� �S�����0�y���ϭ�ѭ���$�7�8�~�Ů� �P���'�o���!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��=��ı��J�W���ϲ��3�o���$�h������R���.�/�S�w��̶�Ӷ�Զ��k�v�w�����߷���#��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-#�$�:�k����-�Q�R�w�|�}���ҹ��<�=�A�B�P�p��ɺ��3�k�l�����M�v�����(�)�[�\�r����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���Ƚ��+�,�|�ƾ�Ǿ��.�^��ʿ��2�@�N�������L�c����$�%�`�a����"�l��� �]�`���J���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���5�a����2�h������8�9�G�T�U���)�;�<���� �8�j���H����A��������8��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-8��� �P������� �S�����<�m�n�~��� �]������2�k���"�j�s�y�z����N�O�`�q��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-q��������=������������Y���&�'�+�1�7�=�C�D�R�X�`�f�n�t�|������`����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�)�*�8�<�P����6�7������ �9�T�m����C�D��� � ���"�l�����F�\�]�c�o���*���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������������-������,�D�E�f�������?�L�b�q�r�w�|�}�����+�m������$�%�h�����^�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��R�S����,�P�Q�p������ �A�w�x�z�����h�w�y���5�7�������"�*�?�p����G�[��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-[�]��������"�1�{��� �!�j������� �Z�p������%�&�r�� �W��������Q���!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����T����:���� �U�����(�)�s�x��������/�z�� �=�>������������!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�;�g�����"�H�I�J�����������J�v����'�s�������"�#�p�q�z�����I�����!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��*�=�w�������<�D�L�T�r�s���.��/��n��|��}�������4�d�������,�v�|�}�~����-�[���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����/�h����7������3�~����'�e���,�-�5�6�C���� �8 �9 � � � � � � � �e � � �% ��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-% �& �/ �N � � � � � �N �w � � � � � � �> �} � � � � � � �3�4�7�m����H�t�������$�0�z�����!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������������-��H�O�Q�������E�L�M�N�O�����_���>����i���$�%�^�_������<�>�S�U�l�y����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������H�i�k�s�t����� �/�0�s�����6����� �i������L�������3�a����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-����9�:�>�?�Q�m�����)�S������� �D � � � � � � � �-!�5!�6!�s!�!�!�!�!�!�"�"�."�b"�"�"��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-"�"�#�;#�t#�#�#�$�V$�$�$�2%�A%�L%�h%�p%�q%�r%�%�%�%&�W&�&�&�&�&'�p'�'�'�(�(�>(�(�(�(�(�9)�:)�?)�j)�k)�l)�)�)�*�5*��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-5*�e*�f*�h*�*�*�*�6+�^+�`+�+�+�.,�0,�:,�?,�K,�M,�,�,�,�,�,�,�-�h-�-�-�C.�.�.�/�h/�/�/�/�/�/�0�0�0�e0�0�0�0�0��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-0�0�1�(1�*1�+1�o1�p1�1�1�1�1�1�I2�2�2�-3�H3�3�3�3�4�`4�4�4�;5�5�5�6�C6�6�6�6�6�6� 7�K7�7�7�7�8�8�8�d8�8�8��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-8�8�8�8�8�9�P9�~9�9�9�9�:�:�B:�C:�i:�j:�y:�{:�:�;�;� ;�;�X;�;�;�;�<�8<�q<�r<�<�<�<�<�<�<�<�<�3=�4=�a=�b=�=�=��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-=��>�P>�>�>�>�?�>?�}?�?�?�?�?� @�S@�@�@�@�@�/A�]A�A�A�A�0B�wB�B�B�B�B�B�B�B�B�B�>C�\C�C�C�C�C�C�C��D�JD�mD��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-mD�nD�D�D�E�E�cE�E�E�E�F�bF�F�F�F�*G�+G�uG�G�G�G�G�G�G�G�*H�VH�H�H�H�H�I�KI�lI�mI�I�I�I�;J�cJ�dJ�J�J�2K�3K�=K��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-=K�BK�NK�OK�|K�}K�K�K�K�L�ML�NL�L�L�L�L�$M�%M�mM�nM�|M�}M�M�M�N�AN�N�N�N�N�N�KO�MO�kO�mO�sO�tO�O�O�O�O�O�O�O�O�%P��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-%P�oP�P�P�HQ�IQ�Q�Q�R�R�!R�"R�%R�2R�XR�R�R�S�]S�^S�S�S�2T�3T�DT�PT�eT�T�T�T�T�T�T�?U�@U�DU�EU�WU�sU�U�U�U�V�1V�]V�}V��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-}V�V�V�V�V�V�V�W�W�SW�W�W�W�W�W�@X�X�X�X�X�X�X�1Y�_Y�Y�Y�Y� Z�Z�Z�.Z�?Z�YZ�sZ�tZ�Z�Z�Z�Z�Z�Z�Z� [�<[�S[�[��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-[�[�[�[�[�[�[�[�\�\�6\�8\�:\�\�\�\�\�\�\�%]�J]�]�]�]�'^�(^�t^�^� _�_�_�$_�%_�q_�_�_�_�_�_�@`�D`�_`�t`�{`�`�`��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��� ��`�`�`�`�`�;a�ga�a� b� b�Tb�b�b�b�b�b�b�)c�pc�c�c�d�Id�d�d�e�e�de�e�e�8f�9f�}f�f� g�2g�3g�zg�g�h�7h�8h�xh�h�h�h��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-h�h�h�h�h�h�h�h�h�h�h�h��i�i�6i�[i�\i�ni�i�i�j�[j�{j�j�j�$k�%k�ek�fk�k�k�l�al�l�l�Am�m�m�m�!n�"n�8n�:n�Tn�Vn�Xn��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-Xn�n�n�n�n�Co�o�o�o�o�o�o�o�o�p�5p�hp�p�p� q�Oq�q�q�q�q�q�q�q�q� r�r�+r�Gr�er�pr�{r�|r�r�r�r�r�r�s�*s�@s�Is��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Is�is�js�ks�ps�us�vs�ys�s�s�s�$t�Pt�kt�t�t�u�Ku�Lu�Wu�fu�gu�u�u�u�/v�}v�v�v�v�v�v�5w�Gw�Iw�aw�ww�w�w�w�w�x�Mx�Zx�\x�lx��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-lx�rx�x�x�x�=y�my�ny�y�y�z�%z�Dz�iz�z�z�z�z�z�{�-{�H{�M{�N{�{�{�3|�|�|�|�|�|�}�@}�~}�}�}�~�c~�~�~�~�~�~�~���!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-�]�^����B��׀���;��ҁ��� ��C����M�N�b���R�����@�n����$�U�V������O�P��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-P�U��ˇ��,�-�s�����5�P�����݉��b���؊���8�}�����ˋ�ڋ�$�R�����J�����"��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-"�2�3�v����H�M�N���)�o���#�$�l���J�������!�:��ē�œ�ޓ� �7�^���������O��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-O��ʕ�͕��g�l���̖�ؖ�ۖ���1�_��ϗ���/�0�d�e�����٘���$�%�&�4��ҙ�!�k��К� �[�\��ӛ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-ӛ��T�U�g�y����Ü�ќ�Ԝ�� �-�.�@�S�T�e��֝����<�^�_�`�f�g�}�Ξ��"�q�u�ş� ��!�"�#�1��Ϡ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�h����*�+�k���-�.�f�g�h��ӣ��I�����7�_�a����#�b�d��ڦ�#�U�V���ӧ��8�9�x�y���!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-��ب��3�^������_���+�:�j���ի����C��ά��/�K�g���ѭ�� �-�U����)�A�y������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�'�q�����X������N��ֲ�ײ�۲�ܲ�� ��c��ͳ���^�h�i�t�u��ڴ��6������1�w�����!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�J����T�U�g�{��ڸ��7�k�l�u���N����ߺ� �7�e����������*�;������W�����!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-���^����0�t���3�I�J�S�T�U�V�W�X���$�b���0�^���� �M�����.�0�������@��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-@�l���<�H�J�O���)�R�S�~������:�_�`�����2�r���<�h������A�B�_�`�������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-�"�#�S������5�7�r���8�=�����:�@�j�����B������a�{�}������"�P�����!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��3����k���� �d����-�[�\�v���"�U�����;����#�Q�i�j���,�-�M��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�C������B�C�~���>�z�����?�z�{������,�-�:�G�n�������#�V�W�i�{�������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��6�Z�[�j�����������I�j�������D�����6�Z�������D�E���� �Y�n�p��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-p������C����2�y�������4�b���� �V���5������'�p���� � ��%�S�U����!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����&�p�����>�?������Q�}����;�<�������D�p������M��������:�M��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-M�N�����8����\���8�f������&�s������� ��f��������N�O�~�����#��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-#�`����6�O�P����� �Z�������%�R�p�����^�_���:��;�����������=�~����\����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-�*�+�3�\������0�z���&�'�)�3�5�����,�.�d�n�u��������2�\�����j��� � ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������- �O �o �p �} �~ � � � �4 � � � � � �� � �I � � � � � �\ � � � �E � � � ���I��� � �V������H�I�t��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-t�u�����D������2�;�<���������Z����8�9������ �Y�c�e�����'�(�/�y���!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���O�P�����1�w��������4�|��� �W���.�i�k������� �Z���!�f�����M��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-M�N�U�a�t����;����� � � � �c � � � �!�S!�V!�X!�!�!�!�!�"�9"�"�"�"�#�i#�#�#�#�#�#�$�/$�>$�?$�f$��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-f$�$�$�$�$�%�<%�=%�g%�%�%�%�&�&�&�G&�i&�&�&�&�&�&�&�H'�'�'�'�(�h(�{(�|(�(�)�O)�)�)�)�)�)�@*�*�*�*��+�D+�+��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-+�+�,�3,�4,�z,�,� -�V-�x-�y-�-�-�-�-� .�P.�.�.�&/�l/�/�/�0�0�]0�0�0�01�s1�1�1�1�1�1�1�2�2�22�Q2�R2�2�2�2�2�2��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-2�2�2�2�2�?3�3�3�4�G4�|4�4�4�5�U5�V5�_5�`5�l5�{5�5�5�#6�A6�]6�6�6�6�%7�o7�p7�s7�7�7�7�7�8�g8�8�8�8�8�,9�.9�^9�`9��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-`9�9�9�9�9�9�9�):�2:�=:�?:�:�:�:�:� ;�T;�;�;�;�;�B<�P<�Q<�<�<�6=�Z=�[=�=�=�=�=�=�=�=�'>�U>�>�>�>�)?�g?�?�?�?��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-?�(@�o@�z@�{@�@� A�QA�A�A�A�A�AB�B�B�C� C�HC�IC�|C�C�C�C�C�C�-D�/D�8D�<D�D�D�D�D�D� E� E�ME�|E�~E�E�E�(F�zF�{F�F�F��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-F�.G�ZG�G�H�H�+H�,H�AH�BH�yH�H�H�I� I�!I�KI�aI�zI�~I�I�I�I�J�J�IJ�~J�J�J�)K�GK�HK�UK�VK�K�K� L�8L�kL�L�L�L�L�L�L� M��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������- M�`M�M�M�6N�ON�SN�TN�]N�tN�N�N�%O�aO�bO�O�O�P�P�P�P�%P�7P�KP�P�P�P�Q�(Q�FQ�PQ�Q�Q�Q�R� R�RR�_R�}R�R�R�R�R�R�R�R��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-R�S�&S�bS�S�S�S�S�S�T�LT�VT�^T�_T�T�T�T�.U�jU�kU�sU�tU�U�U�U�U�U�U�V�V�.V�DV�ZV�iV�V�V�W�7W�VW�W�W�-X�eX�fX�nX�zX��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-zX�X�X�X�X�X�X�X�X�X�+Y�xY�Y�Z�]Z�pZ�Z�Z�Z�[�Y[�[�[�[�[�[�\�\�L\�P\�\�\�\�\�"]�,]�v]�]�]�^�^�$^�d^�}^�^�^��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-^�^�^�^�2_�`_�_�_�_�6`�a`�`�`�Ha�a�a�/b�|b�b�c�cc�c�c�d�zd�{d�d�d�e�je�e�f�Vf�f�f�f� g�Og�g�g�/h�=h�>h�h�h�h��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-h�h�i�Fi�i�i�i�i�j�>j�cj�j�j�k�Kk�Lk�k�k�)l�tl�l�l�m�&m�'m�:m�Um�m�m�m�Vn�Wn�]n�^n�n�n�n�n�o� o�3o�4o�5o�xo�o�p��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-p�Bp�p�p�p�p�p�p�p�p�p�p�p� q�&q�Kq�Lq�^q�q�q�r�8r�fr�gr�r�r�;s�|s�s�s�s�s�s�s�s�t�t�Lt�t�t�u�Pu�~u�u�u�u��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-u�3v�v�v�v�v�4w�~w�w�w�w�w�w�x�-x�ix�x�x�x�8y�Qy�Ry�Zy�_y�y�y�z�:z�pz�qz�z�z� {� {�${�W{�_{�`{�{�{�{�|�Q|�^|�}|�|��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-|�|�}�I}�}�}�}�=~�~�~�~�~�%�&�9�:�T�w�������A�P�Q�W�X�������-�.�/�r���<�}�~����!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����͂���� �E�F�X��΃��v�w�Ƅ�΄�Մ��K����5�Q������(�T�U�����B�C�K�S�T���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��5�s�t�z���̉��U�V�a�l�m���4�5�u�v��ċ�ŋ���� � ��&�;�d��ی�܌���)�n�x�y������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-���@��ǎ�� � �/�0�1�>�?�X�t�u���Џ�я��-�Y�r����G�n����0�6�7�k�l�s�������*��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-*�t�������D�p������,�`�a��Ȗ�ɖ��5�6�Q�R�S�T�k����(�R���M��љ�ә�����A����!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-��֚��f��ƛ���0�c������Ĝ�՜��+�Y����� � ��$�)�.�>�`�a�����I�V�u��ϟ��A�z��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z�Ġ��!�{�|�á� �M��ۢ��g����٣�ڣ���T��ˤ�̤�Ҥ�Ӥ��^�h�i�������0�x������ �!�.��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-.�/�H�d�e�����ӧ��I�x����F���Щ�ש�ة�� �8�9�`�a��ʪ�˪�Ӫ�Ԫ�ު�(�T�� � �$�%�k�u�v����!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-�����-�.�w�x�y��Э��2�z�����5�6�|����C��װ�#�l�{�|�ȱ��R�������O�{��ܳ���!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-��]����Ĵ�ݴ�'�U�� � ���e���F�Z�[�����.�/�?�]�^����4�~�ƹ�������N�z��ߺ�E��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-E�F�t��λ�ϻ��"�.�9�:�\�]���� �H�I�����н���7�;�S�T�U�v���Ͼ�־�׾�ؾ�߾�)�U���� �O��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-O���������-�r����#�(�U�V�����c���C�����(�r������%�o����)�9�:����!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-�����R�����6�c�d�o�~�����2�|����>�t������������)�8�9�:�g�h�����!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��B����1�v��������;�<�������j�l���=�}��� �7�������e���A�B�F�G��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-G�X�p����X�Y�\�k�m���T������� �"�n�u���������J�x����*�+�o������@�u��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-u���1�h��� � ��(�r����A�B�p������#�$�%�D�E�V�Y����F��������h������������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-�B�p������h���P�T�U������/�x������2�~���� �l�m�������8�f���<�=��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-=�`�a�v������5�?�H�I�J�X���E����#�$�o�����_���9�y�z����%�c����-�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-���m����!�O����'�Y�Z��������%�>������A�B�����������c������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-� ��\������L�W�Z�f�o��� �E�z�{������5�b�����S�k����:�L�M���%�p����A��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-A�\�]����M�{�����O�P�������� �)� �g� �i� �� � � � �b � � �B � � � �I � � � � � � � �1 �2 �A ��!��!��!��!��!��!��!��!��������!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-A �C � � �* �v � � � � � � � �B �n � � � �3 �t �u � � � � �( �l � � � � �% �E �T �{ � � � �? �@ � � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������- �G �H � � � �9 �a �b �o � � �B � � � �- �. �5 �6 � � � �j � � �A � � � � � � � � �. �X � � � �< � � � � � ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������- � �  �  �\ � � �6 � � � �1 �f �g � � � �8 � � �" �] �^ �l �m �t �u � �  � � �i � � �F � � � � �6 �7 � � � �* �X ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-X � � � � � � �' �8 �9 �: �N � � � � �> � � � �c � � � � � �O � � � �# �V � � � �&! �b! �d! �! �! �! �! �! � " �"" �J" ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-J" �L" �" �" �" �" �&# �o# �# ��$ �M$ �$ �$ �$ �$ �$ �% �"% �[% �v% �% �% �& �<& �X& �y& �& �& �& �& �& �& �& �' �' �' �.' �/' �x' �' � ( �S( �( �( �.) �w) ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-w) �) �) �,* �I* �}* �~* �* �* �* �* �* �* �* ��+ �+ �+ �-+ �.+ �6+ �7+ �d+ �+ �+ �+ �&, �I, �a, �t, �, �, �#- �a- �b- �- �- �- �F. �. �. �. � / �(/ �q/ �/ �/ ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-/ �K0 �0 �0 �'1 �r1 �1 �1 �1 �&2 �m2 �2 �2 �2 �33 �43 �q3 �3 �3 �4 �4 �44 �Q4 �4 �4 �4 �15 �^5 �5 �5 �5 �5 �5 �5 �5 �5 �5 �6 �6 �W6 �d6 �e6 �6 �6 �6 �6 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-6 �6 �$7 �(7 �,7 �r7 �7 �7 �@8 �8 �8 �8 �(9 �)9 �n9 �9 �9 �: �: �O: �: �: �; �; �$; �%; �D; �; �; �; �A< �B< �< �< �< �< �= �Q= �}= �~= �= �= �= �= �!> �q> ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-q> �r> �v> �w> �> �> �"? �S? �T? �? �? ��@ �@ �<@ �t@ �@ �@ �A �GA �HA �xA �A �A �A �A �A �"B �bB �B �B �B �B �B �C �HC �IC �XC �YC �C �C �C �C �/D �ND �oD �}D ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-}D �D �D �D �"E �4E �YE �E �E �E ��F �F � F �F �+F �@F �kF �F �F �F �F �F �:G �<G �FG �{G �G �G �G �H �=H �uH �H �H �H � I �9I �dI �I �I �I �I �I �I �I �I ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-I �IJ �qJ �J �J �J �J �J �J �J �J �J �K �K �$K �4K �DK �FK �OK �QK �K �K �K � L �EL �iL �L �L �L �L �M �SM �}M �~M �M �N �GN �HN �N �N �N �N �O �O �0O �ZO ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-ZO �O �O � P �1P �cP �dP �P �P �Q �_Q �Q �Q �-R �.R �wR �R �S �]S �S �S �S �S �T �T � T �UT �T �T �T �T �&U �:U �zU �U �U �V �2V �3V �mV �V �V �V �V �(W �fW ��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-fW �W �W �W �W �X �@X �]X �yX �X �X �X �X �#Y �$Y �+Y �6Y �7Y �tY �Y �Y �Y �Y �Y �Y �(Z �~Z �Z �Z �Z �Z �[ �?[ �{[ �[ �[ �[ �\ �W\ �b\ �\ �\ �\ � ] �A] �Q] ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Q] �R] �] �] �] �^ �^ �K^ �T^ �^ �^ �^ �^ �^ �^ �^ �^ �^ �_ �_ �h_ �_ �_ ��` �` �"` �l` �` �` �a �a �?a �a �a �a �b �b �7b �gb �qb �rb �b �b �b �b �!c ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-!c �Vc �c �c �c �d �Xd �[d �d �d �d �d �d �De �Ee �|e �e �e �(f �pf �qf �f �g �3g �hg �g �g �h �Mh �Nh �[h �h �h �Bi �i �i �.j �xj �j �j �j �'k �qk �k �l �l ��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-l �l �_l �l �l �l �l �m �Hm �m �m �m �m �m �m �n �n �[n �n �n �n �n �+o �vo �}o �~o �o �o �o �;p �Vp �Wp �p �p �p �p �p �p �p �2q �{q �q �r �'r �(r �\r ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-\r �]r �nr �or �r �r �r �'s �[s �\s �hs �s �s �s �s �s �t � t �!t �lt �t �t �t �t �t �t �t �,u �-u �>u �?u �Ru �u �u �u �5v �6v �vv �v �v �$w �Ow �Pw �w �w �w ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-w �w �w �w �w �w �w �w �w �4x �ax �x �x �x �y �Cy �y �y �y �y �y �Cz �qz �z �z �z �${ �Z{ �[{ �{ �{ �{ �{ �{ �{ �{ �J| �| �| �| �| �?} �} �} �~ �]~ ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-]~ �_~ �~ �~ �~ � �M �l �n �p � � �# �k � � � �> � �́ �� � �D � �΂ � �Z � � � � �ރ � �B �t � � �$ �% �. �= � � � �/ �0 ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-0 �7 �8 � �φ � �B �C �K �L � � � � �W � � � � �I �J � � � � � �Ή �ω �Љ �щ � �3 �a � �Պ �֊ �ي � �1 �_ � �ɋ �ʋ �ҋ �Ӌ � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!������������- �g � �Ќ �ь � �[ �{ �| �č � �\ � � � � � � � � � �c � � �M �{ � �< �= �j � �͑ �Α � �H �I �J �} � � �M �N �d � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �“ � � � � �. �e �x � �Д � � � � � � �H �v � � � � � �C � �ݖ � � � � �] � � � � � �M �u � �̘ � � �- �. ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-. �s � �ʙ �˙ �ә � �K �y � � � � � �( �f �v �w � � � � � � � �N � � � � �6 �u � � �/ �k �l � � � � �ߞ �( �o � � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������- �ן � �< �= � �Ѡ � �j �w �x � �ɡ �ʡ �ҡ � � � �Y � � � � �[ � � �< � �Ϥ � �6 �7 � �ϥ � �^ � �Ϧ �Ц � �c � �ا �٧ �ާ �ߧ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ߧ � � � �) �8 � � � � � �? �C �{ � � �F � �ͪ �Ѫ �ժ �٪ � �) �P �Q �| �} � � �G � �ɬ � �B � � � � � � � �X � � � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �W �X �u �v �w �x � � �ޯ �* �Q �R �S �T �x �y �} � � � � � �° � � �^ � �ѱ �+ �, �V �W �} �~ � � �ײ �$ �= �b �c �q �r � � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �T � � � � � �] � �ܵ �ݵ �+ �{ � � � � � � �g � � � �F � �ո � � � � � �i � �̹ � �? � � � � �2 �; �< �g �h ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-h � �ܻ � �[ � � � �ü �ļ �ʼ �ۼ � � � � � �h � �۽ �? �@ � �Ծ �! �E �F �Y �u � � � � �= �> � � �! �m � � � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������- �e � � � � �4 �N � � � � � �9 � � �� �< �_ �` �n �| �} � � �L �M � � �� � �' �( �? �k �o � � �- �e � � �6 � � � ��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������- � �N �g �h � �� �N � � � � �& �' �l � � �@ � � � � �[ �w � � �3 �q �r � � � � �A �C � � � �* �B �R �{ � � �S �o ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-o � � � �% �F �f �t � � � �% �q � � �' �@ �K �g � � � � �2 �@ �W �g � � � � �0 �@ �f � � � � � � �' �[ � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������- �Z � � � � � � � �b � � � �� � � � �d � � �N �O �f �g �w � � � � � �a � �� � � �i � � � � �^ � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �Q � � � � � �< �Y � � � � � � � �= �h �i �j � � � � �K �w � � � � �+ �r � � � � �^ � � � � � � � �F �] ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-] �^ � � � � � � �< �Y � � �E �F � � � � � � � �, �v � � � � �Y � � � � � � �3 � � � � � � � �T �z �| � ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �9 �q �r � � � �C �~ � � � � � � �R �X �Y �g �h � � � �\ �] � � � � �k � � � �" �Z � � �H � � � � � � �< ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-< �h � � � � � �a �k �l �y � � � � � � � �2 �3 �@ �X �m �y � � � � � � �E �s � � � �4 �q � � � � �M � � � � ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �$ �l �x �y � � � � � � � �L � � � � � � � �T � � � � � � � � �Z �f � � � � � � � �c � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � �- �A �X �_ �g �h � � � �� �I� �l� �� �� �� �� �� �& �P � � �  �V �W � � � �F � � � � � � � �7 �n � � �J �R �k �x ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-x �y � � � � �W � � � �- �Y � � � � �h � � �L � � � � � � � �! �4 �e �f �m �n � � �- �. �: �; �V � � � � � �@ ��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-@ �V �W �a �m �n � � �3 �4 �L � � � � � � � � � � �9 � � � �B �C � � �# �l � � �9 �: �K �L �X �m � � � � �@ �{ � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������- � �! �I �J � � � � � � � �  �k � � � � � � � � � �e � � � � �S �p �q � � � �2 �{ � � �� �P � � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �  �! �m � � � � � �D � � � � � �[ � � � � �E �Q �g � � � � � �M �x � � �$ �f �r � � � �2 �4 �G �\ �r �t � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �1 �[ �\ � � � � � ! �P! �R! �`! �b! �! �! �! �! �" �," �q" �" �" �" �" �" �" �7# �u# �w# �# �# �# �# �($ �)$ �z$ �$ �$ �$ �$ �$ �5% �% �% �% �% ��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-% �% �A& �_& �& �& �' �i' �j' �' �( �( �( �M( �( �( �*) �T) �U) �) �) �) �) �* �* � * � * �S* �Y* �* �* �+ �^+ �_+ �y+ �+ �+ �+ �+ �, � , �X, �], �, �, �, ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-, �- �J- �T- �- �- �1. �:. �. �. �. �. �+/ �./ �z/ �/ �/ �/ �0 �!0 �h0 �p0 �0 �0 �0 �0 �0 �1 �I1 �s1 �t1 �1 �2 �2 �2 �O2 �P2 �2 �2 �2 �2 �;3 �T3 �\3 �]3 �^3 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-^3 �f3 �h3 �3 �3 �*4 �,4 �94 �;4 �W4 �4 �4 �4 �4 ��5 �G5 �^5 �`5 �k5 �x5 �z5 �5 �6 �B6 �D6 �]6 �6 �6 �6 �7 �a7 �7 �7 �&8 �m8 �8 �8 �8 � 9 �K9 �9 �9 �9 �: �: �O: ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-O: �: �: �: �: �: �B; �; �; �< �@< �A< �< �< �< �= �L= �= �= �= �= �= �= �= �= �= �= �!> �k> �> �> �> ��? �? �? �T? �? �? �@ �@ �M@ �_@ �`@ �n@ �@ �@ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-@ �@ �@ �@ �@ �/A �ZA �[A �\A �A �A �A �A �=B �iB �B �C �C �*C �lC �C �C �C �=D �`D �hD �D �D �D �D �5E �OE �wE �E �E �E �F �F �F �\F �F �F �F �F �9G �LG ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-LG �{G �G �G �@H �HH �]H �H �H �I �@I �|I �}I �I �I �I �J �kJ �J �J �J �/K �zK �K � L �;L �<L �L �L � M � M �M �GM �oM �M �M �M �3N �vN �N �N �2O �~O �O �O �O ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-O �O �O ��P �NP �P �P �Q �Q �Q �Q �aQ �Q �Q �R �$R �lR �R ��S �S �)S �lS �S �S �S �6T �^T �fT �T �T �T �T �T �U �8U �pU �U �U �U �V �V �V �V �(V �SV �V ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-V �V �V �5W �dW �W �W �X �-X �jX �X �X �X �HY �Y �Y �Y �Y �Y �:Z �Z �Z �Z �Z �Z �Z �F[ �[ �[ �[ �[ �[ �\ �\ �\ �>\ �[\ �\ �\ �2] �`] �] �] �] �] �6^ ��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-6^ �<^ �^ �^ �^ �^ �4_ �>_ �_ �_ �_ �*` �x` �` �` �` �#a �1a �~a �a �a �a �)b �+b �vb �b �b �b �b �b �b � c �c �Xc �c �c �d �d �Yd �d �d �/e �Ge �He �Me �Ye ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Ye �e �e � f �<f �=f �f �f �g �fg �g �g �g �h �h �eh �h �h �h �h �h �h �h �,i �\i �i �i �i �j �Ij �vj �j �j �k �`k �k �k �k �k � l �Nl �l �l �m �Xm �m ��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-m �m � n � n �n �n �,n �vn �n �n �n � o �+o �-o �6o �8o �|o �o �o �o � p �p �,p �sp �p �p �p �p �!q �9q �;q �Gq �Uq �Wq �q �q �"r �$r �>r �vr �r �r �r �r �r �r ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-r �r �r �!s �?s �As �Bs �Cs �Fs �s �s �0t �t �t �u �Gu �u �u �u �u �u �u �'v �rv �v �v �v �(w �ow �w �w �w �+x �yx �x �x �x �#y �.y �0y �:y �vy �y �y �y �z ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z �cz �z �z �z �{ �k{ �{ �| �Q| �| �| �| � } �Z} �} �} �9~ �b~ �d~ �~ �~ �H �t �v �} � � � � � � � �) �r � �π �Ѐ �Ӏ �# �m � � �^ � �ւ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ւ � �P �Q � � �) �` �a � � � �„ � �' �^ � �ͅ � �$ �b �c � � �I � � � � �" �# �0 �1 �| �È � �D �F �j �l � � � � �J �p ��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-p �r � � �# � � �ċ �Ջ � � �. �T �X �} � � �Ҍ � � �@ �r � � � � � �ƍ �ʍ �э � � � �- �. �d �e �{ �| � �ގ � �I � � � ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �* �+ �K �L �M �f �g � � �ڐ � � � � �/ �a � �̑ � �D �p � � � � �, �| �Ɠ �ߓ � �G �J � �Δ �ϔ � � �/ �5 �< �= �J �\ �o � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � � �K �w � �* �+ �4 �e � � �* �+ �X �Y � � � �/ �\ �] �^ �p �q � � � � �P � � � � � �5 �6 �F �G � � � � �= ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-= �F �G �_ �` �| �} � � �̜ � �i � � � �֝ � �< �R �X � � � �L �d �z �| � �П � �# �/ �1 �A �C � � � � � � �[ �] � �Ρ �С ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-С � � �X � � � �) �* �x � � � �B � � � � � � � �K � �ݥ �& �o � � �K �w � �ͧ � � �> �B � � � � � � �\ �` �a � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � �ة �! �j � � �E � �׫ �! �O � � � �. �I �d � �ܭ � � � � � � �U �m �ί � �_ � � �Ͱ � �S � � �D � � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �? � �Գ �! �o � � � � �- �O �P � �ص � �% �& �+ �u � �ɶ �ʶ � � �/ �V �W �\ �] �b �c � � � �V � � � �` �a �z � �Ϲ � ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������- � �9 �m �y �z � � � �- �H �L � �Ż � � �$ �< � � �Ƽ �Ҽ � �0 �1 �v � �н �ѽ � � �> �o � � �ƾ �Ǿ �Ⱦ �׾ � � � � � �8 �H ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��! ��" ��# ��$ ��% ��& ��' ��( ��) ��* ��+ ��, ��- ��. ��/ ��0 ��1 ��2 ��3 ��4 ��5 ��6 ��7 ��8 ��9 ��: ��; ��< ��= ��> ��? ��@ ��A ��B ��C ��D ��E ��F ��G ��H ��I ��J ��K ��L ��M ��N ��O ��P ��Q ��R ��S ��T ��U ��V ��W ��X ��Y ��Z ��[ ��\ ��] ��^ ��_ ��` ��a ��b ��c ��d ��e ��f ��g ��h ��i ��j ��k ��l ��m ��n ��o ��p ��q ��r ��t ��u ��v ��w ��x ��y ��z ��{ ��| ��} ��~ �� �� ��H �a �{ � � � �H � � � � � �T �a � � � � � � �! �0 �z � � � � � �O �S � � � � � �O �} � � � � � � � �' �6 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-6 �K � � � �) �* �t � � � � � � �O �{ � � � � � �# �q �v � � � � � �* �t � � � � �p �w �y � � � � �! �" �' �q ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-q � � � � �^ � � �& �( �L �N � � � �! �l � � �G � � � � �= �e �f �q �r � � � � � �8 �b �c � � �< � � � �\ �y �z ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-z � � �T � � � � � �- �[ � � � � �h � � � � � �W �r �s � � �L �U �V � � �# �$ �l � � �D � � � � �, �t � � � ��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������- � � �i � � �I � � � �2 �3 �> �? �@ �A �B � � �2 �| � � � � �! �h � � �C � � � � � �U �[ �f � � � � � �; � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �) �* �P �Q � � � �S �T � � �% �c �d �| � � � � �J �t � � �" �\ � � � �A �| � � �) �f � � � � � �Z �h �i � � � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � � � �G �H � � �( �o � � � � � � � �f � � � � �L � � � � � � � � � �] �g �h �u � � � � � � � �. ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-. �/ �< �T �i �u �~ � � � � �? �@ � � � � � � �L � � � � �4 �5 �> �? � � � � � �] � � � �B �p � � � �' �k �l �w ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-w � � � � �� �I � � � � � �; �= � � �# �o � � �Q �f �h � � �- �/ �< �> �N �T �j � � � �] �^ �p �q �r � � �) �* �s � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������- � � � �H �v �w � � � �� �X� �e� �� �� �� � �c � � � � � � � � �I �w � � � �l � � � � � �n � � � � � �  � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � �! �k � � � � �^ � � � � � �/ �n � � � � � �? � � � � �E � � �6 �` �a � � � �" �# �q � � � � � �T �U ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-U � � �$ �n � � � �( �) �n �| � � � �: � � � � � � � � �\ � � � � �< � � � � �" �l � � � � � �% �& �r � �  ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-  � � � � �  �< �X �s � � �" �d � � �3 �} � � � �E � � � � �  �9 �J �d � � � � �M �y � � � �; � � � � �  �/ �1 ��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-1 �P � � � � � �% �Q � � � � �U � � � �' �C �D � � � � � � � �X � � � �* �5 �Z � � �! �! �F! �! �! �" �" �*" �9" �:" ��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-:" �e" �f" �" �" �G# �# �# �# �# �# �# �<$ �$ �$ �"% �j% �% �& �& �& �i& �& �& �& �& �& �' �' �' �g' �' �' �8( �9( �( �( �) �i) �) �) �) �) �) �) �* ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-* �H* �* �* �+ �+ �L+ �x+ �y+ �+ �+ �+ �+ �, �&, �@, �g, �, �, �, �)- �W- �- �- �. �G. �I. �. �. �. �. �. ��/ �/ �/ �D/ �w/ �/ �/ �60 �`0 �a0 �0 �0 �0 �0 ��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-0 �0 � 1 �<1 �1 �1 �1 �"2 �#2 �o2 �s2 �t2 �z2 �2 �2 �2 �+3 �c3 �d3 �3 �3 �@4 �n4 �o4 �4 �4 �4 �35 �>5 �?5 �5 �5 �5 �5 �5 �5 �5 �5 �5 �96 �e6 �6 �6 �6 �C7 �7 ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-7 �7 �7 �7 �7 �7 �7 �7 �8 �\8 �]8 �8 �8 �8 �8 �8 � 9 �89 �d9 �9 �9 �9 �9 � : �: �: � : �/: �0: �V: �W: �[: �j: �~: �: �: �#; �@; �u; �w; �; �; �; � < �;< �< ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-< �< �< �= �C= �= �= �> �D> �G> �R> �~> �> �> �P? �Q? �? �? �? �? �'@ �T@ �U@ �@ �@ �@ �@ �'A �(A �CA �DA �HA �IA �QA �WA �A �A �A �RB �SB �B �B �B �B �!C �MC ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-MC �~C �C �C �C � D �hD �D �D �/E �sE �E �E �DF �F �F �F �)G �hG �G �G �9H �yH �H �H �H �H �H �H �H �H �I �VI �|I �I �I �I �I �I �!J �kJ �J �J �J �J ��K ��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-�K �MK �mK �K �K �K �L �L �IL �zL �L �L �L �L �8M �M �M �N �N �N �N �$N �>N �QN �eN �N �N �O �?O �}O �O �O �O �O �DP �P �P � Q �[Q �Q �Q �Q � R � R �#R �<R ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-<R �UR �R �R �R �DS �ES �S �S �S �S �S �S �5T �aT �T �T �T �T �7U �>U �?U �SU �U �U �>V �bV �cV �V �V �V �V �V �V �W �)W �TW �UW �VW �W �W �W �6X �}X �X �X ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-X �X �X �"Y �NY �Y �Y �Y �Y �Y �Z �hZ �Z �Z �Z �@[ �[ �[ �[ �[ �6\ �C\ �D\ �\ �\ �%] �o] �] �] �] �] �^ �^ �8^ �d^ �^ �^ �^ �_ �_ �(_ �@_ �K_ �L_ �_ �_ ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-_ �_ �3` �` �` �a �Ha �Ia �a �a �a �a �a �b �b �ib �b �b �4c �c �c � d � d �6d �7d �<d �=d �sd �d �e �e �Le �e �e �e �4f �5f �}f �f �f �f �f �f �f �%g �og ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-og �g �g �h �h �\h �h �h �h �i �Yi �i �i �i �<j �j �j �k �!k �Pk �Uk �fk �k �k �l �zl �{l �l �l �l �l �l �Gm �bm �cm �lm �rm �sm �m �m �m �m �n �n �Rn �Tn ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Tn �]n �_n �fn �hn �n �o �Oo �o �o �o �Jp �p �p �p �p �(q �dq �q �q �q � r �Sr �r �r � s �s �Xs �s �s �s �s �t �6t �tt �t �t �t �u �u �u �Wu �u �u �u �u ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-u �u �u �Dv �v �v �v �w �Ww �kw �w �w �x �-x �bx �dx �px �x �x �x �x �x �x �x �=y �y �y �.z �xz �z �z �{ �%{ �n{ �{ �{ �| � | �| �| �d| �| �| �8} �9} �<} ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-<} �} �} �&~ �w~ �~ � �? �p � � � � �> �Y �[ �t �v � � �4 �6 �X �] �_ �a �k � � �́ � �0 �v �w � � � � � � � � �b �c �d �e ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-e �m �n �t � � � � �@ � � �DŽ �Ȅ �̄ � �# �% �1 �B �C � �ͅ �΅ �Ӆ � �K �s � � � �+ �s � � �O � � � � �4 �{ �ĉ � � � � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �T � � �܊ � �N � � � �ҋ �֋ � �` � � � � �) �A �B � �ʍ � �& �G � � � � �@ � �׏ � � �C � �Đ � � �E � �Ñ �ڑ �ۑ � ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �O � � �͒ �Β � �7 �8 �; �H �X � �Γ � �J �K � � �- �u � � � � � �D � � � �ϖ �ז � � �3 �4 �E �F � � � � �— �× �ԗ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ԗ �՗ � �2 �` � �՘ �֘ � � �j � � �M �Y �Z � � �( �) �o � � � �ɛ �ʛ �˛ � �- �Y � � � � � �7 �< �S �_ �t � �ĝ �ŝ �ҝ �ӝ � ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �l � �ɞ �ʞ �˞ �̞ �͞ � � � �j � �ڟ � � �4 �< � �֠ � � �e � �̡ � � �H � �ʢ � � �@ � �ɣ � � � �, �0 �S �T � �ˤ � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �' �Y � �ĥ � �< �o �צ �ئ � �d � � �C �s �t � � �, �- �_ �` � � � � � � �K �w � � � � � �: � � � � � � � �T � ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������- �Ĭ � � � � � �> �M �Y �n � � � � �8 �; �P �Q �R � � � � � � � � �E � �د � �5 �m �n � �ݰ �ް �, �w � � � �A �u �w ��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��������!��!��!��!��!��!��!��!��!������������-w � �ʲ �̲ � �; �= �c �e �o �q �} � � �γ � �S �v �w � � � � � �7 �c �d �~ � � �ŵ � �H �I �{ � � �8 �k �l � � �ӷ � �h � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �Ǹ � �? �~ �Ĺ �Ź �� � � �a � � �6 �| �} � � � �� �6 �7 �x �y � � �L �[ �\ � � � � � � �4 �j � � � � �R �b ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-b �c �k �l �m � � �N �Y �Z � � �@ �l �m �n �q � � � �\ �] �~ � � � � � � �% �' �g �i �q �s � � �S � � � � � �3 �4 �} ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-} � � �O � � � � �> �l �n � � � � � �& �B �k � � � � � �- �. �: �X � � � �! �q �r � � �G � � � �a � � �: � � ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � �j � � �9 �X �Y � � � �C �f �y � � � � �: �h � � � � �> �l � � � �4 �T � � � � �c � � � � �, �s � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �: �f � � � �+ �, �B �C �X � � � �B � � � � �] � � � � �4 �5 �\ � � � �D �v �w � � � � � �< �h � � � ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!������������- �" �# �. �= �> �s �t �x � � � �> �D �a �g � � �1 �3 �5 �| � � � �/ �n � � � �; �i � � � �% �g �l �o � � �G � � � �g ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-g � � � �q �r � � �, �- �o �p � � �F �V �W � � � � � � � �X � � � �5 � � � � �- �. �[ �\ �a � � � �' �M �q � � ��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������- � �b � � � �Y � � �1 �2 �} � � �X �Y �i �n � � � � � �8 �g � � � �a �b �f � � �1 �R �S � � � � � � �G �Z �[ �^ ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-^ � � � �V �W �^ �_ � � �" �l � � � �] �^ � � � �@ �Q � � � � � �# �4 �N �u � � � �7 �e � � � �5 �\ �^ � � � � ��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������- �> �@ �h �j �k � � � �/ �0 �x � � �Y � � �0 �y � � �( �t � �� �Q� �� �� �0 �T �U � � � �  �k � �� � � �X �a �b � � �9 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-9 � � � �2 �3 �X �Y � � �9 � � � � �- �w � � � � � �( �r � � � � �h � � � � �5 �P �i �j � � � � � �$ �% �8 �9 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-9 �G � � � �2 �3 � � � �Z �v �w � � � � � �K � � � � �/ �o �p � � �R � � � � �S � � � � � �  �$ �; �I � � � ��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � � �2 �` � � � � � � � �> �l � � �W �j � � � �% �. �k � � � � � �: � � � � �T �U �Z �f � � � �d �e � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������- � �: � � � � � � � � � � �# �< �U �_ �{ � � � � � � �2 �z � �  �Q �q �r � � � � � �) �s � � �Q � � � �J �K ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-K � � �-! �v! �! �! �! �! �" �" �L" �" �" �" �" �" �" �" �" �" �# �Q# �}# �# � $ � $ �@$ �A$ �$ �$ �!% �^% �_% �% �% �L& �& �& �9' �' �' �&( �u( �( �) ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-) �) �^) �) �) �) �-* �.* �T* �U* �* �* �:+ �z+ �{+ �+ �, �L, �c, �, �, �, �, �, �- �'- �J- �- �- �- �%. �k. �l. �. �. �. �/ �8/ �9/ �F/ �G/ �/ �/ �/ �/ �=0 ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-=0 �0 �0 �1 �!1 �g1 �j1 �1 �1 �1 �1 �22 �52 �}2 �2 �3 �'3 �*3 �g3 �h3 �3 �3 �4 �4 �4 �4 �-4 �F4 �4 �4 �4 �$5 �%5 �S5 �5 �5 �5 �5 �5 �6 �R6 �o6 �6 �6 �6 �7 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!������������-7 �7 �67 �I7 �g7 �7 �7 �7 � 8 �68 �g8 �8 �8 �8 �8 �J9 �9 �9 �#: �5: �: �: �; �Z; �; �; �; �< �P< �< �< � = �c= �= �= �= � > �8> �L> �> �> �> �k? �l? �|? �}? ��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-}? �? �? �@ �]@ �b@ �c@ �l@ �@ �@ �"A �IA �nA �A �A �AB �^B �_B �xB �yB �B � C �WC �C �C �C �D �D �+D �OD �D �D �KE �E �E �E �BF �F �F �#G �FG �HG �G �G �H �%H ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-%H �nH �H �H �GI �I �I �I �I �I �I �>J �lJ �J �J �J �&K �(K �BK �DK �K �K �L �iL �L �L �L �L �L �L �L �L �HM �vM �M �M �M �HN �N �N �N �%O �'O �jO �O �O ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-O �P �CP �OP �PP �P �P �&Q �fQ �Q �Q �Q �Q �R �R �`R �R �R �S �S �LS �S �S �S �'T �FT �GT �WT �uT �T �T �)U �U �U �U �U �U �V �V �QV �V �V �W �W �XW �W ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-W �W �X � X �8X �bX �X �X �X �Y �0Y �lY �Y �Y �Z �PZ �Z �Z �Z �8[ �o[ �[ �[ �"\ �=\ �L\ �M\ �\ �\ �] �$] �%] �k] �s] �t] �y] �z] �] �] �] �^ �^ �O^ �^ �^ �+_ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-+_ �J_ �K_ �\_ �r_ �s_ �_ �_ �_ �_ �` �` �` �` �e` �` �` �6a �a �a �a �a �b �:b �^b �b �b �c �Vc �ec �mc �nc �c �d �d �d �[d �d �d �;e �te �ue �{e �|e �e �e ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-e �e �f �Df �lf �f �f �g �Og �g �g �g �0h �zh �h �h �h �h �h �h �i �,i �vi �i �i �j �j �j �j �fj �j ��k �Jk �k �k � l �!l �kl �l �m �Om �fm �gm �om �tm �m ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-m �m �n �Dn �nn �on �n �n �n �n �>o �jo �o �o �o �7p �p �p �q �eq �q �q �Br �r �r � s �gs �s �s �s �s �t �Yt �t �t �t �t �u �Gu �]u �ou �u �u �u �u �u ��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!������������-u �u � v �4v �Qv �Uv �Vv �v �v �v �v ��w �w �w �#w �$w �[w �w �w ��x �@x �Ax �x �x �x �x �x �x � y � y �y �y �2y �|y �y �y �z �z �Sz �zz �{z �z �z �z �z �z ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-z � { �{ �7{ �?{ �@{ �h{ �i{ �p{ �q{ �x{ �y{ �{ �{ �{ �{ �{ �0| �\| �| �| �| �.} �w} �} �} �} �J~ �~ �~ �~ �~ �& �v � � �a � �ƀ � � �[ � �́ �ρ � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������- � � �" �m �u � � � � � � � �� � � �_ � � � � � � �I � � �: � � � � �= �? � �چ �* �l �n � � �E �^ � � � �ֈ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ֈ � � �0 �U �W �X � � � �4 �~ �Ί � �o � � � �q �r � � �Ō � �] � � � � �< �= �{ � � �Ύ � � �> �U � � � � � � �< ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-< � �ǐ �Ȑ �ܐ � � �0 �A �B � �ؑ �# �J �K � �ݒ �' �r � � � � � � � � �( �? �Y �s �t � � � � � �X �Y � � � � � � �N ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-N �g �h � � �ٖ � � �? � � �ė � � � � �$ �% �3 �T �j � � � � � �D � � � � � �+ �{ �̚ � �f � �ԛ � � � � �i �j � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������- � � � � � �^ �g � � � � �1 �e �f � �מ �؞ � � � �H � �Ɵ � �X � �Р � �_ �` � � � � �? �q �r � � � � � � �D � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �£ � �T � �ʤ � �F �G � �ե � � �F �q �r � �Ʀ �Ǧ � �U � � �* �5 �6 �T �U �V �h � �Ϩ � �1 � � � � � �L �t �u � � �ߪ � ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������- � � � � �] � �« � � �[ � �ά �Ϭ � � �4 �v � � � � � � �c � � � � � �T �b � � � �@ �] �v �w � � � �5 �u � � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �ٱ � �` � � �ϲ �в � �h � �� �J �[ � � � �Ѵ � � �: �h � �ҵ � � �c � � � � � � � �U � � �0 �x �z � � � � �; �= ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-= � � �ȹ � �[ �l �n � � � � �غ �ں �$ �R � � �Ļ �Ż �ƻ �ǻ �׻ �ػ �" �n � � � �. �s � �ٽ �ڽ � � � � � � � �# �/ �E �O �Y ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Y �_ �h � � � �2 �o � � �ǿ � �9 �E � � � � �E �i �j � � � � �X � � � � � �9 �: �u �v �| � � �L � � � � � �1 �2 ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!������������-2 �? �@ � � � � � �+ �Y � � � �> � � � �M �f �g �l � � � �! �W � � � � � � � �H �~ � � � � �E �G �m �{ �} �~ � ��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������- � � �W � � � � �k � � � � � � � � � � �? � � � �4 �5 �~ � � �_ � � � �7 � � � � � � � �% �; �G �o �p � ��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �+ �] � � � � � � �: �T �d � � �T �b �c �z � � � � �- �. �A �B �i �j �} �~ � � � � � �\ � � � � � � � � � ��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������- � � � �H �I �p �q � � � � �K �L �M � � � � �< �= �T �s � � � �U �y � �: �I � � � �+ �I �c �e � � � � � � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �G �^ � � � � � � �C �w � � � � �V � � � � � �9 �} � � � � � � � �L �M �o � � � � � � �# �O � � � � �< ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-< �= � � � � �2 �^ �_ �n �z �{ � � �Q �p �q � � �? �R �S � � � �7 �p � � � �T � � � �A �\ � � � � � �3 �l � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �P � � � �4 �m � � � �4 �I �V �W � � � � � � � �< � � � �5 �6 �7 �Y �Z �y �z � � � � � � �! �" �5 �6 �W �x �y � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �b �w �x � � � � �9 �Z �y � � � � � � � � � �? � � � � �G �H � � � �P �b �c � � � � � �4 �v �w � � ��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������- � � � � �P � � � � �J �Y �Z � � � � � � � � �9 �Q � � � � �G �[ � � � � �( �a �c � � � � � � � �A �m � ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �= �> �d �e �k �w � � �4 �~ � � �� �-� �.� �|� �� �� �� �� �  �V � � � � �I � � � � � �8 �b � � � � � � �K � ��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������- � � � �\ �] �` � � �J � � � �5 �c � � � �; � � � �[ � � � �% �& �m � � �9 �} � � � � �f � � �V � � �@ �l � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �+ �- �; � � � � � �) �+ �t � � � �# �r � � � �0 �1 �< �F �U � � � �0 � � � � �/ �0 �p �q � � �% �& �k � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � � � � � � �d �} � � � �> �h � � � � � �> � � � � � � �* �^ � � � � � � �= � � � � � � � �, �@ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-@ �A �K �Z � � � �_ �` �i �j � � �A �m �n � � � �4 � � � � � �% �& �' �x � � � � � �R � � � � � ! �B! �C! �! �! �" �]" ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-]" �^" �" �" �# �K# �# �# �# �# �# �$ �$ �4$ �5$ �i$ �j$ �$ �$ �$ �$ �$ �$ �$ �$ �$ �$ �$ �% �M% �{% �% �% �:& �;& �& �& �' �D' �E' �V' �f' �r' �' �' �' ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-' �8( �U( �( �( �( �( �( �) �) �) �) �H) �t) �) �) � * �-* �E* �X* �* �* �* �R+ �S+ �[+ �\+ �+ �+ �6, �z, �{, �, � - �U- �- �- �3. �C. �D. �Q. �R. �S. �T. �U. �. ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-. �. �E/ �/ �/ � 0 �/0 �\0 �^0 �0 �0 �;1 �i1 �k1 �~1 �1 �1 �1 �1 �1 �1 �1 �2 �2 �2 �a2 �2 �2 �2 �^3 �3 �3 �3 �3 �?4 �4 �4 �4 �5 �_5 �5 �5 �5 �5 �6 �^6 ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-^6 �6 �6 �6 �6 �6 ��7 �P7 �7 �7 �@8 �8 �8 �09 �z9 �9 �9 �$: �%: �q: �: �: �F; �J; �^; �x; �; �; �; �; �G< �p< �< �< �< �-= �q= �r= �= �> �Q> �> �> �> �-? �O? ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-O? �P? �~? �? �? �? �? �@ �@ �\@ �@ �@ �@ �@ �@ �@ ��A �"A �#A �-A �CA �DA �EA �FA �pA �qA �}A �A �A �A �A �A ��B �B �B �B �!B �GB �IB �KB �B �B �B �B �B �B ��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-B �B �B �B �"C �lC �C �C � D �!D �gD �D �D �E �E �TE �E �E �E �F �1F �2F �>F �F �F �F �8G �9G �G �G �G �G �G �H �ZH �~H �H �H �H �H �H �H �I �I �HI �II ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-II �bI �cI �dI �I �I �I �I �I �I �I �I �I �,J �XJ �J �J �J �J �K �K �K �aK �K �K �K �5L �|L �L �L �L �M �\M �|M �M �M �M �(N �jN �N �N �3O �wO �O �O � P ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- P �MP �P �P �P �8Q �OQ �Q �Q �Q �Q �R �WR �R �R �R �-S �sS �S �S �T �XT �cT �T �T �T �/U �PU �jU �U �U �V �[V �V �V �W �W �aW �W �W �X �VX �kX �X �X �-Y ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������--Y �pY �Y �Y �Z �:Z �FZ �]Z �Z �Z �Z �Z �Z �.[ �\[ �[ �[ �[ �[ �D\ �P\ �\ �\ �\ �] �j] �k] �] �] �] �] �] �^ �^ �-^ �A^ �Y^ �o^ �^ �^ � _ �&_ �r_ �_ �_ �` ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-` �D` �w` �x` �` �` �a �Ga �a �a �a �.b �7b �8b �pb �b �b �b �b �b �b �b �b �b �c �]c �jc �{c �c �c �c �d �6d �Rd �nd �d �d �d �d � e �%e �Ae �]e �}e �e �e ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-e �e �e �f �1f �8f �Of �nf �f �f �f �f �f �g �"g �Ag �]g �{g �g �g �g �g �h �h �;h �Zh �h �h �h �h �h � i �+i �Ji �fi �i �i �i �i �i �j � j �<j �[j �zj �j ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-j �j �j �j �j �j �j �j �j �j �j �j � k �9k �Uk �qk �k �k �k �k �k �k �k �k �l �0l �1l �}l �l �m �_m �ym �zm �{m �m �m �m �n �4n �Yn �bn �n �n �n �n �o ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-o �ao �o �o �o �o �o �o �p �,p �-p �Dp �[p �rp �p �p �p �p �p �p �q �q �q �[q �cq �oq �q �q �q �q �q �r �#r �0r �5r �6r �>r �r �r �r �3s �4s �Es �Fs �s �s ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-s �s �s �s �s �s �.t �\t �t �t �t �u �au �u �u �*v �^v �_v �ev �v �v �v �.w �vw �ww �w �x �Ox �x �x �x �)y �py �y ��z �Iz �mz �nz �z �z �&{ �T{ �{ �{ �{ �{ ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-{ �{ �{ �{ �*| �r| �| �| �=} �q} �r} �y} �} �} �} �} �} �%~ �s~ �~ �~ �~ �  �  �X � � � � � � � � � � �7 �h �i �j � �ʀ � �* �Z � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �3 �a � � �ł �ǂ � �I �K � �݃ �& �p �q �v � �̄ � �8 �r �s � � � �2 �v �w �† � �X � � �: �J �K �S �T �p � � � � � � ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � � �H � � � �R �S �i �j � � � � � �< �a �b � � �ԋ � �k �} �~ � � � � � �̌ � �B �k � �э �ҍ � �\ � �Ȏ �Ɏ �َ ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-َ �ڎ � � �0 �z � � � � � �a �w �y � � �T � � � � � � � �- �L �N �O �P �Q �R � � �ɒ � �$ �X � � � � �0 �z � �ޔ � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �( �* �Q �S �Z �g �h � � �= �q �r �x �– � �% �c �d � �— �× � �Z �_ �` �g �s �w � � � � �� � � � � �( �7 �` �} � � � �: ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-: �{ � � � � �Ś �ƚ � �X � � �Λ � � �? �U �W � � �2 �z �ĝ �ѝ �ӝ � � � � �* �, �- �. �/ �0 �w �x � �Ҟ � �6 �e � �Ɵ �ǟ � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �X � � � � �Ƞ � � � �E � � � � �2 �q � � �% �c � �٣ � �0 �i � �ߤ � �P � � � �. �i � �Ц � � � �4 �] �p � � � ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � �W � � � � �' �( �C �d � � � �9 �J �c � � �Ȫ � � � �W �h � � � � � � � �" �V � � �֬ � �e � � � � � �A � ��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������- �ۮ �, �| �Ư � �1 �N � � � � �ܰ �' �r � � � �G �v �w � � �ڲ � �8 �p � � � � �4 �j �ڴ �۴ � � �D �E �` � � �յ � �V �g ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-g � � � � �+ �, �9 �t � � � � � � �ɷ �ʷ �˷ � �i � �۸ �ܸ �% �O �P � � �; �b �c �f � �ܺ � �R �S � �ڻ � � �7 �n �o �t �x ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-x � � � �ڼ � � �� �$ �T � �̽ � � �< �= �{ � � �" �# �d � �޿ �߿ � �a � � � � �L �M � � � � �5 �t � � � � � �= �D ��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-D � � � � � � � � � �% �e �q � � � � � � �] �d �| � � � � � �W �a � � � � � � �, �0 �4 �J �k �o �q �s �u �w �y ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-y � � � � �! �S � � � � �! �# �b �k �m �o � � � �I �} �~ � � � � � �. �e � � � � �9 �Z �\ � � � � �9 �L �e �g �m ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-m �v �x � � � �C � � � � � � �i � � � � � � � � � �M � � � �# �g �h �t � � � �0 � � � � � �g � � � �! �? ��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-? �r � � � �U � � � � �^ � � � � � � � �6 �d � � � �+ �5 �7 �@ �B �C � � � �( �) �/ �y � � � �& �( �l � � � � ��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������- � � � �c � � � � � � � �4 �z � � �� � �) �s � � � �Z �[ � � �2 �H �I � � � � � �G �X �r � � � � �[ � � � ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �D �E �K �M � � �' �< �= � � � � � �? �] �{ � � � � �< �X � � � � �. �/ �k �| � � � �X � � � � � �$ �g �h � � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- � � � �( �; �Y � � � � �: �K �e � � � � �N �| � � �) �* �y � � � � �\ � � �9 �F �G �v � � � � � �@ � � � �1 ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-1 �o �p � � � � �f � � � � � � � �( �- �} � � � �& �+ �4 �5 �C �F �Y �b �c �h � � � � � �2 �a � � � �? �s �t � � ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������- � �# �( �7 � � � � � �Z � � � �� �J �b � � � �: �; �K �L �S � � � �= �> � � � �; �{ � � � � � �_ � � � � �- ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-- �. �x � � �H � � � � �H �t �v � � � �1��z���� �7�8�������&�T������5�6�>�?�@�A�G������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�1�y����4�X�Y�d����������f�m�~�����a���G�W�[��� �Z �m � � � � � � � �: �b ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-b � � � �B �h �i �n �z � � �' �g �h � � � � � � � � �A �B �` �a � � � � � ���D�o�p�����V�������������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����L�����2�_�p����U�V�`�u������?����<�?������I�p�r�� �T������'��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-'�9�F�H���� �!�j���C������+�^����J�K�U���.�t��������<����'�s�����!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��2�M�~��� �> �n � � � �G!�u!�!�!�!�!� "�!"�V"�W"�g"�h"�"�"�"�"�#�#�>#�?#�@#�A#�R#�S#�V#�a#�{#�#�#�1$�G$�^$�y$��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-y$�$�$�$�$�>%�y%�z%�%�%�%�%�%�%��&�&�&�a&�&�&�*'�+'�o'�'�'�'�'�'�(�T(�(�(�')�q)�)�)�)� *� *�Y*�*�*�A+�+�+�+��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��� ��+�+�+�#,�d,�,�,�-�M-�-�-�-�-�-�-�-�-�-�-�..�/.�A.�B.�~.�.�.�.�.�.�/�/�</�=/�u/�v/�w/�z/�/�/�/�0�I0�y0�z0�0� 1��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������- 1�W1�1�1�-2�w2�2�3�I3�T3�3�3�3�64�74�{4�4� 5�O5�r5�5�5�"6�f6�g6�6��7�F7�7�7�7�7�7�=8�M8�8�8�9�>9�L9�M9�c9�d9�o9�p9�q9��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-q9�9�:�.:�|:�:�:�/;�k;�l;�;�;�I<�<�<�<�<�<=�=�=�=�3>�|>�}>�>�?�V?�?�?�;@�R@�^@�u@�@�@�&A�)A�8A�vA�A�A�A�A�A�B�HB��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-HB�B�B�B�B�B�5C�8C�vC�yC�C�C�C�BD�JD�D�D�E�!E�cE�E�E�E�F�MF�F�F�F�F�G�ZG�G�G�G� H�WH�kH�H�I�RI�YI�I�I� J�EJ�FJ��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-FJ�J�J�.K�zK�K�K�L�7L�WL�XL�_L�L�L�M�UM�VM�M�M�*N�+N�]N�N�N�N�N�O�SO�O�O�P�;P�<P�EP�oP�P�P�Q�WQ�XQ�Q�Q�Q�Q�R�RR��!��!��!��!��!��!��!��!��������!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-RR�R�R�S�S�#S�pS�S�S�CT�zT�T�U�YU�U�U�V�V�V�iV�V�V�W�W�W�VW�^W�_W�W�W�8X�X�X�X�Y� Y�$Y�OY�oY�Y�Y�Y�Y�Y�Y�Y��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-Y��Z�Z�"Z�:Z�=Z�qZ�tZ�Z�Z�Z�Z�=[�R[�[�[�[�[�$\�^\�a\�\�\�\�\�\�\�C]�o]�]�^�^�\^�^�^�^�^�_�_�"_�9_�d_�_�_�_�_��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-_�,`�q`�`�`�`�a�a�`a�a�a�a�a�a�a�a�5b�{b�b�b�b�b�b�c�c�c�"c�%c�oc�c�c�d�d�Jd�d�d�e�e�Xe�e�e�e�e�e�f�_f��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-_f�of�pf�f�f�f�f�f�,g�Bg�Cg�Gg�Hg�Vg�vg�g�g�g�%h�Oh�Ph�qh�rh�xh�h�h�h�h�9i�qi�ri�i�j�Fj�j�j�j�j�j��k�Qk�k�k�k�k�k��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-k�'l�Ol�nl�l�l�m�em�m�m�m�n�fn�n�n�n�n�n�0o�^o�o�o�o�o�o� p�Pp�~p�p�p�p�p�p�p�p�p�Hq�vq�q�q�q�r�\r�r�r�r��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-r�r�&s�Ts�s�s�s�s�s� t�kt�t�t�t�t�)u�gu�u�u�u�$v�Tv�v�v�v�0w�1w�<w�Lw�cw�}w�w�w�w�w�w�*x�?x�@x�Kx�x�x�x�9y�:y�xy��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-xy�y�y�y�&z�Nz�z�z�z�${�%{�m{�{�|�N|�|�|�)}�o}�}�}� ~� ~� ~�Y~�~�~�)�E�F���$�R���߀��!�O�P�\���C���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-�����/�P�v������1�i����D��م�&�m�x����׆��+�u��ˇ���8�9�?�K���و�!�"�[���!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!������������-��>����� �j�������`�������?�������H��܎� �1�V���<�=��ѐ����V���!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-��� � ��-�G�H�I�O���ے�ݒ�'�U���ܓ�ޓ�)�x�ǔ���_�����:��Ж����Y���%�&�\�]��̘��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-̘�͘����b�����=�f�g�z��֚��0���ɛ��]�^�u������ � � �Q�r�s��̝��B���֞� �n�p��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-p���ϟ� �%�'�m���֠�ߠ�� �?�@�o���ɡ�ʡ��F�e�f��Ң�Ӣ������?�|�� �O��Ǥ���s���ܥ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-ܥ����F��ڦ�ۦ��/�_��ħ�ŧ�ɧ�ʧ� �D�E�M�N�O�P��Ш���`���?��ժ� �j��׫� ����`������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-�K��������-�e�����.�r����:�c��� �T�������B�����7�i�j����³�ó�ڳ��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-ڳ�۳���]��Ĵ� � �P�������I���(�H�J�\�s�u�·�ܷ�޷���@�j��ڸ�۸��1�{��ѹ�ٹ�#�O�g����!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!������������-�ۺ��;�����9�m�n������޼��*�?�@�C��ս��i������?��Ͽ� � �T�������\����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��6������;����H�m������ �H�X�\�^�������)�M�o���M���.�y���1�[�r���!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-����c���C������"�$�n����e���������d��������F�i���&�s������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-��� �9����� �>�}������"�<�Q�x����%�m��������7�8�l����A�B�t���-�g�h��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-h�i���K���+�v�|�}������/�l�m�~����� �Y������3�^�}����J��������.��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-.�z����%�)�m�����j������5�9�=�S�t�x�{�~������.�`����,�/�x�{����Q�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-�(�y�� � �R���A�o�p�}����;�]�^�����7�j����I�J����X���"�b�c�������0��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-0�F����M�N���)�q���@������3�����=�����N�����'�(�c�����E������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��(�@������ �'�C�c�����3�E�F���� ���i������G�Q�������e�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�"�\�����]������ �)�@�i����� �5�6�v�w�������U��v������������/�0�M�N�T�U���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���j���&�H�����c���� �W�}�~����U�s�����;���� �W����� �# �? �@ �^ �x � ��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������- � � � � � � � �" �M � � � � � �0 �q � � � � � �" �> �U �~ � � � �3 �} � � � � ���4�U�X�����3�m��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-m�n�u�v�� �V���3�z�����^���5�}���a���@�����F���'�o�{�|���V���5�g�h���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����(�T�����"�6�7�b������2�b�z�{��������B�Q�m����� �8�d����<�M��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-M�N�r�s�t�������1 �2 �; �< � � �!�?!�@!�Q!�R!�!�!�!�"�3"�_"�"�"�"�#�#�#�#�$#�9#�b#�}#�#�#�#�#� $�X$�$��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-$�$�$�$�$�$�&%�R%�%�%�%�%�%�=&�&�&�'�<'�='�'�'� (�/(�0(�}(�(�(�(�E)�)�)�*�*�+*�.*�?*�}*�*�*�+�R+�o+�+�+�+�+��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-+�-,�=,�>,�D,�E,�,�,�-�Z-�-�-�.�E.�y.�z.�.�.�.�/�e/�/�/�/�0�0�e0�0�0�0�0�0�0�0�0�1�1�*1�+1�>1�1�1�1�K2�L2�_2��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-_2�2�3�03�13�b3�3�3�3�3�4�4�O4�4�4�4�4� 5�95�_5�5�5�5�5�5�5�5�5�6�M6�{6�6�6�6�6�$7�'7�o7�7�7�%8�(8�:8�=8�L8�O8��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-O8�8�8�9�9�a9�9�9�9�9�9�>:�:�:�;�k;�z;�~;�;�;�;�;�;�;�;�;�;�;�8<�;<�l<�<�<�=�2=�d=�=�=�=�=�0>�\>�>�>�>�>��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������->�=?�?�?�?�@�`@�@�@�A�A�cA�A�A�AB�B�B�#C�6C�7C�@C�DC�EC�YC�iC�jC�C�D�D�D�ID�\D�|D�D�D�D� E� E�>E�E�E�E�9F�:F�cF�dF��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-dF�fF�F�F� G�9G�;G�hG�iG�G�G�H�<H�H�H�H�H� I�NI�I�I�I�J�YJ�J�J�K�K�8K�9K�|K�K��L�>L�L�L�L�L�L�#M�$M�mM�M�N�N�QN��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-QN�wN�N�N�O�>O�cO�O�O�O�O�O� P�UP�P�P�P�P�*Q�rQ�Q�Q�R�"R�#R�(R�4R�~R�R�R�S�S�\S�S�S�S�S�S�T�'T�?T�T�T�T�U�OU��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������������-OU�U�U�U�U�"V�#V�oV�V�W�LW�W�W�W�W�W�W�%X�uX�X�Y�=Y�|Y�Y�Y�Y�&Z�@Z�TZ�Z�Z�Z�B[�s[�u[�[�[�\�\�\�e\�\�\�%]�&]�o]��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-o]�]�^�O^�^�^�*_�v_�_�_�F`�`�`� a� a�La�Ma�a�a�a�a�a�b�Rb�Sb�b�b�b�b�b�b�b�)c�+c�2c�4c�Ec�Gc�Pc�c�c�c�$d�ld�d�d��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-d�d�d�d�Ee�Ie�ze�e�e�e�e�e�!f�kf�f�f�f�g�"g�kg�tg�ug�g�h�]h�dh�eh�vh�xh�h�i�Wi�i�i�i�i�i�i� j�9j�j�j�j�j�j�Bk��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-Bk�k�k� l�jl�l�l�Bm�m�m�m�m�n�n�)n�@n�kn�n�n�n�o�Ko�o�o�p�`p�p�p�p�,q�qq�q�q�q�q�q�q�q�*r�Xr�r�r�r�'s�ps�s��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!������������-s�s�s�t�ht�t�t�t�t�t�t�t�t�t�t�8u�u�u�v�[v�v�v�4w�w�w�w�x�Vx�Wx�x�x�x�x�x�3y�wy�y�y�y�y�y�z�Nz�rz�z�z��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z�({�r{�{�|�S|�|�|�}�P}�}�}�}�~�~�~�~�#~�$~�n~�~���J���"�j���-�E������O��т����!�p����!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��ƒ� �T����.�b�c���<�~���І���`�|�}��ˇ��3�r���������*�M����������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�� �R����,�x�y��ϋ��K�L�����O����]����!�"�6�I�J�K�x������؏�"�P���ѐ���!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-����8�O�S�T��ɑ���'�)�0�2�C�E�N��ʒ�ؒ���?���Γ��[������� �X���ڕ� ��W�q�w��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-w�Ö��^��� ��3�9�?�W�z������ߘ���F�z����N�S�����ښ��c��؛���<�=�T������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-��Ϝ����+�W�X���������h���8�w�x�������A�~��ʠ���1�w�x���Ρ��"�#�k���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�ʢ�ˢ��\�q�r���/�g��פ� � �C�{����G����'�Z�[���ѧ� �L����"�b��ȩ���8�9�q�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�Q����,�_�`���� � �T����� � �S���/�p�q���H���۰�%�l����J��ٲ� ��W�X����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�³���+�u����'�E�F��յ��E�F��ж�Ѷ�Ҷ��:�;�m�n���ɷ��Z����3�G�H��չ���2�3�m�n���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��%�&�q����O�l�m���-�.�/�{��׽�ؽ��Z�[��ܾ���d��ѿ�ҿ���(�)�q������[������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��I�J����-�s�t����0�L�M�^�_���A�e�f�����5�6��������-�[����/�{�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-�����;�<�=����'�h��� � �J�`�a������/�\�������F�G�I�J�����-�w������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-�%�n�}�~������<�m������0�4���������/�4�5�o�p������>������h�t�u���!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-��5�6�7�8���"�k�u�v����>�t�����$�I�J�\�|����M�m�n�w�z�{���\����$�A�W�X�Z��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-Z�������9�d�e�}�����6�7����0�1����#�m������<����`���;����6�7���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������-�����'�(�)�z����1�2�3�c��������@�o������K�q�r����������/�y����!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��-�v�����=�p�����(�w�|����M�n�p�� ��/�1�����4�|���Y���A����"�k���!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��F���"�P�|�� � �2�3�7�u�����J�K�L�_�`�q���� �9�k�����e����`��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��+�w���`��� �W�������*�U�o������C�a�d�i�{������ �;�m������g����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-����O��w��{�������������T���� �o������]�a�l�n���C�S�U�W�Y����'�s�� �X���?�A��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-A�����B�C�m�n�� �Y � � � �? � � � � � � �P � � � �; �< � � � �b �c � � � � � �"�N�n����@����!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-������,�y����(�-�r����(�t�� ��!�D�I�N�e����������J�}����M�Q�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-������+�o����1�f����$�q�x����e�n�p���J�L�S�T�����a���� � �4�~���A��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-A���� �h����1�~�� �e � � �L!�!�!�"�O"�l"�"�"� #�!#�b#�#�#�1$�u$�$�$�$�%�%�:%�;%�}%�%�%�%�%�$&�j&�&��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-&�&�D'�'�'�(�(�2(�3(�9(�:(�(�(�)�O)�)�)� *�K*�o*�*�+�M+�+�+��,�P,�x,�z,�,�-�C-�-�-�.�_.�.�.�.�.�/�/�-/�U/�x/�y/��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-y/�/�/�/�/�0�^0�0�0�0�0�0�'1�;1�Q1�^1�1�1�1�1�1� 2�O2�k2�l2�m2�s2�2�2�<3�3�3�4�F4�~4�4�4�5�a5�5�5�5�5�5�-6�l6��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-l6�6�6�!7�M7�7�7�7�8�i8�8�8�8�19�Q9�R9�W9�X9�9�9�:�1:�g:�:�:�;�P;�Q;�;�;�A<�<�<�<�<�<�=�=�=�=�P=�=�=�>�\>�>��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������->�>�%?�h?�?�?�1@�t@�@�@�A�5A�XA�jA�kA�A�A�A�A�A�A�B�PB�sB�tB�B�B�B�B�B�B�B�!C�QC�_C�xC�C�C�D� D�UD�D�D�E�E�*E��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-*E�/E�@E�EE�E�E� F�F�aF�F�F�F�F�F�JG�G�G�1H�H�H�H�H�H�H�H�I�I� I�I�I�I�fI�kI�I�I�J�9J�lJ�J�J�J�%K�*K�,K�-K�aK��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-aK�K�K�L�XL�L�L�M�PM�jM�kM�M�M�M�M�0N�^N�N�N�N� O� O�ZO�O�O�O�O�P�P�JP�KP�SP�yP�P�P�P�P�P�P�Q�QQ�Q�Q�Q�DR�ER��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!������������-ER�R�R�$S�iS�jS�S�S�GT�HT�T�T�T�T�T�U�/U�dU�U�U�U�<V�~V�V�V�V�V�'W�hW�xW�W�W�W�W�DX�rX�X�X�X�X�X�X�EY�Y�Y�Y��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-Y�Y�Z�Z�bZ�Z�Z�[�d[�e[�[��\�D\�E\�F\�K\�\�\�]�R]�S]�]�]�5^�6^�f^�^�^� _�1_�U_�_�_�_�;`�=`�?`�F`�G`�`�`� a�:a�;a�}a�a��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-a� b�Tb�b�b�c�c�^c�c�c�5d�Ud�Xd�bd�d�d�d�9e�e�e�e�f�/f�0f�yf�f�f�Ag�Lg�g�g� h�@h�ph�qh�h�h�Bi�i�i�i�i�$j�nj�j�j��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-j�j�j�j�.k�4k�}k�k�k�k�Fl�l�l�'m�(m�.m�im�lm�m�m�=n�>n�Dn�|n�n�n�n�n�n�n�n�$o�[o�o�o�o�Cp�Dp�p�p�(q�sq�yq�zq�q�q��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-q�q�q�q�q�7r�8r�}r�r�r�r�1s�hs�s�s�t�Mt�t�t�t�#u�$u�Vu�u�u�v�"v�hv�iv�v�v�v�v�Bw�w�w�x�x�\x�]x�x�x�x�?y�Py�Ry��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-Ry�oy�py�y�z�z�z�z�\z�z�z�9{�g{�{�{�{�|�Z|�|�|�|�}�}�}�}� }�p}�}�}�8~�d~�~�~��H�I�}���;�y��Ӏ��I���!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-���*�+�i�����Q����Z�����M���+�t��׆�!�M�s�ȇ�ɇ������ ����:�;�~���@���!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����%�&�o����S�y�Ë��)�g�h����J���ȍ��[�g�o����9�T�}�Ǐ��"�`�a��А�ѐ�Ր�֐�ݐ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!��!��!������������-ݐ�ސ�'�(�9�:�M��Ƒ� �;�����ܒ�ݒ��+�,�T�U�a�b���:�t�u�{�|������@��Ε���Z�s�t����!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�ߖ��@�A�V�W�{�|��� �?�N�V�W��ߘ�(�q����Й���@�p������a�b�c�d�e�f��̛�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�a���ќ��7�8�@�H�I��̝���$�5�6�{���@��ǟ� �#�$�i���!�"�e���+�I�J��Ң���� � �Q��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Q�]�^����ң�ӣ��&�'�k������=�N�Z�[��ޥ��7�8�u�v�����%�&�9�:�S��ɧ���?�@�K�L���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����ި���8�?���©��=�u�v������H�N�O�u�������-�q���6�u���>����Ӯ�Ԯ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Ԯ�ծ�֮�!�V�z���0�z�Ű��[��� �E���̲�Ͳ������Y�y��������^�~�Ĵ�Ŵ�ʹ�մ�ִ�� �e�k��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-k�����&�'�;����Ӷ�Զ����6�?���ͷ���^�b��������?�������¹�˹�̹������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�:�m��Ǻ� ��S��׻�ۻ��&�B�C�e����ϼ���8�9�y�z�����˽�׽�ؽ��!�a�m����*�.�q�x�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����Y�d������ �'�C�_�{������7�Y�t������#�?�]�{������ �(�F�e������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-����5�<�R�p�������)�L�j����������-�O�e�z�{����������� �$�@�A�W��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-W�����a���$�^�v������B�����"�V�y�z�������F�I������*�p�q��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�7�8�x������5�6�z�����,�-�5�6�I�J�j�����"�#�+�,�P�f�g����� � ���7�8�b����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����)�*�B�U��������=�>�x����.�f���������#�$�Z������ �!�7�A�B�J��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-J�K�o�p�������0�_�`�x������� �D�s�t�����*�b����� �����S��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-��0�:�;�C�D�h�i�������+�Z�[�s��������?�n�o�����C�{������#�-�.�6�7�m��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-m�������3�I�S�T�\�]�p������*�<�N�`�r�s�����8�O������+�^�_�������H��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-H��������(�h�p��������M�N����)�*�e������� �0�C�D�v���,�d�k�l�t�u���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�����<�=�N����I�J�������8�[���#�D�T�a�k�l�t�u������5�c����9�>�K�U�h��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-h�i�q�r�}�������b������� �%�A�]�y������(�Q�o�������$�I�g������ ��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- ���(�8�@�A�R�s�{�|��������A�B��������D�E��������<�?�����������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-�a�b���&�f���*�j�����D�E�F�G���� �W���6�����a����������d���#�$�h�i����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-������>�t����-�R������C�E�����G����"�m�o�p���%�&�B�C�p�q��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���! �V �z � � �0 �z � � �[ � � � �G � � � � �Y �Z �h � � � �O�P���1�~�����i���� �U�����!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-���J����8�Q����5��������7�e����0�z���d�����?�P����E�T�U�l�m�y�z��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-z�{�� �;�s����,�z���`���'�(�)�]���� �!�f���0�{��� �E � � � �/!�0!�z!�!�!�!�2"�|"�"��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!������������-"�"�"�#�[#�#�#�$�$�`$�$�$�$�%�D%�E%�R%�S%�[%�\%�j%�%�%�&�G&�H&�N&�O&�&�&�'�P'�'�'�(�\(�(�(�(� )�)�#)�@)�R)�)�)��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-)� *�<*�=*�J*�K*�*�*�*�8+�@+�+�+�$,�4,�5,�9,�:,�H,�h,�w,�,�,�-�@-�A-�~-�-� .�H.�.�.�.�.�.�.�/�;/�g/�/�/�/�/�0�,0�I0��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-I0�f0�0�0�0�;1�i1�1�1�1�72�2�2�'3�=3�>3�3�3�3�3�3�L4�4�4�4�5�*5�+5�,5�a5�5�5�6�W6�6�6� 7�X7�7�7�7�'8�>8�?8�8�8��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-8� 9�V9�9�9�=:�:�:�$;�q;�;� <�U<�<�<�%=�&=�p=�z=�=�>�I>�S>�>�>�?�K?�?�?�@�@�[@�@�@�@�#A�$A�4A�~A�A�A�B�4B�B�B�B��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-B�B�6C�FC�GC�dC�C�C�C�C� D�FD�D�D�E�cE�E�E�E�E�2F�F�F�G�G�_G�fG�hG�qG�sG�G�G�G�H�/H�PH�wH�H�H�H�H�JI�I�I�I�I��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-I�.J�LJ�MJ�J�J�J�K�K�TK�\K�]K�K�K�8L�L�L�M�\M�M�M�N�DN�lN�N�N�N�=O�}O�O�O�O�P�]P�P�P�P�P�P�@Q�Q�Q�Q�Q�Q�Q��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Q�Q�Q�Q�-R�.R�]R�R�R�R�S�KS�|S�}S�S�T�<T�xT�T�T�U�WU�U�U�U�U�U�V� V�SV�V�V�V�V�V�V�&W�_W�W�W�W�%X�\X�X�X�X��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-X�Y�Y�Y�FY�Y�Y�Y�DZ�EZ�XZ�lZ�Z�Z�Z�Z�Z�Z�Z�[�_[�h[�x[�[�[� \�n\�v\�\�\�\�\�]�K]�w]�]�]�]�7^�^�^�^�^�^�)_�w_��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!������������-w_�_�`�a`�`�`�Ka�a�a�a�b�b�0b�4b�ib�b�b�c�Nc�vc�c�c�d�Nd�[d�d�d�d�d�d� e�Se�le�me�we�e�e�e�)f�uf�vf�f�f�f�g�bg��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!������������-bg�g�g�g�g�g�Dh�h�h�#i�oi�i�i�i� j�0j�1j�Hj�Ij�Tj�Uj�j�j�k�@k�~k�k�k�/l�yl�l�l�-m�.m�m�m�n�en�n�n�n�n�n�n�(o�Vo��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!������������-Vo�o�p�p�p�`p�gp�p�q�Sq�`q�q�q�q�$r�(r�wr�}r�r�r� s� s�Ms�xs�ys�s�s�t�t�At�Bt�Ft�Ot�Pt�t�t�t�t�u�u�*u�+u�;u�u�u�u��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-u� v�3v�4v�<v�=v�tv�uv�v�v�v�v�v�v��w� w�w�w�Zw�[w�cw�dw�ew�w�w�w�x�Px�sx�x�x�x�y�_y�y�y�y�0z�|z�z�{�^{�{�{�{�{��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-{�&|�[|�|�|�}�K}�}�}�}�}�;~�|~�~�~�~�~��X�����_������ �j��́�"�#�n��˂�͂����K��Ѓ�у��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-у�����$�&�p��˄�&�'�t������,�c������B��܇���� �W����5��͉��d���ӊ��(�*��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-*�a�s���Ë�ҋ���O�Q�Z�_�x�z�|�}�����H�\��܍��;�������[������������)��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-)�6�B������M�����ב���<��ђ���^�j�k�����.�x��Ք�7�8��̕������$�P��Ė���!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������������-��'�(�t��ԗ�������#�$�l�x������ ��\��� ��1�2�B�S�Z��Қ��t�u������B�i��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!������������-�S�u�m�m�a�r�y�I�n�f�o�r�m�a�t�i�o�n��� �� �� ��������(������������������������������� �� ��!��"��#��$��%��&��'��(��)��*��+��,��-��.��/��0������5��6��7��8��9��:��;��<��=��>��?��@��A��B��C��D��E��F��G��H��I��J��K��L��M��N��O��P������U��V��W��X��Y��Z��[��\��]��^��_��`��a��b��c��d��e��f��g��i��j��k��l��m��n��o��p������u��v��w��x��y��z��{��|��}��~��������������������IS Department�����������@���/O_��������������������@���_��������������������@���ށ_����������������������������������������������������������������������������������@����NSI�����������������������������Microsoft Word 6.0�������������������������������������������16�������������������������������������������������������������������������������������������������������������ࡱ����������������;�� �i�j�u������ٜ�����)�u�v����ڝ�ޝ��1�]����2�v����3�z���M��ۡ��f���5�|�£��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������- �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� �� ��! ��" ��# ��$ ��% ��& ��' ��( ��) ��* ��+ ��, ��£� �P��ؤ��e�����B��Ϧ��]����&�n�����+�7�D�Z�y��ũ� �6���Ҫ��8�9�}�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!������������-�,�Z���֬��i����ȭ�٭���#�;�v�w���̮���1�z�Ư���S�_�`�����#�m��̱���H�����!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!������������-��� �4�h����0�}�Ǵ�Ҵ�Դ����:�_�`�����]�^�c��۶��p�q���ѷ��3�[�]�i�u�x�{���Ӹ��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-Ӹ��� ��(�u�w�������ڹ�!�l���D�d�e�t���������P��ռ�"�l��ɽ���[�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-�%�l�m���� � ��]�����,�-�V�W�l�m����� ���`������� �-�>�J�_�����"�i��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!������������-i�������:�t�u����-�A����@�A��������5�a�����(�4�K�v�����������!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��������!��!��!��!��!��!��!������������-�3�?�K�����������A�o��� �0�J�_�b���&�������F��������`�������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!������������-���� ��.�F�U�c������ �8�}��� �[�����#�>�?����,�E�F�G�|���7�u�v�� �Q�k��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��������!��!��!��!��!������������-k�l�w������`������;�����*�j����� �E�X�Y����(�)�c������6�m����-��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!������������--�v������!�0�<�=�������/�V�v����F�}����)�/�0�r����P�Q�R�h������<�\���!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!��!������������-���*�Y����"�m���Q����F�G�h���&�5�M����@�A�N�O���=�A�B�F�X�Z��������!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!��!��������!��!��!��!��!��!��!��!��!�����������������������������������������������������������������,�����@�v�x����'�@�B�^�`�j�������<�^�w����6�\�j��������9�Z�r�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�����0�X�v�������+�T�w���� �C�g������ �*�k����*�D�a�����/�P�q���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�����'�R�m�v�������<�b�v�������<�Z������U�|������#�>�P�R�v����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-���8�q����'�@�]�u�w������<�e�������$�8�L�_�{������ �-�H�o���������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-�� ����)��L��w��������$�B�]�k�����/�m����8�]�����D�~����*�J�j�������)�F�]��������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-���� �H�q���� �'�N�n����� � �* �G �f � � � � � � �0 �h �j � � � � � � �! �D �Y � � � � � �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������- �! �@ �j � � � � � �; �^ �m �o � � � � � ��8�H�X������� �1�C�d�y����� �-�M�d�{�����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-����=�^������ ��K�S�U�n�{�������G�j������)�B�`����� ��A�`������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-��:�l������4�_�s����� ��$�E�n�����'�K�o�����3�X�r������3�O�r����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-���g������ � �5�K�M�_�u�������E�^�������J������ �& �D �b � � � � � � �������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������- � !�C!�V!�}!�!�!�!��"�"�7"�k"�"�"�"�"�"�"�"�#�1#�J#�T#�#�#�#�#�#�%$�J$�~$�$�$�$�$� %�%�A%�h%�j%�%�%�%�%�%�&�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-&�I&�]&�&�&�&�&�&�&� '�&'�O'�f'�'�'�'�'�(�5(�g(�y(�(�(�(��)�I)�l)�)�)�)�)�)�*�4*�M*�X*�w*�*�*�*�+�4+�U+�r+�+�+�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������-+�+�,�Q,�g,�~,�,�,�,�,�,�-�'-�4-�I-�Z-�-�-�-�-� .�".�:.�U.�}.�.�.�.�.�/�3/�[/�o/�q/�/�/�/�/����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������%����K������ ��@� �Normal���� �]��a c��.�@��.� Heading 1�� ���<� �U]�c�k��,�@��,� Heading 2�� ���<� �UV]�c�(�@��(� Heading 3�� ���<��Uc��������������"�A@�"�Default Paragraph Font�����������*� `��*�Index 1�����8�!��c��*� `��*�Index 2����8�!��c��*� `��*�Index 3����X8�!��c��*� `��*�Index 4���� 8�!��c��*�`��*�Index 5����8�!��c��*�`��*�Index 6����8�!��c��*�`��*�Index 7����x8�!��c��*�`��*�Index 8����@8�!��c��*�`��*�Index 9����8�!��c��:�!`��:� Index Heading�����x�&9�'9�(9�)9��U]�c�����,���&!��!�!��!�!��!�!��!�! ��! �! ��! �! ��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��! �!!��!"�!#��!$�!%��!&�!'��!(�!)��!*�!+��!,�!-��!.�!/��!0�!1��!2�!3��!4�!5��!6�!7��!8�!9��!:�!;��!<�!=��!>�!?��!@�!A��!B�!C��!D�!E��!F�!G��!H�!I��!J�!K��!L�!M��!N�!O��!P�!Q��!R�!S��!T�!U��!V�!W��!X�!Y��!Z�![��!\�!]��!^�!_��!`�!a��!b�!c��!d�!e��!f�!g��!h�!i��!j�!k��!l�!m��!n�!o��!p�!q��!r�!s��!t�!u��!v�!w��!x�!y��!z�!{��!|�!}��!~�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!��!�!�!!�!!�!!�!! �! ! �! ! �!!�!!�!!�!!�!!�!!�!!�!!�!!�! !!�!"!#�!$!%�!&!'�!(!)�!*!+�!,!-�!.!/�!0!1�!2!3�!4!5�!6!7�!8!9�!:!;�!<!=�!>!?�!@!A�!B!C�!D!E�!F!G�!H!I�!J!K�!L!M�!N!O�!P!Q�!R!S�!T!U�!V!W�!X!Y�!Z![�!\!]�!^!_�!`!a�!b!c�!d!e�!f!g�!h!i�!j!k�!l!m�!n!o�!p!q�!r!s�!t!u�!v!w�!x!y�!z!{�!|!}�!~!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!!�!�!�!!�!!�!!�!! �! ! �! ! �!!�!!�!!�!!�!!�!!�!!�!!�!!�! !!�!"!#�!$!%�!&���� ��"����Q$��-��7��=��$F��M��W��\`��h��o��rx��V������%��������9��v��a����������U��;��� �U�P �S)�U1�:�C�SM�xT�]�%d� l�t�}�؃�G� �4�-��!��l���_�?��y��-�C ���'�0�8�VA�AJ�P�Z�c�l�t�{�����'��¹�i�O�P�Y�`��F�O�r ��C�"�+�@3�[<�E�P�Y�b� l�r�y�����ڧ�X�A��Q�_��~���{�*� ��!�'�T1�:�A�G�?Q�1X�_�g�l�s�z�S���t�e�ʮ��B�#��w�E�������!�*�1�:�C�>K�lS�z[�?b�j�q�y�����=�����l������x�p�I�p�T�!�f,�4�=�F�N�V�o`�j�t�z�J�;��0�ǣ�P����j���z����3�3 ���!�)�3�3:�B�I�PQ�W�]�e�On�s�{�,���u����ܿ�`�����M��� ���G#�]-�4�<�yE�M�.S�[�f�Kn�v�-~��0�ɓ�.��-�e����m������( �. �X �M! �7( �2 �: �4B �4H � Q �X �!` �j �q �x �= � � �N �^ � �ܲ �? � �R � � � �Z � � � �l � � �% �- �5 �= �@F �)P �X �a �k �Gr �}| � � �+ �X �w �D �y � �v � �t � � �? �p � � � �5 �& �"/ �86 �= �F �UO �hW � a �i �Wr �{ �# �G �3 � � � �Ų � � � � �% � �" � � �$ � � �) �S2 �l< �F �P �Y �a �Dk �t �wz � � �? � �V �w �ȶ �E � � � � � �Y � � �5 �0 � � �& �. �8 �I? �dF �O �Y �Ra �[g �m �es �| �T � �x �њ �. � �t � �a � � �z �X �F �t � �� � �M�"�~+�=5�>�7I�S�oZ�Xb�ni�q� {������i�;�m��8��������{� �(�0�8�A�I�R� ^�e�n�rw�.�����T�;�(��������]�� ���K'�/�:�EB�J�S�\�ng�o�y�Ȅ�`�@���q� ��ھ�e�p��x���t��A��p�J�`�#�+�?5�@�\J� S�7[�d�n�t�"��M��v�8� ���(��`�V�A�G�,���?����J����C������������������������J��� �G��� ���� �L��� �J��� �������������+������������6���� ����F����L����>����T����G����%����,����L����-��������<��� ����!�C���"�,���#�J���$����%�K���&�@���'����(�N���)����*�M���+����,����-����.�(���/����0� ���1�2���2�+���3�!���4�I���5�E���6����7����8����9�<���:�J���;� ���<�L���=����>�C���?�1���@�9���A����B�H���C�J���D����E����F����G����H�B���I�(���J����K����L�3���M�K���N����O�8���P�I���Q�$���R� ���S����T�,���U�>���V�E���W�<���X�,���Y�2���Z�G���[����\�J���]����^�G���_�F���`�_���a�:���b����c����d�I���e�N���f����g����h����i� ���j����k�J���l����m�!���n�L���o�N���p����q�M���r� ���s����t����u�G���v����w�F���x�@���y�K���z����{�N���|����}�N���~�E����������������E����������������@����I����A�������� ����F����J���� ����J����Q����C����A����D����5����F����8����������������L��������I��������I����;������������O����7����D������������L������������E������������J����?���� ����.����%����H������������F��������F��������H����K����K����>������������ ����-����L������������$����$����D��������J��������H����B����7����:���� ����1������������!������������K����������������J��������0��������F����;��������(������������0����N���� �������� ��������P���� ����J��������.����>����O��������*����������������"��������,����8����"����H����"����D����;���� ������������<������7������K������L��������� ��� M��� O��� ��� J���K������M���.���P������D���*���,���K���-���������%������J������5��� (���!9���""���#J���$E���%���&7���'J���(F���)���*���+&���,)���-���.L���/���0P���1���2J���3,���4L���5 ���6���7L���8J���9���:5���;<���<C���=���>H���?���@9���A���B8���C0���D ���EK���F3���GO���H���I1���JL���K.���LJ���M5���N���OQ���P���Q���R���S&���T%���U���V���W,���X/���Y���ZJ���[L���\���]K���^N���_J���`���aJ���b���cM���dJ���e���fE���g���h5���i!���j;���kB���l7���mJ���n���o(���p���q���r���s!���t@���u���v���w���xD���yL���z*���{���|:���}N���~J���C���������8���H���J������G������,���F������J���1���.���������F������7���I������$��� ���G���������������������H���J������;���P������&���?������3���E���Q������;���H���M������K���1������������%��� ���M���N���G���������L������O������;���J������J���J������4������P���?��� ���������K���1���������3���������+���&������J������"���4���I���E���+���F���H���2���������J���1���>������I���1������K������M���$���A������L���������F���������8���������������#���D���E���C�������������;���������������@������K��� ��� 5��� E��� 6��� ���I������I���J���H������P���,������ ���4��� ���F������+���K������ ���  ���!&���" ���# ���$eE��%�������h����,�u�E1���k��1���_���&s��<���UW��y�MP � �@ �) � �CS �ެ �1 �t � �# �b �J �d��"�y}�A�{�;*� ��/�        ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E ��� ����P��w ��`(��\/��97��]>��DC��dJ��P��QX��`��f��m��s��z��ڂ��������%��Ч��˭����������������\���� ��H����w�f ��/��&�k.�U4�a<�C�K�R�W�x_�(e�j�r�ay���|�����U��ȶ��l��H�,�?���7�!��g�C�I�6 �&�,�3�;�tA�3I�JO�SU�]�d�_l�_s�y��ˆ�S�Y�4��'�V��Ŀ��>�.�d�E���F�-����� �%�",�2�L9�QA�H�Q�X�`�h�5o�t�z�S�3�&��s����F�����R�~�k��}�� ���*�$� -�T4�A<�B�FF�L�T�GZ�a�f�k�p�v�|�#�[�H���&��O��B�����T���n�T� ���s!�(�/�5�<�D�J�P�fW�z^�d�j�p�w�|����ٗ��=�C��/����W�������F��c ���"�K*�3�Y9�@�H�.O�T�C[�d�k�t�F{� �~�;��y�w�ڨ��#���8�q����[�����% ����"�5*�0�8�=�mD�=K�%P�}V�[�`�h�Xn�Is�lx��P�"�O�ӛ������@�����p��M�#�� �t��M�f$�+�2�`9�?�F� M�R�zX�^�h�p�u�|����*��z�.���E�O���G�u��=���A�A � � �X �J" �w) �/ �6 �q> �}D �I �ZO �fW �Q] �!c �l �\r �w �]~ �0 � � �. � �ߧ � � �h � � �o � � �] � �< � � �x �@ � � � �% �, �^3 �O: �@ �LG �O �V �6^ �Ye �m �r �z �ւ �p � � �= �С � � � �H �6 �q �z � � � �. �w � � �U �  �1 �:" �* �0 �7 �< �MC ��K �<R �X �_ �og �Tn �u �<} �e � � �ԗ � � � �w � �b �} � � � �g � �^ � �9 �9 � � �K �) �=0 �7 �}? �%H �O �W �+_ �e �m �u �z � �ֈ �< �N � � � � �= �Y �2 � � � � �< � � � � � � � �@ �]" �' �. �^6 �O? �B �II � P �-Y �` �e �j �o �s �{ � � �َ � �: � � � �g �x �D �y �m �? � � � �1 � �- ��b ��'��y$�+� 1�q9�HB�FJ�RR�Y�_�_f�k�r�xy����̘�p�ܥ��ڳ�����h�.��0���� �m��M�$�+�_2�O8�>�dF�QN�OU�o]�d�Bk�s�z����w����������Z������A���A�&�y/�l6�>�*E�aK�ER�Y�a�j�q�Ry���ݐ���Q��Ԯ�k�����W���J��m�H��h� �����z�"�)�I0�8�B�I�Q�X�w_�bg�Vo�u�{�у�*�)��i�£���Ӹ��i���k�-��������� ���� �&�+�/�F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  �                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  G�V�,�,�j IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC IS DepartmentC:\VBTIPS\VBW9408.DOC@HP LaserJet 4/4M PostScript�LPT3:�PSCRIPT�HP LaserJet 4/4M PostScript����� WD��[���� od������������X�������������������������������������������������������������������RZ�Z����������������������������e�HP LaserJet 4/4M PostScript����� WD��[���� od������������X�������������������������������������������������������������������RZ�Z����������������������������e��7�7����7�����7�1���Times New Roman� �Symbol� &��Arial�"��V���h����aK饮K饒K�-���������������������������������������������$w���I=========================================================================��� IS Department IS Department����������ࡱ����������������;�� ���������������������������������������v������t�����r����p����n����l����j����h����f����o �� ��q �� ��s �� ��