Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Trim - Keine Funktion
Bob Murphy - Do 29.01.09 00:24
Titel: Trim - Keine Funktion
Hi,
Ich hab ein Problem, irgend wie will die Funktion "Trim" nicht mehr so wie ich das gerne will^^
So hatte ich es eigentlich vor
Delphi-Quelltext
1: 2: 3:
| begin Eingabe.Text := Trim(Eingabe.Text); end; |
da das aber nicht funktioniert (keine Veränderung), habe ich schon "TrimLeft", "TrimRight" probiert, allerdings ohne Erfolg.
Ich habe es auch schon mit "AnsiLowerCase" und "AnsiUpperCase" probiert, in den Fall wird der String zwar entsprechend in groß oder klein umgewandelt, trotzdem werden keine Leerzeichen entfernt.
Ich hoffe jemand hat eine Idee:)
LG Bob
Moderiert von
Narses: Topic aus Dateizugriff verschoben am Mi 28.01.2009 um 23:28
jaenicke - Do 29.01.09 00:38
Was erwartest du denn von der Funktion?
Was es machen
soll ist Leerzeichen und Zeilenumbrüche am
Anfang und Ende des Strings zu entfernen.
| Hilfe hat folgendes geschrieben: |
| Trim removes leading and trailing spaces and control characters from the given string S. |
Bob Murphy - Do 29.01.09 00:41
jaenicke hat folgendes geschrieben : |
Was erwartest du denn von der Funktion?
Was es machen soll ist Leerzeichen und Zeilenumbrüche am Anfang und Ende des Strings zu entfernen. | Hilfe hat folgendes geschrieben: | | Trim removes leading and trailing spaces and control characters from the given string S. |
|
Ich wollte halt falls am Ende der Eingabe ein Leerzeichen ist, sollte dieses entfernt werden, komischerweise wird dieses aber nicht entfernt. Was mich wundert, denn ich habe die Funktion schon öfters benutzt und die hat immer funktioniert.
jaenicke - Do 29.01.09 00:44
Das ist dann wirklich komisch. Ich nehme ja nicht an, dass du eine andere gleichnamige Funktion deklariert hast.
Kannst du vielleicht eine Demo mit Quelltext und Exe anhängen, wo das auftritt? Und welche Delphiversion benutzt du dabei gerade?
Bob Murphy - Do 29.01.09 00:47
Eben... ich habe extra ein neues Projekt geöffnet, wo wirklich nur der Trim kram drinsteckt. Keine Veränderung.
Benutzen tue ich Delphi 7 SE.
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:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Edit1: TEdit; Button1: TButton; procedure Button1Click(Sender: TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject); begin Edit1.Text := Trim(Edit1.Text); end;
end. |
Edit:
Hmmm ich habe das Programm mal auf mein Root hochgeladen, da funktioniert das Programm, die selbe Version funktioniert auf mein Laptop nicht. Was hilft da? An Delphi kanns ja nicht liegen, denn sonst würde es ja aufn Root auch nicht funktionieren? :shock:
jaenicke - Do 29.01.09 00:54
Ich habe es gerade mit Delphi 7 PE ausprobiert, das funktioniert. :nixweiss:
// EDIT:
Hmm, da fällt mir dann auch gerade nichts dazu ein.
Bob Murphy - Do 29.01.09 01:00
Hmm mir auch nicht, wenn jemand eine Idee hat, dann bitte posten:)
alzaimar - Do 29.01.09 09:14
Probier mal Folgendes (Ein TMemo auf die Form schmeissen);
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| Var i : Integer; s : String; begin s := Eingabe.Text; Memo1.Lines.Add('VOR dem TRIM "'+s+'"'); For i:= 1 to Length (s) do Memo1.Lines.add(Format('%d: %.3d',[i,ord(s[i])]));
Eingabe.Text := Trim(Eingabe.Text); Memo1.Lines.Add('NACH dem TRIM "'+s+'"'); For i:= 1 to Length (s) do Memo1.Lines.add(Format('%d: %.3d',[i,ord(s[i])])); Memo1.Lines.Add('--------------------------'); end; |
Und poste das Ergebnis. NB: Der Code gibt den ASCII-Wert der Zeichen vor und nach dem TRIM aus. Dann wirst du ja sehen, ob sich was geändert hat.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!