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
Benutzerbild von himitsu
himitsu

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

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.
Ein Therapeut entspricht 1024 Gigapeut.

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

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

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
 
#3

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.134 Beiträge
 
Delphi 12 Athens
 
#4

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
 
#5

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
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#6

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
Benutzerbild von himitsu
himitsu

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

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 14:17
Delphi-Quellcode:
MyStringList.LoadFromFile(Dateiname);
Memo1.Lines.Text := MyStringList.Text;

// oder

MyStringList.LoadFromFile(Dateiname);
Memo1.Lines.Assign(MyStringList);

// oder

MyStringList.LoadFromFile(Dateiname);
Memo1.Lines.Clear;
Memo1.Lines.AddStrings(MyStringList);

// oder einfach nur

Memo1.Lines.LoadFromFile(Dateiname);
Beim LoadFromFile siehe Encoding-Parameter.


Und daß das Memo bei #0 aufhört, ist völlig normal ... es ist eine Sache der WinAPI und da kann Emba auch rein garnichts machen.
Es währe grob fahrlässig, wenn Emba hier einfach eine Zeichenkonvertierung in die TStringList einbaut, nur weil du keine Lust hast die Daten richtig zu laden und notfalls "ungültige" Zeichen zu ersetzen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

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
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#9

AW: StringList LoadFromFile -> Memo soll Inhalt anzeigen

  Alt 28. Aug 2014, 17:34

@Embacadero:
Hiermit beantrage ich mal eine Funktion, die das kann. Das wäre ja mal was, was auch jemand braucht/gebrauchen kann.
Das gibt es schon längst, nennt sich Stream. Und auf diesen Stream wird dann ein entsprechender Interpreter losgelassen.
Was Du willst, sind die Funktionalitäten eines Hex-Editors gleich in Notepad eingebaut.

Vielleicht wäre es sinnvoll mal zu beschreiben was Du eigentlich vorhast.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:21 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