Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Editfeld für Computername (https://www.delphipraxis.net/54078-editfeld-fuer-computername.html)

ManuMF 27. Sep 2005 17:06


Editfeld für Computername
 
Hallo,

ich brauche ein Editfeld, in dem der Nutzer einen Computernamen eingeben kann. Die ersten 2 Zeichen sollen also fest sein, nämlich \\.
Das ganze soll dann etw so aussehen:
[\\Name ]

Ich dachte da gleich an MaskEdit, habe aber Probleme, die Maske zu erstellen.

Danke,
ManuMF

Matze 27. Sep 2005 17:08

Re: Editfeld für Computername
 
Wie das geht, weiß ich auf anhieb nicht, aber fügr "\\" doch einfach zur Laufzeit an den String an.

raffo 27. Sep 2005 17:09

Re: Editfeld für Computername
 
Mein Vorschlag, setzt doch vor dem Edit nen Label mit "\\" und setz den String dann später zusammen s:='\\'+Edit1.Text;

ManuMF 27. Sep 2005 17:10

Re: Editfeld für Computername
 
Das geht auch, aber für den Fall, dass der Nutzer die \\ schon eingegeben hat, müsste ich dann mit StringReplace arbeiten und am Ende \\ wider anfügen. Ich wollte aber die \\ irgendwie im Editfeld, damit es für den Nutzer klarer ist, wie er den Namen eingeben muss.

Gruß,
ManuMF

raffo 27. Sep 2005 17:14

Re: Editfeld für Computername
 
Dann vielleicht so:

Delphi-Quellcode:
edit1.text:='\\';
edit1.selstart:=255;
edit1.setfocus;
So kriegt der Benutzer die Slashes am Anfang und kann gleich weiterschreiben (was aber, wenn er sie wieder löscht?) - >
Delphi-Quellcode:
if pos('\\',edit1.text)=0 then edit1.text:='\\'+edit1.text;
Ist aber net ganz so sicher. Darf, kann er denn LEERzeichen eingeben?

ManuMF 27. Sep 2005 17:16

Re: Editfeld für Computername
 
Zitat:

Zitat von raffo
Ist aber net ganz so sicher. Darf, kann er denn LEERzeichen eingeben?

Soweit ich weiß, können Computernamen zwar inzwischen länger als 12 Zeichen sein, aber ohne Leerzeichen.

Gruß,
ManuMF

Matze 27. Sep 2005 17:17

Re: Editfeld für Computername
 
Delphi-Quellcode:
edit1.selstart:=255;
Wieso denn 255?

raffo 27. Sep 2005 17:18

Re: Editfeld für Computername
 
soryy, angewohnheit von mir, glaube noch von Pascal, die gingen ja nur bis 255, jedenfalls sollte das verdeutlichen, das der Cursor wirklich zum Ende des Textes geht...

ManuMF 27. Sep 2005 17:19

Re: Editfeld für Computername
 
Das mit Pos ist schon ganz gut, aber wenn nur ein Backslash entfernt wird, hab ich plötzlich 3...

Gruß,
ManuMF

[EDIT]
So funktioniert es jetzt (bei OnChange):
Delphi-Quellcode:
if (Pos('\\', AddFeld.Text) = 0) then
begin
  if (Pos('\', AddFeld.Text) = 0) then
    AddFeld.Text := '\\' + AddFeld.Text
  else
    AddFeld.Text := '\' + AddFeld.Text;
end;
[/EDIT]

Matze 27. Sep 2005 17:24

Re: Editfeld für Computername
 
Delphi-Quellcode:
  if Pos('\\', Edit1.Text) = 1 then
begin
  ShowMessage('Eingabe korrekt!');
end else
begin
  Edit1.Text := '\\' + Edit1.Text;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:59 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