![]() |
Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo Leute,
ich habe folgendes Problem: Der Export einer XLS-Tabelle nach CSV soll eingelesen werden. (Kein Problem) Da die Tabelle aber sehr viele Spalten hat, haben einzelne Zeilen in CSV mehr als 254 Zeichen. Damit fehlt im nachfolgenden Quelltext von diesen Zeilen immer ein Stück.
Code:
Hat jemand eine Lösung für mich?var txf : TextFile; begin .... AssignFile(txf, filename); Reset(txf); while not eof(txf) do begin readln(txf, s); // mache etwas sinnvolles mit den Daten i := length(s); if i > 254 then ShowMessage('Text größer als String'); <-- in diesem Fall gibt's Datenverlust end; CloseFile(txf); .... end; mfg eddy |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo.
Unter Delphi gibt es folgende Stringtypen: ShortString: bis 255 Byte (Abwärtskompatibilität) AnsiString: bis 2GB 8 Bit Zeichen WideString: bis 2GB Unicode Zeichen Bei {$H+} wird string als AnsiString genohmen, bei {$H-} als ShortString. Gruß Galex |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo Eddy,
Du kannst mal versuchen s als AnsiString zu deklarieren anstatt als string. Kann das aber momentan leider nicht testen, da ich mit D7 arbeite. Da gibt es diese 255 Zeichenbeschränkung bei Strings nicht mehr. Unter D5 hatte ich früher mal ein ähnliches Problem. Schöne Grüße Markus |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo mark250678 und galex,
hab's probiert und funktioniert. s statt String als AnsiString definiert und schon klappt's auch mit den langen Zeilen. WideString wurde mit folgender Beschwerde quitiert: Ungültiger Typ in Read/Readln Anweisung Vielen Dank, Problem gelöst! mfg eddy |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo Eddy!
Zitat:
Guck mal nach: Projekt - Optionen - Compiler: Ist bei Huge-Strings kein Haken? Alternativ gibt es noch den Compiler-Schalter $H. Den einzigen Sinn, den ShortStrings noch haben, ist die Verwendung in typisierten Dateien. Ansonsten verwende ich immer die normalen (Ansi)Strings. Gruß Dietmar Brüggendiek Edit: immer diese TappsFauler |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo,
eine kurze Bemerkung zu "normal": Unter Pascal ( in der ursprünglichen Definition ) sind String 255 Bytes lang. Alles Andere sind Sonderformate die Borland mit Delphi eingeführt hat. Bei D5 ist die "Normaleinstellung" nach der Installation die 255 Byte Variante. Rainer |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Zitat:
|
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
"Normal" bei Delphi ist (glaube ab Version 2) Ansistring und d.h. > 255.
Natürlich nicht, wenn ein Spielkind über die Einstellungen gegangen ist ;) |
Re: Zeichenkette aus CSV-Datei mit mehr als 254 Zeichen
Hallo Leute,
nach den vorangehenden Kommentaren noch folgende Ergänzungen: @Brüggendiek: Haken ist gesetzt (bei Huge) @alle: ich hab's noch mal mit string probiert und funktioniert auch, in überwachte Ausdrücke wird die Zeichenkette jetzt bis zum Ende angezeigt. Vermutlich hatte ich an einer anderen Stelle einen Fehler, den ich aber nicht mehr nachvollziehen kann. Vielen Dank für Eure Tipp's mfg eddy |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 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