![]() |
Re: Meine Drag'n'Drop-Funktion ergänzen
Hast Du es mal ausprobiert? Gab es einen Fehler?
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Irgendwie stehe ich auf dem Schlauch, ist wahrscheinlich zu spät? :roteyes:
Ich verstehe den Sinn nicht... verzeih... muss mal morgen schauen. |
Re: Meine Drag'n'Drop-Funktion ergänzen
Wenn Du den Code ausprobierst, solltest Du eine Fehlermeldung "Listenindex überschreitet das Maximum(1)" bekommen. Der Grund liegt darin, dass Stringlisten 0-indiziert sind, d.h. das erste Element hat den Index 0, das zweite Index 1 usw. Ich habe in meinem Beispiel nur eine Zeile eingefügt und anschließend versucht, eine 2. Zeile auszulesen, was diesen Fehler verursacht. Deshalb habe ich Dir weiter oben geraten, zuerst zu prüfen, ob auch genügend Zeilen vorhanden sind, bevor Du auf diese mit hartkodierten Indizes zugreifen willst.
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Hab heute wieder ein Problemchen gefunden, wenn ich
Delphi-Quellcode:
durch
DragAcceptFiles(Form1.Handle, True);
Delphi-Quellcode:
ersetze funktioniert mein ganzer Code nicht. :wall: Wer kann mir sagen wieso?
DragAcceptFiles(ListBox1.Handle, True);
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Zitat:
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Also in diesem Tutorial
![]() Zitat:
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Bei mir schon. Wie sieht Dein Code denn jetzt aus (die relevanten Stellen)?
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Delphi-Quellcode:
procedure TForm1.WMDROPFILES(var Msg: TMessage);
var j, zaehler: Cardinal; Buffer, Extension: String; i: Integer; List : TStringList; List2: TStringList; begin inherited; Buffer := ''; zaehler := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0); for j := 0 to zaehler - 1 do begin SetLength(Buffer, DragQueryFile(Msg.WParam, j, nil, 0) + 1); DragQueryFile(Msg.WParam, j, @Buffer[1], Length(Buffer)); Extension := ExtractFileExt(Buffer); end; DragFinish(Msg.WParam); //Laden if AnsiSameText(Trim(ExtractFileExt(Buffer)), '.crp') or AnsiSameText(Trim(ExtractFileExt(Buffer)), '.ccr') then begin List:=TStringList.Create; try List.LoadFromFile(Buffer); if ListBox1.Count<>0 then begin if MessageDlg(_('Retain existing radio stations list?'), mtConfirmation, [mbYes, mbNo, mbCancel], 0) = mrNo then begin ListBox1.Clear; ListBox2.Clear; ListBox3.Clear; ListBox4.Clear; end; end; if AnsiSameText(Trim(ExtractFileExt(Buffer)), '.crp') then begin for i:=0 to List.Count-1 do begin List2:=Explode('<>', List[i]); ListBox1.Items.Insert(i, List2[1]); ListBox2.Items.Insert(i, List2[2]); ListBox3.Items.Insert(i, List2[3]); ListBox4.Items.Insert(i, List2[4]); List2.Free; end; end else begin for i:=0 to List.Count-1 do begin List2:=Explode('=', List[i]); ListBox1.Items.Insert(i, List2[1]); ListBox2.Items.Insert(i, List2[2]); ListBox3.Items.Insert(i, List2[3]); ListBox4.Items.Insert(i, List2[4]); List2.Free; end; end; finally List.Free; end; end; end; |
Re: Meine Drag'n'Drop-Funktion ergänzen
Und das FormCreate? Da hast Du nur Form1.Handle durch ListBox1.Handle ersetzt oder noch andere Änderungen?
|
Re: Meine Drag'n'Drop-Funktion ergänzen
Zitat:
Delphi-Quellcode:
DragAcceptFiles(ListBox1.Handle, True);
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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