![]() |
Re: Lange Strings im Record
joar, Delphi achtet da zumindestens schön drauf ^^
aber das es sich um einen Record für eine Datei handelt, hättest du schon sagen müssen. solange du mit den "alten" Pascal-Functionen arbeitest, ist für die das Char-Array die einzige Möglichkeit. bei z.B. TSream-Nachkommen könnte man String/AnsiString verwende, müßte aber den Stringinhalt selbst speichern (z.B. als String mit abschließender #0, zur Begrenzung oder indem man die Stringlänge vorher mit speichert ... beispiele gibt's da genügend im Forum) |
Re: Lange Strings im Record
Hallo Leute,
das sind ja viele Antworten auf einmal. Erst einmal danke dafür. Erste Frage: Was sind Delphi Tags? Wenn ich das bisher richtig verstanden habe wird es nur wie im ersten Beitrag beschrieben mit: 'bemerkung:Array[1..1024] of AnsiChar;' gehen. Da ich mich damit überhaupt nicht auskenne wäre ich Euch für ein wenig Hilfestellung dankbar. Wie speichere ich ein solches Array in meiner typisierten Datei? Wie lesen ich das Array wieder aus der Datei aus und zeige es in einem Memo an? Ich wäre Euch für ein paar Beispiele, die auch ich verstehen kann, dankbar. Gruss Oldmann |
Re: Lange Strings im Record
Über dem Editor-Fenster hier im Forum gibt es den Button "Delphi-Code". Cursor vor den Code setzen "Klick" und dann Cursor ans Ende des Code "Klick". Du siehst dann wie die Tag's aussehen und kannst die später auch manuell setzen.
In deinem Record ersetzt Du einfach String[255] durch Array[1..1024] of AnsiChar. Der Rest bleibt so wie es war... Einfach mal ausprobieren, wenn Du eine Stelle hast, wo der Austausch Probleme macht, einfach nochmal gezielt nachfragen. |
Re: Lange Strings im Record
Zitat:
Ach ja ... nur zum Verständnis: (bis D2007) String = AnsiString String[x] = ShortString und ein ShortString kann nur 0 bis 255 Zeichen enthalten, da er für die Längenangabe ein Byte Verwendet. |
Re: Lange Strings im Record
Mach aus dem Record eine Klasse. In der Klasse kannst du dann eine Metohde implementieren zum Speichern der Felder. Das wäre dann auch eine saubere OOP Lösung. Als Datenformat würde ich dann, wenn es nicht viele Daten sind eine Ini-Datei nehmen oder, wenn es ein paar mehr Daten sind, eine XML-Datei.
|
Re: Lange Strings im Record
Ob das oldman's aktuelle Fähigkeiten nicht übersteigt? Er sollte es lernen (früher als z.B. ich), aber ein Erfolgserlebnis mit seinem aktuellen Code ist auch ganz schön.
|
Re: Lange Strings im Record
Ich weiß nicht, wie weit fortgeschritten oldman ist. Aber eventuell hilft es ja anderen die weiter fortgeschritten sind und vor dem gleichen Problem stehen.
Es heißt übrigens "oldmans". Im deutschen gibt es das besitzanzeigende Apostroph nicht. ;) |
Re: Lange Strings im Record
Ok, OK... sah für mich wohl bei dem englischen Wort einfach besser aus :stupid:
Ich hab' mir schon ein paar kleine Klassen gebastelt (seit der letzten Aufforderung hier im Forum). Klappt auch so langsam ganz gut. Den praktischen Nutzen bei bestimmten Aufgaben (besonders wenn Daten im Spiel sind) weis ich inzwischen auch zu schätzen. |
Re: Lange Strings im Record
Na ja, der Vorteil eine Klasse ist eben, dass man die Daten und die Methoden, die diese Daten manipulieren, zusammen hat.
|
Re: Lange Strings im Record
Hallo Leute,
das sind viele Antworten. Erst einmal danke dafür. Allerdings hatten die letzten 4 Antworten überhaupt nichts mehr mit dem Thema zu tun. Mein Problem ist bisher nicht gelöst. Also frage ich noch einmal. Bisher habe ich verstanden das ich die Variable 'bemerkung' im Record als 'Array[1..1024] of AnsiChar' benennen muss. Da ich mich damit überhaupt nicht auskenne wäre ich Euch für ein wenig Hilfestellung dankbar. Wie speichere ich ein solches Array in meiner typisierten Datei? Wie lesen ich das Array wieder aus der Datei aus und zeige es in einem Memo an? Es wird doch unter Euch sicher Experten geben die mir hier weiterhelfen können. Ich wäre Euch für ein paar Beispiele, die auch ich verstehen kann, dankbar. Gruss Oldmann |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:16 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