AGB  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Datei mit FileStream auslesen

Ein Thema von delphinewbie · begonnen am 27. Aug 2010 · letzter Beitrag vom 10. Sep 2010
Antwort Antwort
Seite 2 von 4     12 34   
Benutzerbild von blackfin
blackfin

Registriert seit: 1. Apr 2007
Ort: Augsburg
938 Beiträge
 
Delphi 2009 Professional
 
#11

AW: Datei mit FileStream auslesen

  Alt 27. Aug 2010, 11:39
Auch wenn es mit dem Fehler nichts direkt zu tun hat:
Zusätzlich zu den genannten Dingen solltest du dir vielleicht überlegen, deinen Record-Typ nicht bytes zu nennen.

Ich weiss, standardmäßig ist bytes nicht definiert, aber der Name wäre mir zu generisch und würde mir Bauchschmerzen in Hinblick auf die Zukunft bereiten. Eventuell kommt es irgendwann deswegen zu sehr merkwürdigen Fehlern, die man nicht mehr wirklich versteht, ähnlich wie wenn man reserved words von SQL-Datenbanken als Feldnamen benutzt oder Vergleichbares.
Zudem kommt, dass der Name so wenig aussagekräftig ist, dass du vielleicht in einem halben Jahr nicht mehr weisst, warum das Ding "bytes" heisst, obwohl es ja die Struktur einer definierten Datei angibt und nicht nur "irgendwelche Bytes". Nenn das Ding lieber nach dem Typ der Datei, je nachdem was es ist. Also zum Beispiel: CustomerFileBytes TCustomerFileBytes oder was weiss ich sonst
Finn Shorel Aran
Delphi programming is like viral marketing

Geändert von blackfin (27. Aug 2010 um 12:18 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
22.950 Beiträge
 
Delphi XE2 Professional
 
#12

AW: Datei mit FileStream auslesen

  Alt 27. Aug 2010, 11:54
Ich weiss, standardmäßig ist bytes nicht definiert, aber der Name wäre mir zu generisch und würde mir Bauchschmerzen in Hinblick auf die Zukunft bereiten.
Da wir unsere Typen meißt mit einem T kennzeichnen ... TBytes gibt es schon.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2012
  Mit Zitat antworten Zitat
Benutzerbild von blackfin
blackfin

Registriert seit: 1. Apr 2007
Ort: Augsburg
938 Beiträge
 
Delphi 2009 Professional
 
#13

AW: Datei mit FileStream auslesen

  Alt 27. Aug 2010, 12:01
Rüschtüsch...also gleich mal den Vorschlag korrigieren
Finn Shorel Aran
Delphi programming is like viral marketing
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
21.057 Beiträge
 
Delphi XE Professional
 
#14

AW: Datei mit FileStream auslesen

  Alt 27. Aug 2010, 12:05
Delphi-Quellcode:
type
  TEinEindeutigerNameOhneVerwechslungsgefahr = record
Detlef
Wenn Dein Programm nicht macht, was es soll, nenn es einfach "Version 1.0"

Delphi programming is cool
  Mit Zitat antworten Zitat
delphinewbie

Registriert seit: 27. Aug 2010
46 Beiträge
 
#15

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:16
Hi,
danke für eure Tipps. Habe es umbenannt, nur ist das leider nicht mein Problem...
Ich möchte nochmal nachhaken : Ist TFilestream tatsächlich die einzige Variante, derartige Dateien auszulesen ?

tschüß
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
21.057 Beiträge
 
Delphi XE Professional
 
#16

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:19
Nö, TMemoryStream z.B. ginge auch. Was wohl nicht (so einfach) geht, ist das althergebrachte satzweise Lesen, da die Größe des Blocks ja variiert.
Detlef
Wenn Dein Programm nicht macht, was es soll, nenn es einfach "Version 1.0"

Delphi programming is cool
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
22.950 Beiträge
 
Delphi XE2 Professional
 
#17

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:31
Wie sieht denn dein Code nun aktuell aus?

PS:
Code:
Read(ds.Length_of_Reserve_string[i],sizeof(word));
Hier ließt man ein WORD, aber die Variable ist nur ein BYTE groß.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2012
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
21.057 Beiträge
 
Delphi XE Professional
 
#18

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:32
Code:
Read(ds.Length_of_Reserve_string[i],sizeof(word));
Hier ließt man ein WORD, aber die Variable ist nur ein BYTE groß.
*Seufz* das hatte ich in #6 bereits erwähnt
Detlef
Wenn Dein Programm nicht macht, was es soll, nenn es einfach "Version 1.0"

Delphi programming is cool
  Mit Zitat antworten Zitat
delphinewbie

Registriert seit: 27. Aug 2010
46 Beiträge
 
#19

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:37
@DeddyH,
ich denke, ich habe euren Rat befolgt. Jetzt sieht der code so aus :
.
.
.
Length_of_Reserve_string : array[1..32] of word;
.
.
.
Delphi-Quellcode:
for i:=1 to 32 do begin
  Read(ds.Length_of_Reserve_string[i],sizeof(word));
  SetLength(ds.Reserve_string[i], ds.Length_of_Reserve_string[i]);
  Read(ds.Reserve_string[i][1], ds.Length_of_Reserve_string[i]);
end;
Ist das so o.k. ? Könnte daraus ein Zugriff auf eine 'falsche'Speicheradresse erfolgen ?

tschüß

Geändert von delphinewbie (30. Aug 2010 um 08:50 Uhr) Grund: Delphi-Tag eingefügt
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
22.950 Beiträge
 
Delphi XE2 Professional
 
#20

AW: Datei mit FileStream auslesen

  Alt 30. Aug 2010, 08:59
@Deddy: Dich kann man aber auch leicht übersehn.
Oder gibt's hier doch eine verteckte und ausversehen aktivierte "Ignorierenfunktion"?

@delphinewbie:
Die Art der Änderung kommt auch mit auf die Datei an.
Wenn in der Datei nur 1 Byte drinsteht, dann hilft es nichts, wenn beim Auslesen nun alles einheitlich 2 Byte (Word) ist.

Ideal wäre es wirklich, wenn man nochmal alles komplett, inkl. einer Beispieldatei oder der Deklarantion der Speicherroutine sehn könnte.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2012
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:33 Uhr.
Powered by vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2012 by Daniel R. Wolf