Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Assignfile: Anfänger versteht das Konzept nicht. (https://www.delphipraxis.net/6614-assignfile-anfaenger-versteht-das-konzept-nicht.html)

MrFish 16. Jul 2003 21:01


Assignfile: Anfänger versteht das Konzept nicht.
 
Hallo an alle

Ich bin Anfänger in Delphi, und brauche eure Hilfe. :?:
Ich verstehe das Konzept von Assignfile nicht.
Assignfile(f,Filename)
Filename = Dateiname incl. Pfad (a:\TestFile.txt) ist klar. :)
f = stellt die verbindung zwische der Datei(TestFile.txt)dar. :roll:
aber die Verbindung von f zu meinen Daten verstehe ich nicht. :cry:

Konkret will ich ein zweidinesionales Array (Array[1..200,1..3] of String) auf Platte bannen und wieder lesen.

Luckie 16. Jul 2003 21:06

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Kuck dir doch noch mal AssignFile an, konkret den zwieten Parameter.

MrFish 16. Jul 2003 21:11

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Das ging schnell!
leider versteh ich nicht was du meinst.
sorry

sakura 16. Jul 2003 21:14

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Zitat:

Zitat von Luckie
Kuck dir doch noch mal AssignFile an, konkret den zwieten Parameter.

Was hat das mit der Frage zum Speichern des Arrays zu tun :?: :roll:

...:cat:...

Luckie 16. Jul 2003 21:17

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Zitat:

Zitat von sakura
Was hat das mit der Frage zum Speichern des Arrays zu tun :?: :roll:

Gar nichts. Aber hier mit:
Zitat:

aber die Verbindung von f zu meinen Daten verstehe ich nicht.

sakura 16. Jul 2003 21:19

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Also, ich würde es mit einer StringListe lösen. Die Arbeit mit AssignFile gehört eínfach zur Vergangenheit und gilt als nicht mehr empfehlenswert, um es milde auszudrücken.
Delphi-Quellcode:
var
  DeinArray: Array[1..200,1..3] of String;
  I, J: Integer;
begin
  ...
  // speichern
  with TStringList.Create do
  try
    for I := Low(DeinArray) to High(DeinArray) do
      for J := Low(DeinArray[I]) to High(DeinArray[I]) do
        Add(DeinArray[I, J]);
    SaveToFile('a:\TestFile.txt');
  finally
    Free;
  end;
  ...
...:cat:...

MrFish 16. Jul 2003 21:40

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Ich glaube das habe ich verstanden.
anders als mit Assignfile speicher ich die gesamte Gatei und nicht nur Fragmente.
Ich frage mich aber warum meine Literatur nur auf assignfile aufbaut.
Ist immerhin auch alles für Delphi 3.


And by the way to lukie: Ich bin wahrscheinlich nur zu blöd aber ich habe dich immer noch nicht verstanden

Gruß
MrFish

sakura 16. Jul 2003 21:45

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Zu Zeiten von Delphi 3 gab es zwar auch schon die StringListen, aber damals war man noch "flexibler" :-D Im Ernst, in den letzten Jahren hat sich die Ansicht zum Dateihandling, vor allem durch das bessere Caching seit Windows 2000, geändert. Für die "Zeit von Delphi 3" ist die Lösung akzeptabel, aber man sollte versuchen davon wegzukommen, auch mit Delphi 3.

Eine Ausnahme ist vielleicht, wenn man die Datei nur öffnet, einen Datensatz ranhängt und wieder schließt, dann wäre eine StringListe ein wirklicher Performance-Verlust.

...:cat:...

MrFish 16. Jul 2003 21:55

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Danke
du hast mir sehr weitergeholfen.

Du sagst das Assignfile immer noch sinnvoll sein kann.
Hast du vielleicht noch einen Tip wie ich das Konzept verstehen kann?

Chewie 16. Jul 2003 22:01

Re: Assignfile: Anfänger versteht das Konzept nicht.
 
Das Konzept ist eigentlich ganz simpel.

Mit AssignFile wird einer Dateivariablen der Pfad einer Datei zugewiesen. Nicht mehr, nicht weniger.

Erst bei einem Aufruf von Reset, Rewrite oder Append wird die Datei wirklich geöffnet. Es kann also erst hier auch ein Fehler auftreten, wenn die Datei beispielsweise bereits geöffnet oder gar nicht vorhanden ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 Uhr.
Seite 1 von 2  1 2      

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