Selektierten Listeneintrag auf einen FTP Server umbenennen

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2636
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: Selektierten Listeneintrag umbenennen

Beitrag von m.fuchs »

Also ganz ehrlich: es wird sehr schwer dir zu helfen, wenn du nicht sagst was du möchtest.
Schreib einmal, in ganzen Sätzen, eine Geschichte die den Änderungsvorgang beschreibt.

Zum Beispiel: "Sabrina benutzt ein Filmdatenbankprogramm. In einer Listbox werden ihr die Titel ihrer Filmsammlung angezeigt. Nun möchte sie einen Titel ändern. Sie klickt auf..."
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

.... klickt auf den Eintrag um ihn zu markieren bild 1

Bildschirmfoto 2020-03-21 um 23.38.47.png


und dann umzubenennen mit den neuen text wie bild 2 und dann mit der Entertaste zu bestädigen

Bildschirmfoto 2020-03-21 um 23.40.27.png
Bildschirmfoto 2020-03-21 um 23.40.27.png (38.85 KiB) 2679 mal betrachtet




das ist der Plan
danke

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Selektierten Listeneintrag umbenennen

Beitrag von Winni »

Hi!

Was hältst Du denn davon:

Doppelclick auf den Listeintrag und es öffnet sich ein InputQuery Dialog?

Code: Alles auswählen

 
uses ...., Dialogs;
 
procedure TForm3.ListBox1DblClick(Sender: TObject);
var value : String;
begin
 if InputQuery('Bitte Eingabe','Aber ordentlich', value) then
       ListBox1.Items[ListBox1.ItemIndex] := value;
end


Winni

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Selektierten Listeneintrag umbenennen

Beitrag von wp_xyz »

Inplace-Editing ist bei einer Listbox nicht vorgesehen. Bei einer ListView geht es aber so wie von dir gefordert. Also: Nimm für deine Daten statt einer TListBox eine TListView.

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Hallo winni,
Werde ich mal probieren, das würde bedeuten das er eine neue Form aufmacht dort die Änderungen eingegebenen werden und dann so übernommen werden richtig?

wp_xyz das wusste ich nicht das es sowas für die Listbox nicht gibt...
Aber auch für eine Listview habe ich nichts drüber gefunden
Wie würde den sowas eventuell aussehen?

Danke
Zuletzt geändert von reiter am So 22. Mär 2020, 13:59, insgesamt 1-mal geändert.

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Selektierten Listeneintrag umbenennen

Beitrag von wp_xyz »

reiter hat geschrieben:Hallo winni,
wp_xyz das wusste ich nicht das es sowas für die Listbox nicht gibt...
Aber auch für eine Listview habe ich nichts drüber gefunden
Wie würde den sowas eventuell aussehen?

Für das Inplace-Editing musst du gar nichts machen. Der Benutzer macht einen Doppelklick oder drückt F2, und es kommt das editierbare Feld; Text ändern, ENTER drücken - fertig.

Natürlich müssen die Items erst in die ListView. Das geht etwas anders als bei eine ListBox - schau einfach das beigefügte Beispiel an. Wenn es, wie in dem Beispiel, um Dateinamen geht, die aus dem Dateisystem eingelesen werden, kannst du das auch mit einer TShellListView (Palette "Misc") einfacher erledigen.

Am Ende des Änderung des ListView-Eintrags muss natürlich auch noch die physikalische Änderung des Dateinamens stehen. Dafür hat TListView das Ereignis OnEdited. Das ist bei TShellListview nicht öffentlich zugänglich, möglicherweise wurde das vergessen.
Dateianhänge
listview_inplaceEdit.zip
(2.05 KiB) 74-mal heruntergeladen

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Danke dir, schau ich mir nachher mal an... wäre ja eigentlich die elegantere Lösung als noch eine Form aufzumachen mit einem editfeld
Nochmal danke für die Infos ...

markieren lässt es sich... aber wenn ich es editiere nimmt er die Änderung nicht an

Benutzeravatar
Winni
Beiträge: 1577
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Selektierten Listeneintrag umbenennen

Beitrag von Winni »

reiter hat geschrieben:Hallo winni,
Werde ich mal probieren, das würde besudelten das er eine neue Form aufmacht dort die Änderungen eingegebenen werden und dann so übernommen werden richtig?

Danke


Hi

Von der Vererbung her ist das so betrachtet eine TForm, die sich öffnet.

Vom Erscheinungsbild musst Du Dir so etwas wie ShowMessage vostellen, nur mit einem Edit Feld.

Winni

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Danke winni,
Schau ich mir auch mal an

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Hier mal eine Rückmeldung,
Der Ansatz von winni ist sehr gut.
Leider funktioniert das nur local. Die Dateien, Filme liegen aber auf eine FTP Server
Da hat sich nichts geändert...
Wie kann ich das so erreichen das es die Dateien auf dem FTP Server umbenennt?

Danke

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Selektierten Listeneintrag umbenennen

Beitrag von af0815 »

Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Ja genau das hab ich ja im ersten Post schon gepostet (renameFile) ... das ist aber nicht das was ich will..
ich kann ja nicht den neuen Name schon im Programm festlegen
Außerdem weiß ich auch nicht immer den Titel den ich dann eventuell umbenennen will

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Selektierten Listeneintrag umbenennen

Beitrag von af0815 »

Wenn man es nicht weis, kann man es auch nicht machen. Dann ist das ein eindeutiges Problem des Designs der Programmes. Wenn du keinen Titel weisst, dann kannst du klarerweise auch nichts umbenennen.

ALLERDINGS wenn der Benutzer etwas umbenennt, so weisst du es zur Laufzeit und musst nichts beim Erstellen (Compilieren) des Programmes wissen. Du musst dir nur merken, wie hat das vorher geheissen und wie nachher. Dann kannst du natürlich die Datei mit FTP vom alten Namen auf den neuen umbenennen. Dazu muss man es nicht beim Erstellen des Programmes wissen. Ist wie beim Taschenrechner, das weis der Programmiere auch nicht was eingetippt wird.

Wenn du was nicht weisst, so bringe es in Erfahrung oder suche dir eine gute Glaskugel.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

reiter
Beiträge: 217
Registriert: Sa 18. Nov 2017, 16:58

Re: Selektierten Listeneintrag umbenennen

Beitrag von reiter »

Ich weiß ja nicht was jeder Benutzer für Filme auf sein NAS oder FTP Server hat.
Bei mir waren es halt wie die Bilder darstellen.
Bei meiner Schwester z.b. Ist das schon wieder anders.
Ich wollte halt nur die Möglichkeit haben listboxeinträge die eingelesen werden umzubenennen wenn einem der Titel nicht gefällt oder es andere Gründe gibt den Titel umzubenennen.
Der Titel muss aber dann auf dem Server umbenannt werden

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Selektierten Listeneintrag umbenennen

Beitrag von af0815 »

Du kannst dir allerdings merken, wie auf jeder NAS die Dateien für einen Namen haben und sie nur im Programm umbenennen. Dann ist es egal wie die File bei jedem heissen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten