AGB  ·  Datenschutz  ·  Impressum  







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

Offene Datei lesen?

Ein Thema von Rastaman · begonnen am 17. Sep 2005 · letzter Beitrag vom 19. Sep 2005
Antwort Antwort
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#1

Offene Datei lesen?

  Alt 17. Sep 2005, 13:06
Moin. Ich wollte aus meinem Prog mit BlockRead aus einer Datei lesen und hab se dazu mit AssignFile und Reset geöffnet.
Allerdings kommt immer der E/A 32 Fehler, wenn die Datei schon offen ist.
Kann man das umgehn?
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 13:08
es kommt darauf an wie die Datei geöffnet ist (ob exclusiv oder nicht). Bei TFileStream kannst du angeben mit welchen Zugriff du die Datei öffnen willst. Wenn du die Rechte dabei nur auf Lesen setzt könntest du glück haben das du dann doch auf die Datei zugreifen kannst.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#3

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 13:12
Mir gefällt die alte Pascal Methode BlockRead/Write aber eigentlich besser und damit komm ich auch besser klar
als mit diesem neumodischem Krimskrams
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 13:13
dann wirst du wohl mal die Hilfe zu den anderen nutzen müssen und schauen ob man da auch die Rechte ändern kann.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#5

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 14:09
Also ich hab mal das Prog angehängt.
Habs schon mit fmOpenRead und so versucht aber dann kam Division durch null und verschiedene EA Errors.
Vllt kanns ja mal einer überprüfen und mir die Fehler zeigen.
Ausserdem funktioniert die % Anzeige bei größeren dateien nicht.
Dann kommt zwischendurch mal -30 und so.

Thx!

Edit: Das Ganze stürzt einfach mal so ab und zu mit ner fetten Exception ab obwohl gar kein pack/entpack prozess im gange ist, und ich hab kp warum
Angehängte Dateien
Dateityp: rar archive_428.rar (4,1 KB, 7x aufgerufen)
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 16:36
Zitat von Gerrit89:
...Habs schon mit fmOpenRead und so versucht aber dann kam Division durch null und verschiedene EA...
Also in dem angehängten kommt nirgends "fmOpenRead" vor!

Anhand deines Quelltextes sieht es so aus als ob du einfach mehrere Dateien in eine schreiben willst. Ist das richtig so? Wenn ja denk ich kann man das auch bedeutend einfacher machen.

Das bei großen Dateien die anzeige nicht stimmt könnte an einem überlauf liegen. Anstelle von
SizeDone * 100 div SizeFile
kann man auch
100 div SizeFile * SizeDone
schreiben.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Offene Datei lesen?

  Alt 17. Sep 2005, 20:43
[quote="SirThornberry"]
Zitat von Gerrit89:
Das bei großen Dateien die anzeige nicht stimmt könnte an einem überlauf liegen. Anstelle von
SizeDone * 100 div SizeFile
kann man auch
100 div SizeFile * SizeDone
schreiben.
Das bezweifle ich: Sei SizeFile = 101, dann ist(100 div 101)*SizeDone = 0 (wg. 100 div 101 = 0).
Solche Rechnungen macht man mit MulDiv, also MulDiv (100,SizeDone, SizeFile).

Ich meine, ich kann eine Datei, die von einer anderen Anwendung exlusiv zum lesen geöffnet wurde, nur per Copy anfassen. Aber so gehts: Wenn Die Datei gesperrt ist, dann kopiere sie und archiviere die Kopie
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Offene Datei lesen?

  Alt 18. Sep 2005, 15:27
@alzaimar: Wenn eine Datei exclusiv geöffnet ist so geht selbst das kopieren nicht mehr (selbst übern Arbeitsplatz geht das dann nicht mehr)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#9

Re: Offene Datei lesen?

  Alt 19. Sep 2005, 08:25
Echt? Ich hatte den Eindruck, es geht mit COPY.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#10

Re: Offene Datei lesen?

  Alt 19. Sep 2005, 20:24
öh das geht eigentlich auch.
Ich glaube du verwechselst das mit ausschneiden...
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:00 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