AGB  ·  Datenschutz  ·  Impressum  







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

Fehler beim Speichern???

Ein Thema von ichnixwissen · begonnen am 13. Mär 2009 · letzter Beitrag vom 13. Mär 2009
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 13:46
Was gibt denn FileSize aus?
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
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#12

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 13:56
was is FileSize?
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.755 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 13:59
FileSize und F1 drücken dann kommt die Erklärung.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#14

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 14:02
Hallo,

wie sieht Deine Datei aus, häng' sie hier mal bitte dran. Enthält die Datei für jeden Eintrag eine Zeile? Dann muss Du beim Lesen den Zeilenvorschub berücksichtigen. Beim Lesen von Strings musst Du berücksichtigen, dass das 0. Byte die Längenangabe zum String enthält. Für string[20] müssen in der Datei daher 21 Byte zur Verfügung stehen bzw. für einen Eintrag 63 Byte.

Versuch es mal bitte mit 'ner geänderten Typedefinition für TEintrag:
Delphi-Quellcode:
type TEintrag = record
  zahl: array[1..20] of Char;
  zeit: array[1..20] of Char;
  datum: array[1..20] of Char;
end;
Wenn die Datei nun ein "einzeler" ist, wollte alle 60 Byte ein neuer Eintrag stehen und mit Deiner Routine zu lesen sein.

Filesize sagt Dir, wieviele Sätze Du in Deiner Datei hast. Mach mal bitte hinter das Reset(Datei) ein:ShowMessage(IntToStr(FileSize(datei))); und prüf', ob das Ergebnis mit der von Dir erwarteten Anzahl von Einträgen in der Datei übereinstimmt.
  Mit Zitat antworten Zitat
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#15

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 14:19
er gibt die message 10 ( wie die zeilen in dem stringgrid) aus... wie wandel ich dann string in char um?
Danke für die Hilfe
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#16

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 14:33
Hallo,

von String nach Array Of Char sollte so gehen:
Delphi-Quellcode:
  // von string nach array
copymemory(@Eintrag.zahl[low(Eintrag.zahl)],@s[1],sizeof(Eintrag.zahl));
s ist hier der von Dir zu verwendende String.
  Mit Zitat antworten Zitat
Benutzerbild von Reinhardtinho
Reinhardtinho

Registriert seit: 26. Feb 2007
411 Beiträge
 
Delphi 5 Enterprise
 
#17

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 14:41
Oder auch mit der Funktion StrPCopy.
Ich habe viel von meinem Geld für Alkohol, Weiber und schnelle Autos ausgegeben ... Den Rest habe ich einfach verpraßt.

George Best - 22.05.1946 - 25.11.2005 - nordirischer Fußballspieler
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#18

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 15:04
Zitat von Reinhardtinho:
Oder auch mit der Funktion StrPCopy.
Wie ist denn dann die korrekte Syntax?
Delphi-Quellcode:
type Teintrag = record
       zahl: array[1..20] of char;
       zeit: array[1..20] of char;
       datum: array[1..20] of char;
     end;
var
  s : String;
  Eintrag : TEintrag;
begin
  s := '1000,00';
  StrPCopy(Eintrag.Zahl,s);
end;
[Fehler] Unit1.pas(57): Inkompatible Typen: 'Array' und 'PAnsiChar'
StrPCopy funktioniert nur, wenn ein Array bei 0 beginnt.
Delphi-Quellcode:
type Teintrag = record
       zahl: array[0..19] of char;
       zeit: array[0..19] of char;
       datum: array[0..19] of char;
     end;
Okay, dass sollte in diesem Fall hier kein Problem sein.
  Mit Zitat antworten Zitat
ichnixwissen

Registriert seit: 11. Mär 2009
26 Beiträge
 
#19

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 15:19
wie is das dann auf mein problem bezogen? Ich versteh es nicht(bin kein Pro in Sachen Delphi)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#20

Re: Fehler beim Speichern???

  Alt 13. Mär 2009, 15:51
Hallo,
Zitat von ichnixwissen:
wie is das dann auf mein problem bezogen? Ich versteh es nicht(bin kein Pro in Sachen Delphi)
ach eigentlich nicht wirklich, ist eher akademisch.

Wenn in einem Array der Index bei 0 beginnt, kann man mit StrPCopy dem Array einen String zuweisen, andernfalls muss man es so machen:copymemory(@Eintrag.zahl[low(Eintrag.zahl)],@s[1],sizeof(Eintrag.zahl)); Da ich Deine ursprüngliche Definition von string[20] auf array[1..20] of char geändert hatte, funktioniert StrPCopy nicht. Wenn Du hergehst und aus array[1..20] of char überall array[0..19] of char machst, dann kannst Du StrPCopy benutzen, was den Quelltext sicherlich lesbarer macht. Falls Du inzwischen Dein Problem gelöst haben solltest, dann lass das Programm so wie es ist.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:33 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