| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Ingen On Exception Fra : Kurt Guldbæk | 
  Dato :  27-02-04 21:27 |  
  |  
 
            Hej NG!
 Så prøver jeg igen at få hjælp her.
 Jeg har lavet dette:
 Try
   CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True);
 Except
   On Exception do
   Begin
     MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
   End;
 End;
 Sådan som jeg har forstået CopyFile skal den give fejl, hvis "TilFilNavn"
 allerede eksisterer.
 Imidlertid sker der intet når CopyFile er sat med True tilsidst. Sættes der
 i stedet False bliver "TilFilNavn" som forventet overskrevet.
 Hvad har jeg glemt/gjort galt?
 --
 Med venlig hilsen
 Kurt Guldbæk
 www.guldbaek.net
            
             |   |   
            
        
 
            
         
           Tom-Vidar Nilsen (27-02-2004) 
         
	
            | Kommentar Fra : Tom-Vidar Nilsen | 
  Dato :  27-02-04 21:27 |  
  |   
            > Jeg har lavet dette:
 > Try
 >   CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True);
 > Except
 >   On Exception do
 >   Begin
 >     MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 >   End;
 > End;
 >
 > Sådan som jeg har forstået CopyFile skal den give fejl, hvis "TilFilNavn"
 > allerede eksisterer.
 >
 > Imidlertid sker der intet når CopyFile er sat med True tilsidst. Sættes
 der
 > i stedet False bliver "TilFilNavn" som forventet overskrevet.
 >
 > Hvad har jeg glemt/gjort galt?
 
 Det er ikke alt som gir exceptions (heldigvis).  Fra hjelpefila :
 
 Return Values
 
 If the function succeeds, the return value is nonzero.
 If the function fails, the return value is zero. To get extended error
 information, call GetLastError.
 
 Alltså :
 
 If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 
 
  
            
             |   |   
            
        
 
            
         
           Kurt Guldbæk (27-02-2004) 
         
	
            | Kommentar Fra : Kurt Guldbæk | 
  Dato :  27-02-04 21:50 |  
  |   
            Banal fejl (jeg er rød i hovedet)!
 Tak til Tom-Vidar.
 
 --
 Med venlig hilsen
 Kurt Guldbæk
 
 "Tom-Vidar Nilsen" <noone@kgb.ru> skrev i en meddelelse
 news:LQN%b.6916$rj4.95421@news2.e.nsc.no...
 > > Jeg har lavet dette:
 > > Try
 > >   CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True);
 > > Except
 > >   On Exception do
 > >   Begin
 > >     MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 > >   End;
 > > End;
 > >
 > > Sådan som jeg har forstået CopyFile skal den give fejl, hvis
 "TilFilNavn"
 > > allerede eksisterer.
 > >
 > > Imidlertid sker der intet når CopyFile er sat med True tilsidst. Sættes
 > der
 > > i stedet False bliver "TilFilNavn" som forventet overskrevet.
 > >
 > > Hvad har jeg glemt/gjort galt?
 >
 > Det er ikke alt som gir exceptions (heldigvis).  Fra hjelpefila :
 >
 > Return Values
 >
 > If the function succeeds, the return value is nonzero.
 > If the function fails, the return value is zero. To get extended error
 > information, call GetLastError.
 >
 > Alltså :
 >
 > If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
           Kurt Guldbæk (28-02-2004) 
         
	
            | Kommentar Fra : Kurt Guldbæk | 
  Dato :  28-02-04 11:06 |  
  |  
 
            "Tom-Vidar Nilsen" <noone@kgb.ru> skrev i en meddelelse
 news:LQN%b.6916$rj4.95421@news2.e.nsc.no...
 > > Jeg har lavet dette:
 > > Try
 > >   CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True);
 > > Except
 > >   On Exception do
 > >   Begin
 > >     MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 > >   End;
 > > End;
 > >
 > > Sådan som jeg har forstået CopyFile skal den give fejl, hvis
 "TilFilNavn"
 > > allerede eksisterer.
 > >
 > > Imidlertid sker der intet når CopyFile er sat med True tilsidst. Sættes
 > der
 > > i stedet False bliver "TilFilNavn" som forventet overskrevet.
 > >
 > > Hvad har jeg glemt/gjort galt?
 >
 > Det er ikke alt som gir exceptions (heldigvis).  Fra hjelpefila :
 >
 > Return Values
 >
 > If the function succeeds, the return value is nonzero.
 > If the function fails, the return value is zero. To get extended error
 > information, call GetLastError.
 >
 > Alltså :
 >
 > If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 >
 Jeg har nu lavet det som Tom-Vidar foreslog.
 Der kommer dog stadig ingen fejlmelding selv om filen findes i forvejen.
 --
 Med venlig hilsen
 Kurt Guldbæk
 www.guldbaek.net
            
             |   |   
            
        
 
            
         
            Tom-Vidar Nilsen (28-02-2004) 
         
	
            | Kommentar Fra : Tom-Vidar Nilsen | 
  Dato :  28-02-04 11:22 |  
  |   
            > > > Sådan som jeg har forstået CopyFile skal den give fejl, hvis
 > "TilFilNavn"
 > > > allerede eksisterer.
 > > >
 > > > Imidlertid sker der intet når CopyFile er sat med True tilsidst.
 Sættes
 > > der
 > > > i stedet False bliver "TilFilNavn" som forventet overskrevet.
 > > >
 > > > Hvad har jeg glemt/gjort galt?
 > >
 > > Det er ikke alt som gir exceptions (heldigvis).  Fra hjelpefila :
 > >
 > > Return Values
 > >
 > > If the function succeeds, the return value is nonzero.
 > > If the function fails, the return value is zero. To get extended error
 > > information, call GetLastError.
 > >
 > > Alltså :
 > >
 > > If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 > > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 > >
 >
 >
 > Jeg har nu lavet det som Tom-Vidar foreslog.
 > Der kommer dog stadig ingen fejlmelding selv om filen findes i forvejen.
 
 Den skal det.  Mener jeg har gjort det mange ganger på jobben.
 Du jo alltids sjekke med If FileExists(... men definisjonen på CopyFile er
 grei den :
 
 
   The CopyFile function copies an existing file to a new file.
 
 
  CopyFile(
   lpExistingFileName : PChar, // name of an existing file
   lpNewFileName : PChar,      // name of new file
   bFailIfExists : Boolean);   // operation if file exists
 
 bFailIfExists:
   Specifies how this operation is to proceed if a file of the same name as
   that specified by lpNewFileName already exists.
   If this parameter is TRUE and the new file already exists, the function
 fails.
   If this parameter is FALSE and the new file already exists,
   the function overwrites the existing file and succeeds.
 }
 
 var
   fileSource, fileDest: string;
 begin
   fileSource := 'C:\SourceFile.txt';
   fileDest := 'G:\DestFile.txt';
   CopyFile(PChar(fileSource), PChar(fileDest), False);
 end;
 
 
  
            
             |   |   
            
        
 
            
         
             Tom-Vidar Nilsen (28-02-2004) 
         
	
            | Kommentar Fra : Tom-Vidar Nilsen | 
  Dato :  28-02-04 12:17 |  
  |   
            > > > If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 > > > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 > > >
 > >
 > >
 > > Jeg har nu lavet det som Tom-Vidar foreslog.
 > > Der kommer dog stadig ingen fejlmelding selv om filen findes i forvejen.
 
 Jeg testet det ut her.
 
   MessageDlg('Result : ' +
 IntToStr(Integer(CopyFile('c:\Float.ico','c:\new.ico',True))),
 mtInformation, [mbOK], 0);
 
 Den returnerer 1 når filen ikke finnes og 0 når den finnes.
 
 Sjekk koden din, test med faste filnavn som i mitt eksempel.
 
 
  
            
             |   |   
            
        
 
            
         
              Kurt Guldbæk (28-02-2004) 
         
	
            | Kommentar Fra : Kurt Guldbæk | 
  Dato :  28-02-04 17:08 |  
  |   
            Hej Tom!
 Jeg har Prøvet at lave det som du viser.
 Når jeg kompilerer det komer der en fejlmelding efter
 "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then"
 hvor der står 'Incompatible types'.
 Det eneste kompileren vil akseptere er
 "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)= Null  Then"
 
 Når det køres kommer der stadig ingen melding om at filen findes i forvejen.
 
 --
 Med venlig hilsen
 Kurt Guldbæk
 
 "Tom-Vidar Nilsen" <noone@kgb.ru> skrev i en meddelelse
 news:yM_%b.7109$rj4.96496@news2.e.nsc.no...
 > > > > If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then
 > > > > MessageDlg('Filen eksisterede allerede',mtError, [mbOK],0);
 > > > >
 > > >
 > > >
 > > > Jeg har nu lavet det som Tom-Vidar foreslog.
 > > > Der kommer dog stadig ingen fejlmelding selv om filen findes i
 forvejen.
 >
 > Jeg testet det ut her.
 >
 >   MessageDlg('Result : ' +
 > IntToStr(Integer(CopyFile('c:\Float.ico','c:\new.ico',True))),
 > mtInformation, [mbOK], 0);
 >
 > Den returnerer 1 når filen ikke finnes og 0 når den finnes.
 >
 > Sjekk koden din, test med faste filnavn som i mitt eksempel.
 >
 >
 
 
  
            
             |   |   
            
        
 
            
         
               Tom-Vidar Nilsen (28-02-2004) 
         
	
            | Kommentar Fra : Tom-Vidar Nilsen | 
  Dato :  28-02-04 18:18 |  
  |   
            > Hej Tom!
 > Jeg har Prøvet at lave det som du viser.
 > Når jeg kompilerer det komer der en fejlmelding efter
 > "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then"
 > hvor der står 'Incompatible types'.
 > Det eneste kompileren vil akseptere er
 > "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)= Null  Then"
 >
 > Når det køres kommer der stadig ingen melding om at filen findes i
 forvejen.
 
 Min Feil, resultatet fra API kallet blir boolean og true om det gikk bra
 (filen finnes ikke fra før)
 Når det gjelder API så står det ofte at resultatet er 0 osv, selv om det
 ikke kommer som integer, da kan det være lett å gjøre feil.
 
 If  Not CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)  Then ..... meld
 feil...
 
 Blir da riktig.
 
 > Med venlig hilsen
 > Kurt Guldbæk
 >
 > > Jeg testet det ut her.
 > >
 > >   MessageDlg('Result : ' +
 > > IntToStr(Integer(CopyFile('c:\Float.ico','c:\new.ico',True))),
 > > mtInformation, [mbOK], 0);
 > >
 > > Den returnerer 1 når filen ikke finnes og 0 når den finnes.
 > >
 > > Sjekk koden din, test med faste filnavn som i mitt eksempel.
 
 Om du ikke får det til nå heller, så prøv linjen jeg krev over med ett
 filnavn du har i systemet.
 Lag det enkelt, bruk faste filnavn for testen , 0 som svar tilsvarer false.
 
 
  
            
             |   |   
            
        
 
            
         
                Kurt Guldbæk (29-02-2004) 
         
	
            | Kommentar Fra : Kurt Guldbæk | 
  Dato :  29-02-04 10:44 |  
  |  
 
            Ja, så virker det!
 Så mangler jeg kun, at jeg også kan bruge indholdet af de kopierede filer!
 --
 Med venlig hilsen
 Kurt Guldbæk
 www.guldbaek.net
