AGB  ·  Datenschutz  ·  Impressum  







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

file of char delphi7 geht nicht

Ein Thema von lecomte · begonnen am 9. Nov 2011 · letzter Beitrag vom 11. Nov 2011
Antwort Antwort
Seite 1 von 2  1 2      
lecomte

Registriert seit: 9. Nov 2011
Ort: wien, österreich
8 Beiträge
 
Delphi 7 Personal
 
#1

file of char delphi7 geht nicht

  Alt 9. Nov 2011, 19:28
Delphi-Version: 5
Hallo -

ich versuche, eine eudora-mailbox ("inbox.toc") als file of char zu lesen.
die chars 18 bis 31 beinhalten das datum.
das funktioniert mit turbo pascal 7, ergibt aber in delphi nur laufzeitfehler.

gibt es da einen unterschied in der file of char behandlung zwischen turbo pascal 7 und delphi7SE?


der relevante programmteil sieht wie folgt aus:

---------------------------------------------------------

var st,mess:string;
toc:file of char;
ch:char;
fehler,tag,monat,jahr:integer;

...........
mess:='';
assignfile(toc,'inbox.toc');
reset(t);
for a:=1 to 218 do
begin
read(toc,ch);
mess:=mess+ch;
end;
st:=copy(mess,19,31);
st:=copy(st,1,pos(' ',st)-1);
val(copy(st,1,2),tag,fehler);
val(copy(st,4,2),monat,fehler);
val(copy(st,7,4),jahr,fehler);
..............


---------------------------------------------------------

Gibt's einen Tipp?
Danke!
Thomas Lecomte

Geändert von lecomte (10. Nov 2011 um 18:34 Uhr) Grund: reset(t) muss reset(toc) heißen.
  Mit Zitat antworten Zitat
jbg

Registriert seit: 12. Jun 2002
3.485 Beiträge
 
Delphi 10.1 Berlin Professional
 
#2

AW: file of char delphi7 geht nicht

  Alt 9. Nov 2011, 19:30
Zitat:
ergibt aber in delphi nur laufzeitfehler.
Der da wäre?
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.909 Beiträge
 
Delphi 12 Athens
 
#3

AW: file of char delphi7 geht nicht

  Alt 9. Nov 2011, 19:34
Nimm einfach einen TFileStream, das ist mit Delphi sinnvoller und einfacher.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
lecomte

Registriert seit: 9. Nov 2011
Ort: wien, österreich
8 Beiträge
 
Delphi 7 Personal
 
#4

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 18:38
Zitat:
ergibt aber in delphi nur laufzeitfehler.
Der da wäre?
Sorry - ich hab den Laufzeitfehler in allen Varianten ohnehin gegoogelt - ohne Ergebnis. Hier ist er :
Access violation ad address 0045393B in module 'eudorap.exe'. Write of address 00088A3C
Thomas Lecomte
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.656 Beiträge
 
Delphi 12 Athens
 
#5

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 18:44
Dann lass Dir doch zwischendurch mal Length(mess) und Length(st) ausgeben, ich möchte wetten, dass sie kürzer sind, als Du glaubst. Du versuchst somit hinter dem String zu operieren.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#6

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 18:56
Es gibt allerdings noch einen großen Unterschied zwischen Turbo Pascal und Delphi: Turbo Pascal verwendet sogenannte ShortStrings, denen man bei der Deklaration eine maximale Länge mitgibt, z.B. string[80] . Läßt man diese Längenangabe weg string , wird dort implizit 255 angenommen. Die Typangabe string in Delphi bedeutet aber einen null-terminierten String, dessen Länge durch den ersten #0 Char bestimmt wird. Damit entspricht das Ergebnis des ersten Copy-Befehls mit aller Wahrscheinlichkeit nicht den Erwartungen.

Sollte es tatsächlich daran liegen, wäre eine Änderung der Zeile
var st,mess:string;
in
var st,mess:string[255];
mal einen Versuch wert.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
lecomte

Registriert seit: 9. Nov 2011
Ort: wien, österreich
8 Beiträge
 
Delphi 7 Personal
 
#7

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 19:00
Zitat:
in
var st,mess:string[255];
mal einen Versuch wert.
Das mit der Länge (bis zu 2 GB bei Delphi) war mir ohnehin klar. Danke für den Hinweis.
Thomas Lecomte
  Mit Zitat antworten Zitat
lecomte

Registriert seit: 9. Nov 2011
Ort: wien, österreich
8 Beiträge
 
Delphi 7 Personal
 
#8

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 18:58
Danke für Deinen Kommentar.

nein, mess ist 218 lang, wie geplant, und st ist 31 lang, wie geplant.

ich habe inzwischen dein programm laufen lassen (mit dem filestream).
Ergebnis: eine Riesenmenge Leerzeichen. Showmessage ist - geschätzte, weil nicht sichtbar machbare - 40 bildschirmseiten groß .

Summa summarum: kann es an Windows XP liegen?
Sollte ich mir einen Apple kaufen?
Soll ich meine Unix-Kenntnisse auffrischen?
Kennt jemand außer mir VMS?
UCSD?
Android lernen?
Oder einfach resignieren und PacMan spielen?

Jedenfalls danke für die Hilfe....
Thomas Lecomte
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.629 Beiträge
 
Delphi 12 Athens
 
#9

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 19:12
Kennt jemand außer mir VMS?
UCSD?
Aber sicher!

Du könntest aber auch mal die Datei als ZIP hier hochladen, damit wir mit denselben Karten spielen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#10

AW: file of char delphi7 geht nicht

  Alt 10. Nov 2011, 20:50
Soll ich meine Unix-Kenntnisse auffrischen?
Kann nie schaden

Dann fällt die Nutzung von GNU, BSD und Solaris auch einfacher
  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 23:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz