Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Einen Teil eines Strings trennen (https://www.delphipraxis.net/69936-einen-teil-eines-strings-trennen.html)

qb-tim 22. Mai 2006 16:13


Einen Teil eines Strings trennen
 
Hi,

ich möchte in einen meiner Programme, in einer OnChange eines TDirectoryListBox, aus dem String TDirectoryListBox.Directory nun die ersten 23 Zeichen in einen anderen String speichern um zu verhindern, dass der TDirectoryListBox aus einem bestimmten Ordner herauskommt...

Delphi-Quellcode:
String1 := {ein Befehl nur die ersten 23 Zeichen von} TDirectoryListBox.Directory {zu nehmen}
if String1 = String2 then  // Vergleich: ob der erlaubte Ordner noch benutzt wird
  exit;
ShowMessage('Sie erhalten keinen Zugriff auf diesen Ordner!');
TDirectoryListBox.Directory := String2;
Was muss ich bei "String1 :=" schreiben damit ich mein Ziel erreichen kann?

:wiejetzt:

Sharky 22. Mai 2006 16:17

Re: Einen Teil eines Strings trennen
 
HAi qb-tim,

schaue dir mal die Funktionen Delphi-Referenz durchsuchenCopy und Delphi-Referenz durchsuchenPos an. Das sollte alles sein was Du brauchst.

marabu 22. Mai 2006 16:21

Re: Einen Teil eines Strings trennen
 
Übrigens: es gibt eine Komponente TShellTreeView - bei der kann man den RootFolder im Object Inspector eintragen.

Grüße vom marabu

mkinzler 22. Mai 2006 20:53

Re: Einen Teil eines Strings trennen
 
Es wäre auch
Delphi-Quellcode:
String1 := TDirectoryListBox.Directory;
setLength( String1, 23);
möglich.

SirThornberry 22. Mai 2006 20:56

Re: Einen Teil eines Strings trennen
 
@mkinzler: Das funktioniert aber nur so wie gewünscht wenn der String länger ist als 23 zeischen

mkinzler 22. Mai 2006 21:01

Re: Einen Teil eines Strings trennen
 
Stimmt, müsste man abfangen.

Delphi-Quellcode:
Uses ..., Math;
...
setLength( String1, Min(23, Length( String1));

SirThornberry 22. Mai 2006 21:07

Re: Einen Teil eines Strings trennen
 
dann kann man's auch gleich mit copy machen:
Delphi-Quellcode:
String1 := TDirectoryListBox.Directory;
String1 := copy(String1, 1, 23);


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