AGB  ·  Datenschutz  ·  Impressum  







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

Typorisierte Datei wird nicht gelesen

Ein Thema von arbu man · begonnen am 7. Jul 2006 · letzter Beitrag vom 8. Jul 2006
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#1

Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 17:22
Hi,

Ich lese mit folgenden code eine typorisierte Datei aus:
Delphi-Quellcode:
// TFunktionenArray: array of TFunktion
// TFunktion: record
// TFunktionenDatei = File of TFunktion;
function FunktionenLesen(FileName: String): TFunktionenArray;
var
  Datei: TFunktionenDatei;
  i, count: integer;
begin
  AssignFile(Datei, FileName); // Datei zuweisen
  Reset(Datei); // Datei öffnen
  count:= FileSize(Datei) div sizeof(TFunktion);
  setlength(result, count);
  for i:=0 to count -1 do begin
    Seek(Datei, i); // Datensatzzeiger an gewünschte Position
                                  // bewegen
    Read(Datei, result[i]); // die aktuellen Werte lesen
  end;
  CloseFile(Datei); // Datei schließen
end;
Leider bleibt der array leer aber in der datei stehen daten, es kommt aber kein fehler was läuft da falsch ?

mfg, Björn
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 17:32
lass mal die Deklarationen von
Delphi-Quellcode:
// TFunktionenArray: array of TFunktion
// TFunktion: record
// TFunktionenDatei = File of TFunktion;
sehen.
Du musst schon ein Bisschen mehr Code rausrücken, damit man Dir helfen kann...
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#3

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 17:34
Okay also hier sind sie:
Delphi-Quellcode:
type
  TFunktion = packed record
    Name: String[255];
    _Unit: String[255];
    Deklaration: String[255];
    Params: array[1..32] of TParameter;
    Beschreibung: LongString;
    Beispiel: LongString;
  end;

type
  TFunktionenArray = array of TFunktion;
  TFunktionenDatei = File of TFunktion;
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Michael Habbe
Michael Habbe

Registriert seit: 10. Aug 2005
264 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 17:52
Müsste das nicht File of TFunktionenDatei heissen?

Zitat von arbu man:
Delphi-Quellcode:
function FunktionenLesen(FileName: String): TFunktionenArray;
var
  Datei: TFunktionenDatei;
         ^^^^^
  i, count: integer;
begin
...
end;

Was ist das für ein Typ?

Zitat von arbu man:
    Params: array[1..32] of TParameter;
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:28
Hallo arbuman,

wie rufst du diese Funktion denn auf?
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#6

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:30
[etwas Off-Topic]
Heißt das nicht typisierte Datei anstelle von typorisierte Datei
[/etwas Off-Topic]
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:33
Müsste es nicht vilmehr so heißen:
Seek(Datei, i*Sizeof(TFunktion));
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:40
Hallo,

nein, seek(Datei, i) ist korrekt. Eine typisierte Datei kennt die Länge der Datensätze.

Aber die Rückgabe eines Arrays, dessen Länge erst in der Procedur ermittelt wird ist schwierig. Arbeite lieber mit einem VAR Parameter für die Rückgabe, dann wir die Längenanpassung auf das übergebenen Array angewendet.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#9

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 18:55
Also alle weiteren typen im record sind:
Delphi-Quellcode:
type
  LongString = record
    Len: integer;
    Content: array[1..1024] of char; // 1 KB
  end;

type
  TParameter = packed record
    Pas: String[255];
    Doku: String[255];
  end;
Aufrufen tue ich das ganze mit:
Delphi-Quellcode:
begin
  if opendialog.Execute then begin
    FunktionenLesen(opendialog.filename, fa);
    _update; // array einlesen
  end;
end;
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Benutzerbild von Khabarakh
Khabarakh

Registriert seit: 18. Aug 2004
Ort: Brackenheim VS08 Pro
2.876 Beiträge
 
#10

Re: Typorisierte Datei wird nicht gelesen

  Alt 7. Jul 2006, 19:19
Ist ja nett, wenn du in der Zwischenzeit deine Funktionen abänderst, aber vielleicht solltest du dann auch den neuen Quellcode zeigen.
(Die Signatur von "FunktionenLesen" ist im ersten Beitrag anders als im letzten und um genau diese ging es Mr. Spock)

[OT]
@Florian: Wahrscheinlich meint er vaporisierte Dateien, mit denen hab ich auch schon leidliche Erfahrungen .
[/OT]
Sebastian
Moderator in der EE
  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 05:55 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