Re: TZF - Many Thanks but more help needed

R & WL Hamilton <[email protected]>
Newsgroups gmane.comp.lang.delphi.topaz
Message-ID <[email protected]>
I note your comment:
    re jumping out of the 'for ' loop ie setting x=y
    this will not work.

You could you use your 'matchfound' boolean like this
     x:=0
     y:=max rec
 while not(matchfound) and (x<>y)  do begin
     inc(x)  //very important
     your search...code
     that would include matchfound=true etc...
     this will   loop until last record done or matchfound..
     I think this will help jump out of that loop
 end; {while}

Hope that is a bit of a help, I am sure the syntax is not 100% but if should
give
you an idea.
----- Original Message -----
From: "Jerry Mallett" <[email protected]>
To: <[email protected]>
Sent: February 9, 2003 8:06 PM
Subject: RE: TZF - Many Thanks but more help needed


> Thank you for your response.
>
> Code as requested.
>
> procedure TForm1.Compare1Click(Sender: TObject);
> var  fn,ln : string;                                    // FirstName -
> LastName Varaibles
>     id1, id2, x,y : Integer;                        // id1 = db1 member
> and id2 = db2 member (x & y for RecNo and RecCount)
>     MatchFound : Boolean;                      // wanted to use this to
> exit loop when a match is found
> begin
>   TzDbf.Active := True;
>   TzDbf.GoTop;
>     X := 1;                                        // Initialised this
> for the ShowMessage window to see what was happening
>     id2 := 0;                                     //  Initialised this
> for the ShowMessage window to see what was happening
>     While NOT TzDBF.dEOF Do
>     Begin
>       MatchFound := False;
>       fn := Trim(TzDBF.GetCField('firstname'));              // get
> firstname
>       ln := Trim(TzDBF.GetCField('lastname'));             // get
> lastname
>       id1 := TzDBF.GetLongField('memberid');             // get current
> id number
>
>       //  Show it on screen to see if all is ok
>
>       ShowMessage('Competitor - '+fn+' '+ln+
>                              ' is currently '+IntToStr(id1)+
>                              ' but should be '+IntToStr(id2));
>
>       CompetitorsFrm.Competitors.Active := True;
>       CompetitorsFrm.Competitors.GoTop;
>       y := CompetitorsFrm.Competitors.RecCount;   // get the total
> number of records in main database (db1)
>       For x := 1 to y Do
>         Begin
>           If (fn =
> Trim(CompetitorsFrm.Competitors.GetCField('firstname'))) AND
>              (ln =
> Trim(CompetitorsFrm.Competitors.GetCField('lastname'))) Then
>
>              Begin         // we found a match so enter and
> update/correct the db2 file
>               MatchFound := True;
>               id2 :=
> CompetitorsFrm.Competitors.GetLongField('memberid');  // get the
> membership number from current record
>
>              // lets display it on screen to check we have got this far
>
>               ShowMessage( ' Record No.'+IntToStr(x)+
>                                      ' = Competitor - '+fn+' '+ln+
>                                      ' is currently '+IntToStr(id1)+
>                                      ' but should be '+IntToStr(id2));
>
>               TzDbf.SetLongField('memberid',id2);  // write it to db2
>               TzDbf.Post;                                    // post it
> to db2
>              End
>           Else
>                     //   ok got lost here.....tried to do x := y which
> is total recordcount so that i could exit loop but it won't compile
>
>           If MatchFound Then   // then tried the boolean op. but
> ....help.
>          CompetitorsFrm.Competitors.Go(x);
>
>         End;  // For x loop
>       TzDBF.Skip(1); // skip to next record
>     End;
> End;
>
>
>
> R & WL Hamilton wrote:
> > Can you give a code sample where it crashed? Is is a crash with an error
> > or an infinite loop of searching?
> >
> > How are you comparing db2 to the correct db1 number if your db2 member
> > number is  missing or wrong?
> > Roger
> > ----- Original Message -----
> > From: "Jerry Mallett" <[email protected]>
> > To: <[email protected]>
> > Sent: February 9, 2003 7:30 PM
> > Subject: TZF - Many Thanks but more help needed
> >
> >
> > > Hi Guys.
> > >
> > > Many thanks to all those that responded to my last problem.
> > >
> > > Got another one now which I have just spent 6 hours on without
success.
> > >
> > > I'm self taught and still learning so go easy on me here.
> > >
> > > Two databases, First One containing all the proper and correct info on
> > > everyone in the club.  About 1000 names addresses etc, plus a
membership
> > > number.
> > >
> > > Second one containing some 300 of the same names and membership
numbers
> > > but with different data.
> > >
> > > My problem is the membership nos have gone belly up in the second
> > > database and I tried to write a routine to compare db2 with db1, check
> > > the membership number from db2 with the original in db1, if they
didn't
> > > match update db2 with the proper membership number from db1.
> > >
> > > Used a WHILE loop to get info from each record in turn from db2 and
> > > nested a for next loop within the while loop which went through each
> > > record in turn of db1 to do a comparison. It only partly worked then
> > > crashed.
> > >
> > > Glad I don't do this for a living.  I'd be an extremely poor man
today.
> > > lol
> > >
> > > Needless to say I haven't succeeded and was wondering if anyone can
> > > help...please.....
> > >
> > >
> > > Jerry
> > >
> > >
> >
> >
> >
>
>
>
> Top O the Morning to ye one and all
>
>

==^================================================================
This email was sent to: [email protected]

EASY UNSUBSCRIBE click here: http://topica.com/u/?clvXPN.a5kvff.Z2NsZHQt
Or send an email to: [email protected]

TOPICA - Start your own email discussion group. FREE!
http://www.topica.com/partner/tag02/create/index2.html
==^================================================================
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.