Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi [Delphi] Leerzeichen in StringList einfügen? (https://www.delphipraxis.net/66257-%5Bdelphi%5D-leerzeichen-stringlist-einfuegen.html)

Loki77 27. Mär 2006 14:03


[Delphi] Leerzeichen in StringList einfügen?
 
Hallo!
Mal kurze Frage zu StringList:
Wenn ich versuche ein Leerzeichen einzufügen (siehe ausgeklammerter Kommentar), bekomme ich eine leere StringList...

Delphi-Quellcode:
procedure TForm4.SpeedButton1Click(Sender: TObject);
var
  mailText : TStringList;
  i : integer;
begin
  mailText := TStringlist.Create();
  for i := 0 to memToDo.Lines.Count -1  do
  mailText.Add(memToDo.Lines.Strings[i] + {' '} + memStatus.Lines.Strings[i]);
end;
Erste Zeile der Memo-Komponenten (memToDo, memStatus) ist eine leere Zeile (''), hängt es vielleicht damit zusammen?
Auch (#9,TAB) oder (#32) funktionieren nicht....

Vielen Dank, Philipp.

faux 27. Mär 2006 14:09

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Hallo!

Also ich kann den Fehler nicht nachvollziehen. Bei mir funktioniert das so wie es soll.

Grüße
Faux

Loki77 27. Mär 2006 14:15

Re: [Delphi] Leerzeichen in StringList einfügen?
 
:!:
Oh, hatte noch vergessen zu sagen dass ich mailText.Text als PChar ausgebe....
Jetzt was Fehlerhaft?
:stupid:

mkinzler 27. Mär 2006 14:16

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Nur wenn irgendwo ein Zeichen mit ASCII-Wert 0(#0) steht.

3_of_8 27. Mär 2006 14:19

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Probier mal folgendes:

var s: String;
//...
s:=mailtext.text;

Dann kannst du dir einen PChar ausgeben mit @s[1]

Denn mailtext.text könnte eventuell ein 8Bit Zeiger sein, wenn ich mich nicht irre.

faux 27. Mär 2006 14:19

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Zitat:

Zitat von Loki77
:!:
Oh, hatte noch vergessen zu sagen dass ich mailText.Text als PChar ausgebe....
Jetzt was Fehlerhaft?
:stupid:

Nein. :lol:

Vielleicht habe ich dich missverstanden, aber ich habe das so probiert:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  mailText : TStringList;
  i : integer;
  a: PChar;
begin
  for i := 0 to Memo1.Lines.Count -1  do
    a := PChar(Memo1.Lines.Strings[i] + ' ' + Memo1.Lines.Strings[i]);
  Label1.Caption := string(a);
end;
Und im Label1 steht dann, wenn im Memo1 'Memo1' und im Memo2 'Memo2' steht, 'Memo1 Memo2'. Also mit Leerezciehn und allem drum und dran.

Grüße
Faux

Loki77 27. Mär 2006 15:04

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Sehr seltsam...bei mir klappt´s nicht.
Immer noch leer!
:gruebel:

jbg 27. Mär 2006 15:12

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Zitat:

Zitat von 3_of_8
Denn mailtext.text könnte eventuell ein 8Bit Zeiger sein, wenn ich mich nicht irre.

Was ist denn bitte schön ein 8-Bit Zeiger? Hast du etwa einen 8080/8088 Prozessor? (Darauf läuft doch gar kein Windows).

Übrigens @S[1] ist ungesunder als PChar(S). Zum einen ist @S[1] langsamer, weil intern UniqueString aufgerufen wird. Und zweitens bekommt man einen EAccessViolation wenn S leer ist. Bei PChar(S) wird hingegen bei einem Leerstring ein Zeiger auf einen "String" mit #0 geliefert.


@Loki77:
mailText gibst du aber schon wieder frei?

Vielleicht solltest du mal mit dem Debugger die Inhalte der einzelnen Zeilen-Strings überprüfen.

shmia 27. Mär 2006 15:22

Re: [Delphi] Leerzeichen in StringList einfügen?
 
Das ist alles ein bisschen Quark (oder auch Käse :zwinker:), denn es sind 3 TStrings-Objekte
beteiligt: mailText, memToDo.Lines und memStatus.Lines.
mailText ist das Ziel der Operation, das ist soweit klar.
Ist nun memToDo.Lines.Count = memStatus.Lines.Count oder unterscheiden sich diese Werte ?
Ist memToDo.WordWrap auf True eingestellt ? Falls ja, sind optisch evtl. mehr Zeilen sichtbar,
als Zeilenumbrüche vorhanden.
Schon mal versucht, "mailText" in einen Datei zu speichern ?
Delphi-Quellcode:
mailText.SaveToFile('C:\mailText.txt');
So lässt sich sicher feststellen, was drin steht.

Loki77 27. Mär 2006 15:22

Re: [Delphi] Leerzeichen in StringList einfügen?
 
@ 3_of_8
mailText.Free passiert,
spielt aber für mein problem keine Rolle....
Aber: was macht #$D#$A in meinen Strings??
--Ansonsten ist alles da und wo es sein soll :wink:


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:58 Uhr.
Seite 1 von 2  1 2      

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