Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi ein Feld (char(100)) wird mit Leerzeichen ergänzt. (https://www.delphipraxis.net/14751-ein-feld-char-100-wird-mit-leerzeichen-ergaenzt.html)

mojo777 14. Jan 2004 23:14


ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
Hallo,

ich habe eine Datenbank wo jetzt irgendwie so plötzlich die darauf verwiesene Editfelder nicht vorhandene Zeiochen mit Leerzeichen ersetzen. Also ein Feld hat die Größe 100 Zeichen. Wenn ich da Mama reinschreibe, zeit ein dbEdit Feld "mama_____________________________________" Das ist ersichtlich doof.

Wer kann mir helfen?
Ich bin vorher mit soetwas noch nie konfrontiert worden und habe schon viel es ausprobiert. :wall:

Schonmal danke.

trifid 14. Jan 2004 23:16

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
Hallo,

welchen Datentyp hast Du verwendet Char(100) oder VarChar(100) ?

mojo777 14. Jan 2004 23:36

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
CHAAAAAAAR(100)

trifid 14. Jan 2004 23:41

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
Hallo,

dann ist doch alles klar
die Datenbank belegt bei Char(100) 100 Zeichen und diese siehst Du als spaces in Deiner Komponente
wenn Du die Möglichkeit hast, dann stelle auf varchar(100) um
hat aus meiner Erfahrung mehrere Vorteile
(auch beim Index und Geschwindigkeit ((abhängig vom Datenbankserver)) )

trifid 14. Jan 2004 23:44

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
was ich nocht vergessen habe
ich wüsste nicht wie man bei einen char(100) die "_____________________________________" Zeichen
wegbekommt, wenn man nicht sich eine neue Komponente dafür bauen möchte (die dieses Verhalten unterdrückt)

mojo777 15. Jan 2004 15:15

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
hmmmm naja... also eine neue komponente wäre dafür nicht unbedingt erfoderlich.
man könnte vielleicht was im "onChange" befehl ausbraten. trunc(oder war das trim? .... :oops: ) klappt bestimmt nicht auf ganzen string.
ich werde mir mal die stringfunktionen reinziehen. vielleicht klappt das irgend wie den string von hinten durchzukauen und falls string[index]=' ' then WegMitDemLeerzeichen;

naja. so viel dazu.

vielen dank für die Hilfe. Also ich werde wohl dann alle chras in varchar ändern.

trifid 15. Jan 2004 15:24

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
Hallo,

bei dem OnChange kam mir wieder was in Erinnerung ... :?
Wenn Du beim ADODataSet rechte Maus-Taste FeldEditor aufrufst
dann alle Felder hinzufügen
dann das jeweilige Feld auswählen
dann auf die die Ereignisleiste OnGetText und OnSetText, da kann man noch was manipulieren

Michael Leyhe 15. Jan 2004 15:59

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
HI
Wieso nimmst du eigentlich kein Array of string? Da wären dann keine Leerzeichen am Ende! Wenn der String aus maximal hundert Zeichen bestehen soll, dann kannst du auch mit string [100] arbeiten.

mojo777 15. Jan 2004 22:54

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
Hallo Michael,

also ich bin leider überhaupt kein kenner von delphi. Ich beherrsche lediglich ProgrammierGrundlagen. :cheers:
Naja....zur sache: wie meinst du das?
Also ich kann den string[100] wohl von 1 bis 100 abtasten. aber wie filtere ich das?
könnte sowas klappen?
Delphi-Quellcode:
var string2: array of string;
(..)
//string1 ist eins tring aus der db
i:=100;
while i>=0 do
begin
  if string1[i]<>' ' then
    begin
       checkvar:=i;
       break;
    end
    else
        i:=i-1; //gibt es das gegenteil von inc(i) ?? :stupid:
end;

i:=0;
for i to chkvar do
begin
  string2[i]:=string1[i];  //das ist der knackpunkt...
                            //klappt der spaß so einfach? 
                            //also bei php würde das glaube ich sogar laufen...

end;
könnte das so funktionieren? :corky:

SirThornberry 15. Jan 2004 23:46

Re: ein Feld (char(100)) wird mit Leerzeichen ergänzt.
 
an stelle deiner komichen schleife würd ich dann doch lieber
trim
nehmen


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz