AGB  ·  Datenschutz  ·  Impressum  







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

Memo und typisierte Dateien

Ein Thema von Mysterio08 · begonnen am 27. Nov 2009 · letzter Beitrag vom 3. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#1

Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:38
Guten Tag Programmierer!

Ich habe folgendes vor: Ich habe ein Formular entworfen, mit dem ein Benutzer Daten zu Notizen eingeben kann, z.B. Datum und Betreff. Natürlich auch die Notiz(en) selber, diese sollen in ein Memo eingegeben werden können. Nun sind all diese Daten Bestandteil eines Records, welches dann in einer typisierten Datei gespeichert werden kann. Jetzt gibt es aber Probleme mit den Notizen/Memo. Deklariere ich sie nur als String, also so
Text: String; wird mir eine Fehlermeldung angezeigt, nämlich dass String-Literale nicht mehr als 255 Zeichen aufnehmen können. Es kann aber sehr gut sein, dass die Notiz mehr als 255 Zeichen beinhaltet.

Ich weiß gerade nicht so recht, wie ich damit umgehen soll, ihr seid doch bestimmt auch schonmal auf solch ein Problem gestoßen, oder?

mfg.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#2

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:43
Hallo Mysterio08,

das von Dir beschriebene Verhalten kenn ich nur bei Constanten-Deklarationen.
Wenn Du etwas mehr Sourcecode zeigst wird der Fehler vielleicht offensichtlicher.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:44
Strings in Records sind immer so eine Sache. Die einfachste Möglichkeit wäre ShortString, aber der nützt Dir hier nichts (max. 255 Zeichen). Wenn Du String nimmst, speicherst Du nur den Zeiger, kommt also auch nicht in Frage. Bliebe noch die Möglichkeit, das Memo in eine separate Datei zu speichern und den Pfad dorthin im Record. Was auch noch klappen könnte, wäre ein Array[0..X] of Char, aber damit legst Du Dich wieder auf eine maximale Größe fest, außerdem wird u.U. der Record natürlich sehr groß. Das Geschmeidigste wäre daher IMO der Einsatz einer Datenbank, ist das eine Option?
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 Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.170 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:47
Wieso nimmst du nicht XML als speicherformat. Damit hast du dann keine Probleme falls weitere Elemente gespeichert werdne sollen oder du mal Unicode mit D2009 oder neuer willst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:52
String ist nur ein Zeiger auf einen Speicherbereich, wo die Zeichenkette steht. Wird der Datentyp in einem Record verwendet, macht Delphi anscheinend automatisch einen Shortstring daraus, da es keinen Sinn macht den Zeiger zu speichern. Ein Shortstring hat eine feste Größe von 255 Zeichen.

Du könntest alles nach einander in einem Stream speichern. dabei musst du aber die Größe der Felder und die Größe des Datensatzes mit abspeichern, damit du die Daten wieder trennen kannst.

Allerdings würde ich mir überlegen, ob man nicht besser XML-Dateien oder gar eine kleine Datenbank nutzt.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#6

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:52
Danke schonmal für die Antworten.
Nein, eine Datenbank ist keine Lösung, aus schulischen Gründen bin ich "gezwungen", eine typisierte Datei zu erstellen.
Habe ich das denn richtig verstanden, es ist möglich 2 von diesen Dateien zu erstellen, eine für das Memo und eine für den Rest der Daten?
Eine Textdatei möchte ich nicht verwenden, denn es soll nur möglich sein, im Programm selbst Änderungen vorzunehmen.
Aber das mit dem
Text: Array[1..x] of Char wäre noch eine Lösung. Kann das Array mehr als 255 Zeichen aufnehmen? Wenn ja, wäre dies eine in Frage kommende Option, denn ich kann Text als dynamisches Array deklarieren und später die Zeichenanzahl des Memos feststellen und das Array dimensionieren?
Und noch etwas ist mir in den Sinn gekommen: die TSTringList, was ist damit?

Edit/
Mit XML habe ich noch nicht gearbeitet, ich würde, wie gesagt, schon gerne erstmal mit der typisierten Datei arbeiten
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#7

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:54
Zitat von Luckie:
Allerdings würde ich mir überlegen, ob man nicht besser XML-Dateien oder gar eine kleine Datenbank nutzt.
Man muss es im Prinzip für sich selbst entscheiden, ob nun XML oder ne "richtige" DB. Aber bei so einem Notizzettel würde ich schon n DBMS einsetzen, allerdings ein kleines, wie SQLite. Dazu gibts hier auch die passende Library.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 15:57
aber anscheined handelt es sich um eine Schulaufgabe und es sollen typisierte Dateien verwendet werden.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

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

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 16:05
Dann wäre wie gesagt ein array of char eine Möglichkeit.
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 Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#10

Re: Memo und typisierte Dateien

  Alt 27. Nov 2009, 16:06
Zitat von Luckie:
aber anscheined handelt es sich um eine Schulaufgabe und es sollen typisierte Dateien verwendet werden.
Der TE zeigt sich XML aber auch nicht abgeneigt.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  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 00:57 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