![]() |
Texte von Listbox1 in ListBox1 teilweise kopieren
Hallo,
in ListBox1 werden alle Datei im Ordner und auch im Unterordner aufgelistet so z.B.
Code:
Nun möchte ich die Dateinamen von ListBox1 in ListBox2 kopieren (aber ohne den Ordner-Namen sondern nur Filename)
Ordner1\index.php
logo.gif ... also in ListBox2 so nun sein :
Code:
Hat jemand eine Idee?
index.php
logo.gif
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer; begin for i:= 0 to ListBox1.Items.Count -1 do ListBox2.Lines.Add(' :( '); end; <> |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Delphi-Quellcode:
function ExtractFileName(const S: FullFileName): string;
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Ich muss nuss nun nur die Dateinamen von ListBox1 holen und in ListBox2 kopieren <> |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Dann benutz die gepostete Funktion dazu.
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Oder schaue Zeile für Zeile in deiner ListBoch nach den \ oder /.
copy, pos und delete dürftest du ja kennen? :) |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
<> |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Indem du das anstregnen würdest, was dein Smily da kratzt, wärst du vlt auf die Lösunfg gekommen, die ich dir mit den Funktionen aufzeigen wollte.
Zum einen kannst du überhaupt mal schauen, ob solche Zeichen enthalten sind, und du gleich direkt kopieren kannst von LB1 zu LB2. Zum anderen könntest du den String jeweils immer kürzen , bis solche Zeichen nicht mehr enthalten sind und s.o. Gruß |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Die macht genau das, was quendolineDD mit copy/delete nachbauen wollte. Ab und an mal in die Delphi Hilfe schauen, wenn man nicht weiß was eine Funktion so macht. Grüße Klaus |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Hi,
das hat nichts gebracht mit dem extractfilename
Delphi-Quellcode:
Es passiert nichts !
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer; begin for i:=1 to listbox1.items.count do listbox1.items[i-1]:=extractfilename(listbox1.items[i-1]); end; <> |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Sind Laufwerksbuchstaben enthalten?
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Delphi-Quellcode:
while Pos('\', Listbox1.Items[i-1] > 0 do delete(ListBox1.Items[i-1],1,1);
ListBox2.Items.add(ListBox1.Items[i-1]; |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Error: Incompatible Types : String and Integer !
Delphi-Quellcode:
Es es mit dem Code leider nicht geklappt!
procedure TForm1.Button2Click(Sender: TObject);
var i : Integer; begin while Pos('\', Listbox1.Items[i-1]) > 0 do delete(ListBox1.Items[i-1],1,1); ListBox2.Items.add(ListBox1.Items[i-1]; end; <> |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Arrays und Listen sollten immer mit dem 0ten Element beginnen! Von daher gilt das gleiche für solche for-Schleifen... bei 0 anfangen und bis count - 1 gehen. extractfilename() wird wohl nicht funktionieren da kein Laufwerk drin ist. Einfache lösung wäre einen Laufwerksbezeichner rein zu basteln... |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Das funktioniert auch ohne Laufwerksbezeichner tadellos. Eben schnell unter Delphi 3 getestet:
Delphi-Quellcode:
Gibt "datei.txt" aus.
showmessage(extractfilename('ordner\eigene dateien\datei.txt'));
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
das muss ja auch klappen. Hier der Originalcode aus SysUtils:
Delphi-Quellcode:
Da wird auch nichts anderes gemacht als nach dem letzten '\' zu suchen und alles dahinter als Ergebnis auszugeben.
function ExtractFileName(const FileName: string): string;
var I: Integer; begin I := LastDelimiter(PathDelim + DriveDelim, FileName); Result := Copy(FileName, I + 1, MaxInt); end; Ich vermute mal, dass die Fehler bei taktaky ne ganz andere Ursache haben ;) |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
a.) @All: So unterschwellige Sachen gehören nicht zum guten Ton.
b.) @Taktaky: Erinnere Dich an die PN. Du versuchst er gar nicht zu verstehen, was die Leute Dir sagen wollen. Deswegen hier nochmal ganz eindringlich: Lese in der Delphi-Hilfe nach, was ![]() Dann schaue Dir den schon geposteten Code zu dieser Funktion nochmal genau an und verstehe, warum dieser Code nicht genau das macht, was Du willst. Achtung Hinweis: Achte dabei insbesondere auf die Bezeichner der beiden Listboxen, und die Indizes zum Zugriff. Zumindest das letztere wurde schon angesprochen. Dann lies Dir nochmal die PN durch und versuche, den Sinn der Worte zu erfassen und mache Dir dann selber ganz eindringlich klar, was die Konsequenzen sind wenn Du diese weiterhin nicht beachtest. c.) Ich bin geneigt, diesen Thread zu schliessen, denn bei dieser Fragestellung und diesen Antworten wäre selbst meine Freundin in der Lage, das Problem zu lösen. Und die hat mit Computern und erst recht mit Programmierung gar nichts am Hut. Sollte das noch weiter offtopic werden wird hier auch geclosed. |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Hier ist eine Lösung: Und schon getestet :wink:
Delphi-Quellcode:
<>
procedure TForm1.Button1Click(Sender: TObject);
var i : Integer; begin for i:=1 to listbox1.items.count do listbox1.items[i-1]:=extractfilename(stringreplace(listbox1.items[i-1], '/','\', [rfreplaceall])); end; |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
hier im Forum hatte zu keiner Zeit jemand Deine komplette Liste um so etwas zu testen. Selbst in Deinem kurzen Beispiel im 1. Beitrag wurden die Ordner mit "\" getrennt. Wenn Du in Deiner Liste dann die Ordner von den Dateien mit einem "/" trennst - wie soll mann Dir da helfen? In der Hilfe für ExtractFilePath steht eindeutig das es nach Backslash "\" schaut. Grüße Klaus |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Deddy, PEBKAC, ganz klar. :thumb: ... Kann man nix machen.
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Soetwas muss es einfach auch geben. |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Nichts liegt mir ferner als andere hier in die Pfanne hauen zu wollen, aber das ist schon ein Extremfall. Besonders seine "Hartnäckigkeit" (ich meine eigentlich Frechheit), sämtliche Beiträge, die sich irgendwie mit Ressourcen oder Videos befassen, abzugrasen und dort auf sein "Problem" aufmerksam zu machen, bleiben einem doch recht dauerhaft im Gedächtnis. Ich will ja nichts gegen Anfänger- oder "Wald und Bäume"-Probleme sagen, die haben wir schließlich alle mal, aber so ein Verhalten ist in meinen Augen nicht mehr zu toppen (im negativen Sinne).
OK, back to topic now. |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Das ist ja lustig. Blos nicht den Thread schließen !!!!!!!!
Ich habe selten jemanden erlebt, der standhaft alles geschriebene ignoriert. Das muß man erst mal schaffen!!! Ich werd mit Freude den Thread weiter beobachten. gruß oki |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Siehe #18 -#19
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Zitat:
Freundliche Grüße oki |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Natürlich, aber wenn ein Thread (oder andere Threads dieses Autors) so verläuft ist es auch nicht so gut
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
@mkinzler: sry, ich muss mich doch noch einmal einschalten. Leider verlaufen die Threads des TE oft so (auch in anderen Foren). Repräsentativ mal ein
![]() |
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
LOL ;) :roll:
|
Re: Texte von Listbox1 in ListBox1 teilweise kopieren
Also das reicht jetzt! :warn:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:11 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 by Thomas Breitkreuz