Autor Beitrag
rolandt4088
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 122

WINDOWS XP
Delphi 7, CodeGear RAD Studio
BeitragVerfasst: So 26.08.07 22:33 
Hallo,

die Sonderzeichen für den Zeilenumbruch bekomme ich einfach nicht weg.

Sachlage:

Ich arbeite mit MYSQL auf einem Server. Über ZConnect stelle ich die Verbindung zu meiner Anwendung her.
Das speichern, selectieren usw. funktioniert problemlos.

Wenn ich aber aus einem Stringgrid oder einer Listbox einen Wert an ein Editfeld übergeben möchte, habe ich die Sonderzeichen für einen Zeilenumbruch mit dabei.

Folgendes habe ich bereits probiert.
Ich habe mit Stringgrid, XStringgrid und JVStringgrid probiert. Ich habe die Datenbank lokal auf meinen Rechner kopiert. Ich habe eine neue Access-Datenbank mit einer Tabelle angelegt und ich bin über die BDE gegangen wie es unten im Quelltext zu sehen ist.
Ohne Erfolg. Der Fehler bleibt.

Folgende Felder sind in der Tabelle enthalten:
id = integer
anlass = char(35)

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
procedure TForm1.BitBtn1Click(Sender: TObject);
var i : integer;
begin
 i := 0;
 query1.Open;
 while not query1.Eof do
 begin
  stringgrid1.Cells[0,i] := query1.FieldByName('anlass').AsString;
  listbox1.Items.Add(query1.FieldByName('anlass').AsString);
  i := i + 1;
  stringgrid1.RowCount := stringgrid1.RowCount + 1;
  query1.Next;
 end
end;

procedure TForm1.StringGrid1Click(Sender: TObject);
var j : integer;
begin
 j := stringgrid1.Row;
 edit1.Text := stringgrid1.Rows[j].Text;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
var i : integer;
begin
 Query2.Close;
 Query2.SQL.Clear;
 Query2.SQL.Add('insert into anlass (anlass) values (:anlass)');
 Query2.ParamByName('anlass').AsString := edit1.Text;
 query2.ExecSQL;
 i := 0;
 query1.Open;
 while not query1.Eof do
 begin
  stringgrid1.Cells[0,i] := query1.FieldByName('anlass').AsString;
  i := i + 1;
  stringgrid1.RowCount := stringgrid1.RowCount + 1;
  query1.Next;
 end
end;

So sieht meine Quelltext aus mit dem ich alles ausprobiere.
Vielleicht kann mir jemand helfen oder einen Tipp geben.
Ich weiß nicht mehr weiter.

Gruß
EOland
arj
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 378

Win XP/Vista, Debian, (K)Ubuntu
Delphi 5 Prof, Delphi 7 Prof, C# (#Develop, VS 2005), Java (Eclipse), C++, QT, PHP, Python
BeitragVerfasst: Mo 27.08.07 09:28 
Also wenn ich dich richtig verstanden habe, dann gibt in Zeile 9 diese Anweisung
ausblenden Delphi-Quelltext
1:
query1.FieldByName('anlass').AsString					

einen String der Form 'Foo'+#13#10 oder so aus oder?
Also hintendran hängen noch Sonderzeichen? (Zeilenumbruch oder so)

Wenn das so ist, dann versuch doch einfach mal
in Zeile 9 folgendes zu schreiben:
ausblenden Delphi-Quelltext
1:
listbox1.Items.Add(Trim(query1.FieldByName('anlass').AsString));					


Allerdings ist hierbei vorsicht angebracht, da der String verändert wird!
Wenn du ein Leerzeichen am Anfang hast, dann wird auch dieses gelöscht!