"Tom-Vidar Nilsen" <noone@kgb.ru> skrev i en meddelelse
 news:Y340c.7177$_c4.91262@news4.e.nsc.no...
 > > Hej Tom!
 > > Jeg har Prøvet at lave det som du viser.
 > > Når jeg kompilerer det komer der en fejlmelding efter
 > > "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)=0  Then"
 > > hvor der står 'Incompatible types'.
 > > Det eneste kompileren vil akseptere er
 > > "If  CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)= Null  Then"
 > >
 > > Når det køres kommer der stadig ingen melding om at filen findes i
 > forvejen.
 >
 > Min Feil, resultatet fra API kallet blir boolean og true om det gikk bra
 > (filen finnes ikke fra før)
 > Når det gjelder API så står det ofte at resultatet er 0 osv, selv om det
 > ikke kommer som integer, da kan det være lett å gjøre feil.
 >
 > If  Not CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)  Then .....
 meld
 > feil...
 >
 > Blir da riktig.
 >
 > > Med venlig hilsen
 > > Kurt Guldbæk
 > >
 > > > Jeg testet det ut her.
 > > >
 > > >   MessageDlg('Result : ' +
 > > > IntToStr(Integer(CopyFile('c:\Float.ico','c:\new.ico',True))),
 > > > mtInformation, [mbOK], 0);
 > > >
 > > > Den returnerer 1 når filen ikke finnes og 0 når den finnes.
 > > >
 > > > Sjekk koden din, test med faste filnavn som i mitt eksempel.
 >
 > Om du ikke får det til nå heller, så prøv linjen jeg krev over med ett
 > filnavn du har i systemet.
 > Lag det enkelt, bruk faste filnavn for testen , 0 som svar tilsvarer
 false.
 >
 >
            
              |   |   
            
        
 
            
         
                 Tom-Vidar Nilsen (29-02-2004) 
         
	
            | Kommentar Fra : Tom-Vidar Nilsen | 
  Dato :  29-02-04 11:25 |  
  |   
            > > > "If Not CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)  Then"
 > Ja, så virker det!
 > Så mangler jeg kun, at jeg også kan bruge indholdet af de kopierede filer!
 
 Det skyldes ikke CopyFile.  Har du prøvd å manuelt kopiere filen.., har du
 databasen åpen når du gjør det?
 Virker databasen som den skal uten andre filer....
 
 Dette må andre svare på.  Databaser er ikke mitt felt.
 
 
  
            
             |   |   
            
        
 
            
         
                  Kurt Guldbæk (29-02-2004) 
         
	
            | Kommentar Fra : Kurt Guldbæk | 
  Dato :  29-02-04 21:23 |  
  |  
 
            Hej Tom!
 Jeg har valgt at fortsætte problemet med den tomme database i en anden tråd,
 Kopieret database er tom!
 Tak for din hjælp.
 --
 Med venlig hilsen
 Kurt Guldbæk
 www.guldbaek.net
"Tom-Vidar Nilsen" <noone@kgb.ru> skrev i en meddelelse
 news:a7j0c.7292$_c4.92076@news4.e.nsc.no...
 > > > > "If Not CopyFile(PChar(FraFilNavn),PChar(TilFilNavn),True)  Then"
 > > Ja, så virker det!
 > > Så mangler jeg kun, at jeg også kan bruge indholdet af de kopierede
 filer!
 >
 > Det skyldes ikke CopyFile.  Har du prøvd å manuelt kopiere filen.., har du
 > databasen åpen når du gjør det?
 > Virker databasen som den skal uten andre filer....
 >
 > Dette må andre svare på.  Databaser er ikke mitt felt.
 >
 >
            
              |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |