Microsoft KB Archive/43902

= Incorrect SEEK Statement Example on QB Advisor On-Line Help =

Article ID: 43902

Article Last Modified on 11/21/2006

-

APPLIES TO


 * Microsoft QuickBasic 4.5 for MS-DOS

-



This article was previously published under Q43902



SUMMARY
There are several errors in the example for the SEEK statement in the QuickBasic Advisor on-line Help system for QuickBasic Version 4.50. The lines that should be corrected are marked in the code sample below.

The example given on Page 385 of the &quot;Microsoft QuickBasic 4.0: Basic Language Reference&quot; operates correctly.

This documentation error has been corrected in the Microsoft Advisor on-line Help system of the QBX.EXE environment supplied with Microsoft Basic PDS Version 7.00. Below is a corrected version of the code example.



Code Example
The following is a corrected version of the SEEK program example taken from the QuickBasic Version 4.50 QuickBasic Advisor on-line Help system: '*** Programming example for the SEEK function and statement ' CONST FALSE = 0, TRUE = NOT FALSE ' Define record fields. TYPE TestRecord NameField AS STRING * 20 ScoreField AS SINGLE END TYPE ' Define a variable of the user type. DIM RecordVar AS TestRecord '******************************************************************** ' This part of the program is an insert whose only function is to ' create a random-access file to be used by the second part of the ' program, which demonstrates the CVSMBF function '******************************************************************** OPEN &quot;TESTDAT2.DAT&quot; FOR RANDOM AS #1 LEN = LEN(RecordVar) '*************** above line has correction ************** CLS RESTORE READ NameField$, ScoreField I = 0 DO WHILE UCASE$(NameField$) <> &quot;END&quot; I = I + 1 RecordVar.NameField = NameField$ RecordVar.ScoreField = ScoreField PUT #1, I, RecordVar READ NameField$, ScoreField IF NameField$ = &quot;END&quot; THEN EXIT DO LOOP CLOSE #1 ' DATA &quot;John Simmons&quot;, 100 DATA &quot;Allie Simpson&quot;, 95 DATA &quot;Tom Tucker&quot;, 72 DATA &quot;Walt Wagner&quot;, 90 DATA &quot;Mel Zucker&quot;, 92 DATA &quot;END&quot;, 0

' Open the test data file. ' DIM FileBuffer AS TestRecord OPEN &quot;TESTDAT2.DAT&quot; FOR RANDOM AS #1 LEN = LEN(FileBuffer) ' Calculate number of records in the file. Max = LOF(1) / LEN(FileBuffer) ' Read and print contents of each record. FOR I = 1 TO Max GET #1, I, FileBuffer IF RTRIM$(FileBuffer.NameField) = &quot;Tom Tucker&quot; THEN '*************** above line has correction ************** ReWriteFlag = TRUE EXIT FOR END IF NEXT I ' IF ReWriteFlag = TRUE THEN ' Back up file by one record '*************** above line has correction ************** FileBuffer.ScoreField = 100 SEEK #1, SEEK(1) - 1 '*************** above line has correction ************** PUT #1,, FileBuffer '*************** above line has correction ************** END IF ' CLOSE #1 KILL &quot;TESTDAT2.DAT&quot; END

Additional query words: QuickBas

Keywords: KB43902

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.