![]() |
Teilweise Strings übertragen
Hei,
kann mir jemand vielleicht die Delphi Variante für den VB Befehl left$ right$ erklären? Praktisch: z.B. aus einer Filelistbox mit dem Inhalt Test.dat nur das Test in eine Listbox übertragen. Ich mache das ganze mit einer for-next Schleife bin aber noch blutiger Anfänger und hab noch überhaupt keinen Plan wie das hier funzt. Gruß Marcel |
Re: Teilweise Strings übertragen
bei delphi gibt es dafür die funktionen
LeftStr() RightStr() Diesen übergibst du den ursprungsstring und bekommst dann den teil zurück. Beispiel:
Delphi-Quellcode:
Zielstring := RightStr('abcdef', 2); //danach ist Zielstring: "ef"
Zielstring := LeftStr('abcdef', 2); //danach ist Zielstring: "ab" |
Re: Teilweise Strings übertragen
Nur so am Rande:
Notfalls hätte man es auch mit ![]()
Delphi-Quellcode:
MfG
function Links(aStr: string; count: Cardinal): string;
begin Result:= copy(aStr, 1, count); end; function Rechts(aStr: string; count: Cardinal): string; var ls: Integer; begin ls:= length(aStr); Result:= copy(aStr, ls - count +1, ls); end; Binärbaum |
Re: Teilweise Strings übertragen
@Binärbaum: Man hätte sich auch die copy-funktion noch selbst schreiben können *ironie* :roll:
|
Re: Teilweise Strings übertragen
Zitat:
[OT] Früher, als es noch kein copy gab, da musste das auch irgendjemand machen, damit wir das jetzt wie selbstverständlich verwenden können. :-D Aber manchmal (und hier wieder) fällt mir auf, dass es in Delphi zig Funktionen gibt (wie z.B. LeftStr), die man ebenso in ein oder zwei Zeilen Code geschrieben hätte, wenn man auf andere ähnliche Funktionen (z.B. copy) zurückgreift. [/OT] |
Re: Teilweise Strings übertragen
Komisch...
Ich halt nur Delphi 5 aber irgendwie kennt der den Befehl net... Muss ich da was deklarieren oder so? |
Re: Teilweise Strings übertragen
In Delphi 6 ist er vorhanden, du musst noch die Unit StrUtils einbinden.
|
Re: Teilweise Strings übertragen
noch ne dumme Frage...wie geht das :-D
|
Re: Teilweise Strings übertragen
Zitat:
Delphi-Quellcode:
unit Unit1
interface uses Windows, SysUtils, ..., StrUtils; //<- StrUtils eintragen |
Re: Teilweise Strings übertragen
Mein Delphi 5 Standart kennt die StrUtils nicht.
Jetz bin ich platt... |
Re: Teilweise Strings übertragen
Dann nimm Copy. LeftStr und RightStr machen bestimmt nichts anderes.
|
Re: Teilweise Strings übertragen
Hm ne irgendwie klappt das nicht so recht...
Mein Problem ist irgendwie, das die länge der Dateinamen ja immer anders ist. Ich hatte mir das so gedacht, den Dateinamen halt aus der FileListbox entnehmen, 4 Stellen abziehen also halt die letzen vier (.dat) und den Rest halt in die Listbox übertragen. Krieg ich absolut nicht hin... Kann mir da vielleicht nochmal jemand helfen?` Gruß Marcel |
Re: Teilweise Strings übertragen
Hallo,
damit wird es gehen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var z : Integer; aFile, aFileExt, aFilename : String; begin for z := 0 to FileListBox1.Items.Count-1 do begin aFile := FileListBox1.Items[z];//aus FileListBox1 lesen aFileExt := ExtractFileExt(aFile);//z.B. = .dat aFilename := Copy(aFile,1,Pos(aFileExt,aFile)-1);//bis zur Extension kopieren ListBox1.Items.Add(aFilename);//in ListBox1 schreiben end; end; |
Re: Teilweise Strings übertragen
A perfekt...
Danke schööööööön :-D |
Re: Teilweise Strings übertragen
Moin Marcel,
für den Fall kannst Du auch ChangeFileExt benutzen. Wenn Du als 2. Parameter einen Leerstring angibst (''), dann wird die Endung gelöscht. Eine weitere Variante: Du baust Dir das selber mit copy und LastDelimiter. Schau Dir die Funktionen doch mal an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 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