![]() |
Leerstellen konvertieren
Hi Leutz,
ich möchte das man in einem Edit feld keine Leerstellen haben darf. Da diese zur Berechnung dienen kommt es natürlich zu Fehlern wenn dies der Fall ist. mit der Delphihilfe habe ich folgendes gebaut:
Delphi-Quellcode:
trotzdem erkennt das Prog dann keine Leerstellen und es gibt ein Exeption.
var
aLabel: TLabel; eEdit: TEdit; fEdit: String; zwsum,aEdit,bEdit: Integer; puff,ssumgm200,ssumgm100,ssumgm50,ssumgm20,ssumgm10,ssumgm5,gmges: Real; begin if Sender <> nil then if Sender is TEdit then begin eEdit:=FindComponent('anzgm'+Copy(TLabel(Sender).Name,6,3))as TEdit; while Pos(' ', fEdit) > 0 do fEdit[Pos(' ', fEdit)] := '0'; .......(dann weiter im Source) Was ist oben falsch??Kann jemand helfen?? |
Moin Privateer,
warum unterdrückst Du die Blanks nicht gleich bei der Eingabe? Ansonsten: Schau Dir mal StringReplace an. |
Hallo,
warum lässt Du es überhaupt zu das Leerstellen eingegeben werden können? VErhindere das doch. Wär doch besser. So sparst Du dir noch etwas Code beim rechnen, musst ncihts mehr abtesten. Grüsse, Daniel :hi: |
Hallo Privateer,
Dann füge doch in die OnMouseDown Prozedur deines Berechungsbuttons (wenn einer vorhanden ist) folgendes ein:
Delphi-Quellcode:
In Zeichenkette steht dann halt alles ohne Leerzeichen. Ist vielleicht ein bißschen umständlich aber es funktioniert.
For i:=1 to length(edit1.text) do
begin zeichen := edit1.text[i]; If zeichen <> ' ' then begin zeichenkette := zeichenkette + zeichen; end; end; Tschau |
Ds da war doch gestern schon mal ähnlich da, oder ?
Code:
Bau das doch so um, daß das Leerzeichen einfach von Anfang an unterdrückt wird.
if pos (DecimalSeparator,text) <> 0 then begin // Komma überhaupt da ??
then key := #0; // zweites Komma unterdrücken |
Zitat:
Wo muss diese Funktion positioniert werden? |
Christian Seehase hat doch gar keinen Quelltext gezeigt, meinst Du etwa meinen ?? Schreibe das ins OnKeyPress - Event im OI. DecimalSeperator muß halt durch ' ' ersetzt werden.
|
Habe folgendes in OnChange Ereignis geschrieben:
Delphi-Quellcode:
Das Löschen aller Zeichen ist trotzdem möglioch führt, natürlich, zur Fehlermeldung :cry:
eEdit.Text:=StringReplace(eEdit.Text,' ','0',[rfReplaceAll]);
|
Hallo,
warum magst Du sowas nicht?
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin if Key = #32 then Key := #0; end; |
und wenn Du das blank automatisch in eine 0 umwandeln willst:
Code:
if Key = #32 then Key := #48; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:23 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