AGB  ·  Datenschutz  ·  Impressum  







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

string mit mehr als 255 zeichen ?

Ein Thema von shareholder · begonnen am 9. Jan 2004 · letzter Beitrag vom 9. Jan 2004
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von shareholder
shareholder

Registriert seit: 1. Nov 2003
Ort: Denmark, Lolland, Marielyst
280 Beiträge
 
Delphi 7 Enterprise
 
#1

string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 19:45
hallo ich möchte in einem record informationen
aus einer richedit speichern, diese info soll ca. 2000 zeichen betragen

das shortstring dafür nicht in frage kommt, ist mir klar,
aber welches andere format sollte ich wählen ?

habe es mit WideString und AnsiString versucht,
jedoch meckert der compiler dann folgendes an:

Typ Record benötigt Finalisation - nicht im dateityp erlaubt
was mir die online-hilfe zur fehlermeldung sagt, versteht ich nicht !

Mastdarmpapillenentzündung ist cool
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#2

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 19:51
Wenns nicht anders geht kannst du ja versuchen den string aufzuplitten und in einem Array
Wuppdi: Array[1..10] of String[200]; zu speichern...
...aber das ist nicht so die feine englische art. musst du unbedingt in einem record speichern?

mfG
mirage228
David F.
  Mit Zitat antworten Zitat
Benutzerbild von shareholder
shareholder

Registriert seit: 1. Nov 2003
Ort: Denmark, Lolland, Marielyst
280 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 19:57
ich bin gerade dabei das tutorial
'typisierte dateien' von delphi-source.de auf mein programm anzuwenden.
dort wird's speichern/lesen/verwalten... von dateien mit hilfe des record erklärt.
möchte ungern versuchen, da ich mich noch sehr als anfänger fühle,
das ganze anderes zu realisieren.
bin froh, wenn das programm am ende noch läuft

das mit dem aufsplitten, habe ich schon gelesen.
eine andere möglichkeit besteht nicht ? schade
Mastdarmpapillenentzündung ist cool
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#4

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:00
Also wenn ich z.B. mit

Delphi-Quellcode:
var str : String;
    i : Integer;
begin
   For i := 0 to 2000 do
     str := str +'A';
   ShowMessage(str);
end;
einen 2000 Zeichen langen String erzeuge, meckert er eigentlich nicht.
  Mit Zitat antworten Zitat
tommie-lie
(Gast)

n/a Beiträge
 
#5

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:08
Zitat von Stanlay Hanks:
einen 2000 Zeichen langen String erzeuge, meckert er eigentlich nicht.
Vermutlich geht's um das Abspeichern des Strings. Man erinnert sich vage an seine dunkle Vergangenheit, in der man versucht hat, Pointer in einen Stream zu schreiben anstatt den String, auf den er zeigt...


Ach ja, zum Thema selber (werd' ich jetzt auf die alten Tage vergesslich?):
Probier's mal mit 'nem Characterarray:
Delphi-Quellcode:
var
  str: array[0..2000] of Char
begin
  str := 'Hello, world';
  ShowMessage(str);
end;
Funktioniert bei mir, demnach müsste auch das Text-Property vom Richedit zuweisungskompatibel zu so einem Array sein und das Schreiben sollte eigentlich auch funktionieren.


Edit2: Tags korrigiert, nicht nur vergesslich, sondern auch senil...
  Mit Zitat antworten Zitat
Benutzerbild von shareholder
shareholder

Registriert seit: 1. Nov 2003
Ort: Denmark, Lolland, Marielyst
280 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:26
danke tommie-lie, ich denke so werde ich es machen
... und kopf hoch

an Stanlay Hanks, ja, ich weis, das dein codebeispiel funktioniert
es stört den compiler nur die tatsache (mich stört eigentlich nicht ), das die 255-zeichengröße im string überstritten wurde... nunja 8)

eine lösung habe ich ja nun gefunden und ich danke euch allen!
Mastdarmpapillenentzündung ist cool
  Mit Zitat antworten Zitat
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#7

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:33
Sorry, wenn ich nochmal nachfrage, aber was stört deinen Compiler? Ich kapier das grade nicht Bei mir funzt das alles anstandslos.
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#8

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:36
Hallo,
ich verwende grundsätzlich keine Records. Es sei denn für API Funktionen.
Wenn ich es aber selber in der Hand habe - keine Records - Nur noch Objekte.
Das gilt insbesondere wenn ich schnell mal etwas speichern muss.
Im Anhang verwende ich anstatt eines Records einen Nachfahren von TComponent.
Die Eigenschaften, deren Inhalte man speichern möchte werden als published deklariert.
Mit TFileStream.WriteComponent und TFileStream.ReadComponent wird dann gespeichert und
geladen. Dadurch das TSaveObject ein Nachfahre von TComponent ist werden die published Eigenschaften
automatisch vom Delphi-Streaming-System erfasst und mit gespeichert. Das Delphi-Streaming-System ist auch dafür verantwortlich, das die Komponenten und deren Einstellungen im OI, die innerhalb der IDE auf das Formular gesetzt werden gespeichert werden.
Dieser Nachfahre von TComponent TSaveObject hat genau eine Eigenschaft. Die Eigenschaft Text kann jetzt soviele Zeichen enthalten wie man will (na ja fast auch ein AnsiString ist irgendwann mal voll).


Programm starten und auf Load klicken. Dann mal auf Prior und Next klicken.
Ich hoffe das kleine Beispiel erklärt sich von selbst.

Hinweis: Man kann auch ein Object als Eigenschaft deklarieren (solange es min. TPersistent abstammt). Dann werden auch die published Eigenschaften dieses Objectes automatisch gespeichert. D.h. mit dem bißchen Code kann schon recht komplexe Datenstrukturen speichern.
Angehängte Dateien
Dateityp: zip zip_443.zip (179,4 KB, 18x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von shareholder
shareholder

Registriert seit: 1. Nov 2003
Ort: Denmark, Lolland, Marielyst
280 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:52
ich danke dir jens schuhmann !
das klingt ja höchst interessant

werde mich mal in die thematik einarbeiten, weil ich
mich damit zuvor noch nie beschäftigt habe.

eine andere frage hätte ich aber noch:

Delphi-Quellcode:
type RecNewProduct = Record
     ProductName: String[255];
     Category: Integer;
     SerialNumber: String[255];
     ArticleDescription: Array [1..2000] Of Char;
     ImagePath: String[255];
     End;

// ... weiter unten ...
For i := 1 To 2000 Do
Buffer[p+1].ArticleDescription[i] := '';
der compiler meldet:

Code:
Inkompatible Typen: 'Char' und 'String'
Wie kann ich also einen Char den Wert 'leer' zuweisen ?
Mastdarmpapillenentzündung ist cool
  Mit Zitat antworten Zitat
Benutzerbild von Jens Schumann
Jens Schumann

Registriert seit: 27. Apr 2003
Ort: Bad Honnef
1.644 Beiträge
 
Delphi 2009 Professional
 
#10

Re: string mit mehr als 255 zeichen ?

  Alt 9. Jan 2004, 20:56
Zitat von shareholder:
Code:
Inkompatible Typen: 'Char' und 'String'
Wie kann ich also einen Char den Wert 'leer' zuweisen ?
Soweit ich weiss gar nicht. Du könntest es höchstens mit einem Leerzeichen versuchen.
  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:52 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