LoadFromFile ?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

LoadFromFile ?

Beitrag von corpse »

Hallo zusammen,

hab mal wieder ein kleines Problem hier was mich verückt macht:
Folgendes,ich habe ein "FileNameEdit1" und ein "DirectoryEdit1" ,die Dateien die dort geladen werden,sollen in einer ListBox aufgelistet werden!
Nun bei dem "FileNameEdit" funktioniert das ja schon ansatzweise(naja fast) mit diesem Befehl hier:

Code: Alles auswählen

procedure TForm1.FileNameEdit1Change(Sender: TObject);
begin
   if FileNameEdit1.FileName<>'' then ListBox1.Items.LoadFromFile(FileNameEdit1.Text);
   FileNameEdit1.Text := '';
end;


wird zwar eine Datei in die ListBox geladen aber sehr Kryptisch würd ich mal sagen!Das da überhaupt was geladen wird freut mich ja schon!
Mein Problem besteht eher bei der "DirectoryEdit":wenn ich dort den Befehl:

Code: Alles auswählen

procedure TForm1.DirectoryEdit1Change(Sender: TObject);
begin
   if DirectoryEdit1.Directory<>'' then ListBox1.Items.LoadFromFile(DirectoryEdit1.Text);
    DirectoryEdit1.Text := '';
end;

ausführe passiert überhaut nix?
Ich weiß auch nicht genau ob ich mein System(Linux/Ubuntu 9.10)noch bei den uses einbinden muss(unter Windows muss man ja die Shell API einbinden,zumindest für Drag&Drop,hab ich gelesen aber das is ne andere Geschichte;))

Vieleicht kann mir einer von euch sagen was ich da mal wieder falsch mache?

lg

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: LoadFromFile ?

Beitrag von theo »

Ich weiss ja nicht genau was du da machst, aber TEdit.OnChange ist nun wirklich nicht das richtige Ereignis um Dateien zu laden.
Das wird bei jedem Buchstaben ausgelöst, den du in das Edit-Feld eintippst. Willst du das wirklich?

corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

Re: LoadFromFile ?

Beitrag von corpse »

Hi,

eigentlich möchte ich das nicht wirklich aber was besseres is mir noch nicht eingefallen(bin anfänger;)) die FileName und DirectoryEdit's kammen mir sehr hilfreich vor bei meinem Projekt...ich glaub man könnte es auch mit opendialog realisieren aber da bin ich noch nicht dahinter gestiegen!!!Wenn es das ist was du meinst

EDIT: ok weiß jetzt was Du meintest,hab jz auf OnEditDone gewechselt aber was würdest Du den vorschlagen?

Benutzeravatar
theo
Beiträge: 10497
Registriert: Mo 11. Sep 2006, 19:01

Re: LoadFromFile ?

Beitrag von theo »

Es wäre besser, wenn du dein Ziel beschreiben würdest.
S.a: http://www.tty1.net/smart-questions_de.html#goal

Opendialog geht so:

Code: Alles auswählen

If OpenDialog1.Execute then ListBox1.Items.LoadFromFile(OpenDialog1.FileName);

corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

Re: LoadFromFile ?

Beitrag von corpse »

ok,
ich möchte mit den FileNameEdit und dem DirectoryEdit dateien von meinem System in die ListBox meines Tools laden um Sie dann später komplett zu Löschen,aber nicht nur den Text sondern die Dateien ansich,deshalb dachte ich "LoadFromFile"is da geeignet für!

Aber kann auch sein das der ganze Ansatz schon fürn Larry is;) hab mir was in Kopf gesetzt und bastel jetzt dran rum...

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: LoadFromFile ?

Beitrag von Hitman »

LoadFromFile(Directory) .... wie soll das gehen? File <> Directory

corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

Re: LoadFromFile ?

Beitrag von corpse »

@Hitman
wie das gehen soll weiß ich ja auch nicht;
und was soll das bedeuten (File <> Directory)???
Hättest Du bitte mal eine code zeile für mich wie es den funktionieren könnte??

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: LoadFromFile ?

Beitrag von Hitman »

Na was willst du denn machen? LoadFromFile lädt eine Datei. Ein Verzeichnis ist nunmal keine Datei, sondern eben ein Verzeichnis.

corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

Re: LoadFromFile ?

Beitrag von corpse »

ich möchte quasi ein Daten Shredder basteln der einzelne Dateien oder ganze Verzeichnisse Löschen soll,deshalb auch das DirectoryEdit...
aber LoadFromDirectory gibts ja nicht soweit ich weiß!
Also bin ich auf der suche wie ich jetzt ein Directory in meine ListBox kriege zum späteren Löschen irgendwann;)

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: LoadFromFile ?

Beitrag von Hitman »

ListBox1.Items.Add(directoryEdit.Directory) vlt.? Mehr kann ich deinen aktuellen Ausführungen nicht entnehmen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: LoadFromFile ?

Beitrag von pluto »

Also wie schon gesagt: LoadFromFile ist eine Methode von TStringList... Die ListBox, hat als Items eine TStrings, die ist die Vorfahren Klasse zu TStringList. Diese Methode lädt einen Datei Inhalt. Also für deinen Zweck nicht geeignet.
Ich würde so vorgehen:
01: Nehme z.b. die FileListBox(Hier kannst du leider kein Verzeichnis Wechseln). Stelle dein Gewünschtes Verzeichnis ein. Dann sollten alle Dateien dort Angezeigt werden
02: Jetzt musst du die eine Methode Basteln, die Alle Markierten Elemente durch geht. Das könnte z.b. so aussehen:

Code: Alles auswählen

procedure TForm1.DeleteFileByListBox;
var
  i:Integer;
begin
  for i:=FileListBox1.Items.Count-1 downto 0 do begin
    if FileListBox1.Selteced[i] then begin
      // Hier die Lösch Precodure einfügen.
    end;
  end; // for i
end;

Vorher musst du natürlich noch der FileListbox sagen, dass Mehrfachmarkierung Unterstützt werden soll.
Kann sein, dass du diesen Code nicht 1:1 übernehmen kannst. Aber so in etwa würde das aussehen. In deinen Fall würde ich sogar mit TFIleStream Arbeiten, wobei ich die Datei damit öffnen würde, und mehrmals mit einen zufälligen Inhalt füllen würde und dann mit DeleteFile löschen würde. Wenn du an sowas gedacht hattest

ich hoffe das hilft dir weiter...
MFG
Michael Springwald

corpse
Beiträge: 12
Registriert: So 14. Mär 2010, 13:06

Re: LoadFromFile ?

Beitrag von corpse »

Vielen Dank für die mühe,
ich werd mich gleich mal ransetzen...

MfG

Antworten