AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi StringList LoadFromFile -> Memo soll Inhalt anzeigen
Thema durchsuchen
Ansicht
Themen-Optionen

StringList LoadFromFile -> Memo soll Inhalt anzeigen

Ein Thema von Alex_ITA01 · begonnen am 28. Aug 2014 · letzter Beitrag vom 28. Aug 2014
Antwort Antwort
Seite 1 von 3  1 23      
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#1

StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:10
Hallo,
im Anhang ist eine Textdatei, die ich wie folgt lade:

Delphi-Quellcode:
MyStringList.LoadFromFile(Dateiname);
Memo1.Lines.Text := MyStringList.Text;
MyStringList ist vom Typ TStringList und ist auch initialisiert.
Diese Stringliste wird benötigt, da ich diese noch woanders verwende.

Der Inhalt der Datei soll in dem Memo angezeigt werden nur leider wird nach einer bestimmten Stelle in der Zeile 2 abgebrochen (nach der "...62"). Ich weiß allerdings nicht warum, habt ihr eine Idee?

Gruß


Edit:
nach der ...62 kommt Hex 00 01
Das habe ich grad im Hexeditor gesehen.
Das 01 steht für SOH.
ich möchte aber wie in der Datei wirklich vorhanden ist auch darstellen.
Angehängte Dateien
Dateityp: txt Test.txt (63 Bytes, 16x aufgerufen)
Let's fetz sprach der Frosch und sprang in den Mixer

Geändert von Alex_ITA01 (28. Aug 2014 um 13:15 Uhr) Grund: Überschrift erweitert
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#2

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:30
Anscheind kommt die StringList mit Steuerzeichen nicht klar.
Wie kann ich es irgendwie hinbekommen das die Steuerzeichen beim einlesen evtl. ignoriert werden oder ähnliches, da ich die StringList wirklich benötige (Funktionen wie Clear, Count usw. werden alle gebraucht).

Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:32
Das Null-Byte wird aber als Stringende interpretiert. Du solltest Die Datei über einen Stream einlesen und jedes Byte in einen Hexcode umwandeln. Das kannst Du dann in das Memo schreiben. Alternativ könntest Du auch nur die Zeichen mit einem Code < 32 in eine andere Notation wandeln (z.b. $00) und dann in den Text einmischen.

Eine Stringlist hat eben diese Einschränkungen, dass diese Seuerzeichen interpretiert werden. Wenn Du das nicht willst, musst Du Dir eine eigene Stringliste schreiben.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#4

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:33
Erstmal muß man beim Laden in die TStringList auf das PChar #0 achten, denn das wird eventuell als Endemarker interpreteirt.

Und dann nutzt seit 2009 die TStirngList ein Encoding, welches standardmäßig den Text von ANSI nach Unicode umwandelt.



Also,

Textdaten in TStringList oder TStringStream = OK (man sollte eventuell das Encoding beachten, wenn nicht ANSI und kein BOM vorhanden)
Binärdaten = böst, es geht nicht alles und wenn man es dennoch versucht, dann muß man halt Einiges beachten



PS: Selbst wenn die TStringList die #0 nicht beachtet ... das Memo hört da dennoch auf, da PChar-API.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (28. Aug 2014 um 13:38 Uhr)
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#5

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:48
Das ist ja echt blöd...

@Embacadero:
Hiermit beantrage ich mal eine Funktion, die das kann. Das wäre ja mal was, was auch jemand braucht/gebrauchen kann. Könnt ihr ja mal nachdenken in XE7 nachzurüsten. Ansonsten lohnen sich nämlich eure neuen Versionen für mich leider überhaupt nicht, da ich nur für Win32/64 programmiere.

Also, denkt mal über Änderungen an diesen Sachen nach und nicht immer den anderen Plattformen nachrennen...

Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  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
 
#6

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 13:59
Ja so eine DeveloperMind API. Eine Komponente draufklatschen und schon macht das Programm das, was sich der Entwickler gedacht hat. Das würde die Entwicklungszeiten erheblich verküzen.
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
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#7

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 14:02
ok, soweit muss es ja in XE7 noch nicht gehen.
Irgendwas soll ja in XE8 auch noch implementiert werden

Nein aber im Ernst, man könnte der Stringliste ja irgendwie eine Eigenschaft verpassen "UseControlChars"...

Viele Grüße
Let's fetz sprach der Frosch und sprang in den Mixer
  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
 
#8

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 14:07
Oder man berücksichtigt das, was dort in der Datei gespeichert ist und das ist eben nicht nur Text.

Spätestens jetzt sollte hier das angehen, dass man diese Datei eben nicht so behandeln kann, als wäre da nur Text drin.
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
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 14:09
Du kriegst das dann aber trotzdem nicht angezeigt, da der Text in das Memo per WM_SETTEXT übertragen wird. Und diese Nachricht übermittelt die Adresse eines PChar an das Betriebssystem.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.115 Beiträge
 
Delphi 12 Athens
 
#10

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 14:10
Verstanden habe ich es schon

Schön wäre es ja trotzdem wenn es geht

Egal jetzt. Thema ist durch
Let's fetz sprach der Frosch und sprang in den Mixer
  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 15:19 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