Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Texte von Listbox1 in ListBox1 teilweise kopieren (https://www.delphipraxis.net/101377-texte-von-listbox1-listbox1-teilweise-kopieren.html)

taktaky 12. Okt 2007 21:49

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Zitat:

Zitat von mkinzler
Sind Laufwerksbuchstaben enthalten?

Nein. Darum funktioniert das ganze nicht :gruebel:

Progman 12. Okt 2007 22:31

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];

taktaky 13. Okt 2007 00:04

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Error: Incompatible Types : String and Integer !
Delphi-Quellcode:
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;
Es es mit dem Code leider nicht geklappt!



<>

Billi Berserker 13. Okt 2007 01:44

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Zitat:

Zitat von taktaky
Hi,

das hat nichts gebracht mit dem extractfilename

Delphi-Quellcode:
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;
Es passiert nichts !



<>

Kleiner Hinweise...
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...

Namenloser 13. Okt 2007 02:07

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Das funktioniert auch ohne Laufwerksbezeichner tadellos. Eben schnell unter Delphi 3 getestet:
Delphi-Quellcode:
showmessage(extractfilename('ordner\eigene dateien\datei.txt'));
Gibt "datei.txt" aus.

Progman 13. Okt 2007 06:52

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
das muss ja auch klappen. Hier der Originalcode aus SysUtils:
Delphi-Quellcode:
function ExtractFileName(const FileName: string): string;
var
  I: Integer;
begin
  I := LastDelimiter(PathDelim + DriveDelim, FileName);
  Result := Copy(FileName, I + 1, MaxInt);
end;
Da wird auch nichts anderes gemacht als nach dem letzten '\' zu suchen und alles dahinter als Ergebnis auszugeben.
Ich vermute mal, dass die Fehler bei taktaky ne ganz andere Ursache haben ;)

DeddyH 13. Okt 2007 08:51

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Zitat:

Zitat von Progman
Ich vermute mal, dass die Fehler bei taktaky ne ganz andere Ursache haben :wink:

Jepp, PEBKAC :mrgreen:

Phoenix 13. Okt 2007 09:09

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 Delphi-Referenz durchsuchenExtractFileName macht.

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.

DeddyH 13. Okt 2007 09:13

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Zitat:

Zitat von Phoenix
Sollte das noch weiter offtopic werden wird hier auch geclosed.

Ich persönlich wäre dafür, da IMHO bereits alles gesagt wurde, was der Problemlösung dienlich sein könnte.

taktaky 13. Okt 2007 10:39

Re: Texte von Listbox1 in ListBox1 teilweise kopieren
 
Zitat:

Zitat von NamenLozer
Das funktioniert auch ohne Laufwerksbezeichner tadellos. Eben schnell unter Delphi 3 getestet:
Delphi-Quellcode:
showmessage(extractfilename('ordner\eigene dateien\datei.txt'));
Gibt "datei.txt" aus.

Nicht mit einer einzelne Datei testen, sondern die Liste in ListBox1!

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;
<>


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:44 Uhr.
Seite 2 von 4     12 34      

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