AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Edit-Eingabe Problem =(

Ein Thema von Tommy1988 · begonnen am 7. Okt 2007 · letzter Beitrag vom 7. Okt 2007
Antwort Antwort
Tommy1988
(Gast)

n/a Beiträge
 
#1

Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 10:12
Also,
Ich habe jetzt ungefähr eine Stunde nach einer Lösung gesucht aber keine hinbekommen.
In einem SpinEdit überprüfe ich, ob die erste Zahl eine 0 ist oder eine andere und reagiere entsprechend dadrauf:
Delphi-Quellcode:
if SpinEdit1.Text = 'then
 begin
  if not (Key in ['1'..'9', Char(VK_BACK)]) then
  Key := #0;
 end;
if SpinEdit1.Text >= '1then
  begin
  if not (Key in ['0'..'9', Char(VK_BACK)]) then
  Key := #0;
  end;
Ist die erste Eingabe eine 0, wird sie unterdrückt. Ist es eine 1 oder was anderes, wird sie gestattet.

Im SpinEditChange prüfe ich ob die Eingabe eine bestimmte Größe nicht überschreitet:
Delphi-Quellcode:
if SpinEdit1.Value > kilobyte then
 begin
  SpinEdit1.Value := kilobyte; // Dürfte klar sein diese Zeile
 end;
Das klappt soweit.
Gebe ich jetzt aber (wen MaxValue 111 ist) 999 ein, so springt der Cursor an erste Stelle im SpinEdit,
und ich kann wieder eine 0 eingeben, was nicht sien sollte

Was kann man da machen?
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 10:15
die CursorPosition kannst du mit SelStart abfragen. Du solltest also nicht davon ausgehen das jemand prinzipiell die Zahlen nacheinander eintippt.
In diesem Sinne finde ich deinen Ansatz auch falsch. Was ist wenn ich eine 100 Eintragen will, 2 mal die 0 tippe und dann eine 1 davor eintippen will? dann würde nur eine 1 am ende da stehen?
Sag einfach mal was der Sinn des ganzen ist, dann kann man dir vielleicht eine sinnvollere Herangehensweise empfehlen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#3

Re: Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 10:35
Ok, der Sinn ist der:

Ich öffne mit einem Dialog eine Datei dessen Dateigröße ich in Kilobyte umrechne und in einer Variablen speichere.
Im SpinEdit kann ich angeben, in wieviele kleine Kilobyte-"Stückchen" diese Datei geteilt werden soll.

Deswegen sollte man keine 0 am anfang eingeben könne Weil das wäre ja rein theoretisch auch unsinn
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 10:41
dann lass den User unsinn eingeben und wenn er mit dem Unsinn arbeiten will gibst du aus was damit nicht stimmt. Im OnExit oder dergleichen kannst du das ja auch schon machen.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Tommy1988
(Gast)

n/a Beiträge
 
#5

Re: Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 10:45
mhh... ich weis nicht so recht , unsinn ist nie gut =)

ich gucke mal.

Edit:
Leider ist das mit dem Unsinn nicht so gut. Sonst könnten z.B. 2000 Teilchen erstellt werden, was sehr unangenehm wäre
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Edit-Eingabe Problem =(

  Alt 7. Okt 2007, 11:15
Zitat von Tommy1988:
Edit:
Leider ist das mit dem Unsinn nicht so gut. Sonst könnten z.B. 2000 Teilchen erstellt werden, was sehr unangenehm wäre
Warum? Du kannst ja trotzdem überprüfen, ob der Wert innerhalb deines erlaubten Bereichs liegt
SpinEdit hat übrigens auch ne Eigenschaft MaxValue

Kann auch sein, dass ich dich jetzt irgendwie falsch verstehe...

P@Tti
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:09 Uhr.
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