Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi aus der zwischenablage holen und editfenster wechseln? (https://www.delphipraxis.net/101414-aus-der-zwischenablage-holen-und-editfenster-wechseln.html)

PaddyMu 12. Okt 2007 19:01


aus der zwischenablage holen und editfenster wechseln?
 
Da dies mein erster Beitrag ist hallo erstmal
ich bin ein ziemlicher neuling im delphibereich und entschuldige mich hiermit für evtl. dumme fragen etc. ;)
ich komme direkt aus einem forum das damit wirbt dass es bei fragen und mitarbeit immer offen ist, mir bis jetzt aber außer unverschämten antworten nix beigebracht hat.. ich hoffe das ist hier nicht so

so zu meinen fragen
wie kann ich eine zahl(ip) aus der zwischenablage holen und sie in dreierblöcken auf 4 editfelder aufteilen?

und

gibt es eine möglichkeit, dass wenn ein editfeld mit drei stellen ausgefüllt ist ins nächste gewchselt wird?
bitte seid gnädig zu mir und verwendet nicht so viele fachwörter bin wiegesagt ein ziemlicher noob in dem bereich ;)
MfG

dominikkv 12. Okt 2007 19:10

Re: aus der zwischenablage holen und editfenster wechseln?
 
herzlich willkommen :party:

also die zwischenablage erreichst du über clipboard:
Delphi-Quellcode:
uses Clipbrd;
showmessage(Clipboard.AsText);
jetzt musst du nur noch die zahlen rausfiltern, such am besten mit Hier im Forum suchenPos bzw Hier im Forum suchenPosEx nach dem Punkt der die trennt.

und mit dem edit wechseln:
überprüfe im onChange bzw onKeyPress die anzahl der buchstaben (length(edit1.text)) und spring dann zum nächsten edit (edit2.setFocus)

peschai 12. Okt 2007 19:22

Re: aus der zwischenablage holen und editfenster wechseln?
 
Hallo

Du könntest eventuell auch anstelle von 4 editfeldern eventuell ein Maskedit verwenden mit einer Maske für IP-Werte zb "999.999.999.999"

PaddyMu 12. Okt 2007 19:33

Re: aus der zwischenablage holen und editfenster wechseln?
 
hallo
danke erstrmal für die antworten^^
kannst du mir mal ein beispiel nennen für das lengh?
also (3(Edit1.Text)) (3 ist die stelle)?
MfG

dominikkv 12. Okt 2007 20:10

Re: aus der zwischenablage holen und editfenster wechseln?
 
length ist eine Funktion und liefert die länge zurück, also einfach:
Delphi-Quellcode:
var
  länge: Integer;

// ...

länge := length(edit1.text);
showmessage(Format('Der String ist %d Zeichen lang!', [länge]));

PaddyMu 12. Okt 2007 20:27

Re: aus der zwischenablage holen und editfenster wechseln?
 
ähm ok das funktioniert schon fast^^
ich habe laenge mit 3 definiert aber es springt direkt nach einer zahl ins andere edit..

dominikkv 12. Okt 2007 20:31

Re: aus der zwischenablage holen und editfenster wechseln?
 
zeig mal was wie deine procedure aussieht dann können wir dir vllt helfen :wink:

PaddyMu 12. Okt 2007 20:36

Re: aus der zwischenablage holen und editfenster wechseln?
 
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
     Laenge:=3;
     Laenge:=length(Edit1.Text);
     Edit2.SetFocus;
end;
da.. ist bestimmt ein saublöder fehler drin^^
Laeunge ist oben mit integer definiert

dominikkv 12. Okt 2007 20:41

Re: aus der zwischenablage holen und editfenster wechseln?
 
Zitat:

Zitat von PaddyMu
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
     Laenge:=3;
     Laenge:=length(Edit1.Text);
     Edit2.SetFocus;
end;
da.. ist bestimmt ein saublöder fehler drin^^

na klar xD

1.) ist laenge eine globale Variable?
Regel: so lokal wie möglich deklarieren

2.) diese prozedure wird immer ausgeführt wenn ein sich der inhalt des edits ändert. also bei jedem tastendruck den man macht.
und zwar wird laenge zuerst 3 zugewiesen, dann gleich dannach die länge vom edit.string -> warum zuesrt 3? bringt überhaupt nÜx
und dann wird das fokus verändert...
du willst ja nur verändern wenn die länge größergleich 3 ist.
also ganz einfach:
Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if length(Edit1.Text) >= 3 then
    Edit2.SetFocus;
end;

quendolineDD 12. Okt 2007 20:43

Re: aus der zwischenablage holen und editfenster wechseln?
 
Bis jetzt legst du die Varibable laenge auf 3 und dann auf die Länge des Editfeldes , danach springst du zum nächsten.

Delphi-Quellcode:
procedure TForm1.Edit1Change(Sender: TObject);
begin
  if length(Edit1.Text) >= 3 then
    Edit2.SetFocus;
end;
Da war wer schneller :-\
Nun hast du in 3 Posts den gleichen Quelltext xD


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.
Seite 1 von 2  1 2      

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