AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FileSize arbeitet ungenau oder ?

Ein Thema von Rapthor · begonnen am 15. Sep 2003 · letzter Beitrag vom 15. Sep 2003
Antwort Antwort
Seite 1 von 2  1 2      
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#1

FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:08
Hallo,
hab ne IF Anweisung, die eine bestimmte Datei löschen soll, wenn sie leer ist (also 0 Bytes). Wenn ich allerdings folgendes aufrufe, löscht er mir in jedem Falle die Datei, egal ob da ein paar Zeichen drin stehen oder nicht:

Delphi-Quellcode:
   Assign(aktuellS, 'Aktuell.ini');
   Reset(aktuellS);
   if FileSize(aktuellS) = 0 then
      begin
        CloseFile(aktuellS);
        DeleteFile('Aktuell.ini');
      end
      else CloseFile(aktuellS);
Ist die Anweisung nur KB - genau ?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:11
Von was für einem Typ ist aktuellS?

Ansonsten probier es mal mit FindFirst und der TWIN32_FIND_DATA Struktur. Würde ich sowieso vorziehen.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#3

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:15
aktuellS ist vom Typ TextFile und ist unter var deklariert !
Im Prinzip will ich einfach nur prüfen, ob in der Datei irgendetwas drin steht. Und wenn nicht, dann soll sie gelöscht werden.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:18
Moin Rapthor,

Zitat von Delphi Hilfe zu FileSize:
FileSize kann nicht für Textdateien verwendet werden.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#5

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:21
Oh, das klingt nicht gut!
Außer dem TWIN32_FIND_DATA geht nichts ran an dieses Problem ?
  Mit Zitat antworten Zitat
roderich
(Gast)

n/a Beiträge
 
#6

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:26
doch. deklarier doch Deine Datei als file of byte, dann geht FileSize.

Roderich
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:26
Moin Rapthor,

doch.
Öffne die Datei mit Hilfe von TFileStream, und prüfe dann die Eigenschaft Size.

Oder Du holst Dir mit CreateFile ein Handle auf die Datei und holst Dir die Grösse mit GetFileSize.

Wenn die Dateien grösser 2GB sein können, wäre der zweite Weg, oder der über FindFirst... sinnvoller, da TFileStream.Size nur vom Typ LongInt ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#8

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:30
Zitat:
Öffne die Datei mit Hilfe von TFileStream, und prüfe dann die Eigenschaft Size.
Und wie sieht das jetzt konkret im Quelltext aus?
TFileStream('Aktuell.ini'); ??

Oder wie?
  Mit Zitat antworten Zitat
LoL
(Gast)

n/a Beiträge
 
#9

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:34
hi

etwa so:
Delphi-Quellcode:
var fs : TFileStream;
begin
  fs := TFileStream.Create('Dateiname',parameter);
end;
Parameter:
fmCreate Es wird eine Datei mit dem angegebenen Namen angelegt. Ist eine Datei mit diesem Namen bereits vorhanden, wird die Datei zum Schreiben geöffnet.
fmOpenRead Die Datei wird ausschließlich zum Lesen geöffnet.
fmOpenWrite Die Datei wird ausschließlich zum Schreiben geöffnet. Beim Schreiben in die Datei wird der aktuelle Inhalt vollständig ersetzt.
fmOpenReadWrite Die Datei wird so geöffnet, daß der aktuelle Inhalt geändert werden kann, ohne daß er ersetzt wird.

natürlich musst du die unit dazu noch einbinden
gruß christoph
  Mit Zitat antworten Zitat
Rapthor

Registriert seit: 30. Nov 2002
139 Beiträge
 
#10

Re: FileSize arbeitet ungenau oder ?

  Alt 15. Sep 2003, 15:55
Und wie kann ich die Property SIZE aufrufen und den Wert in eine Variable speichern ?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz