AGB  ·  Datenschutz  ·  Impressum  







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

TStrings maximale Länge

Ein Thema von Tommy99 · begonnen am 17. Nov 2012 · letzter Beitrag vom 17. Nov 2012
Antwort Antwort
Seite 1 von 3  1 23      
Tommy99

Registriert seit: 13. Feb 2007
Ort: Laupheim
24 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

TStrings maximale Länge

  Alt 17. Nov 2012, 11:49
Delphi-Version: 2010
Hallo,

versuche einen Dateiinhalt in einen TStrings zu laden (TStringTest.Add(Dateiinhalt))

Die entsprechende Zeilenlänge ist auf 35 Zeichen begrenzt.

Die Zeilen aus der Datei werden nur bis maximal 153 Zeilen an den TStrings angefügt.

Die restlichen Zeilen werden ignoriert. Kann mir jemand weiterhelfen, woher dieses Problem kommt, bzw., ob ich es umgehen kann.

Danke und Grüße
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#2

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 11:50
Ist evtl. ein #0 in der Datei enthalten?
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
Tommy99

Registriert seit: 13. Feb 2007
Ort: Laupheim
24 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 11:51
Nein, es handelt sich um einen reinen Textfile (Namen von Banken in Deutschland)
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 12:10
Nein, es handelt sich um einen reinen Textfile (Namen von Banken in Deutschland)
Das sagt nichts darüber aus, ob du dich davon überzeugt hast, dass kein #0 in der Datei vorkommt.
Oder ist das bei der Erstellung von einer Banknamen Datei per se ausgeschlossen?
Ich denke das BS/OS kann das nicht erkennen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 12:21
Auch bei #D und #A kann es Probleme geben
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#6

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 12:28
Auch bei #D und #A kann es Probleme geben
Wird dann nicht nur ein unerwünschter Zeilenumbruch eingefügt? Es fällt mir ein wenig schwer zu glauben, dass das mit einem Stringende verwechselt werden könnte, habe es aber zugegebenermaßen nicht ausprobiert.
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
Popov
(Gast)

n/a Beiträge
 
#7

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 12:41
@Tommy99

Test das mal:

Delphi-Quellcode:
var
  s: String;
begin
  s := 'Hallo Welt';
  s[6] := #0;

  ShowMessage('Text von s: "' + s + '"'); //hier wird sogar das zweite Anführungszeichen geschluckt
  ShowMessage('Länge s: ' + IntToStr(Length(s))); //die Länge ist aber korrekt (10)

  Caption := s; //mal an die Titelleiste übergeben
  ShowMessage('Länge Caption: ' + IntToStr(Length(Caption))); //die Länge ist kürzer (5)
end;
Einige Programme haben damit kein Problem, da sie die Nullen im Text ignorieren. Andere dagegen schlucken alles dahinter.
  Mit Zitat antworten Zitat
Tommy99

Registriert seit: 13. Feb 2007
Ort: Laupheim
24 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#8

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 14:56
ich glaube nicht, dass es mit dem #0 zusammenhängt.

Es handelt sich hierbei um eine TXT Datei und über suchen kann ich keinen #0 Eintrag finden.

Zum Testen habe ich den Inhalt je Zeile verkürzt:

TStringTest.Add(Copy(Dateiinhalt,1,10))

Dann schafft er ein paar Zeilen mehr in die Variable aufzunehmen, bricht dann aber auch ab.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 14:59
Wenn die Datei nicht zu geheim ist, dann packe die in ein Zip-File und häng die hier mal dran.
(evtl. ist es auch ein Codepage/Encoding Problem)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#10

AW: TStrings maximale Länge

  Alt 17. Nov 2012, 15:03
kennst du das Programm TextPad? Gibt es auch als Shareware. Ansonsten tut auch jeder Hexeditor. Zumindest kann man mit TextPad auch binär laden und da genau prüfen ob eine Null da ist. Ich glaube nicht, dass ein normaler Editor eine Null findet. Dann weißt due es genau.

Übrigens, was passiert wenn du es in ein Memo lädst? Mach aber vorher WordWrap auf False.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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